User Manual
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
- 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
- :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
- :ABUS Commands
- :ACQuire Commands
- :CALibrate Commands
- :CHANnel
Commands - :CHANnel
:BANDwidth - :CHANnel
:BWLimit - :CHANnel
:COUPling - :CHANnel
:DISPlay - :CHANnel
:IMPedance - :CHANnel
:INVert - :CHANnel
:LABel - :CHANnel
:OFFSet - :CHANnel
:PROBe - :CHANnel
:PROBe:HEAD[:TYPE] - :CHANnel
:PROBe:ID - :CHANnel
:PROBe:SKEW - :CHANnel
:PROBe:STYPe - :CHANnel
:PROTection - :CHANnel
:RANGe - :CHANnel
:SCALe - :CHANnel
:UNITs - :CHANnel
:VERNier
- :CHANnel
- :DEMO Commands
- :DISPlay Commands
- :DVM Commands
- :EXTernal Trigger Commands
- :FFT Commands
- :FRANalysis Commands
- :FUNCtion Commands
- :FUNCtion:DISPlay
- :FUNCtion[:FFT]:CENTer
- :FUNCtion[:FFT]:PHASe:REFerence
- :FUNCtion[:FFT]:SPAN
- :FUNCtion[:FFT]:VTYPe
- :FUNCtion[:FFT]:WINDow
- :FUNCtion:FREQuency:LOWPass
- :FUNCtion:GOFT:OPERation
- :FUNCtion:GOFT:SOURce1
- :FUNCtion:GOFT:SOURce2
- :FUNCtion:OFFSet
- :FUNCtion:OPERation
- :FUNCtion:RANGe
- :FUNCtion:REFerence
- :FUNCtion:SCALe
- :FUNCtion:SOURce1
- :FUNCtion:SOURce2
- :HARDcopy Commands
- :MARKer Commands
- :MEASure Commands
- :MEASure:ALL
- :MEASure:BRATe
- :MEASure:CLEar
- :MEASure:COUNter
- :MEASure:DEFine
- :MEASure:DELay
- :MEASure:DUTYcycle
- :MEASure:FALLtime
- :MEASure:FREQuency
- :MEASure:NDUTy
- :MEASure:NWIDth
- :MEASure:OVERshoot
- :MEASure:PERiod
- :MEASure:PHASe
- :MEASure:PREShoot
- :MEASure:PWIDth
- :MEASure:RESults
- :MEASure:RISetime
- :MEASure:SDEViation
- :MEASure:SHOW
- :MEASure:SOURce
- :MEASure:TEDGe
- :MEASure:TVALue
- :MEASure:VAMPlitude
- :MEASure:VAVerage
- :MEASure:VBASe
- :MEASure:VMAX
- :MEASure:VMIN
- :MEASure:VPP
- :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
- :RECall Commands
- :SAVE Commands
- :SAVE:FILename
- :SAVE:IMAGe[:STARt]
- :SAVE:IMAGe:FACTors
- :SAVE:IMAGe:FORMat
- :SAVE:IMAGe:INKSaver
- :SAVE:IMAGe:PALette
- :SAVE:MASK[:STARt]
- :SAVE:MULTi[:STARt]
- :SAVE:PWD
- :SAVE:SETup[:STARt]
- :SAVE:WAVeform[:STARt]
- :SAVE:WAVeform:FORMat
- :SAVE:WAVeform:LENGth
- :SAVE:WAVeform:LENGth:MAX
- :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
: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: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
- :SYSTem Commands
- :SYSTem:DATE
- :SYSTem:DSP
- :SYSTem:ERRor
- :SYSTem:LOCK
- :SYSTem:MENU
- :SYSTem:PERSona[:MANufacturer]
- :SYSTem:PERSona[:MANufacturer]:DEFault
- :SYSTem:PRESet
- :SYSTem:PROTection:LOCK
- :SYSTem:RLOGger
- :SYSTem:RLOGger:DESTination
- :SYSTem:RLOGger:DISPlay
- :SYSTem:RLOGger:FNAMe
- :SYSTem:RLOGger:STATe
- :SYSTem:RLOGger:TRANsparent
- :SYSTem:RLOGger:WMODe
- :SYSTem:SETup
- :SYSTem:TIME
- :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
- :WGEN:FREQuency
- :WGEN:FUNCtion
- :WGEN:FUNCtion:PULSe:WIDTh
- :WGEN:FUNCtion:RAMP:SYMMetry
- :WGEN:FUNCtion:SQUare:DCYCle
- :WGEN:MODulation:AM:DEPTh
- :WGEN:MODulation:AM:FREQuency
- :WGEN:MODulation:FM:DEViation
- :WGEN:MODulation:FM:FREQuency
- :WGEN:MODulation:FSKey:FREQuency
- :WGEN:MODulation:FSKey:RATE
- :WGEN:MODulation:FUNCtion
- :WGEN:MODulation:FUNCtion:RAMP:SYMMetry
- :WGEN:MODulation:NOISe
- :WGEN:MODulation:STATe
- :WGEN:MODulation:TYPE
- :WGEN:OUTPut
- :WGEN:OUTPut:LOAD
- :WGEN:OUTPut:POLarity
- :WGEN:PERiod
- :WGEN:RST
- :WGEN:VOLTage
- :WGEN:VOLTage:HIGH
- :WGEN:VOLTage:LOW
- :WGEN:VOLTage:OFFSet
- :WMEMory
Commands - Obsolete and Discontinued Commands
- :CHANnel:LABel
- :CHANnel2:SKEW
- :CHANnel
:INPut - :CHANnel
:PMODe - :DISPlay:CONNect
- :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
- :TIMebase:DELay
- :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

772 Keysight InfiniiVision 1000 X-Series Oscilloscopes Programmer's Guide
34 Synchronizing Acquisitions
Synchronization in the Programming Flow
Most remote programming follows these three general steps:
1 Set up the oscilloscope and device under test (see page 772).
2 Acquire a waveform (see page 772).
3 Retrieve results (see page 772).
Set Up the Oscilloscope
Before making changes to the oscilloscope setup, it is best to make sure it is
stopped using the :STOP command followed by the *OPC? query.
Acquire a Waveform
When acquiring a waveform there are two possible methods used to wait for the
acquisition to complete. These methods are blocking and polling. The table below
details when each method should be chosen and why.
Retrieve Results
Once the acquisition is complete, it is safe to retrieve measurements and statistics.
NOTE
It is not necessary to use *OPC?, hard coded waits, or status checking when setting up the
oscilloscope. After the oscilloscope is configured, it is ready for an acquisition.
Blocking Wait Polling Wait
Use When You know the oscilloscope will trigger
based on the oscilloscope setup and
device under test.
You know the oscilloscope may or may
not trigger on the oscilloscope setup
and device under test.
Ad vantages No need for polling.
Fastest method.
Remote interface will not timeout
No need for device clear if no trigger.
Disad vantages Remote interface may timeout.
Device clear only way to get control of
oscilloscope if there is no trigger.
Slower method.
Requires polling loop.
Requires known maximum wait time.
Implementation
Details
See "Blocking Synchronization"
on page 773.
See "Polling Synchronization
With Timeout" on page 774.










