Technical data
Table Of Contents
- In This Book
- Contents
- What's New
- Setting Up
- Getting Started
- Basic Oscilloscope Program Structure
- Programming the Oscilloscope
- Referencing the IO Library
- Opening the Oscilloscope Connection via the IO Library
- Initializing the Interface and the Oscilloscope
- Using :AUToscale to Automate Oscilloscope Setup
- Using Other Oscilloscope Setup Commands
- Capturing Data with the :DIGitize Command
- Reading Query Responses from the Oscilloscope
- Reading Query Results into String Variables
- Reading Query Results into Numeric Variables
- Reading Definite-Length Block Query Response Data
- Sending Multiple Queries and Reading Results
- Checking Instrument Status
- Other Ways of Sending Commands
- Commands Quick Reference
- Common (*) Commands
- *CLS (Clear Status)
- *ESE (Standard Event Status Enable)
- *ESR (Standard Event Status Register)
- *IDN (Identification Number)
- *LRN (Learn Device Setup)
- *OPC (Operation Complete)
- *OPT (Option Identification)
- *RCL (Recall)
- *RST (Reset)
- *SAV (Save)
- *SRE (Service Request Enable)
- *STB (Read Status Byte)
- *TRG (Trigger)
- *TST (Self Test)
- *WAI (Wait To Continue)
- Root (:) Commands
- :ACTivity
- :AER (Arm Event Register)
- :AUToscale
- :AUToscale:AMODE
- :AUToscale:CHANnels
- :AUToscale:FDEBug
- :BLANk
- :DIGitize
- :MTEenable (Mask Test Event Enable Register)
- :MTERegister[:EVENt] (Mask Test Event Event Register)
- :OPEE (Operation Status Enable Register)
- :OPERegister:CONDition (Operation Status Condition Register)
- :OPERegister[:EVENt] (Operation Status Event Register)
- :OVLenable (Overload Event Enable Register)
- :OVLRegister (Overload Event Register)
- :RUN
- :SERial
- :SINGle
- :STATus
- :STOP
- :TER (Trigger Event Register)
- :VIEW
- :ACQuire Commands
- :BUS
Commands - :CALibrate Commands
- :CHANnel
Commands - :DEMO Commands
- :DIGital
Commands - :DISPlay Commands
- :EXTernal Trigger Commands
- :FUNCtion Commands
- :HARDcopy Commands
- :LISTer Commands
- :MARKer Commands
- :MEASure Commands
- :MEASure:ALL
- :MEASure:AREa
- :MEASure:BWIDth
- :MEASure:CLEar
- :MEASure:COUNter
- :MEASure:DEFine
- :MEASure:DELay
- :MEASure:DUTYcycle
- :MEASure:FALLtime
- :MEASure:FREQuency
- :MEASure:NEDGes
- :MEASure:NPULses
- :MEASure:NWIDth
- :MEASure:OVERshoot
- :MEASure:PEDGes
- :MEASure:PERiod
- :MEASure:PHASe
- :MEASure:PPULses
- :MEASure:PREShoot
- :MEASure:PWIDth
- :MEASure:RESults
- :MEASure:RISetime
- :MEASure:SDEViation
- :MEASure:SHOW
- :MEASure:SOURce
- :MEASure:STATistics
- :MEASure:STATistics:INCRement
- :MEASure:STATistics:RESet
- :MEASure:TEDGe
- :MEASure:TVALue
- :MEASure:VAMPlitude
- :MEASure:VAVerage
- :MEASure:VBASe
- :MEASure:VMAX
- :MEASure:VMIN
- :MEASure:VPP
- :MEASure:VRATio
- :MEASure:VRMS
- :MEASure:VTIMe
- :MEASure:VTOP
- :MEASure:WINDow
- :MEASure:XMAX
- :MEASure:XMIN
- :MTESt Commands
- :MTESt:ALL
- :MTESt:AMASk:CREate
- :MTESt:AMASk:SOURce
- :MTESt:AMASk:UNITs
- :MTESt:AMASk:XDELta
- :MTESt:AMASk:YDELta
- :MTESt:COUNt:FWAVeforms
- :MTESt:COUNt:RESet
- :MTESt:COUNt:TIME
- :MTESt:COUNt:WAVeforms
- :MTESt:DATA
- :MTESt:DELete
- :MTESt:ENABle
- :MTESt:LOCK
- :MTESt:RMODe
- :MTESt:RMODe:FACTion:MEASure
- :MTESt:RMODe:FACTion:PRINt
- :MTESt:RMODe:FACTion:SAVE
- :MTESt:RMODe:FACTion:STOP
- :MTESt:RMODe:SIGMa
- :MTESt:RMODe:TIME
- :MTESt:RMODe:WAVeforms
- :MTESt:SCALe:BIND
- :MTESt:SCALe:X1
- :MTESt:SCALe:XDELta
- :MTESt:SCALe:Y1
- :MTESt:SCALe:Y2
- :MTESt:SOURce
- :MTESt:TITLe
- :POD Commands
- :RECall Commands
- :SAVE Commands
- :SAVE:FILename
- :SAVE:IMAGe[:STARt]
- :SAVE:IMAGe:FACTors
- :SAVE:IMAGe:FORMat
- :SAVE:IMAGe:INKSaver
- :SAVE:IMAGe:PALette
- :SAVE:LISTer[:STARt]
- :SAVE:MASK[:STARt]
- :SAVE:PWD
- :SAVE:SETup[:STARt]
- :SAVE:WAVeform[:STARt]
- :SAVE:WAVeform:FORMat
- :SAVE:WAVeform:LENGth
- :SAVE:WAVeform:SEGMented
- :SAVE:WMEMory:SOURce
- :SAVE:WMEMory[:STARt]
- :SBUS
Commands - General :SBUS
Commands - :SBUS
:CAN Commands - :SBUS
:CAN:COUNt:ERRor - :SBUS
:CAN:COUNt:OVERload - :SBUS
:CAN:COUNt:RESet - :SBUS
:CAN:COUNt:TOTal - :SBUS
:CAN:COUNt:UTILization - :SBUS
:CAN:SAMPlepoint - :SBUS
:CAN:SIGNal:BAUDrate - :SBUS
:CAN:SIGNal:DEFinition - :SBUS
:CAN:SOURce - :SBUS
:CAN:TRIGger - :SBUS
:CAN:TRIGger:PATTern:DATA - :SBUS
:CAN:TRIGger:PATTern:DATA:LENGth - :SBUS
:CAN:TRIGger:PATTern:ID - :SBUS
:CAN:TRIGger:PATTern:ID:MODE
- :SBUS
- :SBUS
:I2S Commands - :SBUS
:IIC Commands - :SBUS
:LIN Commands - :SBUS
:SPI Commands - :SBUS
:SPI:BITorder - :SBUS
:SPI:CLOCk:SLOPe - :SBUS
:SPI:CLOCk:TIMeout - :SBUS
:SPI:FRAMing - :SBUS
:SPI:SOURce:CLOCk - :SBUS
:SPI:SOURce:DATA - :SBUS
:SPI:SOURce:FRAMe - :SBUS
:SPI:SOURce:MISO - :SBUS
:SPI:SOURce:MOSI - :SBUS
:SPI:TRIGger:PATTern:MISO:DATA - :SBUS
:SPI:TRIGger:PATTern:MISO:WIDTh - :SBUS
:SPI:TRIGger:PATTern:MOSI:DATA - :SBUS
:SPI:TRIGger:PATTern:MOSI:WIDTh - :SBUS
:SPI:TRIGger:TYPE - :SBUS
:SPI:WIDTh
- :SBUS
- :SBUS
:UART Commands - :SBUS
:UART:BASE - :SBUS
:UART:BAUDrate - :SBUS
:UART:BITorder - :SBUS
:UART:COUNt:ERRor - :SBUS
:UART:COUNt:RESet - :SBUS
:UART:COUNt:RXFRames - :SBUS
:UART:COUNt:TXFRames - :SBUS
:UART:FRAMing - :SBUS
:UART:PARity - :SBUS
:UART:POLarity - :SBUS
:UART:SOURce:RX - :SBUS
:UART:SOURce:TX - :SBUS
:UART:TRIGger:BASE - :SBUS
:UART:TRIGger:BURSt - :SBUS
:UART:TRIGger:DATA - :SBUS
:UART:TRIGger:IDLE - :SBUS
:UART:TRIGger:QUALifier - :SBUS
:UART:TRIGger:TYPE - :SBUS
:UART:WIDTh
- :SBUS
- General :SBUS
- :SEARch Commands
- :SYSTem Commands
- :TIMebase Commands
- :TRIGger Commands
- :WAVeform Commands
- :WAVeform:BYTeorder
- :WAVeform:COUNt
- :WAVeform:DATA
- :WAVeform:FORMat
- :WAVeform:POINts
- :WAVeform:POINts:MODE
- :WAVeform:PREamble
- :WAVeform:SEGMented:COUNt
- :WAVeform:SEGMented:TTAG
- :WAVeform:SOURce
- :WAVeform:SOURce:SUBSource
- :WAVeform:TYPE
- :WAVeform:UNSigned
- :WAVeform:VIEW
- :WAVeform:XINCrement
- :WAVeform:XORigin
- :WAVeform:XREFerence
- :WAVeform:YINCrement
- :WAVeform:YORigin
- :WAVeform:YREFerence
- :WGEN Commands
- :WMEMory
Commands - Obsolete and Discontinued Commands
- :CHANnel:ACTivity
- :CHANnel:LABel
- :CHANnel:THReshold
- :CHANnel2:SKEW
- :CHANnel
:INPut - :CHANnel
:PMODe - :DISPlay:CONNect
- :DISPlay:ORDer
- :ERASe
- :EXTernal:PMODe
- :FUNCtion:SOURce
- :FUNCtion:VIEW
- :HARDcopy:DESTination
- :HARDcopy:FILename
- :HARDcopy:GRAYscale
- :HARDcopy:IGColors
- :HARDcopy:PDRiver
- :MEASure:LOWer
- :MEASure:SCRatch
- :MEASure:TDELta
- :MEASure:THResholds
- :MEASure:TMAX
- :MEASure:TMIN
- :MEASure:TSTArt
- :MEASure:TSTOp
- :MEASure:TVOLt
- :MEASure:UPPer
- :MEASure:VDELta
- :MEASure:VSTArt
- :MEASure:VSTOp
- :MTESt:AMASk:{SAVE | STORe}
- :MTESt:AVERage
- :MTESt:AVERage:COUNt
- :MTESt:LOAD
- :MTESt:RUMode
- :MTESt:RUMode:SOFailure
- :MTESt:{STARt | STOP}
- :MTESt:TRIGger:SOURce
- :PRINt?
- :SAVE:IMAGe:AREA
- :SBUS
:LIN:SIGNal:DEFinition - :TIMebase:DELay
- :TRIGger:THReshold
- :TRIGger:TV:TVMode
- Error Messages
- Status Reporting
- Status Reporting Data Structures
- Status Byte Register (STB)
- Service Request Enable Register (SRE)
- Trigger Event Register (TER)
- Output Queue
- Message Queue
- (Standard) Event Status Register (ESR)
- (Standard) Event Status Enable Register (ESE)
- Error Queue
- Operation Status Event Register (:OPERegister[:EVENt])
- Operation Status Condition Register (:OPERegister:CONDition)
- Arm Event Register (AER)
- Overload Event Register (:OVLRegister)
- Mask Test Event Event Register (:MTERegister[:EVENt])
- Clearing Registers and Queues
- Status Reporting Decision Chart
- Synchronizing Acquisitions
- More About Oscilloscope Commands
- Programming Examples
- Index
Programming Examples 37
Agilent InfiniiVision 3000 X-Series Oscilloscopes Programmer's Guide 927
VISA Example in Visual Basic .NET
To compile and run this example in Microsoft Visual Studio 2008:
1 Open Visual Studio.
2 Create a new Visual Basic, Windows, Console Application project.
3 Cut- and- paste the code that follows into the Visual Basic .NET source
file.
4 Edit the program to use the VISA address of your oscilloscope.
5 Add Agilent's VISA header file to your project:
a Right- click the project you wish to modify (not the solution) in the
Solution Explorer window of the Microsoft Visual Studio
environment.
b Choose Add and then choose Add Existing Item...
c Navigate to the header file, visa32.vb (installed with Agilent IO
Libraries Suite and found in the Program Files\IVI Foundation\VISA\
WinNT\include directory), select it, but do not click the Open
button.
d Click the down arrow to the right of the Add button, and choose Add
as Link.
You should now see the file underneath your project in the Solution
Explorer. It will have a little arrow icon in its lower left corner,
indicating that it is a link.
e Right- click the project again and choose Properties; then, select
"InfiniiVision.VisaInstrumentApp" as the Startup object.
6 Build and run the program.
For more information, see the tutorial on using VISA in Microsoft .NET in
the VISA Help that comes with Agilent IO Libraries Suite 15.
'
' Agilent VISA Example in Visual Basic .NET
' -------------------------------------------------------------------
' This program illustrates a few commonly-used programming
' features of your Agilent oscilloscope.
' -------------------------------------------------------------------
Imports System
Imports System.IO
Imports System.Text
Namespace InfiniiVision
Class VisaInstrumentApp
Private Shared myScope As VisaInstrument
Public Shared Sub Main(ByVal args As String())
Try
myScope = _