Keysight Infiniium Oscilloscopes Programmer's Guide Prog
Infiniium_prog_guide
User Manual:
Open the PDF directly: View PDF .
Page Count: 1782 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- In This Book
- Contents
- What's New
- What's New in Version 6.20
- What's New in Version 6.10
- What's New in Version 6.00
- What's New in Version 5.75
- What's New in Version 5.70
- What's New in Version 5.60
- What's New in Version 5.52
- What's New in Version 5.51
- What's New in Version 5.50
- What's New in Version 5.30
- What's New in Version 5.20
- What's New in Version 5.10
- What's New in Version 5.00
- What's New in Version 4.60
- What's New in Version 4.50
- What's New in Version 4.30
- What's New in Version 4.20
- What's New in Version 4.10
- What's New in Version 4.00
- What's New in Version 3.50
- What's New in Version 3.20
- What's New in Version 3.11
- What's New in Version 3.10
- Setting Up
- Introduction to Programming
- Communicating with the Oscilloscope
- Instructions
- Instruction Header
- White Space (Separator)
- Braces
- Ellipsis
- Square Brackets
- Command and Query Sources
- Program Data
- Header Types
- Query Headers
- Program Header Options
- Character Program Data
- Numeric Program Data
- Embedded Strings
- Program Message Terminator
- Common Commands within a Subsystem
- Selecting Multiple Subsystems
- Programming Getting Started
- Referencing the IO Library
- Opening the Oscilloscope Connection via the IO Library
- Initializing the Interface and the Oscilloscope
- Example Program
- Using the DIGitize Command
- Receiving Information from the Oscilloscope
- String Variable Example
- Numeric Variable Example
- Definite-Length Block Response Data
- Multiple Queries
- Oscilloscope Status
- Sequential (Blocking) vs. Overlapped Commands
- LAN, USB, and GPIB Interfaces
- Message Communication and System Functions
- Status Reporting
- Figure 1 Status Reporting Overview Block Diagram
- Status Reporting Data Structures
- Status Byte Register
- Service Request Enable Register
- Message Event Register
- Trigger Event Register
- Standard Event Status Register
- Standard Event Status Enable Register
- Operation Status Register
- Operation Status Enable Register
- Mask Test Event Register
- Mask Test Event Enable Register
- Acquisition Done Event Register
- Process Done Event Register
- Trigger Armed Event Register
- Auto Trigger Event Register
- Error Queue
- Output Queue
- Message Queue
- Clearing Registers and Queues
- Example: Checking for Armed Status
- Remote Acquisition Synchronization
- Programming Conventions
- Acquire Commands
- :ACQuire:AVERage
- :ACQuire[:AVERage]:COUNt
- :ACQuire:BANDwidth
- :ACQuire:BANDwidth:FRAMe?
- :ACQuire:BANDwidth:TESTLIMITS?
- :ACQuire:COMPlete
- :ACQuire:COMPlete:STATe
- :ACQuire:HRESolution
- :ACQuire:INTerpolate
- :ACQuire:MODE
- :ACQuire:POINts[:ANALog] — Memory depth
- :ACQuire:POINts:AUTO
- :ACQuire:POINts:DIGital?
- :ACQuire:POINts:TESTLIMITS?
- :ACQuire:REDGe — RealEdge Channel Inputs (90000 Q-Series, Z-Series)
- :ACQuire:RESPonse (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- :ACQuire:SEGMented:AUToplay
- :ACQuire:SEGMented:COUNt
- :ACQuire:SEGMented:INDex
- :ACQuire:SEGMented:PLAY
- :ACQuire:SEGMented:PRATe
- :ACQuire:SEGMented:TTAGs
- :ACQuire:SRATe[:ANALog] — Analog Sample Rate
- :ACQuire:SRATe[:ANALog]:AUTO
- :ACQuire:SRATe:DIGital — Digital Channels Sample Rate
- :ACQuire:SRATe:DIGital:AUTO
- :ACQuire:SRATe:TESTLIMITS?
- Analyze Commands
- :ANALyze:AEDGes
- :ANALyze:CLOCk
- :ANALyze:CLOCk:METHod
- :ANALyze:CLOCk:METHod:ALIGn
- :ANALyze:CLOCk:METHod:DEEMphasis
- :ANALyze:CLOCk:METHod:EDGE
- :ANALyze:CLOCk:METHod:IDLe
- :ANALyze:CLOCk:METHod:JTF
- :ANALyze:CLOCk:METHod:OJTF
- :ANALyze:CLOCk:METHod:PLLTrack
- :ANALyze:CLOCk:METHod:SKEW
- :ANALyze:CLOCk:METHod:SOURce
- :ANALyze:CLOCk:VERTical
- :ANALyze:CLOCk:VERTical:OFFSet
- :ANALyze:CLOCk:VERTical:RANGe
- :ANALyze:SIGNal:DATarate
- :ANALyze:SIGNal:SYMBolrate
- :ANALyze:SIGNal:MIXer:CABLeloss
- :ANALyze:SIGNal:MMWave:CALibrate
- :ANALyze:SIGNal:MMWave:CFRequency
- :ANALyze:SIGNal:MMWave:CONNect
- :ANALyze:SIGNal:MMWave:LOADdress
- :ANALyze:SIGNal:MMWave:MBANdwidth
- :ANALyze:SIGNal:PATTern:CLEar
- :ANALyze:SIGNal:PATTern:LOAD
- :ANALyze:SIGNal:PATTern:PLENgth
- :ANALyze:SIGNal:PATTern:SMAP
- :ANALyze:SIGNal:TYPE
- :ANALyze:VIEW
- Bus Commands
- Calibration Commands
- Channel Commands
- :CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series)
- :CHANnel<N>:COMMonmode
- :CHANnel<N>:DIFFerential
- :CHANnel<N>:DIFFerential:SKEW
- :CHANnel<N>:DISPlay
- :CHANnel<N>:DISPlay:AUTO
- :CHANnel<N>:DISPlay:OFFSet
- :CHANnel<N>:DISPlay:RANGe
- :CHANnel<N>:DISPlay:SCALe
- :CHANnel<N>:INPut
- :CHANnel<N>:INVert
- :CHANnel<N>:ISIM:APPLy
- :CHANnel<N>:ISIM:BANDwidth
- :CHANnel<N>:ISIM:BWLimit
- :CHANnel<N>:ISIM:BWLimit:TYPE
- :CHANnel<N>:ISIM:CONVolve
- :CHANnel<N>:ISIM:CORRection
- :CHANnel<N>:ISIM:DEConvolve
- :CHANnel<N>:ISIM:DELay
- :CHANnel<N>:ISIM:NORMalize
- :CHANnel<N>:ISIM:PEXTraction
- :CHANnel<N>:ISIM:SPAN
- :CHANnel<N>:ISIM:STATe
- :CHANnel<N>:LABel
- :CHANnel<N>:OFFSet
- :CHANnel<N>:PROBe
- :CHANnel<N>:PROBe:ACCAL
- :CHANnel<N>:PROBe:ATTenuation
- :CHANnel<N>:PROBe:AUTozero
- :CHANnel<N>:PROBe:COUPling
- :CHANnel<N>:PROBe:EADapter
- :CHANnel<N>:PROBe:ECOupling
- :CHANnel<N>:PROBe:EXTernal
- :CHANnel<N>:PROBe:EXTernal:GAIN
- :CHANnel<N>:PROBe:EXTernal:OFFSet
- :CHANnel<N>:PROBe:EXTernal:UNITs
- :CHANnel<N>:PROBe:GAIN
- :CHANnel<N>:PROBe:HEAD:ADD
- :CHANnel<N>:PROBe:HEAD:DELete ALL
- :CHANnel<N>:PROBe:HEAD:SELect
- :CHANnel<N>:PROBe:HEAD:VTERm
- :CHANnel<N>:PROBe:ID?
- :CHANnel<N>:PROBe:INFO?
- :CHANnel<N>:PROBe:MODE
- :CHANnel<N>:PROBe:PRECprobe:BANDwidth
- :CHANnel<N>:PROBe:PRECprobe:CALibration
- :CHANnel<N>:PROBe:PRECprobe:DELay
- :CHANnel<N>:PROBe:PRECprobe:MODE
- :CHANnel<N>:PROBe:PRECprobe:ZSRC
- :CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series)
- :CHANnel<N>:PROBe:SKEW
- :CHANnel<N>:PROBe:STYPe
- :CHANnel<N>:RANGe
- :CHANnel<N>:SCALe
- :CHANnel<N>:SIMulation:AMPLitude
- :CHANnel<N>:SIMulation:DATA:LENGth
- :CHANnel<N>:SIMulation:DATA:ODD
- :CHANnel<N>:SIMulation:DATA:PAM
- :CHANnel<N>:SIMulation:DATA:RESeed
- :CHANnel<N>:SIMulation:DATA:SELection
- :CHANnel<N>:SIMulation:DRATe
- :CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess
- :CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction
- :CHANnel<N>:SIMulation:FILTer:SELection
- :CHANnel<N>:SIMulation:FLOad:ADDRess
- :CHANnel<N>:SIMulation:FLOad:LOOP
- :CHANnel<N>:SIMulation:FREQuency
- :CHANnel<N>:SIMulation:FUNCtion:SELection
- :CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle
- :CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe
- :CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe
- :CHANnel<N>:SIMulation:JITTer
- :CHANnel<N>:SIMulation:JITTer:ABUJ
- :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle
- :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency
- :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude
- :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe
- :CHANnel<N>:SIMulation:JITTer:RANDom
- :CHANnel<N>:SIMulation:NOISe
- :CHANnel<N>:SIMulation:NOISe:BWLimit
- :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle
- :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency
- :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude
- :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe
- :CHANnel<N>:SIMulation:NOISe:RANDom
- :CHANnel<N>:SIMulation:OFFSet
- :CHANnel<N>:SIMulation:WAVeform
- :CHANnel<N>:UNITs
- Common Commands
- *CLS — Clear Status
- *ESE — Event Status Enable
- *ESR? — Event Status Register
- *IDN? — Identification Number
- *LRN? — Learn
- *OPC — Operation Complete
- *OPT? — Option
- *PSC — Power-on Status Clear
- *RCL — Recall
- *RST — Reset
- *SAV — Save
- *SRE — Service Request Enable
- *STB? — Status Byte
- *TRG — Trigger
- *TST? — Test
- *WAI — Wait
- Digital Commands
- Disk Commands
- Display Commands
- :DISPlay:BOOKmark<N>:DELete
- :DISPlay:BOOKmark<N>:SET
- :DISPlay:BOOKmark<N>:VERTical?
- :DISPlay:BOOKmark<N>:XPOSition
- :DISPlay:BOOKmark<N>:YPOSition
- :DISPlay:CGRade
- :DISPlay:CGRade:LEVels?
- :DISPlay:CGRade:SCHeme
- :DISPlay:CONNect
- :DISPlay:DATA?
- :DISPlay:GRATicule
- :DISPlay:GRATicule:AREA<N>:STATe
- :DISPlay:GRATicule:INTensity
- :DISPlay:GRATicule:NUMBer
- :DISPlay:GRATicule:SETGrat
- :DISPlay:ISIM:GCOunt
- :DISPlay:ISIM:SELectgraph
- :DISPlay:ISIM:SOURce
- :DISPlay:JITTer:GCOunt
- :DISPlay:JITTer:SELectgraph
- :DISPlay:JITTer:THReshold
- :DISPlay:LABel
- :DISPlay:LAYout
- :DISPlay:MAIN
- :DISPlay:NOISe:LEVel
- :DISPlay:PERSistence
- :DISPlay:PROPortion
- :DISPlay:PROPortion:RESults
- :DISPlay:PRECprobe:GCOunt
- :DISPlay:PRECprobe:SELectgraph
- :DISPlay:PRECprobe:SOURce
- :DISPlay:SCOLor
- :DISPlay:STATus:COLumn
- :DISPlay:STATus:ROW
- :DISPlay:WINDow:MAXimize
- Function Commands
- :FUNCtion<F>?
- :FUNCtion<F>:ABSolute
- :FUNCtion<F>:ADD
- :FUNCtion<F>:ADEMod
- :FUNCtion<F>:AVERage
- :FUNCtion<F>:COMMonmode
- :FUNCtion<F>:DELay — Delay
- :FUNCtion<F>:DIFF — Differentiate
- :FUNCtion<F>:DISPlay
- :FUNCtion<F>:DIVide
- :FUNCtion<F>:FFT:DETector:POINts
- :FUNCtion<F>:FFT:DETector:TYPE
- :FUNCtion<F>:FFT:FREQuency
- :FUNCtion<F>:FFT:REFerence
- :FUNCtion<F>:FFT:RESolution
- :FUNCtion<F>:FFT:SPAN
- :FUNCtion<F>:FFT:STOP
- :FUNCtion<F>:FFT:TDELay
- :FUNCtion<F>:FFT:VUNits
- :FUNCtion<F>:FFT:WINDow
- :FUNCtion<F>:FFTMagnitude
- :FUNCtion<F>:FFTPhase
- :FUNCtion<F>:GATing — Gating
- :FUNCtion<F>:GATing:STARt — Gating window start time
- :FUNCtion<F>:GATing:STOP — Gating window stop time
- :FUNCtion<F>:HIGHpass
- :FUNCtion<F>:HORizontal
- :FUNCtion<F>:HORizontal:POSition
- :FUNCtion<F>:HORizontal:RANGe
- :FUNCtion<F>:INTegrate
- :FUNCtion<F>:INVert
- :FUNCtion<F>:LOWPass
- :FUNCtion<F>:MAGNify
- :FUNCtion<F>:MATLab
- :FUNCtion<F>:MATLab:CONTrol<N>
- :FUNCtion<F>:MATLab:OPERator
- :FUNCtion<F>:MAXimum
- :FUNCtion<F>:MHIStogram
- :FUNCtion<F>:MINimum
- :FUNCtion<F>:MLOG
- :FUNCtion<F>:MTRend
- :FUNCtion<F>:MULTiply
- :FUNCtion<F>:OFFSet
- :FUNCtion<F>:RANGe
- :FUNCtion<F>:SMOoth
- :FUNCtion<F>:SQRT
- :FUNCtion<F>:SQUare
- :FUNCtion<F>:SUBTract
- :FUNCtion<F>:VERSus
- :FUNCtion<F>:VERTical
- :FUNCtion<F>:VERTical:OFFSet
- :FUNCtion<F>:VERTical:RANGe
- Hardcopy Commands
- Histogram Commands
- Hosted Commands
- :HOSTed:CALibrate:CALibrate
- :HOSTed:CALibrate:CHANnel
- :HOSTed:CALibrate:DESKew:CHANnels
- :HOSTed:CALibrate:DESKew:FRAMes
- :HOSTed:CALibrate:DESKew:SIGNals
- :HOSTed:CALibrate:DESKew:ZERO
- :HOSTed:CALibrate:LEVel
- :HOSTed:CALibrate:PROMpt
- :HOSTed:CALibrate:STATus:CHANnels?
- :HOSTed:CALibrate:STATus:FRAMes?
- :HOSTed:CALibrate:STATus:LEVel?
- :HOSTed:CALibrate:STATus:SIGNals?
- :HOSTed:CALibrate:TREF:DETect
- :HOSTed:FOLLower<N>:ACHannels?
- :HOSTed:FOLLower<N>:CONFigure
- :HOSTed:FOLLower<N>:CONNect
- :HOSTed:FOLLower<N>:DISConnect
- :HOSTed:LEADer:ACHannels?
- :HOSTed:LEADer:CONFigure
- :HOSTed:LEADer:CONNect
- :HOSTed:LEADer:DISConnect
- :HOSTed:NCONnected?
- :HOSTed:PERiodic
- InfiniiScan (ISCan) Commands
- :ISCan:DELay
- :ISCan:MEASurement:FAIL
- :ISCan:MEASurement:LLIMit
- :ISCan:MEASurement
- :ISCan:MEASurement:ULIMit
- :ISCan:MODE
- :ISCan:NONMonotonic:EDGE
- :ISCan:NONMonotonic:HYSTeresis
- :ISCan:NONMonotonic:SOURce
- :ISCan:RUNT:HYSTeresis
- :ISCan:RUNT:LLEVel
- :ISCan:RUNT:SOURce
- :ISCan:RUNT:ULEVel
- :ISCan:SERial:PATTern
- :ISCan:SERial:SOURce
- :ISCan:ZONE:HIDE
- :ISCan:ZONE:SOURce
- :ISCan:ZONE<Z>:MODE
- :ISCan:ZONE<Z>:PLACement
- :ISCan:ZONE<Z>:SOURce
- :ISCan:ZONE<Z>:STATe
- Limit Test Commands
- Lister Commands
- Marker Commands
- Mask Test Commands
- :MTESt:ALIGn
- :MTESt:AlignFIT
- :MTESt:AMASk:CREate
- :MTESt:AMASk:SOURce
- :MTESt:AMASk:SAVE
- :MTESt:AMASk:UNITs
- :MTESt:AMASk:XDELta
- :MTESt:AMASk:YDELta
- :MTESt:AUTO
- :MTESt:AVERage
- :MTESt:AVERage:COUNt
- :MTESt:COUNt:FAILures?
- :MTESt:COUNt:FUI?
- :MTESt:COUNt:FWAVeforms?
- :MTESt:COUNt:MARGin:FAILures?
- :MTESt:COUNt:SUI?
- :MTESt:COUNt:UI?
- :MTESt:COUNt:WAVeforms?
- :MTESt:DELete
- :MTESt:ENABle
- :MTESt:FOLDing (Clock Recovery software only)
- :MTESt:FOLDing:BITS
- :MTESt:FOLDing:COUNt:UI?
- :MTESt:FOLDing:COUNt:WAVeforms?
- :MTESt:FOLDing:FAST
- :MTESt:FOLDing:POSition
- :MTESt:FOLDing:SCALe
- :MTESt:FOLDing:TPOSition
- :MTESt:FOLDing:TSCale
- :MTESt:HAMPlitude
- :MTESt:IMPedance
- :MTESt:INVert
- :MTESt:LAMPlitude
- :MTESt:LOAD
- :MTESt:MARGin:AUTO:HITS
- :MTESt:MARGin:AUTO:HRATio
- :MTESt:MARGin:AUTO:METHod
- :MTESt:MARGin:METHod
- :MTESt:MARGin:PERCent
- :MTESt:MARGin:STATe
- :MTESt:NREGions?
- :MTESt:PROBe:IMPedance?
- :MTESt:RUMode
- :MTESt:RUMode:SOFailure
- :MTESt:SCALe:BIND
- :MTESt:SCALe:X1
- :MTESt:SCALe:XDELta
- :MTESt:SCALe:Y1
- :MTESt:SCALe:Y2
- :MTESt:SOURce
- :MTESt:STARt
- :MTESt:STOP
- :MTESt:STIMe
- :MTESt:TITLe?
- :MTESt:TRIGger:SOURce
- Measure Commands
- :MEASure:AREA
- :MEASure:BER
- :MEASure:BERPeracq
- :MEASure:BINTerval
- :MEASure:BPERiod
- :MEASure:BWIDth
- :MEASure:CDRRate
- :MEASure:CGRade:CROSsing
- :MEASure:CGRade:DCDistortion
- :MEASure:CGRade:EHEight
- :MEASure:CGRade:EWIDth
- :MEASure:CGRade:EWINdow
- :MEASure:CGRade:JITTer
- :MEASure:CGRade:OLEVel
- :MEASure:CGRade:QFACtor
- :MEASure:CGRade:ZLEVel
- :MEASure:CHARge (9000 Series, 9000H Series, S-Series)
- :MEASure:CLEar
- :MEASure:CROSsing
- :MEASure:CTCDutycycle
- :MEASure:CTCJitter
- :MEASure:CTCNwidth
- :MEASure:CTCPwidth
- :MEASure:DATarate
- :MEASure:DEEMphasis
- :MEASure:DELTatime
- :MEASure:DELTatime:DEFine
- :MEASure:DUTYcycle
- :MEASure:EDGE
- :MEASure:ERATio
- :MEASure:ETOedge
- :MEASure:FALLtime
- :MEASure:FFT:CPOWer
- :MEASure:FFT:DFRequency
- :MEASure:FFT:DMAGnitude
- :MEASure:FFT:FREQuency
- :MEASure:FFT:MAGNitude
- :MEASure:FFT:OBW
- :MEASure:FFT:PSD
- :MEASure:FREQuency
- :MEASure:HISTogram:FWHM
- :MEASure:HISTogram:HITS
- :MEASure:HISTogram:M1S
- :MEASure:HISTogram:M2S
- :MEASure:HISTogram:M3S
- :MEASure:HISTogram:MAX
- :MEASure:HISTogram:MEAN
- :MEASure:HISTogram:MEDian
- :MEASure:HISTogram:MIN
- :MEASure:HISTogram:MODE
- :MEASure:HISTogram:PEAK
- :MEASure:HISTogram:PP
- :MEASure:HISTogram:RESolution
- :MEASure:HISTogram:STDDev
- :MEASure:HOLDtime
- :MEASure:JITTer:HISTogram
- :MEASure:JITTer:MEASurement
- :MEASure:JITTer:SPECtrum
- :MEASure:JITTer:SPECtrum:HORizontal
- :MEASure:JITTer:SPECtrum:HORizontal:POSition
- :MEASure:JITTer:SPECtrum:HORizontal:RANGe
- :MEASure:JITTer:SPECtrum:RESolution
- :MEASure:JITTer:SPECtrum:VERTical
- :MEASure:JITTer:SPECtrum:VERTical:OFFSet
- :MEASure:JITTer:SPECtrum:VERTical:RANGe
- :MEASure:JITTer:SPECtrum:VERTical:TYPE
- :MEASure:JITTer:SPECtrum:WINDow
- :MEASure:JITTer:TRENd
- :MEASure:JITTer:TRENd:SMOoth
- :MEASure:JITTer:TRENd:SMOoth:POINts
- :MEASure:JITTer:TRENd:VERTical
- :MEASure:JITTer:TRENd:VERTical:OFFSet
- :MEASure:JITTer:TRENd:VERTical:RANGe
- :MEASure:NAME
- :MEASure:NCJitter
- :MEASure:NOISe
- :MEASure:NOISe:ALL?
- :MEASure:NOISe:BANDwidth
- :MEASure:NOISe:LOCation
- :MEASure:NOISe:METHod
- :MEASure:NOISe:REPort
- :MEASure:NOISe:RN
- :MEASure:NOISe:SCOPe:RN
- :MEASure:NOISe:STATe
- :MEASure:NOISe:UNITs
- :MEASure:NPERiod
- :MEASure:NPULses
- :MEASure:NUI
- :MEASure:NWIDth
- :MEASure:OMAMplitude
- :MEASure:OPOWer
- :MEASure:OVERshoot
- :MEASure:PAM:ELEVel
- :MEASure:PAM:EOJ
- :MEASure:PAM:ESKew
- :MEASure:PAM:EYE:ELMethod
- :MEASure:PAM:EYE:ESTiming
- :MEASure:PAM:EYE:PPERcent
- :MEASure:PAM:EYE:TIME:LTDefinition
- :MEASure:PAM:J4U
- :MEASure:PAM:JRMS
- :MEASure:PAM:LEVel
- :MEASure:PAM:LRMS
- :MEASure:PAM:LTHickness
- :MEASure:PAMPlitude
- :MEASure:PBASe
- :MEASure:PERiod
- :MEASure:PHASe
- :MEASure:PPContrast
- :MEASure:PPULses
- :MEASure:PREShoot
- :MEASure:PTOP
- :MEASure:PWIDth
- :MEASure:QUALifier<M>:CONDition
- :MEASure:QUALifier<M>:SOURce
- :MEASure:QUALifier<M>:STATe
- :MEASure:RESults?
- :MEASure:RISetime
- :MEASure:RJDJ:ALL?
- :MEASure:RJDJ:APLength?
- :MEASure:RJDJ:BANDwidth
- :MEASure:RJDJ:BER
- :MEASure:RJDJ:CLOCk
- :MEASure:RJDJ:EDGE
- :MEASure:RJDJ:INTerpolate
- :MEASure:RJDJ:METHod
- :MEASure:RJDJ:MODe
- :MEASure:RJDJ:PAMThreshold
- :MEASure:RJDJ:PLENgth
- :MEASure:RJDJ:REPort
- :MEASure:RJDJ:RJ
- :MEASure:RJDJ:SCOPe:RJ
- :MEASure:RJDJ:SOURce
- :MEASure:RJDJ:STATe
- :MEASure:RJDJ:TJRJDJ?
- :MEASure:RJDJ:UNITs
- :MEASure:SCRatch
- :MEASure:SENDvalid
- :MEASure:SER
- :MEASure:SERPeracq
- :MEASure:SETuptime
- :MEASure:SLEWrate
- :MEASure:SOURce
- :MEASure:STATistics
- :MEASure:TEDGe
- :MEASure:THResholds:ABSolute
- :MEASure:THResholds:DISPlay
- :MEASure:THResholds:GENauto
- :MEASure:THResholds:GENeral:ABSolute
- :MEASure:THResholds:GENeral:HYSTeresis
- :MEASure:THResholds:GENeral:METHod
- :MEASure:THResholds:GENeral:PAMCustom
- :MEASure:THResholds:GENeral:PAMAutomatic
- :MEASure:THResholds:GENeral:PERCent
- :MEASure:THResholds:GENeral:TOPBase:ABSolute
- :MEASure:THResholds:GENeral:TOPBase:METHod
- :MEASure:THResholds:HYSTeresis
- :MEASure:THResholds:METHod
- :MEASure:THResholds:PERCent
- :MEASure:THResholds:RFALl:ABSolute
- :MEASure:THResholds:RFALl:METHod
- :MEASure:THResholds:RFALl:PAMAutomatic
- :MEASure:THResholds:RFALl:PERCent
- :MEASure:THResholds:RFALl:TOPBase:ABSolute
- :MEASure:THResholds:RFALl:TOPBase:METHod
- :MEASure:THResholds:SERial:ABSolute
- :MEASure:THResholds:SERial:HYSTeresis
- :MEASure:THResholds:SERial:METHod
- :MEASure:THResholds:SERial:PERCent
- :MEASure:THResholds:SERial:TOPBase:ABSolute
- :MEASure:THResholds:SERial:TOPBase:METHod
- :MEASure:THResholds:TOPBase:ABSolute
- :MEASure:THResholds:TOPBase:METHod
- :MEASure:TIEClock2
- :MEASure:TIEData2
- :MEASure:TIEFilter:SHAPe
- :MEASure:TIEFilter:STARt
- :MEASure:TIEFilter:STATe
- :MEASure:TIEFilter:STOP
- :MEASure:TIEFilter:TYPE
- :MEASure:TMAX
- :MEASure:TMIN
- :MEASure:TVOLt
- :MEASure:UITouijitter
- :MEASure:UNITinterval
- :MEASure:VAMPlitude
- :MEASure:VAVerage
- :MEASure:VBASe
- :MEASure:VLOWer
- :MEASure:VMAX
- :MEASure:VMIDdle
- :MEASure:VMIN
- :MEASure:VOVershoot
- :MEASure:VPP
- :MEASure:VPReshoot
- :MEASure:VRMS
- :MEASure:VTIMe
- :MEASure:VTOP
- :MEASure:VUPPer
- :MEASure:WINDow
- :MEASurement<N>:NAME
- :MEASurement<N>:SOURce
- Pod Commands
- Root Level Commands
- :ADER? — Acquisition Done Event Register
- :AER? — Arm Event Register
- :ASTate?
- :ATER? — Auto Trigger Event Register
- :AUToscale
- :AUToscale:CHANnels
- :AUToscale:PLACement
- :AUToscale:VERTical
- :BEEP
- :BLANk
- :CDISplay
- :DIGitize
- :DISable DIGital
- :ENABle DIGital
- :MODel?
- :MTEEnable — Mask Test Enable Register
- :MTERegister? — Mask Test Event Register
- :OPEEnable — Operation Status Enable
- :OPERegister? — Operation Status Register
- :OVLRegister?
- :PDER? — Processing Done Event Register
- :RECall:SETup
- :RSTate?
- :RUN
- :SERial — Serial Number
- :SINGle
- :STATus?
- :STOP
- :STORe:JITTer
- :STORe:SETup
- :STORe:WAVeform
- :TERegister? — Trigger Event Register
- :VIEW
- Serial Bus Commands
- General :SBUS<N> Commands
- :SBUS<N>:CAN Commands
- :SBUS<N>:CAN:FDSPoint
- :SBUS<N>:CAN:SAMPlepoint
- :SBUS<N>:CAN:SIGNal:BAUDrate
- :SBUS<N>:CAN:SIGNal:DEFinition
- :SBUS<N>:CAN:SIGNal:FDBaudrate
- :SBUS<N>:CAN:SOURce
- :SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)
- :SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series)
- :SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series, 9000H Series, S-Series)
- :SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series, S-Series)
- :SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series, S-Series)
- :SBUS<N>:CAN:TYPE
- :SBUS<N>:FLEXray Commands
- :SBUS<N>:GENRaw Commands
- :SBUS<N>:HS Commands
- :SBUS<N>:IIC Commands
- :SBUS<N>:LIN Commands
- :SBUS<N>:SPI Commands
- :SBUS<N>:SPI:BITorder
- :SBUS<N>:SPI:CLOCk:SLOPe
- :SBUS<N>:SPI:CLOCk:TIMeout
- :SBUS<N>:SPI:FRAMe:STATe
- :SBUS<N>:SPI:SOURce:CLOCk
- :SBUS<N>:SPI:SOURce:DATA
- :SBUS<N>:SPI:SOURce:FRAMe
- :SBUS<N>:SPI:SOURce:MISO
- :SBUS<N>:SPI:SOURce:MOSI
- :SBUS<N>:SPI:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series)
- :SBUS<N>:SPI:TRIGger:PATTern:WIDTh (9000 Series, 9000H Series, S-Series)
- :SBUS<N>:SPI:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)
- :SBUS<N>:SPI:TYPE
- :SBUS<N>:SPI:WIDTh
- Self-Test Commands
- Serial Data Equalization Commands
- :SPRocessing:CTLequalizer:ACGain
- :SPRocessing:CTLequalizer:DCGain
- :SPRocessing:CTLequalizer:DISPlay
- :SPRocessing:CTLequalizer:NUMPoles
- :SPRocessing:CTLequalizer:P1
- :SPRocessing:CTLequalizer:P2
- :SPRocessing:CTLequalizer:P3
- :SPRocessing:CTLequalizer:RATe
- :SPRocessing:CTLequalizer:SOURce
- :SPRocessing:CTLequalizer:VERTical
- :SPRocessing:CTLequalizer:VERTical:OFFSet
- :SPRocessing:CTLequalizer:VERTical:RANGe
- :SPRocessing:CTLequalizer:Z1
- :SPRocessing:CTLequalizer:Z2
- :SPRocessing:DFEQualizer:NTAPs
- :SPRocessing:DFEQualizer:SOURce
- :SPRocessing:DFEQualizer:STATe
- :SPRocessing:DFEQualizer:TAP
- :SPRocessing:DFEQualizer:TAP:AUTomatic
- :SPRocessing:DFEQualizer:TAP:DELay
- :SPRocessing:DFEQualizer:TAP:GAIN
- :SPRocessing:DFEQualizer:TAP:LTARget
- :SPRocessing:DFEQualizer:TAP:MAX
- :SPRocessing:DFEQualizer:TAP:MIN
- :SPRocessing:DFEQualizer:TAP:NORMalize
- :SPRocessing:DFEQualizer:TAP:UTARget
- :SPRocessing:DFEQualizer:TAP:WIDTh
- :SPRocessing:FFEQualizer:BANDwidth
- :SPRocessing:FFEQualizer:BWMode
- :SPRocessing:FFEQualizer:DISPlay
- :SPRocessing:FFEQualizer:NPRecursor
- :SPRocessing:FFEQualizer:NTAPs
- :SPRocessing:FFEQualizer:RATe
- :SPRocessing:FFEQualizer:SOURce
- :SPRocessing:FFEQualizer:TAP
- :SPRocessing:FFEQualizer:TAP:AUTomatic
- :SPRocessing:FFEQualizer:TAP:DELay
- :SPRocessing:FFEQualizer:TAP:WIDTh
- :SPRocessing:FFEQualizer:TDELay
- :SPRocessing:FFEQualizer:TDMode
- :SPRocessing:FFEQualizer:VERTical
- :SPRocessing:FFEQualizer:VERTical:OFFSet
- :SPRocessing:FFEQualizer:VERTical:RANGe
- System Commands
- Time Base Commands
- Trigger Commands
- General Trigger Commands
- Comm Trigger Commands
- Delay Trigger Commands
- Edge Trigger Commands
- GBSerial Trigger Commands
- :TRIGger:GBSerial:CLOCk (V-Series with HWST Option)
- :TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)
- :TRIGger:GBSerial:DRATe (V-Series with HWST Option)
- :TRIGger:GBSerial:MODE (V-Series with HWST Option)
- :TRIGger:GBSerial:PATTern (V-Series with HWST Option)
- :TRIGger:GBSerial:POLarity (V-Series with HWST Option)
- :TRIGger:GBSerial:PRBS (V-Series with HWST Option)
- :TRIGger:GBSerial:SOURce (V-Series with HWST Option)
- Glitch Trigger Commands
- Pattern Trigger Commands
- Pulse Width Trigger Commands
- Runt Trigger Commands
- Sequence Trigger Commands
- :TRIGger:SEQuence:TERM1 (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- :TRIGger:SEQuence:TERM2 (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- :TRIGger:SEQuence:RESet:ENABle (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- :TRIGger:SEQuence:RESet:TYPE (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- :TRIGger:SEQuence:RESet:EVENt (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- :TRIGger:SEQuence:RESet:TIME (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- :TRIGger:SEQuence:WAIT:ENABle (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- :TRIGger:SEQuence:WAIT:TIME (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, Z-Series)
- Setup and Hold Trigger Commands
- State Trigger Commands
- Timeout Trigger Commands
- Transition Trigger Commands
- TV Trigger Commands
- Window Trigger Commands
- Advanced Comm Trigger Commands
- Advanced Pattern Trigger Commands
- Advanced State Trigger Commands
- Advanced Delay By Event Trigger Commands
- Advanced Delay By Time Trigger Commands
- Advanced Standard TV Trigger Commands
- Advanced User Defined TV Mode and Commands
- Advanced Violation Trigger Modes
- Advanced Pulse Width Violation Trigger Commands
- Advanced Setup Violation Trigger Commands
- :TRIGger:ADVanced:VIOLation:SETup:MODE
- :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce
- :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel
- :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE
- :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce
- :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold
- :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold
- :TRIGger:ADVanced:VIOLation:SETup:SETup:TIME
- :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce
- :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel
- :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE
- :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce
- :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold
- :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold
- :TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME
- :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce
- :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel
- :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE
- :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce
- :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold
- :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold
- :TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe (STIMe)
- :TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe (HTIMe)
- Advanced Transition Violation Trigger Commands
- Waveform Commands
- :WAVeform:BANDpass?
- :WAVeform:BYTeorder
- :WAVeform:CGRade:HEIGht?
- :WAVeform:CGRade:WIDTh?
- :WAVeform:COMPlete?
- :WAVeform:COUNt?
- :WAVeform:COUPling?
- :WAVeform:DATA?
- :WAVeform:FORMat
- :WAVeform:POINts?
- :WAVeform:PREamble?
- :WAVeform:SEGMented:ALL
- :WAVeform:SEGMented:COUNt?
- :WAVeform:SEGMented:TTAG?
- :WAVeform:SEGMented:XLISt?
- :WAVeform:SOURce
- :WAVeform:STReaming
- :WAVeform:TYPE?
- :WAVeform:VIEW
- :WAVeform:XDISplay?
- :WAVeform:XINCrement?
- :WAVeform:XORigin?
- :WAVeform:XRANge?
- :WAVeform:XREFerence?
- :WAVeform:XUNits?
- :WAVeform:YDISplay?
- :WAVeform:YINCrement?
- :WAVeform:YORigin?
- :WAVeform:YRANge?
- :WAVeform:YREFerence?
- :WAVeform:YUNits?
- Waveform Memory Commands
- Xtalk (Crosstalk Analysis) Commands
- :XTALk:ENABle
- :XTALk:PAADeskew
- :XTALk:PAIFilter
- :XTALk:PAISi
- :XTALk:PASLimit
- :XTALk:PAXFilter
- :XTALk:PAXSi
- :XTALk:PJADeskew
- :XTALk:PJIFilter
- :XTALk:PJISi
- :XTALk:PJSLimit
- :XTALk:PJXFilter
- :XTALk:PJXSi
- :XTALk:RESults?
- :XTALk:SAADeskew
- :XTALk:SAIFilter
- :XTALk:SAISi
- :XTALk:SASLimit
- :XTALk:SAXFilter
- :XTALk:SAXSi
- :XTALk<X>:AENable<X>
- :XTALk<X>:ENABle
- :XTALk<X>:IAGGressor
- :XTALk<X>:IVICtim
- :XTALk<X>:PAUTo
- :XTALk<X>:PLENgth
- :XTALk<X>:PTYPe
- :XTALk<X>:RIDeal
- :XTALk<X>:RISI
- :XTALk<X>:ROTHer
- :XTALk<X>:SOURce
- :XTALk<X>:STYPe
- Obsolete and Discontinued Commands
- :ANALyze:CLOCk:METHod:PAM:B03
- :ANALyze:CLOCk:METHod:PAM:B12
- :ANALyze:CLOCk:METHod:PAM:NONSymmetric
- :DISPlay:COLumn
- :DISPlay:LINE
- :DISPlay:ROW
- :DISPlay:STRing
- :DISPlay:TAB
- :DISPlay:TEXT
- :HOSTed:CALibrate:ALIGn (MultiScope)
- :MEASure:CLOCk
- :MEASure:CLOCk:METHod
- :MEASure:CLOCk:METHod (deprecated)
- :MEASure:CLOCk:METHod:ALIGn
- :MEASure:CLOCk:METHod:DEEMphasis
- :MEASure:CLOCk:METHod:EDGE
- :MEASure:CLOCk:METHod:JTF
- :MEASure:CLOCk:METHod:OJTF
- :MEASure:CLOCk:METHod:PLLTrack
- :MEASure:CLOCk:METHod:SOURce
- :MEASure:CLOCk:VERTical
- :MEASure:CLOCk:VERTical:OFFSet
- :MEASure:CLOCk:VERTical:RANGe
- :MEASure:DDPWS — Data Dependent Pulse Width Shrinkage
- :MEASure:FFT:PEAK1
- :MEASure:FFT:PEAK2
- :MEASure:FFT:THReshold
- :MEASure:JITTer:STATistics
- :MEASure:TIEData
- :MTESt:FOLDing:COUNt?
- :SPRocessing:CTLequalizer:ZERo
- Error Messages
- Sample Programs
- Reference
- Index
Keysight Infiniium Oscilloscopes
Programmer's
Guide
2Keysight Infiniium Oscilloscopes Programmer's Guide
Notices
© Keysight Technologies, Inc. 2007-2018
No part of this manual may be reproduced in
any form or by any means (including
electronic storage and retrieval or
translation into a foreign language) without
prior agreement and written consent from
Keysight Technologies, Inc. as governed by
United States and international copyright
laws.
Revision
Version 06.20.00701
Edition
April 2018
Available in electronic format only
Published by:
Keysight Technologies, Inc.
1900 Garden of the Gods Road
Colorado Springs, CO 80907 USA
Warranty
The material contained in this document is
provided "as is," and is subject to being
changed, without notice, in future editions.
Further, to the maximum extent permitted
by applicable law, Keysight disclaims all
warranties, either express or implied, with
regard to this manual and any information
contained herein, including but not limited
to the implied warranties of
merchantability and fitness for a particular
purpose. Keysight shall not be liable for
errors or for incidental or consequential
damages in connection with the furnishing,
use, or performance of this document or of
any information contained herein. Should
Keysight and the user have a separate
written agreement with warranty terms
covering the material in this document that
conflict with these terms, the warranty
terms in the separate agreement shall
control.
Technology License
The hardware and/or software described in
this document are furnished under a license
and may be used or copied only in
accordance with the terms of such license.
U.S. Government Rights
The Software is "commercial computer
software," as defined by Federal Acquisition
Regulation ("FAR") 2.101. Pursuant to FAR
12.212 and 27.405-3 and Department of
Defense FAR Supplement ("DFARS")
227.7202, the U.S. government acquires
commercial computer software under the
same terms by which the software is
customarily provided to the public.
Accordingly, Keysight provides the Software
to U.S. government customers under its
standard commercial license, which is
embodied in its End User License Agreement
(EULA), a copy of which can be found at
www.keysight.com/find/sweula. The
license set forth in the EULA represents the
exclusive authority by which the U.S.
government may use, modify, distribute, or
disclose the Software. The EULA and the
license set forth therein, does not require or
permit, among other things, that Keysight:
(1) Furnish technical information related to
commercial computer software or
commercial computer software
documentation that is not customarily
provided to the public; or (2) Relinquish to,
or otherwise provide, the government rights
in excess of these rights customarily
provided to the public to use, modify,
reproduce, release, perform, display, or
disclose commercial computer software or
commercial computer software
documentation. No additional government
requirements beyond those set forth in the
EULA shall apply, except to the extent that
those terms, rights, or licenses are explicitly
required from all providers of commercial
computer software pursuant to the FAR and
the DFARS and are set forth specifically in
writing elsewhere in the EULA. Keysight
shall be under no obligation to update,
revise or otherwise modify the Software.
With respect to any technical data as
defined by FAR 2.101, pursuant to FAR
12.211 and 27.404.2 and DFARS 227.7102,
the U.S. government acquires no greater
than Limited Rights as defined in FAR 27.401
or DFAR 227.7103-5 (c), as applicable in any
technical data.
Safety Notices
CAUTION
A CAUTION notice denotes a hazard.
It calls attention to an operating
procedure, practice, or the like that,
if not correctly performed or
adhered to, could result in damage
to the product or loss of important
data. Do not proceed beyond a
CAUTION notice until the indicated
conditions are fully understood and
met.
WARNING
A WARNING notice denotes a
hazard. It calls attention to an
operating procedure, practice, or
the like that, if not correctly
performed or adhered to, could
result in personal injury or death.
Do not proceed beyond a WARNING
notice until the indicated
conditions are fully understood and
met.
Keysight Infiniium Oscilloscopes Programmer's Guide 3
In This Book
This book is your guide to programming Infiniium oscilloscopes that have the 5.00
or greater, next-generation user interface software. Supported models include:
• 9000 Series and 9000H Series oscilloscopes.
• S-Series oscilloscopes.
• 90000A Series oscilloscopes.
• 90000 X-Series oscilloscopes.
• V-Series oscilloscopes.
• 90000 Q-Series oscilloscopes.
• Z-Series oscilloscopes.
• N8900A Infiniium Offline oscilloscope analysis software.
In this book, Chapter 1, “What's New,” starting on page 43, describes
programming command changes in the latest version of oscilloscope software.
Chapter 2, “Setting Up,” starting on page 91, describes the steps you must take
before you can control the oscilloscope with remote programs.
The next several chapters give you an introduction to programming the
oscilloscopes, along with necessary conceptual information. These chapters
describe basic program communications, interface, syntax, data types, and status
reporting:
•Chapter 3, “Introduction to Programming,” starting on page 99
•Chapter 4, “Sequential (Blocking) vs. Overlapped Commands,” starting on page
135
•Chapter 5, “LAN, USB, and GPIB Interfaces,” starting on page 137
•Chapter 6, “Message Communication and System Functions,” starting on page
149
•Chapter 7, “Status Reporting,” starting on page 153
•Chapter 8, “Remote Acquisition Synchronization,” starting on page 183
•Chapter 9, “Programming Conventions,” starting on page 201
The next chapters describe the commands used to program the oscilloscopes.
Each chapter describes the set of commands that belong to an individual
subsystem, and explains the function of each command.
•Chapter 10, “Acquire Commands,” starting on page 209
•Chapter 11, “Analyze Commands,” starting on page 243
•Chapter 12, “Bus Commands,” starting on page 287
•Chapter 13, “Calibration Commands,” starting on page 299
•Chapter 14, “Channel Commands,” starting on page 311
•Chapter 15, “Common Commands,” starting on page 413
•Chapter 16, “Digital Commands,” starting on page 437
4Keysight Infiniium Oscilloscopes Programmer's Guide
•Chapter 17, “Disk Commands,” starting on page 443
•Chapter 18, “Display Commands,” starting on page 461
•Chapter 19, “Function Commands,” starting on page 505
•Chapter 20, “Hardcopy Commands,” starting on page 565
•Chapter 21, “Histogram Commands,” starting on page 571
•Chapter 22, “Hosted Commands,” starting on page 585
•Chapter 23, “InfiniiScan (ISCan) Commands,” starting on page 611
•Chapter 24, “Limit Test Commands,” starting on page 633
•Chapter 25, “Lister Commands,” starting on page 643
•Chapter 26, “Marker Commands,” starting on page 647
•Chapter 27, “Mask Test Commands,” starting on page 667
•Chapter 28, “Measure Commands,” starting on page 735
•Chapter 29, “Pod Commands,” starting on page 1009
•Chapter 30, “Root Level Commands,” starting on page 1015
•Chapter 31, “Serial Bus Commands,” starting on page 1053
•Chapter 32, “Self-Test Commands,” starting on page 1131
•Chapter 33, “Serial Data Equalization Commands,” starting on page 1135
•Chapter 34, “System Commands,” starting on page 1181
•Chapter 35, “Time Base Commands,” starting on page 1201
•Chapter 36, “Trigger Commands,” starting on page 1215
•Chapter 37, “Waveform Commands,” starting on page 1415
•Chapter 38, “Waveform Memory Commands,” starting on page 1479
•Chapter 39, “Xtalk (Crosstalk Analysis) Commands,” starting on page 1493
Chapter 40, “Obsolete and Discontinued Commands,” starting on page 1531,
describes obsolete (deprecated) commands that still work but have been replaced
by newer commands, and lists discontinued commands that are no longer
supported.
Chapter 41, “Error Messages,” starting on page 1579, describes error messages.
Chapter 42, “Sample Programs,” starting on page 1591, shows example programs
in various languages using the VISA COM, VISA, and SICL libraries.
Finally, Chapter 43, “Reference,” starting on page 1727, contains file format
descriptions.
See Also • For more information on using the SICL, VISA, and VISA COM libraries in
general, see the documentation that comes with the Keysight IO Libraries
Suite.
• For information on controller PC interface configuration, see the
documentation for the interface card used (for example, the Keysight 82350A
GPIB interface).
Keysight Infiniium Oscilloscopes Programmer's Guide 5
• For information on oscilloscope front-panel operation, see the User's Guide.
• For detailed connectivity information, refer to the Keysight Technologies
USB/LAN/GPIB Connectivity Guide. For a printable electronic copy of the
Connectivity Guide, direct your Web browser to www.keysight.com and search
for "Connectivity Guide".
• For the latest versions of this and other manuals, see:
http://www.keysight.com/find/Infiniium-manuals
6Keysight Infiniium Oscilloscopes Programmer's Guide
Keysight Infiniium Oscilloscopes Programmer's Guide 7
Contents
In This Book / 3
1 What's New
What's New in Version 6.20 / 44
What's New in Version 6.10 / 47
What's New in Version 6.00 / 49
What's New in Version 5.75 / 53
What's New in Version 5.70 / 54
What's New in Version 5.60 / 57
What's New in Version 5.52 / 60
What's New in Version 5.51 / 61
What's New in Version 5.50 / 62
What's New in Version 5.30 / 68
What's New in Version 5.20 / 70
What's New in Version 5.10 / 72
What's New in Version 5.00 / 73
What's New in Version 4.60 / 77
What's New in Version 4.50 / 78
What's New in Version 4.30 / 79
What's New in Version 4.20 / 80
What's New in Version 4.10 / 81
What's New in Version 4.00 / 82
What's New in Version 3.50 / 83
What's New in Version 3.20 / 85
What's New in Version 3.11 / 86
What's New in Version 3.10 / 87
8Keysight Infiniium Oscilloscopes Programmer's Guide
2 Setting Up
Step 1. Install Keysight IO Libraries Suite software / 92
Step 2. Connect and set up the oscilloscope / 93
Using the USB (Device) Interface / 93
Using the LAN Interface / 93
Step 3. Verify the oscilloscope connection / 94
3 Introduction to Programming
Communicating with the Oscilloscope / 101
Instructions / 102
Instruction Header / 103
White Space (Separator) / 104
Braces / 105
Ellipsis / 106
Square Brackets / 107
Command and Query Sources / 108
Program Data / 109
Header Types / 110
Simple Command Header / 110
Compound Command Header / 110
Combining Commands in the Same Subsystem / 111
Common Command Header / 111
Duplicate Mnemonics / 111
Query Headers / 112
Program Header Options / 113
Character Program Data / 114
Numeric Program Data / 115
Embedded Strings / 116
Program Message Terminator / 117
Common Commands within a Subsystem / 118
Selecting Multiple Subsystems / 119
Programming Getting Started / 120
Referencing the IO Library / 121
Keysight Infiniium Oscilloscopes Programmer's Guide 9
Opening the Oscilloscope Connection via the IO Library / 122
Initializing the Interface and the Oscilloscope / 123
Autoscale / 123
Setting Up the Oscilloscope / 124
Example Program / 125
Using the DIGitize Command / 126
Receiving Information from the Oscilloscope / 128
String Variable Example / 129
Numeric Variable Example / 130
Definite-Length Block Response Data / 131
Multiple Queries / 132
Oscilloscope Status / 133
4 Sequential (Blocking) vs. Overlapped Commands
5 LAN, USB, and GPIB Interfaces
LAN Interface Connector / 138
GPIB Interface Connector / 139
Default Startup Conditions / 140
Interface Capabilities / 141
GPIB Command and Data Concepts / 142
Communicating Over the GPIB Interface / 143
Interface Select Code / 143
Oscilloscope Address / 143
Communicating Over the LAN Interface / 144
Communicating via Telnet and Sockets / 145
Telnet / 145
Sockets / 145
Bus Commands / 147
Device Clear / 147
Group Execute Trigger / 147
Interface Clear / 147
10 Keysight Infiniium Oscilloscopes Programmer's Guide
6 Message Communication and System Functions
Protocols / 150
Functional Elements / 150
Protocol Overview / 150
Protocol Operation / 151
Protocol Exceptions / 151
Suffix Multiplier / 151
Suffix Unit / 152
7Status Reporting
Status Reporting Data Structures / 156
Status Byte Register / 158
Service Request Enable Register / 160
Message Event Register / 161
Trigger Event Register / 162
Standard Event Status Register / 163
Standard Event Status Enable Register / 164
Operation Status Register / 165
Operation Status Enable Register / 166
Mask Test Event Register / 167
Mask Test Event Enable Register / 168
Acquisition Done Event Register / 169
Process Done Event Register / 170
Trigger Armed Event Register / 171
Auto Trigger Event Register / 172
Error Queue / 173
Output Queue / 174
Message Queue / 175
Clearing Registers and Queues / 176
Example: Checking for Armed Status / 178
8 Remote Acquisition Synchronization
Programming Flow / 184
Setting Up the Oscilloscope / 185
Keysight Infiniium Oscilloscopes Programmer's Guide 11
Acquiring a Waveform / 186
Retrieving Results / 187
Acquisition Synchronization / 188
Blocking Synchronization / 188
Polling Synchronization With Timeout / 188
Example: Blocking and Polling Synchronization / 189
Single Shot Device Under Test (DUT) / 198
Averaging Acquisition Synchronization / 199
9 Programming Conventions
Truncation Rule / 202
The Command Tree / 203
Command Types / 203
Tree Traversal Rules / 203
Tree Traversal Examples / 204
Infinity Representation / 206
Response Generation / 207
EOI / 208
10 Acquire Commands
:ACQuire:AVERage / 211
:ACQuire[:AVERage]:COUNt / 212
:ACQuire:BANDwidth / 213
:ACQuire:BANDwidth:FRAMe? / 215
:ACQuire:BANDwidth:TESTLIMITS? / 216
:ACQuire:COMPlete / 217
:ACQuire:COMPlete:STATe / 219
:ACQuire:HRESolution / 220
:ACQuire:INTerpolate / 222
:ACQuire:MODE / 223
:ACQuire:POINts[:ANALog] — Memory depth / 225
:ACQuire:POINts:AUTO / 227
:ACQuire:POINts:DIGital? / 228
:ACQuire:POINts:TESTLIMITS? / 229
:ACQuire:REDGe — RealEdge Channel Inputs (90000 Q-Series, Z-Series) / 230
:ACQuire:RESPonse (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 231
:ACQuire:SEGMented:AUToplay / 232
:ACQuire:SEGMented:COUNt / 233
12 Keysight Infiniium Oscilloscopes Programmer's Guide
:ACQuire:SEGMented:INDex / 234
:ACQuire:SEGMented:PLAY / 235
:ACQuire:SEGMented:PRATe / 236
:ACQuire:SEGMented:TTAGs / 237
:ACQuire:SRATe[:ANALog] — Analog Sample Rate / 238
:ACQuire:SRATe[:ANALog]:AUTO / 239
:ACQuire:SRATe:DIGital — Digital Channels Sample Rate / 240
:ACQuire:SRATe:DIGital:AUTO / 241
:ACQuire:SRATe:TESTLIMITS? / 242
11 Analyze Commands
:ANALyze:AEDGes / 245
:ANALyze:CLOCk / 246
:ANALyze:CLOCk:METHod / 247
:ANALyze:CLOCk:METHod:ALIGn / 250
:ANALyze:CLOCk:METHod:DEEMphasis / 252
:ANALyze:CLOCk:METHod:EDGE / 253
:ANALyze:CLOCk:METHod:IDLe / 255
:ANALyze:CLOCk:METHod:JTF / 256
:ANALyze:CLOCk:METHod:OJTF / 259
:ANALyze:CLOCk:METHod:PLLTrack / 262
:ANALyze:CLOCk:METHod:SKEW / 263
:ANALyze:CLOCk:METHod:SOURce / 264
:ANALyze:CLOCk:VERTical / 265
:ANALyze:CLOCk:VERTical:OFFSet / 266
:ANALyze:CLOCk:VERTical:RANGe / 267
:ANALyze:SIGNal:DATarate / 268
:ANALyze:SIGNal:SYMBolrate / 270
:ANALyze:SIGNal:MIXer:CABLeloss / 272
:ANALyze:SIGNal:MMWave:CALibrate / 273
:ANALyze:SIGNal:MMWave:CFRequency / 274
:ANALyze:SIGNal:MMWave:CONNect / 275
:ANALyze:SIGNal:MMWave:LOADdress / 276
:ANALyze:SIGNal:MMWave:MBANdwidth / 277
:ANALyze:SIGNal:PATTern:CLEar / 278
:ANALyze:SIGNal:PATTern:LOAD / 279
:ANALyze:SIGNal:PATTern:PLENgth / 280
:ANALyze:SIGNal:PATTern:SMAP / 281
:ANALyze:SIGNal:TYPE / 282
:ANALyze:VIEW / 285
Keysight Infiniium Oscilloscopes Programmer's Guide 13
12 Bus Commands
:BUS:B<N>:TYPE / 288
:BUS<B>:BIT<M> / 290
:BUS<B>:BITS / 291
:BUS<B>:CLEar / 292
:BUS<B>:CLOCk / 293
:BUS<B>:CLOCk:SLOPe / 294
:BUS<B>:DISPlay / 295
:BUS<B>:LABel / 296
:BUS<B>:READout / 297
13 Calibration Commands
:CALibrate:DATE? / 301
:CALibrate:OUTPut / 302
:CALibrate:OUTPut:AUX / 304
:CALibrate:OUTPut:AUX:RTIMe / 305
:CALibrate:OUTPut:CAL / 306
:CALibrate:SKEW / 307
:CALibrate:STATus? / 308
:CALibrate:TEMP? / 309
14 Channel Commands
:CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series) / 314
:CHANnel<N>:COMMonmode / 315
:CHANnel<N>:DIFFerential / 316
:CHANnel<N>:DIFFerential:SKEW / 317
:CHANnel<N>:DISPlay / 318
:CHANnel<N>:DISPlay:AUTO / 319
:CHANnel<N>:DISPlay:OFFSet / 321
:CHANnel<N>:DISPlay:RANGe / 323
:CHANnel<N>:DISPlay:SCALe / 325
:CHANnel<N>:INPut / 327
:CHANnel<N>:INVert / 328
:CHANnel<N>:ISIM:APPLy / 329
:CHANnel<N>:ISIM:BANDwidth / 330
:CHANnel<N>:ISIM:BWLimit / 332
:CHANnel<N>:ISIM:BWLimit:TYPE / 334
:CHANnel<N>:ISIM:CONVolve / 335
:CHANnel<N>:ISIM:CORRection / 336
:CHANnel<N>:ISIM:DEConvolve / 338
:CHANnel<N>:ISIM:DELay / 339
14 Keysight Infiniium Oscilloscopes Programmer's Guide
:CHANnel<N>:ISIM:NORMalize / 340
:CHANnel<N>:ISIM:PEXTraction / 341
:CHANnel<N>:ISIM:SPAN / 343
:CHANnel<N>:ISIM:STATe / 344
:CHANnel<N>:LABel / 345
:CHANnel<N>:OFFSet / 346
:CHANnel<N>:PROBe / 347
:CHANnel<N>:PROBe:ACCAL / 348
:CHANnel<N>:PROBe:ATTenuation / 349
:CHANnel<N>:PROBe:AUTozero / 350
:CHANnel<N>:PROBe:COUPling / 351
:CHANnel<N>:PROBe:EADapter / 352
:CHANnel<N>:PROBe:ECOupling / 355
:CHANnel<N>:PROBe:EXTernal / 356
:CHANnel<N>:PROBe:EXTernal:GAIN / 357
:CHANnel<N>:PROBe:EXTernal:OFFSet / 358
:CHANnel<N>:PROBe:EXTernal:UNITs / 359
:CHANnel<N>:PROBe:GAIN / 360
:CHANnel<N>:PROBe:HEAD:ADD / 361
:CHANnel<N>:PROBe:HEAD:DELete ALL / 362
:CHANnel<N>:PROBe:HEAD:SELect / 363
:CHANnel<N>:PROBe:HEAD:VTERm / 364
:CHANnel<N>:PROBe:ID? / 365
:CHANnel<N>:PROBe:INFO? / 366
:CHANnel<N>:PROBe:MODE / 367
:CHANnel<N>:PROBe:PRECprobe:BANDwidth / 368
:CHANnel<N>:PROBe:PRECprobe:CALibration / 369
:CHANnel<N>:PROBe:PRECprobe:DELay / 370
:CHANnel<N>:PROBe:PRECprobe:MODE / 371
:CHANnel<N>:PROBe:PRECprobe:ZSRC / 372
:CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series) / 374
:CHANnel<N>:PROBe:SKEW / 375
:CHANnel<N>:PROBe:STYPe / 376
:CHANnel<N>:RANGe / 377
:CHANnel<N>:SCALe / 378
:CHANnel<N>:SIMulation:AMPLitude / 379
:CHANnel<N>:SIMulation:DATA:LENGth / 380
:CHANnel<N>:SIMulation:DATA:ODD / 381
:CHANnel<N>:SIMulation:DATA:PAM / 382
:CHANnel<N>:SIMulation:DATA:RESeed / 383
:CHANnel<N>:SIMulation:DATA:SELection / 384
:CHANnel<N>:SIMulation:DRATe / 385
Keysight Infiniium Oscilloscopes Programmer's Guide 15
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess / 386
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction / 387
:CHANnel<N>:SIMulation:FILTer:SELection / 388
:CHANnel<N>:SIMulation:FLOad:ADDRess / 389
:CHANnel<N>:SIMulation:FLOad:LOOP / 390
:CHANnel<N>:SIMulation:FREQuency / 391
:CHANnel<N>:SIMulation:FUNCtion:SELection / 392
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle / 393
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe / 394
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe / 395
:CHANnel<N>:SIMulation:JITTer / 396
:CHANnel<N>:SIMulation:JITTer:ABUJ / 397
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle / 398
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency / 399
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude / 400
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe / 401
:CHANnel<N>:SIMulation:JITTer:RANDom / 402
:CHANnel<N>:SIMulation:NOISe / 403
:CHANnel<N>:SIMulation:NOISe:BWLimit / 404
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle / 405
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency / 406
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude / 407
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe / 408
:CHANnel<N>:SIMulation:NOISe:RANDom / 409
:CHANnel<N>:SIMulation:OFFSet / 410
:CHANnel<N>:SIMulation:WAVeform / 411
:CHANnel<N>:UNITs / 412
15 Common Commands
*CLS — Clear Status / 415
*ESE — Event Status Enable / 416
*ESR? — Event Status Register / 418
*IDN? — Identification Number / 419
*LRN? — Learn / 420
*OPC — Operation Complete / 422
*OPT? — Option / 423
*PSC — Power-on Status Clear / 426
*RCL — Recall / 427
*RST — Reset / 428
*SAV — Save / 429
*SRE — Service Request Enable / 430
16 Keysight Infiniium Oscilloscopes Programmer's Guide
*STB? — Status Byte / 432
*TRG — Trigger / 434
*TST? — Test / 435
*WAI — Wait / 436
16 Digital Commands
:DIGital<N>:DISPlay / 438
:DIGital<N>:LABel / 439
:DIGital<N>:SIZE / 440
:DIGital<N>:THReshold / 441
17 Disk Commands
:DISK:CDIRectory / 444
:DISK:COPY / 445
:DISK:DELete / 446
:DISK:DIRectory? / 447
:DISK:LOAD / 448
:DISK:MDIRectory / 449
:DISK:PWD? / 450
:DISK:SAVE:COMPosite / 451
:DISK:SAVE:IMAGe / 452
:DISK:SAVE:JITTer / 453
:DISK:SAVE:LISTing / 454
:DISK:SAVE:MEASurements / 455
:DISK:SAVE:PRECprobe / 456
:DISK:SAVE:SETup / 457
:DISK:SAVE:WAVeform / 458
:DISK:SEGMented / 460
18 Display Commands
:DISPlay:BOOKmark<N>:DELete / 463
:DISPlay:BOOKmark<N>:SET / 464
:DISPlay:BOOKmark<N>:VERTical? / 466
:DISPlay:BOOKmark<N>:XPOSition / 467
:DISPlay:BOOKmark<N>:YPOSition / 468
:DISPlay:CGRade / 469
:DISPlay:CGRade:LEVels? / 471
:DISPlay:CGRade:SCHeme / 473
:DISPlay:CONNect / 475
:DISPlay:DATA? / 476
:DISPlay:GRATicule / 477
Keysight Infiniium Oscilloscopes Programmer's Guide 17
:DISPlay:GRATicule:AREA<N>:STATe / 478
:DISPlay:GRATicule:INTensity / 479
:DISPlay:GRATicule:NUMBer / 480
:DISPlay:GRATicule:SETGrat / 481
:DISPlay:ISIM:GCOunt / 482
:DISPlay:ISIM:SELectgraph / 483
:DISPlay:ISIM:SOURce / 484
:DISPlay:JITTer:GCOunt / 485
:DISPlay:JITTer:SELectgraph / 486
:DISPlay:JITTer:THReshold / 488
:DISPlay:LABel / 489
:DISPlay:LAYout / 490
:DISPlay:MAIN / 491
:DISPlay:NOISe:LEVel / 492
:DISPlay:PERSistence / 493
:DISPlay:PROPortion / 495
:DISPlay:PROPortion:RESults / 496
:DISPlay:PRECprobe:GCOunt / 497
:DISPlay:PRECprobe:SELectgraph / 498
:DISPlay:PRECprobe:SOURce / 499
:DISPlay:SCOLor / 500
:DISPlay:STATus:COLumn / 502
:DISPlay:STATus:ROW / 503
:DISPlay:WINDow:MAXimize / 504
19 Function Commands
:FUNCtion<F>? / 508
:FUNCtion<F>:ABSolute / 509
:FUNCtion<F>:ADD / 510
:FUNCtion<F>:ADEMod / 511
:FUNCtion<F>:AVERage / 512
:FUNCtion<F>:COMMonmode / 513
:FUNCtion<F>:DELay — Delay / 514
:FUNCtion<F>:DIFF — Differentiate / 515
:FUNCtion<F>:DISPlay / 516
:FUNCtion<F>:DIVide / 517
:FUNCtion<F>:FFT:DETector:POINts / 518
:FUNCtion<F>:FFT:DETector:TYPE / 519
:FUNCtion<F>:FFT:FREQuency / 520
:FUNCtion<F>:FFT:REFerence / 521
:FUNCtion<F>:FFT:RESolution / 522
18 Keysight Infiniium Oscilloscopes Programmer's Guide
:FUNCtion<F>:FFT:SPAN / 524
:FUNCtion<F>:FFT:STOP / 525
:FUNCtion<F>:FFT:TDELay / 526
:FUNCtion<F>:FFT:VUNits / 527
:FUNCtion<F>:FFT:WINDow / 528
:FUNCtion<F>:FFTMagnitude / 530
:FUNCtion<F>:FFTPhase / 531
:FUNCtion<F>:GATing — Gating / 532
:FUNCtion<F>:GATing:STARt — Gating window start time / 533
:FUNCtion<F>:GATing:STOP — Gating window stop time / 534
:FUNCtion<F>:HIGHpass / 535
:FUNCtion<F>:HORizontal / 536
:FUNCtion<F>:HORizontal:POSition / 537
:FUNCtion<F>:HORizontal:RANGe / 539
:FUNCtion<F>:INTegrate / 541
:FUNCtion<F>:INVert / 542
:FUNCtion<F>:LOWPass / 543
:FUNCtion<F>:MAGNify / 544
:FUNCtion<F>:MATLab / 545
:FUNCtion<F>:MATLab:CONTrol<N> / 546
:FUNCtion<F>:MATLab:OPERator / 547
:FUNCtion<F>:MAXimum / 548
:FUNCtion<F>:MHIStogram / 549
:FUNCtion<F>:MINimum / 550
:FUNCtion<F>:MLOG / 551
:FUNCtion<F>:MTRend / 552
:FUNCtion<F>:MULTiply / 553
:FUNCtion<F>:OFFSet / 554
:FUNCtion<F>:RANGe / 555
:FUNCtion<F>:SMOoth / 556
:FUNCtion<F>:SQRT / 557
:FUNCtion<F>:SQUare / 558
:FUNCtion<F>:SUBTract / 559
:FUNCtion<F>:VERSus / 560
:FUNCtion<F>:VERTical / 561
:FUNCtion<F>:VERTical:OFFSet / 562
:FUNCtion<F>:VERTical:RANGe / 563
20 Hardcopy Commands
:HARDcopy:AREA / 566
:HARDcopy:DPRinter / 567
Keysight Infiniium Oscilloscopes Programmer's Guide 19
:HARDcopy:FACTors / 568
:HARDcopy:IMAGe / 569
:HARDcopy:PRINters? / 570
21 Histogram Commands
:HISTogram:AXIS / 573
:HISTogram:HORizontal:BINS / 574
:HISTogram:MEASurement:BINS / 575
:HISTogram:MODE / 576
:HISTogram:SCALe:SIZE / 577
:HISTogram:VERTical:BINS / 578
:HISTogram:WINDow:DEFault / 579
:HISTogram:WINDow:SOURce / 580
:HISTogram:WINDow:LLIMit / 581
:HISTogram:WINDow:RLIMit / 582
:HISTogram:WINDow:BLIMit / 583
:HISTogram:WINDow:TLIMit / 584
22 Hosted Commands
:HOSTed:CALibrate:CALibrate / 587
:HOSTed:CALibrate:CHANnel / 588
:HOSTed:CALibrate:DESKew:CHANnels / 589
:HOSTed:CALibrate:DESKew:FRAMes / 590
:HOSTed:CALibrate:DESKew:SIGNals / 591
:HOSTed:CALibrate:DESKew:ZERO / 592
:HOSTed:CALibrate:LEVel / 593
:HOSTed:CALibrate:PROMpt / 595
:HOSTed:CALibrate:STATus:CHANnels? / 596
:HOSTed:CALibrate:STATus:FRAMes? / 597
:HOSTed:CALibrate:STATus:LEVel? / 598
:HOSTed:CALibrate:STATus:SIGNals? / 599
:HOSTed:CALibrate:TREF:DETect / 600
:HOSTed:FOLLower<N>:ACHannels? / 601
:HOSTed:FOLLower<N>:CONFigure / 602
:HOSTed:FOLLower<N>:CONNect / 603
:HOSTed:FOLLower<N>:DISConnect / 604
:HOSTed:LEADer:ACHannels? / 605
:HOSTed:LEADer:CONFigure / 606
:HOSTed:LEADer:CONNect / 607
:HOSTed:LEADer:DISConnect / 608
:HOSTed:NCONnected? / 609
20 Keysight Infiniium Oscilloscopes Programmer's Guide
:HOSTed:PERiodic / 610
23 InfiniiScan (ISCan) Commands
:ISCan:DELay / 612
:ISCan:MEASurement:FAIL / 613
:ISCan:MEASurement:LLIMit / 614
:ISCan:MEASurement / 615
:ISCan:MEASurement:ULIMit / 616
:ISCan:MODE / 617
:ISCan:NONMonotonic:EDGE / 618
:ISCan:NONMonotonic:HYSTeresis / 619
:ISCan:NONMonotonic:SOURce / 620
:ISCan:RUNT:HYSTeresis / 621
:ISCan:RUNT:LLEVel / 622
:ISCan:RUNT:SOURce / 623
:ISCan:RUNT:ULEVel / 624
:ISCan:SERial:PATTern / 625
:ISCan:SERial:SOURce / 626
:ISCan:ZONE:HIDE / 627
:ISCan:ZONE:SOURce / 628
:ISCan:ZONE<Z>:MODE / 629
:ISCan:ZONE<Z>:PLACement / 630
:ISCan:ZONE<Z>:SOURce / 631
:ISCan:ZONE<Z>:STATe / 632
24 Limit Test Commands
:LTESt:ADDStats / 634
:LTESt:FAIL / 635
:LTESt:LLIMit — Lower Limit / 637
:LTESt:MEASurement / 638
:LTESt:RESults? / 639
:LTESt:RUMode:SOFailure / 640
:LTESt:TEST / 641
:LTESt:ULIMit — Upper Limit / 642
25 Lister Commands
:LISTer:DATA? / 644
:LISTer:DISPlay / 645
26 Marker Commands
:MARKer:CURSor? / 648
Keysight Infiniium Oscilloscopes Programmer's Guide 21
:MARKer:DELTa / 649
:MARKer:MEASurement:MEASurement / 650
:MARKer:MODE / 651
:MARKer:TSTArt / 652
:MARKer:TSTOp / 653
:MARKer:VSTArt / 654
:MARKer:VSTOp / 655
:MARKer:X1Position / 656
:MARKer:X2Position / 657
:MARKer:X1Y1source / 658
:MARKer:X2Y2source / 660
:MARKer:XDELta? / 662
:MARKer:Y1Position / 663
:MARKer:Y2Position / 664
:MARKer:YDELta? / 665
27 Mask Test Commands
:MTESt:ALIGn / 669
:MTESt:AlignFIT / 670
:MTESt:AMASk:CREate / 672
:MTESt:AMASk:SOURce / 673
:MTESt:AMASk:SAVE / 675
:MTESt:AMASk:UNITs / 676
:MTESt:AMASk:XDELta / 677
:MTESt:AMASk:YDELta / 678
:MTESt:AUTO / 679
:MTESt:AVERage / 680
:MTESt:AVERage:COUNt / 681
:MTESt:COUNt:FAILures? / 682
:MTESt:COUNt:FUI? / 683
:MTESt:COUNt:FWAVeforms? / 684
:MTESt:COUNt:MARGin:FAILures? / 685
:MTESt:COUNt:SUI? / 686
:MTESt:COUNt:UI? / 687
:MTESt:COUNt:WAVeforms? / 688
:MTESt:DELete / 689
:MTESt:ENABle / 690
:MTESt:FOLDing (Clock Recovery software only) / 691
:MTESt:FOLDing:BITS / 693
:MTESt:FOLDing:COUNt:UI? / 695
:MTESt:FOLDing:COUNt:WAVeforms? / 697
22 Keysight Infiniium Oscilloscopes Programmer's Guide
:MTESt:FOLDing:FAST / 699
:MTESt:FOLDing:POSition / 701
:MTESt:FOLDing:SCALe / 703
:MTESt:FOLDing:TPOSition / 705
:MTESt:FOLDing:TSCale / 707
:MTESt:HAMPlitude / 709
:MTESt:IMPedance / 710
:MTESt:INVert / 711
:MTESt:LAMPlitude / 712
:MTESt:LOAD / 713
:MTESt:MARGin:AUTO:HITS / 714
:MTESt:MARGin:AUTO:HRATio / 715
:MTESt:MARGin:AUTO:METHod / 716
:MTESt:MARGin:METHod / 717
:MTESt:MARGin:PERCent / 718
:MTESt:MARGin:STATe / 719
:MTESt:NREGions? / 720
:MTESt:PROBe:IMPedance? / 721
:MTESt:RUMode / 722
:MTESt:RUMode:SOFailure / 723
:MTESt:SCALe:BIND / 724
:MTESt:SCALe:X1 / 725
:MTESt:SCALe:XDELta / 726
:MTESt:SCALe:Y1 / 727
:MTESt:SCALe:Y2 / 728
:MTESt:SOURce / 729
:MTESt:STARt / 730
:MTESt:STOP / 731
:MTESt:STIMe / 732
:MTESt:TITLe? / 733
:MTESt:TRIGger:SOURce / 734
28 Measure Commands
:MEASure:AREA / 745
:MEASure:BER / 747
:MEASure:BERPeracq / 748
:MEASure:BINTerval / 749
:MEASure:BPERiod / 750
:MEASure:BWIDth / 751
:MEASure:CDRRate / 752
:MEASure:CGRade:CROSsing / 753
Keysight Infiniium Oscilloscopes Programmer's Guide 23
:MEASure:CGRade:DCDistortion / 754
:MEASure:CGRade:EHEight / 755
:MEASure:CGRade:EWIDth / 757
:MEASure:CGRade:EWINdow / 759
:MEASure:CGRade:JITTer / 761
:MEASure:CGRade:OLEVel / 762
:MEASure:CGRade:QFACtor / 763
:MEASure:CGRade:ZLEVel / 764
:MEASure:CHARge (9000 Series, 9000H Series, S-Series) / 765
:MEASure:CLEar / 766
:MEASure:CROSsing / 767
:MEASure:CTCDutycycle / 768
:MEASure:CTCJitter / 770
:MEASure:CTCNwidth / 772
:MEASure:CTCPwidth / 774
:MEASure:DATarate / 776
:MEASure:DEEMphasis / 778
:MEASure:DELTatime / 780
:MEASure:DELTatime:DEFine / 782
:MEASure:DUTYcycle / 784
:MEASure:EDGE / 785
:MEASure:ERATio / 786
:MEASure:ETOedge / 787
:MEASure:FALLtime / 789
:MEASure:FFT:CPOWer / 791
:MEASure:FFT:DFRequency / 792
:MEASure:FFT:DMAGnitude / 794
:MEASure:FFT:FREQuency / 796
:MEASure:FFT:MAGNitude / 798
:MEASure:FFT:OBW / 800
:MEASure:FFT:PSD / 801
:MEASure:FREQuency / 802
:MEASure:HISTogram:FWHM / 804
:MEASure:HISTogram:HITS / 805
:MEASure:HISTogram:M1S / 806
:MEASure:HISTogram:M2S / 807
:MEASure:HISTogram:M3S / 808
:MEASure:HISTogram:MAX / 809
:MEASure:HISTogram:MEAN / 810
:MEASure:HISTogram:MEDian / 811
:MEASure:HISTogram:MIN / 812
:MEASure:HISTogram:MODE / 813
24 Keysight Infiniium Oscilloscopes Programmer's Guide
:MEASure:HISTogram:PEAK / 814
:MEASure:HISTogram:PP / 815
:MEASure:HISTogram:RESolution / 816
:MEASure:HISTogram:STDDev / 817
:MEASure:HOLDtime / 818
:MEASure:JITTer:HISTogram / 820
:MEASure:JITTer:MEASurement / 821
:MEASure:JITTer:SPECtrum / 822
:MEASure:JITTer:SPECtrum:HORizontal / 823
:MEASure:JITTer:SPECtrum:HORizontal:POSition / 824
:MEASure:JITTer:SPECtrum:HORizontal:RANGe / 825
:MEASure:JITTer:SPECtrum:RESolution / 826
:MEASure:JITTer:SPECtrum:VERTical / 827
:MEASure:JITTer:SPECtrum:VERTical:OFFSet / 828
:MEASure:JITTer:SPECtrum:VERTical:RANGe / 829
:MEASure:JITTer:SPECtrum:VERTical:TYPE / 830
:MEASure:JITTer:SPECtrum:WINDow / 831
:MEASure:JITTer:TRENd / 832
:MEASure:JITTer:TRENd:SMOoth / 833
:MEASure:JITTer:TRENd:SMOoth:POINts / 834
:MEASure:JITTer:TRENd:VERTical / 835
:MEASure:JITTer:TRENd:VERTical:OFFSet / 836
:MEASure:JITTer:TRENd:VERTical:RANGe / 837
:MEASure:NAME / 838
:MEASure:NCJitter / 839
:MEASure:NOISe / 841
:MEASure:NOISe:ALL? / 843
:MEASure:NOISe:BANDwidth / 845
:MEASure:NOISe:LOCation / 846
:MEASure:NOISe:METHod / 847
:MEASure:NOISe:REPort / 848
:MEASure:NOISe:RN / 849
:MEASure:NOISe:SCOPe:RN / 850
:MEASure:NOISe:STATe / 851
:MEASure:NOISe:UNITs / 852
:MEASure:NPERiod / 853
:MEASure:NPULses / 854
:MEASure:NUI / 855
:MEASure:NWIDth / 856
:MEASure:OMAMplitude / 857
:MEASure:OPOWer / 858
:MEASure:OVERshoot / 859
Keysight Infiniium Oscilloscopes Programmer's Guide 25
:MEASure:PAM:ELEVel / 861
:MEASure:PAM:EOJ / 863
:MEASure:PAM:ESKew / 864
:MEASure:PAM:EYE:ELMethod / 866
:MEASure:PAM:EYE:ESTiming / 867
:MEASure:PAM:EYE:PPERcent / 868
:MEASure:PAM:EYE:TIME:LTDefinition / 869
:MEASure:PAM:J4U / 870
:MEASure:PAM:JRMS / 871
:MEASure:PAM:LEVel / 872
:MEASure:PAM:LRMS / 874
:MEASure:PAM:LTHickness / 876
:MEASure:PAMPlitude / 878
:MEASure:PBASe / 879
:MEASure:PERiod / 880
:MEASure:PHASe / 882
:MEASure:PPContrast / 884
:MEASure:PPULses / 885
:MEASure:PREShoot / 886
:MEASure:PTOP / 888
:MEASure:PWIDth / 889
:MEASure:QUALifier<M>:CONDition / 890
:MEASure:QUALifier<M>:SOURce / 891
:MEASure:QUALifier<M>:STATe / 892
:MEASure:RESults? / 893
:MEASure:RISetime / 896
:MEASure:RJDJ:ALL? / 898
:MEASure:RJDJ:APLength? / 900
:MEASure:RJDJ:BANDwidth / 901
:MEASure:RJDJ:BER / 902
:MEASure:RJDJ:CLOCk / 904
:MEASure:RJDJ:EDGE / 905
:MEASure:RJDJ:INTerpolate / 906
:MEASure:RJDJ:METHod / 907
:MEASure:RJDJ:MODe / 908
:MEASure:RJDJ:PAMThreshold / 909
:MEASure:RJDJ:PLENgth / 910
:MEASure:RJDJ:REPort / 911
:MEASure:RJDJ:RJ / 912
:MEASure:RJDJ:SCOPe:RJ / 913
:MEASure:RJDJ:SOURce / 914
:MEASure:RJDJ:STATe / 915
26 Keysight Infiniium Oscilloscopes Programmer's Guide
:MEASure:RJDJ:TJRJDJ? / 916
:MEASure:RJDJ:UNITs / 918
:MEASure:SCRatch / 919
:MEASure:SENDvalid / 920
:MEASure:SER / 921
:MEASure:SERPeracq / 922
:MEASure:SETuptime / 923
:MEASure:SLEWrate / 925
:MEASure:SOURce / 927
:MEASure:STATistics / 928
:MEASure:TEDGe / 929
:MEASure:THResholds:ABSolute / 930
:MEASure:THResholds:DISPlay / 931
:MEASure:THResholds:GENauto / 932
:MEASure:THResholds:GENeral:ABSolute / 933
:MEASure:THResholds:GENeral:HYSTeresis / 935
:MEASure:THResholds:GENeral:METHod / 937
:MEASure:THResholds:GENeral:PAMCustom / 939
:MEASure:THResholds:GENeral:PAMAutomatic / 941
:MEASure:THResholds:GENeral:PERCent / 943
:MEASure:THResholds:GENeral:TOPBase:ABSolute / 945
:MEASure:THResholds:GENeral:TOPBase:METHod / 947
:MEASure:THResholds:HYSTeresis / 948
:MEASure:THResholds:METHod / 950
:MEASure:THResholds:PERCent / 951
:MEASure:THResholds:RFALl:ABSolute / 952
:MEASure:THResholds:RFALl:METHod / 954
:MEASure:THResholds:RFALl:PAMAutomatic / 956
:MEASure:THResholds:RFALl:PERCent / 958
:MEASure:THResholds:RFALl:TOPBase:ABSolute / 960
:MEASure:THResholds:RFALl:TOPBase:METHod / 962
:MEASure:THResholds:SERial:ABSolute / 963
:MEASure:THResholds:SERial:HYSTeresis / 965
:MEASure:THResholds:SERial:METHod / 967
:MEASure:THResholds:SERial:PERCent / 968
:MEASure:THResholds:SERial:TOPBase:ABSolute / 970
:MEASure:THResholds:SERial:TOPBase:METHod / 972
:MEASure:THResholds:TOPBase:ABSolute / 973
:MEASure:THResholds:TOPBase:METHod / 974
:MEASure:TIEClock2 / 975
:MEASure:TIEData2 / 977
:MEASure:TIEFilter:SHAPe / 979
Keysight Infiniium Oscilloscopes Programmer's Guide 27
:MEASure:TIEFilter:STARt / 980
:MEASure:TIEFilter:STATe / 981
:MEASure:TIEFilter:STOP / 982
:MEASure:TIEFilter:TYPE / 983
:MEASure:TMAX / 984
:MEASure:TMIN / 985
:MEASure:TVOLt / 986
:MEASure:UITouijitter / 988
:MEASure:UNITinterval / 989
:MEASure:VAMPlitude / 991
:MEASure:VAVerage / 992
:MEASure:VBASe / 993
:MEASure:VLOWer / 994
:MEASure:VMAX / 995
:MEASure:VMIDdle / 996
:MEASure:VMIN / 997
:MEASure:VOVershoot / 998
:MEASure:VPP / 999
:MEASure:VPReshoot / 1000
:MEASure:VRMS / 1001
:MEASure:VTIMe / 1003
:MEASure:VTOP / 1004
:MEASure:VUPPer / 1005
:MEASure:WINDow / 1006
:MEASurement<N>:NAME / 1007
:MEASurement<N>:SOURce / 1008
29 Pod Commands
:POD<N>:DISPlay / 1010
:POD<N>:PSKew / 1011
:POD<N>:THReshold / 1012
30 Root Level Commands
:ADER? — Acquisition Done Event Register / 1017
:AER? — Arm Event Register / 1018
:ASTate? / 1019
:ATER? — Auto Trigger Event Register / 1020
:AUToscale / 1021
:AUToscale:CHANnels / 1022
:AUToscale:PLACement / 1023
:AUToscale:VERTical / 1024
28 Keysight Infiniium Oscilloscopes Programmer's Guide
:BEEP / 1025
:BLANk / 1026
:CDISplay / 1027
:DIGitize / 1028
:DISable DIGital / 1030
:ENABle DIGital / 1031
:MODel? / 1032
:MTEEnable — Mask Test Enable Register / 1033
:MTERegister? — Mask Test Event Register / 1034
:OPEEnable — Operation Status Enable / 1035
:OPERegister? — Operation Status Register / 1036
:OVLRegister? / 1037
:PDER? — Processing Done Event Register / 1038
:PRINt / 1039
:RECall:SETup / 1040
:RSTate? / 1041
:RUN / 1042
:SERial — Serial Number / 1043
:SINGle / 1044
:STATus? / 1045
:STOP / 1047
:STORe:JITTer / 1048
:STORe:SETup / 1049
:STORe:WAVeform / 1050
:TERegister? — Trigger Event Register / 1051
:VIEW / 1052
31 Serial Bus Commands
General :SBUS<N> Commands / 1054
:SBUS<N>[:DISPlay] / 1055
:SBUS<N>:MODE / 1056
:SBUS<N>:CAN Commands / 1057
:SBUS<N>:CAN:FDSPoint / 1058
:SBUS<N>:CAN:SAMPlepoint / 1059
:SBUS<N>:CAN:SIGNal:BAUDrate / 1060
:SBUS<N>:CAN:SIGNal:DEFinition / 1061
:SBUS<N>:CAN:SIGNal:FDBaudrate / 1062
:SBUS<N>:CAN:SOURce / 1063
:SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series) / 1064
:SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series) / 1067
Keysight Infiniium Oscilloscopes Programmer's Guide 29
:SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series, 9000H Series,
S-Series) / 1068
:SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series, S-Series) / 1070
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series) / 1071
:SBUS<N>:CAN:TYPE / 1072
:SBUS<N>:FLEXray Commands / 1073
:SBUS<N>:FLEXray:BAUDrate / 1074
:SBUS<N>:FLEXray:CHANnel / 1075
:SBUS<N>:FLEXray:SOURce / 1076
:SBUS<N>:FLEXray:TRIGger / 1077
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE / 1078
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase / 1079
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition / 1080
:SBUS<N>:FLEXray:TRIGger:FRAMe:ID / 1081
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE / 1082
:SBUS<N>:GENRaw Commands / 1083
:SBUS<N>:GENRaw:SOURce / 1084
:SBUS<N>:GENRaw:WSIZe / 1085
:SBUS<N>:HS Commands / 1086
:SBUS<N>:HS:DESCramble / 1087
:SBUS<N>:HS:FORMat / 1088
:SBUS<N>:HS:IDLE / 1089
:SBUS<N>:HS:SOURce<S> / 1090
:SBUS<N>:IIC Commands / 1091
:SBUS<N>:IIC:ASIZe / 1092
:SBUS<N>:IIC:SOURce:CLOCk / 1093
:SBUS<N>:IIC:SOURce:DATA / 1094
:SBUS<N>:IIC:TRIGger:PATTern:ADDRess (9000 Series, 9000H Series, S-Series) / 1095
:SBUS<N>:IIC:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series) / 1097
:SBUS<N>:IIC:TRIGger:TYPE (9000 Series, 9000H Series, S-Series) / 1098
:SBUS<N>:LIN Commands / 1100
:SBUS<N>:LIN:SAMPlepoint / 1101
:SBUS<N>:LIN:SIGNal:BAUDrate / 1102
:SBUS<N>:LIN:SOURce / 1103
:SBUS<N>:LIN:STANdard / 1104
:SBUS<N>:LIN:TRIGger / 1105
:SBUS<N>:LIN:TRIGger:ID / 1106
:SBUS<N>:LIN:TRIGger:PATTern:DATA / 1107
:SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth / 1108
30 Keysight Infiniium Oscilloscopes Programmer's Guide
:SBUS<N>:SPI Commands / 1109
:SBUS<N>:SPI:BITorder / 1110
:SBUS<N>:SPI:CLOCk:SLOPe / 1111
:SBUS<N>:SPI:CLOCk:TIMeout / 1112
:SBUS<N>:SPI:FRAMe:STATe / 1113
:SBUS<N>:SPI:SOURce:CLOCk / 1114
:SBUS<N>:SPI:SOURce:DATA / 1116
:SBUS<N>:SPI:SOURce:FRAMe / 1118
:SBUS<N>:SPI:SOURce:MISO / 1119
:SBUS<N>:SPI:SOURce:MOSI / 1120
:SBUS<N>:SPI:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series) / 1122
:SBUS<N>:SPI:TRIGger:PATTern:WIDTh (9000 Series, 9000H Series, S-Series) / 1124
:SBUS<N>:SPI:TRIGger:TYPE (9000 Series, 9000H Series, S-Series) / 1126
:SBUS<N>:SPI:TYPE / 1128
:SBUS<N>:SPI:WIDTh / 1129
32 Self-Test Commands
:SELFtest:CANCel / 1132
:SELFtest:SCOPETEST / 1133
33 Serial Data Equalization Commands
:SPRocessing:CTLequalizer:ACGain / 1137
:SPRocessing:CTLequalizer:DCGain / 1138
:SPRocessing:CTLequalizer:DISPlay / 1139
:SPRocessing:CTLequalizer:NUMPoles / 1140
:SPRocessing:CTLequalizer:P1 / 1141
:SPRocessing:CTLequalizer:P2 / 1142
:SPRocessing:CTLequalizer:P3 / 1143
:SPRocessing:CTLequalizer:RATe / 1144
:SPRocessing:CTLequalizer:SOURce / 1145
:SPRocessing:CTLequalizer:VERTical / 1146
:SPRocessing:CTLequalizer:VERTical:OFFSet / 1147
:SPRocessing:CTLequalizer:VERTical:RANGe / 1148
:SPRocessing:CTLequalizer:Z1 / 1149
:SPRocessing:CTLequalizer:Z2 / 1150
:SPRocessing:DFEQualizer:NTAPs / 1151
:SPRocessing:DFEQualizer:SOURce / 1152
:SPRocessing:DFEQualizer:STATe / 1153
:SPRocessing:DFEQualizer:TAP / 1154
:SPRocessing:DFEQualizer:TAP:AUTomatic / 1155
:SPRocessing:DFEQualizer:TAP:DELay / 1156
Keysight Infiniium Oscilloscopes Programmer's Guide 31
:SPRocessing:DFEQualizer:TAP:GAIN / 1157
:SPRocessing:DFEQualizer:TAP:LTARget / 1158
:SPRocessing:DFEQualizer:TAP:MAX / 1159
:SPRocessing:DFEQualizer:TAP:MIN / 1160
:SPRocessing:DFEQualizer:TAP:NORMalize / 1161
:SPRocessing:DFEQualizer:TAP:UTARget / 1162
:SPRocessing:DFEQualizer:TAP:WIDTh / 1163
:SPRocessing:FFEQualizer:BANDwidth / 1164
:SPRocessing:FFEQualizer:BWMode / 1165
:SPRocessing:FFEQualizer:DISPlay / 1166
:SPRocessing:FFEQualizer:NPRecursor / 1167
:SPRocessing:FFEQualizer:NTAPs / 1168
:SPRocessing:FFEQualizer:RATe / 1169
:SPRocessing:FFEQualizer:SOURce / 1170
:SPRocessing:FFEQualizer:TAP / 1171
:SPRocessing:FFEQualizer:TAP:AUTomatic / 1172
:SPRocessing:FFEQualizer:TAP:DELay / 1173
:SPRocessing:FFEQualizer:TAP:WIDTh / 1174
:SPRocessing:FFEQualizer:TDELay / 1175
:SPRocessing:FFEQualizer:TDMode / 1176
:SPRocessing:FFEQualizer:VERTical / 1177
:SPRocessing:FFEQualizer:VERTical:OFFSet / 1178
:SPRocessing:FFEQualizer:VERTical:RANGe / 1179
34 System Commands
:SYSTem:DATE / 1182
:SYSTem:DEBug / 1183
:SYSTem:DONTtabmeas / 1185
:SYSTem:DSP / 1186
:SYSTem:ERRor? / 1187
:SYSTem:GUI / 1188
:SYSTem:HEADer / 1189
:SYSTem:HLED (90000 Q-Series, S-Series, V-Series, Z-Series) / 1190
:SYSTem:LOCK / 1191
:SYSTem:LONGform / 1192
:SYSTem:MENU? / 1193
:SYSTem:PERSona / 1194
:SYSTem:PRESet / 1195
:SYSTem:SETup / 1197
:SYSTem:TIME / 1199
32 Keysight Infiniium Oscilloscopes Programmer's Guide
35 Time Base Commands
:TIMebase:POSition / 1202
:TIMebase:RANGe / 1203
:TIMebase:REFClock / 1204
:TIMebase:REFerence / 1205
:TIMebase:REFerence:PERCent / 1206
:TIMebase:ROLL:ENABLE / 1207
:TIMebase:SCALe / 1208
:TIMebase:VIEW / 1209
:TIMebase:WINDow:DELay / 1210
:TIMebase:WINDow:POSition / 1211
:TIMebase:WINDow:RANGe / 1212
:TIMebase:WINDow:SCALe / 1213
36 Trigger Commands
General Trigger Commands / 1217
:TRIGger:AND:ENABle / 1218
:TRIGger:AND:SOURce / 1219
:TRIGger:HOLDoff / 1220
:TRIGger:HOLDoff:MAX / 1221
:TRIGger:HOLDoff:MIN / 1222
:TRIGger:HOLDoff:MODE / 1223
:TRIGger:HTHReshold / 1224
:TRIGger:HYSTeresis / 1225
:TRIGger:LEVel / 1226
:TRIGger:LEVel:FIFTy / 1227
:TRIGger:LTHReshold / 1228
:TRIGger:MODE / 1229
:TRIGger:SWEep / 1231
Comm Trigger Commands / 1232
:TRIGger:COMM:BWIDth / 1233
:TRIGger:COMM:ENCode / 1234
:TRIGger:COMM:PATTern / 1235
:TRIGger:COMM:POLarity / 1236
:TRIGger:COMM:SOURce / 1237
Delay Trigger Commands / 1238
:TRIGger:DELay:ARM:SOURce / 1239
:TRIGger:DELay:ARM:SLOPe / 1240
:TRIGger:DELay:EDELay:COUNt / 1241
:TRIGger:DELay:EDELay:SOURce / 1242
Keysight Infiniium Oscilloscopes Programmer's Guide 33
:TRIGger:DELay:EDELay:SLOPe / 1243
:TRIGger:DELay:MODE / 1244
:TRIGger:DELay:TDELay:TIME / 1245
:TRIGger:DELay:TRIGger:SOURce / 1246
:TRIGger:DELay:TRIGger:SLOPe / 1247
Edge Trigger Commands / 1248
:TRIGger:EDGE:COUPling (9000 Series, 9000H Series, S-Series) / 1249
:TRIGger:EDGE:SLOPe / 1250
:TRIGger:EDGE:SOURce / 1251
GBSerial Trigger Commands / 1252
:TRIGger:GBSerial:CLOCk (V-Series with HWST Option) / 1253
:TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option) / 1254
:TRIGger:GBSerial:DRATe (V-Series with HWST Option) / 1256
:TRIGger:GBSerial:MODE (V-Series with HWST Option) / 1258
:TRIGger:GBSerial:PATTern (V-Series with HWST Option) / 1259
:TRIGger:GBSerial:POLarity (V-Series with HWST Option) / 1260
:TRIGger:GBSerial:PRBS (V-Series with HWST Option) / 1261
:TRIGger:GBSerial:SOURce (V-Series with HWST Option) / 1262
Glitch Trigger Commands / 1263
:TRIGger:GLITch:POLarity / 1264
:TRIGger:GLITch:SOURce / 1265
:TRIGger:GLITch:WIDTh / 1266
Pattern Trigger Commands / 1267
:TRIGger:PATTern:CONDition / 1268
:TRIGger:PATTern:LOGic / 1269
Pulse Width Trigger Commands / 1270
:TRIGger:PWIDth:DIRection / 1271
:TRIGger:PWIDth:POLarity / 1272
:TRIGger:PWIDth:SOURce / 1273
:TRIGger:PWIDth:TPOint / 1274
:TRIGger:PWIDth:WIDTh / 1275
Runt Trigger Commands / 1276
:TRIGger:RUNT:POLarity / 1277
:TRIGger:RUNT:QUALified / 1278
:TRIGger:RUNT:SOURce / 1279
:TRIGger:RUNT:TIME / 1280
Sequence Trigger Commands / 1281
:TRIGger:SEQuence:TERM1 (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 1282
34 Keysight Infiniium Oscilloscopes Programmer's Guide
:TRIGger:SEQuence:TERM2 (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 1283
:TRIGger:SEQuence:RESet:ENABle (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1284
:TRIGger:SEQuence:RESet:TYPE (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1285
:TRIGger:SEQuence:RESet:EVENt (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1286
:TRIGger:SEQuence:RESet:TIME (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1287
:TRIGger:SEQuence:WAIT:ENABle (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1288
:TRIGger:SEQuence:WAIT:TIME (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series) / 1289
Setup and Hold Trigger Commands / 1290
:TRIGger:SHOLd:CSOurce / 1291
:TRIGger:SHOLd:CSOurce:EDGE / 1292
:TRIGger:SHOLd:DSOurce / 1293
:TRIGger:SHOLd:HoldTIMe (HTIMe) / 1294
:TRIGger:SHOLd:MODE / 1295
:TRIGger:SHOLd:SetupTIMe / 1296
State Trigger Commands / 1297
:TRIGger:STATe:CLOCk / 1298
:TRIGger:STATe:LOGic / 1299
:TRIGger:STATe:LTYPe / 1300
:TRIGger:STATe:SLOPe / 1301
Timeout Trigger Commands / 1302
:TRIGger:TIMeout:CONDition / 1303
:TRIGger:TIMeout:SOURce / 1304
:TRIGger:TIMeout:TIME / 1305
Transition Trigger Commands / 1306
:TRIGger:TRANsition:DIRection / 1307
:TRIGger:TRANsition:SOURce / 1308
:TRIGger:TRANsition:TIME / 1309
:TRIGger:TRANsition:TYPE / 1310
TV Trigger Commands / 1311
:TRIGger:TV:LINE / 1312
:TRIGger:TV:MODE / 1313
:TRIGger:TV:POLarity / 1314
:TRIGger:TV:SOURce / 1315
Keysight Infiniium Oscilloscopes Programmer's Guide 35
:TRIGger:TV:STANdard / 1316
:TRIGger:TV:UDTV:ENUMber / 1317
:TRIGger:TV:UDTV:HSYNc / 1318
:TRIGger:TV:UDTV:HTIMe / 1319
:TRIGger:TV:UDTV:PGTHan / 1320
:TRIGger:TV:UDTV:POLarity / 1321
Window Trigger Commands / 1322
:TRIGger:WINDow:CONDition / 1323
:TRIGger:WINDow:SOURce / 1324
:TRIGger:WINDow:TIME / 1325
:TRIGger:WINDow:TPOint / 1326
Advanced Comm Trigger Commands / 1327
:TRIGger:ADVanced:COMM:BWIDth / 1328
:TRIGger:ADVanced:COMM:ENCode / 1329
:TRIGger:ADVanced:COMM:LEVel / 1330
:TRIGger:ADVanced:COMM:PATTern / 1331
:TRIGger:ADVanced:COMM:POLarity / 1332
:TRIGger:ADVanced:COMM:SOURce / 1333
Advanced Pattern Trigger Commands / 1334
:TRIGger:ADVanced:PATTern:CONDition / 1336
:TRIGger:ADVanced:PATTern:LOGic / 1337
:TRIGger:ADVanced:PATTern:THReshold:LEVel / 1338
:TRIGger:ADVanced:PATTern:THReshold:POD<N> / 1339
Advanced State Trigger Commands / 1340
:TRIGger:ADVanced:STATe:CLOCk / 1341
:TRIGger:ADVanced:STATe:LOGic / 1342
:TRIGger:ADVanced:STATe:LTYPe / 1343
:TRIGger:ADVanced:STATe:SLOPe / 1344
:TRIGger:ADVanced:STATe:THReshold:LEVel / 1345
Advanced Delay By Event Trigger Commands / 1346
:TRIGger:ADVanced:DELay:EDLY:ARM:SOURce / 1348
:TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe / 1349
:TRIGger:ADVanced:DELay:EDLY:EVENt:DELay / 1350
:TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce / 1351
:TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe / 1352
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce / 1353
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe / 1354
Advanced Delay By Time Trigger Commands / 1355
:TRIGger:ADVanced:DELay:TDLY:ARM:SOURce / 1357
36 Keysight Infiniium Oscilloscopes Programmer's Guide
:TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe / 1358
:TRIGger:ADVanced:DELay:TDLY:DELay / 1359
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce / 1360
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe / 1361
Advanced Standard TV Trigger Commands / 1362
:TRIGger:ADVanced:TV:STV:FIELd / 1364
:TRIGger:ADVanced:TV:STV:LINE / 1365
:TRIGger:ADVanced:TV:STV:SOURce / 1366
:TRIGger:ADVanced:TV:STV:SPOLarity / 1367
Advanced User Defined TV Mode and Commands / 1368
:TRIGger:ADVanced:TV:UDTV:ENUMber / 1370
:TRIGger:ADVanced:TV:UDTV:PGTHan / 1371
:TRIGger:ADVanced:TV:UDTV:POLarity / 1372
:TRIGger:ADVanced:TV:UDTV:SOURce / 1373
Advanced Violation Trigger Modes / 1374
:TRIGger:ADVanced:VIOLation:MODE / 1375
Advanced Pulse Width Violation Trigger Commands / 1376
:TRIGger:ADVanced:VIOLation:PWIDth:DIRection / 1378
:TRIGger:ADVanced:VIOLation:PWIDth:POLarity / 1379
:TRIGger:ADVanced:VIOLation:PWIDth:SOURce / 1380
:TRIGger:ADVanced:VIOLation:PWIDth:WIDTh / 1381
Advanced Setup Violation Trigger Commands / 1382
:TRIGger:ADVanced:VIOLation:SETup:MODE / 1385
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce / 1386
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel / 1387
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE / 1388
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce / 1389
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold / 1390
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold / 1391
:TRIGger:ADVanced:VIOLation:SETup:SETup:TIME / 1392
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce / 1393
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel / 1394
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE / 1395
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce / 1396
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold / 1397
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold / 1398
:TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME / 1399
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce / 1400
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel / 1401
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE / 1402
Keysight Infiniium Oscilloscopes Programmer's Guide 37
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce / 1403
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold / 1404
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold / 1405
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe (STIMe) / 1406
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe (HTIMe) / 1407
Advanced Transition Violation Trigger Commands / 1408
:TRIGger:ADVanced:VIOLation:TRANsition / 1409
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce / 1410
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold / 1411
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold / 1412
:TRIGger:ADVanced:VIOLation:TRANsition:TYPE / 1413
37 Waveform Commands
:WAVeform:BANDpass? / 1418
:WAVeform:BYTeorder / 1419
:WAVeform:CGRade:HEIGht? / 1420
:WAVeform:CGRade:WIDTh? / 1421
:WAVeform:COMPlete? / 1422
:WAVeform:COUNt? / 1423
:WAVeform:COUPling? / 1424
:WAVeform:DATA? / 1425
:WAVeform:FORMat / 1447
:WAVeform:POINts? / 1450
:WAVeform:PREamble? / 1451
:WAVeform:SEGMented:ALL / 1455
:WAVeform:SEGMented:COUNt? / 1456
:WAVeform:SEGMented:TTAG? / 1457
:WAVeform:SEGMented:XLISt? / 1458
:WAVeform:SOURce / 1459
:WAVeform:STReaming / 1461
:WAVeform:TYPE? / 1462
:WAVeform:VIEW / 1463
:WAVeform:XDISplay? / 1466
:WAVeform:XINCrement? / 1467
:WAVeform:XORigin? / 1468
:WAVeform:XRANge? / 1469
:WAVeform:XREFerence? / 1470
:WAVeform:XUNits? / 1471
:WAVeform:YDISplay? / 1472
:WAVeform:YINCrement? / 1473
:WAVeform:YORigin? / 1474
38 Keysight Infiniium Oscilloscopes Programmer's Guide
:WAVeform:YRANge? / 1475
:WAVeform:YREFerence? / 1476
:WAVeform:YUNits? / 1477
38 Waveform Memory Commands
:WMEMory:TIETimebase / 1480
:WMEMory<R>:CLEar / 1481
:WMEMory<R>:DISPlay / 1482
:WMEMory<R>:LOAD / 1483
:WMEMory<R>:SAVE / 1484
:WMEMory<R>:SEGMented:COUNt? / 1485
:WMEMory<R>:SEGMented:INDex / 1486
:WMEMory<R>:SEGMented:PLAY / 1487
:WMEMory<R>:XOFFset / 1488
:WMEMory<R>:XRANge / 1489
:WMEMory<R>:YOFFset / 1490
:WMEMory<R>:YRANge / 1491
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:ENABle / 1495
:XTALk:PAADeskew / 1497
:XTALk:PAIFilter / 1498
:XTALk:PAISi / 1499
:XTALk:PASLimit / 1500
:XTALk:PAXFilter / 1501
:XTALk:PAXSi / 1502
:XTALk:PJADeskew / 1503
:XTALk:PJIFilter / 1504
:XTALk:PJISi / 1505
:XTALk:PJSLimit / 1506
:XTALk:PJXFilter / 1507
:XTALk:PJXSi / 1508
:XTALk:RESults? / 1509
:XTALk:SAADeskew / 1511
:XTALk:SAIFilter / 1512
:XTALk:SAISi / 1513
:XTALk:SASLimit / 1514
:XTALk:SAXFilter / 1515
:XTALk:SAXSi / 1516
:XTALk<X>:AENable<X> / 1517
:XTALk<X>:ENABle / 1518
Keysight Infiniium Oscilloscopes Programmer's Guide 39
:XTALk<X>:IAGGressor / 1519
:XTALk<X>:IVICtim / 1520
:XTALk<X>:PAUTo / 1521
:XTALk<X>:PLENgth / 1522
:XTALk<X>:PTYPe / 1523
:XTALk<X>:RIDeal / 1524
:XTALk<X>:RISI / 1525
:XTALk<X>:ROTHer / 1526
:XTALk<X>:SOURce / 1527
:XTALk<X>:STYPe / 1528
40 Obsolete and Discontinued Commands
:ANALyze:CLOCk:METHod:PAM:B03 / 1535
:ANALyze:CLOCk:METHod:PAM:B12 / 1537
:ANALyze:CLOCk:METHod:PAM:NONSymmetric / 1539
:DISPlay:COLumn / 1541
:DISPlay:LINE / 1542
:DISPlay:ROW / 1543
:DISPlay:STRing / 1544
:DISPlay:TAB / 1545
:DISPlay:TEXT / 1546
:HOSTed:CALibrate:ALIGn (MultiScope) / 1547
:MEASure:CLOCk / 1548
:MEASure:CLOCk:METHod / 1549
:MEASure:CLOCk:METHod (deprecated) / 1551
:MEASure:CLOCk:METHod:ALIGn / 1553
:MEASure:CLOCk:METHod:DEEMphasis / 1555
:MEASure:CLOCk:METHod:EDGE / 1556
:MEASure:CLOCk:METHod:JTF / 1558
:MEASure:CLOCk:METHod:OJTF / 1560
:MEASure:CLOCk:METHod:PLLTrack / 1562
:MEASure:CLOCk:METHod:SOURce / 1563
:MEASure:CLOCk:VERTical / 1564
:MEASure:CLOCk:VERTical:OFFSet / 1565
:MEASure:CLOCk:VERTical:RANGe / 1566
:MEASure:DDPWS — Data Dependent Pulse Width Shrinkage / 1567
:MEASure:FFT:PEAK1 / 1569
:MEASure:FFT:PEAK2 / 1570
:MEASure:FFT:THReshold / 1571
:MEASure:JITTer:STATistics / 1572
:MEASure:TIEData / 1573
40 Keysight Infiniium Oscilloscopes Programmer's Guide
:MTESt:FOLDing:COUNt? / 1575
:SPRocessing:CTLequalizer:ZERo / 1577
41 Error Messages
Error Queue / 1580
Error Numbers / 1581
Command Error / 1582
Execution Error / 1583
Device- or Oscilloscope-Specific Error / 1584
Query Error / 1585
List of Error Messages / 1586
42 Sample Programs
VISA COM Examples / 1592
VISA COM Example in Visual Basic / 1592
VISA COM Example in C# / 1603
VISA COM Example in Visual Basic .NET / 1613
VISA COM Example in Python / 1622
VISA Examples / 1630
VISA Example in C / 1630
VISA Example in Visual Basic / 1639
VISA Example in C# / 1649
VISA Example in Visual Basic .NET / 1661
VISA Example in Python (PyVISA 1.5 and older) / 1673
VISA Example in Python (PyVISA 1.6 and newer) / 1679
SICL Examples / 1687
SICL Example in C / 1687
SICL Example in Visual Basic / 1696
SCPI.NET Examples / 1706
SCPI.NET Example in C# / 1706
SCPI.NET Example in Visual Basic .NET / 1713
SCPI.NET Example in IronPython / 1720
43 Reference
HDF5 Example / 1728
CSV and TSV Header Format / 1729
42 Keysight Infiniium Oscilloscopes Programmer's Guide
43
Keysight Infiniium Oscilloscopes
Programmer's Guide
1 What's New
What's New in Version 6.20 / 44
What's New in Version 6.10 / 47
What's New in Version 6.00 / 49
What's New in Version 5.75 / 53
What's New in Version 5.70 / 54
What's New in Version 5.60 / 57
What's New in Version 5.52 / 60
What's New in Version 5.51 / 61
What's New in Version 5.50 / 62
What's New in Version 5.30 / 68
What's New in Version 5.20 / 70
What's New in Version 5.10 / 72
What's New in Version 5.00 / 73
What's New in Version 4.60 / 77
What's New in Version 4.50 / 78
What's New in Version 4.30 / 79
What's New in Version 4.20 / 80
What's New in Version 4.10 / 81
What's New in Version 4.00 / 82
What's New in Version 3.50 / 83
What's New in Version 3.20 / 85
What's New in Version 3.11 / 86
What's New in Version 3.10 / 87
44 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 6.20
New command descriptions for Version 6.20 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze:CLOCk:METHod:IDLE
(see page 255)
This command lets you specify the number of additional clocks
output by the clock recovery PLL for situations where valid data
can occur during electrical idles.
:ANALyze:SIGNal:PATTern:CLEa
r (see page 278)
Clears a loaded pattern file.
:ANALyze:SIGNal:PATTern:LOA
D (see page 279)
Loads a pattern file from which pattern lengths and patterns are
determined.
:ANALyze:SIGNal:PATTern:PLE
Ngth (see page 280)
Specifies a pattern length or that the oscilloscope determine the
pattern length automatically.
:ANALyze:SIGNal:PATTern:SMA
P (see page 281)
For PAM-4 signal types, specifies whether the symbol map is
gray-coded or uncoded.
:MEASure:JITTer:SPECtrum:RE
Solution? (see page 826)
This query returns the resolution bandwidth of the measurement
analysis spectrum FFT.
:MEASure:PAM:EOJ (see
page 863)
When the signal type is PAM-4, this command installs a
PRBS13Q even-odd jitter (EOJ) measurement into the user
interface's measurement Results pane. The query returns the
measured PRBS13Q even-odd jitter (EOJ) value.
:MEASure:PAM:J4U (see
page 870)
When the signal type is PAM-4, this command installs a
PRBS13Q J4u measurement into the user interface's
measurement Results pane. The query returns the measured
PRBS13Q J4u value.
:MEASure:PAM:JRMS (see
page 871)
When the signal type is PAM-4, this command installs a
PRBS13Q Jrms measurement into the user interface's
measurement Results pane. The query returns the measured
PRBS13Q Jrms value.
:SBUS<N>:GENRaw:SOURce
(see page 1084)
Sets the source for the Generic Raw signal.
:SBUS<N>:GENRaw:WSIZe
(see page 1085)
Sets the Generic Raw protocol decode word size.
:SPRocessing:DFEQualizer:TAP:
NORMalize (see page 1161)
Specifies whether the Normalize DC Gain setting is ON or OFF.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 45
Changed
Commands Command Description
:ACQuire:HRESolution (see
page 220)
On S-Series oscilloscopes only, the BITF11, BITF12, BITF13,
BITF14, BITF15, and BITF16 options have been added to force the
specified number of bits of vertical resolution.
:ANALyze:SIGNal:TYPE (see
page 282)
NRZ has been added as a signal type. With this selection, you are
able to specify pattern lengths and patterns so that you can make
BER measurements on NRZ signals (:MEASure:BER and
:MEASure:BERPeracq).
:BUS:B<N>:TYPE (see
page 288)
Added support for new PCI4 (PCI Express Gen4) and SENT (Single
Edge Nibble Transmission) protocols.
:MARKer:MODE (see
page 651)
Now returns ICON when Track RF markers are used???.
:MEASure:BER (see page 747) Now works with the NRZ signal type (as well as the PAM signal
type). Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:BERPeracq (see
page 748)
Now works with the NRZ signal type (as well as the PAM signal
type). Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:FFT:DFRequency
(see page 792)
The command and query now include peak number and level
parameters.
:MEASure:FFT:DMAGnitude
(see page 794)
The command and query now include peak number and level
parameters.
:MEASure:FFT:FREQuency (see
page 796)
The command and query now include peak number and level
parameters.
:MEASure:FFT:MAGNitude (see
page 798)
The command and query now include peak number and level
parameters.
:MEASure:RESults? (see
page 893)
There is now an AORDered option for returning the results
according to the order in which measurements were added
(ignoring any front panel graphical user interface (GUI) reordering)
or a GORDered option for returning the results according to the
order they appear on the display (even after front panel GUI
reordering). Not specifying any option is the same as using the
AORDered option.
:MEASure:SER (see page 921) Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
:MEASure:SERPeracq (see
page 922)
Pattern length parameters have been removed from this
command because pattern lengths and patterns are now specified
using the :ANALyze:SIGNal:PATTern:* commands.
46 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Obsolete
Commands
Discontinued
Commands
:SBUS<N>:MODE (see
page 1056)
Added the GENRaw mode option.
:SYSTem:GUI (see page 1188) The LOCK parameter has been added and the query return value is
now a string (ON, OFF, or LOCK) instead of the previous 1 or 0
return values.
:TRIGger:ADVanced:PATTern:C
ONDition (see page 1336)
The OR parameter has been added.
:TRIGger:PATTern:CONDition
(see page 1268)
The OR parameter has been added.
:WAVeform:SEGMented:COUNt
? (see page 1456)
The signal that is queried for the count is the signal set by the
:WAVeform:SOURce command. If you query the COUNt while the
segmented acquisition is occurring, it will return the number of
segments acquired so far.
:WAVeform:SEGMented:TTAG?
(see page 1456)
The signal that is queried for the time tag is the signal set by the
:WAVeform:SOURce command.
Command Description
Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:FFT:PEAK1 (see
page 1569)
:MEASure:FFT:DFRequency
(see page 792)
:MEASure:FFT:DMAGnitude
(see page 794)
Peak numbers and threshold
levels are now specified in the
:MEASure:FFT:DFRequency and
:MEASure:FFT:DMAGnitude
command/query parameters.
:MEASure:FFT:PEAK2 (see
page 1570)
:MEASure:FFT:THReshold (see
page 1571)
Discontinued Command Current Command Equivalent Comments
:SPRocessing:FFEQualizer:TAP:
PLENgth
:ANALyze:SIGNal:PATTern:* Pattern lengths and patterns
are now specified using the
:ANALyze:SIGNal:PATTern:*
commands.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 47
What's New in Version 6.10
New command descriptions for Version 6.10 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze:CLOCk:METHod:SKE
W (see page 263)
When clock recovery is being performed on a PAM-4 signal type,
this command can be used to to center the eye opening at the
clock locations by shifting the clocks relative to the data.
:DISPlay:JITTer:THReshold (see
page 488)
When the ":MEASure:RJDJ:PAMThreshold ALL" command
specifies that all PAM-4 thresholds are measured, this command
specifies whether a certain threshold level or ALL threshold levels
should be displayed in the jitter graphs.
:DISPlay:NOISe:LEVel (see
page 492)
Specifies which of the noise graphs to display.
:HOSTed:NCONnected? (see
page 609)
Returns a number that indicates whether in hosted mode, and if in
hosted mode, the number of hosted oscilloscope frames
connected.
:MARKer:DELTa (see
page 649)
Turns on or off the check box to display deltas on the screen (as
opposed to the deltas in the results area and remote queries).
:MEASure:PAM:EYE:ELMethod
(see page 866)
Selects the basis for determining the location of an eye's center
on the waveform.
:MEASure:PAM:EYE:ESTiming
(see page 867)
Configures the timing for sampling the data.
:MEASure:PAM:EYE:PPERcent
(see page 868)
Defines the timespan over which an eye's amplitude level is
measured.
:MEASure:PAM:EYE:TIME:LTDefi
nition (see page 869)
Specifies the method used to locate the time at which to measure
an eye's level.
:MEASure:HISTogram:FWHM
(see page 804)
The command installs a Full-Width at Half Max histogram
measurement into the user interface's measurement Results
pane. The query returns the measured histogram Full-Width at
Half Max value.
:MEASure:RJDJ:PAMThreshold
(see page 909)
Specifies which PAM thresholds to measure for PAM-4 signals.
:MEASure:THResholds:DISPlay
(see page 931)
When the source is a PAM-4 signal type, this command turns on
or off the display of the PAM-4 measurement thresholds.
48 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Changed
Commands
Obsolete
Commands
Command Description
:ANALyze:SIGNal:TYPE (see
page 282)
CPHY has been added as a signal type.
:BUS:B<N>:TYPE (see
page 288)
Added support for new CPHY (MIPI C-PHY), BRR (BroadR-Reach),
SPW (SpaceWire), and MAN (Manchester) protocols.
:CALibrate:OUTPut (see
page 302)
Added the PRBS7, PRBS15, and PRBS31 options for the Infiniium
90000 X-Series, V-Series, 90000 Q-Series, and Z-Series
oscilloscopes.
:CHANnel<N>:PROBe:EADapter
(see page 352)
Added the CUR0002VA and CUR002VA options for use with the
E2697A or N5449A high impedance adapters.
:DISK:SAVE:WAVeform (see
page 458)
Added the MATlab format for saving waveforms to MATLAB (.mat)
data format files.
:MEASure:RJDJ:ALL? (see
page 898)
Jitter analysis is supported on PAM-4 signals. When the
":MEASure:RJDJ:PAMThreshold ALL" command setting has been
made, the query results include values for multiple threshold
levels; otherwise, the query results are for the specific threshold
level specified in the :MEASure:RJDJ:PAMThreshold command.
:MEASure:RJDJ:TJRJDJ? (see
page 916)
Jitter analysis is supported on PAM-4 signals. When the
":MEASure:RJDJ:PAMThreshold ALL" command setting has been
made, the query results include values for multiple threshold
levels; otherwise, the query results are for the specific threshold
level specified in the :MEASure:RJDJ:PAMThreshold command.
:MEASure:THResholds:GENeral
:PAMCustom (see page 939)
Added an optional <hysteresis> value at the end of the command
parameters.
Obsolete Command Current Command Equivalent Behavior Differences
:ANALyze:CLOCk:METHod:PAM:
B03 (see page 1535)
None The command works and as
before, but changing its default
(ON) is not necessary.
:ANALyze:CLOCk:METHod:PAM:
B12 (see page 1537)
None The command works and as
before, but changing its default
(ON) is not necessary.
:ANALyze:CLOCk:METHod:PAM:
NONSymmetric (see
page 1539)
None The command works and as
before, but changing its default
(OFF) is not necessary.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 49
What's New in Version 6.00
New command descriptions for Version 6.00 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:SEGMented:AUToplay
(see page 232)
Specifies whether segments are automatically played after a
segmented memory acquisition.
:CALibrate:OUTPut:AUX (see
page 304)
Enables or disables signal output on the oscilloscope's Aux Out
connector.
:CALibrate:OUTPut:AUX:RTIMe
(see page 305)
Specifies the speed of the Aux Out signal's rise time.
:CALibrate:OUTPut:CAL (see
page 306)
Enables or disables signal output on the oscilloscope's Cal Out
connector.
:CHANnel<N>:SIMulation:AMP
Litude (see page 379)
Specifies the amplitude of the simulated waveform.
:CHANnel<N>:SIMulation:DATA
:LENGth (see page 380)
Specifies the length exponent of the simulated waveform's PRBS
sequence (for the DATA simulated waveform type).
:CHANnel<N>:SIMulation:DATA
:ODD (see page 381)
Sets the PRBS "odd" control (for the DATA simulated waveform
type).
:CHANnel<N>:SIMulation:DATA
:PAM (see page 382)
Specifies the number of symbols (or levels) in the PAM signal
(when the DATA simulated waveform type is selected and the PAM
signal type is selected).
:CHANnel<N>:SIMulation:DATA
:RESeed (see page 383)
Specifies whether to reseed the PRBS generator(s) (for the DATA
simulated waveform type).
:CHANnel<N>:SIMulation:DATA
:SELection (see page 384)
Specifies whether the simulated PRBS waveform is a Non Return
to Zero (NRZ) signal or a Pulse Amplitude Modulation (PAM)
signal (for the DATA simulated waveform type).
:CHANnel<N>:SIMulation:DRAT
e (see page 385)
Specifies the data rate of the simulated waveform (for the DATA
simulated waveform type).
:CHANnel<N>:SIMulation:FILTe
r:ISIM:ADDRess (see
page 386)
Specifies the path of an InfiniiSim transfer function file (when an
InfiniiiSim filter is selected).
:CHANnel<N>:SIMulation:FILTe
r:ISIM:PEXTraction (see
page 387)
Specifies the port extraction method for a 4-port InfiniiSim
transfer function file.
:CHANnel<N>:SIMulation:FILTe
r:SELection (see page 388)
Sets the filter type.
:CHANnel<N>:SIMulation:FLOa
d:ADDRess (see page 389)
Specifies the full path string of a .wfm file to use as the simulated
waveform (for the FILE simulated waveform type).
50 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
:CHANnel<N>:SIMulation:FLOa
d:LOOP (see page 390)
Specifies whether the simulated waveform should repeat from the
beginning of the file when reaching the end of the file (for the FILE
simulated waveform type).
:CHANnel<N>:SIMulation:FREQ
uency (see page 391)
Specifies the frequency of the simulated waveform (for the CLOCk
or FUNCtion simulated waveform types).
:CHANnel<N>:SIMulation:FUN
Ction:SELection (see
page 392)
Specifies the simulated waveform function type (for the FUNCtion
simulated waveform type).
:CHANnel<N>:SIMulation:FUN
Ction:SQUare:DCYCle (see
page 393)
Specifies the square wave's duty cycle high time percent value
(when the FUNCtion simulated waveform type is selected and the
SQUare function is selected).
:CHANnel<N>:SIMulation:FUN
Ction:SQUare:FTIMe (see
page 394)
Specifies the square wave's high-to-low transition time (when the
FUNCtion simulated waveform type is selected and the SQUare
function is selected).
:CHANnel<N>:SIMulation:FUN
Ction:SQUare:RTIMe (see
page 395)
Specifies the square wave's low-to-high transition time (when the
FUNCtion simulated waveform type is selected and the SQUare
function is selected).
:CHANnel<N>:SIMulation:JITTe
r (see page 396)
Turns all simulated waveform jitter off or on while saving the
values.
:CHANnel<N>:SIMulation:JITTe
r:ABUJ (see page 397)
Specifies the amount of Aperiodic Bounded Uniform Jitter (ABUJ)
to apply to the simulated waveform.
:CHANnel<N>:SIMulation:JITTe
r:PERiodic<M>:ENABle (see
page 398)
Turns the periodic jitter for the simulated waveform on or off.
:CHANnel<N>:SIMulation:JITTe
r:PERiodic<M>:FREQuency
(see page 399)
Specifies the frequency of the periodic jitter applied to the
simulated waveform.
:CHANnel<N>:SIMulation:JITTe
r:PERiodic<M>:MAGNitude
(see page 400)
Specifies the magnitude of the periodic jitter applied to the
simulated waveform.
:CHANnel<N>:SIMulation:JITTe
r:PERiodic<M>:SHAPe (see
page 401)
Specifies the shape of the periodic jitter applied to the simulated
waveform.
:CHANnel<N>:SIMulation:JITTe
r:RANDom (see page 402)
Specifies the standard deviation of random jitter to apply.
:CHANnel<N>:SIMulation:NOIS
e (see page 403)
Turns all simulated waveform noise off or on while saving the
values.
:CHANnel<N>:SIMulation:NOIS
e:BWLimit (see page 404)
Turns the noise filter on or off.
Command Description
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 51
:CHANnel<N>:SIMulation:NOIS
e:PERiodic<M>:ENABle (see
page 405)
Turns the periodic noise for the simulated waveform on or off.
:CHANnel<N>:SIMulation:NOIS
e:PERiodic<M>:FREQuency
(see page 406)
Specifies the frequency of the periodic noise applied to the
simulated waveform.
:CHANnel<N>:SIMulation:NOIS
e:PERiodic<M>:MAGNitude
(see page 407)
Specifies the magnitude of the periodic noise applied to the
simulated waveform.
:CHANnel<N>:SIMulation:NOIS
e:PERiodic<M>:SHAPe (see
page 408)
Specifies the shape of the periodic noise applied to the simulated
waveform.
:CHANnel<N>:SIMulation:NOIS
e:RANDom (see page 409)
Specifies the standard deviation of random noise to apply.
:CHANnel<N>:SIMulation:OFFS
et (see page 410)
Specifies the offset of the simulated waveform.
:CHANnel<N>:SIMulation:WAV
eform (see page 411)
Sets the simulated waveform type.
:FUNCtion<F>:MLOG (see
page 551)
Adds a function waveform that is a scrolling record of
measurement values over time.
:MEASure:THResholds:GENaut
o (see page 932)
Automatically sets the general "Custom: thresholds +/-
hysteresis" when thresholds apply to individual waveforms.
:MTESt:COUNt:SUI? (see
page 686)
Returns the total number of samples that have been mask tested
in the UI bit time.
:SYSTem:HLED (see
page 1190)
On Infiniium 90000 Q-Series, S-Series, V-Series, and Z-Series
oscilloscopes, this command turns the Turn off Front Panel LEDs
user preference on or off.
:WAVeform:CGRade:HEIGht?
(see page 1420)
Returns the color grade (pixel) database data height (when the
CGRade waveform view is selected).
:WAVeform:CGRade:WIDTh?
(see page 1421)
Returns the color grade (pixel) database data width (when the
CGRade waveform view is selected).
:WMEMory<R>:SEGMented:CO
UNt? (see page 1485)
When segmented memory acquisitions are saved to waveform
memory, this query returns the number of segments in the
waveform memory.
:WMEMory<R>:SEGMented:IN
Dex (see page 1486)
When segmented memory acquisitions are saved to waveform
memory, this command command sets the index number for the
segment that you want to display on screen.
:WMEMory<R>:SEGMented:PL
AY (see page 1487)
When segmented memory acquisitions are saved to waveform
memory, this command command plays (or stops) the segments.
Command Description
52 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Changed
Commands
Discontinued
Commands
Command Description
:ANALyze:CLOCk:METHod:JTF
(see page 256)
There are now Third Order PLL options.
:ANALyze:CLOCk:METHod:OJTF
(see page 259)
There are now Third Order PLL options.
:BUS:B<N>:TYPE (see
page 288)
Added support for new SPMI and GENRaw protocols.
:FUNCtion<F>:FFT:DETector:TY
PE (see page 519)
The RMS detector type has been added.
:FUNCtion<F>:HORizontal:POSi
tion (see page 537)
For functions where the horizontal position cannot be adjusted,
this command now gives a -221,"Settings conflict" instead of
being accepted without effect.
:FUNCtion<F>:HORizontal:RAN
Ge (see page 539)
For functions where the horizontal position cannot be adjusted,
this command now gives a -221,"Settings conflict" instead of
being accepted without effect.
:HOSTed:FOLLower<N>:CONFi
gure (see page 602)
Added the ability to configure a "Simulated Instrument" to set up
simulated waveforms.
:MTESt:SOURce (see
page 729)
Waveform memories can now be used as a source for mask
testing.
:WAVeform:FORMat (see
page 1447)
There is now a FLOat option for getting color grade (pixel)
database data in single-precision floating-point format (when the
CGRade waveform view is selected).
:WAVeform:VIEW (see
page 1463)
There is now a CGRade option for getting color grade (pixel)
database data.
Discontinued Command Current Command Equivalent Comments
:MEASure:THResholds:RFALl:H
YSTeresis
None Rise/fall thresholds are no
longer set using hysteresis and
level values.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 53
What's New in Version 5.75
New command descriptions for Version 5.75 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:SPRocessing:CTLequalizer:Z1
(see page 1149)
Specifies the first zero for 3-pole CTLE.
:SPRocessing:CTLequalizer:Z2
(see page 1150)
Specifies the second zero for 3-pole CTLE.
Command Description
:SPRocessing:CTLequalizer:NU
MPoles (see page 1140)
Now that you can specify up to two zeros for a 3-pole CTLE, the
previous POLE3 option has been replaced by P3Z1 and P3Z2.
:MEASure:RJDJ:BER (see
page 902)
You can now set J4 and J5 jitter BER levels.
54 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 5.70
New command descriptions for Version 5.70 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:SEGMented:PRATe
(see page 236)
Specifies the segmented memory navigation play rate.
:CHANnel<N>:INVert (see
page 328)
Enables or disables the invert setting for a channel.
:CHANnel<N>:ISIM:BWLimit:TY
PE (see page 334)
Specifies a channel's bandwidth limit filter response.
:CHANnel<N>:PROBe:INFO?
(see page 366)
Returns a comma-separated list of probe information.
:DISPlay:PROPortion:RESults
(see page 496)
Specifies the size of the Results pane in the oscilloscope display.
:FUNCtion<F>:FFT:DETector:PO
INts (see page 518)
When a detector is used for the FFT magnitude function, this
command specifies the maximum number of points (buckets) that
detectors should decimate to.
:FUNCtion<F>:FFT:DETector:TY
PE (see page 519)
Specifies whether a detector is used for the FFT magnitude
function.
:FUNCtion<F>:FFT:SPAN (see
page 524)
Sets the frequency span for the FFT function.
:FUNCtion<F>:FFT:STOP (see
page 525)
Sets the stop frequency for the FFT function.
:FUNCtion<F>:FFT:VUNits (see
page 527)
Specifies the vertical units for the FFT magnitude function.
:HOSTed:PERiodic (see
page 610)
Turns periodic drift correction on or off.
:LTESt:ADDStats (see
page 634)
Enables or disables the limit test "statistics on passing
measurements only" option.
:LTESt:RUMode:SOFailure (see
page 640)
Enables or disables the limit test "stop on failure" option.
:MEASure:CGRade:OLEVel (see
page 762)
The command installs an Eye One Level measurement into the
user interface's measurement Results pane. The query returns the
measured Eye One Level.
:MEASure:CGRade:ZLEVel (see
page 764)
The command installs an Eye Zero Level measurement into the
user interface's measurement Results pane. The query returns the
measured Eye Zero Level.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 55
:MEASure:ERATio (see
page 786)
The command installs an Extinction Ratio measurement into the
user interface's measurement Results pane. The query returns the
measured Extinction Ratio.
:MEASure:FFT:CPOWer (see
page 791)
The command installs a channel power measurement into the
user interface's measurement Results pane. The query returns the
measured channel power.
:MEASure:FFT:OBW (see
page 800)
The command installs an occupied bandwidth measurement into
the user interface's measurement Results pane. The query returns
the measured occupied bandwidth.
:MEASure:FFT:PSD (see
page 801)
The command installs a power spectral density measurement into
the user interface's measurement Results pane. The query returns
the measured power spectral density.
:MEASure:OMAMplitude (see
page 857)
The command installs an Optical Modulation Amplitude (OMA)
measurement into the user interface's measurement Results
pane. The query returns the measured Optical Modulation
Amplitude (OMA).
:MEASure:OPOWer (see
page 858)
The command installs an Optical Average Power measurement
into the user interface's measurement Results pane. The query
returns the measured Optical Average Power.
:MTESt:COUNt:MARGin:FAILure
s? (see page 685)
Returns the margin failure count for a specified region.
:MTESt:MARGin:AUTO:HITS
(see page 714)
When the automatic margin method is selected, and the hit ratio
method is selected, this command specifies the hit count.
:MTESt:MARGin:AUTO:HRATio
(see page 715)
When the automatic margin method is selected, and the hit ratio
method is selected, this command specifies the hit ratio.
:MTESt:MARGin:AUTO:METHod
(see page 716)
When the automatic margin method is selected, this command
selects between the hit count and hit ratio and automatic margin
methods.
:MTESt:MARGin:METHod (see
page 717)
Selects between the manual and automatic margin types.
:MTESt:MARGin:PERCent (see
page 718)
When the manual margin method is selected, this command
specifies the margin percent.
:MTESt:MARGin:STATe (see
page 719)
Enables or disables mask margin testing.
:XTALk Commands (see
page 1493)
The commands in the XTALk subsystem are used to control the
Crosstalk Analysis application.
Command Description
56 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Changed
Commands Command Description
:BUS:B<N>:TYPE (see
page 288)
Added support for new A429, M1553, and I3C protocols.
:DISPlay:SCOLor (see
page 500)
Added the ability to set colors for MMPolygons.
:FUNCtion<F>:FFT:RESolution
(see page 522)
The command form now lets you set the FFT resolution.
:MARKer:MODE (see
page 651)
Added XONLy and YONLy options for for the "Manual (X only)" and
"Manual (Y only)" marker modes.
:MEASure:AREA (see
page 745)
Added a RISing or FALLing edge parameter when "Measure All
Edges" is set and measuring a single cycle of the waveform.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 57
What's New in Version 5.60
New command descriptions for Version 5.60 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:BANDwidth:TESTLIMI
TS? (see page 216)
Returns the oscilloscope's acquisition bandwidth maximum and
minimum limits.
:ACQuire:POINts:TESTLIMITS?
(see page 229)
Returns the oscilloscope's acquisition points maximum and
minimum limits.
:ACQuire:SEGMented:PLAY (see
page 235)
Plays (or stops) acquired segments.
:ACQuire:SRATe:TESTLIMITS?
(see page 242)
Returns the oscilloscope's acquisition sampling rate maximum
and minimum limits.
:ANALyze:SIGNal:MIXer:CABLel
oss (see page 272)
Sets the loss of the cable connecting the mixer to the
oscilloscope.
:ANALyze:SIGNal:MMWave:CAL
ibrate (see page 273)
Initiates a mixer/LO (local oscillator) power calibration. The LO is
identified by the :ANALyze:SIGNal:MMWave:LOADdress
command.
:ANALyze:SIGNal:MMWave:CFR
equency (see page 274)
Sets the center frequency for the oscilloscope's FFT math
function.
:ANALyze:SIGNal:MMWave:CO
NNect (see page 275)
Sets the connection status for the mixer and LO (local oscillator)
assigned to the specified channel.
:ANALyze:SIGNal:MMWave:LOA
Ddress (see page 276)
Sets the LO's (local oscillator's) VISA address.
:ANALyze:SIGNal:MMWave:MB
ANdwidth (see page 277)
Sets the measurement bandwidth. This becomes the center
frequency for the oscilloscope's FFT math function.
:CHANnel<N>:PROBe:PRIMary
(see page 374)
For the N2820A/N2821A high-sensitivity current probes only, this
command configures the input channel as a zoomed-in (amplified)
or zoomed-out channel.
:MEASure:BER (see page 747) When the signal type is PAM, this command installs a cumulative
BER (bit error rate) measurement of the specified PAM signal into
the user interface's measurement Results pane. The query returns
the measured cumulative BER value.
:MEASure:BERPeracq (see
page 748)
When the signal type is PAM, this command installs a BER (bit
error rate) per acquisition measurement of the specified PAM
signal into the user interface's measurement Results pane. The
query returns the measured BER per acquisition value.
:MEASure:PPContrast (see
page 884)
Measures the peak-to-peak contrast (also known as Michelson
contrast or modulation).
58 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Changed
Commands
:MEASure:SER (see page 921) When the signal type is PAM, this command installs a cumulative
SER (symbol error rate) measurement of the specified PAM signal
into the user interface's measurement Results pane. The query
returns the measured cumulative SER value.
:MEASure:SERPeracq (see
page 922)
When the signal type is PAM, this command installs a SER
(symbol error rate) per acquisition measurement of the specified
PAM signal into the user interface's measurement Results pane.
The query returns the measured SER per acquisition value.
:SBUS<N>:CAN:TYPE (see
page 1072)
Selects between standard CAN or Flexible Data Rate CAN
(CAN FD) decode types.
:SBUS<N>:CAN:FDSPoint (see
page 1058)
Sets the point during the bit time where the bit level is sampled to
determine whether the bit is dominant or recessive.
:SBUS<N>:CAN:SIGNal:FDBau
drate (see page 1062)
Sets the CAN FD baud rate in the range from 1 Mb/s to 10 Mb/s.
:SYSTem:DONTtabmeas (see
page 1185)
Turns the Never tab Measurement Results user preference on or
off.
Command Description
Command Description
:ANALyze:CLOCk:METHod (see
page 247)
They CPHY and PWM methods have been added.
:ANALyze:SIGNal:TYPE (see
page 282)
MMWave has been added as a signal type.
:DISPlay:SCOLor (see
page 500)
Removed the ability to set colors for MEASurements, STEXt,
TSCale, and WBACkgrnd.
:FUNCtion<F>:MATLab:CONTro
l<N> (see page 546)
Up to 6 user-defined controls supported.
:SBUS<N>:CAN:TRIGger (see
page 1064)
Additional trigger condition options for CAN FD have been added.
:SBUS<N>:CAN:TRIGger:PATTe
rn:DATA:LENGth (see
page 1068)
Length can be from 1 to 15 bytes for CAN FD.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 59
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:DISPlay:TAB (see page 1545) None This command is not supported
in version 5.00 or higher. The
query now returns only NONE.
:HOSTed:CALibrate:ALIGn (see
page 1547)
None Acquired data is now always
aligned, and this command has
no effect.
60 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 5.52
New command descriptions for Version 5.52 of the Infiniium oscilloscope software
appear below.
Changed
Commands Command Description
:MTESt:FOLDing:COUNt:UI?
(see page 695)
The <source> parameter is now optional.
:MTESt:FOLDing:COUNt:WAVef
orms? (see page 695)
The <source> parameter is now optional.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 61
What's New in Version 5.51
New command descriptions for Version 5.51 of the Infiniium oscilloscope software
appear below.
Changed
Commands Command Description
:BUS:B<N>:TYPE (see
page 288)
Added support for new ESPI, USB31, and USBPD protocols.
62 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 5.50
New command descriptions for Version 5.50 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze:CLOCk:METHod:PAM:
B03 (see page 1535)
When the signal type is PAM-4, this command specifies whether
edges from the 0 level to the 3 level and from the 3 level to the 0
level are are included in the clock recovery.
:ANALyze:CLOCk:METHod:PAM:
B12 (see page 1537)
When the signal type is PAM-4, this command specifies whether
edges from the 1 level to the 2 level and from the 2 level to the 1
level are are included in the clock recovery.
:ANALyze:CLOCk:METHod:PAM:
NONSymmetric (see
page 1539)
When the signal type is PAM-4, this command specifies whether
edges that are non-symmetric about the middle threshold are
included in the clock recovery.
:ANALyze:SIGNal:DATarate (see
page 268)
When the signal type is PAM-4, this command specifies the data
rate of the signal.
:ANALyze:SIGNal:SYMBolrate
(see page 270)
When the signal type is PAM-4, this command specifies the edge
rate of the signal.
:ANALyze:SIGNal:TYPE (see
page 282)
Lets you specify whether a channel, function, or waveform
memory is a special type of signal, like a PAM-4 signal for
example.
:DISPlay:ISIM:GCOunt (see
page 482)
Sets or returns the number of visible graphs in the InfiniiSim plots
window area.
:DISPlay:ISIM:SELectgraph
(see page 483)
Inserts the specified graph at the first display graph position.
:DISPlay:ISIM:SOURce (see
page 484)
Sets the source for the InfiniiSim plots graph(s).
:DISPlay:JITTer:GCOunt (see
page 485)
Sets or returns the number of visible graphs in the Jitter/Noise
graphs window area.
:DISPlay:JITTer:SELectgraph
(see page 486)
Inserts the specified graph at the first display graph position.
:DISPlay:PRECprobe:GCOunt
(see page 497)
Sets or returns the number of visible graphs in the PrecisionProbe
correction and analysis charts window area.
:DISPlay:PRECprobe:SELectgra
ph (see page 498)
Inserts the specified graph at the first display graph position.
:DISPlay:PRECprobe:SOURce
(see page 499)
Sets the source for the PrecisionProbe correction and analysis
chart(s).
:DISPlay:WINDow:MAXimize
(see page 504)
Will maximize the size of the specified window.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 63
:HOSTed:CALibrate:ALIGn (see
page 1547)
Lets you align acquired data in the MultiScope system.
:HOSTed:CALibrate:CALibrate
(see page 587)
Performs the MultiScope system time-correlation calibration at
the level selected by :HOSTed:CALibrate:LEVel.
:HOSTed:CALibrate:CHANnel
(see page 588)
Selects the calibration channel or synchronization input where the
MultiScope system time-correlation procedures expect to find the
calibration signal.
:HOSTed:CALibrate:DESKew:FR
AMes (see page 590)
Deskews frames in the MultiScope system by measuring only one
input channel from each oscilloscope frame.
:HOSTed:CALibrate:DESKew:C
HANnels (see page 589)
Deskews all channels in the MultiScope system.
:HOSTed:CALibrate:DESKew:SI
GNals (see page 591)
Aligns the horizontal positions of the closest rising edges of all
input signals in the MultiScope system.
:HOSTed:CALibrate:DESKew:ZE
RO (see page 592)
Resets MultiScope system signal skew values to zero.
:HOSTed:CALibrate:LEVel (see
page 593)
Selects the MultiScope system calibration level.
:HOSTed:CALibrate:PROMpt
(see page 595)
Specifies whether the user interface software prompts you to
make the proper connections while the MultiScope system
calibration runs.
:HOSTed:CALibrate:STATus:CH
ANnels? (see page 596)
Returns the MultiScope system calibration status of "Deskew
Channels".
:HOSTed:CALibrate:STATus:FRA
Mes? (see page 597)
Returns the MultiScope system calibration status of "Deskew
Frames".
:HOSTed:CALibrate:STATus:LEV
el? (see page 598)
Returns the MultiScope system calibration status of the currently
selected calibration level.
:HOSTed:CALibrate:STATus:SIG
Nals? (see page 599)
Returns the MultiScope system calibration status of "Deskew
Signals".
:HOSTed:CALibrate:TREF:DETe
ct (see page 600)
Automatically detects the reference clock connection between
oscilloscopes in a MultiScope system.
:HOSTed:FOLLower<N>:ACHan
nels? (see page 601)
Returns the channel numbers assigned to a Follower oscilloscope
in a MultiScope system.
:HOSTed:FOLLower<N>:CONFi
gure (see page 602)
Identifies the Follower oscilloscope in a MultiScope system by its
VISA address.
:HOSTed:FOLLower<N>:CONNe
ct (see page 603)
Opens the connection to a Follower oscilloscope in a MultiScope
system.
:HOSTed:FOLLower<N>:DISCo
nnect (see page 604)
Closes the connection to a Follower oscilloscope in a MultiScope
system.
Command Description
64 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
:HOSTed:LEADer:ACHannels?
(see page 605)
Returns the channel numbers assigned to the Leader oscilloscope
in a MultiScope system.
:HOSTed:LEADer:CONFigure
(see page 606)
Identifies the Leader oscilloscope in a MultiScope system by its
VISA address.
:HOSTed:LEADer:CONNect (see
page 607)
Opens the connection to the Leader oscilloscope in a MultiScope
system.
:HOSTed:LEADer:DISConnect
(see page 608)
Closes the connection to the Leader oscilloscope in a MultiScope
system.
:MEASure:PAM:ELEVel (see
page 861)
When the signal type is PAM-4, this command installs a vertical
center measurement of the specified PAM-4 eye into the user
interface's measurement Results pane. The query returns the
measured vertical center value.
:MEASure:PAM:ESKew (see
page 864)
When the signal type is PAM-4, this command installs a horizontal
center skew measurement of the specified PAM-4 eye into the
user interface's measurement Results pane. The query returns the
measured horizontal center skew value.
:MEASure:PAM:LEVel (see
page 872)
When the signal type is PAM-4, this command installs a mean
voltage measurement of the specified PAM-4 level into the user
interface's measurement Results pane. The query returns the
measured mean voltage value.
:MEASure:PAM:LRMS (see
page 874)
When the signal type is PAM-4, this command installs a RMS
voltage measurement of the specified PAM-4 level into the user
interface's measurement Results pane. The query returns the
measured RMS voltage value.
:MEASure:PAM:LTHickness (see
page 876)
When the signal type is PAM-4, this command installs an eye
diagram level thickness measurement of the specified PAM-4
level into the user interface's measurement Results pane. The
query returns the measured thickness value.
:MEASure:THResholds:GENeral
:PAMCustom (see page 939)
When the signal type is PAM-4 and
:MEASure:THResholds:GENeral:METHod is set to PAMCustom,
this command sets the PAM threshold levels for general
measurements to the values you specify.
:MEASure:THResholds:GENeral
:PAMAutomatic (see
page 941)
When the signal type is PAM-4 and
:MEASure:THResholds:GENeral:METHod is set to PAMAutomatic,
this command specifies whether the PAM threshold levels for
general measurements are determined automatically or using the
PAM-4 levels you specify.
:MEASure:THResholds:RFALl:P
AMAutomatic (see page 956)
When the signal type is PAM-4, this command specifies whether
the PAM threshold levels for rise/fall measurements are
determined automatically or using the PAM-4 levels you specify.
:MEASure:TIEData2 (see
page 977)
Measures data time interval error.
Command Description
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 65
:MTESt:FOLDing:COUNt:UI?
(see page 695)
Returns the number of unit intervals in the real time eye.
:MTESt:FOLDing:COUNt:WAVef
orms? (see page 695)
Returns the number of waveforms in the real time eye.
:SYSTem:GUI (see page 1188) Disables or enables the front panel user interface. When disabled,
the Remote Operations In Progress dialog box appears on the
oscilloscope's screen.
NOTE: The :SYSTem:GUI OFF command lets Infiniium
oscilloscopes behave like other Keysight instruments by locking
out the GUI (graphical user interface) and the front panel while
remote scripts are running. On Infiniium oscilloscopes, the GUI
and front panel do not lock automatically during remote operation
(as most other instruments do) to preserve the integrity and
timing of legacy customer scripts. The recommendation is,
however, that all scripts begin with :SYSTem:GUI OFF when
convenient and possible to run more like other Keysight
instruments and likely improve performance.
:SYSTem:MENU? (see
page 1193)
Returns front panel graphical user interface menu strings.
:TRIGger:GBSerial:CLOCk (see
page 1253)
Specifies whether an INTernal or EXTernal reference clock (and
internal multipliers) are used to support the selected data rate.
External reference clock signals are supplied to a BNC connector
on the oscilloscope's hardware serial trigger I/O panel.
:TRIGger:GBSerial:CLOCk:FREQ
uency (see page 1254)
When an external reference clock is used, this command specifies
its frequency.
:TRIGger:GBSerial:DRATe (see
page 1256)
Specifies the data rate of the serial signal. Common data rates are
supported.
:TRIGger:GBSerial:MODE (see
page 1258)
Selects the hard ware serial trigger mode ("generic" sequences,
8b/10b sequences, or PRBS errors).
:TRIGger:GBSerial:PATTern (see
page 1259)
When triggering on "generic" sequences or 8b/10b sequences,
this command specifies the bit pattern to trigger on.
:TRIGger:GBSerial:POLarity
(see page 1260)
When triggering on PRBS errors, this command specifies the
polarity of the selected PRBS pattern.
:TRIGger:GBSerial:PRBS (see
page 1261)
When triggering on PRBS errors, this command specifies the
pattern to check when looking for errors. You can select PRBS 7,
15, 23, or 31 patterns.
:TRIGger:GBSerial:SOURce
(see page 1262)
Specifies the oscilloscope input channel on which the hardware
serial trigger operates. This is always CHANnel1.
Command Description
66 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Changed
Commands Command Description
:ANALyze:CLOCk:METHod (see
page 247)
When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
:ANALyze:CLOCk:METHod:JTF
(see page 256)
When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
:ANALyze:CLOCk:METHod:OJTF
(see page 259)
When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
:CHANnel<N>:PROBe:HEAD:VT
ERm (see page 364)
Supports the N7010A active termination adapter (regardless of
the attachment/head) as well as the N5444A probe head.
:DISPlay:CGRade (see
page 469)
When the <source> parameter is not provided, enabling color
grade will turn off the main waveform view, and disabling color
grade will turn on the main waveform view.
:DISK:SAVE:MEASurements
(see page 455)
Added the <legacy_save_mode> option to save measurement
results in the format used prior to Infiniium version 5.00.
:MEASure:CGRade:EHEight
(see page 755)
When the signal type is PAM-4, an additional <threshold>
parameter is used to specify which eye, and the <algorithm>
parameter is ignored.
:MEASure:CGRade:EWIDth (see
page 757)
When the signal type is PAM-4, an additional <threshold>
parameter is used to specify which eye, and the <algorithm>
parameter is ignored.
:MEASure:FALLtime (see
page 789)
With PAM signal types, additional <start_level> and <stop_level>
parameters are used to identify the edge to measure.
:MEASure:NOISe:ALL? (see
page 843)
The parameters TWO and THRee are available for PAM-4 signals.
:MEASure:RISetime (see
page 896)
With PAM signal types, additional <start_level> and <stop_level>
parameters are used to identify the edge to measure.
:MEASure:THResholds:GENeral
:METHod (see page 937)
When the signal type is PAM-4, you can choose between
PAMCustom and PAMautomatic methods for setting the general
measurement thresholds.
:MEASure:THResholds:RFALl:M
ETHod (see page 954)
When the signal type is PAM-4, you can choose between T1090
(10% and 90% of levels) and T2080 (20% and 80% of levels) when
setting the rise/fall measurement thresholds.
:MTESt:FOLDing (see
page 691)
When the <source> parameter is not provided, enabling the
real-time eye will turn off the main waveform view, and disabling
the real-time eye will turn on the main waveform view.
:MTESt:FOLDing:BITS (see
page 693)
The <pattern> string can contain characters "2" and "3" when
specified for PAM-4 signals.
:SPRocessing:CTLequalizer:RA
Te (see page 1144)
When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
:SPRocessing:FFEQualizer:RAT
e (see page 1169)
When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 67
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:TIEData (see
page 1573)
:MEASure:TIEData2 (see
page 977)
Clock recovery options have
been removed (clock recovery
as specified with the
:ANALyze:CLOCk:METHod is
used).
When the signal type is PAM-4,
an additional <threshold>
parameter is used to specify
the threshold at which to make
the TIE measurements.
:MTESt:FOLDing:COUNt? (see
page 1575)
:MTESt:FOLDing:COUNt:UI?
(see page 695)
:MTESt:FOLDing:COUNt:WAVef
orms? (see page 697)
The :MTESt:FOLDing:COUNt?
query returns two values for UI
count and waveform count.
Now, there are separate
queries that return those
values individually.
The UI count returned by
:MTESt:FOLDing:COUNt? is
now a floating-point value
instead of an integer value.
68 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 5.30
New command descriptions for Version 5.30 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ANALyze Commands (see
page 243)
The commands in the ANALyze subsystem are used to:
•Specify whether to use a single edge or all edges in the
acquisition for horizontal measurements (:ANALyze:AEDGes
command).
•Set up clock recovery (:ANALyze:CLOCk commands).
•Specify whether to use the data on screen or the entire
acquisition for measurements, functions, and analysis
(:ANALyze:VIEW command).
:FUNCtion<F>:GATing:STARt
(see page 533)
Specifies the time, in seconds, where the gating window begins
relative to the source waveform.
:FUNCtion<F>:GATing:STOP
(see page 534)
Specifies the time, in seconds, where the gating window ends
relative to the source waveform.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 69
Obsolete
Commands Obsolete Command Current Command Equivalent Behavior Differences
:MEASure:CLOCk (see
page 1548)
:ANALyze:CLOCk (see
page 246)
There are no differences in
behavior. This is just a
remapping of commands into a
new subsystem.
:MEASure:CLOCk:METHod (see
page 1549)
:ANALyze:CLOCk:METHod (see
page 247)
:MEASure:CLOCk:METHod:ALIG
n (see page 1553)
:ANALyze:CLOCk:METHod:ALIG
n (see page 250)
:MEASure:CLOCk:METHod:DEE
Mphasis (see page 1555)
:ANALyze:CLOCk:METHod:DEE
Mphasis (see page 252)
:MEASure:CLOCk:METHod:EDG
E (see page 1556)
:ANALyze:CLOCk:METHod:EDG
E (see page 253)
:MEASure:CLOCk:METHod:JTF
(see page 1558)
:ANALyze:CLOCk:METHod:JTF
(see page 256)
:MEASure:CLOCk:METHod:OJT
F (see page 1560)
:ANALyze:CLOCk:METHod:OJTF
(see page 259)
:MEASure:CLOCk:METHod:PLLT
rack (see page 1562)
:ANALyze:CLOCk:METHod:PLLT
rack (see page 262)
:MEASure:CLOCk:METHod:SOU
Rce (see page 1563)
:ANALyze:CLOCk:METHod:SOU
Rce (see page 264)
:MEASure:CLOCk:VERTical (see
page 1564)
:ANALyze:CLOCk:VERTical (see
page 265)
:MEASure:CLOCk:VERTical:OFF
Set (see page 1565)
:ANALyze:CLOCk:VERTical:OFF
Set (see page 266)
:MEASure:CLOCk:VERTical:RAN
Ge (see page 1566)
:ANALyze:CLOCk:VERTical:RAN
Ge (see page 267)
:MEASure:JITTer:STATistics
(see page 1572)
:ANALyze:AEDGes (see
page 245)
The :ANALyze:AEDGes
command maps to the
"Measure All Edges" control in
the user interface's
Measurement Setup dialog box
only. It does not affect jitter
modes or statistics.
70 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 5.20
New command descriptions for Version 5.20 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:ACQuire:BANDwidth:FRAMe?
(see page 215)
Returns the maximum bandwidth associated with oscilloscope
model.
:HISTogram:HORizontal:BINS
(see page 574)
Sets the maximum number of bins used for a horizontal waveform
histogram.
:HISTogram:MEASurement:BIN
S (see page 575)
Sets the maximum number of bins used for a measurement
histogram.
:HISTogram:VERTical:BINS (see
page 578)
Sets the maximum number of bins used for a vertical waveform
histogram.
:MEASure:CLOCk:METHod:SOU
Rce (see page 1563)
Clock recovery methods can now be defined for each waveform
source (or for all waveform sources, as before). This command
selects the waveform source (or all sources) to which other clock
recovery method setup commands apply.
:SBUS<N>:FLEXray Commands
(see page 1073)
These commands control the FlexRay serial decode bus viewing,
mode, and other options.
:SBUS<N>:LIN Commands (see
page 1100)
These commands control the LIN serial decode bus viewing,
mode, and other options.
:SYSTem:PERSona (see
page 1194)
Sets the manufacturer string and the model number string
returned by the *IDN? query.
Command Description
:CHANnel<N>:PROBe:EADapter
(see page 352)
Added the DIV1000, CUR001VA, CUR01VA, CUR1VA, CUR10VA,
CURN2893, CUR1147, HIVOLTN2790 options for use with the
E2697A or N5449A high impedance adapters.
:FUNCtion<F>:MHIStogram
(see page 549)
Lets you specify the maximum number of histogram bins along
with the measurement source.
:SBUS<N>:MODE (see
page 1056)
Added the FLEXray and LIN mode options.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 71
:SBUS<N>:CAN:SOURce (see
page 1063)
Added the NONE parameter to make the previously selected
channel, waveform memory, or math function available for other
decodes (same as selecting "None" for the source in the user
interface).
:SBUS<N>:IIC:SOURce:CLOCk
(see page 1093)
:SBUS<N>:IIC:SOURce:DATA
(see page 1094)
:SBUS<N>:SPI:SOURce:CLOCk
(see page 1114)
:SBUS<N>:SPI:SOURce:DATA
(see page 1116)
:SBUS<N>:SPI:SOURce:FRAMe
(see page 1118)
:SBUS<N>:SPI:SOURce:MISO
(see page 1119)
:SBUS<N>:SPI:SOURce:MOSI
(see page 1120)
Command Description
72 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 5.10
New command descriptions for Version 5.10 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:MTESt:FOLDing:TPOSition (see
page 705)
Sets the real-time eye horizontal center position in time.
:MTESt:FOLDing:TSCale (see
page 707)
Sets the real-time eye horizontal scale perdivision in time.
Command Description
:MEASure:CLOCk:METHod (see
page 1549)
The PCIE clock recovery method has been removed.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 73
What's New in Version 5.00
Version 5.00 of the Infiniium oscilloscope software introduces the new,
next-generation Infiniium user interface.
The next-generation Infiniium user interface software gives you much more
flexibility in how you can organize data, measurement results, and analysis views.
You can size windows however you like, choose stacked, side by side, or tabbed
window layouts, and you can even undock tabbed windows and place them
anywhere on your monitor(s).
Plus, the next-generation Infiniium user interface software gives you more features
to help you document waveforms and measurements, including visible scale
values on the waveform grids, visible markers delta values, bookmarks with
user-defined callout labels, and measurement values with callout labels. It is easy
to capture screen images with all this information. And, you can save waveform
data, measurements, analysis, settings, window layouts, and other settings, all to
a single composite file. When you open a composite file later, everything is set up
just like it was when you saved the file.
New command descriptions for Version 5.00 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:DISPlay:BOOKmark<N>:DELet
e (see page 463)
Deletes a bookmark.
:DISPlay:BOOKmark<N>:SET
(see page 464)
Sets a bookmark.
:DISPlay:BOOKmark<N>:VERTi
cal? (see page 466)
Returns a waveform's vertical value at a bookmark's horizontal
position.
:DISPlay:BOOKmark<N>:XPOSi
tion (see page 467)
Sets the horizontal grid position of a bookmark's callout box.
:DISPlay:BOOKmark<N>:YPOSi
tion (see page 468)
Sets the vertical grid position of a bookmark's callout box.
:DISPlay:GRATicule:AREA<N>:S
TATe (see page 478)
Enables or disables waveform areas 2-8. Waveform area 1 is
always on.
:DISPlay:LAYout (see
page 490)
Sets the window layout.
:DISPlay:MAIN (see page 491) Turns on or off the main window view for the indicated source.
:DISPlay:PROPortion (see
page 495)
Specifies the size of the waveform and plot areas.
:MTESt:FOLDing:COUNt (see
page 1575)
Returns the number of waveforms and unit intervals in the
real-time eye.
74 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Changed
Commands
:MTESt:FOLDing:POSition (see
page 701)
Sets the real-time eye horizontal center position in unit intervals.
:MTESt:FOLDing:SCALe (see
page 703)
Sets the real-time eye horizontal scale, that is, the number of unit
intervals (UIs) shown on screen.
:SBUS<N>:HS:DESCramble
(see page 1087)
Turns high-speed descrambling on or off if supported by the
protocol type.
:SBUS<N>:HS:FORMat (see
page 1088)
Specifies the high-speed symbol display format.
:SBUS<N>:HS:IDLE (see
page 1089)
Specifies whether electrical idles are present in the signal.
:SBUS<N>:HS:SOURce<S>
(see page 1090)
Specifies the signal that is the high-speed data source.
:TIMebase:REFerence:PERCent
(see page 1206)
Sets the timebase reference (trigger) position as a percent of
screen value.
Command Description
Command Description
:BUS:B<N>:TYPE (see
page 288)
Added support for new protocols.
:DISK:SAVE:LISTing (see
page 454)
Added the <type> parameter for specifying which display window
to save.
:DISPlay:CGRade (see
page 469)
Added the optional <source> parameter for specifying the
waveform on which color grade should be turned on or off.
:DISPlay:CGRade:LEVels (see
page 471)
This query is unchanged but results are returned only when a
single color grade view is on.
:DISPlay:CONNect (see
page 475)
Added the optional <source> parameter for specifying the
waveform on which the setting should be made.
:DISPlay:GRATicule:NUMBer
(see page 480)
Number of grids can be any number between 1 and 16 (not just 1,
2, 4, 8, or 16). You can also specify which waveform area the
number of grids setting is for.
:DISPlay:GRATicule:SETGrat
(see page 481)
In addition to assigning a waveform to a grid, you can now
optionally specify which waveform area the grid is in. Also, you
can specify whether the MAIN or CGRade (color grade) view of the
waveform will be placed.
:DISPlay:PERSistence (see
page 493)
Added the optional <source> parameter for specifying the
waveform on which the persistence setting should be made.
:LISTer:DATA (see page 644) Added the <type> parameter for specifying which display window
to save.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 75
Obsolete
Commands
:MEASure:CGRade:CROSsing
(see page 753)
Added the optional <source> parameter for specifying the
waveform on which the color grade crossing level percent is
measured.
:MEASure:CGRade:DCDistortio
n (see page 754)
Added the optional <source> parameter for specifying the
waveform on which the color grade duty cycle distortion is
measured.
:MEASure:CGRade:EHEight
(see page 755)
Added the optional <source> parameter for specifying the
waveform on which the color grade eye height is measured.
:MEASure:CGRade:EWIDth (see
page 757)
Added the optional <source> parameter for specifying the
waveform on which the color grade eye width is measured.
:MEASure:CGRade:EWINdow
(see page 759)
Added the optional <source> parameter for specifying the
waveform on which the color grade eye window is applied.
:MEASure:CGRade:JITTer (see
page 761)
Added the optional <source> parameter for specifying the
waveform on which the color grade jitter is measured.
:MEASure:CGRade:QFACtor
(see page 763)
Added the optional <source> parameter for specifying the
waveform on which the color grade Q factor is measured.
:MEASure:WINDow (see
page 1006)
Added the CGRade (color grade) view as a measurement window
option.
:MTESt:FOLDing (see
page 691)
Added the optional <source> parameter for specifying the
waveform on which to enable/disable the real-time eye.
:MTESt:FOLDing:BITS (see
page 693)
Added the required <source> parameter to specify the waveform
on which to set the real-time eye bit qualification.
:MTESt:FOLDing:FAST (see
page 699)
Added the optional <source> parameter for specifying the
waveform on which to set the fast worst-case option.
:TIMebase:REFerence (see
page 1205)
Query can now return PERC when a reference position percent
value is being used.
Command Description
Obsolete Command Current Command Equivalent Behavior Differences
:DISPlay:COLumn (see
page 1541)
:DISPlay:BOOKmark<N>:XPOSi
tion (see page 467)
Bookmarks are now the
method used to place text
strings or annotations on
screen.
:DISPlay:LINE (see
page 1542)
:DISPlay:BOOKmark<N>:SET
(see page 464)
:DISPlay:ROW (see
page 1543)
:DISPlay:BOOKmark<N>:YPOSi
tion (see page 468)
:DISPlay:STRing (see
page 1544)
:DISPlay:BOOKmark<N>:SET
(see page 464)
:DISPlay:TEXT (see
page 1546)
:DISPlay:BOOKmark<N>:DELet
e (see page 463)
76 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Discontinued
Commands Discontinued Command Current Command Equivalent Comments
:DISPlay:GRATicule:SIZE None Graticule sizing is different in
the next-generation Infiniium
user interface software.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 77
What's New in Version 4.60
New command descriptions for Version 4.60 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:ASTate? (see page 1019) Returns the acquisition state.
:CHANnel<N>:ISIM:NORMalize
(see page 340)
Lets you normalize the gain of an InfiniiSim transfer function.
:RSTate? (see page 1041) Returns the run state.
:SBUS<N>:CAN Commands
(see page 1057)
These commands control the CAN serial decode bus viewing,
mode, and other options.
Command Description
:SBUS<N>:MODE (see
page 1056)
Added CAN mode option.
78 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 4.50
New command descriptions for Version 4.50 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:FUNCtion<F>:ADEMod (see
page 511)
Sets the math function to show the amplitude envelope for an
amplitude modulated (AM) input signal.
:MEASurement<N>:NAME (see
page 1007)
Lets you give specific names to measurements displayed on the
oscilloscope's screen.
:MEASurement<N>:SOURce
(see page 1008)
Changes the source of an existing measurement.
:MTESt:FOLDing:FAST (see
page 699)
Turns the "Fast, Worst Case Only" real-time eye display option ON
or OFF.
Command Description
:DIGital<N>:THReshold (see
page 441)
There is now the DIFFerential parameter for specifying the
threshold voltage.
:DISK:SAVE:WAVeform (see
page 458)
There is now the H5INt format parameter which saves waveform
data as integers within the H5 file.
:POD<N>:THReshold (see
page 1012)
There is now the DIFFerential parameter for specifying the
threshold voltage.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 79
What's New in Version 4.30
New command descriptions for Version 4.30 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:FUNCtion<F>:DELay (see
page 514)
Defines a function waveform that is the source waveform delayed
in time.
:FUNCtion<F>:GATing (see
page 532)
Defines a horizontal gating function of another waveform (similar
to horizontal zoom). Measurements on horizontal gating functions
are essentially gated measurements.
:MEASure:CLOCk:METHod:EDG
E (see page 1556)
Specifies which edge(s) of the data signal are used to recover a
clock.
:MEASure:RJDJ:CLOCk (see
page 904)
When ON, it forces the pattern to be a clock and sets the jitter for
edges not examined to zero (0).
:TRIGger:LEVel:FIFTy (see
page 1227)
Sets the trigger level to 50%, like pushing the front panel trigger
level knob
Command Description
Function Commands (see
page 505)
You can now define up to 16 functions.
80 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 4.20
New command descriptions for Version 4.20 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Obsolete
Commands
Command Description
:DISPlay:CGRade:SCHeme (see
page 473)
Lets you set the color grade scheme to CLASsic or TEMP.
:FUNCtion<F>:FFT:TDELay (see
page 526)
Sets the time delay for the FFT phase function.
:MEASure:CHARge (see
page 765)
When N2820A/N2821A high-sensitivity current probes are
connected, this command/query measures the total current
consumption over time with the results listed in ampere-hours
(Ah).
:MEASure:CLOCk:METHod:JTF
(see page 1558)
Specifies the clock recovery PLL's response in terms of the Jitter
Transfer Function's (JTF) 3 dB bandwidth.
:MEASure:CLOCk:METHod:OJT
F (see page 1560)
Specifies the clock recovery PLL's response in terms of the
Observed Jitter Transfer Function's (OJTF) 3 dB bandwidth.
:MEASure:CLOCk:METHod:PLLT
rack (see page 1562)
Turns the Transition Density Dependent setting on or off.
Command Description
:MEASure:CLOCk:METHod (see
page 1549)
The command options for specifying clock recovery PLL options
have been moved to the new commands
:MEASure:CLOCk:METHod:JTF and
:MEASure:CLOCk:METHod:OJTF.
Obsolete Command Current Command
Equivalent
Description
:MEASure:DDPWS :MEASure:RJDJ:ALL?
(see page 898)
The :MEASure:RJDJ:ALL? query returns all of the
RJDJ jitter measurements.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 81
What's New in Version 4.10
New command descriptions for Version 4.10 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:MEASure:NOISe:METHod (see
page 847)
Lets you select the method for random noise (RN) analysis, either
the SPECtral method or BOTH the spectral and tail fit methods.
:MEASure:NOISe:REPort (see
page 848)
When BOTH is selected for :MEASure:NOISe:METHod, you can
select SPECtral or TAILfit to specify which method is used for the
reports.
:MEASure:RJDJ:METHod (see
page 907)
Lets you select the method for random jitter (RJ) analysis, either
the SPECtral method or BOTH the spectral and tail fit methods.
:MEASure:RJDJ:REPort (see
page 911)
When BOTH is selected for :MEASure:RJDJ:METHod, you can
select SPECtral or TAILfit to specify which method is used for the
reports.
:MEASure:TIEFilter:SHAPe (see
page 979)
Specifies the shape of the TIE filter edge(s).
Command Description
:MEASure:NOISe:ALL (see
page 843)
New results can be returned depending on the
:MEASure:NOISe:METHod and :MEASure:NOISe:REPort settings.
:MEASure:RJDJ:ALL (see
page 898)
New results can be returned depending on the
:MEASure:RJDJ:METHod and :MEASure:RJDJ:REPort settings.
82 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 4.00
New command descriptions for Version 4.00 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:ACQuire:REDGe (see
page 230)
For 50 GHz and 63 GHz bandwidth models of the 90000 Q-Series
oscilloscopes, this command enables or disables the RealEdge
channel inputs.
:DISK:SAVE:PRECprobe (see
page 456)
Saves PrecisionProbe/Cable data to a file.
:ISCan:ZONE:HIDE (see
page 627)
Lets you hide or show all InfiniiScan zones on the display.
Command Description
:ACQuire:BANDwidth (see
page 213)
There is now a MAX option for selecting the maximum bandwidth.
:MTESt:FOLDing:BITS (see
page 693)
There is now a PATTern option for specifying bit pattern
qualification for the real-time eye display.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 83
What's New in Version 3.50
New command descriptions for Version 3.50 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:CHANnel<N>:PROBe:AUTozer
o (see page 350)
Initiates the N2893A probe's auto degauss/ offset cal.
:CHANnel<N>:PROBe:HEAD:VT
ERm (see page 364)
Sets the termination voltage for the N5444A probe head.
:CHANnel<N>:PROBe:MODE
(see page 367)
Sets the N2750A probe's InfiniiMode configuration.
:FUNCtion<F>:MTRend (see
page 552)
New Meas Trend math function.
:FUNCtion<F>:MHIStogram
(see page 549)
New Meas Histogram math function.
:LISTer Commands (see
page 643)
For displaying and retrieving data from the serial decode listings.
:MEASure:HISTogram:RESoluti
on (see page 816)
The bin width value of one bar in the histogram.
:MEASure:NOISe (see
page 841)
Adds a Noise measurement to the oscilloscope display (like
Measure > Data > Noise from the front panel) or gets the
measured noise value.
:MEASure:NOISe:ALL (see
page 843)
Returns the NOISe measurement results for the "zeros" or "ones"
level.
:MEASure:NOISe:BANDwidth
(see page 845)
Sets the type of filtering used to separate the data dependent
noise from the random noise and the periodic noise.
:MEASure:NOISe:LOCation (see
page 846)
Specifies the noise measurement location within the bit where 0%
is the beginning of the bit, 50% is the middle of the bit, and 100%
is the end of the bit.
:MEASure:NOISe:RN (see
page 849)
Specifies a known amount of random noise.
:MEASure:NOISe:SCOPe:RN
(see page 850)
Specifies the removal of the oscilloscope's calibrated random
noise from the reported RN.
:MEASure:NOISe:STATe (see
page 851)
Enables or disables the NOISe measurements.
:MEASure:NOISe:UNITs (see
page 852)
Sets the unit of measure for NOISe measurements to volts or unit
amplitude.
:MEASure:RJDJ:RJ (see
page 912)
Specifies a known amount of random jitter.
84 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
Changed
Commands
:MEASure:RJDJ:SCOPe:RJ (see
page 913)
Specifies the removal of the oscilloscope's calibrated random
jitter from the reported RJ.
:SBUS<N> Commands (see
page 1053)
For setting up IIC and SPI serial decode and triggering.
Command Description
Command Description
:CHANnel<N>:PROBe:HEAD:SE
Lect (see page 363)
Now lets you select probe heads by the labels given with the
:CHANnel<N>:PROBe:HEAD:ADD command.
:MEASure:HISTogram:HITS
(see page 805)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:M1S (see
page 806)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:M2S (see
page 807)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:M3S (see
page 808)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:MAX (see
page 809)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:MEAN
(see page 810)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:MEDian
(see page 811)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:MIN (see
page 812)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:MODE
(see page 813)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:PEAK
(see page 814)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:PP (see
page 815)
Can now use this command with Meas Histogram math functions.
:MEASure:HISTogram:STDDev
(see page 817)
Can now use this command with Meas Histogram math functions.
:MEASure:RJDJ:ALL (see
page 898)
There are two possible additional measurement results, Scope
RN(rms) and DDPWS.
:TRIGger:MODE (see
page 1229)
Added the SBUS1, SBUS2, SBUS3, and SBUS4 selections for
triggering on serial buses.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 85
What's New in Version 3.20
New command descriptions for Version 3.20 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:MARKer:MEASurement:MEASu
rement (see page 650)
Specifies which measurement markers track (when the
:MARKer:MODE is set to MEASurement).
:MEASure:CLOCk:METHod:ALIG
n (see page 1553)
Lets you specify clock edges either center aligned with data or
edge aligned with data when using an explicit method of clock
recovery.
86 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
What's New in Version 3.11
New command descriptions for Version 3.11 of the Infiniium oscilloscope software
appear below.
New Commands
Changed
Commands
Command Description
:CHANnel<N>:ISIM:PEXTractio
n (see page 341)
Selects a channel's InfiniiSim port extraction.
:MEASure:HISTogram:MODE
(see page 813)
Returns the measurement histogram's Mode value.
Command Description
:BUS:B<N>:TYPE (see
page 288)
The MPHY protocol type has been added for the MIPI M-PHY
serial decode selection.
:FUNCtion<F>:FFT:WINDow
(see page 528)
The HAMMing window mode is now a valid selection.
:MEASure:JITTer:SPECtrum:WI
NDow (see page 831)
The HAMMing window mode is now a valid selection.
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 87
What's New in Version 3.10
New command descriptions for Version 3.10 of the Infiniium oscilloscope software
appear below.
New Commands
Command Description
:ACQuire:BANDwidth (see
page 213)
Changes the bandwidth frequency control for the acquisition
system.
:CHANnel<N>:PROBe:ACCal
(see page 348)
Sets the type of AC response probe calibration to use.
:CHANnel<N>:PROBe:PRECpro
be:BANDwidth (see
page 368)
Specifies how the limit of PrecisionProbe or PrecisionCable
correction/boosting is determined..
:CHANnel<N>:PROBe:PRECpro
be:CALibration (see page 369)
Specifies the name of the PrecisionProbe or PrecisionCable
calibration to use for the specified channel and probe.
:CHANnel<N>:PROBe:PRECpro
be:MODE (see page 371)
Selects between PrecisionProbe or PrecisionCable AC response
probe calibration.
:CHANnel<N>:PROBe:PRECpro
be:ZSRC (see page 372)
Specifies how PrecisionProbe characterizes the time domain and
frequency domain response.
:DISPlay:STATus:COL (see
page 502)
Used to position the real time eye and InfiniiScan Zone Trigger
status labels.
:DISPlay:STATus:ROW (see
page 503)
Used to position the real time eye and InfiniiScan Zone Trigger
status labels.
:MEASure:DDPWS (see
page 1567)
For measuring Data Dependent Pulse Width Shrinkage.
:MEASure:EDGE (see
page 785)
For measuring the edge time relative to the reference location.
:MEASure:JITTer:SPECtrum:VE
RTical:TYPE (see page 830)
Lets you select either a LINear or a LOGarithmic vertical scale for
the jitter spectrum plot.
:MEASure:RJDJ:APLength?
(see page 900)
Returns the determined RjDj pattern length.
:MEASure:THResholds:GENeral
:ABSolute (see page 933)
Sets the upper level, middle level, and lower level voltages for
everything except rise/fall measurements and protocol decode.
:MEASure:THResholds:GENeral
:HYSTeresis (see page 935)
Sets the hysteresis range and level level voltages for everything
except rise/fall measurements and protocol decode.
:MEASure:THResholds:GENeral
:METHod (see page 937)
Specifies the way that the top and base of a waveform are
calculated for everything except rise/fall measurements and
protocol decode.
88 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
:MEASure:THResholds:GENeral
:PERCent (see page 943)
Sets the upper level, middle level, and lower level voltages as a
percentage of the top and base voltages for everything except
rise/fall measurements and protocol decode.
:MEASure:THResholds:GENeral
:TOPBase:ABSolute (see
page 945)
Sets the top level and base level voltages for everything except
rise/fall measurements and protocol decode.
:MEASure:THResholds:GENeral
:TOPBase:METHod (see
page 945)
Determines the way that the top and base of a waveform are
derived for everything except rise/fall measurements and protocol
decode.
:MEASure:THResholds:RFALl:A
BSolute (see page 952)
Sets the upper level, middle level, and lower level voltages for
rise/fall measurements.
:MEASure:THResholds:RFALl:H
YSTeresis
Sets the hysteresis range and level level voltages for rise/fall
measurements.
:MEASure:THResholds:RFALl:M
ETHod (see page 954)
Specifies the way that the top and base of a waveform are
calculated for rise/fall measurements.
:MEASure:THResholds:RFALl:P
ERCent (see page 958)
Sets the upper level, middle level, and lower level voltages as a
percentage of the top and base voltages for rise/fall
measurements.
:MEASure:THResholds:RFALl:T
OPBase:ABSolute (see
page 960)
Sets the top level and base level voltages for rise/fall
measurements.
:MEASure:THResholds:RFALl:T
OPBase:METHod (see
page 960)
Determines the way that the top and base of a waveform are
derived for rise/fall measurements.
:MEASure:THResholds:SERial:A
BSolute (see page 963)
Sets the upper level, middle level, and lower level voltages for
protocol decode.
:MEASure:THResholds:SERial:
HYSTeresis (see page 965)
Sets the hysteresis range and level level voltages for protocol
decode.
:MEASure:THResholds:SERial:
METHod (see page 967)
Specifies the way that the top and base of a waveform are
calculated for protocol decode.
:MEASure:THResholds:SERial:P
ERCent (see page 968)
Sets the upper level, middle level, and lower level voltages as a
percentage of the top and base voltages for protocol decode.
:MEASure:THResholds:SERial:T
OPBase:ABSolute (see
page 970)
Sets the top level and base level voltages for protocol decode.
:MEASure:THResholds:SERial:T
OPBase:METHod (see
page 970)
Determines the way that the top and base of a waveform are
derived for protocol decode.
Command Description
What's New 1
Keysight Infiniium Oscilloscopes Programmer's Guide 89
Changed
Commands
:SPRocessing:CTLequalizer:NU
MPoles (see page 1140)
Selects either a 2 Pole or 3 Pole Continuous Time Linear
Equalization.
:SPRocessing:CTLequalizer:P3
(see page 1143)
Sets the Pole 3 frequency for the Continuous Time Linear
Equalization.
Command Description
Command Description
:ACQuire:INTerpolate (see
page 222)
The INT1, INT2, INT4, INT8, INT16 options have been added for
specifying the 1, 2, 4, 8, or 16 point Sin(x)/x interpolation ratios.
:MEASure:RJDJ:BER (see
page 902)
You can now set J2 and J9 jitter BER levels.
:MEASure:VRMS (see
page 1001)
The VOLT and DBM parameters have been added for specifying
the measurement units.
:MEASure:WINDow (see
page 1006)
The short form of the command was changed from :MEAS:WIN to
:MEAS:WIND.
90 Keysight Infiniium Oscilloscopes Programmer's Guide
1What's New
91
Keysight Infiniium Oscilloscopes
Programmer's Guide
2 Setting Up
Step 1. Install Keysight IO Libraries Suite software / 92
Step 2. Connect and set up the oscilloscope / 93
Step 3. Verify the oscilloscope connection / 94
This chapter explains how to install the Keysight IO Libraries Suite software on a
controller PC, connect the oscilloscope to the controller PC, set up the
oscilloscope, and verify the oscilloscope connection.
Note that Keysight IO Libraries Suite software comes installed on Infiniium
oscilloscopes, and it is possible to control the oscilloscope from programs running
on the instrument.
92 Keysight Infiniium Oscilloscopes Programmer's Guide
2Setting Up
Step 1. Install Keysight IO Libraries Suite software
To install the Keysight IO Libraries Suite software on a controller PC:
1Download the Keysight IO Libraries Suite software from the Keysight web site
at:
•http://www.keysight.com/find/iolib
2Run the setup file, and follow its installation instructions.
Note that Keysight IO Libraries Suite software comes installed on Infiniium
oscilloscopes.
Setting Up 2
Keysight Infiniium Oscilloscopes Programmer's Guide 93
Step 2. Connect and set up the oscilloscope
Infiniium oscilloscopes can have these interfaces for programming the
oscilloscope:
• USB (device port, square connector).
• LAN. To configure the LAN interface, set up the Infiniium oscilloscope on the
network as you would any other computer with the Windows operating system.
• GPIB, when the instrument has a GPIB interface connector or when the N4865A
GPIB-to-LAN adapter is used.
When installed, these interfaces are always active.
Using the USB (Device) Interface
1Connect a USB cable from the controller PC's USB port to the "USB DEVICE"
port on the back of the oscilloscope.
Some oscilloscopes have a USB 2.0 high-speed port; other more recent models
have a USB 3.0 super-speed port.
Using the LAN Interface
1If the controller PC is not already connected to the local area network (LAN), do
that first.
2Contact your network administrator about adding the oscilloscope to the
network.
Setting up an Infiniium oscilloscope on a network is the same as setting up any
other computer with the Windows 7 operating system.
3Connect the oscilloscope to the local area network (LAN) by inserting LAN
cable into the "LAN" port on the oscilloscope.
94 Keysight Infiniium Oscilloscopes Programmer's Guide
2Setting Up
Step 3. Verify the oscilloscope connection
1On the controller PC, click on the Keysight IO Control icon in the taskbar and
choose Connection Expert from the popup menu.
2In the Keysight Connection Expert application, instruments connected to the
controller's USB and GPIB interfaces as well as instruments on the same LAN
subnet should automatically appear in the Instruments tab.
NOTE
Make sure the Keysight Infiniium software is running on the oscilloscope. It must be running
before you can make a connection.
Setting Up 2
Keysight Infiniium Oscilloscopes Programmer's Guide 95
3If your instrument does not appear, you can add it using the Manual
Configuration tab.
For example, to add a device:
aSelect LAN instrument in the list on the left.
bEnter the oscilloscope's Hostname or IP address.
cSelect the protocol.
dSelect HiSLIP under Set Protocol.
HiSLIP (High-Speed LAN Instrument Protocol) is a protocol for TCP-based
instrument control that provides the instrument-like capabilities of
conventional test and measurement protocols with minimal impact to
performance.
For more information on the HiSLIP protocol, see:
•The Keysight IO Libraries Suite documentation.
•http://www.lxistandard.org/About/LXI-Device-Support-HiSLIP.aspx
•http://www.ivifoundation.org/specifications/
eClick Test This VISA Address to verify the connection.
fIf the connection test is successful, click Accept to add the instrument.
96 Keysight Infiniium Oscilloscopes Programmer's Guide
2Setting Up
If the connection test is not successful, go back and verify the LAN
connections and the oscilloscope setup.
4Test some commands on the instrument:
aIn the Details for the selected instrument, click Send Commands To This
Instrument.
bIn the Keysight Interactive IO application, enter commands in the Command
field and press Send Command, Read Response, or Send & Read.
Setting Up 2
Keysight Infiniium Oscilloscopes Programmer's Guide 97
cChoose Connect > Exit from the menu to exit the Keysight Interactive IO
application.
5In the Keysight Connection Expert application, choose File > Exit from the menu
to exit the application.
98 Keysight Infiniium Oscilloscopes Programmer's Guide
2Setting Up
99
Keysight Infiniium Oscilloscopes
Programmer's Guide
3 Introduction to Programming
Communicating with the Oscilloscope / 101
Instructions / 102
Instruction Header / 103
White Space (Separator) / 104
Braces / 105
Ellipsis / 106
Square Brackets / 107
Command and Query Sources / 108
Program Data / 109
Header Types / 110
Query Headers / 112
Program Header Options / 113
Character Program Data / 114
Numeric Program Data / 115
Embedded Strings / 116
Program Message Terminator / 117
Common Commands within a Subsystem / 118
Selecting Multiple Subsystems / 119
Programming Getting Started / 120
Referencing the IO Library / 121
Opening the Oscilloscope Connection via the IO Library / 122
Initializing the Interface and the Oscilloscope / 123
Example Program / 125
Using the DIGitize Command / 126
Receiving Information from the Oscilloscope / 128
String Variable Example / 129
Numeric Variable Example / 130
Definite-Length Block Response Data / 131
Multiple Queries / 132
Oscilloscope Status / 133
100 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
This chapter introduces the basics for remote programming of an oscilloscope. The
programming commands in this manual conform to the IEEE 488.2 Standard
Digital Interface for Programmable Instrumentation. The programming commands
provide the means of remote control.
Basic operations that you can do with a computer and an oscilloscope include:
• Set up the oscilloscope.
• Make measurements.
• Get data (waveform, measurements, and configuration) from the oscilloscope.
• Send information, such as waveforms and configurations, to the oscilloscope.
You can accomplish other tasks by combining these functions.
NOTE
Example Programs are Written in Visual Basic for Applications (VBA) and C
The programming examples for individual commands in this manual are written in Visual Basic
for Applications (VBA) and C.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 101
Communicating with the Oscilloscope
Computers communicate with the oscilloscope by sending and receiving
messages over a remote interface, such as a GPIB card (must order the N4865A
GPIB-to-LAN adapter) or a Local Area Network (LAN) card. Commands for
programming normally appear as ASCII character strings embedded inside the
output statements of a "host" language available on your computer. The input
commands of the host language are used to read responses from the oscilloscope.
For example, the VISA COM library provides the WriteString() method for sending
commands and queries. After a query is sent, the response can be read using the
ReadString() method. The ReadString() method passes the value across the bus to
the computer and places it in the designated variable.
For the GPIB interface, messages are placed on the bus using an output command
and passing the device address, program message, and a terminator. Passing the
device address ensures that the program message is sent to the correct GPIB
interface and GPIB device.
The following WriteString() method sends a command that sets the channel 1
scale value to 500 mV:
myScope.WriteString ":CHANnel1:SCALe 500E-3"
The VISA COM library setup is explained on the following pages.
NOTE
Use the Suffix Multiplier Instead
Using "mV" or "V" following the numeric voltage value in some commands will cause
Error 138 - Suffix not allowed. Instead, use the convention for the suffix multiplier as
described in Chapter 6, “Message Communication and System Functions,” starting on page
149.
102 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Instructions
Instructions, both commands and queries, normally appear as strings embedded
in a statement of your host language, such as Visual Basic for Applications (VBA),
Visual Basic .NET, C#, C, etc.
The only time a parameter is not meant to be expressed as a string is when the
instruction's syntax definition specifies <block data>, such as with the
:SYSTem:SETup command. There are only a few instructions that use block data.
Instructions are composed of two main parts:
• The header, which specifies the command or query to be sent.
• The program data, which provides additional information to clarify the meaning
of the instruction.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 103
Instruction Header
The instruction header is one or more command mnemonics separated by colons
(:). They represent the operation to be performed by the oscilloscope. See
Chapter 9, “Programming Conventions,” starting on page 201 for more
information.
Queries are formed by adding a question mark (?) to the end of the header. Many
instructions can be used as either commands or queries, depending on whether or
not you include the question mark. The command and query forms of an
instruction usually have different program data. Many queries do not use any
program data.
104 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
White Space (Separator)
White space is used to separate the instruction header from the program data. If
the instruction does not require any program data parameters, you do not need to
include any white space. In this manual, white space is defined as one or more
spaces. ASCII defines a space to be character 32 in decimal.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 105
Braces
When several items are enclosed by braces, { }, only one of these elements may be
selected. Vertical line ( | ) indicates "or". For example, {ON | OFF} indicates that
only ON or OFF may be selected, not both.
106 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Ellipsis
... An ellipsis (trailing dots) indicates that the preceding element may be repeated
one or more times.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 107
Square Brackets
Items enclosed in square brackets, [ ], are optional.
108 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Command and Query Sources
Many commands and queries require that a source be specified. Depending on the
command or query and the model number of Infiniium oscilloscope being used,
some of the sources are not available. The following is a list of sources:
CHANnel1 FUNCtion1 WMEMory1 COMMonmode{3|4}
CHANnel2 FUNCtion2 WMEMory2 DIFFerential{1|2}
CHANnel3 FUNCtion3 WMEMory3 EQUalized
CHANnel4 FUNCtion4 WMEMory4 DIGital0 - DIGital15
CLOCk MTRend MSPectrum HISTogram
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 109
Program Data
Program data is used to clarify the meaning of the command or query. It provides
necessary information, such as whether a function should be on or off, or which
waveform is to be displayed. Each instruction's syntax definition shows the
program data and the values they accept.
When there is more than one data parameter, they are separated by commas (,).
You can add spaces around the commas to improve readability.
110 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Header Types
There are three types of headers:
•"Simple Command Header" on page 110
•"Compound Command Header" on page 110
•"Common Command Header" on page 111
See Also •"Combining Commands in the Same Subsystem" on page 111
•"Duplicate Mnemonics" on page 111
Simple Command Header
Simple command headers contain a single mnemonic. AUToscale and DIGitize are
examples of simple command headers typically used in this oscilloscope. The
syntax is:
<program mnemonic><terminator>
For example:
":AUToscale"
When program data must be included with the simple command header (for
example, :DIGitize CHANnel1), white space is added to separate the data from the
header. The syntax is:
<program mnemonic><separator><program data><terminator>
For example:
":DIGitize CHANnel1,FUNCtion2"
Compound Command Header
Compound command headers are a combination of two program mnemonics. The
first mnemonic selects the subsystem, and the second mnemonic selects the
function within that subsystem. The mnemonics within the compound message
are separated by colons. For example:
To execute a single function within a subsystem:
:<subsystem>:<function><separator><program data><terminator>
For example:
":CHANnel1:BWLimit ON"
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 111
Combining Commands in the Same Subsystem
To execute more than one command within the same subsystem, use a semi-colon
(;) to separate the commands:
:<subsystem>:<command><separator><data>;<command><separator>
<data><terminator>
For example:
:CHANnel1:INPut DC;BWLimit ON
Common Command Header
Common command headers, such as clear status, control the IEEE 488.2 functions
within the oscilloscope. The syntax is:
*<command header><terminator>
No space or separator is allowed between the asterisk (*) and the command
header. *CLS is an example of a common command header.
Duplicate Mnemonics
Identical function mnemonics can be used for more than one subsystem. For
example, you can use the function mnemonic RANGE to change both the vertical
range and horizontal range:
To set the vertical range of channel 1 to 0.4 volts full scale:
:CHANnel1:RANGe .4
To set the horizontal time base to 1 second full scale:
:TIMebase:RANGe 1
In these examples, CHANnel1 and TIMebase are subsystem selectors, and
determine the range type being modified.
112 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Query Headers
A command header immediately followed by a question mark (?) is a query. After
receiving a query, the oscilloscope interrogates the requested subsystem and
places the answer in its output queue. The answer remains in the output queue
until it is read or until another command is issued. When read, the answer is
transmitted across the bus to the designated listener (typically a computer).
For example, with VISA COM library and Visual Basic for Applications (VBA)
language, the query:
myScope.WriteString ":TIMebase:RANGe?"
places the current time base setting in the output queue.
The computer input statement:
varRange = myScope.ReadNumber
passes the value across the bus to the computer and places it in the variable
varRange.
You can use queries to find out how the oscilloscope is currently configured and to
get results of measurements made by the oscilloscope. For example, the query:
:MEASure:RISetime?
tells the oscilloscope to measure the rise time of your waveform and place the
result in the output queue.
The output queue must be read before the next program message is sent. For
example, when you send the query :MEASure:RISetime?, you must follow it with an
input statement.
With the VISA COM library and Visual Basic for Applications (VBA) language, this
is usually done with a ReadString() or ReadNumber() method. These methods read
the result of the query and place the result in a specified variable.
NOTE
Handle Queries Properly
If you send another command or query before reading the result of a query, the output buffer
is cleared and the current response is lost. This also generates a query-interrupted error in the
error queue. If you execute an input statement before you send a query, it will cause the
computer to wait indefinitely.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 113
Program Header Options
You can send program headers using any combination of uppercase or
lowercaseASCII characters. Oscilloscope responses, however, are always returned
in uppercase.
You may send program command and query headers in either long form (complete
spelling), short form (abbreviated spelling), or any combination of long form and
short form. For example:
":TIMebase:DELay 1E-6" is the long form.
":TIM:DEL 1E-6" is the short form.
The command descriptions in this reference show upper and lowercase characters.
For example, ":AUToscale" indicates that the entire command name is
":AUTOSCALE". The short form, ":AUT", is also accepted by the oscilloscope.
The rules for the short form syntax are described in Chapter 9, “Programming
Conventions,” starting on page 201.
NOTE
Using Long Form or Short Form
Programs written in long form are easily read and are almost self-documenting. The short
form syntax conserves the amount of computer memory needed for program storage and
reduces I/O activity.
114 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Character Program Data
Character program data is used to convey parameter information as alpha or
alphanumeric strings. For example, the :TIMebase:REFerence command can be
set to left, center, or right. The character program data in this case may be LEFT,
CENTer, or RIGHt. The command :TIMebase:REFerence RIGHt sets the time base
reference to right.
The available mnemonics for character program data are always included with the
instruction's syntax definition. You may send either the long form of commands, or
the short form (if one exists). You may mix uppercase and lowercase letters freely.
When receiving responses, uppercase letters are used exclusively.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 115
Numeric Program Data
Some command headers require program data to be expressed numerically. For
example, :TIMebase:RANGE requires the desired full-scale range to be expressed
numerically.
For numeric program data, you can use exponential notation or suffix multipliers to
indicate the numeric value. The following numbers are all equal:
28 = 0.28E2 = 280E-1 = 28000m = 0.028K = 28E-3K
When a syntax definition specifies that a number is an integer, it means that the
number should be whole. Any fractional part is ignored and truncated. Numeric
data parameters that accept fractional values are called real numbers.
All numbers are expected to be strings of ASCII characters.
• When sending the number 9, you would send a byte representing the ASCII
code for the character "9" (which is 57).
• A three-digit number like 102 would take up three bytes (ASCII codes 49, 48,
and 50). The number of bytes is figured automatically when you include the
entire instruction in a string.
116 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Embedded Strings
Embedded strings contain groups of alphanumeric characters which are treated as
a unit of data by the oscilloscope. An example of this is the line of text written to
the advisory line of the oscilloscope with the :SYSTem:DSP command:
:SYSTem:DSP ""This is a message.""
You may delimit embedded strings with either single (') or double (") quotation
marks. These strings are case-sensitive, and spaces are also legal characters.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 117
Program Message Terminator
The program instructions within a data message are executed after the program
message terminator is received. The terminator may be either an NL (New Line)
character, an EOI (End-Or-Identify) asserted in the GPIB interface, or a
combination of the two. Asserting the EOI sets the EOI control line low on the last
byte of the data message. The NL character is an ASCII linefeed (decimal 10).
NOTE
New Line Terminator Functions Like EOS and EOT
The NL (New Line) terminator has the same function as an EOS (End Of String) and EOT (End Of
Text) terminator.
118 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Common Commands within a Subsystem
Common commands can be received and processed by the oscilloscope whether
they are sent over the bus as separate program messages or within other program
messages. If you have selected a subsystem, and a common command is received
by the oscilloscope, the oscilloscope remains in the selected subsystem. For
example, if the program message
":ACQuire:AVERage ON;*CLS;COUNt 1024"
is received by the oscilloscope, the oscilloscope turns averaging on, then clears
the status information without leaving the selected subsystem.
If some other type of command is received within a program message, you must
re-enter the original subsystem after the command. For example, the program
message
":ACQuire:AVERage ON;:AUToscale;:ACQuire:AVERage:COUNt 1024"
turns averaging on, completes the autoscale operation, then sets the acquire
average count. Here, :ACQuire must be sent again after AUToscale to re-enter the
ACQuire subsystem and set the count.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 119
Selecting Multiple Subsystems
You can send multiple program commands and program queries for different
subsystems on the same line by separating each command with a semicolon. The
colon following the semicolon lets you enter a new subsystem. For example:
<program mnemonic><data>;:<program mnemonic><data><terminator>
:CHANnel1:RANGe 0.4;:TIMebase:RANGe 1
NOTE
You can Combine Compound and Simple Commands
Multiple program commands may be any combination of compound and simple commands.
120 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Programming Getting Started
The remainder of this chapter explains how to set up the oscilloscope, how to
retrieve setup information and measurement results, how to digitize a waveform,
and how to pass data to the computer. Chapter 28, “Measure Commands,”
starting on page 735 describes getting measurement data from the oscilloscope.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 121
Referencing the IO Library
No matter which instrument programming library you use (SICL, VISA, or VISA
COM), you must reference the library from your program.
In C/C++, you must tell the compiler where to find the include and library files (see
the Keysight IO Libraries Suite documentation for more information).
To reference the Keysight VISA COM library in Visual Basic for Applications (VBA,
which comes with Microsoft Office products like Excel):
1Choose Tools > References... from the main menu.
2In the References dialog, check the "VISA COM 3.0 Type Library".
3Click OK.
To reference the Keysight VISA COM library in Microsoft Visual Basic 6.0:
1Choose Project > References... from the main menu.
2In the References dialog, check the "VISA COM 3.0 Type Library".
3Click OK.
122 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Opening the Oscilloscope Connection via the IO Library
PC controllers communicate with the oscilloscope by sending and receiving
messages over a remote interface. Once you have opened a connection to the
oscilloscope over the remote interface, programming instructions normally appear
as ASCII character strings embedded inside write statements of the programing
language. Read statements are used to read query responses from the
oscilloscope.
For example, when using the Keysight VISA COM library in Visual Basic (after
opening the connection to the instrument using the ResourceManager object's
Open method), the FormattedIO488 object's WriteString, WriteNumber, WriteList,
or WriteIEEEBlock methods are used for sending commands and queries. After a
query is sent, the response is read using the ReadString, ReadNumber, ReadList,
or ReadIEEEBlock methods.
The following Visual Basic statements open the connection and send a command
that turns on the oscilloscope's label display.
Dim myMgr As VisaComLib.ResourceManager
Dim myScope As VisaComLib.FormattedIO488
Set myMgr = New VisaComLib.ResourceManager
Set myScope = New VisaComLib.FormattedIO488
' Open the connection to the oscilloscope. Get the VISA Address from the
' Keysight Connection Expert (installed with Keysight IO Libraries Suite
).
Set myScope.IO = myMgr.Open("<VISA Address>")
' Send a command.
myScope.WriteString ":DISPlay:LABel ON"
The ":DISPlay:LABEL ON" in the above example is called a program message.
Program messages are explained in more detail in "Instructions" on page 102.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 123
Initializing the Interface and the Oscilloscope
To make sure the bus and all appropriate interfaces are in a known state, begin
every program with an initialization statement. When using the Keysight VISA
COM library, you can use the resource session object's Clear method to clears the
interface buffer:
Dim myMgr As VisaComLib.ResourceManager
Dim myScope As VisaComLib.FormattedIO488
Set myMgr = New VisaComLib.ResourceManager
Set myScope = New VisaComLib.FormattedIO488
' Open the connection to the oscilloscope. Get the VISA Address from the
' Keysight Connection Expert (installed with Keysight IO Libraries Suite
).
Set myScope.IO = myMgr.Open("<VISA Address>")
' Clear the interface buffer and set the interface timeout to 10 seconds
.
myScope.IO.Clear
myScope.IO.Timeout = 10000
When you are using GPIB, CLEAR also resets the oscilloscope's parser. The parser
is the program which reads in the instructions which you send it.
After clearing the interface, initialize the instrument to a preset state:
myScope.WriteString "*RST"
See Also •"Autoscale" on page 123
•"Setting Up the Oscilloscope" on page 124
Autoscale
The AUToscale feature of Keysight Technologies digitizing oscilloscopes performs
a very useful function on unknown waveforms by automatically setting up the
vertical channel, time base, and trigger level of the oscilloscope.
The syntax for the autoscale function is:
:AUToscale<terminator>
NOTE
Information for Initializing the Instrument
The actual commands and syntax for initializing the instrument are discussed in Chapter 15,
“Common Commands,” starting on page 413.
Refer to the Keysight IO Libraries Suite documentation for information on initializing the
interface.
124 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Setting Up the Oscilloscope
A typical oscilloscope setup configures the vertical range and offset voltage, the
horizontal range, delay time, delay reference, trigger mode, trigger level, and
slope.
A typical example of the commands sent to the oscilloscope are:
:CHANnel1:PROBe 10; RANGe 16;OFFSet 1.00<terminator>
:SYSTem:HEADer OFF<terminator>
:TIMebase:RANGe 1E-3;DELay 100E-6<terminator>
This example sets the time base at 1 ms full-scale (100 μs/div), with delay of
100 μs. Vertical is set to 16 V full-scale (2 V/div), with center of screen at 1 V, and
probe attenuation of 10.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 125
Example Program
This program demonstrates the basic command structure used to program the
oscilloscope.
' Initialize the instrument interface to a known state.
myScope.IO.Clear
myScope.IO.Timeout = 15000 ' Set interface timeout to 15 seconds.
' Initialize the instrument to a preset state.
myScope.WriteString "*RST"
' Set the time base mode to normal with the horizontal time at
' 50 ms/div with 0 s of delay referenced at the center of the
' graticule.
myScope.WriteString ":TIMebase:RANGe 5E-4" ' Time base to 500 us/div.
myScope.WriteString ":TIMebase:DELay 0" ' Delay to zero.
myScope.WriteString ":TIMebase:REFerence CENTer" ' Display ref. at
' center.
' Set the vertical range to 1.6 volts full scale with center screen
' at -0.4 volts with 10:1 probe attenuation and DC coupling.
myScope.WriteString ":CHANnel1:PROBe 1.0" ' Probe attenuation
' to 1:1.
myScope.WriteString ":CHANnel1:RANGe 1.6" ' Vertical range
' 1.6 V full scale.
myScope.WriteString ":CHANnel1:OFFSet -0.4" ' Offset to -0.4.
myScope.WriteString ":CHANnel1:INPut DC" ' Coupling to DC.
' Configure the instrument to trigger at -0.4 volts with normal
' triggering.
myScope.WriteString ":TRIGger:SWEep NORMal" ' Normal triggering.
myScope.WriteString ":TRIGger:LEVel CHAN1,-0.4" ' Trigger level to -0.
4.
myScope.WriteString ":TRIGger:MODE EDGE" ' Edge triggering
myScope.WriteString ":TRIGger:EDGE:SLOPe POSitive" ' Trigger on pos. slo
pe.
' Configure the instrument for normal acquisition.
myScope.WriteString ":ACQuire:MODE RTIMe" ' Normal acquisition.
myScope.WriteString ":SYSTem:HEADer OFF" ' Turn system headers off.
myScope.WriteString ":DISPlay:GRATicule FRAMe" ' Grid off.
126 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Using the DIGitize Command
The DIGitize command is a macro that captures data using the acquisition
(ACQuire) subsystem. When the digitize process is complete, the acquisition is
stopped. You can measure the captured data by using the oscilloscope or by
transferring the data to a computer for further analysis. The captured data consists
of two parts: the preamble and the waveform data record.
After changing the oscilloscope configuration, the waveform buffers are cleared.
Before doing a measurement, you should send the DIGitize command to ensure
new data has been collected.
You can send the DIGitize command with no parameters for a higher throughput.
Refer to the DIGitize command in Chapter 30, “Root Level Commands,” starting on
page 1015 for details.
When the DIGitize command is sent to an oscilloscope, the specified channel's
waveform is digitized using the current ACQuire parameters. Before sending the
:WAVeform:DATA? query to download waveform data to your computer, you
should specify the WAVeform parameters.
The number of data points comprising a waveform varies according to the number
requested in the ACQuire subsystem. The ACQuire subsystem determines the
number of data points, type of acquisition, and number of averages used by the
DIGitize command. This lets you specify exactly what the digitized information
contains. The following program example shows a typical setup:
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:MODE RTIME"
myScope.WriteString ":ACQuire:COMPlete 100"
myScope.WriteString ":WAVeform:SOURce CHANnel1"
myScope.WriteString ":WAVeform:FORMat BYTE"
myScope.WriteString ":ACQuire:COUNt 8"
myScope.WriteString ":ACQuire:POINts 500"
myScope.WriteString ":DIGitize CHANnel1"
myScope.WriteString ":WAVeform:DATA?"
This setup places the oscilloscope into the real time sampling mode using eight
averages. This means that when the DIGitize command is received, the command
will execute until the waveform has been averaged at least eight times.
After receiving the :WAVeform:DATA? query, the oscilloscope will start
downloading the waveform information.
Digitized waveforms are passed from the oscilloscope to the computer by sending
a numerical representation of each digitized point. The format of the numerical
representation is controlled by using the :WAVeform:FORMat command and may
be selected as BYTE, WORD, or ASCII.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 127
The easiest method of receiving a digitized waveform depends on data structures,
available formatting, and I/O capabilities. You must convert the data values to
determine the voltage value of each point. These data values are passed starting
with the left most point on the oscilloscope's display. For more information, refer
to the chapter, "Waveform Commands."
When using GPIB, you may abort a digitize operation by sending a Device Clear
over the bus.
128 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Receiving Information from the Oscilloscope
After receiving a query (a command header followed by a question mark), the
oscilloscope places the answer in its output queue. The answer remains in the
output queue until it is read or until another command is issued. When read, the
answer is transmitted across the interface to the computer.
The input statement for receiving a response message from an oscilloscope's
output queue typically has two parameters; the device address and a format
specification for handling the response message. For example, with the VISA COM
library, to read the result of the query command :CHANnel1:INPut? you would use
the ReadString() method:
Dim strSetting As String
myScope.WriteString ":CHANnel1:INPut?"
strSetting = myScope.ReadString
This would enter the current setting for the channel 1 coupling in the string
variable strSetting.
All results for queries sent in a program message must be read before another
program message is sent. For example, when you send the query
:MEASure:RISETIME?, you must follow that query with an input statement.
The format specification for handling response messages depends on both the
computer and the programming language.
NOTE
Handle Queries Properly
If you send another command or query before reading the result of a query, the output buffer
will be cleared and the current response will be lost. This will also generate a
query-interrupted error in the error queue. If you execute an input statement before you send a
query, it will cause the computer to wait indefinitely.
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 129
String Variable Example
The output of the oscilloscope may be numeric or character data depending on
what is queried. Refer to the specific commands for the formats and types of data
returned from queries.
This example shows the data being returned to a string variable:
Dim strRang As String
myScope.WriteString ":CHANnel1:RANGe?"
strRang = myScope.ReadString
Debug.Print strRang
After running this program, the computer displays:
+8.00000E-01
NOTE
Express String Variables Using Exact Syntax
In Visual Basic, string variables are case sensitive and must be expressed exactly the same
each time they are used.
130 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Numeric Variable Example
This example shows the data being returned to a numeric variable:
Dim varRang As Variant
myScope.WriteString ":CHANnel1:RANGe?"
varRang = myScope.ReadNumber
Debug.Print "Channel 1 range:"+FormatNumber(varRang, 0)
After running this program, the computer displays:
.8
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 131
Definite-Length Block Response Data
Definite-length block response data allows any type of device-dependent data to
be transmitted over the system interface as a series of 8-bit binary data bytes. This
is particularly useful for sending large quantities of data or 8-bit extended ASCII
codes. The syntax is a pound sign ( # ) followed by a non-zero digit representing
the number of digits in the decimal integer. After the non-zero digit is the decimal
integer that states the number of 8-bit data bytes being sent. This is followed by
the actual data.
For example, for transmitting 4000 bytes of data, the syntax would be:
#44000 <4000 bytes of data> <terminator>
The "4" following the pound sign represents the number of digits in the number of
bytes, and "4000" represents the number of bytes to be transmitted.
132 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
Multiple Queries
You can send multiple queries to the instrument within a single command string,
but you must also read them back as a single query result. This can be
accomplished by reading them back into a single string variable, multiple string
variables, or multiple numeric variables.
For example, to read the :TIMebase:RANGe?;DELay? query result into a single
string variable, you could use the commands:
myScope.WriteString ":TIMebase:RANGe?;DELay?"
Dim strQueryResult As String
strQueryResult = myScope.ReadString
MsgBox "Timebase range; delay:" + strQueryResult
When you read the result of multiple queries into a single string variable, each
response is separated by a semicolon. For example, the output of the previous
example would be:
Timebase range; delay: <range_value>;<delay_value>
To read the :TIMebase:RANGe?;DELay? query result into multiple string variables,
you could use the ReadList method to read the query results into a string array
variable using the commands:
myScope.WriteString ":TIMebase:RANGe?;DELay?"
Dim strResults() As String
strResults() = myScope.ReadList(ASCIIType_BSTR)
MsgBox "Timebase range: " + strResults(0) + ", delay: " + strResults(1)
To read the :TIMebase:RANGe?;DELay? query result into multiple numeric
variables, you could use the ReadList method to read the query results into a
variant array variable using the commands:
myScope.WriteString ":TIMebase:RANGe?;DELay?"
Dim varResults() As Variant
varResults() = myScope.ReadList
MsgBox "Timebase range: " + FormatNumber(varResults(0) * 1000, 4) + _
" ms, delay: " + FormatNumber(varResults(1) * 1000000, 4) + " us"
Introduction to Programming 3
Keysight Infiniium Oscilloscopes Programmer's Guide 133
Oscilloscope Status
Status registers track the current status of the oscilloscope. By checking the
oscilloscope status, you can find out whether an operation has completed and is
receiving triggers. Chapter 7, “Status Reporting,” starting on page 153 explains
how to check the status of the oscilloscope.
134 Keysight Infiniium Oscilloscopes Programmer's Guide
3Introduction to Programming
135
Keysight Infiniium Oscilloscopes
Programmer's Guide
4 Sequential (Blocking) vs.
Overlapped Commands
IEEE 488.2 makes the distinction between sequential and overlapped commands
(and queries):
•Sequential commands, also known as blocking commands, must finish their
task before the execution of the next command starts.
•Overlapped commands run concurrently. Commands following an overlapped
command may be started before the overlapped command is completed.
In the Infiniium oscilloscopes, for the most part, commands and queries operate
differently.
• Most commands are overlapped.
Exceptions to this are the :DIGitize command and the :DISK:SAVE commands,
which are sequential (blocking).
• Most queries are sequential (blocking).
Exceptions to this are queries, like measurement results (see Chapter 28,
“Measure Commands,” starting on page 735), that copy information from the
display without having to make acquisitions.
With sequential (blocking) commands and queries, the oscilloscope is expected to
stop processing inputs, including additional remote commands and queries as
well as front panel knobs, until completed.
Waiting for
Overlapped
Commands to
Complete
With overlapped commands, you can use the *OPC? query to prevent any more
commands from being executed until the overlapped command is complete. This
may be necessary when a command that follows an overlapped command
interferes with the overlapped command's processing or analysis. For example:
:WMEMory1:SAVE CHAN1;*OPC?;:WMEMory2:SAVE CHAN2
You can also use the *ESR? query to look at the OPC bit (bit 0) in the Standard
Event Status Register to determine when an operation is complete.
136 Keysight Infiniium Oscilloscopes Programmer's Guide
4Sequential (Blocking) vs. Overlapped Commands
Using Device Clear
to Abort a
Sequential
(Blocking)
Command
When sequential (blocking) commands take too long or fail to complete for some
reason, you can send a Device Clear over the bus to clear the input buffer and
output queue, reset the parser, and clear any pending commands.
See Also •"*OPC — Operation Complete" on page 422
•"*ESR? — Event Status Register" on page 418
•Chapter 8, “Remote Acquisition Synchronization,” starting on page 183
137
Keysight Infiniium Oscilloscopes
Programmer's Guide
5 LAN, USB, and GPIB
Interfaces
LAN Interface Connector / 138
GPIB Interface Connector / 139
Default Startup Conditions / 140
Interface Capabilities / 141
GPIB Command and Data Concepts / 142
Communicating Over the GPIB Interface / 143
Communicating Over the LAN Interface / 144
Communicating via Telnet and Sockets / 145
Bus Commands / 147
There are several types of interfaces that can be used to remotely program the
Infiniium oscilloscope including Local Area Network (LAN) interface and GPIB
interface. Telnet and sockets can also be used to connect to the oscilloscope.
138 Keysight Infiniium Oscilloscopes Programmer's Guide
5LAN, USB, and GPIB Interfaces
LAN Interface Connector
The oscilloscope is equipped with a LAN interface RJ-45 connector on the rear
panel. This allows direct connect to your network. However, before you can use
the LAN interface to program the oscilloscope, the network properties must be
configured. Unless you are a Network Administrator, you should contact your
Network Administrator to add the appropriate client, protocols, and configuration
information for your LAN. This information is different for every company.
LAN, USB, and GPIB Interfaces 5
Keysight Infiniium Oscilloscopes Programmer's Guide 139
GPIB Interface Connector
The oscilloscope is not equipped with a GPIB interface connector. You can,
however, order the N4865A GPIB-to-LAN adapter for the 9000A Series
oscilloscope.
140 Keysight Infiniium Oscilloscopes Programmer's Guide
5LAN, USB, and GPIB Interfaces
Default Startup Conditions
The following default conditions are established during power-up:
• The Request Service (RQS) bit in the status byte register is set to zero.
• All of the event registers are cleared.
• The Standard Event Status Enable Register is set to 0xFF hex.
• Service Request Enable Register is set to 0x80 hex.
• The Operation Status Enable Register is set to 0xFFFF hex.
•The Overload Event Enable Register is set to 0xFF hex.
• The Mask Test Event Enable Register is set to 0xFF hex.
You can change the default conditions using the *PSC command with a parameter
of 1 (one). When set to 1, the Standard Event Status Enable Register is set 0x00
hex and the Service Request Enable Register is set to 0x00 hex. This prevents the
Power On (PON) event from setting the SRQ interrupt when the oscilloscope is
ready to receive commands.
LAN, USB, and GPIB Interfaces 5
Keysight Infiniium Oscilloscopes Programmer's Guide 141
Interface Capabilities
The interface capabilities of this oscilloscope, as defined by IEEE 488.1 and IEEE
488.2, are listed in Table 1.
Table 1 Interface Capabilities
Code Interface Function Capability
SH1 Source Handshake Full Capability
AH1 Acceptor Handshake Full Capability
T5 Talker Basic Talker/Serial Poll/Talk Only
Mode/ Unaddress if Listen Address
(MLA)
L4 Listener Basic Listener/ Unaddresses if Talk
Address (MTA)
SR1 Service Request Full Capability
RL1 Remote Local Complete Capability
PP0 Parallel Poll No Capability
DC1 Device Clear Full Capability
DT1 Device Trigger Full Capability
C0 Computer No Capability
E2 Driver Electronics Tri State (1 MB/SEC MAX)
142 Keysight Infiniium Oscilloscopes Programmer's Guide
5LAN, USB, and GPIB Interfaces
GPIB Command and Data Concepts
The GPIB interface has two modes of operation: command mode and data mode.
The interface is in the command mode when the Attention (ATN) control line is
true. The command mode is used to send talk and listen addresses and various
interface commands such as group execute trigger (GET).
The interface is in the data mode when the ATN line is false. The data mode is used
to convey device-dependent messages across the bus. The device-dependent
messages include all of the oscilloscope-specific commands, queries, and
responses found in this manual, including oscilloscope status information.
LAN, USB, and GPIB Interfaces 5
Keysight Infiniium Oscilloscopes Programmer's Guide 143
Communicating Over the GPIB Interface
Device addresses are sent by the computer in the command mode to specify who
talks and who listens. Because GPIB can address multiple devices through the
same interface card, the device address passed with the program message must
include the correct interface select code and the correct oscilloscope address.
Device Address = (Interface Select Code * 100) + Oscilloscope Address
See Also •"Interface Select Code" on page 143
•"Oscilloscope Address" on page 143
Interface Select Code
Each interface card has a unique interface select code. This code is used by the
computer to direct commands and communications to the proper interface. The
default is typically "7" for the GPIB interface cards.
Oscilloscope Address
Each oscilloscope on the GPIB must have a unique oscilloscope address between
decimal 0 and 30. This oscilloscope address is used by the computer to direct
commands and communications to the proper oscilloscope on an interface. The
default is typically "7" for this oscilloscope. You can change the oscilloscope
address in the Utilities, Remote Interface dialog box.
NOTE
Do Not Use Address 21 for an Oscilloscope Address
Address 21 is usually reserved for the Computer interface Talk/Listen address, and should not
be used as an oscilloscope address.
144 Keysight Infiniium Oscilloscopes Programmer's Guide
5LAN, USB, and GPIB Interfaces
Communicating Over the LAN Interface
The device address used to send commands and receive data using the LAN
interface is located in the Remote Setup dialog box (Utilities > Remote Setup).
The following C example program shows how to communicate with the
oscilloscope using the LAN interface and the Keysight Standard Instrument
Control Library (SICL).
#include <sicl.h>
#define BUFFER_SIZE 1024
main()
{
INST Bus;
int reason;
unsigned long actualcnt;
char buffer[ BUFFER_SIZE ];
/* Open the LAN interface */
Bus = iopen( "lan[130.29.71.143]:hpib7,7" );
if(Bus!=0){
/* Bus timeout set to 20 seconds */
itimeout( Bus, 20000 );
/* Clear the interface */
iclear( Bus );
/* Query and print the oscilloscope's Id */
iwrite( Bus, "*IDN?", 5, 1, &actualcnt );
iread( Bus, buffer, BUFFER_SIZE, &reason, &actualcnt );
buffer[ actualcnt - 1 ] = 0;
printf( "%s\\n", buffer );
iclose( Bus );
}
}
LAN, USB, and GPIB Interfaces 5
Keysight Infiniium Oscilloscopes Programmer's Guide 145
Communicating via Telnet and Sockets
•"Telnet" on page 145
•"Sockets" on page 145
Telnet
To open a connection to the oscilloscope via a telnet connection, use the following
syntax in a command prompt:
telnet Oscilloscope_IP_Address 5024
5024 is the port number and the name of the oscilloscope can be used in place of
the IP address if desired.
After typing the above command line, press enter and a SCPI command line
interface will open. You can then use this as you typically would use a command
line.
Sockets
Sockets can be used to connect to your oscilloscope on either a Windows or Unix
machine.
The sockets are located on port 5025 on your oscilloscope. Between ports 5024
and 5025, only six socket ports can be opened simultaneously. It is, therefore,
important that you use a proper close routine to close the connection to the
oscilloscope. If you forget this, the connection will remain open and you may end
up exceeding the limit of six socket ports.
Some basic commands used in communicating to your oscilloscope include:
• The receive command is: recv
• The send command is: send
Below is a programming example (for a Windows-based machine) for opening and
closing a connection to your oscilloscope via sockets.
#include <winsock2.h>
void main ()
{
WSADATA wsaData;
SOCKET mysocket = NULL;
char* ipAddress = "130.29.70.70";
const int ipPort = 5025;
//Initialize Winsock
int iResult = WSAStartup(MAKEWORD(2,2), &wsaData);
if(iResult != NO_ERROR)
{
printf("Error at WSAStartup()\\n");
146 Keysight Infiniium Oscilloscopes Programmer's Guide
5LAN, USB, and GPIB Interfaces
return NULL;
}
//Create the socket
mySocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCOP);
if(mySocket == INVALID_SOCKET)
{
printf("Error at socket(): %ld\\n", WSAGetLastError());
WSACleanup();
return NULL;
}
sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin.addr.s_addr = inet_addr(ipAddress);
clientService.sin_port = htons(ipPort);
if(connect(mySocket, (SOCKADDR*) &clientService, sizeof(clientService
)))
{
printf("Failed to connect.\\n");
WSACleanup();
return NULL;
}
//Do some work here
//Close socket when finished
closesocket(mySocket);
}
LAN, USB, and GPIB Interfaces 5
Keysight Infiniium Oscilloscopes Programmer's Guide 147
Bus Commands
The following commands are IEEE 488.1 bus commands (ATN true). IEEE 488.2
defines many of the actions that are taken when these commands are received by
the oscilloscope.
Device Clear
The device clear (DCL) and selected device clear (SDC) commands clear the input
buffer and output queue, reset the parser, and clear any pending commands. If
either of these commands is sent during a digitize operation, the digitize operation
is aborted.
Group Execute Trigger
The group execute trigger (GET) command arms the trigger. This is the same
action produced by sending the RUN command.
Interface Clear
The interface clear (IFC) command halts all bus activity. This includes
unaddressing all listeners and the talker, disabling serial poll on all devices, and
returning control to the system computer.
148 Keysight Infiniium Oscilloscopes Programmer's Guide
5LAN, USB, and GPIB Interfaces
149
Keysight Infiniium Oscilloscopes
Programmer's Guide
6 Message Communication and
System Functions
Protocols / 150
This chapter describes the operation of oscilloscopes that operate in compliance
with the IEEE 488.2 (syntax) standard. It is intended to give you enough basic
information about the IEEE 488.2 standard to successfully program the
oscilloscope. You can find additional detailed information about the IEEE 488.2
standard in ANSI/IEEE Std 488.2-1987, "IEEE Standard Codes, Formats, Protocols,
and Common Commands."
This oscilloscope series is designed to be compatible with other Keysight
Technologies IEEE 488.2 compatible instruments. Oscilloscopes that are
compatible with IEEE 488.2 must also be compatible with IEEE 488.1 (GPIB bus
standard); however, IEEE 488.1 compatible oscilloscopes may or may not conform
to the IEEE 488.2 standard. The IEEE 488.2 standard defines the message
exchange protocols by which the oscilloscope and the computer will
communicate. It also defines some common capabilities that are found in all IEEE
488.2 oscilloscopes. This chapter also contains some information about the
message communication and system functions not specifically defined by
IEEE 488.2.
150 Keysight Infiniium Oscilloscopes Programmer's Guide
6Message Communication and System Functions
Protocols
The message exchange protocols of IEEE 488.2 define the overall scheme used by
the computer and the oscilloscope to communicate. This includes defining when it
is appropriate for devices to talk or listen, and what happens when the protocol is
not followed.
•"Functional Elements" on page 150
•"Protocol Overview" on page 150
•"Protocol Operation" on page 151
•"Protocol Exceptions" on page 151
•"Suffix Multiplier" on page 151
•"Suffix Unit" on page 152
Functional Elements
Before proceeding with the description of the protocol, you should understand a
few system components, as described here.
Input Buffer The input buffer of the oscilloscope is the memory area where commands and
queries are stored prior to being parsed and executed. It allows a computer to
send a string of commands, which could take some time to execute, to the
oscilloscope, then proceed to talk to another oscilloscope while the first
oscilloscope is parsing and executing commands.
Output Queue The output queue of the oscilloscope is the memory area where all output data or
response messages are stored until read by the computer.
Parser The oscilloscope's parser is the component that interprets the commands sent to
the oscilloscope and decides what actions should be taken. "Parsing" refers to the
action taken by the parser to achieve this goal. Parsing and execution of
commands begins when either the oscilloscope recognizes a program message
terminator, or the input buffer becomes full. If you want to send a long sequence
of commands to be executed, then talk to another oscilloscope while they are
executing, you should send all of the commands before sending the program
message terminator.
Protocol Overview
The oscilloscope and computer communicate using program messages and
response messages. These messages serve as the containers into which sets of
program commands or oscilloscope responses are placed.
A program message is sent by the computer to the oscilloscope, and a response
message is sent from the oscilloscope to the computer in response to a query
message. A query message is defined as being a program message that contains
one or more queries. The oscilloscope will only talk when it has received a valid
Message Communication and System Functions 6
Keysight Infiniium Oscilloscopes Programmer's Guide 151
query message, and therefore has something to say. The computer should only
attempt to read a response after sending a complete query message, but before
sending another program message.
Protocol Operation
When you turn the oscilloscope on, the input buffer and output queue are cleared,
and the parser is reset to the root level of the command tree.
The oscilloscope and the computer communicate by exchanging complete
program messages and response messages. This means that the computer should
always terminate a program message before attempting to read a response. The
oscilloscope will terminate response messages except during a hard copy output.
After you send a query message, the next message should be the response
message. The computer should always read the complete response message
associated with a query message before sending another program message to the
same oscilloscope.
The oscilloscope allows the computer to send multiple queries in one query
message. This is called sending a "compound query". Multiple queries in a query
message are separated by semicolons. The responses to each of the queries in a
compound query will also be separated by semicolons.
Commands are executed in the order they are received.
Protocol Exceptions
If an error occurs during the information exchange, the exchange may not be
completed in a normal manner.
Suffix Multiplier
The suffix multipliers that the oscilloscope will accept are shown in Table 2.
NOTE
Remember this Rule of Oscilloscope Communication
The basic rule to remember is that the oscilloscope will only talk when prompted to, and it
then expects to talk before being told to do something else.
Table 2 <suffix mult>
Value Mnemonic Value Mnemonic
1E18 EX 1E-3 M
1E15 PE 1E-6 U
1E12 T 1E-9 N
152 Keysight Infiniium Oscilloscopes Programmer's Guide
6Message Communication and System Functions
Suffix Unit
The suffix units that the oscilloscope will accept are shown in Table 3.
1E9 G 1E-12 P
1E6 MA 1E-15 F
1E3 K 1E-18 A
Table 2 <suffix mult> (continued)
Value Mnemonic Value Mnemonic
Table 3 <suffix unit>
Suffix Referenced Unit
VVolt
SSecond
153
Keysight Infiniium Oscilloscopes
Programmer's Guide
7 Status Reporting
Status Reporting Data Structures / 156
Status Byte Register / 158
Service Request Enable Register / 160
Message Event Register / 161
Trigger Event Register / 162
Standard Event Status Register / 163
Standard Event Status Enable Register / 164
Operation Status Register / 165
Operation Status Enable Register / 166
Mask Test Event Register / 167
Mask Test Event Enable Register / 168
Acquisition Done Event Register / 169
Process Done Event Register / 170
Trigger Armed Event Register / 171
Auto Trigger Event Register / 172
Error Queue / 1580
Output Queue / 174
Message Queue / 175
Clearing Registers and Queues / 176
Example: Checking for Armed Status / 178
An overview of the oscilloscope's status reporting structure is shown in Figure 1.
The status reporting structure shows you how to monitor specific events in the
oscilloscope. Monitoring these events lets you determine the status of an
operation, the availability and reliability of the measured data, and more.
• To monitor an event, first clear the event, then enable the event. All of the
events are cleared when you initialize the oscilloscope.
• To generate a service request (SRQ) interrupt to an external computer, enable
at least one bit in the Status Byte Register.
154 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
The Status Byte Register, the Standard Event Status Register group, and the
Output Queue are defined as the Standard Status Data Structure Model in IEEE
488.2-1987. IEEE 488.2 defines data structures, commands, and common bit
definitions for status reporting. There are also oscilloscope-defined structures and
bits.
The status reporting structure consists of the registers shown here.
Table 4 lists the bit definitions for each bit in the status reporting data structure.
Figure 1 Status Reporting Overview Block Diagram
Table 4 Status Reporting Bit Definition
Bit Description Definition
PON Power On Indicates power is turned on.
URQ User Request Not Used. Permanently set to zero.
CME Command Error Indicates if the parser detected an error.
EXE Execution Error Indicates if a parameter was out of range or was
inconsistent with the current settings.
DDE Device Dependent Error Indicates if the device was unable to complete
an operation for device-dependent reasons.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 155
QYE Query Error Indicates if the protocol for queries has been
violated.
RQL Request Control Indicates if the device is requesting control.
OPC Operation Complete Indicates if the device has completed all
pending operations.
OPER Operation Status Register Indicates if any of the enabled conditions in the
Operation Status Register have occurred.
RQS Request Service Indicates that the device is requesting service.
MSS Master Summary Status Indicates if a device has a reason for requesting
service.
ESB Event Status Bit Indicates if any of the enabled conditions in the
Standard Event Status Register have occurred.
MAV Message Available Indicates if there is a response in the output
queue.
MSG Message Indicates if an advisory has been displayed.
USR User Event Register Indicates if any of the enabled conditions have
occurred in the User Event Register.
TRG Trigger Indicates if a trigger has been received.
WAIT TRIG Wait for Trigger Indicates the oscilloscope is armed and ready for
trigger.
Table 4 Status Reporting Bit Definition (continued)
Bit Description Definition
156 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Status Reporting Data Structures
The different status reporting data structures, descriptions, and interactions are
shown in Figure 2. To make it possible for any of the Standard Event Status
Register bits to generate a summary bit, you must enable the corresponding bits.
These bits are enabled by using the *ESE common command to set the
corresponding bit in the Standard Event Status Enable Register.
To generate a service request (SRQ) interrupt to the computer, you must enable at
least one bit in the Status Byte Register. These bits are enabled by using the *SRE
common command to set the corresponding bit in the Service Request Enable
Register. These enabled bits can then set RQS and MSS (bit 6) in the Status Byte
Register.
For more information about common commands, see the "Common Commands"
chapter.
Figure 2 Status Reporting Data Structures
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 157
Figure 3 Status Reporting Data Structures (Continued)
158 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Status Byte Register
The Status Byte Register is the summary-level register in the status reporting
structure. It contains summary bits that monitor activity in the other status
registers and queues. The Status Byte Register is a live register. That is, its
summary bits are set and cleared by the presence and absence of a summary bit
from other event registers or queues.
If the Status Byte Register is to be used with the Service Request Enable Register
to set bit 6 (RQS/MSS) and to generate an SRQ, at least one of the summary bits
must be enabled, then set. Also, event bits in all other status registers must be
specifically enabled to generate the summary bit that sets the associated
summary bit in the Status Byte Register.
You can read the Status Byte Register using either the *STB? common command
query or the GPIB serial poll command. Both commands return the
decimal-weighted sum of all set bits in the register. The difference between the
two methods is that the serial poll command reads bit 6 as the Request Service
(RQS) bit and clears the bit which clears the SRQ interrupt. The *STB? query reads
bit 6 as the Master Summary Status (MSS) and does not clear the bit or have any
effect on the SRQ interrupt. The value returned is the total bit weights of all of the
bits that are set at the present time.
The use of bit 6 can be confusing. This bit was defined to cover all possible
computer interfaces, including a computer that could not do a serial poll. The
important point to remember is that if you are using an SRQ interrupt to an
external computer, the serial poll command clears bit 6. Clearing bit 6 allows the
oscilloscope to generate another SRQ interrupt when another enabled event
occurs.
The only other bit in the Status Byte Register affected by the *STB? query is the
Message Available bit (bit 4). If there are no other messages in the Output Queue,
bit 4 (MAV) can be cleared as a result of reading the response to the *STB? query.
If bit 4 (weight = 16) and bit 5 (weight = 32) are set, a program would print the sum
of the two weights. Since these bits were not enabled to generate an SRQ, bit 6
(weight = 64) is not set.
Example 1 This example uses the *STB? query to read the contents of the oscilloscope's
Status Byte Register when none of the register's summary bits are enabled to
generate an SRQ interrupt.
Dim varStbValue As Variant
myScope.WriteString ":SYSTem:HEADer OFF;*STB?" 'Turn headers off
varStbValue = myScope.ReadNumber
Debug.Print "Status Byte Register, Read: 0x" + Hex(varStbValue)
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 159
The next program prints "0x84" and clears bit 6 (RQS) of the Status Byte Register.
The difference in the decimal value between this example and the previous one is
the value of bit 6 (weight = 64). Bit 6 is set when the first enabled summary bit is
set, and is cleared when the Status Byte Register is read by the serial poll
command.
Example 2 The following example uses the resource session object's ReadSTB method to read
the contents of the oscilloscope's Status Byte Register.
varStbValue = myScope.IO.ReadSTB
Debug.Print "Status Byte Register, Serial Poll: 0x" + Hex(varStbValue)
See Also •"Example: Checking for Armed Status" on page 178
NOTE
Use Serial Polling to Read the Status Byte Register
Serial polling is the preferred method to read the contents of the Status Byte Register because
it resets bit 6 and allows the next enabled event that occurs to generate a new SRQ interrupt.
160 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Service Request Enable Register
Setting the Service Request Enable Register bits enables corresponding bits in the
Status Byte Register. These enabled bits can then set RQS and MSS (bit 6) in the
Status Byte Register.
Bits are set in the Service Request Enable Register using the *SRE command, and
the bits that are set are read with the *SRE? query. Bit 6 always returns 0. Refer to
the Status Reporting Data Structures shown in Figure 2.
Example The following example sets bit 4 (MAV) and bit 5 (ESB) in the Service Request
Enable Register.
myScope.WriteString "*SRE " + CStr(CInt("&H30"))
This example uses the decimal parameter value of 48, the string returned by
CStr(CInt("&H30")), to enable the oscilloscope to generate an SRQ interrupt under
the following conditions:
• When one or more bytes in the Output Queue set bit 4 (MAV).
• When an enabled event in the Standard Event Status Register generates a
summary bit that sets bit 5 (ESB).
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 161
Message Event Register
This register sets the MSG bit in the status byte register when an internally
generated message is written to the advisory line on the oscilloscope. The
message is read using the :SYSTem:DSP? query. Note that messages written to
the advisory line on the oscilloscope using the :SYSTem:DSP command does not
set the MSG status bit.
162 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Trigger Event Register
This register sets the TRG bit in the status byte register when a trigger event
occurs.
The trigger event register stays set until it is cleared by reading the register with
the TER? query or by using the *CLS (clear status) command. If your application
needs to detect multiple triggers, the trigger event register must be cleared after
each one.
If you are using the Service Request to interrupt a computer operation when the
trigger bit is set, you must clear the event register after each time it is set.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 163
Standard Event Status Register
The Standard Event Status Register (SESR) monitors the following oscilloscope
status events:
• PON - Power On
• CME - Command Error
• EXE - Execution Error
• DDE - Device Dependent Error
• QYE - Query Error
•RQC - Request Control
• OPC - Operation Complete
When one of these events occurs, the corresponding bit is set in the register. If the
corresponding bit is also enabled in the Standard Event Status Enable Register, a
summary bit (ESB) in the Status Byte Register is set.
You can read the contents of the Standard Event Status Register and clear the
register by sending the *ESR? query. The value returned is the total bit weights of
all bits set at the present time.
Example The following example uses the *ESR query to read the contents of the Standard
Event Status Register.
myScope.WriteString ":SYSTem:HEADer OFF" 'Turn headers off
myScope.WriteString "*ESR?"
varQueryResult = myScope.ReadNumber
Debug.print "Standard Event Status Register: 0x" + Hex(varQueryResult)
If bit 4 (weight = 16) and bit 5 (weight = 32) are set, the program prints the sum of
the two weights.
164 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Standard Event Status Enable Register
For any of the Standard Event Status Register bits to generate a summary bit, you
must first enable the bit. Use the *ESE (Event Status Enable) common command to
set the corresponding bit in the Standard Event Status Enable Register. Set bits
are read with the *ESE? query.
Example Suppose your application requires an interrupt whenever any type of error occurs.
The error related bits in the (Standard) Event Status Register are bits 2 through 5
(hexadecimal value 0x3C). Therefore, you can enable any of these bits to generate
the summary bit by sending:
myScope.WriteString "*ESE " + CStr(CInt("&H3C"))
Whenever an error occurs, it sets one of these bits in the (Standard) Event Status
Register. Because all the error related bits are enabled, a summary bit is generated
to set bit 5 (ESB) in the Status Byte Register.
If bit 5 (ESB) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the controller PC.
NOTE
Disabled Standard Event Status Register Bits Respond, but Do Not Generate a
Summary Bit
Standard Event Status Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Status Byte Register.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 165
Operation Status Register
This register hosts the following bits:
• ACQ DONE bit 0
•PROC DONE bit 1
•WAIT TRIG bit 5
• MASK bit 9
•AUTO TRIG bit 11
• OVLR bit 12
The ACQ DONE done bit is set by the Acquisition Done Event Register.
The PROC DONE bit is set by the Process Done Event Register and indicates that
all functions and all math processes are done.
The WAIT TRIG bit is set by the Trigger Armed Event Register and indicates the
trigger is armed.
The MASK bit is set whenever at least one of the Mask Test Event Register bits is
enabled.
The AUTO TRIG bit is set by the Auto Trigger Event Register.
The OVLR bit is set whenever at least one of the Overload Event Register bits is
enabled.
If any of these bits are set, the OPER bit (bit 7) of the Status Byte Register is set.
The Operation Status Register is read and cleared with the OPER? query. The
register output is enabled or disabled using the mask value supplied with the
OPEE command.
See Also •"Example: Checking for Armed Status" on page 178
166 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Operation Status Enable Register
For any of the Operation Status Register bits to generate a summary bit, you must
first enable the bit. Use the OPEE (Operation Event Status Enable) command to set
the corresponding bit in the Operation Status Enable Register. Set bits are read
with the OPEE? query.
Example Suppose your application requires an interrupt whenever any event occurs in the
mask test register. The error status bit in the Operation Status Register is bit 9.
Therefore, you can enable this bit to generate the summary bit by sending:
myScope.WriteString ":OPEE " + CStr(CInt("&H200"))
Whenever an error occurs, the oscilloscope sets this bit in the Mask Test Event
Register. Because this bit is enabled, a summary bit is generated to set bit 9
(OPER) in the Operation Status Register.
If bit 7 (OPER) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the external computer.
NOTE
Disabled Operation Status Register Bits Respond, but Do Not Generate a Summary
Bit
Operation Status Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Status Byte Register.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 167
Mask Test Event Register
This register hosts the following bits:
• Mask Test Complete bit (bit 0)
• Mask Test Fail bit (bit 1)
• Mask Low Amplitude bit (bit 2)
• Mask High Amplitude bit (bit 3)
• Mask Align Complete bit (bit 4)
• Mask Align Fail bit (bit 5)
The Mask Test Complete bit is set whenever the mask test is complete.
The Mask Test Fail bit is set whenever the mask test failed.
The Mask Low Amplitude bit is set whenever the signal is below the mask
amplitude.
The Mask High Amplitude bit is set whenever the signal is above the mask
amplitude.
The Mask Align Complete bit is set whenever the mask align is complete.
The Mask Align Fail bit is set whenever the mask align failed.
If any of these bits are set, the MASK bit (bit 9) of the Operation Status Register is
set. The Mask Test Event Register is read and cleared with the MTER? query. The
register output is enabled or disabled using the mask value supplied with the
MTEE command.
168 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Mask Test Event Enable Register
For any of the Mask Test Event Register bits to generate a summary bit, you must
first enable the bit. Use the MTEE (Mask Test Event Enable) command to set the
corresponding bit in the Mask Test Event Enable Register. Set bits are read with
the MTEE? query.
Example Suppose your application requires an interrupt whenever a Mask Test Fail occurs
in the mask test register. You can enable this bit to generate the summary bit by
sending:
myScope.WriteString ":MTEE " + CStr(CInt("&H2"))
Whenever an error occurs, the oscilloscope sets the MASK bit in the Operation
Status Register. Because the bits in the Operation Status Enable Register are all
enabled, a summary bit is generated to set bit 7 (OPER) in the Status Byte
Register.
If bit 7 (OPER) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the external computer.
NOTE
Disabled Mask Test Event Register Bits Respond, but Do Not Generate a Summary
Bit
Mask Test Event Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Operation Status Register.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 169
Acquisition Done Event Register
The Acquisition Done Event Register (ACQ DONE) sets bit 0 (ACQ DONE bit) in the
Operation Status Register when the oscilloscope acquisition is completed.
The ACQ DONE event register stays set until it is cleared by reading the register by
a ADER? query. If your application needs to detect multiple acquisitions, the ACQ
DONE event register must be cleared after each acquisition.
See Also •"Example: Blocking and Polling Synchronization" on page 189
170 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Process Done Event Register
The Process Done Event Register (PDER) sets bit 1 (PROC DONE) of the Operation
Status Register when all functions and all math operations are completed. The
PDER bit stays set until cleared by a PDER? query.
See Also •"Example: Blocking and Polling Synchronization" on page 189
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 171
Trigger Armed Event Register
The Trigger Armed Event Register (TDER) sets bit 5 (WAIT TRIG) in the Operation
Status Register when the oscilloscope becomes armed.
The ARM event register stays set until it is cleared by reading the register with the
AER? query. If your application needs to detect multiple triggers, the ARM event
register must be cleared after each one.
See Also •"Example: Checking for Armed Status" on page 178
172 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Auto Trigger Event Register
The Auto Trigger Event Register (AUTO TRIG) sets bit 11 (AUTO TRIG) in the
Operation Status Register when an auto trigger event occurs. The AUTO TRIG
register stays set until it is cleared by reading the register with the ATER? query. If
the application needs to detect multiple auto trigger events, the AUT TRIG register
must be cleared after each one.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 173
Error Queue
As errors are detected, they are placed in an error queue. This queue is a first-in,
first-out queue. If the error queue overflows, the last error in the queue is replaced
with error -350, "Queue overflow." Any time the queue overflows, the oldest errors
remain in the queue, and the most recent error is discarded. The length of the
oscilloscope's error queue is 30 (29 positions for the error messages, and 1
position for the "Queue overflow" message).
The error queue is read with the :SYSTem:ERRor? query. Executing this query
reads and removes the oldest error from the head of the queue, which opens a
position at the tail of the queue for a new error. When all the errors have been read
from the queue, subsequent error queries return 0, "No error."
The error queue is cleared when any of these events occur:
• When the oscilloscope is powered up.
• When the oscilloscope receives the *CLS common command.
• When the last item is read from the error queue.
For more information on reading the error queue, refer to the :SYSTem:ERRor?
query in the System Commands chapter. For a complete list of error messages,
refer to the chapter, "Error Messages."
174 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Output Queue
The output queue stores the oscilloscope-to-controller responses that are
generated by certain oscilloscope commands and queries. The output queue
generates the Message Available summary bit when the output queue contains
one or more bytes. This summary bit sets the MAV bit (bit 4) in the Status Byte
Register.
When using the Keysight VISA COM library, the output queue may be read with
the FormattedIO488 object's ReadString, ReadNumber, ReadList, or
ReadIEEEBlock methods.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 175
Message Queue
The message queue contains the text of the last message written to the advisory
line on the screen of the oscilloscope. The queue is read with the :SYSTem:DSP?
query. Note that messages sent with the :SYSTem:DSP command do not set the
MSG status bit in the Status Byte Register.
176 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Clearing Registers and Queues
The *CLS common command clears all event registers and all queues except the
output queue. If *CLS is sent immediately following a program message
terminator, the output queue is also cleared.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 177
Figure 4 Status Reporting Decision Chart
yes
no Do you want
to do status
reporting?
Do you want to
send a Service Request
(SRQ) interrupt to the
controller?
Do you want to
report events monitored by
the Standard Event Status
Register?
yes
no (Your programs can read the status registers instead.)
yes
no
Reset the instrument and
clear the status registers:
myScope.WriteString "*RST"
myScope.WriteString "*CLS"
Use the *ESE common command
to enable the bits you want to
use to generate the ESB summary
bit in the Status Byte Register.
Use the *ESE common command
to enable the bits you want to
generate the RQS/MSS bit to set
bit 6 in the Status Byte Register
and send SRQ to the computer.
If events are monitored by the
Standard Event Status Register,
also enable ESB with the *SRE
command.
Activate the instrument function
that you want to monitor.
When an interrupt occurs, interrupt
handler should serial poll STB with:
varR = myScope.IO.ReadSTB
END
To read the Status Byte Register,
use the following:
myScope.WriteString "*STB?"
varR = myScope.ReadNumber
MsgBox "STB: 0x" + Hex(varR)
This displays the hexadecmal value
of the Status Byte Register.
Determine which bits in the
Status Byte Register are set.
Use the following to read the
contents of the status byte:
myScope.WriteString "*STB?"
varR = myScope.ReadNumber
MsgBox "STB: 0x" + Hex(varR)
Use the following to see if an
operation is complete:
myScope.WriteString "*OPC?"
varR = myScope.ReadNumber
MsgBox "OPC: 0x" + Hex(varR)
Use the following to read the
Standard Event Status Register:
myScope.WriteString "*ESR?"
varR = myScope.ReadNumber
MsgBox "ESR: 0x" + Hex(varR)
178 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
Example: Checking for Armed Status
# -*- coding: utf-8 -*-
# ********************************************************************
# This script using the Python language (http://www.python.org/) and
# the PyVISA package (http://pyvisa.readthedocs.org/) shows three
# methods to tell whether a Keysight Infiniium oscilloscope is armed.
# ********************************************************************
# Import modules
# --------------------------------------------------------------------
import sys
import visa
import time
# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = "TCPIP0::141.121.228.133::hislip0::INSTR"
GLOBAL_TOUT = 10000 # IO timeout in milliseconds
# Connect and initialize oscilloscope
# --------------------------------------------------------------------
# Define VISA Resource Manager & Install directory
rm = visa.ResourceManager('C:\\Windows\\System32\\visa32.dll')
# Define and open the oscilloscope using the VISA address
KsInfiniiumScope = rm.open_resource(VISA_ADDRESS)
# Set the Global Timeout
KsInfiniiumScope.timeout = GLOBAL_TOUT
# Clear the instrument bus
KsInfiniiumScope.clear()
# Reset the oscilloscope.
KsInfiniiumScope.write("*RST")
# Autoscale to set up vertical scale and trigger level on channel 1.
KsInfiniiumScope.write(":AUToscale:CHANnels DISPlayed")
KsInfiniiumScope.write(":AUToscale")
# Ensure a "long" time to arm (5 seconds) and not trigger immediately.
# --------------------------------------------------------------------
# 10 second total capture, with trigger point in the middle = 5s to arm
KsInfiniiumScope.write(":TIMebase:RANGe 10")
# Prevent Auto trigger.
KsInfiniiumScope.write(":TRIGger:SWEep TRIGgered")
# ====================================================================
# Method 1: Query the Armed Event Register with :AER?
# --------------------------------------------------------------------
# This method reads the 1-bit Armed Event Register using the :AER?
# query.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 179
#
# The Armed Event Register bit goes low (0) when it is read using
# :AER? or when a *CLS command is issued.
# ====================================================================
# Stop the oscilloscope.
KsInfiniiumScope.query(":STOP;*OPC?")
# Method 1: Initiate capture using :SINGle
# --------------------------------------------------------------------
print "Acquiring signal (Method 1, using :SINGle)...\n"
now = time.clock()
# Clear all status registers before checking for new events.
KsInfiniiumScope.write("*CLS")
# Because the :AER? query will not work with :DIGitize (which is
# blocking), use the :SINGle command to start the acquisition.
KsInfiniiumScope.write(":SINGle")
# Method 1: Determine if armed using :AER? query.
# --------------------------------------------------------------------
# Define armed criteria.
ARMED = 1
# Test for armed.
ARMED_STATUS = int(KsInfiniiumScope.query(":AER?"))
# Wait indefinitely until armed.
while ARMED_STATUS != ARMED:
# Check the status again after small delay.
time.sleep(0.1) # 100 ms delay to prevent excessive queries.
ARMED_STATUS = int(KsInfiniiumScope.query(":AER?"))
print "Oscilloscope is armed (method 1, using :AER? query)!"
print"Ittook"+str(time.clock() - now) +\
" seconds to arm.\n"
# ====================================================================
# Method 2: Read the Status Byte
# --------------------------------------------------------------------
# This method reads the Status Byte register's OPER bit (bit 7) using
# the "read status byte" function in VISA, which works during blocking
# commands and can therefore be used with the :DIGitize command.
#
# The Status Byte bits do NOT go low (0) when the register is read.
#
# The *CLS command will clear the Status Byte bits.
# ====================================================================
# Stop the oscilloscope.
KsInfiniiumScope.query(":STOP;*OPC?")
# Method 2: Initiate capture using :DIGitize or :SINGle
# --------------------------------------------------------------------
print "Acquiring signal (Method 2, using :DIGitize)...\n"
now = time.clock()
180 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
# Clear all status registers before checking for new events.
KsInfiniiumScope.write("*CLS")
# Mask out all bits in the Operation Status Register except for
# the ARM bit.
KsInfiniiumScope.write(":OPEE 32") # "Unmask" only the arm bit
# Use the :DIGitize command to start the acquisition.
KsInfiniiumScope.write(":DIGitize")
# Method 2: Determine if armed by reading the Status Byte.
# --------------------------------------------------------------------
# Define register bit masks for the Status Byte Register
ARM_BIT = 7
# 1 leftshift7=128(bit 7 in the Status Byte Register)
ARM_MASK = 1 << ARM_BIT
# Define armed criteria.
ARMED=1<<ARM_BIT # 1 leftshift 7 = 128
# Test for armed.
STATUS_BYTE = int(KsInfiniiumScope.read_stb())
ARMED_STATUS = STATUS_BYTE & ARM_MASK
# Note that you could also do:
# ARMED_STATUS = int(KsInfiniiumScope.query("*STB?))
# BUT *STB? does not work with the blocking :DIGitize.
# Wait indefinitely until armed.
while ARMED_STATUS != ARMED:
# Check the status again after small delay.
time.sleep(0.1) # 100 ms delay to prevent excessive queries.
STATUS_BYTE = int(KsInfiniiumScope.read_stb())
ARMED_STATUS = STATUS_BYTE & ARM_MASK
print "Oscilloscope is armed (method 2, using Read STB function)!"
print"Ittook"+str(time.clock() - now) +\
" seconds to arm.\n"
# ====================================================================
# Method 3: Query the Operation Status Register with :OPER?
# --------------------------------------------------------------------
# This method reads the Operation Status Register's Wait Trig bit
# (bit 5) using the :OPER? query.
#
# The Operation Status Register bits do NOT go low (0) when the
# register is read.
#
# Also, the Wait Trig bit does NOT go low (0) when the oscilloscope
# becomes unarmed by starting or stopping another acquisition (before
# the first one finishes) or by changing the time scale.
#
# The Wait Trig bit is cleared by a *CLS command, or by reading the
# Armed Event Register register with the :AER? query.
# ====================================================================
# Stop the oscilloscope.
Status Reporting 7
Keysight Infiniium Oscilloscopes Programmer's Guide 181
KsInfiniiumScope.query(":STOP;*OPC?")
# Method 3: Initiate capture using :SINGle
# --------------------------------------------------------------------
print "Acquiring signal (Method 3, using :SINGle)...\n"
now = time.clock()
# Clear all status registers before checking for new events.
KsInfiniiumScope.write("*CLS")
# Because the :OPER? query will not work with :DIGitize (which is
# blocking), use the :SINGle command to start the acquisition.
KsInfiniiumScope.write(":SINGle")
# Method 3: Determine if armed using :OPER? query.
# --------------------------------------------------------------------
# Define register bit masks for the Operation Status Register
ARM_BIT = 5
# 1 leftshift5=32(bit 5 in the Operation Status Register)
ARM_MASK = 1 << ARM_BIT
# Define armed criteria.
ARMED=1<<ARM_BIT # 1 leftshift 5 = 32
# Test for armed.
STATUS_REGISTER = int(KsInfiniiumScope.query(":OPER?"))
ARMED_STATUS = STATUS_REGISTER & ARM_MASK
# Wait indefinitely until armed.
while ARMED_STATUS != ARMED:
# Check the status again after small delay.
time.sleep(0.1) # 100 ms delay to prevent excessive queries.
STATUS_REGISTER = int(KsInfiniiumScope.query(":OPER?"))
ARMED_STATUS = STATUS_REGISTER & ARM_MASK
print "Oscilloscope is armed (method 3, using :OPER? query)!"
print"Ittook"+str(time.clock() - now) +\
" seconds to arm.\n"
# End of Script
# --------------------------------------------------------------------
KsInfiniiumScope.clear() # Clear communications interface
KsInfiniiumScope.close() # Close communications interface
print "All done."
182 Keysight Infiniium Oscilloscopes Programmer's Guide
7Status Reporting
183
Keysight Infiniium Oscilloscopes
Programmer's Guide
8 Remote Acquisition
Synchronization
Programming Flow / 184
Setting Up the Oscilloscope / 185
Acquiring a Waveform / 186
Retrieving Results / 187
Acquisition Synchronization / 188
Single Shot Device Under Test (DUT) / 198
Averaging Acquisition Synchronization / 199
When remotely controlling an oscilloscope with SCPI commands, it is often
necessary to know when the oscilloscope has finished the previous operation and
is ready for the next SCPI command. The most common example is when an
acquisition is started using the :DIG, :RUN, or :SINGle commands. Before a
measurement result can be queried, the acquisition must complete. Too often,
fixed delays are used to accomplish this wait, but fixed delays often use excessive
time or the time may not be long enough. A better solution is to use synchronous
commands and status to know when the oscilloscope is ready for the next request.
184 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
Programming Flow
Most remote programming follows these three general steps:
1Setup the oscilloscope and device under test
2Acquire a waveform
3Retrieve results
Remote Acquisition Synchronization 8
Keysight Infiniium Oscilloscopes Programmer's Guide 185
Setting 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? command.
After the oscilloscope is configured, it is ready for an acquisition.
NOTE
It is not necessary to use the *OPC? command, hard coded waits, or status checking when
setting up the oscilloscope.
186 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
Acquiring 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.
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 based on the oscilloscope
setup and device under test.
Advantages •No need for polling
•Fast method
•Remote interface will not timeout
•No need for device clear if no
trigger
Disadvantages •Remote interface may timeout
•Device clear only way to get control
of oscilloscope if there is no trigger
•Slower method
•Required polling loop
•Required known maximum wait
time
Remote Acquisition Synchronization 8
Keysight Infiniium Oscilloscopes Programmer's Guide 187
Retrieving Results
Once the acquisition is complete, it is safe to retrieve measurements and statistics.
188 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
Acquisition Synchronization
•"Blocking Synchronization" on page 188
•"Polling Synchronization With Timeout" on page 188
•"Example: Blocking and Polling Synchronization" on page 189
Blocking Synchronization
Use the :DIGitize command to start the acquisition. This blocks subsequent
queries until the acquisition and processing is complete.
Example // Setup
:TRIGger:MODE EDGE
:TIMebase:SCALE 5e-9
//Acquire
:DIG
//Get results
:MEASure:RISetime?
Polling Synchronization With Timeout
This example requires a timeout value so the operation can abort if an acquisition
does not occur within the timeout period.
Example TIMEOUT = 1000ms
currentTime = 0ms
// Setup
:STOP; *OPC? // if not stopped
:ADER? // clear ADER event
// Acquire
:SINGle
while(currentTime <= TIMEOUT)
{
if (:ADER? == 1)
{
break;
}
else
{
// Use small wait to prevent excessive
// queries to the oscilloscope
wait (100ms)
currentTime += 100ms
}
}
//Get results
Remote Acquisition Synchronization 8
Keysight Infiniium Oscilloscopes Programmer's Guide 189
if (currentTime < TIMEOUT)
{
:MEASure:RISetime?
}
Example: Blocking and Polling Synchronization
# -*- coding: utf-8 -*-
# ********************************************************************
# This script using the Python language (http://www.python.org/) and
# the PyVISA package (http://pyvisa.readthedocs.org/) shows the two
# best synchronization methods for Infiniium real-time oscilloscopes.
# Benefits and drawbacks of each method are described. No error
# handling is provided except in the actual synchronization methods.
# ********************************************************************
# Import modules
# --------------------------------------------------------------------
import sys
import visa
import time
# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = "TCPIP0::141.121.228.133::hislip0::INSTR"
GLOBAL_TOUT = 10000 # IO time out in milliseconds
TIME_TO_TRIGGER = 10 # Time in seconds
# --------------------------------------------------------------------
# This is the time until the FIRST trigger event.
#
# While the script calculates a general time out for the given setup,
# it cannot know when a trigger event will occur. Thus, you must
# still set this value.
#
# This time is in addition to the calculated minimum timeout... so, if
# an oscilloscope might take say, 1 us to arm and acquire data, the
# signal might take 100 seconds before it occurs... this accounts for
# that.
#
# The SCOPE_ACQUISITION_TIME_OUT calculation pads this by 1.1.
# --------------------------------------------------------------------
TIME_BETWEEN_TRIGGERS = 0.025 # Time in seconds - for Average,
# Segmented, and Equivalent Time modes, else set to 0
# --------------------------------------------------------------------
# In Average, Segmented, and Equivalent Time modes, the oscilloscope
# makes repeated acquisitions. This is similar to the above
# TIME_TO_TRIGGER, but it is the time BETWEEN triggers. For example,
# it might take 10 seconds for the first trigger event, and then they
# might start occurring regularly at say, 1 ms intervals. In that
# scenario, 15 seconds (a conservative number for 10s) would be good
# for TIME_TO_TRIGGER, and 2 ms (again conservative) would be good for
# TIME_BETWEEN_TRIGGERS.
190 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
#
# The default in this sample script is 0.025 seconds. This is to make
# the sample work for the LINE trigger used in this script when the
# oscilloscope is in Average, Segmented, and Equivalent Time modes to
# force a trigger off of the AC input line (:TRIGger:EDGE:SOURce LINE)
# which runs at 50 or 60 Hz in most of the world (1/50 Hz -> 20 ms, so
# use 25 ms to be conservative).
#
# The SCOPE_ACQUISITION_TIME_OUT calculation pads this by 1.1.
# --------------------------------------------------------------------
PROCESSING_TIME = 0 # Time in seconds - this is needed to account
# for additional time after an acquisition to do any processing such
# as FFTs, jitter, etc.
# --------------------------------------------------------------------
# When using repetitive modes such as average or segmented mode,
# processing happens only once, at the end, on either the final
# averaged waveform or the last segment, thus this only needs to be
# accounted for once.
#
# This time cannot be known ahead of time. One needs to measure this
# time:
#
# To measure PROCESSING_TIME, a second oscilloscope is ideal.
#
# 1. Connect the trigger output of the oscilloscope to be
# programmed to an input on a second oscilloscope. It is
# often best to use peak detect mode, maximize the signal
# display intensity, and set the trigger sweep to
# Normal/Triggered, not auto.
#
# 2. Feed the oscilloscope to be programmed a 1 MHz (or faster)
# sine or square wave or other continuous signal such that the
# trigger condition is always met and the oscilloscope will
# trigger as fast as it can.
#
# 3. Set up the oscilloscope to be programmed as it will be used,
# and put it in the RUNNING state (press the front panel Run
# key).
#
# 4. Observe and record the delta time (DT) between trigger
# output pulses. There will be some variation, use the
# largest observed delta time.
#
# 5. Turn off any processing and again record the smallest delta
# time of the trigger output pulses.
#
# 6. Calculate PROCESSING_TIME as
# DT_largest_processing_ON - DT_smallest_processing_OFF
#
# For example, with an S-Series oscilloscope, at 67 MPts and
# 20 GSa/s (~3.35 ms time capture) with sinx/x interpolation
# enabled, it takes on the order of ~10-15 ms per capture to
# capture and display one channel repetitively. Once an FFT
# is enabled, it takes about ~8.2 seconds to repetitively
# capture, calculate the FFT, and display it, repetitively.
# Thus the PROCESSING_TIME should be 8.2 s - 15 ms = ~8.2
Remote Acquisition Synchronization 8
Keysight Infiniium Oscilloscopes Programmer's Guide 191
# seconds. Here, 10 seconds should then be used. (FFTs take a
# logarithmically long time to compute.)
#
# The SCOPE_ACQUISITION_TIME_OUT calculation pads this by 1.2.
# --------------------------------------------------------------------
# ====================================================================
# Define a simple and fast function utilizing the blocking :DIGitize
# command in conjunction with *OPC?.
# --------------------------------------------------------------------
#
# Benefits of this method:
#
# - Fastest, compact, simple
# - Works for ALL modes including averaging.
# - Don't have to deal with the status registers, which can be
# confusing.
#
# Drawbacks of this method:
#
# - Requires a well-chosen, hard-set timeout that will cover the
# time to arm, trigger, finish acquisition AND any processing
# that is already enabled, for example FFTs, math functions,
# measurements, jitter separation... The script calculates this
# timeout.
#
# Please note that for segmented memory mode, any processing
# would happen only for the final segment.
#
# Please note that for average acquisition mode, any processing
# would happen only for the final averaged waveform.
#
# - Requires Exception handling and a device clear for a possible
# timeout (no trigger event)
#
# How it works:
#
# - The :DIGitize command is a blocking command, and thus, no
# other SCPI commands will *execute* until :DIGitize is completely
# done. This includes any subsequent processing that is already
# set up, such as math, jitter separation, measurements.
#
# KEY POINT: However, :DIGitize does not prevent additional
# commands from being sent to the queue or cause the remote
# program to wait. For example, if your program does something
# like:
#
# KsInfiniiumScope.write(":DIGitize")
# sys.stdout.write("Signal acquired.\n")
#
# The "Signal acquired" message will be written immediately
# after the :DIGitize is sent, not after the acquisition and
# processing is complete.
#
# To pause the program until the :DIGitize is complete, you must
# wait for a query result after the :DIGitize. For example, in
192 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
# this case:
#
# query_result = KsInfiniiumScope.query(":DIGitize;*OPC?")
# sys.stdout.write("Signal acquired.\n")
#
# The "Signal acquired" message will be written after the
# acquisition and processing is complete. The *OPC? query is
# appended to :DIGitize with a semi-colon (;), which
# essentially ties it to the same thread in the parser. It is
# immediately dealt with once :DIGitize finishes and gives a "1"
# back to the program (whether the program uses it or not),
# allowing the program to move on.
#
# Other Notes:
#
# - If you DO NOT know when a trigger will occur, you will need to
# set a very long time out (that is, TIME_TO_TRIGGER should be
# very long).
#
# - Because it is essentially impossible to know how long
# additional processing (for example FFT) will take ahead of
# time, it CAN be beneficial to turn on such things AFTER the
# signal is acquired. Further, because much of this processing
# is done in the Windows OS and memory space, there CAN be a
# large variation in the post-acquisition processing time.
# However, read the comments at PROCESSING_TIME for how to
# actually measure this, and it can be accounted for.
#
# - The timeout will need to be (should be) adjusted before and
# after the :DIGitize operation, though this is not absolutely
# required.
#
# - A :DIGitize can be aborted with a device clear:
# KsInfiniiumScope.clear()
#
# The device clear itself can timeout. Can happen if issued
# after acquisition done, but scope is still processing a long
# FFT, for example. A few (10) seconds is usually plenty.
# ====================================================================
def blocking_method():
KsInfiniiumScope.timeout = SCOPE_ACQUISITION_TIME_OUT
# Time in milliseconds (PyVisa uses ms) to wait for the
# oscilloscope to arm, trigger, finish acquisition, and finish
# any processing.
#
# Note that this is a property of the device interface,
# KsInfiniiumScope
#
# If doing repeated acquisitions, this should be done BEFORE the
# loop, and changed again after the loop if the goal is to
# achieve the best throughput.
sys.stdout.write("Acquiring signal(s)...\n")
# Set up a try/except block to catch a possible timeout and exit.
try:
KsInfiniiumScope.query(":DIGitize;*OPC?")
Remote Acquisition Synchronization 8
Keysight Infiniium Oscilloscopes Programmer's Guide 193
# Acquire the signal(s) with :DIGitize (blocking) and wait
# until *OPC? comes back with a one.
sys.stdout.write("Signal acquired.\n")
# Catch a possible timeout and exit.
except Exception:
print "The acquisition timed out, most likely due to no " \
"trigger or improper setup causing no trigger. " \
"Properly closing the oscilloscope connection and " \
"exiting script.\n"
KsInfiniiumScope.clear() # Clear communications interface;
# A device clear also aborts digitize.
KsInfiniiumScope.close() # Close communications interface
sys.exit("Exiting script.")
# Reset timeout back to what it was, GLOBAL_TOUT.
KsInfiniiumScope.timeout = GLOBAL_TOUT
# ====================================================================
# Define a function using the non-blocking :SINGle command and polling
# on the Processing Done Event Register
# --------------------------------------------------------------------
#
# Benefits of this method:
#
# - Don't have to worry about interface timeouts.
# - Easy to expand to know when the oscilloscope is armed.
#
# Drawbacks of this method:
#
# - Slow, as you don't want to poll the oscilloscope too fast.
#
# - Still need some maximum timeout (here MAX_TIME_TO_WAIT),
# ideally, or the script will sit in the while loop forever if
# there is no trigger event.
#
# If using :PDER? max time out (here MAX_TIME_TO_WAIT) must also
# account for any processing done (PROCESSING_TIME).
#
# Max time out (here MAX_TIME_TO_WAIT) must also account for time
# to arm the oscilloscope and finish the acquisition.
#
# The script calculates this MAX_TIME_TO_WAIT as
# SCOPE_ACQUISITION_TIME_OUT.
#
# - DOES NOT work for Equivalent time mode. MUST use the blocking
# method.
#
# How it works:
#
# - Basically, clear the status registers with *CLS. Initiate the
# acquisition with the non-blocking :SINGle. Poll the
# oscilloscope until the Processing Done Event Register comes
# back with a 1, meaning that both the acquisition and any
# enabled processing (FFTs, Math, jitter...) are done.
#
# Other Notes:
194 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
#
# - Instead of using the Processing Done Event Register, you could
# use the Acquisition Done Event Register (see :ADER?). The
# benefit here is that one could potentially determine WHEN a
# trigger occurred, but only within 100 ms (the poll wait time -
# also need to know how much time acquired after the trigger....)
# You could also do :ADER? and then, when that comes back with a
# 1, do :PDER? possibly enabling processing in between...
#
# Please note that for segmented memory mode, any processing would
# happen only for the final segment.
#
# Please note that for average acquisition mode, any processing
# would happen only for the final averaged waveform.
# ====================================================================
def polling_method():
MAX_TIME_TO_WAIT = SCOPE_ACQUISITION_TIME_OUT
# Time in seconds to wait for the oscilloscope to arm, trigger,
# finish acquisition, and finish any processing.
#
# Note that this is NOT a property of the device interface,
# KsInfiniiumScope, but rather some constant in the script to be
# used later with the Python module "time", and will be used with
# time.clock().
#
# If using ADER (below), set PROCESSING_TIME = 0.
# Define completion criterion:
ACQ_DONE = 1
ACQ_NOT_DONE = 0
sys.stdout.write("Acquiring signal(s)...\n")
# Clear all status registers (set them to 0). This could be
# concatenated with the :SINGle command two lines below to speed
# things up a little, like this ->
# KsInfiniiumScope.write("*CLS;:SINGle")
KsInfiniiumScope.write("*CLS")
# Define acquisition start time. This is in seconds.
StartTime = time.clock()
# Begin acquisition with non-blocking :SINGle command.
KsInfiniiumScope.write(":SINGle")
# KsInfiniiumScope.write("*CLS;:SINGle")
# Recommended to concatenate these together for repeated
# acquisition using this method as it goes slightly faster;
# consider using method 1 instead if max throughput is desired
# Immediately ask oscilloscope if it is done with the acquisition
# and processing.
Status = int(KsInfiniiumScope.query(":PDER?"))
# NOTE: :ADER? could also be used, but :ADER does not cover any
# processing. If using ADER, set PROCESSING_TIME = 0.
#
# NOTE: :PDER? not supported on older Infiniiums. Use :ADER?
# instead.
Remote Acquisition Synchronization 8
Keysight Infiniium Oscilloscopes Programmer's Guide 195
# ----------------------------------------------------------------
# For Average mode, MUST use :ADER? (and then PDER if needed) -
# see "Other Notes" at bottom of this section.
#
# This needs to be changed in two places, one above here, and one
# below....
# ----------------------------------------------------------------
# Poll the oscilloscope until Status (:PDER?) is a one. (This is
# NOT a "Serial Poll.")
while Status == ACQ_NOT_DONE and \
(time.clock() - StartTime <= MAX_TIME_TO_WAIT):
# This loop is never entered if the acquisition completes
# immediately. Exits if Status == 1 or MAX_TIME_TO_WAIT exceeded
time.sleep(0.1) # Pause 100 ms to prevent excessive queries
Status = int(KsInfiniiumScope.query(":PDER?")) # Read status
# Loop exists when Status != NOT_DONE, that is, it exits the
# loop when it is DONE
if Status == ACQ_DONE: # Acquisition fully completed
sys.stdout.write("Signal acquired.\n")
else: # Acquisition failed for some reason
print "Max wait time exceeded."
print "This can happen if there was not enough time to arm the "
\
"oscilloscope, there was no trigger event, the " \
"oscilloscope did not finish acquiring, or the " \
"processing did not finish."
print "Visually check the oscilloscope for a trigger, adjust " \
"settings accordingly.\n"
print "Properly closing the oscilloscope connection and " \
"exiting the script.\n"
# Always stop the oscilloscope when making any changes.
KsInfiniiumScope.query(":STOP;*OPC?")
KsInfiniiumScope.clear() # Clear communications interface
KsInfiniiumScope.close() # Close communications interface
sys.exit("Exiting script.")
# ====================================================================
# Do Something with data... save, export, additional analysis...
# ====================================================================
def do_something_with_data():
# For example, make a peak-peak voltage measurement on channel 1:
Vpp_Ch1 = \
str(KsInfiniiumScope.query("MEASure:VPP? CHANnel1")).strip("\n")
# The result comes back with a newline, so remove it with .strip("\n")
print "Vpp Ch1 = " + Vpp_Ch1+"V\n"
# ====================================================================
# Main code
# ====================================================================
196 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
# Connect and initialize oscilloscope
# --------------------------------------------------------------------
# Define VISA Resource Manager & Install directory
rm = visa.ResourceManager('C:\\Windows\\System32\\visa32.dll')
# Define and open the oscilloscope using the VISA address
KsInfiniiumScope = rm.open_resource(VISA_ADDRESS)
# Set the Global Timeout
KsInfiniiumScope.timeout = GLOBAL_TOUT
# Clear the instrument bus
KsInfiniiumScope.clear()
# Clear all status registers and errors
KsInfiniiumScope.write("*CLS")
# Set up the oscilloscope
# --------------------------------------------------------------------
# Note that you would normally perform a reset (default setup) if you
# were to create the setup from scratch... But here we will use the
# oscilloscope "as is" for the most part.
# KsInfiniiumScope.query("*RST;*OPC?") # Resets the oscilloscope
# Always stop the oscilloscope when making any changes.
KsInfiniiumScope.query(":STOP;*OPC?")
# For this example, the oscilloscope will be forced to trigger on the
# (AC input power) LINE voltage so something happens.
# Always use normal trigger sweep, never auto.
KsInfiniiumScope.write(":TRIGger:SWEep TRIGgered")
# This line simply gives the oscilloscope something to trigger on.
KsInfiniiumScope.query(":TRIGger:EDGE:SOURce LINE;*OPC?")
# Clear the display (so you can see the waveform being acquired -
# otherwise, there is no need for this).
KsInfiniiumScope.write(":CDISplay")
# Calculate acquisition timeout/wait time by short, overestimate method
# --------------------------------------------------------------------
# Need to get some info
HO = float(KsInfiniiumScope.query(":TRIGger:HOLDoff?"))
SR = float(KsInfiniiumScope.query(":ACQuire:SRATe:ANALog?"))
N_SAMPLES = float(KsInfiniiumScope.query(":ACQuire:POINts:ANALog?"))
# Note that the :WAVeform:POINts? command will also return interpolated
# values, so it is not useful.
T_RANGE = N_SAMPLES / SR
# Note that using the :TIMebase:RANGe? command really only tells us
# what the oscilloscope is on screen, but Infiniium can be set up to
# capture off-screen data.
T_POSITION = float(KsInfiniiumScope.query(":TIMebase:POSition?"))
# Determine if Average mode is on
AVERAGE_MODE_STATE = \
str(KsInfiniiumScope.query(":ACQuire:AVERage?").strip("\n"))
if AVERAGE_MODE_STATE == "1":
Remote Acquisition Synchronization 8
Keysight Infiniium Oscilloscopes Programmer's Guide 197
N_AVERAGES = \
float(KsInfiniiumScope.query(":ACQuire:AVERage:COUNt?"))
else:
N_AVERAGES = 1
# Determine if Segmented Memory or Equivalent time modes are on.
ACQ_MODE = str(KsInfiniiumScope.query(":ACQuire:MODE?").strip("\n"))
ETIME_MULTIPLIER = 1 # For Equivalent Time mode.
# This is a multiplier used as Equivalent time mode builds up over
# numerous acquisitions.
if ACQ_MODE == "SEGM" or ACQ_MODE == "SEGH":
N_SEGMENTS = \
float(KsInfiniiumScope.query(":ACQuire:SEGMented:COUNt?"))
elif ACQ_MODE != "ETIM":
N_SEGMENTS = 1
elif ACQ_MODE == "ETIM":
N_SEGMENTS = 1
ETIME_MULTIPLIER = 5 # Total guess. Few use this mode.
sys.stdout.write("Timeout calculation of Equivalent time mode "
"not thoroughly tested.")
# Calculate timeout from above info.
# Recall that PyVISA timeouts are in ms, so multiply by 1000.
SCOPE_ACQUISITION_TIME_OUT = (float(TIME_TO_TRIGGER)*1.1 +
float(PROCESSING_TIME)*1.2 +
(T_RANGE*2.0 + abs(T_POSITION)*2.0 + HO*1.1 +
float(TIME_BETWEEN_TRIGGERS)*1.1)*N_SEGMENTS*N_AVERAGES*
ETIME_MULTIPLIER)*1000.0
# Ensure the timeout is no less than 10 seconds
if SCOPE_ACQUISITION_TIME_OUT < 10000.0:
SCOPE_ACQUISITION_TIME_OUT = 10000.0
# Acquire Signal
# --------------------------------------------------------------------
# Choose blocking_method or polling_method. These were defined as
# functions in case you want to use them repeatedly.
blocking_method()
do_something_with_data()
polling_method()
do_something_with_data()
# End of Script
# --------------------------------------------------------------------
KsInfiniiumScope.clear() # Clear communications interface
KsInfiniiumScope.close() # Close communications interface
print "All done."
198 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
Single Shot Device Under Test (DUT)
The examples in the previous section (Acquisition Synchronization) assumed the
DUT is continually running and, therefore, the oscilloscope will have more than
one opportunity to trigger. With a single shot DUT, there is only one opportunity
for the oscilloscope to trigger so it is necessary for the oscilloscope to be armed
and ready before the DUT is enabled.
This example is the same as the previous example with the addition of checking for
the armed event status.
Example TIMEOUT = 1000ms
currentTime = 0ms
// Setup
:STOP; *OPC? // if not stopped
:ADER? // clear ADER event
// Acquire
:SINGle
while(AER? == 0)
{
wait(100ms)
}
//oscilloscope is armed and ready, enable DUT here
while(currentTime <= TIMEOUT)
{
if (:ADER? == 1)
{
break;
}
else
{
// Use small wait to prevent excessive
// queries to the oscilloscope
wait (100ms)
currentTime += 100ms
}
}
//Get results
if (currentTime < TIMEOUT)
{
:MEASure:RISetime?
}
NOTE
The blocking :DIGitize command cannot be used for a single shot DUT because once the
:DIGitize command is issued, the oscilloscope is blocked from any further commands until the
acquisition is complete.
Remote Acquisition Synchronization 8
Keysight Infiniium Oscilloscopes Programmer's Guide 199
Averaging Acquisition Synchronization
When averaging, it is necessary to know when the average count has been
reached. Since an ADER/PDER event occurs for every acquisition in the average
count, these commands cannot be used. The :SINGle command does not average.
If it is known that a trigger will occur, a :DIG will acquire the complete number of
averages, but if the number of averages is large, it may cause a timeout on the
connection.
The example below acquires the desired number of averages and then stops
running.
Example AVERAGE_COUNT = 256
:STOP;*OPC?
:TER?
:ACQ:AVERage:COUNt AVERAGE_COUNT
:ACQ:AVERage ON
:RUN
//Assume the oscilloscope will trigger, if not put a check here
while (:WAV:COUNT? < AVERAGE_COUNT)
{
wait(100ms)
}
:STOP;*OPC?
// Get results
200 Keysight Infiniium Oscilloscopes Programmer's Guide
8Remote Acquisition Synchronization
201
Keysight Infiniium Oscilloscopes
Programmer's Guide
9 Programming Conventions
Truncation Rule / 202
The Command Tree / 203
Infinity Representation / 206
Response Generation / 207
EOI / 208
This chapter describes conventions used to program the Infiniium-Series
Oscilloscopes, and conventions used throughout this manual. A description of the
command tree and command tree traversal is also included.
202 Keysight Infiniium Oscilloscopes Programmer's Guide
9Programming Conventions
Truncation Rule
The truncation rule is used to produce the short form (abbreviated spelling) for the
mnemonics used in the programming headers and parameter arguments.
This document's command descriptions shows how the truncation rule is applied
to commands.
NOTE
Command Truncation Rule
The mnemonic is the first four characters of the keyword, unless the fourth character is a
vowel. Then the mnemonic is the first three characters of the keyword. If the length of the
keyword is four characters or less, this rule does not apply, and the short form is the same as
the long form.
Table 5 Mnemonic Truncation
Long Form Short Form How the Rule is Applied
RANGe RANG Short form is the first four characters of the
keyword.
PATTern PATT Short form is the first four characters of the
keyword.
DISK DISK Short form is the same as the long form.
DELay DEL Fourth character is a vowel; short form is the
first three characters.
Programming Conventions 9
Keysight Infiniium Oscilloscopes Programmer's Guide 203
The Command Tree
The command tree in this document's table of contents shows all of the
commands in the Infiniium-Series Oscilloscopes and the relationship of the
commands to each other. The IEEE 488.2 common commands are not part of the
command tree because they do not affect the position of the parser within the
tree.
When a program message terminator (<NL>, linefeed - ASCII decimal 10) or a
leading colon (:) is sent to the oscilloscope, the parser is set to the "root" of the
command tree.
•"Command Types" on page 203
•"Tree Traversal Rules" on page 203
•"Tree Traversal Examples" on page 204
Command Types
The commands in this oscilloscope can be viewed as three types: common
commands, root level commands, and subsystem commands.
• Common commands are commands defined by IEEE 488.2 and control some
functions that are common to all IEEE 488.2 instruments. These commands are
independent of the tree and do not affect the position of the parser within the
tree. *RST is an example of a common command.
• Root level commands control many of the basic functions of the oscilloscope.
These commands reside at the root of the command tree. They can always be
parsed if they occur at the beginning of a program message or are preceded by
a colon. Unlike common commands, root level commands place the parser
back at the root of the command tree. AUToscale is an example of a root level
command.
• Subsystem commands are grouped together under a common node of the
command tree, such as the TIMebase commands. You may select only one
subsystem at a given time. When you turn on the oscilloscope initially, the
command parser is set to the root of the command tree and no subsystem is
selected.
Tree Traversal Rules
Command headers are created by traversing down the command tree. A legal
command header from the command tree would be :TIMebase:RANGe. This is
referred to as a compound header. A compound header is a header made up of
two or more mnemonics separated by colons. The compound header contains no
spaces. The following rules apply to traversing the tree.
204 Keysight Infiniium Oscilloscopes Programmer's Guide
9Programming Conventions
In the command tree, use the last mnemonic in the compound header as a
reference point (for example, RANGe). Then find the last colon above that
mnemonic (TIMebase:). That is the point where the parser resides. You can send
any command below this point within the current program message without
sending the mnemonics which appear above them (for example, REFerence).
Tree Traversal Examples
The WriteString() methods in the following examples are written using Visual Basic
for Application (VBA) with the VISA COM library.
Example 1 Consider the following command:
myScope.WriteString ":CHANnel1:RANGe 0.5;OFFSet 0"
The colon between CHANnel1 and RANGe is necessary because
:CHANnel1:RANGe is a compound command. The semicolon between the RANGe
command and the OFFSet command is required to separate the two commands or
operations. The OFFSet command does not need :CHANnel1 preceding it because
the :CHANnel1:RANGe command sets the parser to the CHANnel1 node in the
tree.
Example 2 Consider the following commands:
myScope.WriteString ":TIMebase:REFerence CENTer;POSition 0.00001"
or
myScope.WriteString ":TIMebase:REFerence CENTer"
myScope.WriteString ":TIMebase:POSition 0.00001"
In the first line of example 2, the "subsystem selector" is implied for the POSITION
command in the compound command.
A second way to send these commands is shown in the second part of the
example. Because the program message terminator places the parser back at the
root of the command tree, you must reselect TIMEBASE to re-enter the TIMEBASE
node before sending the POSITION command.
Example 3 Consider the following command:
myScope.WriteString ":TIMebase:REFerence CENTer;:CHANnel1:OFFSet 0"
NOTE
Tree Traversal Rules
A leading colon or a program message terminator (<NL> or EOI true on the last byte) places
the parser at the root of the command tree. A leading colon is a colon that is the first character
of a program header. Executing a subsystem command places the oscilloscope in that
subsystem until a leading colon or a program message terminator is found.
Programming Conventions 9
Keysight Infiniium Oscilloscopes Programmer's Guide 205
In this example, the leading colon before CHANnel1 tells the parser to go back to
the root of the command tree. The parser can then recognize the
:CHANnel1:OFFSet command and enter the correct node.
206 Keysight Infiniium Oscilloscopes Programmer's Guide
9Programming Conventions
Infinity Representation
The representation for infinity for this oscilloscope is 9.99999E+37. This is also the
value returned when a measurement cannot be made.
Programming Conventions 9
Keysight Infiniium Oscilloscopes Programmer's Guide 207
Response Generation
As defined by IEEE 488.2, query responses may be buffered for these reasons:
• When the query is parsed by the oscilloscope.
• When the computer addresses the oscilloscope to talk so that it may read the
response.
This oscilloscope buffers responses to a query when the query is parsed.
208 Keysight Infiniium Oscilloscopes Programmer's Guide
9Programming Conventions
EOI
The EOI bus control line follows the IEEE 488.2 standard without exception.
209
Keysight Infiniium Oscilloscopes
Programmer's Guide
10 Acquire Commands
:ACQuire:AVERage / 211
:ACQuire[:AVERage]:COUNt / 212
:ACQuire:BANDwidth / 213
:ACQuire:BANDwidth:FRAMe? / 215
:ACQuire:BANDwidth:TESTLIMITS? / 216
:ACQuire:COMPlete / 217
:ACQuire:COMPlete:STATe / 219
:ACQuire:HRESolution / 220
:ACQuire:INTerpolate / 222
:ACQuire:MODE / 223
:ACQuire:POINts[:ANALog] — Memory depth / 225
:ACQuire:POINts:AUTO / 227
:ACQuire:POINts:DIGital? / 228
:ACQuire:POINts:TESTLIMITS? / 229
:ACQuire:REDGe — RealEdge Channel Inputs (90000 Q-Series, Z-Series) / 230
:ACQuire:RESPonse (90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
Z-Series) / 231
:ACQuire:SEGMented:AUToplay / 232
:ACQuire:SEGMented:COUNt / 233
:ACQuire:SEGMented:INDex / 234
:ACQuire:SEGMented:PLAY / 235
:ACQuire:SEGMented:PRATe / 236
:ACQuire:SEGMented:TTAGs / 237
:ACQuire:SRATe[:ANALog] — Analog Sample Rate / 238
:ACQuire:SRATe[:ANALog]:AUTO / 239
:ACQuire:SRATe:DIGital — Digital Channels Sample Rate / 240
:ACQuire:SRATe:DIGital:AUTO / 241
:ACQuire:SRATe:TESTLIMITS? / 242
210 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
The ACQuire subsystem commands set up conditions for executing a :DIGitize root
level command to acquire waveform data. The commands in this subsystem select
the type of data, the number of averages, and the number of data points.
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 211
:ACQuire:AVERage
Command :ACQuire:AVERage {{ON|1} | {OFF|0}}
The :ACQuire:AVERage command enables or disables averaging. When ON, the
oscilloscope acquires multiple data values for each time bucket, and averages
them. When OFF, averaging is disabled. To set the number of averages, use the
:ACQuire:AVERage:COUNt command described next.
Averaging is not available in PDETect mode.
The :MTESt:AVERage command performs the same function as this command.
Example This example turns averaging on.
myScope.WriteString ":ACQuire:AVERage ON"
Query :ACQuire:AVERage?
The :ACQuire:AVERage? query returns the current setting for averaging.
Returned Format [:ACQuire:AVERAGE] {1|0}<NL>
Example This example places the current settings for averaging into the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":ACQuire:AVERage?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
212 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire[:AVERage]:COUNt
Command :ACQuire[:AVERage]:COUNt <count_value>
The :ACQuire[:AVERage]:COUNt command sets the number of averages for the
waveforms. In the AVERage mode, the :ACQuire[:AVERage]:COUNt command
specifies the number of data values to be averaged for each time bucket before
the acquisition is considered complete for that time bucket.
The :MTESt:AVERage:COUNt command performs the same function as this
command.
<count_value> An integer, 2 to 65,534, specifying the number of data values to be averaged.
Example This example specifies that 16 data values must be averaged for each time bucket
to be considered complete. The number of time buckets that must be complete for
the acquisition to be considered complete is specified by the :ACQuire:COMPlete
command.
myScope.WriteString ":ACQuire:COUNt 16"
Query :ACQuire[:AVERage]:COUNt?
The :ACQuire[:AVERage]:COUNt? query returns the currently selected count value.
Returned Format [:ACQuire[:AVERage]:COUNt] <value><NL>
<value> An integer, 2 to 65,534, specifying the number of data values to be averaged.
Example This example checks the currently selected count value and places that value in
the string variable, strResult. The program then prints the contents of the variable
to the computer's screen.
Dim strResult As String
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:AVERage:COUNt?"
strResult = myScope.ReadString
Debug.Print strResult
History Legacy command (existed before version 3.10).
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 213
:ACQuire:BANDwidth
Command :ACQuire:BANDwidth {AUTO | MAX | <bandwidth>}
The :ACQuire:BANDwidth command changes the bandwidth frequency control for
the acquisition system.
• AUTO — The bandwidth is automatically selected based on the sample rate
setting in order to make a good a trade-off between bandwidth, noise, and
aliasing.
• MAX — Sets the oscilloscope to the hardware bandwidth limit and disables the
bandwidth filter.
• <bandwidth> — a real number representing the bandwidth of the bandwidth
filter whose range of values depends on the model number of your
oscilloscope.
Model Band wid th Filter Values
DSOX/DSAX96204Q,
DSAZ/DSOZ634A
The maximum bandwidth down to 1 GHz in 1 GHz increments.
DSOX/DSAX95004Q,
DSAZ/DSOZ504A
DSOX/DSAX93304Q,
DSAZ/DSOZ334A
DSOX/DSAX92504Q,
DSAZ/DSOZ254A
DSOX/DSAX92004Q,
DSAZ/DSOZ204A
DSOX/DSAX93204A The maximum bandwidth down to 1 GHz in 1 GHz increments.
DSOX/DSAX92804A
DSOX/DSAX92504A
DSOX/DSAX92004A
DSOX/DSAX91604A
DSO/DSA91304A 13E09, 12E09, 10E09, 8E09, 6E09, 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA91204A 12E09, 10E09, 8E09, 6E09, 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA90804A 8E09, 6E09, 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA90604A 6E09, 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA90404A 4E09, 3E09, 2.5E09, 2E09, 1E09
DSO/DSA90254A 2.5E09, 2E09, 1E09
214 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
Query :ACQuire:BANDwidth?
The :ACQuire:BANDwidth? query returns the bandwidth setting of the bandwidth
control.
Returned Format [:ACQuire:BANDwidth] <bandwidth><NL>
History New in version 3.10.
Version 4.00: Added a MAX option for selecting the maximum bandwidth.
DSOS/MSOS804A The maximum bandwidth down to 500 MHz in 500 MHz increments,
250 MHz.
DSOS/MSOS604A
DSOS/MSOS404A
DSOS/MSOS254A
DSOS/MSOS204A
DSOS/MSOS104A
DSOS/MSOS054A
DSO/MSO9404A 4E09, 3.5E09, 3E09, 2.5E09, 2E09, 1.5E09, 1E09, 5E08
DSO/MSO9254A 2.5E09, 2E09, 1.5E09, 1E09, 5E08
DSO/MSO9104A 1E09, 5E08
DSO/MSO9064A The command is not valid for this model oscilloscope.
Model Band wid th Filter Values
NOTE
The DSO/MSO 9000 Series oscilloscopes do not have AUTO and MAX modes. Sending the
:ACQuire:BANDwidth command with these parameters disables the global bandwidth limit.
Sending the :ACQuire:BANDwidth command with specific bandwidth values enables the
global bandwidth limit.
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 215
:ACQuire:BANDwidth:FRAMe?
Query :ACQuire:BANDwidth:FRAMe?
The :ACQuire:BANDwidth:FRAMe? query returns the maximum bandwidth
associated with oscilloscope model.
Returned Format <bandwidth><NL>
<bandwidth> ::= max. BW of oscilloscope model
History New in version 5.20.
216 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:BANDwidth:TESTLIMITS?
Query :ACQuire:BANDwidth:TESTLIMITS?
The :ACQuire:BANDwidth:TESTLIMITS? query returns the oscilloscope's
acquisition bandwidth maximum and minimum limits.
Returned Format <num_parms>,<<type>><min>:<max><NL>
<num_parms> Number of parameters, always 1 for this query.
<type> Type of values returned, always "<numeric>" for this query.
<min> Lower bandwidth limit value.
<max> Upper bandwidth limit value.
See Also •":ACQuire:BANDwidth" on page 213
•":ACQuire:BANDwidth:FRAMe?" on page 215
•":ACQuire:POINts:TESTLIMITS?" on page 229
•":ACQuire:SRATe:TESTLIMITS?" on page 242
History New in version 5.60.
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 217
:ACQuire:COMPlete
Command :ACQuire:COMPlete <percent>
The :ACQuire:COMPlete command specifies how many of the data point storage
bins (time buckets) in the waveform record must contain a waveform sample
before a measurement will be made. For example, if the command
:ACQuire:COMPlete 60 has been sent, 60% of the storage bins in the waveform
record must contain a waveform data sample before a measurement is made.
• If :ACQuire:AVERage is set to OFF, the oscilloscope only needs one value per
time bucket for that time bucket to be considered full.
• If :ACQuire:AVERage is set to ON, each time bucket must have n hits for it to be
considered full, where n is the value set by :ACQuire:AVERage:COUNt.
Due to the nature of real time acquisition, 100% of the waveform record bins are
filled after each trigger event, and all of the previous data in the record is replaced
by new data when :ACQuire:AVERage is off. Hence, the complete mode really has
no effect, and the behavior of the oscilloscope is the same as when the completion
criteria is set to 100% (this is the same as in PDETect mode). When
:ACQuire:AVERage is on, all of the previous data in the record is replaced by new
data.
The range of the :ACQuire:COMPlete command is 0 to 100 and indicates the
percentage of time buckets that must be full before the acquisition is considered
complete. If the complete value is set to 100%, all time buckets must contain data
for the acquisition to be considered complete. If the complete value is set to 0,
then one acquisition cycle will take place. Completion is set by default setup or
*RST to 90%. Autoscale changes it to 100%.
<percent> An integer, 0 to 100, representing the percentage of storage bins (time buckets)
that must be full before an acquisition is considered complete.
Example This example sets the completion criteria for the next acquisition to 90%.
myScope.WriteString ":ACQuire:COMPlete 90"
Query :ACQuire:COMPlete?
The :ACQuire:COMPlete? query returns the completion criteria.
Returned Format [:ACQuire:COMPlete] <percent><NL>
<percent> An integer, 0 to 100, representing the percentage of time buckets that must be full
before an acquisition is considered complete.
Example This example reads the completion criteria and places the result in the variable,
varPercent. Then, it prints the content of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:COMPlete?"
varPercent = myScope.ReadNumber
Debug.Print FormatNumber(varPercent, 0)
218 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
History Legacy command (existed before version 3.10).
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 219
:ACQuire:COMPlete:STATe
Command :ACQuire:COMPlete:STATe {{ON | 1} | {OFF | 0}}
The :ACQuire:COMPlete:STATe command specifies whether acquisition averaging
should complete before measurements are made.
This command maps to the Wait for channel average to complete for measurements
check box in the front panel user interface's Measurement Setup dialog box,
General tab.
ON When ON, the oscilloscope waits for an acquisition average to complete before
measurements are taken. If you have averaging enabled (using the
:ACQuire:AVERage command), setting :ACQuire:COMPlete:STATe ON forces the
measurement calculations to wait until the average is computed. This lets you
filter out noise in your waveform before measurements are made.
OFF When OFF, the oscilloscope makes measurements without waiting for an
acquisition average to complete.
Query :ACQuire:COMPlete:STATe?
The :ACQuire:COMPlete:STATe? query returns the :ACQuire:COMPlete:STATe
setting.
History Legacy command (existed before version 3.10).
NOTE
The :ACQuire:COMPlete:STATe command is used only when the oscilloscope is running and a
digitize operation is not being performed. The :DIGitize command temporarily overrides the
setting of this mode and forces it to ON.
220 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:HRESolution
Command :ACQuire:HRESolution {AUTO | BITS9 | BITS10 | BITS11 | BITS12
| BITF11 | BITF12 | BITF13 | BITF14 | BITF15 | BITF16}
When :ACQuire:MODE is set to HRESolution or SEGHres, the
:ACQuire:HRESolution command sets the desired minimum bit resolution.
• AUTO — the number of bits of vertical resolution is determined by the sampling
rate, which can be controlled manually by the :ACQuire:SRATe:ANALog
command or automatically when adjusting :TIMebase:SCALe (or
:TIMebase:RANGe).
• BITS9, BITS10, BITS11, BITS12 — selects the desired minimum number of bits
of vertical resolution (which can affect the sampling rate).
• BITF11, BITF12, BITF13, BITF14, BITF15, BITF16 — on S-Series oscilloscopes
only, these options force the specified number of bits of vertical resolution.
These options also disable the manual sample rate setting (see
:ACQuire:SRATe[:ANALog]:AUTO), and they are not available in roll mode (see
:TIMebase:ROLL:ENABLE).
Example This example sets the bit resolution setting to a minimum of 11 bits.
myScope.WriteString ":ACQuire:HRESolution BITS11"
Query :ACQuire:HRESolution?
The :ACQuire:HRESolution? query returns the bit resolution setting.
Returned Format [:ACQuire:HRESolution] {AUTO | BITS9 | BITS10 | BITS11 | BITS12
| BITF11 | BITF12 | BITF13 | BITF14 | BITF15 | BITF16}<NL>
Example This example places the current bit resolution setting in the string variable,
strBitRes, then prints the contents of the variable to the computer's screen.
Dim strBitRes As String ' Dimension variable.
myScope.WriteString ":ACQuire:HRESolution?"
strBitRes = myScope.ReadString
Debug.Print strBitRes
See Also •":ACQuire:MODE" on page 223
•":ACQuire:SRATe[:ANALog] — Analog Sample Rate" on page 238
•":ACQuire:SRATe[:ANALog]:AUTO" on page 239
•":TIMebase:SCALe" on page 1208
•":TIMebase:RANGe" on page 1203
•":TIMebase:ROLL:ENABLE" on page 1207
NOTE
Some of the BITS settings may not be valid in certain 9000H Series models.
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 221
History Legacy command (existed before version 3.10).
Version 6.20: On S-Series oscilloscopes only, the BITF11, BITF12, BITF13, BITF14,
BITF15, and BITF16 options have been added to force the specified number of bits
of vertical resolution.
222 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:INTerpolate
Command :ACQuire:INTerpolate {{ON | 1} | {OFF | 0} | INT1 | INT2 | INT4 | INT8
| INT16}
The :ACQuire:INTerpolate command turns the sin(x)/x interpolation filter on or off
when the oscilloscope is in one of the real time sampling modes. You can also
specify the 1, 2, 4, 8, or 16 point Sin(x)/x interpolation ratios using INT1, INT2,
INT4, INT8, or INT16. When ON, the number of interpolation points is
automatically determined.
Query :ACQuire:INTerpolate?
The :ACQuire:INTerpolate? query returns the current state of the sin(x)/x
interpolation filter control.
Returned Format [:ACQuire:INTerpolate] {1 | 0 | INT1 | INT2 | INT4 | INT8 | INT16}<NL>
History Legacy command (existed before version 3.10).
Version 3.10: Added the INT1, INT2, INT4, INT8, INT16 options for specifying the 1,
2, 4, 8, or 16 point Sin(x)/x interpolation ratios.
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 223
:ACQuire:MODE
Command :ACQuire:MODE {ETIMe | RTIMe | PDETect | HRESolution | SEGMented
| SEGPdetect | SEGHres}
The :ACQuire:MODE command sets the sampling/acquisition mode of the
oscilloscope.
ETIMe In Equivalent Time mode, the data record is acquired over multiple trigger events.
RTIMe In Real Time Normal mode, the complete data record is acquired on a single
trigger event.
PDETect In Real Time Peak Detect mode, the oscilloscope acquires all of the waveform data
points during one trigger event. The data is acquired at the fastest sample rate of
the oscilloscope regardless of the horizontal scale setting. The sampling rate
control then shows the storage rate into the channel memory rather than the
sampling rate. The storage rate determines the number of data points per data
region. From each data region, four sample points are chosen to be displayed for
each time column. The four sample points chosen from each data region are:
• the minimum voltage value sample
• the maximum voltage value sample
• a randomly selected sample
• an equally spaced sample
The number of samples per data region is calculated using the equation:
The remainder of the samples are not used for display purposes.
HRESolution In Real Time High Resolution mode, the oscilloscope acquires all the waveform
data points during one trigger event and averages them thus reducing noise and
improving voltage resolution. The data is acquired at the fastest sample rate of the
oscilloscope regardless of the horizontal scale setting. The sampling rate control
then shows the storage rate into the channel memory rather than the sampling
rate. The number of samples that are averaged together per data region is
calculated using the equation
NOTE
In the 9000H Series oscilloscopes, HRESolution and SEGHres are the only valid options.
Number of Samples = Sampling Rate
Storage Rate
Number of Samples = Sampling Rate
Storage Rate
224 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
This number determines how many samples are averaged together to form the
16-bit samples that are stored into the channel memories.
To set the desired bits of vertical resolution, see ":ACQuire:HRESolution" on
page 220.
SEGMented In this sampling mode you can view waveform events that are separated by long
periods of time without capturing waveform events that are not of interest to you.
SEGPdetect Enables Peak Detect Segmented mode.
SEGHres Enables High Resolution Segmented mode.
To set the desired bits of vertical resolution, see ":ACQuire:HRESolution" on
page 220.
Example This example sets the acquisition mode to Real Time Normal.
myScope.WriteString ":ACQuire:MODE RTIMe"
Query :ACQuire:MODE?
The :ACQuire:MODE? query returns the current acquisition sampling mode.
Returned Format [:ACQuire:MODE] {ETIM | RTIM | PDET | HRES | SEGM | SEGP | SEGH}<NL>
Example This example places the current acquisition mode in the string variable, strMode,
then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":ACQuire:MODE?"
strMode = myScope.ReadString
Debug.Print strMode
History Legacy command (existed before version 3.10).
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 225
:ACQuire:POINts[:ANALog] — Memory depth
Command :ACQuire:POINts[:ANALog] {AUTO | <points_value>}
The :ACQuire:POINts[:ANALog] command sets the requested analog memory
depth for an acquisition. Before you download data from the oscilloscope to your
computer, always query the points value with the :WAVeform:POINts? query or
:WAVeform:PREamble? query to determine the actual number of acquired points.
You can set the points value to AUTO, which allows the oscilloscope to select the
optimum memory depth and display update rate.
<points_value> An integer representing the memory depth.
The range of points available for a channel depends on the oscilloscope settings of
sampling mode, sampling rate, and trigger sweep.
Interaction
between
:ACQuire:SRATe[:A
NALog] and
:ACQuire:POINts[:A
NALog]
If you assign a sample rate value with :ACQuire:SRATe[:ANALog] or a points value
using :ACQuire:POINts[:ANALog] the following interactions will occur. "Manual"
means you are setting a non-AUTO value for SRATe or POINts.
Example This example sets the memory depth to 500 points.
myScope.WriteString ":ACQuire:POINts:ANALog 500"
Query :ACQuire:POINts[:ANALog]?
The :ACQuire:POINts[:ANALog]? query returns the value of the analog memory
depth control.
Returned Format [:ACQuire:POINts:ANALog] <points_value><NL>
Example This example checks the current setting for memory depth and places the result in
the variable, varLength. Then the program prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:POINts:ANALog?"
varLength = myScope.ReadNumber
Debug.Print FormatNumber(varLength, 0)
See Also •":WAVeform:DATA?" on page 1425
SRATe POINts Result
AUTO Manual POINts value takes precedence
(sample rate is limited)
Manual AUTO SRATe value takes precedence
(memory depth is limited)
Manual Manual SRATe value takes precedence
(memory depth is limited)
226 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
History Legacy command (existed before version 3.10).
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 227
:ACQuire:POINts:AUTO
Command :ACQuire:POINts:AUTO {{ON | 1} |{OFF | 0}}
The :ACQuire:POINts:AUTO command enables (automatic) or disables (manual)
the automatic memory depth selection control. When enabled, the oscilloscope
chooses a memory depth that optimizes the amount of waveform data and the
display update rate. When disabled, you can select the amount of memory using
the :ACQuire:POINts command.
Example This example sets the automatic memory depth control to off.
myScope.WriteString ":ACQuire:POINts:AUTO OFF"
Query :ACQuire:POINts:AUTO?
The :ACQuire:POINts:AUTO? query returns the automatic memory depth control
state.
Returned Format [:ACQuire:POINts:AUTO] {1 | 0}<NL>
Example This example checks the current setting for automatic memory depth control and
places the result in the variable, varState. Then the program prints the contents of
the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:POINts:AUTO?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
See Also :WAVeform:DATA?
History Legacy command (existed before version 3.10).
228 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:POINts:DIGital?
Query :ACQuire:POINts:DIGital?
The :ACQuire:POINts:DIGital query returns the current memory depth for the
digital channels (MSO models only).
History Legacy command (existed before version 3.10).
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 229
:ACQuire:POINts:TESTLIMITS?
Query :ACQuire:POINts:TESTLIMITS?
The :ACQuire:POINts:TESTLIMITS? query returns the oscilloscope's acquisition
points maximum and minimum limits.
Returned Format <num_parms>,<<type>><min>:<max><NL>
<num_parms> Number of parameters, always 1 for this query.
<type> Type of values returned, always "<numeric>" for this query.
<min> Lower points limit value.
<max> Upper points limit value.
See Also •":ACQuire:POINts[:ANALog] — Memory depth" on page 225
•":ACQuire:POINts:AUTO" on page 227
•":ACQuire:BANDwidth:TESTLIMITS?" on page 216
•":ACQuire:SRATe:TESTLIMITS?" on page 242
History New in version 5.60.
230 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:REDGe — RealEdge Channel Inputs (90000 Q-Series, Z-Series)
Command
:ACQuire:REDGe {{ON | 1} | {OFF | 0}}
The :ACQuire:REDGe command enables or disables the RealEdge channel inputs.
When RealEdge channel inputs are enabled, the :CHANnel1 and :CHANnel3
commands/queries work for the oscilloscope's 1R and 3R channel inputs, and the
:CHANnel2 and :CHANnel4 commands give "hardware missing" or "undefined
header" messages.
Also when RealEdge channel inputs are enabled:
• The sampling rate is fixed at 160 GSa/s.
• Real Time Normal is the only acquisition mode available.
Example This example enables the RealEdge channel inputs.
myScope.WriteString ":ACQuire:REDGe ON"
Query :ACQuire:REDGe?
The :ACQuire:REDGe? query returns the current setting for RealEdge channel
inputs.
Returned Format [:ACQuire:REDGe] {1 | 0}<NL>
Example This example places the current setting for RealEdge channel inputs in the string
variable, strRealEdge, then prints the contents of the variable to the computer's
screen.
Dim strRealEdge As String ' Dimension variable.
myScope.WriteString ":ACQuire:REDGe?"
strSample = myScope.ReadString
Debug.Print strRealEdge
History New in version 4.00.
NOTE
This command is available for the 90000 Q-Series and Z-Series models whose bandwidths
are greater than 33 GHz.
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 231
:ACQuire:RESPonse (90000A Series, 90000 X-Series, V-Series, 90000
Q-Series, Z-Series)
Command :ACQuire:RESPonse {FLATmag | GAUSsianmag}
The Flat Magnitude filter is the default one and is the filter typically used on
Infiniium oscilloscopes. The Gaussian Magnitude filter eliminates all ringing
(preshoot or overshoot) caused by the oscilloscope's response. Therefore, any
ringing you see in the displayed signal is actually in your signal and is not caused
by the oscilloscope. The main drawback to using the Gaussian Magnitude Filter is
the decrease in bandwidth. Please consult the Flat Magnitude / Magnitude
Magnitude Filters topic in the help system for specific information regarding the
decrease in bandwidth.
Example This example turns on the Gaussian Magnitude filter.
myScope.WriteString ":ACQuire:RESPonse GAUSsianmag"
Query :ACQuire:RESPonse?
The :ACQuire:RESPonse? query returns the current filter being used.
Returned Format [:ACQ:RESP] {FLAT | GAUS}<NL>
Example This example checks the current filter setting and places the result in the variable,
state. Then the program prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:RESPonse?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
History Legacy command (existed before version 3.10).
232 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:SEGMented:AUToplay
Command :ACQuire:SEGMented:AUToplay {{0 | OFF} | {1 | ON}}
The :ACQuire:SEGMented:AUToplay command specifies whether segments are
automatically played after a segmented memory acquisition.
Query :ACQuire:SEGMented:AUToplay?
The :ACQuire:SEGMented:AUToplay? query returns the segmented memory
autoplay setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":ACQuire:MODE" on page 223
•":ACQuire:SEGMented:PLAY" on page 235
•":ACQuire:SEGMented:PRATe" on page 236
•":ACQuire:SEGMented:COUNt" on page 233
•":ACQuire:SEGMented:INDex" on page 234
•":ACQuire:SEGMented:TTAGs" on page 237
History New in version 6.00.
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 233
:ACQuire:SEGMented:COUNt
Command :ACQuire:SEGMented:COUNt <#segments>
The :ACQuire:SEGMented:COUNt command sets the number of segments to
acquire in the segmented memory mode.
<#segments> An integer representing the number of segments to acquire.
Example This example sets the segmented memory count control to 1000.
myScope.WriteString ":ACQuire:SEGMented:COUNt 1000"
Query :ACQuire:SEGMented:COUNt?
The :ACQuire:SEGMented:COUNT? query returns the number of segments control
value.
Returned Format [:ACQuire:SEGMented:COUNt] <#segments><NL>
Example This example checks the current setting for segmented memory count control and
places the result in the variable, varSegments. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:COUNt?"
varSegments = myScope.ReadNumber
Debug.Print FormatNumber(varSegments, 0)
See Also •":ACQuire:SEGMented:INDex" on page 234
•":ACQuire:SEGMented:PLAY" on page 235
•":ACQuire:SEGMented:TTAGs" on page 237
History Legacy command (existed before version 3.10).
234 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:SEGMented:INDex
Command :ACQuire:SEGMented:INDex <index#>
The :ACQuire:SEGMented:INDex command sets the index number for the segment
that you want to display on screen in the segmented memory mode. If an index
value larger than the total number of acquired segments is sent, an error occurs
indicating that the data is out of range and the segment index is set to the
maximum segment number.
<index#> An integer representing the index number of the segment that you want to display.
Example This example sets the segmented memory index number control to 1000.
myScope.WriteString ":ACQuire:SEGMented:INDex 1000"
Query :ACQuire:SEGMented:INDex?
The :ACQuire:SEGMented:INDex? query returns the segmented memory index
number control value.
Returned Format [:ACQuire:SEGMented:INDex] <index#><NL>
Example This example checks the current setting for segmented memory index number
control and places the result in the variable, varIndex. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:INDex?"
varIndex = myScope.ReadNumber
Debug.Print FormatNumber(varIndex, 0)
See Also •":ACQuire:SEGMented:COUNt" on page 233
•":ACQuire:SEGMented:PLAY" on page 235
•":ACQuire:SEGMented:TTAGs" on page 237
History Legacy command (existed before version 3.10).
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 235
:ACQuire:SEGMented:PLAY
Command :ACQuire:SEGMented:PLAY {{0 | OFF} | {1 | ON}}
The :ACQuire:SEGMented:PLAY command plays (or stops) acquired segments.
• ON — is the same as clicking the play button in the graphical user interface.
• OFF — is the same as clicking the stop button in the graphical user interface.
Playing acquired segments can take a while depending on the analysis taking
place. You can query to determine when playing is complete.
Query :ACQuire:SEGMented:PLAY?
The :ACQuire:SEGMented:PLAY? query returns whether segments are currently
being played (1) or are stopped (0).
Returned Format [:ACQuire:SEGMented:PLAY] <setting><NL>
<setting> ::= {0 | 1}
See Also •":ACQuire:SEGMented:PRATe" on page 236
•":ACQuire:SEGMented:COUNt" on page 233
•":ACQuire:SEGMented:INDex" on page 234
•":ACQuire:SEGMented:TTAGs" on page 237
History New in version 5.60.
236 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:SEGMented:PRATe
Command :ACQuire:SEGMented:PRATe <time_per_seg>
<time_per_seg> ::= seconds from 0.001 to 1 in NR3 format.
The :ACQuire:SEGMented:PRATe command specifies the segmented memory
navigation play rate.
When playing segments, the current segment through the last segment are
displayed at the specified rate. Playing segments lets you collect measurement
statistics across all the played-back segments.
Query :ACQuire:SEGMented:PRATe?
The :ACQuire:SEGMented:PRATe? query returns segmented memory navigation
play rate.
Returned Format <time_per_seg><NL>
See Also •":ACQuire:SEGMented:PLAY" on page 235
History New in version 5.70.
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 237
:ACQuire:SEGMented:TTAGs
Command :ACQuire:SEGMented:TTAGs {{ON | 1} | {OFF | 0}}
The :ACQuire:SEGMented:TTAGs command turns the time tags feature on or off for
the segmented memory sampling mode.
Example This example turns the time tags on for segmented memory.
myScope.WriteString ":ACQuire:SEGMented:TTAGs ON"
Query :ACQuire:SEGMented:TTAGs?
The :ACQuire:SEGMented:TTAGs? query returns the segmented memory time tags
control value.
Returned Format [:ACQuire:SEGMented:TTAGs] {1 | 0}<NL>
Example This example checks the current setting for segmented memory time tags control
and places the result in the variable, varTimeTags. Then the program prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SEGMented:TTAGs?"
varTimeTags = myScope.ReadNumber
Debug.Print FormatNumber(varTimeTags, 0)
See Also •":ACQuire:SEGMented:COUNt" on page 233
•":ACQuire:SEGMented:INDex" on page 234
•":ACQuire:SEGMented:PLAY" on page 235
History Legacy command (existed before version 3.10).
238 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:SRATe[:ANALog] — Analog Sample Rate
Command :ACQuire:SRATe[:ANALog] {AUTO | MAX | <rate>}
The :ACQuire:SRATe[:ANALog] command sets the analog acquisition sampling
rate.
AUTO The AUTO rate allows the oscilloscope to select a sample rate that best
accommodates the selected memory depth and horizontal scale.
MAX The MAX rate enables the oscilloscope to select maximum available sample rate.
<rate> A real number representing the sample rate. You can send any value, but the value
is rounded to the next fastest sample rate.
Interaction
between
:ACQuire:SRATe[:A
NALog] and
:ACQuire:POINts[:A
NALog]
If you assign a sample rate value with :ACQuire:SRATe[:ANALog] or a points value
using :ACQuire:POINts[:ANALog] the following interactions will occur. "Manual"
means you are setting a non-AUTO value for SRATe or POINts.
Example This example sets the sample rate to 250 MSa/s.
myScope.WriteString ":ACQuire:SRATe:ANALog 250E+6"
Query :ACQuire:SRATe[:ANALog]?
The :ACQuire:SRATe[:ANALog]? query returns the current analog acquisition
sample rate.
Returned Format [:ACQuire:SRATe:ANALog] {<rate>}<NL>
Example This example places the current sample rate in the string variable, strSample, then
prints the contents of the variable to the computer's screen.
Dim strSample As String ' Dimension variable.
myScope.WriteString ":ACQuire:SRATe:ANALog?"
strSample = myScope.ReadString
Debug.Print strSample
History Legacy command (existed before version 3.10).
SRATe POINts Result
AUTO Manual POINts value takes precedence
(sample rate is limited)
Manual AUTO SRATe value takes precedence
(memory depth is limited)
Manual Manual SRATe value takes precedence
(memory depth is limited)
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 239
:ACQuire:SRATe[:ANALog]:AUTO
Command :ACQuire:SRATe[:ANALog]:AUTO {{ON | 1} | {OFF | 0}}
The :ACQuire:SRATe[:ANALog]:AUTO command enables (ON) or disables (OFF) the
automatic analog sampling rate selection control. On the oscilloscope front-panel
interface, ON is equivalent to Automatic and OFF is equivalent to Manual.
Example This example changes the sampling rate to manual.
myScope.WriteString ":ACQuire:SRATe:ANALog:AUTO OFF"
Query :ACQuire:SRATe[:ANALog]:AUTO?
The :ACQuire:SRATe[:ANALog]:AUTO? query returns the current acquisition sample
rate.
Returned Format [:ACQuire:SRATe:ANALog:AUTO] {1 | 0}<NL>
Example This example places the current analog sample rate in the variable, varSample,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SRATe:ANALog:AUTO?"
varSample = myScope.ReadNumber
Debug.Print FormatNumber(varSample, 0)
History Legacy command (existed before version 3.10).
240 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:SRATe:DIGital — Digital Channels Sample Rate
Command :ACQuire:SRATe:DIGital {AUTO | MAX | <rate>}
The :ACQuire:SRATe:DIGital command sets the digital acquisition sampling rate.
AUTO The AUTO rate allows the oscilloscope to select a sample rate that best
accommodates the selected memory depth and horizontal scale.
MAX The MAX rate enables the oscilloscope to select maximum available sample rate.
<rate> A real number representing the digital sample rate. You can send any value, but
the value is rounded to the next fastest sample rate.
Interaction
between
:ACQuire:SRATe:DI
Gital and
:ACQuire:POINts:DI
Gital?
If you assign a sample rate value with :ACQuire:SRATe:DIGital, the digital memory
depth is automatically adjusted and can be seen by using the
:ACQuire:POINts:DIGital? query.
Query :ACQuire:SRATe:DIGital?
The :ACQuire:SRATe:DIGital? query returns the current digital acquisition sample
rate.
Returned Format [:ACQuire:SRATe:DIGital] {<rate>}<NL>
Example This example places the current digital channel sample rate in the string variable,
strSample, then prints the contents of the variable to the computer's screen.
Dim strSample As String ' Dimension variable.
myScope.WriteString ":ACQuire:SRATe:DIGital?"
strSample = myScope.ReadString
Debug.Print strSample
History Legacy command (existed before version 3.10).
Acquire Commands 10
Keysight Infiniium Oscilloscopes Programmer's Guide 241
:ACQuire:SRATe:DIGital:AUTO
Command :ACQuire:SRATe:DIGital:AUTO {{ON | 1} | {OFF | 0}}
The :ACQuire:SRATe:DIGital:AUTO command enables (ON) or disables (OFF) the
automatic digital channel sampling rate selection control.
Example This example changes the digital channel sampling rate to manual.
myScope.WriteString ":ACQuire:SRATe:DIGital:AUTO OFF"
Query :ACQuire:SRATe:DIGital:AUTO?
The :ACQuire:SRATe:DIGital:AUTO? query returns the current digital channel
acquisition sample rate.
Returned Format [:ACQuire:SRATe:DIGital:AUTO] {1 | 0}<NL>
Example This example places the current digital channel sample rate in the variable,
varSample, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ACQuire:SRATe:DIGital:AUTO?"
varSample = myScope.ReadNumber
Debug.Print FormatNumber(varSample, 0)
History Legacy command (existed before version 3.10).
242 Keysight Infiniium Oscilloscopes Programmer's Guide
10 Acquire Commands
:ACQuire:SRATe:TESTLIMITS?
Query :ACQuire:SRATe:TESTLIMITS?
The :ACQuire:SRATe:TESTLIMITS? query returns the oscilloscope's acquisition
sampling rate maximum and minimum limits.
Returned Format <num_parms>,<<type>><min>:<max><NL>
<num_parms> Number of parameters, always 1 for this query.
<type> Type of values returned, always "<numeric>" for this query.
<min> Lower sample rate limit value.
<max> Upper sample rate limit value.
See Also •":ACQuire:SRATe[:ANALog] — Analog Sample Rate" on page 238
•":ACQuire:SRATe[:ANALog]:AUTO" on page 239
•":ACQuire:BANDwidth:TESTLIMITS?" on page 216
•":ACQuire:POINts:TESTLIMITS?" on page 229
History New in version 5.60.
243
Keysight Infiniium Oscilloscopes
Programmer's Guide
11 Analyze Commands
:ANALyze:AEDGes / 245
:ANALyze:CLOCk / 246
:ANALyze:CLOCk:METHod / 247
:ANALyze:CLOCk:METHod:ALIGn / 250
:ANALyze:CLOCk:METHod:DEEMphasis / 252
:ANALyze:CLOCk:METHod:EDGE / 253
:ANALyze:CLOCk:METHod:IDLe / 255
:ANALyze:CLOCk:METHod:JTF / 256
:ANALyze:CLOCk:METHod:OJTF / 259
:ANALyze:CLOCk:METHod:PLLTrack / 262
:ANALyze:CLOCk:METHod:SKEW / 263
:ANALyze:CLOCk:METHod:SOURce / 264
:ANALyze:CLOCk:VERTical / 265
:ANALyze:CLOCk:VERTical:OFFSet / 266
:ANALyze:CLOCk:VERTical:RANGe / 267
:ANALyze:SIGNal:DATarate / 268
:ANALyze:SIGNal:SYMBolrate / 270
:ANALyze:SIGNal:MIXer:CABLeloss / 272
:ANALyze:SIGNal:MMWave:CALibrate / 273
:ANALyze:SIGNal:MMWave:CFRequency / 274
:ANALyze:SIGNal:MMWave:CONNect / 275
:ANALyze:SIGNal:MMWave:LOADdress / 276
:ANALyze:SIGNal:MMWave:MBANdwidth / 277
:ANALyze:SIGNal:PATTern:CLEar / 278
:ANALyze:SIGNal:PATTern:LOAD / 279
:ANALyze:SIGNal:PATTern:PLENgth / 280
:ANALyze:SIGNal:PATTern:SMAP / 281
:ANALyze:SIGNal:TYPE / 282
:ANALyze:VIEW / 285
244 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
The commands in the ANALyze subsystem are used to:
• Specify whether to use a single edge or all edges in the acquisition for
horizontal measurements (:ANALyze:AEDGes command).
• Set up clock recovery (:ANALyze:CLOCk commands).
• Specify a waveform source's signal type:
•The PAM4 signal type sets up a new paradigm for serial data signal analysis
with multiple data levels and edges for clock recovery (as compared to high
and low level NRZ signals).
•The MMWave signal type supports analysis of millimeter-wave signals that
have been down-converted to IF band signals by an external smart mixer
and an LO signal from a signal generator.
• Support MMWave millimeter-wave signal analysis.
• Specify whether to use the data on screen or the entire acquisition for
measurements, functions, and analysis (:ANALyze:VIEW command).
The :ANALyze:CLOCk commands are available when the High Speed Serial
Software or the Jitter Analysis Software is installed.
Sources for
Analyze
Commands
Some :ANALyze commands let you specify the source(s) using a <source>
parameter:
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R>
| FUNCtion<F> | EQUalized}
where:
CHANnel<N> <N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
DIFF<D>,
COMMonmode<C>
<D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in
place of the channel names to apply to differential or common mode
signals. These are just aliases - no state change occurs if you refer to a
differential channel and you are not in differential mode. DIFF1 refers to
the differential signal between channels 1 and 3 (and COMMonmode3
refers to the common mode channel between these same channels). DIFF2
refers to the differential signal between channels 2 and 4 (and
COMMonmode4 refers to the common mode channel between these same
channels).
WMEMory<R> <R> is an integer, 1-4.
FUNCtion<F> <F> is an integer, 1-16.
EQUalized The EQUalized source is available only if the oscilloscope has the High
Speed Serial option and the Serial Data Equalization option installed and
the features are enabled. This command uses the linearly equalized
(FFE/CTLE) signal as the source.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 245
:ANALyze:AEDGes
Command :ANALyze:AEDGes {{0 | OFF} | {1 | ON}}
The :ANALyze:AEDGes command specifies whether a single edge or all edges in
the acquisition are used for horizontal measurements.
The :ANALyze:AEDGes command maps to the Measure All Edges control in the user
interface's Measurement Setup dialog box.
When all edges in an acquisition are used for horizontal measurements, the entire
acquisition is also used for measurements, functions, and analysis (see
:ANALyze:VIEW ALL).
Some measurements require all edges: ":MEASure:NPULses" on page 854,
":MEASure:PPULses" on page 885, ":MEASure:ETOedge" on page 787,
":MEASure:HOLDtime" on page 818, ":MEASure:NPERiod" on page 853,
":MEASure:PHASe" on page 882, ":MEASure:SETuptime" on page 923, and EZJIT
clock and data measurements (see "E2681A EZJIT Jitter Analysis Software
Commands" on page 740). When you add one of these measurements, the
:ANALyze:AEDGes option is automatically turned ON.
Also, turning on a real-time eye (:MTESt:FOLDing ON) sets :ANALyze:AEDGes to
ON, and it cannot be disabled.
Query :ANALyze:AEDGes?
The :ANALyze:AEDGes? query returns the value that is currently set.
Returned Format [:ANALyze:AEDGes] {0 | 1}<NL>
See Also •":ANALyze:VIEW" on page 285
History New in version 5.30. This commands replaces the now deprecated command
":MEASure:JITTer:STATistics" on page 1572.
246 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:CLOCk
Command
:ANALyze:CLOCk {{{ON|1},<source>} | {OFF|0}}
The :ANALyze:CLOCk command turns the recovered clock display on or off and
sets the clock recovery channel source.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 244.
Example This example turns the recovered clock display on for channel 1.
myScope.WriteString ":ANALyze:CLOCk ON,CHANnel1"
Query :ANALyze:CLOCk?
The :ANALyze :CLOCk? query returns the state of the recovered clock display.
Returned Format [:ANALyze:CLOCk] {1 | 0}<NL>
Example This example places the current setting of the recovered clock display in the
variable varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk" on page 1548.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 247
:ANALyze:CLOCk:METHod
Command
:ANALyze:CLOCk:METHod
{FC,{FC1063 | FC2125 | FC425}}
| {EXPlicit,<source>,{RISing | FALLing | BOTH}[,<multiplier>]}
| {FIXed,{AUTO | {SEMI[,<data_rate>]} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
| {PWM}
| {CPHY[,<symbol_rate>[,<setup_UI>]]}
The :ANALyze:CLOCk:METHod command sets the clock recovery method to:
• FC (Fibre Channel).
• EXPlicit (Explicit Clock).
• FIXed (Constant Frequency).
• FLEXR (FlexRay Receiver).
• FLEXT (FlexRay Transmitter).
• PWM (MIPI M-PHY PWM)
• CPHY (MIPI C-PHY)
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
For setting phase-locked loop (PLL) clock recovery methods in terms of the
Observed Jitter Transfer Function (OJTF), see ":ANALyze:CLOCk:METHod:OJTF"
on page 259.
For setting phase-locked loop (PLL) clock recovery methods in terms of the Jitter
Transfer Function (JTF), see ":ANALyze:CLOCk:METHod:JTF" on page 256.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<data_rate> A real number for the base data rate in Hertz.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
<multiplier> An integer used as the multiplication factor.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
248 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
<baud_rate> A real number used for the baud rate.
<symbol_rate> When the signal type is CPHY (see :ANALyze:SIGNal:TYPE), CPHY is automatically
selected as the clock recovery method, but you can use the
:ANALyze:CLOCk:METHod CPHY command to specify the nominal a symbol rate in
baud.
<setup_UI> When the signal type is CPHY (see :ANALyze:SIGNal:TYPE), CPHY is automatically
selected as the clock recovery method, but you can use the
:ANALyze:CLOCk:METHod CPHY command to specify the time (in Unit Intervals)
used to cluster edges for clock recovery.
Example This example sets the explicit clock recovery method on channel 1, rising edge,
with a multiplier of 2.
myScope.WriteString ":ANALyze:CLOCk:METHod EXPlicit,CHANnel1,RISing,2"
Query :ANALyze:CLOCk:METHod?
The :ANALyze:CLOCk:METHod? query returns the state of the clock recovery
method.
Returned Format [:ANALyze:CLOCk:METHod]
{FC,{FC1063 | FC2125 | FC425}}
| {EXPlicit,<source>,{RISing | FALLing | BOTH},<multiplier>}
| {FIXed,{AUTO | {SEMI,<data_rate>} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
| {PWM}
| {CPHY,<symbol_rate>,<setup_UI>}
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod:OJTF" on page 259
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
NOTE
You can use the :ANALyze:CLOCk:METHod? query when phase-locked loop (PLL) clock
recovery methods are set up. The format returned will be that of the
:ANALyze:CLOCk:METHod:OJTF? query. See ":ANALyze:CLOCk:METHod:OJTF" on
page 259.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 249
•":ANALyze:CLOCk:METHod:PLLTrack" on page 262
•":ANALyze:CLOCk:METHod:EDGE" on page 253
•":ANALyze:SIGNal:TYPE" on page 282
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod" on page 1549.
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
Version 5.60: Added the PWM and CPHY methods.
250 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:CLOCk:METHod:ALIGn
Command
:ANALyze:CLOCk:METHod:ALIGn {CENTer | EDGE}
When using an explicit method of clock recovery, the
:ANALyze:CLOCk:METHod:ALIGn command specifies how the clock is aligned with
data:
• CENTer — Clock edges are aligned with the center of data.
• EDGE — Clock edges are aligned with data edges. In this case, Time Interval
Error (TIE) is measured directly from the data edge to the clock edge.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
Example When using an explicit method of clock recovery, this example specifies that clock
edges are aligned with the center of data.
myScope.WriteString ":ANALyze:CLOCk:METHod:ALIGn CENTer"
Query :ANALyze:CLOCK:METHod:ALIGn?
The :ANALyze:CLOCk:METHod:ALIGn? query returns the clock recovery method's
edge alignment setting.
Returned Format [:ANALyze:CLOCk:METHod:ALIGn] {CENT | EDGE}
Example This example places the current edge alignment setting of the clock recovery
method in the variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:ALIGn?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:OJTF" on page 259
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:PLLTrack" on page 262
•":ANALyze:CLOCk:METHod:EDGE" on page 253
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
252 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:CLOCk:METHod:DEEMphasis
Command
:ANALyze:CLOCk:METHod:DEEMphasis {OFF | ON}
The :ANALyze:CLOCk:METHod:DEEMphasis command turns de-emphasis on or
off.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
See the help system for more information on de-emphasis.
Example This example enables de-emphasis.
myScope.WriteString ":ANALyze:CLOCk:METHod:DEEMphasis ON"
Query :ANALyze:CLOCk:METHod:DEEMphasis?
The :ANALyze:CLOCk:METHod:DEEMphasis? query returns whether or not
de-emphasis is turned on.
Returned Format [:ANALyze:CLOCk:METHod:DEEMphasis] {OFF | ON}
Example This example places the current setting of the de-emphasis mode in the string
variable strDeemph, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:DEEMphasis?"
strDeemph = myScope.ReadString
Debug.Print strDeemph
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:OJTF" on page 259
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
•":ANALyze:CLOCk:METHod:PLLTrack" on page 262
•":ANALyze:CLOCk:METHod:EDGE" on page 253
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:DEEMphasis" on page 1555.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 253
:ANALyze:CLOCk:METHod:EDGE
Command
:ANALyze:CLOCk:METHod:EDGE {RISing | FALLing | BOTH}
The :ANALyze:CLOCk:METHod:EDGE command specifies which edge(s) of the
data are used to recover a clock. (In the front panel GUI, this control appears in the
Advanced Clock Recovery dialog box.) Normally, both edges are used. However, if
you are performing clock recovery on a low duty cycle clock signal, for example,
you may want to use just the rising or falling edge.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
This command applies to the following clock recovery methods:
• FIXed (Constant Frequency).
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• EXPlicit (Explicit Clock).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
To measure jitter on only rising (or falling) edges of a clock, you must also set
:ANALyze:RJDJ:EDGE to the same RISing or FALLing option, and you must set
:ANALyze:RJDJ:CLOCk ON to force the pattern to be a clock and set the jitter for
edges not examined to zero (0).
Example This example specifies that both rising and falling edges of the data are used to
recover a clock.
myScope.WriteString ":ANALyze:CLOCk:METHod:EDGE BOTH"
Query :ANALyze:CLOCK:METHod:EDGE?
The :ANALyze:CLOCk:METHod:EDGE? query returns the clock recovery method's
edge setting.
Returned Format [:ANALyze:CLOCk:METHod:EDGE] {RIS | FALL | BOTH}
Example This example places the current edge setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
254 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:EDGE?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:OJTF" on page 259
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
•":ANALyze:CLOCk:METHod:PLLTrack" on page 262
•":MEASure:RJDJ:EDGE" on page 905
•":MEASure:RJDJ:CLOCk" on page 904
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:EDGE" on page 1556.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 255
:ANALyze:CLOCk:METHod:IDLe
Command :ANALyze:CLOCk:METHod:IDLe <#_idle_clocks>
The :ANALyze:CLOCk:METHod:IDLe command lets you specify the number of
additional clocks output by the clock recovery PLL for situations where valid data
can occur during electrical idles.
<#_idle_clocks> Number of PLL idle clocks from 6 to 1000 in NR1 format.
Query :ANALyze:CLOCk:METHod:IDLe?
The :ANALyze:CLOCk:METHod:IDLe? query returns the number of PLL idle clocks
setting.
Returned Format <#_idle_clocks><NL>
See Also •":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:EDGE" on page 253
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:OJTF" on page 259
•":ANALyze:CLOCk:METHod:PLLTrack" on page 262
•":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:CLOCk:METHod:SOURce" on page 264
History New in version 6.20.
256 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:CLOCk:METHod:JTF
Command
:ANALyze:CLOCk:METHod:JTF
{FOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EQSOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>,<peaking>}
The :ANALyze:CLOCk:METHod:JTF command specifies the clock recovery PLL's
response in terms of the Jitter Transfer Function's (JTF) 3 dB bandwidth.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
You can set these types of PLL clock recovery methods:
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
The EQUalized clock recovery methods are only available if the oscilloscope has
the High Speed Serial option and the Serial Data Equalization option installed and
the features are enabled.
For setting phase-locked loop (PLL) clock recovery methods in terms of the
Observed Jitter Transfer Function (OJTF), see ":ANALyze:CLOCk:METHod:OJTF"
on page 259.
For setting other clock recovery methods, see ":ANALyze:CLOCk:METHod" on
page 247.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 257
<data_rate> A real number for the base data rate in bits per second.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
<peaking> The peaking value in dB.
<jtf_loop_
bandwidth>
A real number for the cutoff frequency for the PLL to track.
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a peaking value of 1.25 dB.
myScope.WriteString ":ANALyze:CLOCk:METHod:JTF SOPLL,4E9,3.822E6,1.25"
Query :ANALyze:CLOCk:METHod:JTF?
The :ANALyze:CLOCk:METHod:JTF? query returns the state of the clock recovery
method.
Returned Format [:ANALyze:CLOCk:METHod:JTF]
{FOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<jtf_loop_bandwidth>,<peaking>}
| {EQSOPLL,<data_rate>,<jtf_loop_bandwidth>,<peaking>}
| {EXPFOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>}
| {EXPSOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>,<peaking>}
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:JTF?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:OJTF" on page 259
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
•":ANALyze:CLOCk:METHod:PLLTrack" on page 262
•":ANALyze:CLOCk:METHod:EDGE" on page 253
•":ANALyze:SIGNal:TYPE" on page 282
258 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:JTF" on page 1558.
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 259
:ANALyze:CLOCk:METHod:OJTF
Command
:ANALyze:CLOCk:METHod:OJTF
{FOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {EQSOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {TOPLL,<data_rate>,<natural_frequency>,<pole_frequency>,
<damping_factor>[,<PLL_settling_time>]}
| {EQTOPLL,<data_rate>,<natural_frequency>,<pole_frequency>,
<damping_factor>[,<PLL_settling_time>]}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>,<damping_factor>}
| {EXPTOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<natural_frequency>,<pole_frequency>,
<damping_factor>}
The :ANALyze:CLOCk:METHod:OJTF command specifies the clock recovery PLL's
response in terms of the Observed Jitter Transfer Function's (OJTF) 3 dB
bandwidth.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
You can set these types of PLL clock recovery methods:
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• TOPLL (Third Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
• EQTOPLL (Equalized Third Order PLL).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
• EXPSOPLL (Explicit Third Order PLL).
The EQUalized clock recovery methods are only available if the oscilloscope has
the High Speed Serial option and the Serial Data Equalization option installed and
the features are enabled.
For setting phase-locked loop (PLL) clock recovery methods in terms of the Jitter
Transfer Function (JTF), see ":ANALyze:CLOCk:METHod:JTF" on page 256.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
260 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
For setting other clock recovery methods, see ":ANALyze:CLOCk:METHod" on
page 247.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<data_rate> A real number for the base data rate in bits per second.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
<damping_ factor> A real number for the damping factor of the PLL.
<ojtf_loop_
bandwidth>
A real number for the cutoff frequency for the PLL to track.
<natural_frequenc
y>
A real number for the natural frequency of the PLL.
<pole_frequency> A real number for the pole frequency of the PLL.
<PLL_settling_tim
e>
A real number for the PLL settling time.
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a damping factor of 1.0.
myScope.WriteString ":ANALyze:CLOCk:METHod:OJTF SOPLL,4E9,2.4E6,1.0"
Query :ANALyze:CLOCk:METHod:OJTF?
The :ANALyze:CLOCk:METHod:OJTF? query returns the state of the clock recovery
method.
Returned Format [:ANALyze:CLOCk:METHod:OJTF]
{FOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<ojtf_loop_bandwidth>,<damping_factor>}
| {EQSOPLL,<data_rate>,<ojtf_loop_bandwidth>,<damping_factor>}
| {TOPLL,<data_rate>,<natural_frequency>,<pole_frequency>,
<damping_factor>[,<PLL_settling_time>]}
| {EQTOPLL,<data_rate>,<natural_frequency>,<pole_frequency>,
<damping_factor>[,<PLL_settling_time>]}
| {EXPFOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>}
| {EXPSOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>,<damping_fact>}
| {EXPTOPLL,<source>,{RISing | FALLing | BOTH},
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 261
<multiplier>,<clock_freq>,<natural_frequency>,<pole_frequency>,
<damping_factor>}
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:OJTF?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
•":ANALyze:CLOCk:METHod:PLLTrack" on page 262
•":ANALyze:CLOCk:METHod:EDGE" on page 253
•":ANALyze:SIGNal:TYPE" on page 282
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:OJTF" on page 1560.
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
262 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:CLOCk:METHod:PLLTrack
Command
:ANALyze:CLOCk:METHod:PLLTrack {OFF | ON}
The :ANALyze:CLOCk:METHod:PLLTrack command turns transition density
dependence on or off. See the help system for more information on the Transition
Density Dependent setting.
This command applies to the clock recovery method being set up for the waveform
source selected by the :ANALyze:CLOCk:METHod:SOURce command.
Example This example enables the Transition Density Dependent setting.
myScope.WriteString ":MEASure:CLOCk:METHod:PLLTrack ON"
Query :ANALyze:CLOCk:METHod:PLLTrack?
The :ANALyze:CLOCk:METHod:PLLTrack? query returns whether or not the
Transition Density Dependent setting is turned on.
Returned Format [:ANALyze:CLOCk:METHod:PLLTrack] {OFF | ON}
Example This example places the current setting of the Transition Density Dependent
setting in the string variable strTDD, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:METHod:PLLTrack?"
strTDD = myScope.ReadString
Debug.Print strTDD
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:OJTF" on page 259
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
•":ANALyze:CLOCk:METHod:EDGE" on page 253
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:PLLTrack" on page 1562.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 263
:ANALyze:CLOCk:METHod:SKEW
Command :ANALyze:CLOCk:METHod:SKEW <time>
When clock recovery is being performed on a PAM-4 signal type (see
:ANALyze:SIGNal:TYPE), the :ANALyze:CLOCk:METHod:SKEW command can be
used to to center the eye opening at the clock locations by shifting the clocks
relative to the data.
<time> Seconds in NR3 format.
Query :ANALyze:CLOCk:METHod:SKEW?
The :ANALyze:CLOCk:METHod:SKEW? query returns the skew setting.
Returned Format <time><NL>
See Also •":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
History New in version 6.10.
264 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:CLOCk:METHod:SOURce
Command :ANALyze:CLOCk:METHod:SOURce {ALL | <source>}
<source> ::= {CHANnel<N> | FUNCtion<F> | WMEMory<R> | EQUalized}
The :ANALyze:CLOCk:METHod:SOURce command selects the waveform source (or
ALL sources) to which other clock recovery method setup commands apply.
Clock recovery methods can be set up for each waveform source (or for all
waveform sources).
Query :ANALyze:CLOCk:METHod:SOURce?
The :ANALyze:CLOCk:METHod:SOURce? query returns the waveform source to
which other clock recovery method commands currently apply.
Returned Format [:ANALyze:CLOCk:METHod:SOURce] <source><NL>
<source> ::= {ALL | CHAN<N> | FUNC<F> | WMEM<N> | EQU}
See Also •":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:OJTF" on page 259
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
•":ANALyze:CLOCk:METHod:PLLTrack" on page 262
•":ANALyze:CLOCk:METHod:EDGE" on page 253
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:METHod:SOURce" on page 1563.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 265
:ANALyze:CLOCk:VERTical
Command
:ANALyze:CLOCk:VERTical {AUTO | MANual}
The :ANALyze:CLOCk:VERTical command sets the recovered clock vertical scale
mode to automatic or manual. In automatic mode, the oscilloscope automatically
selects the vertical scaling and offset. In manual mode, you can set your own
scaling and offset values.
Example This example sets the recovered clock vertical scale mode to automatic.
myScope.WriteString ":ANALyze:CLOCk:VERTical AUTO"
Query :ANALyze:CLOCk:VERTical?
The :ANALyze:CLOCk:VERTical? query returns the current recovered clock vertical
scale mode setting.
Returned Format [:ANALyze:CLOCk:VERTical] {AUTO | MANual}
Example This example places the current setting of the recovered clock vertical scale mode
in the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":ANALyze:CLOCk:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:VERTical" on page 1564.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
266 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:CLOCk:VERTical:OFFSet
Command
:ANALyze:CLOCk:VERTical:OFFSet <offset>
The :ANALyze:CLOCk:VERTical:OFFSet command sets the recovered clock vertical
offset.
<offset> A real number for the recovered clock vertical offset.
Example This example sets the clock recovery vertical offset to 1 volt.
myScope.WriteString ":ANALyze:CLOCk:VERTical:OFFSet 1"
Query :ANALyze:CLOCk:VERTical:OFFSet?
The :ANALyze:CLOCk:VERTical:OFFSet? query returns the clock recovery vertical
offset setting.
Returned Format [:ANALyze:CLOCk:VERTical:OFFSet] <value><NL>
<value> The clock recovery vertical offset setting.
Example This example places the current value of recovered clock vertical offset in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ANALyze:CLOCk:VERTical:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:VERTical:OFFSet" on page 1565.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 267
:ANALyze:CLOCk:VERTical:RANGe
Command
:ANALyze:CLOCk:VERTical:RANGe <range>
The :ANALyze:CLOCk:VERTical:RANGe command sets the recovered clock vertical
range.
<range> A real number for the full-scale recovered clock vertical range.
Example This example sets the recovered clock vertical range to 16 volts (2 volts times 8
divisions.)
myScope.WriteString ":ANALyze:CLOCk:VERTical:RANGe 16"
Query :ANALyze:CLOCk:VERTical:RANGe?
The :ANALyze:CLOCk:VERTical:RANGe? query returns the recovered clock vertical
range setting.
Returned Format [:ANALyze:CLOCk:VERTical:RANGe] <value><NL>
<value> The recovered clock vertical range setting.
Example This example places the current value of recovered clock vertical range in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ANALyze:CLOCk:VERTical:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History New in version 5.30. This command replaces the now deprecated command
":MEASure:CLOCk:VERTical:RANGe" on page 1566.
NOTE
:ANALyze:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
268 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:SIGNal:DATarate
Command :ANALyze:SIGNal:DATarate <source>,<data_rate>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R>}
When the source signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:ANALyze:SIGNal:DATarate command specifies the data rate of the signal.
With PAM-4, the data rate is twice the symbol rate because each voltage level
represents two bits of data. Changing the data rate also changes the symbol rate
(see :ANALyze:SIGNal:SYMBolrate) and vice-versa.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<data_rate> Bits/second in NR3 format.
Query :ANALyze:SIGNal:DATarate? <source>
The :ANALyze:SIGNal:DATarate? query returns the data rate of the source signal.
Returned Format [:ANALyze:SIGNal:DATarate] <data_rate><NL>
<data_rate> ::= bits/second in NR3 format.
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 269
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
History New in version 5.50.
270 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:SIGNal:SYMBolrate
Command :ANALyze:SIGNal:SYMBolrate <source>,<symbol_rate>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R>}
When the source signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), this command
specifies the edge rate of the signal. The inverse of this rate is the unit interval (UI).
With PAM-4, the data rate is twice the symbol rate because each voltage level
represents two bits of data. Changing the symbol rate also changes the data rate
(see :ANALyze:SIGNal:DATarate) and vice-versa.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<symbol_rate> Baud in NR3 format.
Query :ANALyze:SIGNal:SYMBolrate? <source>
The :ANALyze:SIGNal:SYMBolrate? query returns the symbol rate for the specified
source signal.
Returned Format [:ANALyze:SIGNal:SYMBolrate] <symbol_rate><NL>
<symbol_rate> ::= baud in NR3 format.
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 271
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
History New in version 5.50.
272 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:SIGNal:MIXer:CABLeloss
Command :ANALyze:SIGNal:MIXer:CABLeloss <source>,<loss>
The :ANALyze:SIGNal:MIXer:CABLeloss command sets the loss of the cable
connecting the mixer to the oscilloscope.
<source> {CHANnel<N>}
<loss> The dB cable return loss in NR3 format.
Query :ANALyze:SIGNal:MIXer:CABLeloss? <source>
The :ANALyze:SIGNal:MIXer:CABLeloss? query returns the specified cable loss.
Returned Format <loss><NL>
See Also •":ANALyze:SIGNal:MMWave:CALibrate" on page 273
•":ANALyze:SIGNal:MMWave:CFRequency" on page 274
•":ANALyze:SIGNal:MMWave:CONNect" on page 275
•":ANALyze:SIGNal:MMWave:LOADdress" on page 276
•":ANALyze:SIGNal:MMWave:MBANdwidth" on page 277
History New in version 5.60.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 273
:ANALyze:SIGNal:MMWave:CALibrate
Command :ANALyze:SIGNal:MMWave:CALibrate
The :ANALyze:SIGNal:MMWave:CALibrate command initiates a mixer/LO (local
oscillator) power calibration.
The LO is identified by the :ANALyze:SIGNal:MMWave:LOADdress command.
The calibration takes about a minute.
You may send additional commands that will not be executed until this command
completes. (The command is blocking.)
You may initiate a query (*IDN?, etc.) to wait until the calibration is complete.
See Also •":ANALyze:SIGNal:MIXer:CABLeloss" on page 272
•":ANALyze:SIGNal:MMWave:CFRequency" on page 274
•":ANALyze:SIGNal:MMWave:CONNect" on page 275
•":ANALyze:SIGNal:MMWave:LOADdress" on page 276
•":ANALyze:SIGNal:MMWave:MBANdwidth" on page 277
History New in version 5.60.
274 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:SIGNal:MMWave:CFRequency
Command :ANALyze:SIGNal:MMWave:CFRequency <center_freq>
The :ANALyze:SIGNal:MMWave:CFRequency command sets the center frequency
for the oscilloscope's FFT math function.
Because all channels using mmWave share a LO, there is only one center
frequency for the oscilloscope.
<center_freq> Center frequency in NR3 format.
Query :ANALyze:SIGNal:MMWave:CFRequency?
The :ANALyze:SIGNal:MMWave:CFRequency? query returns the specified center
frequency.
Returned Format <center_freq><NL>
See Also •":ANALyze:SIGNal:MIXer:CABLeloss" on page 272
•":ANALyze:SIGNal:MMWave:CALibrate" on page 273
•":ANALyze:SIGNal:MMWave:CONNect" on page 275
•":ANALyze:SIGNal:MMWave:LOADdress" on page 276
•":ANALyze:SIGNal:MMWave:MBANdwidth" on page 277
History New in version 5.60.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 275
:ANALyze:SIGNal:MMWave:CONNect
Command :ANALyze:SIGNal:MMWave:CONNect <source>,{{0 | OFF} | {1 | ON}}
The :ANALyze:SIGNal:MMWave:CONNect command sets the connection status for
the mixer and LO (local oscillator) assigned to the specified channel. Use OFF to
disconnect.
<source> {CHANnel<N>}
Query :ANALyze:SIGNal:MMWave:CONNect? <source>
The :ANALyze:SIGNal:MMWave:CONNect? query returns the mixer and LO
connection status.
Returned Format <status><NL>
<status> ::= {0 | 1}
See Also •":ANALyze:SIGNal:MIXer:CABLeloss" on page 272
•":ANALyze:SIGNal:MMWave:CALibrate" on page 273
•":ANALyze:SIGNal:MMWave:CFRequency" on page 274
•":ANALyze:SIGNal:MMWave:LOADdress" on page 276
•":ANALyze:SIGNal:MMWave:MBANdwidth" on page 277
History New in version 5.60.
276 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:SIGNal:MMWave:LOADdress
Command :ANALyze:SIGNal:MMWave:LOADdress <string>
The :ANALyze:SIGNal:MMWave:LOADdress command sets the LO's (local
oscillator's) VISA address.
The VISA address of the LO can be found in the Keysight Connection Expert.
<string> Quoted VISA address of LO.
Query :ANALyze:SIGNal:MMWave:LOADdress?
The :ANALyze:SIGNal:MMWave:LOADdress? query returns the specified LO VISA
address.
Returned Format <string><NL>
See Also •":ANALyze:SIGNal:MIXer:CABLeloss" on page 272
•":ANALyze:SIGNal:MMWave:CALibrate" on page 273
•":ANALyze:SIGNal:MMWave:CFRequency" on page 274
•":ANALyze:SIGNal:MMWave:CONNect" on page 275
•":ANALyze:SIGNal:MMWave:MBANdwidth" on page 277
History New in version 5.60.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 277
:ANALyze:SIGNal:MMWave:MBANdwidth
Command :ANALyze:SIGNal:MMWave:MBANdwidth <meas_bandwidth>
The :ANALyze:SIGNal:MMWave:MBANdwidth command sets the measurement
bandwidth (in Hz).
The specified bandwidth becomes the center frequency for the oscilloscope's FFT
math function.
Because all channels using mmWave will share a LO (local oscillator), there is only
one measurement bandwidth for the oscilloscope.
<meas_bandwidth
>
Bandwidth in NR3 format.
Query :ANALyze:SIGNal:MMWave:MBANdwidth?
The :ANALyze:SIGNal:MMWave:MBANdwidth? query returns the specified
measurement bandwidth.
Returned Format <meas_bandwidth><NL>
See Also •":ANALyze:SIGNal:MIXer:CABLeloss" on page 272
•":ANALyze:SIGNal:MMWave:CALibrate" on page 273
•":ANALyze:SIGNal:MMWave:CFRequency" on page 274
•":ANALyze:SIGNal:MMWave:CONNect" on page 275
•":ANALyze:SIGNal:MMWave:LOADdress" on page 276
History New in version 5.60.
278 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:SIGNal:PATTern:CLEar
Command :ANALyze:SIGNal:PATTern:CLEar <source>
For NRZ and PAM4 signal types (see :ANALyze:SIGNal:TYPE), the
:ANALyze:SIGNal:PATTern:CLEar command clears a loaded pattern file and goes
back to an automatic or manual pattern length setting.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 244.
See Also •":ANALyze:SIGNal:TYPE" on page 282
•":ANALyze:SIGNal:PATTern:LOAD" on page 279
•":ANALyze:SIGNal:PATTern:PLENgth" on page 280
•":ANALyze:SIGNal:PATTern:SMAP" on page 281
•":MEASure:BER" on page 747
•":MEASure:BERPeracq" on page 748
•":MEASure:SER" on page 921
•":MEASure:SERPeracq" on page 922
History New in version 6.20.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 279
:ANALyze:SIGNal:PATTern:LOAD
Command :ANALyze:SIGNal:PATTern:LOAD <source>,"<pattern_file_path>"
For NRZ and PAM4 signal types (see :ANALyze:SIGNal:TYPE), the
:ANALyze:SIGNal:PATTern:LOAD command loads a pattern file from which pattern
lengths and patterns are determined.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 244.
<pattern_file_path
>
Quoted string that is the path of the pattern file.
The Infiniium oscilloscope software includes some NRZ PRBS pattern files that are
also included with BERTs.
See Also •":ANALyze:SIGNal:TYPE" on page 282
•":ANALyze:SIGNal:PATTern:CLEar" on page 278
•":ANALyze:SIGNal:PATTern:PLENgth" on page 280
•":ANALyze:SIGNal:PATTern:SMAP" on page 281
•":MEASure:BER" on page 747
•":MEASure:BERPeracq" on page 748
•":MEASure:SER" on page 921
•":MEASure:SERPeracq" on page 922
History New in version 6.20.
280 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:SIGNal:PATTern:PLENgth
Command :ANALyze:SIGNal:PATTern:PLENgth <source>,{AUTO | <pattern_length>}
For NRZ and PAM4 signal types (see :ANALyze:SIGNal:TYPE), the
:ANALyze:SIGNal:PATTern:PLENgth command specifies a pattern length or that
the oscilloscope determine the pattern length automatically.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 244.
AUTO The oscilloscope automatically determines the pattern length and pattern by
looking for at least two error-free copies of an identical repeating bit pattern in
acquisition memory.
<pattern_length> Manually specifies the pattern length as an integer number of symbols from 2 to
2^23. In this case, to determine the pattern, the oscilloscope looks in acquisition
memory for at least two error-free copies of an identical repeating bit pattern of
the specified length.
Query :ANALyze:SIGNal:PATTern:PLENgth? <source>
The :ANALyze:SIGNal:PATTern:PLENgth? query returns the specified pattern
length setting.
Returned Format <pattern_length><NL>
<pattern_length> ::= 2 to 2^23
See Also •":ANALyze:SIGNal:TYPE" on page 282
•":ANALyze:SIGNal:PATTern:CLEar" on page 278
•":ANALyze:SIGNal:PATTern:LOAD" on page 279
•":ANALyze:SIGNal:PATTern:SMAP" on page 281
•":MEASure:BER" on page 747
•":MEASure:BERPeracq" on page 748
•":MEASure:SER" on page 921
•":MEASure:SERPeracq" on page 922
History New in version 6.20.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 281
:ANALyze:SIGNal:PATTern:SMAP
Command :ANALyze:SIGNal:PATTern:SMAP <source>,{UNCoded | GRAYcoded}
For PAM4 signal types (see :ANALyze:SIGNal:TYPE), the
:ANALyze:SIGNal:PATTern:SMAP command specifies whether the symbol map is
gray-coded or uncoded.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Sources for Analyze
Commands" on page 244.
Query :ANALyze:SIGNal:PATTern:SMAP? <source>
The :ANALyze:SIGNal:PATTern:SMAP? query returns the symbol map setting.
Returned Format {UNC | GRAY}<NL>
See Also •":ANALyze:SIGNal:TYPE" on page 282
•":ANALyze:SIGNal:PATTern:CLEar" on page 278
•":ANALyze:SIGNal:PATTern:LOAD" on page 279
•":ANALyze:SIGNal:PATTern:PLENgth" on page 280
•":MEASure:BER" on page 747
•":MEASure:BERPeracq" on page 748
•":MEASure:SER" on page 921
•":MEASure:SERPeracq" on page 922
History New in version 6.20.
282 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
:ANALyze:SIGNal:TYPE
Command :ANALyze:SIGNal:TYPE <source>,{UNSPecified | NRZ | PAM4 | MMWave | CPHY}
<source> ::= {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
The :ANALyze:SIGNal:TYPE command lets you specify whether a channel,
function, or waveform memory is a special type of signal, like a PAM-4 signal for
example.
• UNSPecified — When a signal type is unspecified, the oscilloscope's digital
signal analysis and measurement features assume a NRZ signal with two levels
(high and low).
• NRZ — With this selection, you are able to specify pattern lengths and patterns
so that you can make BER measurements on NRZ signals.
• PAM4 — When a signal is specified as a PAM-4 (4-level Pulse-Amplitude
Modulation) signal:
•It changes how the oscilloscope determines voltage levels. Three thresholds
are used to distinguish between the four voltage levels.
•It changes how the oscilloscope represents the data rate. Two bits of data
are represented by each voltage level.
•The term symbol rate is used to describe the clock edge rate of the signal.
The inverse of this rate is the unit interval (UI).
•There are multiple edges to consider in clock recovery. Clock recovery
occurs at the middle threshold, but you can specify which edges to include:
0 level to 3 level edges and opposite, 1 level to 2 level edges and opposite,
or non-symmetric edges (about the middle threshold, for example, 1 level to
3 level edges, 2 level to 0 level edges, etc.).
•It changes how eye measurements, voltage level measurements, and
rise/fall time measurements are presented because of the multiple eyes,
levels, and edges.
• MMWave — Supports analysis of millimeter-wave signals that have been
down-converted to IF band signals by an external smart mixer and an LO signal
from a signal generator. The oscilloscope controls the signal generator and
external smart mixer and gets correction factors and detector level information
from the mixer. The resulting signals can be analyzed using the oscilloscope's
FFT spectral analysis and demodulated using the 89600 VSA vector signal
analysis software.
• CPHY — Supports decode and analysis of MIPI C-PHY signals.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 283
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Query :ANALyze:SIGNal:TYPE? <source>
The :ANALyze:SIGNal:TYPE? query returns a channel, function, or waveform
memory's signal type.
Returned Format [:ANALyze:SIGNal:TYPE] <type><NL>
<type> ::= {UNSP | NRZ | PAM3 | PAM4 | MMW | CPHY}
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:PATTern:PLENgth" on page 280
•":ANALyze:SIGNal:PATTern:LOAD" on page 279
•":MEASure:BER" on page 747
•":MEASure:BERPeracq" on page 748
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
284 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
History New in version 5.50.
Version 5.60: Added the MMWave signal type.
Version 6.10: Added the CPHY signal type.
Analyze Commands 11
Keysight Infiniium Oscilloscopes Programmer's Guide 285
:ANALyze:VIEW
Command :ANALyze:VIEW <data>
<data> ::= {ALL | MAIN}
The :ANALyze:VIEW command specify whether to use the data on screen or the
entire acquisition for measurements, functions, and analysis.
This command maps to the "Window All Data" control in the user interface's
Measurement Setup dialog box.
When all edges in an acquisition are used for horizontal measurements (see
:ANALyze:AEDGes), this command's setting becomes "ALL" and the entire
acquisition is used for measurements, functions, and analysis.
Query :ANALyze:VIEW?
The :ANALyze:VIEW? query returns the value that is currently set.
Returned Format [:ANALyze:VIEW] <data><NL>
<data> ::= {ALL | MAIN}
See Also •":ANALyze:AEDGes" on page 245
History New in version 5.30.
286 Keysight Infiniium Oscilloscopes Programmer's Guide
11 Analyze Commands
287
Keysight Infiniium Oscilloscopes
Programmer's Guide
12 Bus Commands
:BUS:B<N>:TYPE / 288
:BUS<B>:BIT<M> / 290
:BUS<B>:BITS / 291
:BUS<B>:CLEar / 292
:BUS<B>:CLOCk / 293
:BUS<B>:CLOCk:SLOPe / 294
:BUS<B>:DISPlay / 295
:BUS<B>:LABel / 296
:BUS<B>:READout / 297
NOTE
The :BUS:B<N>:TYPE command applies to oscilloscopes with the serial data analysis option
installed. The other :BUS<B> commands apply to mixed-signal oscilloscopes (MSOs).
288 Keysight Infiniium Oscilloscopes Programmer's Guide
12 Bus Commands
:BUS:B<N>:TYPE
Command :BUS:B<N>:TYPE {<protocol> | <hs_protocol>}
The :BUS:B<N>:TYPE command sets the type of protocol being analyzed for a
serial bus waveform.
<protocol> {A429 | CAN | CPHY | DDR | E10BASET | E10GBASEKR | E100GBASEKRCR | EPSI |
FLEXray | GENRaw | I3C | IIC | JTAG | LIN | MAN | M1553 | MIPI | RFFE | SENT | SPI |
SPMI | SPW | SVID | UART | USB2}
<hs_protocol> {BRR | CSI3 | DIGRf | DVI | E100BASETX | FIBRechannel | {GEN8B10B | GENeric} |
INFiniband | JESD204B | LLI | PCI3 | PCI4 | PCIExpress | SAS | SATA | SSIC | UFS |
UNIPro | USB3 | USB31 | USBPD | XAUI}
<N> An integer, 1-4.
Example This example sets the serial bus waveform number one protocol type to FLEXray.
myScope.WriteString ":BUS:B1:TYPE FLEXray"
Query :BUS:B<N>:TYPE?
The :BUS:B<N>:TYPE? query returns the name of the protocol being used for the
serial bus.
Returned Format [:BUS:B<N>:TYPE] {<protocol> | <hs_protocol>}<NL>
<protocol> {A429 | CAN | CPHY | DDR | E10BASET | E10GBASEKR | E100GBASEKRCR | ESPI |
FLEX | GENR | I3C | IIC | JTAG | LIN | MAN | M1553 | MIPI | RFFE | SENT | SPI | SPMI
| SPW | SVID | UART | USB2}
<hs_protocol> {BRR | CSI3 | DIGR | DVI | E100BASETX | FC | {USER | USER} | INF | JESD204B | LLI
| PCI3 | PCI4 | PCIE | SAS | SATA | SSIC | UFS | UNIP | USB3 | USB31 | USBPD | XAUI}
See Also •":SBUS<N>:HS Commands" on page 1086
History Legacy command (existed before version 3.10).
Version 3.11: Added the MPHY protocol type for the MIPI M-PHY serial decode
selection.
Version 5.00: Added support for new protocols.
Version 5.51: Added support for new ESPI, USB31, and USBPD protocols.
Version 5.70: Added support for new A429, M1553, and I3C protocols.
Version 6.00: Added support for new GENRaw and SPMI protocols.
NOTE
This BUS command only applies to oscilloscopes with the serial data analysis option installed.
Bus Commands 12
Keysight Infiniium Oscilloscopes Programmer's Guide 289
Version 6.10: Added support for new CPHY (MIPI C-PHY), BRR (BroadR-Reach),
SPW (SpaceWire), and MAN (Manchester) protocols.
Version 6.20: Added support for new PCI4 (PCI Express Gen4) and SENT (Single
Edge Nibble Transmission) protocols.
290 Keysight Infiniium Oscilloscopes Programmer's Guide
12 Bus Commands
:BUS<B>:BIT<M>
Command :BUS<B>:BIT<M> {ON | OFF | 1 | 0}
The :BUS<B>:BIT<M> command includes or excludes the selected bit as part of
the definition for the selected bus. If the parameter is a 1 (ON) then the bit is
included in the definition. If the parameter is a 0 (OFF) then the bit is excluded
from the definition. The digital subsystem must be enabled for this command will
work. See ENABle command in the root subsystem.
<M> An integer, 0-15.
<N> An integer, 1-4.
Example This example includes bit 1 as part of the bus 1 definition.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:BIT1 ON"
Query :BUS<B>:BIT<M>?
The :BUS<B>:BIT<M>? query returns the value indicating whether the specified bit
is included or excluded from the specified bus definition.
Returned Format [:BUS<B>:BIT<M>] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
NOTE
The BUS commands only apply to the MSO oscilloscopes.
Bus Commands 12
Keysight Infiniium Oscilloscopes Programmer's Guide 291
:BUS<B>:BITS
Command :BUS<B>:BITS <channel_list>,{ON | OFF|1|0}
The :BUS<B>:BITS command includes or excludes the selected bits in the channel
list in the definition of the selected bus. If the parameter is a 1 (ON) then the bits in
the channel list are included as part of the selected bus definition. If the parameter
is a 0 (OFF) then the bits in the channel list are excluded from the definition of the
selected bus. The digital subsystem must be enabled for this command will work.
See ENABle command in the root subsystem.
<N> An integer, 1- 4.
<channel_list> The channel range is from 0 to 15 in the following format.
Example This example includes bits 1, 2, 4, 5, 6, 7, 8, and 9 as part of the bus 1 definition.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:BITS (@1,2,4:9),ON"
Query :BUS<B>:BITS?
The :BUS<B>:BITS? query returns the definition for the specified bus.
Returned Format [:BUS<B>:BITS] <channel_list>,{1 | 0}<NL>
History Legacy command (existed before version 3.10).
NOTE
The BUS commands only apply to the MSO oscilloscopes.
(@1,5,7,9) channels 1, 5, 7, and 9 are turned on.
(@1:15) channels 1 through 15 are turned on.
(@1:5,8,14) channels 1 through 5, channel 8, and channel 14
are turned on.
NOTE
The parenthesizes are part of the expression and are necessary.
292 Keysight Infiniium Oscilloscopes Programmer's Guide
12 Bus Commands
:BUS<B>:CLEar
Command :BUS<B>:CLEar
The :BUS<B>:CLEar command excludes all of the digital channels from the
selected bus definition.
<N> An integer, 1-4.
Example This example excludes all the digital channels from the bus 1 definition.
myScope.WriteString ":BUS1:CLEar"
History Legacy command (existed before version 3.10).
NOTE
The BUS commands only apply to the MSO oscilloscopes.
Bus Commands 12
Keysight Infiniium Oscilloscopes Programmer's Guide 293
:BUS<B>:CLOCk
Command :BUS<B>:CLOCk {CHANnel<N> | DIGital<M> | NONE}
The :BUS<B>:CLOCk command sets the digital or analog channel used as the
clock for decoding the bus values.
<M> An integer, 0-15.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<O> An integer, 1-4.
Example This example sets the clock to channel 1 for bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:CLOCk CHANnel1"
Query :BUS<B>:CLOCK?
The :BUS<B>:CLOCk query returns the channel being used for the specified bus.
Returned Format [:BUS<B>:CLOCk] {CHANnel<O> | DIGital<M> | NONE}<NL>
History Legacy command (existed before version 3.10).
NOTE
The BUS commands only apply to the MSO oscilloscopes.
294 Keysight Infiniium Oscilloscopes Programmer's Guide
12 Bus Commands
:BUS<B>:CLOCk:SLOPe
Command :BUS<B>:CLOCk:SLOPe {RISing | FALLing | EITHer}
The :BUS<B>:CLOCk:SLOPe command sets the clock edge used for decoding the
bus values.
<O> An integer, 1-4.
Example This example sets the clock edge to falling for bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1:CLOCk:SLOPE FALLING"
Query :BUS<B>:CLOCK:SLOPe?
The :BUS<B>:CLOCk:SLOPe query returns the clock edge being used for the
specified bus.
Returned Format [:BUS<B>:CLOCk:SLOPe] {RISing | FALLing | EITHer}<NL>
History Legacy command (existed before version 3.10).
NOTE
The BUS commands only apply to the MSO oscilloscopes.
Bus Commands 12
Keysight Infiniium Oscilloscopes Programmer's Guide 295
:BUS<B>:DISPlay
Command :BUS<B>[:DISPlay] {ON | OFF |1|0}
The :BUS<B>:DISPlay command enables or disables the view of the selected bus.
The digital subsystem must be enabled before this command will work. See the
ENABle command in the root subsystem.
<N> An integer, 1- 4.
Example This example enables the viewing of bus 1.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":BUS1 ON"
Query :BUS<B>[:DISPlay]?
The :BUS<B>[:DISPlay]? query returns the display value of the selected bus.
Returned Format [:BUS<B>] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
NOTE
The BUS commands only apply to the MSO oscilloscopes.
296 Keysight Infiniium Oscilloscopes Programmer's Guide
12 Bus Commands
:BUS<B>:LABel
Command :BUS<B>:LABel <quoted_string>
The :BUS<B>:LABel command sets the bus label to the quoted string. Setting a
label for a bus will also result in the name being added to the label list.
<N> An integer, 1- 4.
<quoted_string> A series of 6 or less characters as a quoted ASCII string.
Example This example sets the bus 1 label to Data.
myScope.WriteString ":BUS1:LABel ""Data"""
Query :BUS<B>:LABel?
The :BUS<B>:LABel? query returns the name of the specified bus.
Returned Format [:BUS<B>:LABel] <quoted_string><NL>
History Legacy command (existed before version 3.10).
NOTE
The BUS commands only apply to the MSO oscilloscopes.
NOTE
Label strings are 16 characters or less, and may contain any commonly used ASCII characters.
Labels with more than 16 characters are truncated to 16 characters.
Bus Commands 12
Keysight Infiniium Oscilloscopes Programmer's Guide 297
:BUS<B>:READout
Command :BUS<B>:READout {DECimal | HEX | SIGNed | SYMBol}
The :BUS<B>:READout command changes the format of the numbers displayed in
the bus waveform.
<N> An integer, 1-4.
Example This example sets the bus read out to decimal.
myScope.WriteString ":BUS1:READout DECimal"
Query :BUS<B>:READout?
The :BUS<B>:READout? query returns the format of the readout control.
Returned Format [:BUS<B>:READout] {DECimal | HEX | SIGNed | SYMBol}<NL>
History Legacy command (existed before version 3.10).
NOTE
The BUS commands only apply to the MSO oscilloscopes.
298 Keysight Infiniium Oscilloscopes Programmer's Guide
12 Bus Commands
299
Keysight Infiniium Oscilloscopes
Programmer's Guide
13 Calibration Commands
:CALibrate:DATE? / 301
:CALibrate:OUTPut / 302
:CALibrate:OUTPut:AUX / 304
:CALibrate:OUTPut:AUX:RTIMe / 305
:CALibrate:OUTPut:CAL / 306
:CALibrate:SKEW / 307
:CALibrate:STATus? / 308
:CALibrate:TEMP? / 309
This chapter briefly explains the calibration of the oscilloscope. It is intended to
give you and the calibration lab personnel an understanding of the calibration
procedure and how the calibration subsystem is intended to be used.
The commands in the CALibration subsystem allow you to change the output of
the front-panel Aux Out connector, adjust the skew of channels, and check the
status of calibration.
These CALibration commands and queries are implemented in the Infiniium
oscilloscopes:
This chapter briefly explains the calibration of the oscilloscope. It is intended to
give you and the calibration lab personnel an understanding of the calibration
procedure and how the calibration subsystem is intended to be used.
Oscilloscope
Calibration
Oscilloscope calibration establishes calibration factors for the oscilloscope. These
factors are stored on the oscilloscope's hard disk.
• Initiate the calibration from the "Utilities Calibration" menu.
You should calibrate the oscilloscope periodically (at least annually), or if the
ambient temperature since the last calibration has changed more than ±5 °C. The
temperature change since the last calibration is shown on the calibration status
screen which is found under the "Utilities Calibration" dialog. It is the line labeled
"Calibration Δ Temp: _ °C."
See also the oscilloscope's Service Guide has more details about the calibration.
300 Keysight Infiniium Oscilloscopes Programmer's Guide
13 Calibration Commands
Probe Calibration Probe calibration establishes the gain and offset of a probe that is connected to a
channel of the oscilloscope, and applies these factors to the calibration of that
channel.
• Initiate probe calibration from the "Setup > Channel > Probes > Calibrate Probe"
menu.
To achieve the specified accuracy (±2%) with a probe connected to a channel,
make sure the oscilloscope is calibrated.
•For probes that the oscilloscope can identify through the probe power
connector, like the 1158A, the oscilloscope automatically adjusts the
vertical scale factors for that channel even if a probe calibration is not
performed.
•For nonidentified probes, the oscilloscope adjusts the vertical scale factors
only if a probe calibration is performed.
• If you do not perform a probe calibration but want to use an unidentified probe,
enter the attenuation factor in the "Setup > Channel > Probes > Configure
Probing System > User Defined Probe" menu.
•If the probe being calibrated has an attenuation factor that allows the
oscilloscope to adjust the gain (in hardware) to produce even steps in the
vertical scale factors, the oscilloscope will do so.
•If the probe being calibrated has an unusual attenuation, like 3.75, the
oscilloscope may have to adjust the vertical scale factors to an unusual
number, like 3.75 V/div.
Typically, probes have standard attenuation factors such as divide by 10, divide
by 20, or divide by 100.
Calibration Commands 13
Keysight Infiniium Oscilloscopes Programmer's Guide 301
:CALibrate:DATE?
Query :CALibrate:DATE?
The :CALibrate:DATE? query returns two calibration dates and times:
• The date and time of the last regular user calibration.
• The date and time of the last time scale calibration.
Returned Format [:CALibrate:DATE] <user_date_time>,<ts_date_time><NL>
The string returned is formatted like "<day> <month> <year>
<hours>:<minutes>:<seconds>,<day> <month> <year>
<hours>:<minutes>:<seconds>", for example "31 MAY 2013 12:52:45,4 DEC 2012
10:59:52".
History Legacy command (existed before version 3.10).
302 Keysight Infiniium Oscilloscopes Programmer's Guide
13 Calibration Commands
:CALibrate:OUTPut
Command :CALibrate:OUTPut {AC | TRIGOUT | DC,<dc_value> | ZERO | ONE | DPULse
| SOSC | HFOSC | PRBS7 | PRBS15 | PRBS31}
The :CALibrate:OUTPut command sets the coupling frequency, trigger output
pulse, and dc level of the calibrator waveform output through the front-panel Aux
Out connector.
Options on all oscilloscopes:
• AC — sets the Aux Out to be the probe compensation square wave
(approximately 750 Hz).
• TRIGOUT — outputs a pulse when the trigger event occurs. Use this to trigger
other instruments.
• DC,<dc_value> — a DC level value in volts. The <dc_value> is a real number
from -2.4 V to +2.4 V dc.
Options on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes:
•ZERO — a -450mV DV level.
• ONE — a -150 mV DC level.
• DPULse — A double-pulse signal.
• SOSC — The 100 MHz reference clock output.
• HFOSC — A high-frequency oscillator output.
Options on 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series oscilloscopes:
•PRBS7 — Pseudo-Random Binary Sequence with maximum length 27-1 bits,
and its inverted version.
• PRBS15 — Pseudo-Random Binary Sequence with maximum length 215-1 bits,
and its inverted version.
• PRBS31 — Pseudo-Random Binary Sequence with maximum length 231-1 bits,
and its inverted version.
Example This example puts a DC voltage of 2.0 volts on the oscilloscope front-panel
Aux Out connector.
myScope.WriteString ":CALibrate:OUTPut DC,2.0"
Query :CALibrate:OUTPut?
The :CALibrate:OUTPut? query returns the current setup.
Returned Format [:CALibrate:OUTPut] {AC | TRIGOUT | DC,<dc_value> | ZERO | ONE | DPULse
| SOSC | HFOSC | PRBS7 | PRBS15 | PRBS31}
Calibration Commands 13
Keysight Infiniium Oscilloscopes Programmer's Guide 303
Example This example places the current selection for the DC calibration to be printed in
the string variable, strSelection, then prints the contents of the variable to the
computer's screen.
Dim strSelection As String 'Dimension variable
myScope.WriteString ":CALibrate:OUTPut?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
Version 6.10: Added the PRBS7, PRBS15, and PRBS31 options for the Infiniium
90000 X-Series, V-Series, 90000 Q-Series, and Z-Series oscilloscopes.
304 Keysight Infiniium Oscilloscopes Programmer's Guide
13 Calibration Commands
:CALibrate:OUTPut:AUX
Command :CALibrate:OUTPut:AUX {{0 | OFF} | {1 | ON}}
The :CALibrate:OUTPut:AUX command enables or disables signal output on the
oscilloscope's Aux Out connector.
Query :CALibrate:OUTPut:AUX?
The :CALibrate:OUTPut:AUX? query returns the Aux Out enable/disable setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CALibrate:OUTPut" on page 302
•":CALibrate:OUTPut:AUX:RTIMe" on page 305
•":CALibrate:OUTPut:CAL" on page 306
History New in version 6.00.
NOTE
On the Infiniium S-Series, 9000 Series, or 90000A Series oscilloscopes, the only valid setting
for this command is ON or 1.
Calibration Commands 13
Keysight Infiniium Oscilloscopes Programmer's Guide 305
:CALibrate:OUTPut:AUX:RTIMe
Command :CALibrate:OUTPut:AUX:RTIMe <risetime>
The :CALibrate:OUTPut:AUX:RTIMe command specifies the speed of the Aux Out
signal's rise time.
<risetime> {FAST | SLOW | RFAST}
Query :CALibrate:OUTPut:AUX:RTIMe?
The :CALibrate:OUTPut:AUX:RTIMe? query returns the Aux Out rise time setting.
Returned Format <risetime><NL>
<risetime> ::= {FAST | SLOW | RFAST}
See Also •":CALibrate:OUTPut" on page 302
•":CALibrate:OUTPut:AUX" on page 304
•":CALibrate:OUTPut:CAL" on page 306
History New in version 6.00.
NOTE
The RFAST option is available with the 9000 Series oscilloscopes only.
306 Keysight Infiniium Oscilloscopes Programmer's Guide
13 Calibration Commands
:CALibrate:OUTPut:CAL
Command :CALibrate:OUTPut:CAL {{0 | OFF} | {1 | ON}}
The :CALibrate:OUTPut:CAL command enables or disables signal output on the
oscilloscope's Cal Out connector.
Query :CALibrate:OUTPut:CAL?
The :CALibrate:OUTPut:CAL? query returns the Cal Out enable/disable setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CALibrate:OUTPut" on page 302
•":CALibrate:OUTPut:AUX" on page 304
•":CALibrate:OUTPut:AUX:RTIMe" on page 305
History New in version 6.00.
NOTE
On the Infiniium S-Series, 9000 Series, or 90000A Series oscilloscopes, the only valid setting
for this command is OFF or 0 because there is no Cal Out connector.
Calibration Commands 13
Keysight Infiniium Oscilloscopes Programmer's Guide 307
:CALibrate:SKEW
Command :CALibrate:SKEW <source>,<skew_value>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C>}
The :CALibrate:SKEW command sets the channel-to-channel skew factor for a
channel. The numeric argument is a real number in seconds, which is added to the
current time base position to shift the position of the channel's data in time. Use
this command to compensate for differences in the electrical lengths of input
paths due to cabling and probes.
<N> An integer, 1-4.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<skew_value> A real number, in seconds.
Example This example sets the oscilloscope channel 1 skew to 1 μs.
myScope.WriteString ":CALibrate:SKEW CHANnel1,1E-6"
Query :CALibrate:SKEW? <source>
The :CALibrate:SKEW? query returns the current skew value.
Returned Format [:CALibrate:SKEW] <skew_value><NL>
History Legacy command (existed before version 3.10).
308 Keysight Infiniium Oscilloscopes Programmer's Guide
13 Calibration Commands
:CALibrate:STATus?
Query :CALibrate:STATus?
The :CALibrate:STATus? query returns the calibration status of the oscilloscope.
These are ten, comma-separated integers, with 1, 0, or -1. A "1" indicates pass, a
"0" indicates fail and a "-1" indicates unused. This matches the status in the
Calibration dialog box in the Utilities menu.
Returned Format [:CALibrate:STATus] <status>
<status> <Oscilloscope Frame Status>, <Channel1 Vertical>, <Channel1 Trigger>,
<Channel2 Vertical>, <Channel2 Trigger>, <Channel3 Vertical>, <Channel3
Trigger>, <Channel4 Vertical>, <Channel4 Trigger>, <Aux Trigger>
History Legacy command (existed before version 3.10).
Calibration Commands 13
Keysight Infiniium Oscilloscopes Programmer's Guide 309
:CALibrate:TEMP?
Query :CALibrate:TEMP?
The :CALibrate:TEMP? query returns two delta temperature values in Celsius:
• Between the current temp and the temp of the last time scale calibration.
• Between the current temp and the temp of the last regular user calibration.
Returned Format [:CALibrate:TEMP] <ts_delta_temp>,<user_delta_temp><NL>
For example, the string returned could be "-1,0". A difference in the two delta
values of one degree is not uncommon.
History Legacy command (existed before version 3.10).
310 Keysight Infiniium Oscilloscopes Programmer's Guide
13 Calibration Commands
311
Keysight Infiniium Oscilloscopes
Programmer's Guide
14 Channel Commands
:CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series) / 314
:CHANnel<N>:COMMonmode / 315
:CHANnel<N>:DIFFerential / 316
:CHANnel<N>:DIFFerential:SKEW / 317
:CHANnel<N>:DISPlay / 318
:CHANnel<N>:DISPlay:AUTO / 319
:CHANnel<N>:DISPlay:OFFSet / 321
:CHANnel<N>:DISPlay:RANGe / 323
:CHANnel<N>:DISPlay:SCALe / 325
:CHANnel<N>:INPut / 327
:CHANnel<N>:INVert / 328
:CHANnel<N>:ISIM:APPLy / 329
:CHANnel<N>:ISIM:BANDwidth / 330
:CHANnel<N>:ISIM:BWLimit / 332
:CHANnel<N>:ISIM:BWLimit:TYPE / 334
:CHANnel<N>:ISIM:CONVolve / 335
:CHANnel<N>:ISIM:CORRection / 336
:CHANnel<N>:ISIM:DEConvolve / 338
:CHANnel<N>:ISIM:DELay / 339
:CHANnel<N>:ISIM:NORMalize / 340
:CHANnel<N>:ISIM:PEXTraction / 341
:CHANnel<N>:ISIM:SPAN / 343
:CHANnel<N>:ISIM:STATe / 344
:CHANnel<N>:LABel / 345
:CHANnel<N>:OFFSet / 346
:CHANnel<N>:PROBe / 347
:CHANnel<N>:PROBe:ACCAL / 348
:CHANnel<N>:PROBe:ATTenuation / 349
:CHANnel<N>:PROBe:AUTozero / 350
:CHANnel<N>:PROBe:COUPling / 351
:CHANnel<N>:PROBe:EADapter / 352
:CHANnel<N>:PROBe:ECOupling / 355
312 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:EXTernal / 356
:CHANnel<N>:PROBe:EXTernal:GAIN / 357
:CHANnel<N>:PROBe:EXTernal:OFFSet / 358
:CHANnel<N>:PROBe:EXTernal:UNITs / 359
:CHANnel<N>:PROBe:GAIN / 360
:CHANnel<N>:PROBe:HEAD:ADD / 361
:CHANnel<N>:PROBe:HEAD:DELete ALL / 362
:CHANnel<N>:PROBe:HEAD:SELect / 363
:CHANnel<N>:PROBe:HEAD:VTERm / 364
:CHANnel<N>:PROBe:ID? / 365
:CHANnel<N>:PROBe:INFO? / 366
:CHANnel<N>:PROBe:MODE / 367
:CHANnel<N>:PROBe:PRECprobe:BANDwidth / 368
:CHANnel<N>:PROBe:PRECprobe:CALibration / 369
:CHANnel<N>:PROBe:PRECprobe:DELay / 370
:CHANnel<N>:PROBe:PRECprobe:MODE / 371
:CHANnel<N>:PROBe:PRECprobe:ZSRC / 372
:CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series) / 374
:CHANnel<N>:PROBe:SKEW / 375
:CHANnel<N>:PROBe:STYPe / 376
:CHANnel<N>:RANGe / 377
:CHANnel<N>:SCALe / 378
:CHANnel<N>:SIMulation:AMPLitude / 379
:CHANnel<N>:SIMulation:DATA:LENGth / 380
:CHANnel<N>:SIMulation:DATA:ODD / 381
:CHANnel<N>:SIMulation:DATA:PAM / 382
:CHANnel<N>:SIMulation:DATA:RESeed / 383
:CHANnel<N>:SIMulation:DATA:SELection / 384
:CHANnel<N>:SIMulation:DRATe / 385
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess / 386
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction / 387
:CHANnel<N>:SIMulation:FILTer:SELection / 388
:CHANnel<N>:SIMulation:FLOad:ADDRess / 389
:CHANnel<N>:SIMulation:FLOad:LOOP / 390
:CHANnel<N>:SIMulation:FREQuency / 391
:CHANnel<N>:SIMulation:FUNCtion:SELection / 392
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle / 393
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe / 394
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe / 395
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 313
:CHANnel<N>:SIMulation:JITTer / 396
:CHANnel<N>:SIMulation:JITTer:ABUJ / 397
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle / 398
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency / 399
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude / 400
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe / 401
:CHANnel<N>:SIMulation:JITTer:RANDom / 402
:CHANnel<N>:SIMulation:NOISe / 403
:CHANnel<N>:SIMulation:NOISe:BWLimit / 404
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle / 405
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency / 406
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude / 407
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe / 408
:CHANnel<N>:SIMulation:NOISe:RANDom / 409
:CHANnel<N>:SIMulation:OFFSet / 410
:CHANnel<N>:SIMulation:WAVeform / 411
:CHANnel<N>:UNITs / 412
The CHANnel subsystem commands control all vertical (Y axis) functions of the
oscilloscope. You may toggle the channel displays on and off with the root level
commands :VIEW and :BLANk, or with :CHANnel:DISPlay.
NOTE
In this section, you can specify differential and/or common mode channels using the following
convention. If you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
314 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series)
Command :CHANnel<N>:BWLimit {{ON | 1} | {OFF | 0}} for 9000, 9000H Series
:CHANnel<N>:BWLimit {{OFF | 0} | 20e6 | 200e6} for S-Series
On Infiniium 9000 Series or S-Series oscilloscopes, the :CHANnel<N>:BWLimit
command controls the input channel's low-pass filter. When ON (or set to a value),
the bandwidth of the specified channel is limited. The bandwidth filter can be
used with either AC or DC coupling.
• On Infiniium 9000 Series oscilloscopes, 1M Ω input impedance must be
selected before you can turn on the 20 MHz low-pass filter (see
":CHANnel<N>:INPut" on page 327).
• On Infiniium S-Series oscilloscopes, 20 MHz or 200 MHz low pass filters can be
turned on (without a passive probe being connected).
You can enable custom bandwidth limits using the :CHANnel<N>:ISIM:BWLimit
command. You can specify the custom bandwidth limit value with the
:CHANnel<N>:ISIM:BANDwidth command.
<N> An integer, 1-4.
Example This example sets the internal low-pass filter to "ON" for channel 1.
myScope.WriteString ":CHANnel1:BWLimit ON"
Query :CHANnel<N>:BWLimit?
The :CHANnel<N>:BWLimit? query returns the current state of the low-pass filter
for the specified channel.
Returned Format [:CHANnel<N>:BWLimit] {1 | 0}<NL> for 9000, 9000H Series
[:CHANnel<N>:BWLimit] {0 | 20e6 | 200e6}<NL> for S-Series
Example This example places the current setting of the low-pass filter in the variable
varLimit, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:BWLimit?"
varLimit = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)
See Also •":CHANnel<N>:INPut" on page 327
•":CHANnel<N>:ISIM:BWLimit" on page 332
•":CHANnel<N>:ISIM:BANDwidth" on page 330
•":ACQuire:BANDwidth" on page 213
History Legacy command (existed before version 3.10).
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 315
:CHANnel<N>:COMMonmode
Command :CHANnel<N>:COMMonmode {{ON | 1} | {OFF | 0}}
The :CHANnel<N>:COMMonmode command turns on/off common mode for the
channel. Channels 2 and 4 may form a common mode channel and Channels 1
and 3 may form a common mode channel.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns channel 1 common mode channel on (channel 1 + channel 3).
myScope.WriteString ":CHANnel1:COMMonmode ON"
Query :CHANnel<N>:COMMonmode?
The :CHANnel<N>:COMMonmode? query returns whether the channel is in
commonmode or not.
Returned Format [:CHANnel<N>:COMMonmode] {1 | 0}<NL>
Example This example places the current common mode setting of the channel 1 display in
the variable varComm, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:COMMonmode?"
varComm = myScope.ReadNumber
Debug.Print FormatNumber(varComm, 0)
History Legacy command (existed before version 3.10).
316 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:DIFFerential
Command :CHANnel<N>:DIFFerential {{ON | 1} | {OFF | 0}}
The :CHANnel<N>:DIFFerential command turns on/off differential mode for the
channel. Channels 1 and 3 may form a differential channel and Channels 2 and 4
may form a differential channel.
When differential channel modes are turned on, you can specify the display
vertical scale, range, and offsets for the differential or common mode signals
(using the :CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe, or
:CHANnel<N>:DISPlay:OFFSet commands), or you can set the display vertical
scale, range, and offsets to track the acquisition vertical scale and offset (using the
:CHANnel<N>:DISPlay:AUTO command).
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns channel 1 differential on (channel 1 - channel 3).
myScope.WriteString ":CHANnel1:DIFFerential ON"
Query :CHANnel<N>:DIFFerential?
The :CHANnel<N>:DIFFerential? query returns whether the channel is in
differential mode or not.
Returned Format [:CHANnel<N>:DIFFerential] {1 | 0}<NL>
Example This example places the current differential setting of the channel 1 display in the
variable varDiff, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DIFFerential?"
varDiff = myScope.ReadNumber
Debug.Print FormatNumber(varDiff, 0)
See Also •":CHANnel<N>:DISPlay:AUTO" on page 319
•":CHANnel<N>:DISPlay:OFFSet" on page 321
•":CHANnel<N>:DISPlay:RANGe" on page 323
•":CHANnel<N>:DISPlay:SCALe" on page 325
History Legacy command (existed before version 3.10).
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 317
:CHANnel<N>:DIFFerential:SKEW
Command :CHANnel<N>:DIFFerential:SKEW <skew>
The :CHANnel<N>:DIFFerential:SKEW <skew> command sets the skew that is
applied to the differential or common mode pair of channels.
<skew> A real number for the skew value
Example This example sets the skew applied to the channel 1 - channel 3 differential
channel to 10 μs.
myScope.WriteString ":CHANnel1:DIFFerential:SKEW 10E-6"
Query :CHANnel<N>:DIFFerential:SKEW?
The :CHANnel<N>:DIFFerential:SKEW? query returns the skew that is applied to
the differential or common mode pair of channels.
Returned Format [:CHANnel<N>:DIFFerential:SKEW] <skew_value><NL>
Example This example places the current skew setting of the channel 1 - channel 3
differential channel in the variable varSkew, then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DIFFerential:SKEW?"
varSkew = myScope.ReadNumber
Debug.Print FormatNumber(varSkew, 0)
History Legacy command (existed before version 3.10).
318 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:DISPlay
Command :CHANnel<N>:DISPlay {{ON | 1} | {OFF | 0}}
The :CHANnel<N>:DISPlay command turns the display of the specified channel on
or off.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example sets channel 1 display to on.
myScope.WriteString ":CHANnel1:DISPlay ON"
Query :CHANnel<N>:DISPlay?
The :CHANnel<N>:DISPlay? query returns the current display condition for the
specified channel.
Returned Format [:CHANnel<N>:DISPlay] {1 | 0}<NL>
Example This example places the current setting of the channel 1 display in the variable
varDisplay, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay?"
varDisplay = myScope.ReadNumber
Debug.Print FormatNumber(varDisplay, 0)
History Legacy command (existed before version 3.10).
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 319
:CHANnel<N>:DISPlay:AUTO
Command :CHANnel<N>:DISPlay:AUTO {{ON | 1} | {OFF | 0}}
When differential channel modes are turned on:
• ON — sets the differential and common mode display vertical scale and offset
to track the acquisition vertical scale and offset.
In this case, the differential and common mode display vertical scale and
offsets are set using the normal :CHANnel<N>:SCALe, :CHANnel<N>:RANGe,
or :CHANnel<N>:OFFSet commands.
• OFF — the differential and common mode display vertical scale and offset are
set using the the :CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe,
or :CHANnel<N>:DISPlay:OFFSet commands.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example sets the channel 1 - channel 3 differential channel display scale and
offset to track the acquisition scale and offset.
myScope.WriteString ":CHANnel1:DISPlay:AUTO ON"
Query :CHANnel<N>:DISPlay:AUTO?
The :CHANnel<N>:DISPlay:AUTO? query returns whether or not the differential or
common mode display scale and offset are tracking the acquisition scale and
offset.
Returned Format [:CHANnel<N>:DISPlay:AUTO] {1 | 0}<NL>
Example This example places whether or not the channel 1 - channel 3 differential channel
display scale and offset is tracking the acquisition scale and offset in the variable
varAuto, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:AUTO?"
NOTE
This command only works when differential channel modes are turned on (using the
:CHANnel<N>:DIFFerential command).
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
320 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
varAuto = myScope.ReadNumber
Debug.Print FormatNumber(varAuto, 0)
See Also •":CHANnel<N>:DIFFerential" on page 316
•":CHANnel<N>:DISPlay:OFFSet" on page 321
•":CHANnel<N>:DISPlay:RANGe" on page 323
•":CHANnel<N>:DISPlay:SCALe" on page 325
•":CHANnel<N>:OFFSet" on page 346
•":CHANnel<N>:RANGe" on page 377
•":CHANnel<N>:SCALe" on page 378
History Legacy command (existed before version 3.10).
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 321
:CHANnel<N>:DISPlay:OFFSet
Command :CHANnel<N>:DISPlay:OFFSet <value>
When differential channel modes are turned on, the :CHANnel<N>:DISPlay:OFFSet
command sets the display vertical offset of the selected channel.
If the differential and common mode display vertical scale and offset is set to track
the acquisition vertical scale and offset (:CHANnel<N>:DISPlay:AUTO ON), using
the :CHANnel<N>:DISPlay:OFFSet command turns OFF auto tracking, and the
:CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe, and
:CHANnel<N>:DISPlay:OFFSet commands are used to specify the display vertical
scale, range, and offsets for the differential or common mode signals.
<value> A real number for the value variable
Example This example sets the displayed offset of channel 1 to
myScope.WriteString ":CHANnel1:DISPlay:RANGe 10e-6"
Query :CHANnel<N>:DISPlay:OFFSet?
The :CHANnel<N>:DISPlay:OFFSet? query returns the displayed offset for the
selected channel.
Returned Format [:CHANnel<N>:DISPlay:OFFSet] <value><NL>
Example This example places the displayed offset of channel 1 in the variable varOffset,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, 0)
See Also •":CHANnel<N>:DIFFerential" on page 316
•":CHANnel<N>:DISPlay:AUTO" on page 319
NOTE
This command only works when differential channel modes are turned on (using the
:CHANnel<N>:DIFFerential command).
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 323
:CHANnel<N>:DISPlay:RANGe
Command :CHANnel<N>:DISPlay:RANGe <range>
When differential channel modes are turned on, the :CHANnel<N>:DISPlay:RANGe
command sets the display full scale vertical range of the selected channel.
If the differential and common mode display vertical scale and offset is set to track
the acquisition vertical scale and offset (:CHANnel<N>:DISPlay:AUTO ON), using
the :CHANnel<N>:DISPlay:RANGe command turns OFF auto tracking, and the
:CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe, and
:CHANnel<N>:DISPlay:OFFSet commands are used to specify the display vertical
scale, range, and offsets for the differential or common mode signals.
<range> A real number for the range value
Example This example sets the display range of the display of channel 1 to
myScope.WriteString ":CHANnel1:DISPlay:RANGe 10e-6"
Query :CHANnel<N>:DISPlay:RANGe?
The :CHANnel<N>:DISPlay:RANGe? query returns the full scale vertical range of
the display for the selected channel.
Returned Format [:CHANnel<N>:DISPlay:RANGe] <range><NL>
Example This example places the range of channel 1 in the variable varRange, then prints
the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:RANGe?"
varRange = myScope.ReadNumber
Debug.Print FormatNumber(varRange, 0)
See Also •":CHANnel<N>:DIFFerential" on page 316
•":CHANnel<N>:DISPlay:AUTO" on page 319
NOTE
This command only works when differential channel modes are turned on (using the
:CHANnel<N>:DIFFerential command).
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 325
:CHANnel<N>:DISPlay:SCALe
Command :CHANnel<N>:DISPlay:SCALe <scale>
When differential channel modes are turned on, the :CHANnel<N>:DISPlay:SCALe
command sets the display vertical scale (units per division) of the selected
channel.
If the differential and common mode display vertical scale and offset is set to track
the acquisition vertical scale and offset (:CHANnel<N>:DISPlay:AUTO ON), using
the :CHANnel<N>:DISPlay:SCALe command turns OFF auto tracking, and the
:CHANnel<N>:DISPlay:SCALe, :CHANnel<N>:DISPlay:RANGe, and
:CHANnel<N>:DISPlay:OFFSet commands are used to specify the display vertical
scale, range, and offsets for the differential or common mode signals.
<scale> A real number for the scale value
Example This example sets the display scale of channel 1 per division to
myScope.WriteString ":CHANnel1:DISPlay:SCALe 10e-6"
Query :CHANnel<N>:DISPlay:SCALe?
The :CHANnel<N>:DISPlay:SCALe? query returns the displayed scale of the
selected channel per division.
Returned Format [:CHANnel<N>:DISPlay:SCALe] <scale><NL>
Example This example places the display scale of channel 1 in the variable varScale, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:DISPlay:SCALe?"
varScale = myScope.ReadNumber
Debug.Print FormatNumber(varScale, 0)
See Also •":CHANnel<N>:DIFFerential" on page 316
NOTE
This command only works when differential channel modes are turned on (using the
:CHANnel<N>:DIFFerential command).
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 327
:CHANnel<N>:INPut
Command :CHANnel<N>:INPut <parameter>
The :CHANnel<N>:INPut command selects the input coupling, impedance, and
LF/HF reject for the specified channel.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<parameter> On 9000 Series, 9000H Series, and S-Series oscilloscopes:
• DC — DC coupling, 1 MΩ impedance.
• DC50 | DCFifty — DC coupling, 50Ω impedance.
• AC — AC coupling, 1 MΩ impedance.
•LFR1 | LFR2 — AC 1M
Ω input impedance.
When no probe is attached, the coupling for each channel can be AC, DC,
DC50, or DCFifty.
If you have an 1153A probe attached, the valid parameters are DC, LFR1, and
LFR2 (low-frequency reject).
On 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series
oscilloscopes:
• DC50 | DCFifty — DC coupling, 50Ω impedance.
Example This example sets the channel 1 input to DC50.
myScope.WriteString ":CHANnel1:INPut DC50"
Query :CHANnel<N>:INPut?
The :CHANnel<N>:INPut? query returns the selected channel input parameter.
Returned Format [CHANnel<N>:INPut] <parameter><NL>
Example This example puts the current input for channel 1 in the string variable, strInput.
The program then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:INPut?"
strInput = myScope.ReadString
Debug.Print strInput
History Legacy command (existed before version 3.10).
328 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:INVert
Command :CHANnel<N>:INVert {{0 | OFF} | {1 | ON}}
The :CHANnel<N>:INVert command enables or disables the invert setting for a
channel.
Inverting a channel causes the waveform to be reflected about the 0 V reference
point. Inverting a channel can cause the oscilloscope to stop triggering
(depending on the trigger level setting) and it it can affect math function
waveforms that have the channel as an input source.
Query :CHANnel<N>:INVert?
The :CHANnel<N>:INVert? query returns the channel invert setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
History New in version 5.70.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 329
:CHANnel<N>:ISIM:APPLy
Command :CHANnel<N>:ISIM:APPLy "<transfer_funct_file>"
The :CHANnel<N>:ISIM:APPLy command applies a pre-computed transfer
function to the waveform. If InfiniiSim is in 2 port mode, the file must be a .tf2 file.
If in 4 port mode, the file must be a .tf4 file. Use the ISIM:STATe command to
enable InfiniiSim before issuing the APPLy command.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<transfer_funct_fil
e>
The full path to the .tf2 file name (if in 2 port mode) or the .tf4 file (if in 4 port
mode).
Example This example applies the example.tf4 file to the waveform on channel 1.
myScope.WriteString _
":CHANnel1:ISIM:APPLy"+_
"""C:\Users\Public\Documents\Infiniium\Filters\example.tf4"""
Query :CHANnel<N>:ISIM:APPLy?
The :CHANnel<N>:ISIM:APPLy? query returns the currently selected function file
name when 2 port or 4 port mode is enabled.
Returned Format [CHANnel<N>:ISIM:APPLy] <file_name><NL>
Example This example puts the current transfer function file name in the variable strFile. The
program then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:APPLy?"
strFile = myScope.ReadString
Debug.Print strFile
History Legacy command (existed before version 3.10).
NOTE
This CHANnel command only applies if you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
330 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:ISIM:BANDwidth
Command :CHANnel<N>:ISIM:BANDwidth <bw_value>
The :CHANnel<N>:ISIM:BANDwidth command lets you set the custom bandwidth
limit (cutoff frequency) value. The :CHANnel<N>:ISIM:BWLimit command lets you
enable or disable the custom bandwidth limit.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<bw_value> The maximum value is the sample rate / 2. The minimum value is 1000 Hz.
Example This example sets the channel 1 input bandwidth limit cutoff frequency to 2 GHz.
myScope.WriteString ":CHANnel1:ISIM:BANDwidth 2e9"
Query :CHANnel<N>:ISIM:BANDwidth?
The :CHANnel<N>:ISIM:BANDwidth? query returns the selected channel input's
bandwidth limit cutoff frequency.
Returned Format [CHANnel<N>:ISIM:BANDwidth] <parameter><NL>
Example This example puts the current input for channel 1 in the string variable,
varBwLimit. The program then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:BANDwidth?"
varBwLimit = myScope.ReadNumber
Debug.Print FormatNumber(varBwLimit, 0)
See Also •":CHANnel<N>:ISIM:BWLimit" on page 332
•":CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series)" on page 314
•":ACQuire:BANDwidth" on page 213
NOTE
•On Infiniium 9000 Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable
or disable a 20 MHz low-pass filter on the input channel.
•On Infiniium S-Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable or
disable a 20 MHz or 200 MHz low-pass filter on the input channel.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 331
History Legacy command (existed before version 3.10).
332 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:ISIM:BWLimit
Command :CHANnel<N>:ISIM:BWLimit {{ON | 1} | {OFF | 0}}
The :CHANnel<N>:ISIM:BWLimit command lets you enable or disable the custom
bandwidth limit (cutoff frequency). The CHANnel<N>:ISIM:BANDwidth command
sets the value to be used when the custom bandwidth limit is enabled.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns on the bandwidth limit feature for channel 1.
myScope.WriteString ":CHANnel1:ISIM:BWLimit ON"
Query :CHANnel<N>:ISIM:BWLimit?
The :CHANnel<N>:ISIM:BWLimit? query returns the current state of the
corresponding channel's bandwidth limiting feature.
Returned Format [CHANnel<N>:ISIM:BWLimit] {1 | 0}<NL>
Example This example puts the current bandwidth limit state for channel 1 in the string
variable, varLimit. The program then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:BWLimit?"
varLimit = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)
See Also •":CHANnel<N>:ISIM:BWLimit:TYPE" on page 334
•":CHANnel<N>:ISIM:BANDwidth" on page 330
•":CHANnel<N>:BWLimit (9000 Series, 9000H Series, S-Series)" on page 314
•":ACQuire:BANDwidth" on page 213
NOTE
•On Infiniium 9000 Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable
or disable a 20 MHz low-pass filter on the input channel.
•On Infiniium S-Series oscilloscopes, you can use the :CHANnel<N>:BWLimit command to enable or
disable a 20 MHz or 200 MHz low-pass filter on the input channel.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 333
History Legacy command (existed before version 3.10).
334 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:ISIM:BWLimit:TYPE
Command :CHANnel<N>:ISIM:BWLimit:TYPE <filter_type>
<filter_type> ::= {WALL | BESSEL4}
The :CHANnel<N>:ISIM:BWLimit:TYPE command specifies a channel's bandwidth
limit filter response:
• WALL — Specifies a Brick-Wall response for the bandwidth limit filter. This
response has a sharp roll-off.
• BESSEL4 — Specifies a 4th Order Bessel response for the bandwidth limit filter.
This response has a more gradual roll-off.
Query :CHANnel<N>:ISIM:BWLimit:TYPE?
The :CHANnel<N>:ISIM:BWLimit:TYPE? query returns the bandwidth limit filter
response setting.
Returned Format <filter_type><NL>
<filter_type> ::= {WALL | BESSEL4}
See Also •":CHANnel<N>:ISIM:BWLimit" on page 332
History New in version 5.70.
NOTE
To achieve the 4th Order Bessel response, the maximum bandwidth you can specify is about
2/3 of the maximum bandwidth you could specify with the Brick-Wall filter. Also with the 4th
Order Bessel filter, the brick-wall response takes over at what would be the brick-wall filter's
maximum bandwidth. Therefore, you can have a combination of roll-off responses with this
selection.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 335
:CHANnel<N>:ISIM:CONVolve
Command :CHANnel<N>:ISIM:CONVolve "<s_parameter_file>", {OFF | ON}
The :CHANnel<N>:ISIM:CONVolve command sets the InfiniiSim 2 Port state
(:CHANnel<N>:ISIM:STATe PORT2), automates the creation of a transfer function,
and applies the transfer function to the channel waveform. The transfer function is
created using the Add insertion loss of a fixture or cable application preset's simple
one-block circuit model. The S-parameter file defines the simulation circuit of the
single block and the measurement circuit is a Thru. When the generated transfer
function is applied, it performs an embed operation.
This command uses the S-parameter file's S21 insertion loss only. If a .s4p file is
specified, ports 1 and 2 are used assuming a 1-2, 3-4 port numbering for 4 port
files.
Optionally, include ON to flip the port numbering when reading the S-parameter
file.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<s_parameter_
file>
The quoted name of the S-parameter file.
Example This example convolves the S-parameter file example.s2p with the waveform on
channel 1.
myScope.WriteString ":CHANnel1:ISIM:CONVolve example.s2p"
See Also •":CHANnel<N>:ISIM:STATe" on page 344
•":CHANnel<N>:ISIM:APPLy" on page 329
•":CHANnel<N>:ISIM:DEConvolve" on page 338
History Legacy command (existed before version 3.10).
NOTE
This CHANnel command is available when you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
336 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:ISIM:CORRection
Command :CHANnel<N>:ISIM:CORRection <percent>
The :CHANnel<N>:ISIM:CORRection command sets the amount of linearly scaled
correction applied to the non-DC frequency components of the measured signal.
This lets you trade off the amount of correction to apply via the transformation
function versus the increase in noise it may create at higher frequencies. In other
words, you can fine-tune the amount of high-frequency noise versus the sharpness
of the step response edge.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<percent> If you are making averaged mode measurements or applying a transfer function
that does not magnify the noise, use the full correction by setting this field to
100%.
However, if you are working with eye diagrams or making jitter measurements and
the transfer function is magnifying the noise, you may want to limit the correction
by selecting a lower percentage.
Example This example sets the channel 1 InfiniiSim correction factor to 80%.
myScope.WriteString ":CHANnel1:ISIM:CORRection 80"
Query :CHANnel<N>:ISIM:CORRection?
The :CHANnel<N>:ISIM:CORRection? query returns the selected input channel's
percent correction factor.
Returned Format [CHANnel<N>:ISIM:CORRection] <percent><NL>
Example This example gets the current channel 1 InfiniiSim correction percentage and
places it in the numeric variable, varIsimCorrection. The program then prints the
contents of the variable to the computer's screen.
NOTE
This CHANnel command only applies if you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 337
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:CORRection?"
varIsimCorrection = myScope.ReadNumber
Debug.Print FormatNumber(varBwLimit, 0)
History Legacy command (existed before version 3.10).
338 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:ISIM:DEConvolve
Command :CHANnel<N>:ISIM:DEConvolve "<s_parameter_file>", {OFF | ON}
The :CHANnel<N>:ISIM:CONVolve command sets the InfiniiSim 2 Port state
(:CHANnel<N>:ISIM:STATe PORT2), automates the creation of a transfer function,
and applies the transfer function to the channel waveform. The transfer function is
created using the Remove insertion loss of a fixture or cable application preset's simple
one-block circuit model. The S-parameter file defines the measurement circuit of
the single block and the simulation circuit is a Thru. When the generated transfer
function is applied, it performs an de-embed operation.
This command uses the S-parameter file's S21 insertion loss only. If a .s4p file is
specified, ports 1 and 2 are used assuming a 1-2, 3-4 port numbering for 4 port
files.
Optionally, include ON to flip the port numbering when reading the S-parameter
file.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<s_parameter_
file>
The quoted name of the S-parameter file.
Example This example deconvolves the S-parameter file example.s2p with the waveform on
channel 1.
myScope.WriteString ":CHANnel1:ISIM:DEConvolve example.s2p"
See Also •":CHANnel<N>:ISIM:STATe" on page 344
•":CHANnel<N>:ISIM:APPLy" on page 329
•":CHANnel<N>:ISIM:CONVolve" on page 335
History Legacy command (existed before version 3.10).
NOTE
This CHANnel command is available when you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 339
:CHANnel<N>:ISIM:DELay
Command :CHANnel<N>:ISIM:DElay {OFF | ON | TRIG}
The :CHANnel<N>:ISIM:DELay command specifies the transfer function filter delay
option:
• ON — Includes filter delay.
• OFF — Removes filter delay.
• TRIG — Includes trigger-corrected delay.
Consult the InfiniiSim User's Guide in the Manuals section of the GUI help system
for more information.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example applies the transfer function delay in the resultant waveform.
myScope.WriteString ":CHANnel1:ISIM:DELay ON"
Query :CHANnel<N>:ISIM:DELay?
The :CHANnel<N>:ISIM:DELay? query returns the current state of the transfer
function delay feature on the corresponding input channel.
Returned Format [CHANnel<N>:ISIM:DELay] {OFF | ON | TRIG}<NL>
Example This example puts whether or not the transfer function delay is included in the
resultant waveform for channel 1 in the string variable, strDelay. The program then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:DELay?"
strDelay = myScope.ReadString
Debug.Print strDelay
History Legacy command (existed before version 3.10).
NOTE
This CHANnel command only applies if you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
340 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:ISIM:NORMalize
Command :CHANnel<N>:ISIM:NORMalize {{ON | 1} | {OFF | 0}}
The :CHANnel<N>:ISIM:NORMalize command activates or deactivates the
"Normalize Gain" option. The InfiniiSim normalize gain option removes any DC
gain of the transfer function and can be used when modeling probes.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns on the InfiniiSim normalize gain option for channel 1.
myScope.WriteString ":CHANnel1:ISIM:NORMalize ON"
Query :CHANnel<N>:ISIM:NORMalize?
The :CHANnel<N>:ISIM:NORMalize? query returns the current state of the
corresponding channel's InfiniiSim normalize gain option.
Returned Format [CHANnel<N>:ISIM:NORMalize] {1 | 0}<NL>
Example This example puts the current InfiniiSim normalize gain state for channel 1 in the
string variable, varNormalizeGain. The program then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:NORMalize?"
varNormalizeGain = myScope.ReadNumber
Debug.Print FormatNumber(varLimit, 0)
See Also •":CHANnel<N>:ISIM:DELay" on page 339
History New in version 4.60.
NOTE
This CHANnel command only applies if you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 341
:CHANnel<N>:ISIM:PEXTraction
Command :CHANnel<N>:ISIM:PEXTraction {P12 | P32 | P34 | P14 | DIFFerential
| COMMonmode}
The :CHANnel<N>:ISIM:PEXTraction command selects the InfiniiSim port
extraction. The selections are:
• P12 — Use ports 1 -> 2.
• P32 — Use ports 3 -> 2.
• P34 — Use ports 3 -> 4.
• P14 — Use ports 1 -> 4.
• DIFFerential — valid for all channels.
• COMMonmode — valid for all channels.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example selects the channel 1 InfiniiSim differential port extraction.
myScope.WriteString ":CHANnel1:ISIM:PEXTraction DIFFerential"
Query :CHANnel<N>:ISIM:PEXTraction?
The :CHANnel<N>:ISIM:PEXTraction? query returns the current InfiniiSim port
extraction selection.
Returned Format [CHANnel<N>:ISIM:PEXTraction] {P12 | P32 | P34 | P14 | DIFF | COMM}<NL>
Example This example puts the current InfiniiSim port extraction selection for channel 1 in
the string variable, strMode. The program then prints the contents of the variable
to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:PEXTraction?"
NOTE
This CHANnel command only applies if you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
342 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
strMode = myScope.ReadString
Debug.Print strMode
History New in version 3.11.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 343
:CHANnel<N>:ISIM:SPAN
Command :CHANnel<N>:ISIM:SPAN <max_time_span>
The :CHANnel<N>:ISIM:SPAN command sets the maximum time span control in
the InfiniiSim Setup dialog box.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<max_time_span> A real number.
Example This example sets the maximum time span control to 100e-9.
myScope.WriteString ":CHANnel1:ISIM:SPAN 100e-9"
Query :CHANnel<N>:ISIM:SPAN?
The :CHANnel<N>:ISIM:SPAN? query returns the current InfiniiSim filter maximum
time span on the corresponding input channel.
Returned Format [CHANnel<N>:ISIM:SPAN] <max_time_span><NL>
Example This example puts the InfiniiSim filter's maximum time span value in the variable
varTspan. The program then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:SPAN?"
varTspan = myScope.ReadNumber
Debug.Print FormatNumber(varTspan, 0)
History Legacy command (existed before version 3.10).
NOTE
This CHANnel command only applies if you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
344 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:ISIM:STATe
Command :CHANnel<N>:ISIM:STATe {OFF | PORT2 | PORT4 | PORT41}
The :CHANnel<N>:ISIM:STATe command turns InfiniiSim on or off and sets
whether 2 port, 4 port (Channels 1&3), or 4 port (Channel 1) mode is being used (if
it is turned on).
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns on InfiniiSim for channel 1 and puts it in 2 port mode.
myScope.WriteString ":CHANnel1:ISIM:STATe PORT2"
Query :CHANnel<N>:ISIM:STATe?
The :CHANnel<N>:ISIM:STATe? query returns the current state of InfiniiSim on the
corresponding input channel.
Returned Format [CHANnel<N>:ISIM:STATe] {OFF | PORT2 | PORT4 | PORT41}<NL>
Example This example puts the current InfiniiSim state for channel 1 in the string variable,
strMode. The program then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:ISIM:STATe?"
strMode = myScope.ReadString
Debug.Print strMode
History Legacy command (existed before version 3.10).
NOTE
This CHANnel command only applies if you have purchased the InfiniiSim software
application.
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 345
:CHANnel<N>:LABel
Command :CHANnel<N>:LABel <string>
The :CHANnel<N>:LABel command sets the channel label to the quoted strin
g.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<string> A series of 16 or less characters as a quoted ASCII string
Example This example sets the channel 1 label to Data.
myScope.WriteString ":CHANnel1:LABel ""Data"""
Query :CHANnel<N>:LABel?
The :CHANnel<N>:LABel? query returns the label of the specified channel.
Returned Format [CHANnel<N>:LABel] <string><NL>
History Legacy command (existed before version 3.10).
NOTE
You can specify differential and/or common mode channels using the following convention. If
you have differential or common mode channels enabled (using either the
:CHANnel<N>:DIFFerential or :CHANnel<N>:COMMonmode commands) then:
•:CHANnel1 would refer to the Channel 1 - Channel 3 differential channel
•:CHANnel2 would refer to the Channel 2 - Channel 4 differential channel
•:CHANnel3 would refer to the Channel 1 + Channel 3 common mode channel
•:CHANnel4 would refer to the Channel 2 + Channel 4 common mode channel
346 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:OFFSet
Command :CHANnel<N>:OFFSet <offset_value>
The :CHANnel<N>:OFFSet command sets the vertical value that is represented at
the center of the display for the selected channel. Offset parameters are probe and
vertical scale dependent.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<offset_value> A real number for the offset value at center screen. Usually expressed in volts, but
it can also be in other measurement units, such as amperes, if you have specified
other units using the :CHANnel<N>:UNITs command or the
CHANnel<N>:PROBe:EXTernal:UNITs command.
Example This example sets the offset for channel 1 to 0.125 in the current measurement
units:
myScope.WriteString ":CHANnel1:OFFSet 125E-3"
Query :CHANnel<N>:OFFSet?
The :CHANnel<N>:OFFSet? query returns the current offset value for the specified
channel.
Returned Format [CHANnel<N>:OFFSet] <offset_value><NL>
Example This example places the offset value of the specified channel in the variable,
varOffset, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, "Scientific")
History Legacy command (existed before version 3.10).
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 347
:CHANnel<N>:PROBe
Command :CHANnel<N>:PROBe <attenuation_factor>[,{RATio | DECibel}]
The :CHANnel<N>:PROBe command sets the probe attenuation factor and the
units (ratio or decibels) for the probe attenuation factor for a user-defined probe.
The DECibel and RATio parameters also set the "mode" for the probe attenuation.
These parameters, along with attenuation factor, determine the scaling of the
display and affect automatic measurements and trigger levels.
This mode also determines the units (ratio or decibels) that may be used for a
subsequent command.
<N> An integer, 1-4
<attenuation
_factor>
A real number from 0.0001 to 1000 for the RATio attenuation units or from -80 dB
to 60 dB for the DECibel attenuation units.
Example This example sets the probe attenuation factor for a 10:1 probe on channel 1 in
ratio units.
myScope.WriteString ":CHANnel1:PROBe 10,RAT"
Query :CHANnel<N>:PROBe?
The :CHANnel<N>:PROBe? query returns the current probe attenuation setting
and units for the selected channel.
Returned Format [:CHANnel<N>:PROBe] <attenuation>,{RATio | DECibel}<NL>
Example This example places the current attenuation setting for channel 1 in the string
variable, strAtten, then the program prints the contents.
Dim strAtten As String ' Dimension variable.
myScope.WriteString ":CHANnel1:PROBe?"
strAtten = myScope.ReadString
Debug.Print strAtten
If you use a string variable, the query returns the attenuation value and the factor
(decibel or ratio). If you use an integer variable, the query returns the attenuation
value. You must then read the attenuation units into a string variable.
History Legacy command (existed before version 3.10).
348 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:ACCAL
Command :CHANnel<N>:PROBe:ACCAL {AUTO | OFF | PRECprobe}
The :CHANnel<N>:PROBe:ACCAL command sets the type of AC response probe
calibration to use:
• OFF — no AC response probe calibration is used.
• AUTO — the AC response probe calibration is based on the type of probe being
used and its general characteristics.
• PRECprobe — PrecisionProbe or PrecisionCable probe calibration is used.
<N> An integer, 1-4.
Example This example chooses the PrecisionProbe or PrecisionCable AC response
calibration for the probe on channel 1.
myScope.WriteString ":CHANnel1:PROBe:ACCAL PRECprobe"
Query :CHANnel<N>:PROBe:ACCAL?
The :CHANnel<N>:PROBe:ACCAL? query returns the AC response probe
calibration setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:ACCAL] {AUTO | OFF | PREC}<NL>
See Also •":CHANnel<N>:PROBe:PRECprobe:MODE" on page 371
•":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 369
•":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 372
•":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 368
History New in version 3.10.
NOTE
You are not able to start a PrecisionProbe or PrecisionCable calibration using remote SCPI
commands. However, you can enter SCPI commands to use the results of calibrations
performed using the front panel wizards.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 349
:CHANnel<N>:PROBe:ATTenuation
Command :CHANnel<N>:PROBe:ATTenuation {DIV1 | DIV10}
The :CHANnel<N>:PROBe:ATTenuation command sets the 1154A probe's input
amplifier attenuation. If the 1154A probe is not connected to the channel you will
get a settings conflict error.
<N> An integer, 1-4.
Example This example sets the probe attenuation for channel 1 to divide by 10.
myScope.WriteString ":CHANnel1:PROBe:ATTenuation DIV10"
Query :CHANnel<N>:PROBe:ATTenuation?
The :CHANnel<N>:PROBe:ATTenuation? query returns the current 1154A probe
input amplifier attenuation setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:ATTenuation] {DIV1 | DIV10}<NL>
History Legacy command (existed before version 3.10).
NOTE
This command is only valid for the 1154A probe.
350 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:AUTozero
Command :CHANnel<N>:PROBe:AUTozero
The :CHANnel<N>:PROBe:AUTozero command initiates the N2893A probe's auto
degauss/ offset cal.
If the N2893A probe is not connected to the channel you will get a settings conflict
error.
<N> An integer, 1-4.
Example This example performs an auto zero operation for the probe on channel 1.
myScope.WriteString ":CHANnel1:PROBe:AUTozero"
History New in version 3.50.
NOTE
This command is currently only valid for the N2893A probe.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 351
:CHANnel<N>:PROBe:COUPling
Command :CHANnel<N>:PROBe:COUPling {DC | AC}
The :CHANnel<N>:PROBe:COUPling command sets the probe coupling to either
AC or DC.
<N> An integer, 1-4.
Example This example sets the probe coupling for channel 1 to AC.
myScope.WriteString ":CHANnel1:PROBe:COUPling AC"
Query :CHANnel<N>:PROBe:COUPling?
The :CHANnel<N>:PROBe:COUPling? query returns the current probe coupling
setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:COUPling] {DC | AC}<NL>
See Also •":CHANnel<N>:INPut" on page 327
History Legacy command (existed before version 3.10).
NOTE
This command is for probes only. To set the input channel coupling, see :CHANnel<N>:INPut.
352 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:EADapter
Command :CHANnel<N>:PROBe:EADapter {NONE | DIV10 | DIV20 | DIV100 | DIV1000
| CUR0002VA | CUR001VA | CUR002VA | CUR01VA | CUR1VA | CUR10VA
| CURN2893 | CUR1147 | HIVOLTN2790}
The :CHANnel<N>:PROBe:EADapter command sets the probe external adapter
control. The 1153A, 1154A, and 1159A probes and the E2697A and N5449A high
impedance adapters have external adapters that you can attach to the end of your
probe. When you attach one of these adapters, you should use the EADapter
command to set the external adapter control to match the adapter connected to
your probe as follows.
If an 1153A, 1154A, or 1159A probe or E2697A or N5449A high impedance
adapter is not connected to the channel you will get a settings conflict error.
With the 1153A,
1154A, and 1159A
probes:
With the E2697A
and N5449A high
impedance
adapters:
When the :CHANnel<N>:PROBe:EADapter command is used with either the
E2697A or N5449A high impedance adapter, the behavior is the same as with the
115x probes; however, there are more parameters available to choose from. The
following table describes which probes are available with which adapters and what
the parameter string is:
NOTE
This command is valid only for the 1153A, 1154A, and 1159A probes and the E2697A and
N5449A high impedance adapters.
Parameter Description
NONE Use this setting when there is no adapter connected to the end of your
probe.
DIV10 Use this setting when you have a divide by 10 adapter connected to the
end of your probe.
DIV20 Use this setting when you have a divide by 20 adapter connected to the
end of your probe. (1159A)
DIV100 Use this setting when you have a divide by 100 adapter connected to the
end of your probe. (1153A only)
Probe Parameter Compatability
E2697A adapter N5449A adapter
1:1 probe NONE X X
10:1 probe DIV10 X X
20:1 probe DIV20 X X
100:1 probe DIV100 X X
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 353
Lastly, the N5449A adapter has the ability to automatically detect supported
probes. If a supported probe (most passive probes) is attached to the N5449A
adapter, the :CHANnel<N>:PROBe:EADapter command will not have any effect
until the attached probe is removed. If, on the other hand, an unsupported probe
(BNC cable, etc.) is attached to the N5449A adapter, the
:CHANnel<N>:PROBe:EADapter command will work as normal. The
:CHANnel<N>:PROBe:EADapter? query will work in either case.
<N> An integer, 1-4.
Example This example sets the external adapter for channel 1 to divide by 10:
myScope.WriteString ":CHANnel1:PROBe:EADapter DIV10"
Query :CHANnel<N>:PROBe:EADapter?
The :CHANnel<N>:PROBe:EADapter? query returns the current external adapter
value for the specified channel.
Returned Format [CHANnel<N>:PROBe:EDApter] {NONE | DIV10 | DIV20 | DIV100 | DIV1000
| CUR0002VA | CUR001VA | CUR002VA | CUR01VA | CUR1VA | CUR10VA
| CURN2893 | CUR1147 | HIVOLTN2790}<NL>
Example This example places the external adapter value of the specified channel in the
string variable, strAdapter, then prints the contents of the variable to the
computer's screen.
Dim strAdapter As String 'Dimension variable
myScope.WriteString ":CHANnel1:PROBe:EADapter?"
strAdapter = myScope.ReadString
Debug.Print strAdapter
100:1 probe DIV1000 X
0.002 V/A current probe CUR0002VA X X
0.01 V/A current probe CUR001VA X X
0.02 V/A current probe CUR002VA X X
0.1 V/A current probe CUR01VA X X
1 V/A current probe CUR1VA X X
10 V/A current probe CUR10VA X X
N2893A current probe CURN2893 X
1147A/B current probe CUR1147 X
N2790A high-voltage
differential probe
HIVOLTN2790 X
Probe Parameter Compatability
E2697A adapter N5449A adapter
354 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
History Legacy command (existed before version 3.10).
Version 5.20: Added the DIV1000, CUR001VA, CUR01VA, CUR1VA, CUR10VA,
CURN2893, CUR1147, HIVOLTN2790 options for use with the E2697A or N5449A
high impedance adapters.
Version 6.10: Added the CUR0002VA and CUR002VA options for use with the
E2697A or N5449A high impedance adapters.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 355
:CHANnel<N>:PROBe:ECOupling
Command :CHANnel<N>:PROBe:ECOupling {NONE | AC}
The :CHANnel<N>:PROBe:ECOupling command sets the probe external coupling
adapter control. The 1154A and 1159A probes have external coupling adapters
that you can attach to the end of your probe. When you attach one of these
adapters, you should use the ECOupling command to set the external coupling
adapter control to match the adapter connected to your probe as follows.
If an 1153A, 1154A, or 1159A probe is not connected to the channel you will get a
settings conflict error.
<N> An integer, 1-4.
Example This example sets the external coupling adapter for channel 1 to ac:
myScope.WriteString ":CHANnel1:PROBe:ECOupling AC"
Query :CHANnel<N>:PROBe:ECOupling?
The :CHANnel<N>:PROBe:ECoupling? query returns the current external adapter
coupling value for the specified channel.
Returned Format [CHANnel<N>:PROBe:ECOupling] {NONE | AC}<NL>
Example This example places the external coupling adapter value of the specified channel
in the string variable, strAdapter, then prints the contents of the variable to the
computer's screen.
Dim strAdapter As String ' Dimension variable.
myScope.WriteString ":CHANnel1:PROBe:ECOupling?"
strAdapter = myScope.ReadString
Debug.Print strAdapter
History Legacy command (existed before version 3.10).
NOTE
This command is valid only for the 1153A, 1154A, and 1159A probes.
Parameter Description
NONE Use this setting when there is no adapter connected to the end of your
probe.
AC Use this setting when you have an ac coupling adapter connected to the
end of your probe.
356 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:EXTernal
Command :CHANnel<N>:PROBe:EXTernal {{ON | 1} | {OFF | 0}}
The :CHANnel<N>:PROBe:EXTernal command sets the external probe mode to on
or off.
<N> An integer, 1-4.
Example This example sets channel 1 external probe mode to on.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
Query :CHANnel<N>:PROBe:EXTernal?
The :CHANnel<N>:PROBe:EXTernal? query returns the current external probe
mode for the specified channel.
Returned Format [:CHANnel<N>:PROBe:EXTernal] {1 | 0}<NL>
Example This example places the current setting of the external probe mode on channel 1 in
the variable varMode, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:PROBe:EXTernal?"
varMode = myScope.ReadNumber
Debug.Print FormatNumber(varMode, 0)
History Legacy command (existed before version 3.10).
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 357
:CHANnel<N>:PROBe:EXTernal:GAIN
Command :CHANnel<N>:PROBe:EXTernal:GAIN <gain_factor>[,{RATio | DECibel}]
The :CHANnel<N>:PROBe:EXTernal:GAIN command sets the probe external
scaling gain factor and, optionally, the units for the probe gain factor. The
reference factors that are used for scaling the display are changed with this
command, and affect automatic measurements and trigger levels.
The RATio or DECibel also sets the mode for the probe attenuation and also
determines the units that may be used for a subsequent command. For example, if
you select RATio mode, then the attenuation factor must be given in ratio gain
units. In DECibel mode, you can specify the units for the argument as "dB".
<N> An integer, 1-4.
<gain_factor> A real number from 0.001 to 10000 for the RATio gain units, or from -60 dB to 80
dB for the DECibel gain units.
Example This example sets the probe external scaling gain factor for channel 1 to 10.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:GAIN 10,RATio"
Query :CHANnel<N>:PROBe:EXTernal:GAIN?
The :CHANnel<N>:PROBe:EXTernal:GAIN? query returns the probe external gain
setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:EXTernal:GAIN] <gain_factor>,{RAT | DEC}<NL>
Example This example places the external gain value of the probe on the specified channel
in the variable, varGain, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:GAIN?"
varGain = myScope.ReadString
Debug.Print varGain
History Legacy command (existed before version 3.10).
NOTE
CHANnel<N>:PROBe:EXTernal command must be set to ON before issuing this command or
query or this command will have no effect.
358 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:EXTernal:OFFSet
Command :CHANnel<N>:PROBe:EXTernal:OFFSet <offset_value>
The :CHANnel<N>:PROBe:EXTernal:OFFSet command sets the external vertical
value for the probe that is represented at the center of the display for the selected
channel. Offset parameters are probe and vertical scale dependent.
When using the 113xA series probes, the CHANnel<N>:PROBe:STYPe command
determines how the offset is applied. When CHANnel<N>:PROBe:STYPe SINGle is
selected, the :CHANnel<N>:PROBe:EXTernal:OFFset command changes the offset
value of the probe amplifier. When CHANnel<N>:PROBe:STYPe DIFFerential is
selected, the :CHANnel<N>:PROBe:EXTernal:OFFSet command changes the offset
value of the channel amplifier.
<N> An integer, 1-4.
<offset_value> A real number for the offset value at center screen. Usually expressed in volts, but
can be in other measurement units, such as amperes, if you have specified other
units using the :CHANnel<N>:PROBe:EXTernal:UNITs command.
Example This example sets the external offset for the probe on channel 1 to 0.125 in the
current measurement units:
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:OFFSet 125E-3"
Query :CHANnel<N>:EXTernal:PROBe:OFFSet?
The :CHANnel<N>:PROBe:EXTernal:OFFSet? query returns the current external
offset value for the probe on the specified channel.
Returned Format [CHANnel<N>:PROBe:EXTernal:OFFSet] <offset_value><NL>
Example This example places the external offset value of the probe on the specified channel
in the variable, Offset, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, 0)
History Legacy command (existed before version 3.10).
NOTE
CHANnel<N>:PROBe:EXTernal command must be set to ON before issuing this command or
query or this command will have no effect.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 359
:CHANnel<N>:PROBe:EXTernal:UNITs
Command :CHANnel<N>:PROBe:EXTernal:UNITs {VOLT | AMPere | WATT | UNKNown}
The :CHANnel<N>:PROBe:EXTernal:UNITs command sets the probe external
vertical units on the specified channel. You can specify Y-axis units of VOLTs,
AMPs, WATTs, or UNKNown. The units are implied for other pertinent channel
probe external commands and channel commands (such as
:CHANnel<N>:PROBe:EXTernal:OFFSet and :CHANnel<N>:RANGe). See the Probe
Setup dialog box for more information.
<N> An integer, 1-4.
Example This example sets the external units for the probe on channel 1 to amperes.
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:UNITs AMPERE"
Query :CHANnel<N>:PROBe:EXTernal:UNITs?
The :CHANnel<N>:PROBe:EXTernal:UNITs? query returns the current external
units setting for the probe on the specified channel.
Returned Format [:CHANnel<N>:PROBe:EXTernal:UNITs] {VOLT | AMPere | WATT | UNKNown}<NL>
Example This example places the external vertical units for the probe on the specified
channel in the string variable, strUnits, then prints the contents of the variable to
the computer's screen.
Dim strUnits As String
myScope.WriteString ":CHANnel1:PROBe:EXTernal ON"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:UNITs?"
strUnits = myScope.ReadString
Debug.Print strUnits
History Legacy command (existed before version 3.10).
NOTE
CHANnel<N>:PROBe:EXTernal command must be set to ON before issuing this command or
query or this command will have no effect. UNITs can also be set using the
CHANnel<N>:UNITs command.
360 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:GAIN
Command :CHANnel<N>:PROBe:GAIN {X1 | X10}
The :CHANnel<N>:PROBe:GAIN command sets the 1154A probe input amplifier
gain.
If an 1154A probe is not connected to the channel you will get a settings conflict
error.
<N> An integer, 1-4.
Example This example sets the probe gain for channel 1 to times 10.
myScope.WriteString ":CHANnel1:PROBe:GAIN X10"
Query :CHANnel<N>:PROBe:GAIN?
The :CHANnel<N>:PROBe:GAIN? query returns the current probe gain setting for
the selected channel.
Returned Format [:CHANnel<N>:PROBe:GAIN] {X1 | X10}<NL>
History Legacy command (existed before version 3.10).
NOTE
This command is valid only for the 1154A probe.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 361
:CHANnel<N>:PROBe:HEAD:ADD
Command :CHANnel<N>:PROBe:HEAD:ADD "head", ["label"]
The :CHANnel<N>:PROBe:HEAD:ADD command adds an entry to the list of probe
heads.
<N> An integer, 1-4.
"head" A quoted string matching the probe head model such as "N5381A", "E2678A", etc.
"label" An optional quoted string for the head label.
Example This example adds the probe head N5381A to the list of probe heads for channel 1.
myScope.WriteString ":CHANnel1:PROBe:HEAD:ADD ""N5381A"""
History Legacy command (existed before version 3.10).
362 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:HEAD:DELete ALL
Command :CHANnel<N>:PROBe:HEAD:DELete ALL
The :CHANnel<N>:PROBe:HEAD:DELete ALL command deletes all the nodes in
the list of probe heads except for one default probe head which remains after this
command is executed.
<N> An integer, 1-4.
Example This example deletes the entire list of probe heads for channel 1 except for the
default head.
myScope.WriteString ":CHANnel1:PROBe:HEAD:DELete ALL"
History Legacy command (existed before version 3.10).
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 363
:CHANnel<N>:PROBe:HEAD:SELect
Command :CHANnel<N>:PROBe:HEAD:SELect {<int> | <quoted_label_string>}
The :CHANnel<N>:PROBe:HEAD:SELect command selects the probe head being
used from a list of possible probe head choices. You can select by the position
number in the list of probe heads, or you can select by the label given when the
probe head was added.
<N> An integer, 1-4.
<int> Specifies the number of the head (or position) in the configure list. The entry at the
top of the list starts at 1.
<quoted_label_stri
ng>
Specifies the label of the probe head given with the
:CHANnel<N>:PROBe:HEAD:ADD command.
Example This example add a couple of probe heads to the list then selects the probe head
using a number and a label.
myScope.WriteString ":CHANnel1:PROBe:HEAD:ADD 'N5445A:B1.5-2.5S'"
myScope.WriteString ":CHANnel1:PROBe:HEAD:ADD 'N5444A:2.92','foo'"
myScope.WriteString ":CHANnel1:PROBe:HEAD:SELect 1"
myScope.WriteString ":CHANnel1:PROBe:HEAD:SELect 'foo'"
Query :CHANnel<N>:PROBe:HEAD:SELect? {MODel | LABel}
The :CHANnel<N>:PROBe:HEAD:SELect? query returns a SCPI formatted string of
the selected probe head. Optional parameters are:
• MODel — Returns the model of the probe head.
• LABel — Returns the label of the probe head. This is the same label given with
the :CHANnel<N>:PROBe:HEAD:ADD command and that can also be used with
the SELect command.
If no parameter is specified, the MODel format is returned.
Example This example shows a few queries of the channel 1 probe head selection.
Dim strProbeHead As String
myScope.WriteString ":CHANnel1:PROBe:HEAD:SELect?"
strProbeHead = myScope.ReadString
Debug.Print strProbeHead ' Prints "N5444A:2.92".
myScope.WriteString ":CHANnel1:PROBe:HEAD:SELect? LABel"
strProbeHead = myScope.ReadString
Debug.Print strProbeHead ' Prints "foo".
myScope.WriteString ":CHANnel2:PROBe:HEAD:SELect? MODel"
strProbeHead = myScope.ReadString
Debug.Print strProbeHead ' Prints "N5444A:2.92".
See Also •":CHANnel<N>:PROBe:HEAD:ADD" on page 361
History Legacy command (existed before version 3.10).
Version 3.50: Added the MPHY protocol type for the MIPI M-PHY serial decode
selection.
364 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:HEAD:VTERm
Command :CHANnel<N>:PROBe:HEAD:VTERm {FLOating | EXTernal
| {INTernal,<voltage>}}
The :CHANnel<N>:PROBe:HEAD:VTERm command sets the termination voltage
for:
• The N5444A probe head.
• The N7010A active termination adapter, regardless of the attachment/head.
<N> An integer, 1-4.
<voltage> A real number for the internal termination voltage setting.
Example To set an internal termination voltage of -1.0 V:
myScope.WriteString ":CHANnel1:PROBe:HEAD:VTERm INTernal,-1.0"
Query :CHANnel<N>:PROBe:HEAD:VTERm?
The :CHANnel<N>:PROBe:HEAD:VTERm? query returns the termination voltage
setting.
Returned Format [:CHANnel<N>:PROBe:HEAD:VTERm] {FLO | EXT | {INT,<voltage>}}<NL>
History New in version 3.50.
Version 5.50: Supports the N7010A active termination adapter (regardless of the
attachment/head) as well as the N5444A probe head.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 365
:CHANnel<N>:PROBe:ID?
Query :CHANnel<N>:PROBe:ID?
The :CHANnel<N>:PROBe:ID? query returns the type of probe attached to the
specified oscilloscope channel.
<N> An integer, 1-4.
Returned Format [:CHANnel<N>:PROBe:ID] <probe_id>
<probe_id> A string of alphanumeric characters. Some of the possible returned values are:
Example This example reports the probe type connected to channel 1, if one is connected.
myScope.WriteString ":CHANnel1:PROBe:ID?"
History Legacy command (existed before version 3.10).
1131A 1132A 1134A
1152A 1154A 1156A
1157A 1158A 1159A
1163A 1168A 1169A
AutoProbe E2621A E2622A
E2695A E2697A N5380A
N5381A N5382A E2695A
No Probe Unknown User Defined Probe
366 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:INFO?
Query :CHANnel<N>:PROBe:INFO?
The :CHANnel<N>:PROBe:INFO? query returns a comma-separated list of probe
information.
Returned Format [:CHANnel<N>:PROBe:INFO] <info_list><NL>
<info_list> A comma-delimited list of probe information that includes:
• Model number.
• Serial number.
• Probe head model number or "No Head".
• Attenuation calibration date and time (or "1 JAN 1999 00:00:00" if
uncalibrated).
• Skew calibration date and time (or "1 JAN 1999 00:00:00" if uncalibrated).
• Specifies whether default attenuation "Default Atten" or calibrated attenuation
"Cal Atten" is being used.
• Specifies whether default skew "Default Skew" or calibrated skew "Cal Skew" is
being used.
• The first part of the attenuation ratio (<first>:<second>).
• The second part of the attenuation ratio (<first>:<second>).
Example This is an example probe information string.
N2751A, US53330101, No Head, 1 JAN 1999 00:00:00, 1 JAN 1999 00:00:00,
Default Atten, Default Skew, 1.9856E+000, 1.0000E+000
See Also •":CHANnel<N>:PROBe:ID?" on page 365
History New in version 5.70.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 367
:CHANnel<N>:PROBe:MODE
Command :CHANnel<N>:PROBe:MODE {DIFF | SEA | SEB | CM}
The :CHANnel<N>:PROBe:MODE command sets the N2750A probe's InfiniiMode
configuration.
If the N2750A probe is not connected to the channel you will get a settings conflict
error.
<N> An integer, 1-4.
Example This example sets the probe InfiniiMode for channel 1 to common mode.
myScope.WriteString ":CHANnel1:PROBe:MODE CM"
Query :CHANnel<N>:PROBe:MODE?
The :CHANnel<N>:PROBe:MODE? query returns the current N2750A probe
InfiniiMode setting for the selected channel.
Returned Format [:CHANnel<N>:PROBe:MODE] {DIFF | SEA | SEB | CM}<NL>
History New in version 3.50.
NOTE
This command is currently only valid for the N2750A probe.
368 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:PRECprobe:BANDwidth
Command :CHANnel<N>:PROBe:PRECprobe:BANDwidth {AUTO | {MANual, <bandwidth>}
| {BOOSt, <boost_dB>}}
The :CHANnel<N>:PROBe:PRECprobe:BANDwidth command specifies how the
limit of PrecisionProbe or PrecisionCable correction/boosting is determined.
<N> An integer, 1-4.
AUTO PrecisionProbe or PrecisionCable normally sets the bandwidth to a value that has
a small amount of boosting in the frequency response.
MANual,
<bandwidth>
Let you manually specify a bandwidth limit at which to stop applying correction.
BOOSt,
<boost_dB>
Lets you specify a dB limit at which to stop applying correction.
Example This example specifies that, for PrecisionProbe or PrecisionCable on channel 1,
correction/boosting should stop being applied at a 3 dB limit.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:BANDwidth BOOSt, 3"
Query :CHANnel<N>:PROBe:PRECprobe:BANDwidth?
The :CHANnel<N>:PROBe:PRECprobe:BANDwidth? query returns the current
PrecisionProbe or PrecisionCable corrected bandwidth setting for the selected
channel.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:BANDwidth] {AUTO | {MANual, <bandwidth>}
| {BOOSt, <boost_dB>}}<NL>
See Also •":CHANnel<N>:PROBe:ACCAL" on page 348
•":CHANnel<N>:PROBe:PRECprobe:MODE" on page 371
•":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 369
•":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 372
•":CHANnel<N>:PROBe:PRECprobe:DELay" on page 370
History New in version 3.10.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 369
:CHANnel<N>:PROBe:PRECprobe:CALibration
Command :CHANnel<N>:PROBe:PRECprobe:CALibration <cal_string>[,<cal_string2]
The :CHANnel<N>:PROBe:PRECprobe:CALibration command specifies the name
of the PrecisionProbe or PrecisionCable calibration to use for the specified channel
and probe.
<N> An integer, 1-4.
<cal_string>[,<cal_
string2>]
A quoted string that is the name of the PrecisionProbe or Precision Cable
calibration. The SMA probe heads can use two independent calibration files.
Example This example says to use the PrecisionProbe or PrecisionCable calibration named
"2-8-2" for channel 1.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:CALibration "2-8-2""
Query :CHANnel<N>:PROBe:PRECprobe:CALibration?
The :CHANnel<N>:PROBe:PRECprobe:CALibration? query returns the currently
specified name for the selected channel's PrecisionProbe or PrecisionCable
calibration.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:CALibration] <cal_string>[,<cal_string2]<NL
>
See Also •":CHANnel<N>:PROBe:ACCAL" on page 348
•":CHANnel<N>:PROBe:PRECprobe:MODE" on page 371
•":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 372
•":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 368
•":CHANnel<N>:PROBe:PRECprobe:DELay" on page 370
History New in version 3.10.
370 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:PRECprobe:DELay
Command :CHANnel<N>:PROBe:PRECprobe:DELay {{ON | 1} | {OFF | 0}}
The :CHANnel<N>:PROBe:PRECprobe:DELay command specifies whether to
include cable delay in a PrecisionCable AC response probe calibration.
<N> An integer, 1-4.
Example This example specifies to include cable delay in the calibration.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:DELay ON"
Query :CHANnel<N>:PROBe:PRECprobe:DELay?
The :CHANnel<N>:PROBe:PRECprobe:DELay? query returns the current "include
cable delay" selection.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:DELay] {1 | 0}<NL>
See Also •":CHANnel<N>:PROBe:ACCAL" on page 348
•":CHANnel<N>:PROBe:PRECprobe:MODE" on page 371
•":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 369
•":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 372
•":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 368
History New in version 4.20.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 371
:CHANnel<N>:PROBe:PRECprobe:MODE
Command :CHANnel<N>:PROBe:PRECprobe:MODE {PROBe | CABLe}
The :CHANnel<N>:PROBe:PRECprobe:MODE command chooses between
PrecisionProbe or PrecisionCable AC response probe calibration.
<N> An integer, 1-4.
Example This example chooses PrecisionProbe calibration for the probe on channel 1.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:MODE PROBe"
Query :CHANnel<N>:PROBe:PRECprobe:MODE?
The :CHANnel<N>:PROBe:PRECprobe:MODE? query returns the current
PrecisionProbe/PrecisionCable selection for the selected channel.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:MODE] {PROBe | CABLe}<NL>
See Also •":CHANnel<N>:PROBe:ACCAL" on page 348
•":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 369
•":CHANnel<N>:PROBe:PRECprobe:ZSRC" on page 372
•":CHANnel<N>:PROBe:PRECprobe:BANDwidth" on page 368
•":CHANnel<N>:PROBe:PRECprobe:DELay" on page 370
History New in version 3.10.
372 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:PRECprobe:ZSRC
Command :CHANnel<N>:PROBe:PRECprobe:ZSRC {VIN | {VSRC, <impedance>}
| {VSRC, <file_string>}}
The :CHANnel<N>:PROBe:PRECprobe:ZSRC command specifies how
PrecisionProbe characterizes the time domain and frequency domain response.
<N> An integer, 1-4.
VIN Selects the VOut/Vin probe transfer function (which characterizes the output of
the probe as a function of the input at the probe tips).
Defining the response this way lets you evaluate the probe's accuracy in
reproducing the actual signal present in your system with the probe attached. This
correction is what you would see with a real band limited probe that has finite
input impedance. PrecisionProbe corrects the "VOut/Vin" response to be flat with
frequency and phase to your defined bandwidth limit. It does not de-embed the
loading effects of the probe. (Keysight's probe corrections are typically defined
using Vout/Vin.)
VSRC,
<impedance>
Selects the VOut/VSrc estimate of probed system response (which corrects the
probe as "what would be there if the probe were not present"), and specifies a
constant (Zo/2) value (in ohms) as the system source impedance.
One drawback of defining the probe's response in this manner is that if the probe's
loading causes your circuit to lose some timing or amplitude margin, you probably
want to know that when you make a measurement. VOut/VSource compensation
will hide these effects from you. However, this method can be effective if probing
at the transmitter.
VSRC,
<file_string>
Selects the VOut/VSrc estimate of probed system response (which corrects the
probe as "what would be there if the probe were not present"), and names an
S-parameter file whose S11 is used to specify the system source impedance.
Example This example, for channel 1, tells PrecisionProbe to use the VOut/VSrc
characterization and to get the system source impedance from S11 in the
"foo.s2p" S-parameter file.
myScope.WriteString ":CHANnel1:PROBe:PRECprobe:ZSRC VSRC, "foo.s2p""
Query :CHANnel<N>:PROBe:PRECprobe:ZSRC?
The :CHANnel<N>:PROBe:PRECprobe:ZSRC? query returns the current settings
for PrecisionProbe time domain and frequency domain response characterization.
Returned Format [:CHANnel<N>:PROBe:PRECprobe:ZSRC] {VIN | {VSRC, <impedance>}
| {VSRC, <file_string>}}<NL>
See Also •":CHANnel<N>:PROBe:ACCAL" on page 348
•":CHANnel<N>:PROBe:PRECprobe:MODE" on page 371
•":CHANnel<N>:PROBe:PRECprobe:CALibration" on page 369
374 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series)
Command :CHANnel<N>:PROBe:PRIMary {ZIN | ZOUT}
<N> is an integer, 1-4.
For the N2820A/N2821A high-sensitivity current probes only, the
:CHANnel<N>:PROBe:PRIMary command configures the input channel as a
zoomed-in amplified channel (ZIN) or zoomed-out channel (ZOUT). With N2820A
probes, the secondary channel will have the other waveform.
Query :CHANnel<N>:PROBe:PRIMary?
The :CHANnel<N>:PROBe:PRIMary? query returns the primary channel output
setting.
Returned Format [:CHANnel<N>:PROBe:PRIMary] {ZIN | ZOUT}<NL>
See Also •":MEASure:CHARge (9000 Series, 9000H Series, S-Series)" on page 765
History New in version 5.60.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 375
:CHANnel<N>:PROBe:SKEW
Command :CHANnel<N>:PROBe:SKEW <skew_value>
The :CHANnel<N>:PROBe:SKEW command sets the channel-to-channel skew
factor for the specified channel. You can use the oscilloscope's probe skew control
to remove timing differences between probes or cables on different channels.
<N> An integer, 1-4.
<skew_value> A real number for the skew value, in the range -1 ms to +1 ms.
Example This example sets the probe skew for channel 1 to 10 μs.
myScope.WriteString ":CHANnel1:PROBe:SKEW 10E-6"
Query :CHANnel<N>:PROBe:SKEW?
The :CHANnel<N>:PROBe:SKEW? query returns the current probe skew setting for
the selected channel.
Returned Format [:CHANnel<N>:PROBe:SKEW] <skew_value><NL>
History Legacy command (existed before version 3.10).
376 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:PROBe:STYPe
Command :CHANnel<N>:PROBe:STYPe {DIFFerential | SINGle}
The :CHANnel<N>:PROBe:STYPe command sets the channel probe signal type
(STYPe) to differential or single-ended when using the 113xA series probes, 1168A
probe, and 1169A probe. This setting determines how offset is applied.
When single-ended is selected, the :CHANnel<N>:PROBe:EXTernal:OFFset
command changes the offset value of the probe amplifier. When differential is
selected, the :CHANnel<N>:PROBe:EXTernal:OFFset command changes the offset
value of the channel amplifier.
<N> An integer, 1-4.
Example This example sets the probe mode to single-ended.
myScope.WriteString ":CHANnel1:PROBe:STYPe SINGle"
Query :CHANnel<N>:PROBe:STYPe?
The :CHANnel<N>:PROBe:STYPe? query returns the current probe mode setting
for the selected channel.
Returned Format [:CHANnel<N>:PROBe:STYPe] {DIFFerential | SINGle}<NL>
History Legacy command (existed before version 3.10).
NOTE
This command is valid only for the 113xA series probes, 1168A probe, and 1169A probe.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 377
:CHANnel<N>:RANGe
Command :CHANnel<N>:RANGe <range_value>
The :CHANnel<N>:RANGe command defines the full-scale vertical axis of the
selected channel. It sets up acquisition and display hardware to display the
waveform at a given range scale. The values represent the full-scale deflection
factor of the vertical axis in volts. These values change as the probe attenuation
factor is changed.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<range_value> A real number for the full-scale voltage of the specified channel number.
Example This example sets the full-scale range for channel 1 to 500 mV.
myScope.WriteString ":CHANnel1:RANGe 500E-3"
Query :CHANnel<N>:RANGe?
The :CHANnel<N>:RANGe? query returns the current full-scale vertical axis setting
for the selected channel.
Returned Format [:CHANnel<N>:RANGe]<range_value><NL>
Example This example places the current range value in the number variable, varSetting,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":CHANnel1:RANGe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
378 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SCALe
Command :CHANnel<N>:SCALe <scale_value>
The :CHANnel<N>:SCALe command sets the vertical scale, or units per division, of
the selected channel. This command is the same as the front-panel channel scale.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<scale_value> A real number for the vertical scale of the channel in units per division.
Example This example sets the scale value for channel 1 to 500 mV/div.
myScope.WriteString ":CHANnel1:SCALe 500E-3"
Query :CHANnel<N>:SCALe?
The :CHANnel<N>:SCALe? query returns the current scale setting for the specified
channel.
Returned Format [:CHANnel<N>:SCALe] <scale_value><NL>
Example This example places the current scale value in the number variable, varSetting,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":CHANnel1:SCALe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 379
:CHANnel<N>:SIMulation:AMPLitude
Command :CHANnel<N>:SIMulation:AMPLitude <value>
The :CHANnel<N>:SIMulation:AMPLitude command specifies the amplitude of the
simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<value> Simulated waveform vertical value in NR3 format.
Query :CHANnel<N>:SIMulation:AMPLitude?
The :CHANnel<N>:SIMulation:AMPLitude? query returns the simulated waveform's
amplitude value.
Returned Format <value><NL>
<value> ::= waveform vertical value in NR3 format
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
History New in version 6.00.
380 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:DATA:LENGth
Command :CHANnel<N>:SIMulation:DATA:LENGth <length_exp>
For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),
the :CHANnel<N>:SIMulation:DATA:LENGth command specifies the length
exponent of the simulated waveform's PRBS sequence (2<length_exp>).
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<length_exp> PRBS length exponent from 1 to 15 in NR1 format.
Query :CHANnel<N>:SIMulation:DATA:LENGth?
The :CHANnel<N>:SIMulation:DATA:LENGth? query returns the specified length
exponent.
Returned Format <length_exp><NL>
<length_exp> ::= PRBS length exponent from 1 to 15 in NR1 format
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:DRATe" on page 385
•":CHANnel<N>:SIMulation:DATA:SELection" on page 384
•":CHANnel<N>:SIMulation:DATA:ODD" on page 381
•":CHANnel<N>:SIMulation:DATA:RESeed" on page 383
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 381
:CHANnel<N>:SIMulation:DATA:ODD
Command :CHANnel<N>:SIMulation:DATA:ODD {{0 | OFF} | {1 | ON}}
For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),
the :CHANnel<N>:SIMulation:DATA:ODD command sets the PRBS "odd" control.
When ON, one is subtracted from the length of the PRBS sequence.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:DATA:ODD?
The :CHANnel<N>:SIMulation:DATA:ODD? query returns the PRBS "odd" control
setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:DRATe" on page 385
•":CHANnel<N>:SIMulation:DATA:SELection" on page 384
•":CHANnel<N>:SIMulation:DATA:LENGth" on page 380
•":CHANnel<N>:SIMulation:DATA:RESeed" on page 383
History New in version 6.00.
382 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:DATA:PAM
Command :CHANnel<N>:SIMulation:DATA:PAM <num_of_symbols>
When the DATA simulated waveform type is selected
(:CHANnel<N>:SIMulation:WAVeform DATA) and PAM is selected as the PRBS
signal type (:CHANnel<N>:SIMulation:DATA:SELection PAM), the
:CHANnel<N>:SIMulation:DATA:PAM command specifies the number of symbols
(or levels) in the PAM signal. For example, for a PAM-4 signal, you specify 4.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<num_of_symbols
>
A value from 2 to 255 in NR1 format.
Query :CHANnel<N>:SIMulation:DATA:PAM?
The :CHANnel<N>:SIMulation:DATA:PAM? query returns the specified number of
symbols in the PAM signal.
Returned Format <num_of_symbols><NL>
<num_of_symbols> ::= 2 to 255 in NR1 format, e.g., 4 = PAM-4
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:DATA:SELection" on page 384
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 383
:CHANnel<N>:SIMulation:DATA:RESeed
Command :CHANnel<N>:SIMulation:DATA:RESeed {{0 | OFF} | {1 | ON}}
For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),
the :CHANnel<N>:SIMulation:DATA:RESeed command specifies whether to reseed
the PRBS generator(s). When ON, a new sequence is given on each acquire.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:DATA:RESeed?
The :CHANnel<N>:SIMulation:DATA:RESeed? query returns the PRBS generator(s)
reseed setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:DRATe" on page 385
•":CHANnel<N>:SIMulation:DATA:SELection" on page 384
•":CHANnel<N>:SIMulation:DATA:LENGth" on page 380
•":CHANnel<N>:SIMulation:DATA:ODD" on page 381
History New in version 6.00.
384 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:DATA:SELection
Command :CHANnel<N>:SIMulation:DATA:SELection <type>
For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),
the :CHANnel<N>:SIMulation:DATA:SELection command specifies whether the
simulated PRBS waveform is a Non Return to Zero (NRZ) signal or a Pulse
Amplitude Modulation (PAM) signal.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<type> {NRZ | PAM}
Query :CHANnel<N>:SIMulation:DATA:SELection?
The :CHANnel<N>:SIMulation:DATA:SELection? query returns the simulated PRBS
waveform signal type selection.
Returned Format <type><NL>
<type> ::= {NRZ | PAM}
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:DRATe" on page 385
•":CHANnel<N>:SIMulation:DATA:LENGth" on page 380
•":CHANnel<N>:SIMulation:DATA:ODD" on page 381
•":CHANnel<N>:SIMulation:DATA:PAM" on page 382
•":CHANnel<N>:SIMulation:DATA:RESeed" on page 383
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 385
:CHANnel<N>:SIMulation:DRATe
Command :CHANnel<N>:SIMulation:DRATe <data_rate>
For the DATA simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),
the :CHANnel<N>:SIMulation:DRATe command specifies the data rate of the
simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<data_rate> Value in NR3 format.
Query :CHANnel<N>:SIMulation:DRATe?
The :CHANnel<N>:SIMulation:DRATe? query returns the specified data rate of the
simulated waveform.
Returned Format <data_rate><NL>
<data_rate> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:DATA:SELection" on page 384
•":CHANnel<N>:SIMulation:DATA:LENGth" on page 380
•":CHANnel<N>:SIMulation:DATA:ODD" on page 381
•":CHANnel<N>:SIMulation:DATA:RESeed" on page 383
History New in version 6.00.
386 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess
Command :CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess <file_path>
When the InfiniiSim filter is selected (with the
":CHANnel<N>:SIMulation:FILTer:SELection ISIM" command), the
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess command specifies the path of an
InfiniiSim transfer function file.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<file_path> Quoted path string of a valid .tf2 or .tf4 file.
Query :CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess?
The :CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess? query returns the path of the
selected InfiniiSim transfer function file.
Returned Format <file_path><NL>
<file_path> ::= quoted path string of a valid .tf2 or .tf4 file
See Also •":CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction" on page 387
•":CHANnel<N>:SIMulation:FILTer:SELection" on page 388
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 387
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction
Command :CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction <port_extraction>
When a .tf4 4-port InfiniiSim transfer function file is used (see
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess), the
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction command specifies the port
extraction method.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<port_extraction> {P12 | P32 | P34 | P14 | DIFFerential | COMMonmode}
Query :CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction?
The :CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction? query returns the selected
port extraction method.
Returned Format <port_extraction><NL>
<port_extraction> ::= {P12 | P32 | P34 | P14 | DIFF | COMM}
See Also •":CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess" on page 386
•":CHANnel<N>:SIMulation:FILTer:SELection" on page 388
History New in version 6.00.
388 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:FILTer:SELection
Command :CHANnel<N>:SIMulation:FILTer:SELection <filter_type>
The :CHANnel<N>:SIMulation:FILTer:SELection command sets the filter type.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<filter_type> {BWALl | GAUSsian | ISIM | NONE}
Query :CHANnel<N>:SIMulation:FILTer:SELection?
The :CHANnel<N>:SIMulation:FILTer:SELection? query returns the filter type
setting
Returned Format <filter_type><NL>
<filter_type> ::= {BWAL | GAUS | ISIM | NONE}
See Also •":CHANnel<N>:SIMulation:FILTer:ISIM:ADDRess" on page 386
•":CHANnel<N>:SIMulation:FILTer:ISIM:PEXTraction" on page 387
History New in version 6.00.
NOTE
The InfiniiSim feature must be licensed to make the ISIM selection.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 389
:CHANnel<N>:SIMulation:FLOad:ADDRess
Command :CHANnel<N>:SIMulation:FLOad:ADDRess <load_file_path>
For the FILE simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),
the :CHANnel<N>:SIMulation:FLOad:ADDRess command specifies the full path
string of a .wfm file to use as the simulated waveform.
The string must include the full path and file extension. Only Infiniium waveform
data files are supported.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<load_file_path> Quoted full path string of a .wfm file.
Query :CHANnel<N>:SIMulation:FLOad:ADDRess?
The :CHANnel<N>:SIMulation:FLOad:ADDRess? query returns ...
Returned Format <load_file_path><NL>
<load_file_path> ::= quoted full path string of a .wfm file
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:FLOad:LOOP" on page 390
History New in version 6.00.
390 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:FLOad:LOOP
Command :CHANnel<N>:SIMulation:FLOad:LOOP {{0 | OFF} | {1 | ON}}
For the FILE simulated waveform type (see :CHANnel<N>:SIMulation:WAVeform),
the :CHANnel<N>:SIMulation:FLOad:LOOP command specifies whether the
simulated waveform should repeat from the beginning of the file when reaching
the end of the file.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:FLOad:LOOP?
The :CHANnel<N>:SIMulation:FLOad:LOOP? query returns the loop control
setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:FLOad:ADDRess" on page 389
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 391
:CHANnel<N>:SIMulation:FREQuency
Command :CHANnel<N>:SIMulation:FREQuency <freq>
For the CLOCk or FUNCtion simulated waveform types (see
:CHANnel<N>:SIMulation:WAVeform), the :CHANnel<N>:SIMulation:FREQuency
command specifies the frequency of the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<freq> Value in NR3 format.
Query :CHANnel<N>:SIMulation:FREQuency?
The :CHANnel<N>:SIMulation:FREQuency? query returns the specified frequency
of the simulated waveform.
Returned Format <freq><NL>
<freq> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
History New in version 6.00.
392 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:FUNCtion:SELection
Command :CHANnel<N>:SIMulation:FUNCtion:SELection <type>
For the FUNCtion simulated waveform type (see
:CHANnel<N>:SIMulation:WAVeform), the
:CHANnel<N>:SIMulation:FUNCtion:SELection command specifies the simulated
waveform function type.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<type> {IMPulse | SAWTooth | SIN | SQUare | TRIangle}
Query :CHANnel<N>:SIMulation:FUNCtion:SELection?
The :CHANnel<N>:SIMulation:FUNCtion:SELection? query returns the selected
simulated waveform function type.
Returned Format <type><NL>
<type> ::= {IMP | SAWT | SIN | SQU | TRI}
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:FREQuency" on page 391
•":CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle" on page 393
•":CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe" on page 395
•":CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe" on page 394
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 393
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle <duty_cycle>
When the FUNCtion simulated waveform type is selected
(:CHANnel<N>:SIMulation:WAVeform FUNCtion) and the SQUare function is
selected (:CHANnel<N>:SIMulation:FUNCtion:SELection SQUare), the
:CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle command specifies the
square wave's duty cycle high time percent value.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<duty_cycle> The percent high time value in NR1 format.
Query :CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle?
The :CHANnel<N>:SIMulation:FUNCtion:SQUare:DCYCle? query returns the
specified duty cycle high time percent value.
Returned Format <duty_cycle><NL>
<duty_cycle> ::= percent high time value in NR1 format
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:FUNCtion:SELection" on page 392
History New in version 6.00.
394 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe <fall_time>
When the FUNCtion simulated waveform type is selected
(:CHANnel<N>:SIMulation:WAVeform FUNCtion) and the SQUare function is
selected (:CHANnel<N>:SIMulation:FUNCtion:SELection SQUare), the
:CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe command specifies the square
wave's high-to-low transition time.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<fall_time> The high-to-low transition time value in NR3 format.
Query :CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe?
The :CHANnel<N>:SIMulation:FUNCtion:SQUare:FTIMe? query returns the
specified high-to-low transition time.
Returned Format <fall_time><NL>
<fall_time> ::= high-to-low transition time value in NR3 format
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:FUNCtion:SELection" on page 392
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 395
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe
Command :CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe <rise_time>
When the FUNCtion simulated waveform type is selected
(:CHANnel<N>:SIMulation:WAVeform FUNCtion) and the SQUare function is
selected (:CHANnel<N>:SIMulation:FUNCtion:SELection SQUare), the
:CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe command specifies the square
wave's low-to-high transition time.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<rise_time> The low-to-high transition time value in NR3 format.
Query :CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe?
The :CHANnel<N>:SIMulation:FUNCtion:SQUare:RTIMe? query returns the
specified low-to-high transition time.
Returned Format <rise_time><NL>
<rise_time> ::= low-to-high transition time value in NR3 format
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
•":CHANnel<N>:SIMulation:FUNCtion:SELection" on page 392
History New in version 6.00.
396 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:JITTer
Command :CHANnel<N>:SIMulation:JITTer {{0 | OFF} | {1 | ON}}
The :CHANnel<N>:SIMulation:JITTer command turns all simulated waveform jitter
off or on while saving the values.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:JITTer?
The :CHANnel<N>:SIMulation:JITTer? query returns the simulated waveform jitter
off/on setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 397
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 398
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 399
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 400
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 401
•":CHANnel<N>:SIMulation:JITTer:RANDom" on page 402
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 397
:CHANnel<N>:SIMulation:JITTer:ABUJ
Command :CHANnel<N>:SIMulation:JITTer:ABUJ <magnitude>
The :CHANnel<N>:SIMulation:JITTer:ABUJ command specifies the amount of
Aperiodic Bounded Uniform Jitter (ABUJ) to apply to the simulated waveform. The
ABUJ follows a uniform distribution between [-Magnitude/2, Magnitude/2].
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<magnitude> Value in NR3 format.
Query :CHANnel<N>:SIMulation:JITTer:ABUJ?
The :CHANnel<N>:SIMulation:JITTer:ABUJ? query returns the Aperiodic Bounded
Uniform Jitter (ABUJ) value.
Returned Format <magnitude><NL>
<magnitude> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:JITTer" on page 396
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 398
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 399
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 400
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 401
•":CHANnel<N>:SIMulation:JITTer:RANDom" on page 402
History New in version 6.00.
398 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle {{0 | OFF} | {1 | ON}}
The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle command turns the
periodic jitter on or off.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic jitter slot, 1-10.
Query :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle?
The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle? query returns the
periodic jitter enable setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CHANnel<N>:SIMulation:JITTer" on page 396
•":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 397
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 399
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 400
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 401
•":CHANnel<N>:SIMulation:JITTer:RANDom" on page 402
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 399
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency <freq>
The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency command
specifies the frequency of the periodic jitter applied to the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic jitter slot, 1-10.
<freq> Value in NR3 format.
Query :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency?
The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency? query returns the
specified frequency of the periodic jitter.
Returned Format <freq><NL>
<freq> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:JITTer" on page 396
•":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 397
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 398
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 400
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 401
•":CHANnel<N>:SIMulation:JITTer:RANDom" on page 402
History New in version 6.00.
400 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude <magnitude>
The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude command
specifies the magnitude of the periodic jitter applied to the simulated waveform.
This magnitude is a peak-to-peak value similar to amplitude.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic jitter slot, 1-10.
<magnitude> Value in NR3 format.
Query :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude?
The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude? query returns the
specified magnitude of the periodic jitter.
Returned Format <magnitude><NL>
<magnitude> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:JITTer" on page 396
•":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 397
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 398
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 399
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 401
•":CHANnel<N>:SIMulation:JITTer:RANDom" on page 402
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 401
:CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe
Command :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe <shape>
The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe command specifies the
shape of the periodic jitter applied to the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic jitter slot, 1-10.
<shape> {SAWTooth | SIN | SQUare | TRIangle}
Query :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe?
The :CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe? query returns the
specified shape of the periodic jitter.
Returned Format <shape><NL>
<shape> ::= {SAWT | SIN | SQU | TRI}
See Also •":CHANnel<N>:SIMulation:JITTer" on page 396
•":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 397
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 398
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 399
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 400
•":CHANnel<N>:SIMulation:JITTer:RANDom" on page 402
History New in version 6.00.
402 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:JITTer:RANDom
Command :CHANnel<N>:SIMulation:JITTer:RANDom <standard_deviation>
The :CHANnel<N>:SIMulation:JITTer:RANDom command specifies the standard
deviation of random jitter to apply. This random jitter follows a normal distribution.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<standard_deviatio
n>
Value in NR3 format.
Query :CHANnel<N>:SIMulation:JITTer:RANDom?
The :CHANnel<N>:SIMulation:JITTer:RANDom? query returns the random jitter
standard deviation value.
Returned Format <standard_deviation><NL>
<standard_deviation> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:JITTer" on page 396
•":CHANnel<N>:SIMulation:JITTer:ABUJ" on page 397
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:ENABle" on page 398
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:FREQuency" on page 399
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:MAGNitude" on page 400
•":CHANnel<N>:SIMulation:JITTer:PERiodic<M>:SHAPe" on page 401
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 403
:CHANnel<N>:SIMulation:NOISe
Command :CHANnel<N>:SIMulation:NOISe {{0 | OFF} | {1 | ON}}
The :CHANnel<N>:SIMulation:NOISe command turns all simulated waveform
noise off or on while saving the values.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:NOISe?
The :CHANnel<N>:SIMulation:NOISe? query returns the simulated waveform noise
off/on setting.
Returned Format <setting><NL>
<setting ::= {0 | 1}
See Also •":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 404
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 405
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 406
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 407
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 408
•":CHANnel<N>:SIMulation:NOISe:RANDom" on page 409
History New in version 6.00.
404 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:NOISe:BWLimit
Command :CHANnel<N>:SIMulation:NOISe:BWLimit {{0 | OFF} | {1 | ON}}
The :CHANnel<N>:SIMulation:NOISe:BWLimit command turns the noise filter on
or off. This filter is a brick wall filter with a cut-off frequency of 0.4 times the
sample rate.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Query :CHANnel<N>:SIMulation:NOISe:BWLimit?
The :CHANnel<N>:SIMulation:NOISe:BWLimit? query returns the noise filter on/off
setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CHANnel<N>:SIMulation:NOISe" on page 403
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 405
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 406
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 407
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 408
•":CHANnel<N>:SIMulation:NOISe:RANDom" on page 409
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 405
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle {{0 | OFF} | {1 | ON}}
The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle command turns the
periodic noise on or off.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic noise slot, 1-10.
Query :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle?
The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle? query returns the
periodic noise enable setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":CHANnel<N>:SIMulation:NOISe" on page 403
•":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 404
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 406
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 407
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 408
•":CHANnel<N>:SIMulation:NOISe:RANDom" on page 409
History New in version 6.00.
406 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency <freq>
The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency command
specifies the frequency of the periodic noise applied to the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic noise slot, 1-10.
<freq> Value in NR3 format.
Query :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency?
The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency? query returns the
specified frequency of the periodic noise.
Returned Format <freq><NL>
<freq> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:NOISe" on page 403
•":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 404
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 405
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 407
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 408
•":CHANnel<N>:SIMulation:NOISe:RANDom" on page 409
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 407
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude <magnitude>
The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude command
specifies the magnitude of the periodic noise applied to the simulated waveform.
This magnitude is a peak-to-peak value similar to amplitude.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic noise slot, 1-10.
<magnitude> Value in NR3 format.
Query :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude?
The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude? query returns the
specified magnitude of the periodic noise.
Returned Format <magnitude><NL>
<magnitude> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:NOISe" on page 403
•":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 404
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 405
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 406
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 408
•":CHANnel<N>:SIMulation:NOISe:RANDom" on page 409
History New in version 6.00.
408 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe
Command :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe <shape>
The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe command specifies the
shape of the periodic noise applied to the simulated waveform.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> Periodic noise slot, 1-10.
<shape> {SAWTooth | SIN | SQUare | TRIangle}
Query :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe?
The :CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe? query returns the
specified shape of the periodic noise.
Returned Format <shape><NL>
<shape> ::= {SAWT | SIN | SQU | TRI}
See Also •":CHANnel<N>:SIMulation:NOISe" on page 403
•":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 404
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 405
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 406
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 407
•":CHANnel<N>:SIMulation:NOISe:RANDom" on page 409
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 409
:CHANnel<N>:SIMulation:NOISe:RANDom
Command :CHANnel<N>:SIMulation:NOISe:RANDom <standard_deviation>
The :CHANnel<N>:SIMulation:NOISe:RANDom command specifies the standard
deviation of random noise to apply. This random noise follows a normal
distribution.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<standard_deviatio
n>
Value in NR3 format.
Query :CHANnel<N>:SIMulation:NOISe:RANDom?
The :CHANnel<N>:SIMulation:NOISe:RANDom? query returns the random noise
standard deviation value.
Returned Format <standard_deviation><NL>
<standard_deviation> ::= value in NR3 format
See Also •":CHANnel<N>:SIMulation:NOISe" on page 403
•":CHANnel<N>:SIMulation:NOISe:BWLimit" on page 404
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:ENABle" on page 405
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:FREQuency" on page 406
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:MAGNitude" on page 407
•":CHANnel<N>:SIMulation:NOISe:PERiodic<M>:SHAPe" on page 408
History New in version 6.00.
410 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:SIMulation:OFFSet
Command :CHANnel<N>:SIMulation:OFFSet <offset_value>
The :CHANnel<N>:SIMulation:OFFSet command specifies the offset of the
simulated waveform.
This offset is applied to the simulated waveform and is not to be confused with the
channel offset. For example, to specify a simulated waveform that goes from 0 V to
5 V, specify an amplitude of 5 V and an offset of 2.5 V.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<offset_value> Simulated waveform vertical value in NR3 format.
Query :CHANnel<N>:SIMulation:OFFSet?
The :CHANnel<N>:SIMulation:OFFSet? query returns the simulated waveform's
offset value.
Returned Format <offset_value><NL>
<offset_value> ::= waveform vertical value in NR3 format
See Also •":CHANnel<N>:SIMulation:WAVeform" on page 411
History New in version 6.00.
Channel Commands 14
Keysight Infiniium Oscilloscopes Programmer's Guide 411
:CHANnel<N>:SIMulation:WAVeform
Command :CHANnel<N>:SIMulation:WAVeform <type>
The :CHANnel<N>:SIMulation:WAVeform command sets the simulated waveform
type.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<type> {CLOCk | DATA | FILE | FUNCtion}
• CLOCk — The simulated waveform is a square-wave clock signal.
•DATA — The simulated waveform is a Pseudo-Random Binary Sequence (PRBS)
Non Return to Zero (NRZ) or Pulse Amplitude Modulation (PAM) signal.
• FILE — The simulated waveform comes from a saved waveform data file (similar
to an arbitrary waveform in a function generator).
• FUNCtion — The simulated waveform is an impulse, sawtooth, sine, square, or
triangle function.
Query :CHANnel<N>:SIMulation:WAVeform?
The :CHANnel<N>:SIMulation:WAVeform? query returns the selected simulated
waveform type.
Returned Format <type><NL>
<type> ::= {CLOC | DATA | FILE | FUNC}
See Also •":HOSTed:FOLLower<N>:CONFigure" on page 602
•":HOSTed:FOLLower<N>:CONNect" on page 603
•":CHANnel<N>:SIMulation:AMPLitude" on page 379
•":CHANnel<N>:SIMulation:OFFSet" on page 410
•":CHANnel<N>:SIMulation:FREQuency" on page 391
•":CHANnel<N>:SIMulation:DATA:SELection" on page 384
•":CHANnel<N>:SIMulation:DRATe" on page 385
•":CHANnel<N>:SIMulation:FLOad:ADDRess" on page 389
•":CHANnel<N>:SIMulation:FUNCtion:SELection" on page 392
History New in version 6.00.
NOTE
Simulated waveforms become available when the "Simulated Instrument" is added as a
follower using the :HOSTed:FOLLower<N>:CONFigure and :HOSTed:FOLLower<N>:CONNect
commands. The channel numbers of the simulated waveforms depend on the follower used
(for example, using follower 1 enables simulated waveforms on channels 5 through 8).
412 Keysight Infiniium Oscilloscopes Programmer's Guide
14 Channel Commands
:CHANnel<N>:UNITs
Command :CHANnel<N>:UNITs {VOLT | AMPere | WATT | UNKNown}
The :CHANnel<N>:UNITs command sets the vertical units. You can specify Y-axis
units of VOLTs, AMPs, WATTs, or UNKNown. The units are implied for other
pertinent channel commands (such as :CHANnel<N>:RANGe and
:CHANnel<N>:OFFSet). See the Probe Setup dialog box for more information.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example sets the units for channel 1 to amperes.
myScope.WriteString ":CHANnel1:UNITs AMPere"
Query :CHANnel<N>:UNITs?
The :CHANnel<N>:UNITs? query returns the current units setting for the specified
channel.
Returned Format [:CHANnel<N>:UNITs] {VOLT | AMPere | WATT | UNKNown}<NL>
Example This example places the vertical units for the specified channel in the string
variable, strUnits, then prints the contents of the variable to the computer's
screen.
Dim strUnits As String
myScope.WriteString ":CHANnel1:UNITs?"
strUnits = myScope.ReadString
Debug.Print strUnits
History Legacy command (existed before version 3.10).
NOTE
UNITs can also be set using the CHANnel<N>:PROBe:EXTernal:UNITs command when
CHANnel<N>:PROBe:EXTernal command has been set to ON.
413
Keysight Infiniium Oscilloscopes
Programmer's Guide
15 Common Commands
*CLS — Clear Status / 415
*ESE — Event Status Enable / 416
*ESR? — Event Status Register / 418
*IDN? — Identification Number / 419
*LRN? — Learn / 420
*OPC — Operation Complete / 422
*OPT? — Option / 423
*PSC — Power-on Status Clear / 426
*RCL — Recall / 427
*RST — Reset / 428
*SAV — Save / 429
*SRE — Service Request Enable / 430
*STB? — Status Byte / 432
*TRG — Trigger / 434
*TST? — Test / 435
*WAI — Wait / 436
Common commands are defined by the IEEE 488.2 standard. They control generic
device functions that are common to many different types of instruments.
Common commands can be received and processed by the oscilloscope, whether
they are sent over the remote interface as separate program messages or within
other program messages.
Receiving
Common
Commands
Common commands can be received and processed by the oscilloscope, whether
they are sent over the remote interface as separate program messages or within
other program messages. If a subsystem is currently selected and a common
command is received by the oscilloscope, the oscilloscope remains in the selected
subsystem. For example, if the program message
"ACQUIRE:AVERAGE ON;*CLS;COUNT 1024"
is received by the oscilloscope, the oscilloscope sets the acquire type, clears the
status information, then sets the number of averages without leaving the selected
subsystem.
414 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
Status Registers The following two status registers used by common commands have an enable
(mask) register. By setting bits in the enable register, you can select the status
information for use. Refer to the chapter, "Status Reporting," for a complete
discussion of status.
NOTE
Headers and Common Commands.
Headers are not prepended to common commands.
Table 6 Status and Enable Registers
Status Register Enable Register
Event Status Register Event Status Enable Register
Status Byte Register Service Request Enable Register
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 415
*CLS — Clear Status
Command *CLS
The *CLS command clears all status and error registers.
Example This example clears the status data structures of the oscilloscope.
myScope.WriteString "*CLS"
See Also •Chapter 7, “Status Reporting,” starting on page 153 for a complete discussion
of status.
•"Example: Blocking and Polling Synchronization" on page 189
•"Example: Checking for Armed Status" on page 178
History Legacy command (existed before version 3.10).
416 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*ESE — Event Status Enable
Command *ESE <mask>
The *ESE command sets the Standard Event Status Enable Register bits.
<mask> An integer, 0 to 255, representing a mask value for the bits to be enabled in the
Standard Event Status Register as shown in Table 7.
Example This example enables the User Request (URQ) bit of the Standard Event Status
Enable Register. When this bit is enabled and a front-panel key is pressed, the
Event Summary bit (ESB) in the Status Byte Register is also set.
myScope.WriteString "*ESE 64"
Query *ESE?
The *ESE? query returns the current contents of the Standard Event Status Enable
Register.
Returned Format <mask><NL>
<mask> An integer, +0 to +255 (the plus sign is also returned), representing a mask value
for the bits enabled in the Standard Event Status Register as shown in Table 7.
Example This example places the current contents of the Standard Event Status Enable
Register in the numeric variable, varEvent. The value of the variable is printed on
the computer's screen.
myScope.WriteString "*ESE?"
varEvent = myScope.ReadNumber
Debug.Print FormatNumber(varEvent, 0)
The Standard Event Status Enable Register contains a mask value for the bits to be
enabled in the Standard Event Status Register. A "1" in the Standard Event Status
Enable Register enables the corresponding bit in the Standard Event Status
Register. A "0" in the enable register disables the corresponding bit.
Table 7 Standard Event Status Enable Register Bits
Bit Weight Enables Definition
7 128 PON - Power On Indicates power is turned on.
6 64 Not Used. Permanently set to zero.
5 32 CME - Command Error Indicates whether the parser
detected an error.
4 16 EXE - Execution Error Indicates whether a parameter was
out of range, or was inconsistent
with the current settings.
3 8 DDE - Device Dependent Error Indicates whether the device was
unable to complete an operation for
device-dependent reasons.
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 417
See Also Refer to Chapter 7, “Status Reporting,” starting on page 153 for a complete
discussion of status.
History Legacy command (existed before version 3.10).
2 4 QYE - Query Error Indicates if the protocol for queries
has been violated.
1 2 RQC - Request Control Indicates whether the device is
requesting control.
01OPC - Operation Complete Indicates whether the device has
completed all pending operations.
Table 7 Standard Event Status Enable Register Bits (continued)
Bit Weight Enables Definition
418 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*ESR? — Event Status Register
Query *ESR?
The *ESR? query returns the contents of the Standard Event Status Register.
Reading this register clears the Standard Event Status Register, as does a *CLS.
Returned Format <status><NL>
<status> An integer, 0 to 255, representing the total bit weights of all bits that are high at
the time you read the register.
Example This example places the current contents of the Standard Event Status Register in
the numeric variable, varEvent, then prints the value of the variable to the
computer's screen.
myScope.WriteString "*ESR?"
varEvent = myScope.ReadNumber
Debug.Print FormatNumber(varEvent, 0)
Table 8 lists each bit in the Event Status Register and the corresponding bit
weights.
History Legacy command (existed before version 3.10).
Table 8 Standard Event Status Register Bits
Bit Bit
Weight
Bit Name Condition (0 = False = Low, 1 =
True = High)
7 128 PON 1 = OFF to ON transition has
occurred.
6 64 Not Used. Permanently set to zero.
5 32 CME 0 = no command errors. 1 = a
command error has been detected.
4 16 EXE 0 = no execution error. 1 = an
execution error has been detected.
3 8 DDE 0 = no device-dependent errors. 1 =
a device-dependent error has been
detected.
2 4 QYE 0 = no query errors. 1 = a query
error has been detected.
1 2 RQC 0 = request control - NOT used -
always 0.
0 1 OPC 0 = operation is not complete. 1 =
operation is complete.
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 419
*IDN? — Identification Number
Query *IDN?
The *IDN? query returns the company name, oscilloscope model number, serial
number, and software version by returning this string:
Keysight Technologies,<Model #>,<USXXXXXXXX>,<Rev #>[,<Options>]
<Model #> Specifies the model number of the oscilloscope.
<USXXXXXXXX> Specifies the serial number of the oscilloscope. The first four digits and letter are
the serial prefix, which is the same for all identical oscilloscopes. The last five
digits are the serial suffix, which is assigned sequentially, and is different for each
oscilloscope.
<Rev #> Specifies the software version of the oscilloscope, and is the revision number.
<Options> Comma separated list of the installed options.
Returned Format Keysight Technologies,DSO9404A,USXXXXXXXX,XX.XX.XXXX
Example This example places the oscilloscope's identification information in the string
variable, strIdentify, then prints the identification information to the computer's
screen.
Dim strIdentify As String ' Dimension variable.
myScope.WriteString "*IDN?"
strIdentify = myScope.ReadString
Debug.Print strIdentify
History Legacy command (existed before version 3.10).
420 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*LRN? — Learn
Query *LRN?
The *LRN? query returns a block of data that contains the oscilloscope's current
setup. You can store the oscilloscope's setup and send it back to the oscilloscope
at a later time. This block of setup data should be sent to the oscilloscope just as it
is. It works because of its embedded ":SYST:SET" header.
Returned Format :SYST:SET<setup><NL>
<setup> This is a definite-length, arbitrary block response specifying the current
oscilloscope setup. The block size is subject to change with different firmware
revisions.
Example This Python and PyVISA example saves the *LRN? string to a file and then restores
the oscilloscope setup from the file.
# ********************************************************************
# Using the *LRN? string to save and restore the oscilloscope setup.
# ********************************************************************
# Import modules.
# ---------------------------------------------------------
import visa
import string
import sys
# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors():
while True:
error_string = Infiniium.query(":SYSTem:ERRor? STRing")
if error_string: # If there is an error string value.
if error_string.find("0,", 0, 2) == -1: # Not "No error".
print "ERROR: %s." % error_string
print "Exited because of error."
sys.exit(1)
else: # "No error"
break
else: # :SYSTem:ERRor? STRing should always return string.
print "ERROR: :SYSTem:ERRor? STRing returned nothing."
print "Exited because of error."
sys.exit(1)
# =========================================================
# Main program:
# =========================================================
rm = visa.ResourceManager()
Infiniium = rm.open_resource("TCPIP0::141.121.237.226::hislip0::INSTR")
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 421
Infiniium.timeout = 20000
Infiniium.clear()
# Save oscilloscope setup.
values_list = Infiniium.query_binary_values("*LRN?", datatype='s')
sLearn = values_list[0]
check_instrument_errors()
f = open("learn.stp", "wb")
f.write("%s" % sLearn)
f.close()
print "Learn string bytes saved: %d" % len(sLearn)
# Restore the default setup.
Infiniium.write("*RST")
# Set up oscilloscope by loading previously saved learn string.
sLearn = ""
f = open("learn.stp", "rb")
sLearn = f.read()
f.close()
Infiniium.write_binary_values(":SYSTem:SETup ", sLearn, datatype='c')
check_instrument_errors()
print "Learn string bytes restored: %d" % len(sLearn)
See Also :SYSTem:SETup command and query. When HEADers is ON and LONGform is
OFF, the :SYSTem:SETup command performs the same function as the *LRN?
query. However, *LRN and SETup block setup data are not interchangeable.
History Legacy command (existed before version 3.10).
NOTE
*LRN? Returns Prefix to Setup Block
The *LRN? query always returns :SYST:SET as a prefix to the setup block. The
:SYSTem:HEADer command has no effect on this response.
422 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*OPC — Operation Complete
Command *OPC
The *OPC command sets the operation complete bit in the Standard Event Status
Register when all pending device operations have finished.
Example This example sets the operation complete bit in the Standard Event Status
Register when the DIGitize operation is complete.
myScope.WriteString ":DIGitize CHANnel1;*OPC"
Query *OPC?
The *OPC? query places an ASCII character "1" in the oscilloscope's output queue
when all pending selected device operations have finished.
Returned Format 1<NL>
Example This example places an ASCII character "1" in the oscilloscope's output queue
when the AUToscale operation is complete. Then the value in the output queue is
placed in the numeric variable var"varComplete."
myScope.WriteString ":AUToscale;*OPC?"
varComplete = myScope.ReadNumber
Debug.Print FormatNumber(varComplete, 0)
The *OPC? query allows synchronization between the computer and the
oscilloscope by using the message available (MAV) bit in the Status Byte or by
reading the output queue. Unlike the *OPC command, the *OPC query does not
affect the OPC Event bit in the Standard Event Status Register.
History Legacy command (existed before version 3.10).
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 423
*OPT? — Option
Query *OPT?
The *OPT? query returns a string with a list of installed options. If no options are
installed, the string will have a 0 as the first character.
The length of the returned string may increase as options become available in the
future. Once implemented, an option name will be appended to the end of the
returned string, delimited by a comma.
Returned Format [002,EZP,EZJ,SDA,LSS,ABD,ABC,ABB,NRD,ERC,AIP,PCI1,ETH,DVI,HDM,B30,CAN,
SA1,DDR]<NL>
Table 9 Possible Installed Options and Descriptions
Installed Option Description
AP2 (U7233A) DDR1 Compliance
B30 (N5416A) USB Compliance
CAN (N5402A) CAN/FlexRay Protocols
CFL (N8803A/B) Basic CAN/FlexRay Protocols
D12 (U7232B) Display Port Compliance
DD3 (U7231A) DDR3 Compliance
DD4 (N6462A) DDR4 Compliance
DDR (N5413A/B) DDR2 Compliance
DEA (N5465A-002) InfiniiSim Advanced
DEB (N5465A-001) InfiniiSim Basic
DEQ (N5461A) Equalization
DPT (U7232A) Display Port Compliance
DRF (N8807A) DIGRF4 Protocol
DVI (N5394A) DVI Compliance
EKR (N8815A) 10GBASE-KR Ethernet Protocol
EMC (N6465A) eMMC Compliance
ETH (N5392A) Gigabit Ethernet Compliance
ETN (U7236A) 10G Ethernet Compliance
EZC (N8813A) EZJIT Complete
EZJ (E2681A) EZJIT
EZP (N5400A) EZJIT Plus
FBD (N5409A) FB DIMM Compliance
424 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
FBR (N5410A) Fibre Channel Compliance
GD5 (U7245A) GDDR5 Compliance
H14 (N5399B) HDMI + HEAC Compliance
HDM (N5399A/B) HDMI Compliance
HSI (U7248A) HSIC Compliance
LTP (N8817A) JTAG Protocol
LP2 (N5413B) LPDDR2 Compliance
LPU (N5413B) LPDDR2 Upgrade
LP3 (U7231B) LPDDR3 Compliance
L3U (U7231B) LPDDR3 Upgrade
LSS (N5391A/B) SPI/I2C Protocols
MHL (N6460A) Mobile HD Link Compliance
MPI (U7238A) MIPI D-PHY Compliance
MPH (U7249A) MIPI M-PHY Compliance
MPP (N8802A) MIPI D-PHY Protocol
MYC (N5467A) User Defined App
PCI (N5393B) PCI Express 1.0a Compliance
PC2 (N5393B) PCI Express 2.0 Compliance
PC3 (N5393C) PCI Express 3.0 Compliance
P3U (N5393C) PCIE 3.0 Upgrade
PEP (N5463A/B) PCI Express Protocol
PRN (N2809A) PrecisionProbe
PWR (U1882A) Power
QPI (U7241A) QPI Compliance
RSP (N5462A/B) RS232/UART Protocol
S6G (N5412B) SAS 6G Compliance
S6U (N5411B) SATA 3 Compliance Upgrade
SA1 (N5411A) SATA 1 Compliance
SA6 (N5411B) SATA 3 Compliance
SAS (N5412A) SAS Compliance
SDA (E2688A, N5384A) Serial Data Analysis
Table 9 Possible Installed Options and Descriptions (continued)
Installed Option Description
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 425
Example This example places all options into the string variable, strOptions, then prints the
option name to the computer's screen.
Dim strOptions As String
myScope.WriteString "*OPT?"
strOptions = myScope.ReadString
Debug.Print strOptions
History Legacy command (existed before version 3.10).
SDC (U7246A) SD Card Compliance
SSU (N5412B) SAS 6G Upgrade
STP (N8801A) SATA/SAS Protocol
SVD (N8812A) SVID Protocol
SWT (N5414A/B, N5415B) InfiniiScan
TBL (N6463A) Thunderbolt Compliance
U3P (N5464A/B) USB 3.0 Protocol
UDF (N5430A) User Def Fn
UH2 Ultra HS2 SD Compliance
U23 (U7243A-003) Upgrade from USB 2.0 to USB 3.0 Advanced
US3 (U7243A-001) USB 3.0 Compliance Only (Basic)
USA (U7243A-002) USB 2.0 and 3.0 Advanced
USU (U7243A-004) Upgrade from USB 3.0 Compliance Only to USB 3.0 Advanced
USP (N5464A/B) USB 2.0 Protocol
VSA UWB VSA
WUB (U7239A) Wireless USB Compliance
XAI (N5431A) XAUI Compliance
Table 9 Possible Installed Options and Descriptions (continued)
Installed Option Description
426 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*PSC — Power-on Status Clear
Command *PSC {{ON|1} | {OFF|0}}
The *PSC command determines whether or not the SRQ line is set upon the
completion of the oscilloscope's boot process. When the *PSC flag is set to 1, the
Power On (PON) bit of the Standard Event Status Register is 0 during the boot
process. When the *PSC flag is set to 0, the PON bit is set to a 1 during the boot
process.
When the *PSC flag is set to 0, the Standard Event Status Enable Register must be
set to 128 decimal and the Service Request Enable Register must be set to 32
decimal. This allows the Power On (PON) bit to set the SRQ line when the
oscilloscope is ready to receive commands.
Example This example sets the *PSC flag to 0 which sets the SRQ line during the boot
process.
myScope.WriteString "*PSC 0;*SRE 32;*ESE 128"
Query The *PSC? query returns the value of the *PSC flag.
Returned Format 1<NL>
Example This example places the *PSC flag into the integer variable varPscflag.
myScope.WriteString "*PSC?"
varPscflag = myScope.ReadNumber
Debug.Print FormatNumber(varPscflag, 0)
History Legacy command (existed before version 3.10).
NOTE
If you are using a LAN interface rather than a GPIB interface, it is not possible to receive the
SRQ during the boot process.
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 427
*RCL — Recall
Command *RCL <register>
The *RCL command restores the state of the oscilloscope to a setup previously
stored in the specified save/recall register. An oscilloscope setup must have been
stored previously in the specified register. Registers 0 through 9 are
general-purpose registers and can be used by the *RCL command.
<register> An integer, 0 through 9, specifying the save/recall register that contains the
oscilloscope setup you want to recall.
Example This example restores the oscilloscope to the oscilloscope setup stored in register
3.
myScope.WriteString "*RCL 3"
See Also *SAV (Save). An error message appears on the oscilloscope's display if nothing has
been previously saved in the specified register.
History Legacy command (existed before version 3.10).
428 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*RST — Reset
Command *RST
The *RST command performs a default setup which is the same as pressing the
oscilloscope front panel [Default Setup] key.
Example This example resets the oscilloscope to a known state.
myScope.WriteString "*RST"
See Also •":SYSTem:PRESet" on page 1195 (where the default values for Infiniium
oscilloscope controls are described)
History Legacy command (existed before version 3.10).
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 429
*SAV — Save
Command *SAV <register>
The *SAV command stores the current state of the oscilloscope in a save register.
<register> An integer, 0 through 9, specifying the register used to save the current
oscilloscope setup.
Example This example stores the current oscilloscope setup to register 3.
myScope.WriteString "*SAV 3"
See Also *RCL (Recall).
History Legacy command (existed before version 3.10).
430 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*SRE — Service Request Enable
Command *SRE <mask>
The *SRE command sets the Service Request Enable Register bits. By setting the
*SRE, when the event happens, you have enabled the oscilloscope's interrupt
capability. The oscilloscope will then do an SRQ (service request), which is an
interrupt.
<mask> An integer, 0 to 255, representing a mask value for the bits to be enabled in the
Service Request Enable Register as shown in Table 10.
Example This example enables a service request to be generated when a message is
available in the output queue. When a message is available, the MAV bit is high.
myScope.WriteString "*SRE 16"
Query *SRE?
The *SRE? query returns the current contents of the Service Request Enable
Register.
Returned Format <mask><NL>
<mask> An integer, 0 to 255, representing a mask value for the bits enabled in the Service
Request Enable Register.
Example This example places the current contents of the Service Request Enable Register
in the numeric variable, varValue, then prints the value of the variable to the
computer's screen.
myScope.WriteString "*SRE?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
The Service Request Enable Register contains a mask value for the bits to be
enabled in the Status Byte Register. A "1" in the Service Request Enable Register
enables the corresponding bit in the Status Byte Register. A "0" disables the bit.
Table 10 Service Request Enable Register Bits
Bit Weight Enables
7 128 OPER - Operation Status Register
664Not Used
5 32 ESB - Event Status Bit
416MAV - Message Available
38Not Used
24MSG - Message
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 431
History Legacy command (existed before version 3.10).
1 2 USR - User Event Register
01TRG - Trigger
Table 10 Service Request Enable Register Bits (continued)
Bit Weight Enables
432 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*STB? — Status Byte
Query *STB?
The *STB? query returns the current contents of the Status Byte, including the
Master Summary Status (MSS) bit. See Table 11 for Status Byte Register bit
definitions.
Returned Format <value><NL>
<value> An integer, 0 to 255, representing a mask value for the bits enabled in the Status
Byte.
Example This example reads the contents of the Status Byte into the numeric variable,
varValue, then prints the value of the variable to the computer's screen.
myScope.WriteString "*STB?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
In response to a serial poll (SPOLL), Request Service (RQS) is reported on bit 6 of
the status byte. Otherwise, the Master Summary Status bit (MSS) is reported on
bit 6. MSS is the inclusive OR of the bitwise combination, excluding bit 6, of the
Status Byte Register and the Service Request Enable Register. The MSS message
indicates that the oscilloscope is requesting service (SRQ).
Table 11 Status Byte Register Bits
Bit Bit
Weight
Bit Name Condition (0 = False = Low, 1 =
True = High)
7 128 OPER 0 = no enabled operation status
conditions have occurred 1 = an
enabled operation status condition
has occurred
6 64 RQS/MSS 0 = oscilloscope has no reason for
service 1 = oscilloscope is
requesting service
5 32 ESB 0 = no event status conditions have
occurred 1 = an enabled event
status condition has occurred
4 16 MAV 0 = no output messages are ready 1
= an output message is ready
3 8 --- 0 = not used
2 4 MSG 0 = no message has been displayed
1 = message has been displayed
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 433
History Legacy command (existed before version 3.10).
1 2 USR 0 = no enabled user event
conditions have occurred 1 = an
enabled user event condition has
occurred
0 1 TRG 0 = no trigger has occurred 1 = a
trigger occurred
Table 11 Status Byte Register Bits (continued)
Bit Bit
Weight
Bit Name Condition (0 = False = Low, 1 =
True = High)
434 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*TRG — Trigger
Command *TRG
The *TRG command has the same effect as the Group Execute Trigger message
(GET) or RUN command. It acquires data for the active waveform display, if the
trigger conditions are met, according to the current settings.
Example This example starts the data acquisition for the active waveform display according
to the current settings.
myScope.WriteString "*TRG"
History Legacy command (existed before version 3.10).
NOTE
Trigger Conditions Must Be Met
When you send the *TRG command in Single trigger mode, the trigger conditions must be met
before the oscilloscope will acquire data.
Common Commands 15
Keysight Infiniium Oscilloscopes Programmer's Guide 435
*TST? — Test
Query *TST?
The *TST? query causes the oscilloscope to perform a self-test, and places a
response in the output queue indicating whether or not the self-test completed
without any detected errors. Use the :SYSTem:ERRor command to check for
errors. A zero indicates that the test passed and a non-zero indicates the self-test
failed.
Returned Format <result><NL>
<result> 0 for pass; non-zero for fail.
Example This example performs a self-test on the oscilloscope and places the results in the
numeric variable, varResults. The program then prints the results to the
computer's screen.
myScope.WriteString "*TST?"
varResults = myScope.ReadNumber
Debug.Print FormatNumber(varResults, 0)
If a test fails, refer to the troubleshooting section of the service guide.
History Legacy command (existed before version 3.10).
NOTE
Disconnect Inputs First
You must disconnect all front-panel inputs before sending the *TST? command.
NOTE
Expanded Error Reporting
The :SELFtest:SCOPETEST command has expanded error reporting. Instead of using *TST?,
Keysight recommends that you use the :SELFtest:SCOPETEST command. In either case, be
sure you disconnect all front-panel inputs before sending the *TST? command.
436 Keysight Infiniium Oscilloscopes Programmer's Guide
15 Common Commands
*WAI — Wait
Command *WAI
The *WAI command has no function in the oscilloscope, but is parsed for
compatibility with other instruments.
Example myScope.WriteString "*WAI"
History Legacy command (existed before version 3.10).
438 Keysight Infiniium Oscilloscopes Programmer's Guide
16 Digital Commands
:DIGital<N>:DISPlay
Command
:DIGital<N>[:DISPlay] {ON | OFF | 1 | 0}
The :DIGital<N>:DISPlay command enables or disables the view for the selected
digital channel.
<N> An integer, 0-15.
Example This example turns on the display of bit 5 for the digital channels.
myScope.WriteString ":DIGital5:DISPlay ON"
Query :DIGital<N>[:DISPlay]?
The :DIGital<N>:DISPlay? query returns the value of the display setting for the
selected digital channel.
Returned Format [:DIGital<N>:DISPlay] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
NOTE
The DIGital commands only apply to the MSO oscilloscopes.
Digital Commands 16
Keysight Infiniium Oscilloscopes Programmer's Guide 439
:DIGital<N>:LABel
Command
:DIGital<N>:LABel <quoted_string>
The :DIGital<N>:LABel command sets the digital channel label to the quoted
string. Setting a label for a digital channel will also result in the name being added
to the label list.
<N> An integer, 1-2.
<quoted_string> A series of 16 or less characters as a quoted ASCII string.
Example This example sets the label for bit 7 to Clock.
myScope.WriteString ":DIGital7:LABel ""Clock"""
Query :DIGital<N>:LABel?
The :DIGital<N>:LABel? query returns the name of the specified digital channel.
Returned Format [:DIGital<N>:LABel] <quoted_string><NL>
History Legacy command (existed before version 3.10).
NOTE
The DIGital commands only apply to the MSO oscilloscopes.
NOTE
Label strings are 16 characters or less, and may contain any commonly used ASCII characters.
Labels with more than 16 characters are truncated to 16 characters.
440 Keysight Infiniium Oscilloscopes Programmer's Guide
16 Digital Commands
:DIGital<N>:SIZE
Command
DIGital<N>:SIZE {SMALl | MEDium | LARGe}
The :DIGital<N>:SIZE command changes the vertical size of all the displayed
digital channels. The digital subsystem must be enabled before this command will
work. See ENABle command in the root subsystem.
<N> An integer, 0-15.
Example This example changes the size to medium for all displayed digital channels or
buses.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":DIGital5:SIZE MEDium"
Query :DIGital<N>:SIZE?
The :DIGital:CHANnel:SIZE? query returns the size of the displayed digital
channels.
Returned Format [:DIGital<N>:SIZE] {SMALl | MEDium | LARGe}<NL>
History Legacy command (existed before version 3.10).
NOTE
The DIGital commands only apply to the MSO oscilloscopes.
Digital Commands 16
Keysight Infiniium Oscilloscopes Programmer's Guide 441
:DIGital<N>:THReshold
Command
:DIGital<N>:THReshold {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL
| DIFFerential | <value>}
The :DIGital<N>:THReshold command sets the logic threshold value for a pod.
Setting the threshold for digital channels 0 through 7 sets the threshold for pod 1
while setting the threshold for digital channels 8 through 15 sets the threshold for
pod 2. This command is equivalent to the POD<N>:THReshold command.
The threshold is used for triggering purposes and for displaying the digital data as
high (above the threshold) or low (below the threshold). The voltage values for the
predefined thresholds are:
• CMOS50 = 2.5 V
• CMOS33 = 1.65 V
• CMOS25 = 1.25 V
• ECL = -1.3 V
• PECL = 3.7 V
• TTL = 1.4 V
• DIFFerential = 0 V
<N> An integer, 0-15.
<value> A real number representing the voltage value which distinguishes a 1 logic level
from a 0 logic level. Waveform voltages greater than the threshold are 1 logic
levels while waveform voltages less than the threshold are 0 logic levels.
On 9000 Series, 9000H Series, and S-Series mixed-signal oscilloscopes, the range
of the threshold voltage is from -8 volts to 8 volts.
On 90000 X-Series and V-Series mixed-signal oscilloscopes, the range of the
threshold voltage is from -3.75 volts to 3.75 volts.
Example This example sets the threshold to 1.8 volts for bits D15 through D8.
myScope.WriteString ":DIGital8:THReshold 1.8"
Query :DIGital<N>:THReshold?
The :DIGital<N>:THReshold? query returns the threshold value for the specified
pod.
Returned Format [:DIGital<N>:THReshold] {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL
| DIFF | <value>}<NL>
NOTE
The DIGital commands only apply to the MSO oscilloscopes.
442 Keysight Infiniium Oscilloscopes Programmer's Guide
16 Digital Commands
History Legacy command (existed before version 3.10).
Version 4.50: Added the DIFFerential parameter for specifying the threshold
voltage.
443
Keysight Infiniium Oscilloscopes
Programmer's Guide
17 Disk Commands
:DISK:CDIRectory / 444
:DISK:COPY / 445
:DISK:DELete / 446
:DISK:DIRectory? / 447
:DISK:LOAD / 448
:DISK:MDIRectory / 449
:DISK:PWD? / 450
:DISK:SAVE:COMPosite / 451
:DISK:SAVE:IMAGe / 452
:DISK:SAVE:JITTer / 453
:DISK:SAVE:LISTing / 454
:DISK:SAVE:MEASurements / 455
:DISK:SAVE:PRECprobe / 456
:DISK:SAVE:SETup / 457
:DISK:SAVE:WAVeform / 458
:DISK:SEGMented / 460
The DISK subsystem commands perform the disk operations as defined in the File
menu. This allows saving and loading of waveforms and setups, as well as saving
screen images to bitmap files.
NOTE
Enclose File Name in Quotation Marks
When specifying a file name, you must enclose it in quotation marks.
NOTE
Filenames are Not Case Sensitive.
The filename that you use is not case sensitive.
444 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:CDIRectory
Command :DISK:CDIRectory "<directory>"
The :DISK:CDIRectory command changes the present working directory to the
designated directory name. An error occurs when the requested directory does not
exist. You can then view the error with the :SYSTem:ERRor? [{NUMBer | STRing}]
query.
<directory> A character-quoted ASCII string, which can include the subdirectory designation.
You must separate the directory name and any subdirectories with a backslash (\).
Example This example sets the present working directory to C:\Users\Public\Documents\
Infiniium.
myScope.WriteString ":DISK:CDIRectory ""C:\Users\Public\Documents\
Infiniium"""
History Legacy command (existed before version 3.10).
Disk Commands 17
Keysight Infiniium Oscilloscopes Programmer's Guide 445
:DISK:COPY
Command :DISK:COPY "<source_file>","<dest_file>"
The :DISK:COPY command copies a source file from the disk to a destination file on
the disk. An error is displayed on the oscilloscope screen if the requested file does
not exist. Use full directory paths for the source and destination files.
<source_file>
<dest_file>
A character-quoted ASCII string which can include subdirectories with the name of
the file.
Example This example copies C:\Users\Public\Documents\Infiniium\File1.wfm to C:\Temp\
File1b.wfm on the disk.
myScope.WriteString ":DISK:COPY ""C:\Users\Public\Documents\Infiniium\
File1.wfm"",""C:\Temp\File1b.wfm""
History Legacy command (existed before version 3.10).
446 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:DELete
Command :DISK:DELete "<file_name>"
The :DISK:DELete command deletes a file from the disk. An error is displayed on
the oscilloscope screen if the requested file does not exist. The default path is C:\
Users\Public\Documents\Infiniium.
<file_name> A character-quoted ASCII string which can include subdirectories with the name of
the file.
Example This example deletes FILE1.SET from the disk.
myScope.WriteString ":DISK:DELete ""FILE1.SET"""
History Legacy command (existed before version 3.10).
Disk Commands 17
Keysight Infiniium Oscilloscopes Programmer's Guide 447
:DISK:DIRectory?
Query :DISK:DIRectory? ["<directory>"]
The :DISK:DIRectory? query returns the requested directory listing. Each entry is
63 bytes long, including a carriage return and line feed. The default path is C:\
Users\Public\Documents\Infiniium.
<directory> The list of filenames and directories.
Returned Format [:DISK:DIRectory]<n><NL><directory>
<n> The specifier that is returned before the directory listing, indicating the number of
lines in the listing.
<directory> The list of filenames and directories. Each line is separated by a <NL>.
Example This example displays a number, then displays a list of files and directories in the
current directory. The number indicates the number of lines in the listing.
Dim varResults As Variant
Dim lngI As Long
myScope.WriteString ":DISK:DIR?"
varResults = myScope.ReadList(ASCIIType_BSTR, vbLf)
Debug.Print FormatNumber(varResults(0), 0)
For lngI = 1 To (varResults(0) - 2)
Debug.Print CStr(varResults(lngI))
Next lngI
History Legacy command (existed before version 3.10).
448 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:LOAD
Command :DISK:LOAD "<file_name>"[,<destination>]
The :DISK:LOAD command restores from the disk a setup file, composite file, or a
waveform file into a waveform memory destination. The type of file is determined
by the filename suffix if one is present, or by the destination field if one is not
present. You can load .WFM, .CSV, .TSV, .TXT, .BIN, .H5, .SET, and .OSC file types.
The destination is only used when loading a waveform memory.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used. You can use either .WFM, .CSV, .TSV, .TXT, .BIN, .H5, .SET, or .OSC
as a suffix after the filename. If no file suffix is specified, the default is .wfm.
The present working directory is assumed, or you can specify the entire path. For
example, you can load the standard setup file "SETUP0.SET" using the command:
:DISK:LOAD "C:\Users\Public\Documents\Infiniium\Setups\SETUP0.SET"
Or, you can use :DISK:CDIRectory to change the present working directory to C:\
Users\Public\Documents\Infiniium\Setups, then just use the file name
("SETUP0.SET", for example). The default path is C:\Users\Public\Documents\
Infiniium\Setups.
When setup files are loaded, touch screen settings are ignored.
<destination> WMEMory<R>.
Where <R> is an integer from 1-4.
If a destination is not specified, waveform memory 1 is used.
Example This example restores the waveform in FILE1.WFM to waveform memory 1.
myScope.WriteString ":DISK:LOAD ""FILE1.WFM"",WMEM1"
History Legacy command (existed before version 3.10).
CAUTION
Setups saved from Infiniium software versions prior to 2.00 may not load correctly in
software versions 4.30 and greater.
You can remedy this by re-saving any pre-2.00 setups using any version of software
from version 2.00 to version 4.20.
Setups saved from software versions between 2.00 and 4.20 should load correctly into
version 4.30 and greater.
Disk Commands 17
Keysight Infiniium Oscilloscopes Programmer's Guide 449
:DISK:MDIRectory
Command :DISK:MDIRectory "<directory>"
The :DISK:MDIRectory command creates a directory in the present working
directory which has been set by the :DISK:CDIRectory command. If the present
working directory has not been set by the :DISK:CDIRectory command, you must
specify the full path in the <directory> parameter as shown in Example 1 below.
An error is displayed if the requested subdirectory does not exist.
<directory> A quoted ASCII string which can include subdirectories. You must separate the
directory name and any subdirectories with a backslash (\).
Example 1 This example creates the directory CPROGRAMS in the C:\Users\Public\
Documents\Infiniium directory.
myScope.WriteString _
":DISK:MDIRectory ""C:\Users\Public\Documents\Infiniium\CPROGRAMS"""
Example 2 This example creates the directory CPROGRAMS in the present working directory
set by the :DISK:CDIRectory command.
myScope.WriteString ":DISK:MDIRectory ""CPROGRAMS"""
You can check your path with the :DISK:DIRectory? query.
History Legacy command (existed before version 3.10).
450 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:PWD?
Query :DISK:PWD?
The :DISK:PWD? query returns the name of the present working directory
(including the full path). If the default path (C:\Users\Public\Documents\Infiniium)
has not been changed by the :DISK:CDIRectory command, the :DISK:PWD? query
will return an empty string.
Returned Format :DISK:PWD? <present_working_directory><NL>
Example This example places the present working directory in the string variable strWdir,
then prints the contents of the variable to the computer's screen.
Dim strWdir As String
myScope.WriteString ":DISK:PWD?"
str Wdir = myScope.ReadString
Debug.Print strWdir
History Legacy command (existed before version 3.10).
Disk Commands 17
Keysight Infiniium Oscilloscopes Programmer's Guide 451
:DISK:SAVE:COMPosite
Command :DISK:SAVE:COMPosite "<file_name>"
The :DISK:SAVE:COMPosite command lets you save oscilloscope composite files
to Infiniium's hard disk or to a network drive. Composite files contain setups and
waveform data.
The file will have an .osc extension.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
The filename assumes the present working directory if a path does not precede the
file name.
Example This example saves the oscilloscope's setup and waveform data to a composite file
named "C:\Scope\Setup\Comp001.osc".
myScope.WriteString ":DISK:SAVE:COMPosite ""C:\Scope\Setup\Comp001"""
History New in version 3.50.
452 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:SAVE:IMAGe
Command :DISK:SAVE:IMAGe "<file_name>" [,<format>
[,{SCReen | GRATicule}
[,{ON | 1} | {OFF | 0}
[,{NORMal | INVert}
[,{ON | 1} | {OFF | 0}]]]]]
The DISK:SAVE:IMAGe command saves a screen image. The default path is C:\
Users\Public\Documents\Infiniium.
<format> The image format can be: BMP, GIF, TIF, PNG, or JPEG. The extension is supplied
by the oscilloscope depending on the selected file format.
If you do not include the format in the command, the file is saved in the format
shown in the Save Screen dialog box.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
(First) ON | OFF ON means that compression is on for the bitmap format (BMP). OFF means
compression is off.
(Second) ON | OFF The second ON/OFF selection indicates to save the setup information in the image
or not.
<format> {BMP | GIF | TIF | JPEG | PNG}
Examples myScope.WriteString ":DISK:SAVE:IMAGe ""FILE1"",BMP,SCR,ON,INVERT"
or:
myScope.WriteString ":DISK:SAVE:IMAGe ""FILE1"",TIF,GRAT,ON"
or:
myScope.WriteString ":DISK:SAVE:IMAGe ""FILE1"""
History Legacy command (existed before version 3.10).
Disk Commands 17
Keysight Infiniium Oscilloscopes Programmer's Guide 453
:DISK:SAVE:JITTer
Command :DISK:SAVE:JITTer "<file_name>"
The DISK:SAVE:JITTer command saves the jitter measurements shown in the RJDJ
tab at the bottom of the oscilloscope screen along with the RJDJ graph data in a
comma separated variables (CSV) file format. The csv extension is supplied by the
oscilloscope. The default path is C:\Users\Public\Documents\Infiniium.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
Example myScope.WriteString ":DISK:SAVE:JITTer ""FILE1"""
History Legacy command (existed before version 3.10).
454 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:SAVE:LISTing
Command :DISK:SAVE:LISTing [<source>,] "<file_name>" [,<format>[,<type>]]
The DISK:SAVE:LISTing command saves the contents of the bus listing window to
a file in either a .csv or .txt format. The default path is C:\Users\Public\
Documents\Infiniium.
<source> {SERial<N>} — The default serial bus is the one currently displayed in the listing
window.
<N> An integer 1 - 4.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
<format> {CSV | TXT}
<type> {PACKets | SYMBols}
Specifies which display window to save.
Example myScope.WriteString ":DISK:SAVE:LISTing SERial3, ""FILE1"", CSV"
History Legacy command (existed before version 3.10).
Version 5.00: Added the <type> parameter for specifying which display window to
save.
Disk Commands 17
Keysight Infiniium Oscilloscopes Programmer's Guide 455
:DISK:SAVE:MEASurements
Command :DISK:SAVE:MEASurements "<file_name>"[,<legacy_save_mode>]
The DISK:SAVE:MEASurements command saves the measurements shown in the
measurements tab at the bottom of the oscilloscope screen in a comma separated
variables (CSV) file format. The csv extension is supplied by the oscilloscope. The
default path is C:\Users\Public\Documents\Infiniium.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
<legacy_save_mod
e>
{{ON | 1} | {OFF | 0}}
The <legacy_save_mode> option specifies whether to save measurement results in
the format used prior to Infiniium version 5.00. If this option is not used, it is OFF.
Example myScope.WriteString ":DISK:SAVE:MEASurements ""FILE1"""
History Legacy command (existed before version 3.10).
Version 5.50: Added the <legacy_save_mode> option to save measurement results
in the format used prior to Infiniium version 5.00.
456 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:SAVE:PRECprobe
Command :DISK:SAVE:PRECprobe "<file_name>.csv", {CHAN1 | CHAN2 | CHAN3 | CHAN4}
The DISK:SAVE:PRECprobe command saves PrecisionProbe/Cable data in a
comma separated variables (CSV) file format. The default path is C:\Users\Public\
Documents\Infiniium.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used.
Example myScope.WriteString ":DISK:SAVE:PRECprobe ""PPch1data.csv""", CHAN1
History New in version 4.00.
Disk Commands 17
Keysight Infiniium Oscilloscopes Programmer's Guide 457
:DISK:SAVE:SETup
Command :DISK:SAVE:SETup "<file_name>"
The :DISK:SAVE:SETup command saves the current oscilloscope setup to a disk.
The file will have a .set extension.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used. The filename assumes the present working directory if a path does
not precede the file name. The default path is C:\Users\Public\Documents\
Infiniium\setups.
Example This example saves the channel 1 waveform to SETUP1 on the disk.
myScope.WriteString ":DISK:SAVE:SETup ""SETUP1"""
History Legacy command (existed before version 3.10).
458 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:SAVE:WAVeform
Command :DISK:SAVE:WAVeform <source>,"<file_name>" [,<format>[,<header>]]
The :DISK:SAVE:WAVeform command saves a waveform to a disk. If the source is
ALL, all of the currently displayed waveforms are saved to the file. If you use a file
extension as shown below in the <format> variable, then the type of file saved
defaults to the extension type. If no format is specified and no extension is used,
the file is saved in the INTernal format.
<source> {ALL | CHANnel<N> | CLOCk | FUNCtion<F> | HISTogram | MTRend | MSPectrum |
EQUalized | WMEMory<R> | BUS<B> | PODALL | POD1 | POD2}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
The BUS<B> sources are can be used with the BIN, CSV, TSV, and TXT formats.
The PODALL source is all digital channels, POD1 is d0-d7, and POD2 is d8-d15.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<file_name> A quoted ASCII string with a maximum of 254 characters including the entire path
name, if used. The filename assumes the present working directory if a path does
not precede the file name. The default path is C:\Users\Public\Documents\
Infiniium.
<format> {BIN | CSV | INTernal | TSV | TXT | H5 | H5INt | MATlab}
The following file name extensions are used for the different formats:
• BIN = file_name.bin
NOTE
See the ":WAVeform:VIEW" on page 1463 command to determine how much data is saved.
NOTE
When an acquisition is made on multiple channels, the data for each channel has the same
X origin and the same number of points.
Disk Commands 17
Keysight Infiniium Oscilloscopes Programmer's Guide 459
• CSV (comma separated values) = file_name.csv
• INTernal = file_name.wfm
• TSV (tab separated values) = file_name.tsv
• TXT = file_name.txt
• H5, H5INt (HDF5) = file_name.h5
• MATlab (MATLAB data format) = file_name.mat
In the H5 format, data is saved as floats. In the H5INt format, data is saved as
integers.
<header> {{ON | 1} | {OFF | 0}}
Example This example saves the channel 1 waveform to FILE1 on the disk in the CSV format
with header on.
myScope.WriteString ":DISK:SAVE:WAVeform CHANnel1,""FILE1"",CSV,ON"
History Legacy command (existed before version 3.10).
Version 4.50: Added the H5INt format parameter which saves waveform data as
integers within the H5 file.
Version 6.10: Added the MATlab format for saving waveforms to MATLAB (.mat)
data format files.
460 Keysight Infiniium Oscilloscopes Programmer's Guide
17 Disk Commands
:DISK:SEGMented
Command :DISK:SEGMented {ALL | CURRent}
The :DISK:SEGMented command sets whether all segments or just the current
segment are saved to a file when the :DISK:SAVE:WAVeform command is issued
and the source is a channel but not a waveform memory or function. Before
segments can be saved, the :ACQuire:MODE must be set to the SEGMented mode
and segments must be acquired.
Example This example sets the disk segmented memory store method to CURRent.
myScope.WriteString ":DISK:SEGMented CURRent"
Query :DISK:SEGMented?
The :DISK:SEGMented? query returns disk segmented memory store method
value.
Returned Format [:DISK:SEGMented] {ALL | CURRent}<NL>
Example This example places the disk store method in the string variable strMethod, then
prints the contents of the variable to the computer's screen.
Dim strMethod As String
myScope.WriteString ":DISK:SEGMented?"
strMethod = myScope.ReadString
Debug.Print strMethod
History Legacy command (existed before version 3.10).
461
Keysight Infiniium Oscilloscopes
Programmer's Guide
18 Display Commands
:DISPlay:BOOKmark<N>:DELete / 463
:DISPlay:BOOKmark<N>:SET / 464
:DISPlay:BOOKmark<N>:VERTical? / 466
:DISPlay:BOOKmark<N>:XPOSition / 467
:DISPlay:BOOKmark<N>:YPOSition / 468
:DISPlay:CGRade / 469
:DISPlay:CGRade:LEVels? / 471
:DISPlay:CGRade:SCHeme / 473
:DISPlay:CONNect / 475
:DISPlay:DATA? / 476
:DISPlay:GRATicule / 477
:DISPlay:GRATicule:AREA<N>:STATe / 478
:DISPlay:GRATicule:INTensity / 479
:DISPlay:GRATicule:NUMBer / 480
:DISPlay:GRATicule:SETGrat / 481
:DISPlay:ISIM:GCOunt / 482
:DISPlay:ISIM:SELectgraph / 483
:DISPlay:ISIM:SOURce / 484
:DISPlay:JITTer:GCOunt / 485
:DISPlay:JITTer:SELectgraph / 486
:DISPlay:JITTer:THReshold / 488
:DISPlay:LABel / 489
:DISPlay:LAYout / 490
:DISPlay:MAIN / 491
:DISPlay:NOISe:LEVel / 492
:DISPlay:PERSistence / 493
:DISPlay:PRECprobe:GCOunt / 497
:DISPlay:PRECprobe:SELectgraph / 498
:DISPlay:PRECprobe:SOURce / 499
:DISPlay:PROPortion / 495
:DISPlay:PROPortion:RESults / 496
:DISPlay:SCOLor / 500
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 463
:DISPlay:BOOKmark<N>:DELete
Command :DISPlay:BOOKmark<N>:DELete
The :DISPlay:BOOKmark<N>:DELete command deletes a bookmark.
<N> An integer, 1-100.
See Also •":DISPlay:BOOKmark<N>:SET" on page 464
•":DISPlay:BOOKmark<N>:VERTical?" on page 466
•":DISPlay:BOOKmark<N>:XPOSition" on page 467
•":DISPlay:BOOKmark<N>:YPOSition" on page 468
History New in version 5.00.
464 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:BOOKmark<N>:SET
Command :DISPlay:BOOKmark<N>:SET NONE,"label"[,<color>[,"content"]]
:DISPlay:BOOKmark<N>:SET <source>,"label"[,"content"[,<time>]]
The :DISPlay:BOOKmark<N>:SET command sets a bookmark.
<N> An integer, 1-100.
"label" A quoted ASCII string. This is the text that appears in the bookmark callout box.
<color> Display element color name (see the color names in ":DISPlay:SCOLor" on
page 500). You can set the color only for bookmarks that are not associated with a
waveform (that is, when <source> is NONE).
"content" A quoted ASCII string. This is the text that pops up when you mouse over a
bookmark callout box.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized | DIGital<M>}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<time> A real number time position. Time values are appropriate only for bookmarks
associated with waveforms.
See Also •":DISPlay:BOOKmark<N>:DELete" on page 463
466 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:BOOKmark<N>:VERTical?
Query :DISPlay:BOOKmark<N>:VERTical?
The :DISPlay:BOOKmark<N>:VERTical? query returns a waveform's vertical value
at a bookmark's horizontal position.
<N> An integer, 1-100.
Returned Format <vertical_value><NL>
<vertical_value> A real number value.
See Also •":DISPlay:BOOKmark<N>:DELete" on page 463
•":DISPlay:BOOKmark<N>:SET" on page 464
•":DISPlay:BOOKmark<N>:XPOSition" on page 467
•":DISPlay:BOOKmark<N>:YPOSition" on page 468
History New in version 5.00.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 467
:DISPlay:BOOKmark<N>:XPOSition
Command :DISPlay:BOOKmark<N>:XPOSition <x_pos>
The :DISPlay:BOOKmark<N>:XPOSition command sets the horizontal grid position
of a bookmark's callout box.
<N> An integer, 1-100.
<x_pos> A real number between 0.0 and 1.0 that represents a percentage of the grid width.
Query :DISPlay:BOOKmark<N>:XPOSition?
The :DISPlay:BOOKmark<N>:XPOSition? query returns the horizontal grid position
of a bookmark's callout box.
Returned Format [:DISPlay:BOOKmark<N>:XPOSition] <x_pos><NL>
See Also •":DISPlay:BOOKmark<N>:DELete" on page 463
•":DISPlay:BOOKmark<N>:SET" on page 464
•":DISPlay:BOOKmark<N>:VERTical?" on page 466
•":DISPlay:BOOKmark<N>:YPOSition" on page 468
History New in version 5.00.
468 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:BOOKmark<N>:YPOSition
Command :DISPlay:BOOKmark<N>:YPOSition <y_pos>
The :DISPlay:BOOKmark<N>:YPOSition command sets the vertical grid position of
a bookmark's callout box.
<N> An integer, 1-100.
<y_pos> A real number between 0.0 and 1.0 that represents a percentage of the grid
height.
Query :DISPlay:BOOKmark<N>:YPOSition?
The :DISPlay:BOOKmark<N>:YPOSition? query returns the vertical grid position of
a bookmark's callout box.
Returned Format [:DISPlay:BOOKmark<N>:YPOSition] <y_pos><NL>
See Also •":DISPlay:BOOKmark<N>:DELete" on page 463
•":DISPlay:BOOKmark<N>:SET" on page 464
•":DISPlay:BOOKmark<N>:VERTical?" on page 466
•":DISPlay:BOOKmark<N>:XPOSition" on page 467
History New in version 5.00.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 469
:DISPlay:CGRade
Command :DISPlay:CGRade {{ON | 1} | {OFF | 0}}[,<source>]
The :DISPlay:CGRade command sets the color grade persistence on or off.
When in the color grade persistence mode, all waveforms are mapped into a
database and shown with different colors representing varying number of hits in a
pixel. "Connected dots" display mode (:DISPlay:CONNect) is disabled when the
color grade persistence is on.
The oscilloscope has three features that use a specific database. This database
uses a different memory area than the waveform record for each channel. The
three features that use the database are:
•Histograms.
•Mask testing.
• Color grade persistence.
When any one of these three features is turned on, the oscilloscope starts building
the database. The database is the size of the graticule area and varies in size.
Behind each pixel is a 53-bit counter. Each counter is incremented each time a
pixel is hit by data from a channel or function. The maximum count (saturation) for
each counter is 9,007,199,254,740,991. You can check for counter saturation by
using the DISPlay:CGRade:LEVels? query.
The color grade persistence uses colors to represent the number of hits on various
areas of the display. The default color-grade state is off.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized | MTRend | MSPectrum}
If <source> is omitted:
• Color grade is enabled/disabled for all sources which are currently on.
• When enabling color grade, the main waveform view is turned off.
• When disabling color grade, the main waveform view is turned on.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
470 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
<R> An integer, 1-4.
Example This example sets the color grade persistence on.
myScope.WriteString ":DISPlay:CGRade ON"
Query :DISPlay:CGRade? [<source>]
The DISPlay:CGRade query returns the current color-grade state.
If <source> is omitted, the query returns ON (1) if any color grade is enabled.
Returned Format [:DISPlay:CGRade] {1 | 0}<NL>
Example This example returns the current color grade state.
Dim strCgrade As String ' Dimension variable.
myScope.WriteString ":DISPlay:CGRade?"
strCgrade = myScope.ReadString
Debug.Print strCgrade
See Also •":DISPlay:CGRade:LEVels?" on page 471
•":DISPlay:CGRade:SCHeme" on page 473
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which color grade should be turned on or off.
Version 5.50: When the <source> parameter is not provided, enabling color grade
will turn off the main waveform view, and disabling color grade will turn on the
main waveform view.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 471
:DISPlay:CGRade:LEVels?
Query :DISPlay:CGRade:LEVels?
The :DISPlay:CGRade:LEVels? query returns the range of hits represented by each
color. Fourteen values are returned, representing the minimum and maximum
count for each of seven colors. In the CLASsic color grade scheme, the values are
returned in the following order:
• Green minimum value
• Green maximum value
• Blue minimum value
• Blue maximum value
• Pink minimum value
• Pink maximum value
• Red minimum value
• Red maximum value
• Orange minimum value
• Orange maximum value
• Yellow minimum value
• Yellow maximum value
• White minimum value
• White maximum value
Returned Format [DISPlay:CGRade:LEVels] <color format><NL>
<color format> <intensity color min/max> is an integer value from 0 to 9,007,199,254,740,991
Example This example gets the range of hits represented by each color and prints it on the
computer screen:
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:CGRade:LEVels?"
strCgrade = myScope.ReadString
Debug.Print strCgrade
In the CLASsic color grade scheme, colors start at green minimum, maximum,
then blue, pink, red, orange, yellow, white. The format is a string where commas
separate minimum and maximum values. The largest number in the string can be
9,007,199,254,740,991
An example of a possible returned string is as follows:
1,414,415,829,830,1658,1659,3316,3317,6633,6634,13267,13268,26535
See Also •":DISPlay:CGRade" on page 469
•":DISPlay:CGRade:SCHeme" on page 473
472 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
History Legacy command (existed before version 3.10).
Version 5.00: This query is unchanged but results are returned only when a single
color grade view is on.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 473
:DISPlay:CGRade:SCHeme
Command :DISPlay:CGRade:SCHeme {CLASsic | TEMP}
The :DISPlay:CGRade:SCHeme command sets the color grade scheme to CLASsic
or TEMP.
Color grade persistence is displayed in 255 colors grouped into seven color range
blocks. The blocks represent the database counts for each color range. In the
CLASsic color grade scheme, the counters with the largest counts are displayed
using a white pixel while the counters with the smallest counts are displayed using
green pixels.
The following table shows the counter range blocks for each color for both the
CLASsic and TEMP color grade schemes.
Example This example sets the color grade scheme to "classic".
myScope.WriteString ":DISPlay:CGRade:SCHeme CLASsic"
Query :DISPlay:CGRade:SCHeme?
The :DISPlay:CGRade:SCHeme? query returns the specified color scheme.
Returned Format [DISPlay:CGRade:SCHeme] {CLASsic | TEMP}<NL>
Color Grade Scheme Range
Classic Temperature
50% to 100% of Max counter
25% to 50% of Max counter
12.5% to 25% of Max counter
6.25% to 12.5% of Max counter
3.125% to 6.25% of Max counter
1.5625% to 3.125% of Max counter
1 hit to 1.5625% of Max counter
474 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
Example This example gets the specified color scheme and prints it on the computer
screen:
Dim strCgradeScheme As String ' Dimension variable.
myScope.WriteString ":DISPlay:CGRade:SCHeme?"
strCgradeScheme = myScope.ReadString
Debug.Print strCgradeScheme
See Also •":DISPlay:CGRade" on page 469
•":DISPlay:CGRade:LEVels?" on page 471
History New in version 4.20.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 475
:DISPlay:CONNect
Command :DISPlay:CONNect {{ON | 1} | {OFF | 0}}[,<source>]
When enabled, :DISPlay:CONNect draws a line between consecutive waveform
data points. This is also known as linear interpolation.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized | MTRend | MSPectrum}
If <source> is omitted, connected dots is enabled for all sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example turns on the connect-the-dots feature.
myScope.WriteString ":DISPlay:CONNect ON"
Query :DISPlay:CONNect? [<source>]
The :DISPlay:CONNect? query returns the status of the connect-the-dots feature.
If <source> is omitted, the query returns ON (1) if connect the dots is enabled on
channel 1.
Returned Format [:DISPlay:CONNect] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the setting should be made.
476 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:DATA?
Query :DISPlay:DATA? [<type>[,<screen_mode>[,<compression> [,<inversion>]]]]
The :DISPlay:DATA? query returns information about the captured data. If no
options to the query are specified, the default selections are BMP file type, SCReen
mode, compression turned ON, and inversion set to NORMal.
<type> The bitmap type: BMP | JPG | GIF | TIF | PNG.
<screen_mode> The display setting: SCReen | GRATicule. Selecting GRATicule displays a 10-by-8
(unit) display graticule on the screen. See also :DISPlay:GRATicule.
<compression> The file compression feature: ON | OFF.
<inversion> The inversion of the displayed file: NORMal | INVert.
Returned Format [:DISPlay:DATA] <binary_block_data><NL>
<binary_block
_data>
Data in the IEEE 488.2 definite block format.
History Legacy command (existed before version 3.10).
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 477
:DISPlay:GRATicule
Command :DISPlay:GRATicule {GRID | FRAMe}
The :DISPlay:GRATicule command selects the type of graticule that is displayed.
Infiniium oscilloscopes have a 10-by-8 (unit) display graticule grid GRID), a grid
line is place on each vertical and horizontal division. When it is off (FRAMe), a
frame with tic marks surrounds the graticule edges.
Example This example sets up the oscilloscope's display background with a frame that is
separated into major and minor divisions.
myScope.WriteString ":DISPlay:GRATicule FRAMe"
Query :DISPlay:GRATicule?
The :DISPlay:GRATicule? query returns the type of graticule currently displayed.
Returned Format [:DISPlay:GRATicule] {GRID | FRAMe}<NL>
Example This example places the current display graticule setting in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:GRATicule?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":DISPlay:GRATicule:INTensity" on page 479
•":DISPlay:GRATicule:NUMBer" on page 480
•":DISPlay:GRATicule:SETGrat" on page 481
History Legacy command (existed before version 3.10).
478 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:GRATicule:AREA<N>:STATe
Command :DISPlay:GRATicule:AREA<N>:STATe {{ON | 1} | {OFF | 0}}
The :DISPlay:GRATicule:AREA<N>:STATe command turn a waveform area on or off.
<N> Can be an integer from 2–8. Waveform area 1 is always on.
Example This example turns on waveform area 2.
myScope.WriteString ":DISPlay:GRATicule:AREA2:STATe ON"
Query :DISPlay:GRATicule:AREA<N>:STATe?
The :DISPlay:GRATicule:AREA<N>:STATe? query returns whether the waveform
area is on or off.
Returned Format [:DISPlay:GRATicule:AREA<N>:STATe] {1 | 0}<NL>
Example This example places the status of waveform area 2 in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:GRATicule:AREA2:STATe?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":DISPlay:GRATicule" on page 477
•":DISPlay:GRATicule:INTensity" on page 479
•":DISPlay:GRATicule:NUMBer" on page 480
•":DISPlay:GRATicule:SETGrat" on page 481
History New in version 5.00.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 479
:DISPlay:GRATicule:INTensity
Command :DISPlay:GRATicule:INTensity <intensity_value>
You can dim the grid's intensity or turn the grid off to better view waveforms that
might be obscured by the graticule lines using the :DISPlay:GRATicule:INTensity
command. Otherwise, you can use the grid to estimate waveform measurements
such as amplitude and period.
When printing, the grid intensity control does not affect the hard copy. To remove
the grid from a printed hard copy, you must turn off the grid before printing.
<intensity _value> A integer from 0 to 100, indicating the percentage of grid intensity.
Example This example sets the graticule intensity to 50%.
myScope.WriteString ":DISPlay:GRATicule:INTensity 50"
Query :DISPlay:GRATicule:INTensity?
The :DISPlay:GRATicule:INTensity? query returns the intensity.
Returned Format [:DISPlay:GRATicule:INTensity] <value><NL>
Example This example places the current graticule intensity setting in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:GRATicule:INTensity?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":DISPlay:GRATicule" on page 477
•":DISPlay:GRATicule:NUMBer" on page 480
•":DISPlay:GRATicule:SETGrat" on page 481
History Legacy command (existed before version 3.10).
480 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:GRATicule:NUMBer
Command :DISPlay:GRATicule:NUMBer <grids>[,<area>]
The :DISPlay:GRATicule:NUMBer command specifies the number of grids in a
waveform area. Multiple grids let you more easily view multiple waveforms that
use the full vertical scale.
<grids> Can be an integer from 1–16.
<area> Can be an integer from 1–8.
If the <area> is omitted, the number of grids will be applied to waveform area 1.
Example This example sets up two viewing areas.
myScope.WriteString ":DISPlay:GRATicule:NUMBer 2"
Query :DISPlay:GRATicule:NUMBer? [<area>]
The :DISPlay:GRATicule:NUMBer? query returns the the number of grids in a
waveform area.
Returned Format [:DISPlay:GRATicule:NUMBer] {1-16}<NL>
Example This example places the current number of grids in the string variable, strSetting,
then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:GRATicule:NUMBer?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":DISPlay:GRATicule" on page 477
•":DISPlay:GRATicule:INTensity" on page 479
•":DISPlay:GRATicule:SETGrat" on page 481
•":DISPlay:GRATicule:AREA<N>:STATe" on page 478
History Legacy command (existed before version 3.10).
Version 5.0: Number of grids can be any number between 1 and 16 (not just 1, 2,
4, 8, or 16). You can also specify which waveform area the number of grids setting
is for.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 481
:DISPlay:GRATicule:SETGrat
Command :DISPlay:GRATicule:SETGrat
<DispGratChan>,<grid>[,<area>][,{MAIN | CGRade}]
The :DISPlay:GRATicule:SETGrat command assigns the corresponding waveform
to a specific grid and waveform area.
If {MAIN | CGRade} is omitted, the MAIN view will be placed.
<DispGratChan> Can be:
• CHN<N>
• DIFF1, DIFF2
• COMM3, COMM4
• MEM<N> where N is between 1 and 4
• FN<N> where N is between 1 and 16 (function)
•HIST
• D<M> where M is between 0 and 15 (on MSO models with 16 digital channels)
• BUS<Y> where Y is between 1 and 4 (on MSO models)
<grid> Can be an integer from 1-16; this is the number of the grid you want to assign the
waveform to.
<area> Can be an integer from 1–8.
If <area> is omitted, the waveform will be placed in waveform area 1.
Example This example assigns the histogram to grid 2 (in waveform area 1).
myScope.WriteString ":DISPlay:GRATicule:SETGrat HIST,2"
See Also •":DISPlay:GRATicule" on page 477
•":DISPlay:GRATicule:INTensity" on page 479
•":DISPlay:GRATicule:NUMBer" on page 480
•":DISPlay:GRATicule:AREA<N>:STATe" on page 478
History Legacy command (existed before version 3.10).
Version 5.00: In addition to assigning a waveform to a grid, you can now optionally
specify which waveform area the grid is in. Also, you can specify whether the MAIN
or CGRade (color grade) view of the waveform will be placed.
482 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:ISIM:GCOunt
Command :DISPlay:ISIM:GCOunt <count>
The :DISPlay:ISIM:GCOunt command sets the number of visible graphs in the
InfiniiSim plots window area.
<count> An integer in NR1 format.
Up to three plots can be displayed for each channel source (12 total for all
sources).
Query :DISPlay:ISIM:GCOunt?
The :DISPlay:ISIM:GCOunt? query returns the number of visible graphs in the
InfiniiSim plots window area.
Returned Format [:DISPlay:ISIM:GCOunt] <count><NL>
See Also •":DISPlay:ISIM:SELectgraph" on page 483
•":DISPlay:ISIM:SOURce" on page 484
History New in version 5.50.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 483
:DISPlay:ISIM:SELectgraph
Command :DISPlay:ISIM:SELectgraph <graph>
<graph> ::= {SPECtrum | IMPulse | STEP | ALL}
The :DISPlay:ISIM:SELectgraph command inserts the specified graph at the first
display graph position.
See Also •":DISPlay:ISIM:GCOunt" on page 482
•":DISPlay:ISIM:SOURce" on page 484
History New in version 5.50.
NOTE
Selecting ALL graphs results in all allowed graphs being displayed for the source (see
:DISPlay:ISIM:SOURce). If the source is ALL, all graphs will be displayed for all sources. The
graph count may change.
484 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:ISIM:SOURce
Command :DISPlay:ISIM:SOURce <source>
<source> ::= {CHANnel<N> | ALL}
The :DISPlay:ISIM:SOURce command sets the source for the InfiniiSim plots
graph(s).
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
See Also •":DISPlay:ISIM:GCOunt" on page 482
•":DISPlay:ISIM:SELectgraph" on page 483
History New in version 5.50.
NOTE
Selecting ALL sources causes the selected graph to be applied to all graph sources. If ALL is
the selected graph type, all sources are applied to all graphs. The graph count may change.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 485
:DISPlay:JITTer:GCOunt
Command :DISPlay:JITTer:GCOunt <count>
The :DISPlay:JITTer:GCOunt command sets the number of visible graphs in the
Jitter/Noise graphs window area.
<count> An integer in NR1 format.
Query :DISPlay:JITTer:GCOunt?
The :DISPlay:JITTer:GCOunt? query returns the number of visible graphs in the
Jitter/Noise graphs window area.
Returned Format [:DISPlay:JITTer:GCOunt] <count><NL>
See Also •":DISPlay:JITTer:SELectgraph" on page 486
History New in version 5.50.
486 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:JITTer:SELectgraph
Command :DISPlay:JITTer:SELectgraph <graph>
<graph> ::= {RPHistogram | TJHistogram | DDJHistogram | JBERbathtub
| DDJVsbit | JSPectrum | TJComposite | DDJComposite | ISIFilter
| RJPJsep | JTAilbathtub | NBERbathtub | NSPectrum | RNPHistogram
| DDIHistogram | TIHistogram | TIComposite | ISIVsbit | NSEParation
| NISifilter | RNTailhist | NTAilbathtub | ALL}
The :DISPlay:JITTer:SELectgraph command inserts the specified graph at the first
display graph position.
NOTE
Selecting ALL graphs results in all allowed graphs being displayed. The graph count may
change.
Graph Option Description
RPHistogram RjPj Histogram
TJHistogram TJ Histogram
DDJHistogram DDJ Histogram
JBERbathtub Jitter BER Bathtub
DDJVsbit DDJ vs. Bit
JSPectrum Jitter Spectrum
TJComposite Composite TJ Histogram
DDJComposite Composite DDJ Histogram
ISIFilter Jitter ISI Filter
RJPJs ep RJ PJ S epara tio n
JTAilbathtub Jitter Tail Fit Bathtub
NBERbathtub Noise BER Bathtub
NSPectrum Noise Spectrum
RNPHistogram RN PI Histogram
DDIHistogram DDI Histogram
TIHistogram TI Histogram
TIComposite Composite TI Histogram
ISIVsbit ISI vs. Bit
NSEParation RN PI Threshold
NISifilter Noise ISI Filter
488 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:JITTer:THReshold
Command :DISPlay:JITTer:THReshold <level>
<level> ::= {T01 | T12 | T23 | ALL}
When the ":MEASure:RJDJ:PAMThreshold ALL" command specifies that all PAM-4
thresholds are measured, the :DISPlay:JITTer:THReshold command specifies
whether a certain threshold level or ALL threshold levels should be displayed in the
jitter graphs.
When the ":MEASure:RJDJ:PAMThreshold" command specifies the 0/1, 1/2, or 2/3
PAM-4 thresholds are measured, that level is the one used when displaying jitter
graphs.
See Also •":MEASure:RJDJ:PAMThreshold" on page 909
History New in version 6.10.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 489
:DISPlay:LABel
Command :DISPlay:LABel {{ON | 1} | {OFF | 0}}
The :DISPlay:LABel command turns on or off the display of analog channel labels.
Label names can be up to 6 characters long. The label name is assigned by using
the CHANnel<n>:LABel command:
Example This example turns on the display of all labels.
myScope.WriteString ":DISPlay:LABel ON"
Query :DISPlay:LABel?
The :DISPlay:LABel? query returns the current state of the labels.
Returned Format [:DISPlay:LABel] {1 | 0}<NL>
Example This example places the current label state into the string variable, strSetting, then
prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:LABel?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
490 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:LAYout
Command :DISPlay:LAYout <layout>
The :DISPlay:LAYout command sets the window layout.
<layout> {CUSTom | SVERtical | SHORizontal}
• CUSTom — Tabbed/custom window layout.
• SVERtical — Stack windows vertically.
• SHORizontal — Stack windows horizontally.
Query :DISPlay:LAYout?
The :DISPlay:LAYout? query returns the window layout setting.
Returned Format [DISPlay:LAYout] <layout><NL>
See Also •":DISPlay:PROPortion" on page 495
History New in version 5.00.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 491
:DISPlay:MAIN
Command :DISPlay:MAIN {{ON | 1} | {OFF | 0}}[,<source>]
The :DISPlay:MAIN command turns on or off the main window view for the
indicated source.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized | MTRend | MSPectrum}
If <source> is omitted, the main window view is enabled/disabled for all sources
that are currently on, except for digital channel sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the main view on.
myScope.WriteString ":DISPlay:MAIN ON"
Query :DISPlay:MAIN? [<source>]
The DISPlay:MAIN? returns whether the main window view for the indicated source
is on or off.
If <source> is omitted, the query returns ON (1) if any main window view is
enabled.
Returned Format [:DISPlay:MAIN] {1 | 0}<NL>
Example This example returns the main window view state.
Dim strMain As String ' Dimension variable.
myScope.WriteString ":DISPlay:MAIN?"
strCgrade = myScope.ReadString
Debug.Print strMain
See Also •":DISPlay:CGRade" on page 469
History New in version 5.00.
492 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:NOISe:LEVel
Command :DISPlay:NOISe:LEVel <level>
The :DISPlay:NOISe:LEVel command specifies which of the noise graphs to
display.
<level> {0 | 1 | 2 | 3}
For a Non Return to Zero (NRZ) signal, you can display the noise graphs for levels
0 or 1. For a PAM-4 signal, you can you can display the noise graphs for levels 2 or
3 as well.
See Also •":MEASure:NOISe" on page 841
•":MEASure:NOISe:ALL?" on page 843
•":MEASure:NOISe:BANDwidth" on page 845
•":MEASure:NOISe:LOCation" on page 846
•":MEASure:NOISe:METHod" on page 847
•":MEASure:NOISe:REPort" on page 848
•":MEASure:NOISe:RN" on page 849
•":MEASure:NOISe:SCOPe:RN" on page 850
•":MEASure:NOISe:STATe" on page 851
•":MEASure:NOISe:UNITs" on page 852
History New in version 6.10.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 493
:DISPlay:PERSistence
Command :DISPlay:PERSistence {MINimum | INFinite | <time>}[,<source>]
<time> ::= seconds in in NR3 format from 100E-3 to 200E0
The :DISPlay:PERSistence command sets the display persistence. The parameter
for this command can be:
• MINimum — indicates zero persistence.
• INFinite — indicates infinite persistence.
• <time> — for variable persistence, that is, you can specify how long acquisitions
remain on the screen.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized | MTRend | MSPectrum}
If <source> is omitted, the persistence is applied to all waveforms.
For the WMEMory<R> source, the only valid persistence value is MINimum.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the persistence to infinite.
myScope.WriteString ":DISPlay:PERSistence INFinite"
Query :DISPlay:PERSistence? [<source>]
The :DISPlay:PERSistence? query returns the current persistence value.
When <source> is omitted, the query returns the persistence mode for channel 1.
Returned Format [:DISPlay:PERSistence] {MINimum | INFinite | <time>}<NL>
Example This example places the current persistence setting in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:PERSistence?"
494 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the persistence setting should be made.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 495
:DISPlay:PROPortion
Command :DISPlay:PROPortion <pane>, <float>
The :DISPlay:PROPortion command specifies the size of the waveform and plot
areas.
If the :DISPlay:LAYout is VERTical, this command sets an area's height.
If the :DISPlay:LAYout is HORizontal, this command sets an area's width.
If the :DISPlay:LAYout is CUSTom, this command is not supported.
<pane> {AREA<N> | SERial<M> | {JITTer | NOISe} | ISIM | PRECprobe | BUS}
<N> An integer, 1-8.
<M> An integer, 1-4.
<float> A value from 0.0 to 100.0.
Example You should set the proportion of all areas that are displayed such that the sum of
the proportions is 100. For example, if you have three areas on: Waveform Area1,
Waveform Area 2, and Jitter graphs, you may want to size them as follows:
:DISPlay:PROPortion AREA1, 20.0
:DISPlay:PROPortion AREA2, 20.0
:DISPlay:PROPortion JITTer, 60.0
If you set the size of one area only, it may not have the intended effect.
Query :DISPlay:PROPortion? <pane>
The :DISPlay:PROPortion? query returns the proportion value of the specified
pane.
The query returns the actual percentage of the specified area's width or height.
Note that this may be different than the value passed to the command, particularly
if the sum of the values passed to the command forms is not 100.
Returned Format [DISPlay:PROPortion] <float><NL>
See Also •":DISPlay:PROPortion:RESults" on page 496
•":DISPlay:LAYout" on page 490
History New in version 5.00.
496 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:PROPortion:RESults
Command :DISPlay:PROPortion:RESults <float>
The :DISPlay:PROPortion:RESults command specifies the size of the Results pane
in the oscilloscope display.
<float> A value from 0.0 to 100.0.
Query :DISPlay:PROPortion:RESults?
The :DISPlay:PROPortion:RESults? query returns the Results pane proportion
setting.
Returned Format [DISPlay:PROPortion:RESults] <float><NL>
See Also •":DISPlay:PROPortion" on page 495
History New in version 5.70.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 497
:DISPlay:PRECprobe:GCOunt
Command :DISPlay:PRECprobe:GCOunt <count>
The :DISPlay:PRECprobe:GCOunt command sets the number of visible graphs in
the PrecisionProbe correction and analysis charts window area.
<count> An integer in NR1 format.
Up to six charts can be displayed for each channel source (24 total for all sources).
Query :DISPlay:PRECprobe:GCOunt?
The :DISPlay:PRECprobe:GCOunt? query returns the number of visible graphs in
the PrecisionProbe correction and analysis charts window area.
Returned Format [:DISPlay:PRECprobe:GCOunt] <count><NL>
See Also •":DISPlay:PRECprobe:SELectgraph" on page 498
•":DISPlay:PRECprobe:SOURce" on page 499
History New in version 5.50.
498 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:PRECprobe:SELectgraph
Command :DISPlay:PRECprobe:SELectgraph <graph>
<graph> ::= {FRPHase | IMAG | IPHase | FFRMag | FFRPhase | MFRMag | ALL}
The :DISPlay:PRECprobe:SELectgraph command inserts the specified graph at the
first display graph position.
See Also •":DISPlay:PRECprobe:GCOunt" on page 497
•":DISPlay:PRECprobe:SOURce" on page 499
History New in version 5.50.
NOTE
Selecting ALL graphs results in all allowed graphs being displayed for the source (see
:DISPlay:PRECprobe:SOURce). If the source is ALL, all graphs will be displayed for all sources.
The graph count may change.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 499
:DISPlay:PRECprobe:SOURce
Command :DISPlay:PRECprobe:SOURce <source>
<source> ::= {CHANnel<N> | ALL}
The :DISPlay:PRECprobe:SOURce command sets the source for the PrecisionProbe
correction and analysis chart(s).
<N> An integer, 1-4.
See Also •":DISPlay:PRECprobe:GCOunt" on page 497
•":DISPlay:PRECprobe:SELectgraph" on page 498
History New in version 5.50.
NOTE
Selecting ALL sources causes the selected graph to be applied to all graph sources. If ALL is
the selected graph type, all sources are applied to all graphs. The graph count may change.
500 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:SCOLor
Command :DISPlay:SCOLor <color_name>, <hue>, <saturation>, <luminosity>
The :DISPlay:SCOLor command sets the color of the specified display element.
The display elements are described in Table 12.
<color_name> {BUS | CGLevel1 - CGLevel7 | CHANnel1 - CHANnel4 | DCHannel | DMEMory
| FUNCtion1 - FUNCtion16 | GRID | HISTogram | MARKers | MTPolygons
| MMPolygons | TINPuts | WMEMories | WMEMory1 - WMEMory4}
<hue> An integer from 0 to 100. The hue control sets the color of the chosen display
element. As hue is increased from 0%, the color changes from red, to yellow, to
green, to blue, to purple, then back to red again at 100% hue. For color examples,
see the sample color settings table in the Infiniium Oscilloscope online help file.
Pure red is 100%, pure blue is 67%, and pure green is 33%.
<saturation> An integer from 0 to 100. The saturation control sets the color purity of the chosen
display element. The saturation of a color is the purity of a color, or the absence of
white. A 100% saturated color has no white component. A 0% saturated color is
pure white.
Table 12 Color Names
Color Name Definition
BUS Buses.
CGLevel1 - CGLevel7 Color Grade Level 1 through Level 7 waveform display elements.
CHANnel1 - CHANnel4 Channel 1 through Channel 4 waveform display elements.
DCHannel Digital channels.
DMEMory Digital waveform memory.
FUNCtion1 - FUNCtion16 Function 1 through Function 16 waveform display elements.
GRID Display element for the grid inside the waveform viewing area.
HISTogram Histogram bars.
MARKers Display element for the markers.
MTPolygons Mask test regions.
MMPolygons Mask test margin regions.
TINPuts Display element for line and aux trigger colors.
WMEMories Display element for waveform memories (same as WMEMory1).
WMEMory1 - WMEMory4 Waveform Memory 1 through Waveform Memory 4 display
elements.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 501
<luminosity> An integer from 0 to 100. The luminosity control sets the color brightness of the
chosen display element. A 100% luminosity is the maximum color brightness. A
0% luminosity is pure black.
Example This example sets the hue to 50, the saturation to 70, and the luminosity to 90 for
the markers.
myScope.WriteString ":DISPlay:SCOLor MARKers,50,70,90"
Query :DISPlay:SCOLor? <color_name>
The :DISPlay:SCOLor? query returns the hue, saturation, and luminosity for the
specified color.
Returned Format [:DISPlay:SCOLor] <color_name>, <hue>, <saturation>, <luminosity><NL>
Example This example places the current settings for the graticule color in the string
variable, strSetting, then prints the contents of the variable to the computer's
screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:SCOLor? GRID"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Version 5.60: Removed the ability to set colors for MEASurements, STEXt, TSCale,
and WBACkgrnd.
Version 5.70: Added the ability to set colors for MMPolygons.
502 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:STATus:COLumn
Command :DISPlay:STATus:COLumn <column>
The :DISPlay:STATus:COLumn command is used to position the real time eye and
InfiniiScan Zone Trigger status labels.
This and the :DISPlay:STATus:ROW commands specify the upper left corner of the
box relative to the screen.
<column> A value of 0 to 1 may be given for the column where 0 is the far left and 1 the far
right.
Example For example, a column of 0.5 will place the upper left of the status label at the
center screen.
myScope.WriteString ":DISPlay:STATus:COLumn 0.5"
Query :DISPlay:STATus:COLumn?
The :DISPlay:STATus:COLumn? query returns the current value of the status label
column location.
Returned Format [:DISPlay:STATus:COLumn] <column><NL>
Example This example places the current value for the status label column location in the
string variable, strSetting, then prints the contents of the variable to the
computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:STATus:COLumn?"
strSetting = myScope.ReadString
Debug.Print strSetting
History New in version 3.10.
Display Commands 18
Keysight Infiniium Oscilloscopes Programmer's Guide 503
:DISPlay:STATus:ROW
Command :DISPlay:STATus:ROW <row>
The :DISPlay:STATus:ROW command is used to position the real time eye and
InfiniiScan Zone Trigger status labels.
This and the :DISPlay:STATus:COL commands specify the upper left corner of the
box relative to the screen.
<row> A value of 0 to 1 may be given for the row where 0 is the far top and 1 the far
bottom.
Example For example, a row and column of 0.5 will place the upper left of the status label at
the center screen.
myScope.WriteString ":DISPlay:STATus:ROW 0.5"
Query :DISPlay:STATus:ROW?
The :DISPlay:STATus:ROW? query returns the current value of the status label row
location.
Returned Format [:DISPlay:STATus:ROW] <row><NL>
Example This example places the current value for the status label row location in the string
variable, strSetting, then prints the contents of the variable to the computer's
screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:STATus:ROW?"
strSetting = myScope.ReadString
Debug.Print strSetting
History New in version 3.10.
504 Keysight Infiniium Oscilloscopes Programmer's Guide
18 Display Commands
:DISPlay:WINDow:MAXimize
Command :DISPlay:WINDow:MAXimize <window>
<window> ::= {AREA<N> | SERial<M> | {JITTer | NOISe} | ISIM | PRECprobe
| BUS}
The :DISPlay:WINDow:MAXimize command will maximize the size of the specified
window.
<N> An integer, 1-8.
<M> An integer, 1-4.
History New in version 5.50.
505
Keysight Infiniium Oscilloscopes
Programmer's Guide
19 Function Commands
:FUNCtion<F>? / 508
:FUNCtion<F>:ABSolute / 509
:FUNCtion<F>:ADD / 510
:FUNCtion<F>:ADEMod / 511
:FUNCtion<F>:AVERage / 512
:FUNCtion<F>:COMMonmode / 513
:FUNCtion<F>:DELay — Delay / 514
:FUNCtion<F>:DIFF — Differentiate / 515
:FUNCtion<F>:DISPlay / 516
:FUNCtion<F>:DIVide / 517
:FUNCtion<F>:FFT:DETector:POINts / 518
:FUNCtion<F>:FFT:DETector:TYPE / 519
:FUNCtion<F>:FFT:FREQuency / 520
:FUNCtion<F>:FFT:REFerence / 521
:FUNCtion<F>:FFT:RESolution / 522
:FUNCtion<F>:FFT:SPAN / 524
:FUNCtion<F>:FFT:STOP / 525
:FUNCtion<F>:FFT:TDELay / 526
:FUNCtion<F>:FFT:VUNits / 527
:FUNCtion<F>:FFT:WINDow / 528
:FUNCtion<F>:FFTMagnitude / 530
:FUNCtion<F>:FFTPhase / 531
:FUNCtion<F>:GATing — Gating / 532
:FUNCtion<F>:GATing:STARt — Gating window start time / 533
:FUNCtion<F>:GATing:STOP — Gating window stop time / 534
:FUNCtion<F>:HIGHpass / 535
:FUNCtion<F>:HORizontal / 536
:FUNCtion<F>:HORizontal:POSition / 537
:FUNCtion<F>:HORizontal:RANGe / 539
:FUNCtion<F>:INTegrate / 541
:FUNCtion<F>:INVert / 542
:FUNCtion<F>:LOWPass / 543
506 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:MAGNify / 544
:FUNCtion<F>:MATLab / 545
:FUNCtion<F>:MATLab:CONTrol<N> / 546
:FUNCtion<F>:MATLab:OPERator / 547
:FUNCtion<F>:MAXimum / 548
:FUNCtion<F>:MHIStogram / 549
:FUNCtion<F>:MINimum / 550
:FUNCtion<F>:MLOG / 551
:FUNCtion<F>:MTRend / 552
:FUNCtion<F>:MULTiply / 553
:FUNCtion<F>:OFFSet / 554
:FUNCtion<F>:RANGe / 555
:FUNCtion<F>:SMOoth / 556
:FUNCtion<F>:SQRT / 557
:FUNCtion<F>:SQUare / 558
:FUNCtion<F>:SUBTract / 559
:FUNCtion<F>:VERSus / 560
:FUNCtion<F>:VERTical / 561
:FUNCtion<F>:VERTical:OFFSet / 562
:FUNCtion<F>:VERTical:RANGe / 563
The FUNCtion subsystem defines functions 1-16. The operands of these functions
can be:
• Any of the installed channels in the oscilloscope (see page 507)
• Differential channels or common mode channels (see page 507)
• Waveform memories (see page 507)
• Functions (see page 507)
• A constant (see page 507)
• Jitter measurement trend or jitter spectrum (see page 507)
You can control the vertical scaling and offset functions remotely using the RANGe
and OFFSet commands in this subsystem. You can obtain the horizontal scaling
and position values of the functions using the :HORizontal:RANge? and
:HORizontal:POSition? queries in this subsystem.
If a channel is not on but is used as an operand, that channel will acquire
waveform data.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 507
If the operand waveforms have different memory depths, the function uses the
shorter of the two.
If the two operands have the same time scales, the resulting function has the same
time scale. If the operands have different time scales, the resulting function has no
valid time scale. This is because operations are performed based on the displayed
waveform data position, and the time relationship of the data records cannot be
considered. When the time scale is not valid, delta time pulse parameter
measurements have no meaning, and the unknown result indicator is displayed on
the screen.
Constant operands take on the same time scale as the associated waveform
operand.
Channel Operands CHANnel<N>, where N is an integer, 1-4 in a single oscilloscope, 1-40 in a
MultiScope system.
Differential and
Common Mode
Channel Operands
DIFF<D>, where D is an integer, 1-2.
COMMonmode<C>, where C is an integer, 3-4.
The COMMonmode and DIFF sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
Waveform Memory
Operands
WMEMory<R>, where R is an integer, 1-4.
Function Operands FUNCtion<F>, where F is an integer, 1-16.
Another function can be a function's source as long as the other function doesn't
use the function being defined. In other words, circular expressions are not
allowed.
Constant
Operands
Constant operands can be a real number from -1E6 to 1E12.
Jitter
Measurement
Trend and Jitter
Spectrum
Operands
The jitter measurement trend, MTRend, and jitter spectrum, MSPectrum, operands
are only available if the oscilloscope has the EZJIT option installed and the feature
is enabled.
508 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>?
Query :FUNCtion<F>?
The :FUNCtion<F>? query returns the currently defined source(s) for the function.
Returned Format [:FUNCtion<F>:<operator>] {<operand>[,<operand>]}<NL>
<F> An integer, 1-16, representing the selected function.
<operator> Active math operation for the selected function. For example, ADD, AVERage,
COMMonmode, DIFF, DIVide, FFTMagnitude, FFTPhase, HIGHpass, INTegrate,
INVert, LOWPass, MAGNify, MAXimum, MINimum, MULTiply, SMOoth, SUBTract,
or VERSus.
<operand> Any allowable source for the selected FUNCtion, including channels, differential
channels, common mode channels. waveform memories 1-4, functions 1-4, a
constant, jitter measurement trend, and jitter spectrum. If the function is applied
to a constant, the source returns the constant.
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example returns the currently defined source for function 1.
myScope.WriteString ":FUNCtion1?"
If the headers are off (see :SYSTem:HEADer), the query returns only the operands,
not the operator.
myScope.WriteString ":SYST:HEAD ON"
myScope.WriteString ":FUNC1:ADD CHAN1,CHAN2"
myScope.WriteString ":FUNC1?"
strSettings = myScope.ReadString ' Returns ":FUNC1:ADD CHAN1,CHAN2".
myScope.WriteString ":SYST:HEAD OFF"
myScope.WriteString ":FUNC1?"
strSettings = myScope.ReadString ' Returns "CHAN1,CHAN2".
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 509
:FUNCtion<F>:ABSolute
Command :FUNCtion<F>:ABSolute <operand>
The :FUNCtion<F>:ABSolute command takes the absolute value an operand.
<operand> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example turns on the absolute value command using channel 3.
myScope.WriteString ":FUNCtion1:ABSolute CHANnel3"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
510 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:ADD
Command :FUNCtion<F>:ADD <operand>,<operand>
The :FUNCtion<F>:ADD command defines a function that takes the algebraic sum
of the two operands.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 1 to add channel 1 to channel 2.
myScope.WriteString ":FUNCtion1:ADD CHANnel1,CHANnel2"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 511
:FUNCtion<F>:ADEMod
Command :FUNCtion<F>:ADEMod <source>
The :FUNCtion<F>:ADEMod command sets the math function to show the
amplitude envelope for an amplitude modulated (AM) input signal.
This function uses a Hilbert transform to get the real (in-phase, I) and imaginary
(quadrature, Q) parts of the input signal and then performs a square root of the
sum of the real and imaginary parts to get the demodulated amplitude envelope
waveform.
<F> An integer, 1-16, representing the selected function.
<source> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 1 to perform the amplitude demodulation function
on channel 1.
myScope.WriteString ":FUNCtion1:ADEMod CHANnel1"
History New in version 4.50.
512 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:AVERage
Command :FUNCtion<F>:AVERage <operand>[,<averages>]
The :FUNCtion<F>:AVERage command defines a function that averages the
operand based on the number of specified averages.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
<averages> An integer, 2 to 65534 specifying the number of waveforms to be averaged
Example This example sets up function 1 to average channel 1 using 16 averages.
myScope.WriteString ":FUNCtion1:AVERage CHANnel1,16"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 513
:FUNCtion<F>:COMMonmode
Command :FUNCtion<F>:COMMonmode <operand>,<operand>
The :FUNCtion<F>:COMMonmode command defines a function that adds the
voltage values of the two operands and divides by 2, point by point.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 1 to view the common mode voltage value of
channel 1 and channel 2.
myScope.WriteString ":FUNCtion1:COMMonmode CHANnel1,CHANnel2"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
514 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:DELay — Delay
Command :FUNCtion<F>:DELay <operand>,<delay_time>
The :FUNCtion<F>:DELay command adds the provided time to the X origin of the
source waveform, effectively shifting the function waveform in time.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
<delay_time> Time, in seconds, set for the delay.
Example This example sets function 2 to be the waveform from channel1, delayed by
100 ps.
myScope.WriteString ":FUNCtion2:DELay CHANnel1,100E-12"
History New in version 4.30.
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 515
:FUNCtion<F>:DIFF — Differentiate
Command :FUNCtion<F>:DIFF <operand>[,<low_pass_phase_align>]
The :FUNCtion<F>:DIFF command defines a function that computes the discrete
derivative of the operand.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
<low_pass_phase_
align>
{{ON | 1} | {OFF | 0}
This parameter turns on or off the low pass and phase align filter.
Example This example sets up function 2 to take the discrete derivative of the waveform on
channel 2.
myScope.WriteString ":FUNCtion2:DIFF CHANnel2"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
516 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:DISPlay
Command :FUNCtion<F>:DISPlay {{ON|1} | {OFF|0}}
The :FUNCtion<F>:DISPlay command either displays the selected function or
removes it from the display.
<F> An integer, 1-16, representing the selected function.
Example This example turns function 1 on.
myScope.WriteString ":FUNCtion1:DISPlay ON"
Query :FUNCtion<F>:DISPlay?
The :FUNCtion<F>:DISPlay? query returns the displayed status of the specified
function.
Returned Format [:FUNCtion<F>:DISPlay] {1|0}<NL>
Example This example places the current state of function 1 in the variable, strSetting, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":FUNCtion1:DISPlay?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 517
:FUNCtion<F>:DIVide
Command :FUNCtion<F>:DIVide <operand>,<operand>
The :FUNCtion<F>:DIVide command defines a function that divides the first
operand by the second operand.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 2 to divide the waveform on channel 1 by the
waveform in waveform memory 4.
myScope.WriteString ":FUNCtion2:DIVide CHANnel1,WMEMory4"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
518 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:FFT:DETector:POINts
Command :FUNCtion<F>:FFT:DETector:POINts <number_of_buckets>
<number_of_buckets> ::= an integer.
When a detector is used for the FFT magnitude function (see
:FUNCtion<F>:FFT:DETector:TYPE), the :FUNCtion<F>:FFT:DETector:POINts
command specifies the maximum number of points (buckets) that detectors
should decimate to.
Query :FUNCtion<F>:FFT:DETector:POINts?
The :FUNCtion<F>:FFT:DETector:POINts? query returns the specified number of
detector points.
Returned Format <number_of_buckets><NL>
See Also •":FUNCtion<F>:FFT:DETector:TYPE" on page 519
•":FUNCtion<F>:FFTMagnitude" on page 530
•":FUNCtion<F>:FFT:VUNits" on page 527
History New in version 5.70.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 519
:FUNCtion<F>:FFT:DETector:TYPE
Command :FUNCtion<F>:FFT:DETector:TYPE <type>
<type> ::= {OFF | SAMPle | PPOSitive | PNEGative | NORMal | AVERage
| RMS}
The :FUNCtion<F>:FFT:DETector:TYPE command specifies whether a detector is
used for the FFT magnitude function.
Detectors decimate the number of points on screen to at most the number of
detector points (buckets, see :FUNCtion<F>:FFT:DETector:POINts). Detectors give
you a way of manipulating the acquired data to emphasize different features of the
data. The detector types are:
• OFF — No detector is used.
• SAMPle — Takes the point nearest to the center of every bucket.
• PPOSitive — Takes the most positive point in every bucket.
• PNEGative — Takes the most negative point in every bucket.
• NORMal — Implements a rosenfell algorithm. For details, see the Spectrum
Analysis Basics application note.
• AVERage — Takes the average of all points in every bucket.
• RMS — Takes the root mean square of all points in every bucket (average
power).
Query :FUNCtion<F>:FFT:DETector:TYPE?
The :FUNCtion<F>:FFT:DETector:TYPE? query returns the selected detector.
Returned Format <type><NL>
<type> ::= {OFF | SAMP | PPOS | PNEG | NORM | AVER | RMS}
See Also •":FUNCtion<F>:FFT:DETector:POINts" on page 518
•":FUNCtion<F>:FFTMagnitude" on page 530
•":FUNCtion<F>:FFT:VUNits" on page 527
History New in version 5.70.
520 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:FFT:FREQuency
Command :FUNCtion<F>:FFT:FREQuency <center_frequency_value>
The :FUNCtion<F>:FFT:FREQuency command sets the center frequency for the
FFT when :FUNCtion<F>:FFTMagnitude is defined for the selected function.
<F> An integer, 1-16, representing the selected function.
<center
_frequency
_value>
A real number for the value in Hertz, from -1E12 to 1E12.
Query :FUNCtion<F>:FFT:FREQuency?
The :FUNCtion<F>:FFT:FREQuency? query returns the center frequency value.
Returned Format [FUNCtion<F>:FFT:FREQuency] <center_frequency_value><NL>
See Also •":FUNCtion<F>:FFT:STOP" on page 525
•":FUNCtion<F>:FFT:SPAN" on page 524
•":FUNCtion<F>:FFT:RESolution" on page 522
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 521
:FUNCtion<F>:FFT:REFerence
Command :FUNCtion<F>:FFT:REFerence {DISPlay | TRIGger}
The :FUNCtion<F>:FFT:REFerence command sets the reference point for
calculating the FFT phase function.
<F> An integer, 1-16, representing the selected function.
Example This example sets the reference point to DISPlay.
myScope.WriteString ":FUNCtion1:FFT:REFerence DISPlay"
Query :FUNCtion<F>:FFT:REFerence?
The :FUNCtion<F>:FFT:REFerence? query returns the currently selected reference
point for the FFT phase function.
Returned Format [:FUNCtion<F>:FFT:REFerence] {DISPlay | TRIGger}<NL>
Example This example places the current state of the function 1 FFT reference point in the
string variable, strREF, then prints the contents of the variable to the computer's
screen.
Dim strREF As String
myScope.WriteString ":FUNCtion1:FFT:REFerence?"
strREF = myScope.ReadString
Debug.Print strREF
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
522 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:FFT:RESolution
Command :FUNCtion<F>:FFT:RESolution <resolution_value>
The :FUNCtion<F>:FFT:RESolution command sets the resolution bandwidth of the
FFT function.
If either the memory depth or sampling rate is set to AUTO (see :ACQuire:POINts or
:ACQuire:SRATe), you can adjust this control. However, if both the memory depth
and sampling rate are in manual mode, you cannot set the resolution and can only
query it.
The change in resolution bandwidth is achieved by changing the horizontal scale
(as with the :TIMebase:SCALe command). Changes to the horizontal scale will also
change the resolution bandwidth.
<F> An integer, 1-16, representing the selected function.
<resolution
_value>
Resolution bandwidth frequency.
The FFT resolution is defined as sampling rate / memory depth when using the
Rectangular window (other windows have a Normalized Equivalent Noise
Bandwidth factor applied).
The effective memory depth is the highest power of 2 less than or equal to the
number of sample points across the display. The memory bar in the status area at
the top of the display indicates how much of the actual memory depth is across
the display.
Query :FUNCtion<F>:FFT:RESolution?
The :FUNCtion<F>:FFT:RESolution? query returns the current resolution of the FFT
function.
Returned Format [FUNCtion<F>:FFT:RESolution] <resolution_value><NL>
See Also •":ACQuire:POINts[:ANALog] — Memory depth" on page 225
•":ACQuire:SRATe[:ANALog] — Analog Sample Rate" on page 238
•":FUNCtion<F>:FFT:STOP" on page 525
•":FUNCtion<F>:FFT:FREQuency" on page 520
•":FUNCtion<F>:FFT:SPAN" on page 524
•":TIMebase:SCALe" on page 1208
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
FFT Resolution = Sample Rate
Effective Memory Depth
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 523
Version 5.70: The command form now lets you set the FFT resolution bandwidth.
524 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:FFT:SPAN
Command :FUNCtion<F>:FFT:SPAN <frequency_span>
The :FUNCtion<F>:FFT:SPAN command sets the frequency span for the FFT
function.
<F> An integer, 1-16, representing the selected function.
<frequency_span> Frequency value in NR3 format.
Query :FUNCtion<F>:FFT:SPAN?
The :FUNCtion<F>:FFT:SPAN? query returns the frequency span setting.
Returned Format [FUNCtion<F>:FFT:SPAN] <frequency_span><NL>
See Also •":FUNCtion<F>:FFT:STOP" on page 525
•":FUNCtion<F>:FFT:FREQuency" on page 520
•":FUNCtion<F>:FFT:RESolution" on page 522
History New in version 5.70.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 525
:FUNCtion<F>:FFT:STOP
Command :FUNCtion<F>:FFT:STOP <stop_frequency>
The :FUNCtion<F>:FFT:STOP command sets the stop frequency for the FFT
function.
<F> An integer, 1-16, representing the selected function.
<stop_frequency> Frequency value in NR3 format.
Query :FUNCtion<F>:FFT:STOP?
The :FUNCtion<F>:FFT:STOP? query returns the stop frequency setting.
Returned Format [FUNCtion<F>:FFT:STOP] <stop_frequency><NL>
See Also •":FUNCtion<F>:FFT:FREQuency" on page 520
•":FUNCtion<F>:FFT:SPAN" on page 524
•":FUNCtion<F>:FFT:RESolution" on page 522
History New in version 5.70.
526 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:FFT:TDELay
Command :FUNCtion<F>:FFT:TDELay <time_delay>
The :FUNCtion<F>:FFT:TDELay command sets the time delay for the FFT phase
function.
<time_delay> Time, in seconds, set for the time delay.
Example This example sets the time delay to one millisecond.
myScope.WriteString ":FUNCtion1:FFT:TDELay 1E-3"
Query :FUNCtion<F>:FFT:TDELay?
The :FUNCtion<F>:FFT:TDELay? query returns the time delay for the FFT phase
function.
Returned Format [:FUNCtion<F>:FFT:TDELay] <time_delay><NL>
Example This example places the FFT phase function's time delay value in the variable,
varFftPhaseTimeDelay, then prints the contents of the variable to the computer's
screen.
Dim varFftPhaseTimeDelay As Variant
myScope.WriteString ":FUNCtion1:FFT:TDELay?""
varFftPhaseTimeDelay = myScope.ReadNumber
Debug.Print FormatNumber(varFftPhaseTimeDelay, 0)
See Also •":FUNCtion<F>:FFTPhase" on page 531
History New in version 4.20.
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 527
:FUNCtion<F>:FFT:VUNits
Command :FUNCtion<F>:FFT:VUNits <units>
<units> ::= {DB | DBMV | DBUV | WATT | VRMS}
The :FUNCtion<F>:FFT:VUNits command specifies the vertical units for the FFT
magnitude function.
Query :FUNCtion<F>:FFT:VUNits?
The :FUNCtion<F>:FFT:VUNits? query returns the FFT magnitude function vertical
units setting.
Returned Format <units><NL>
See Also •":FUNCtion<F>:FFTMagnitude" on page 530
•":FUNCtion<F>:FFT:DETector:POINts" on page 518
•":FUNCtion<F>:FFT:DETector:TYPE" on page 519
History New in version 5.70.
528 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:FFT:WINDow
Command :FUNCtion<F>:FFT:WINDow {RECTangular | HANNing | FLATtop
| BHARris | HAMMing}
The :FUNCtion<F>:FFT:WINDow command sets the window type for the FFT
function.
The FFT function assumes that the time record repeats. Unless there is an integral
number of cycles of the sampled waveform in the record, a discontinuity is created
at the beginning of the record. This introduces additional frequency components
into the spectrum about the actual peaks, which is referred to as spectral leakage.
To minimize spectral leakage, windows that approach zero smoothly at the
beginning and end of the record are employed as filters to the FFTs. Each window
is useful for certain classes of input waveforms.
• RECTangular — is essentially no window, and all points are multiplied by 1. This
window is useful for transient waveforms and waveforms where there are an
integral number of cycles in the time record.
• HANNing — is useful for frequency resolution and general purpose use. It is
good for resolving two frequencies that are close together, or for making
frequency measurements.
• FLATtop — is best for making accurate amplitude measurements of frequency
peaks.
• BHARris — (Blackman-Harris) is best used when you want to looks at signals
with a strong interference component that is fairly distant from the frequency
you want to see. It can be used as a general purpose window as its main lobe is
not too wide (decent frequency discrimination) and the side lobes drop off by
90 dB.
• HAMMing —is a "raised cosine" function like the HANNing window but with
different coefficients. It has slightly better frequency resolution than the
HANNing window.
<F> An integer, 1-16, representing the selected function. This command presently
selects all functions, regardless of which integer (1-16) is passed.
Example This example sets the window type for the FFT function to RECTangular.
myScope.WriteString ":FUNCtion1:FFT:WINDow RECTangular"
Query :FUNCtion<F>:FFT:WINDow?
The :FUNCtion<F>:FFT:WINDow? query returns the current selected window for
the FFT function.
Returned Format [:FUNCtion<F>:FFT:WINDow] {RECTangular | HANNing | FLATtop
| BHARris | HAMMing}<NL>
Example This example places the current state of the function 1 FFT window in the string
variable, strWND, then prints the contents of the variable to the computer's
screen.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 529
Dim strWND As String
myScope.WriteString ":FUNCtion1:FFT:WINDow?""
strWND = myScope.ReadString
Debug.Print strWND
History Legacy command (existed before version 3.10).
Version 3.11: Added the HAMMing window mode selection.
Version 4.30: Up to 16 functions supported.
530 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:FFTMagnitude
Command :FUNCtion<F>:FFTMagnitude <operand>
The :FUNCtion<F>:FFTMagnitude command computes the Fast Fourier Transform
(FFT) of the specified channel, function, or memory. The FFT takes the digitized
time record and transforms it to magnitude and phase components as a function
of frequency.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 1 to compute the FFT of waveform memory 3.
myScope.WriteString ":FUNCtion1:FFTMagnitude WMEMory3"
See Also •":FUNCtion<F>:FFT:VUNits" on page 527
•":FUNCtion<F>:FFT:DETector:TYPE" on page 519
•":FUNCtion<F>:FFT:DETector:POINts" on page 518
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 531
:FUNCtion<F>:FFTPhase
Command :FUNCtion<F>:FFTPhase <source>
The :FUNCtion<F>:FFTPhase command computes the Fast Fourier Transform
(FFT) of the specified channel, function, or waveform memory. The FFT takes the
digitized time record and transforms it into magnitude and phase components as a
function of frequency.
<F> An integer, 1-16, representing the selected function.
<source> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 1 to compute the FFT of waveform memory 3.
myScope.WriteString ":FUNCtion1:FFTPhase WMEMory3"
See Also •":FUNCtion<F>:FFT:TDELay" on page 526
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
532 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:GATing — Gating
Command :FUNCtion<F>:GATing <operand>[,<gating_start>,<gating_stop>]
The :FUNCtion<F>:GATing command defines a horizontal gating function of
another waveform (similar to horizontal zoom). Measurements on horizontal gating
functions are essentially gated measurements.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
<gating_start> Time, in seconds, relative to the source waveform that specifies where the gating
window begins.
<gating_stop> Time, in seconds, relative to the source waveform that specifies where the gating
window ends.
Example This example sets function 4 to be a horizontal gating of the channel1 waveform
beginning at -8 ns and ending at -5 ns.
myScope.WriteString ":FUNCtion4:GATing CHANnel1,-8E-9,-5E-9"
See Also •":FUNCtion<F>:GATing:STARt — Gating window start time" on page 533
•":FUNCtion<F>:GATing:STOP — Gating window stop time" on page 534
History New in version 4.30.
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 533
:FUNCtion<F>:GATing:STARt — Gating window start time
Command :FUNCtion<F>:GATing:STARt <gating_start>
The :FUNCtion<F>:GATing:STARt command specifies the time, in seconds, where
the gating window begins relative to the source waveform (see
:FUNCtion<F>:GATing).
<F> An integer, 1-16, representing the selected function.
Example This example sets a -8 ns gating window begin time for function 4.
myScope.WriteString ":FUNCtion4:GATing:STARt -8E-9"
The gating window is applied to the source operand specified in the
:FUNCtion4:GATing command.
Query :FUNCtion<F>:GATing:STARt?
The ::FUNCtion<F>:GATing:STARt? query returns the gating window start time.
Returned Format [:FUNCtion<F>:GATing:STARt] <gating_start><NL>
See Also •":FUNCtion<F>:GATing — Gating" on page 532
•":FUNCtion<F>:GATing:STOP — Gating window stop time" on page 534
History New in version 5.30.
534 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:GATing:STOP — Gating window stop time
Command :FUNCtion<F>:GATing:STOP <gating_stop>
The :FUNCtion<F>:GATing:STOP command specifies the time, in seconds, where
the gating window ends relative to the source waveform (see
:FUNCtion<F>:GATing).
<F> An integer, 1-16, representing the selected function.
Example This example sets a -5 ns gating window end time for function 4.
myScope.WriteString ":FUNCtion4:GATing:STOP -5E-9""
The gating window is applied to the source operand specified in the
:FUNCtion4:GATing command.
Query :FUNCtion<F>:GATing:STOP?
The ::FUNCtion<F>:GATing:STOP? query returns the gating window stop time.
Returned Format [:FUNCtion<F>:GATing:STOP] <gating_stop><NL>
See Also •":FUNCtion<F>:GATing — Gating" on page 532
•":FUNCtion<F>:GATing:STARt — Gating window start time" on page 533
History New in version 5.30.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 535
:FUNCtion<F>:HIGHpass
Command :FUNCtion<F>:HIGHpass <source>,<bandwidth>
The :FUNCtion<F>:HIGHpass command applies a single-pole high pass filter to
the source waveform. The bandwidth that you set is the 3 dB bandwidth of the
filter.
<F> An integer, 1-16, representing the selected function.
<source> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
<bandwidth> A real number in the range of 50 to 50E9.
Example This example sets up function 2 to compute a high pass filter with a bandwidth of
1 MHz.
myScope.WriteString ":FUNCtion2:HIGHpass CHANnel4,1E6"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
536 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:HORizontal
Command :FUNCtion<F>:HORizontal {AUTO | MANual}
The :FUNCtion<F>:HORizontal command sets the horizontal tracking to either
AUTO or MANual.
<F> An integer, 1-16, representing the selected function.
Query :FUNCtion<F>:HORizontal?
The :FUNCtion<F>:HORizontal? query returns the current horizontal scaling mode
of the specified function.
Returned Format [:FUNCtion<F>:HORizontal] {AUTO | MANual}<NL>
Example This example places the current state of the function 1 horizontal tracking in the
string variable, strSetting, then prints the contents of the variable to the
computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":FUNCtion1:HORizontal?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":FUNCtion<F>:HORizontal:POSition" on page 537
•":FUNCtion<F>:HORizontal:RANGe" on page 539
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
NOTE
Using the :FUNCtion<F>:HORizontal:RANGe or :FUNCtion<F>:HORizontal:POSition commands
automatically changes the :FUNCtion<F>:HORizontal setting to MANual.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 537
:FUNCtion<F>:HORizontal:POSition
Command :FUNCtion<F>:HORizontal:POSition <position_value>
The :FUNCtion<F>:HORizontal:POSition command sets the time value at center
screen for the selected function.
Using the :FUNCtion<F>:HORizontal:POSition command automatically changes
the :FUNCtion<F>:HORizontal setting to MANual.
When you select :FUNCtion<F>:FFTMagnitude, the horizontal position is
equivalent to the center frequency. This also automatically selects manual mode.
<F> An integer, 1-16, representing the selected function.
<position _value> A real number for the position value in time, in seconds.
Query :FUNCtion<F>:HORizontal:POSition?
The :FUNCtion<F>:HORizontal:POSition? query returns the current time value at
center screen of the selected function.
Returned Format [:FUNCtion<F>:HORizontal:POSition] <position><NL>
Example This example places the current horizontal position setting for function 2 in the
numeric variable, varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:HORizontal:POSition?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":FUNCtion<F>:HORizontal:RANGe" on page 539
•":FUNCtion<F>:HORizontal" on page 536
•":TIMebase:POSition" on page 1202
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
NOTE
For some math functions (:FUNCtion<F>:ABSolute, :FUNCtion<F>:ADD,
:FUNCtion<F>:ADEMod, :FUNCtion<F>:COMMonmode, :FUNCtion<F>:DIFF,
:FUNCtion<F>:DIVide, :FUNCtion<F>:HIGHpass, :FUNCtion<F>:INTegrate,
:FUNCtion<F>:INVert, :FUNCtion<F>:LOWPass, :FUNCtion<F>:MAXimum,
:FUNCtion<F>:MTRend, :FUNCtion<F>:MINimum, :FUNCtion<F>:MULTiply,
:FUNCtion<F>:SQUare, :FUNCtion<F>:SQRT, :FUNCtion<F>:SUBTract), the waveform's
horizontal scaling is tied to the timebase of the source channel waveform(s).
The :FUNCtion<F>:HORizontal:RANGe and :FUNCtion<F>:HORizontal:POSition commands for
these functions give a -221,"Settings conflict" error. Instead, you must use the
:TIMebase:RANGe and :TIMebase:POSition commands to make horizontal scale and position
changes.
538 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
Version 6.00: For functions where the horizontal position cannot be adjusted, this
command now gives a -221,"Settings conflict" instead of being accepted without
effect.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 539
:FUNCtion<F>:HORizontal:RANGe
Command :FUNCtion<F>:HORizontal:RANGe <range_value>
The :FUNCtion<F>:HORizontal:RANGe command sets the current time range for
the specified function.
Using the :FUNCtion<F>:HORizontal:RANGe command automatically changes the
:FUNCtion<F>:HORizontal setting to MANual.
<F> An integer, 1-16, representing the selected function.
<range_value> A real number for the width of screen in current X-axis units (usually seconds).
Query :FUNCtion<F>:HORizontal:RANGe?
The :FUNCtion<F>:HORizontal:RANGe? query returns the current time range
setting of the specified function.
Returned Format [:FUNCtion<F>:HORizontal:RANGe] <range><NL>
Example This example places the current horizontal range setting of function 2 in the
numeric variable, varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:HORizontal:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":FUNCtion<F>:HORizontal:POSition" on page 537
•":FUNCtion<F>:HORizontal" on page 536
•":TIMebase:RANGe" on page 1203
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
NOTE
For some math functions (:FUNCtion<F>:ABSolute, :FUNCtion<F>:ADD,
:FUNCtion<F>:ADEMod, :FUNCtion<F>:COMMonmode, :FUNCtion<F>:DIFF,
:FUNCtion<F>:DIVide, :FUNCtion<F>:HIGHpass, :FUNCtion<F>:INTegrate,
:FUNCtion<F>:INVert, :FUNCtion<F>:LOWPass, :FUNCtion<F>:MAXimum,
:FUNCtion<F>:MTRend, :FUNCtion<F>:MINimum, :FUNCtion<F>:MULTiply,
:FUNCtion<F>:SQUare, :FUNCtion<F>:SQRT, :FUNCtion<F>:SUBTract), the waveform's
horizontal scaling is tied to the timebase of the source channel waveform(s).
The :FUNCtion<F>:HORizontal:RANGe and :FUNCtion<F>:HORizontal:POSition commands for
these functions give a -221,"Settings conflict" error. Instead, you must use the
:TIMebase:RANGe and :TIMebase:POSition commands to make horizontal scale and position
changes.
540 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
Version 6.00: For functions where the horizontal position cannot be adjusted, this
command now gives a -221,"Settings conflict" instead of being accepted without
effect.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 541
:FUNCtion<F>:INTegrate
Command :FUNCtion<F>:INTegrate <operand>
The :FUNCtion<F>:INTegrate command defines a function that computes the
integral of the specified operand's waveform.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 1 to compute the integral of waveform memory 3.
myScope.WriteString ":FUNCtion1:INTegrate WMEMory3"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
542 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:INVert
Command :FUNCtion<F>:INVert <operand>
The :FUNCtion<F>:INVert command defines a function that inverts the defined
operand's waveform by multiplying by -1.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 2 to invert the waveform on channel 1.
myScope.WriteString ":FUNCtion2:INVert CHANnel1"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 543
:FUNCtion<F>:LOWPass
Command :FUNCtion<F>:LOWPass <source>,<bandwidth>
The :FUNCtion<F>:LOWPass command applies a 4th order Bessel-Thompson low
pass filter to the source waveform. The bandwidth that you set is the 3 dB
bandwidth of the filter.
<F> An integer, 1-16, representing the selected function.
<source> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
<bandwidth> A real number in the range of 50 to 50E9.
Example This example sets up function 2 to compute a low pass filter with a bandwidth of 1
MHz.
myScope.WriteString ":FUNCtion2:LOWPass CHANnel4,1E6"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
544 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:MAGNify
Command :FUNCtion<F>:MAGNify <operand>
The :FUNCtion<F>:MAGNify command defines a function that is a copy of the
operand. The magnify function is a software magnify. No hardware settings are
altered as a result of using this function. It is useful for scaling channels, another
function, or memories with the RANGe and OFFSet commands in this subsystem.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example creates a function (function 1) that is a magnified version of
channel 1.
myScope.WriteString ":FUNCtion1:MAGNify CHANnel1"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 545
:FUNCtion<F>:MATLab
Command :FUNCtion<F>:MATLab <operand>[,<operand>]
The :FUNCtion<F>:MATLab command sets the operand.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D> An integer, 1-2.
<C> An integer, 3-4.
The COMMonmode and DIFF sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<R> An integer, 1-4.
<F> An integer, 1-16.
Another function can be a function's source as long as the other function does not
use the function being defined. In other words, circular expressions are not
allowed.
Example This example sets the operand to channel 3.
myScope.WriteString ":FUNCtion1:MATLab CHANnel3"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
546 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:MATLab:CONTrol<N>
Command :FUNCtion<F>:MATLab:CONTrol<N> {<value> | <string>}
The :FUNCtion<F>:MATLab:CONTrol<N> command sets the user-defined control.
<F> An integer, 1-16, representing the selected function.
<N> An integer, 1-6, representing the user-defined control.
<value> A double, integer, or enumerated type value. For an enumerated type, the 1 based
index is passed to select the enumeration.
<string> A character array.
Example This example sets control 1 to 3.
myScope.WriteString ":FUNCtion1:MATLab:CONTrol1 3"
Query :FUNCtion<F>:MATLab:CONTrol<N>?
The :FUNCtion<F>:MATLab:CONTrol<N>? query returns the value or string of the
user-defined control.
Returned Format [:FUNCtion<F>:MATLab:CONTrol<N>] {<value> | <string>}<NL>
Example This example places the current returned value for function 1 control 1 in the string
variable, strSelection, then prints the contents of the variable to the computer's
screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":FUNCtion1:MATLab:CONTrol1?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Version 5.60: Up to 6 user-defined controls supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 547
:FUNCtion<F>:MATLab:OPERator
Command :FUNCtion<F>:MATLab:OPERator <string>
The :FUNCtion<F>:MATLab:OPERator command sets the Math dialog box
operator.
<F> An integer, 1-16, representing the selected function.
<string> A character array that is the name of the function in the XML file.
Example This example sets function 1 to the Deconvolve operator.
myScope.WriteString ":FUNCtion1:MATLab:OPERator 'Deconvolve'"
Query :FUNCtion<F>:MATLab:OPERator?
The :FUNCtion<F>:MATLab:OPERator? query returns the string of the function 1
operator.
Returned Format [:FUNCtion<F>:MATLab:OPERator] <string><NL>
Example This example places the current operator string for function 1 in the string variable,
strSelection, then prints the contents of the variable to the computer's screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":FUNCtion1:MATLab:OPERator?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
548 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:MAXimum
Command :FUNCtion<F>:MAXimum <operand>
The :FUNCtion<F>:MAXmum command defines a function that computes the
maximum of each time bucket for the defined operand's waveform.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 2 to compute the maximum of each time bucket for
channel 4.
myScope.WriteString ":FUNCtion2:MAXimum CHANnel4"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 549
:FUNCtion<F>:MHIStogram
Command :FUNCtion<F>:MHIStogram {MEAS1 | MEAS2 | MEAS3 | ...
| MEAS20}[,<max_bins>]
The :FUNCtion<F>:MHIStogram command adds a Meas Histogram function that
shows a histogram of measurement values. Measurement values are captured and
the histogram is updated as new acquisitions are made.
You can display statistics for the histogram in the Measurements tab using the
:MEASure:HISTogram commands and you can get histogram statistics using the
:MEASure:HISTogram queries.
<F> An integer, 1-16, representing the selected function.
<max_bins> An integer from 10-1280.
Example This example sets up a histogram function of the first measurement.
myScope.WriteString ":FUNCtion2:MHIStogram MEAS1"
See Also •":MEASure:HISTogram:HITS" on page 805
•":MEASure:HISTogram:M1S" on page 806
•":MEASure:HISTogram:M2S" on page 807
•":MEASure:HISTogram:M3S" on page 808
•":MEASure:HISTogram:MAX" on page 809
•":MEASure:HISTogram:MEAN" on page 810
•":MEASure:HISTogram:MEDian" on page 811
•":MEASure:HISTogram:MIN" on page 812
•":MEASure:HISTogram:MODE" on page 813
•":MEASure:HISTogram:PEAK" on page 814
•":MEASure:HISTogram:PP" on page 815
•":MEASure:HISTogram:RESolution" on page 816
•":MEASure:HISTogram:STDDev" on page 817
History New in version 3.50.
Version 4.30: Up to 16 functions supported.
Version 5.00: Now 20 measurements to choose from.
Version 5.20: Lets you specify the maximum number of histogram bins along with
the measurement source.
550 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:MINimum
Command :FUNCtion<F>:MINimum <operand>
The :FUNCtion<F>:MINimum command defines a function that computes the
minimum of each time bucket for the defined operand's waveform.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example sets up function 2 to compute the minimum of each time bucket for
channel 4.
myScope.WriteString ":FUNCtion2:MINimum CHANnel4"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 551
:FUNCtion<F>:MLOG
Command :FUNCtion<F>:MLOG {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20}
The :FUNCtion<F>:MLOG command adds a function waveform that is a scrolling
record of measurement values over time.
<F> An integer, 1-16, representing the selected function.
See Also •":FUNCtion<F>:MTRend" on page 552
History New in version 6.00.
552 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:MTRend
Command :FUNCtion<F>:MTRend {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20}
The :FUNCtion<F>:MTRend command adds a Meas Trend function that shows
measurement values for a waveform (based on measurement threshold settings)
as the waveform progresses across the screen. For every cycle, a measurement is
made, and the value is displayed on the screen for the cycle.
If a measurement cannot be made for part of a waveform, the trend function
output is a hole (that is, no value) until a measurement can be made.
<F> An integer, 1-16, representing the selected function.
Example This example sets up a trend function of the first measurement.
myScope.WriteString ":FUNCtion2:MTRend MEAS1"
History New in version 3.50.
Version 4.30: Up to 16 functions supported.
Version 5.00: Now 20 measurements to choose from.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 553
:FUNCtion<F>:MULTiply
Command :FUNCtion<F>:MULTiply <operand>,<operand>
The :FUNCtion<F>:MULTiply command defines a function that algebraically
multiplies the first operand by the second operand.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example defines a function that multiplies channel 1 by waveform memory 1.
myScope.WriteString ":FUNCtion1:MULTiply CHANnel1,WMEMory1"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
554 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:OFFSet
Command :FUNCtion<F>:OFFSet <offset_value>
The :FUNCtion<F>:OFFSet command sets the voltage represented at the center of
the screen for the selected function. This automatically changes the mode from
auto to manual.
<F> An integer, 1-16, representing the selected function.
<offset_value> A real number for the vertical offset in the currently selected Y-axis units (normally
volts). The offset value is limited to being within the vertical range that can be
represented by the function data.
Example This example sets the offset voltage for function 1 to 2 mV.
myScope.WriteString ":FUNCtion1:OFFSet 2E-3"
Query :FUNCtion<F>:OFFSet?
The :FUNCtion<F>:OFFSet? query returns the current offset value for the selected
function.
Returned Format [:FUNCtion<F>:OFFSet] <offset_value><NL>
Example This example places the current setting for offset on function 2 in the numeric
variable, varValue, then prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 555
:FUNCtion<F>:RANGe
Command :FUNCtion<F>:RANGe <full_scale_range>
The :FUNCtion<F>:RANGe command defines the full-scale vertical axis of the
selected function. This automatically changes the mode from auto to manual.
<F> An integer, 1-16, representing the selected function.
<full_scale
_range>
A real number for the full-scale vertical range, from -100E15 to 100E15.
Example This example sets the full-scale range for function 1 to 400 mV.
myScope.WriteString ":FUNCtion1:RANGe 400E-3"
Query :FUNCtion<F>:RANGe?
The :FUNCtion<F>:RANGe? query returns the current full-scale range setting for
the specified function.
Returned Format [:FUNCtion<F>:RANGe] <full_scale_range><NL>
Example This example places the current range setting for function 2 in the numeric
variable "varValue", then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
556 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:SMOoth
Command :FUNCtion<F>:SMOoth <operand>[,<points>]
The :FUNCtion<F>:SMOoth command defines a function that assigns the
smoothing operator to the operand with the number of specified smoothing
points.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
<points> An integer, odd numbers from 3 to 4001 specifying the number of smoothing
points.
Example This example sets up function 1 using assigning smoothing operator to channel 1
using 5 smoothing points.
myScope.WriteString ":FUNCtion1:SMOoth CHANnel1,5"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 557
:FUNCtion<F>:SQRT
Command :FUNCtion<F>:SQRT <operand>
The :FUNCtion<F>:SQRT command takes the square root of the operand.
<operand> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example turns on the square root function using channel 3.
myScope.WriteString ":FUNCtion1:SQRT CHANnel3"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
558 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:SQUare
Command :FUNCtion<F>:SQUare <operand>
The :FUNCtion<F>:SQUare command takes the square value of the operand.
<operand> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example turns on the square value command using channel 3.
myScope.WriteString ":FUNCtion1:SQUare CHANnel3"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 559
:FUNCtion<F>:SUBTract
Command :FUNCtion<F>:SUBTract <operand>,<operand>
The :FUNCtion<F>:SUBTract command defines a function that algebraically
subtracts the second operand from the first operand.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example defines a function that subtracts waveform memory 1 from channel
1.
myScope.WriteString ":FUNCtion1:SUBTract CHANnel1,WMEMory1"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
560 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:VERSus
Command :FUNCtion<F>:VERSus <operand>,<operand>
The :FUNCtion<F>:VERSus command defines a function for an X-versus-Y display.
The first operand defines the Y axis and the second defines the X axis. The Y-axis
range and offset are initially equal to that of the first operand, and you can adjust
them with the RANGe and OFFSet commands in this subsystem.
<F> An integer, 1-16, representing the selected function.
<operand> {CHANnel<n> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<n> |
<float_value> | MTRend | MSPectrum}
See the discussion of possible operands in the introduction to Chapter 19,
“Function Commands,” starting on page 505.
Example This example defines function 1 as an X-versus-Y display. Channel 1 is the X axis
and waveform memory 2 is the Y axis.
myScope.WriteString ":FUNCtion1:VERSus WMEMory2,CHANnel1"
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 561
:FUNCtion<F>:VERTical
Command :FUNCtion<F>:VERTical {AUTO | MANual}
The :FUNCtion<F>:VERTical command sets the vertical scaling mode of the
specified function to either AUTO or MANual.
This command also contains the following commands and queries:
•OFFset
•RANge
<F> An integer, 1-16, representing the selected function.
Query :FUNCtion<F>:VERTical?
The :FUNCtion<F>:VERTical? query returns the current vertical scaling mode of
the specified function.
Returned Format [:FUNCtion<F>:VERTical] {AUTO | MANual}<NL>
Example This example places the current state of the vertical tracking of function 1 in the
string variable, strSetting, then prints the contents of the variable to the
computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":FUNCtion1:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
562 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
:FUNCtion<F>:VERTical:OFFSet
Command :FUNCtion<F>:VERTical:OFFSet <offset_value>
The :FUNCtion<F>:VERTical:OFFSet command sets the voltage represented at
center screen for the selected function. This automatically changes the mode from
auto to manual.
<F> An integer, 1-16, representing the selected function.
<offset_value> A real number for the vertical offset in the currently selected Y-axis units (normally
volts). The offset value is limited only to being within the vertical range that can be
represented by the function data.
Query :FUNCtion<F>:VERTical:OFFset?
The :FUNCtion<F>:VERTical:OFFSet? query returns the current offset value of the
selected function.
Returned Format [:FUNCtion<F>:VERTical:OFFset] <offset_value><NL>
Example This example places the current offset setting for function 2 in the numeric
variable, varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:VERTical:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
Function Commands 19
Keysight Infiniium Oscilloscopes Programmer's Guide 563
:FUNCtion<F>:VERTical:RANGe
Command :FUNCtion<F>:VERTical:RANGe <full_scale_range>
The :FUNCtion<F>:VERTical:RANGe command defines the full-scale vertical axis
of the selected function. This automatically changes the mode from auto to
manual, if the oscilloscope is not already in manual mode.
<F> An integer, 1-16, representing the selected function.
<full_scale
_range>
A real number for the full-scale vertical range, from -100E15 to 100E15.
Query :FUNCtion<F>:VERTical:RANGe?
The :FUNCtion<F>:VERTical:RANGe? query returns the current range setting of
the specified function.
Returned Format [:FUNCtion<F>:VERTical:RANGe] <range><NL>
Example This example places the current vertical range setting of function 2 in the numeric
variable, varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":FUNCtion2:VERTical:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 4.30: Up to 16 functions supported.
564 Keysight Infiniium Oscilloscopes Programmer's Guide
19 Function Commands
565
Keysight Infiniium Oscilloscopes
Programmer's Guide
20 Hardcopy Commands
:HARDcopy:AREA / 566
:HARDcopy:DPRinter / 567
:HARDcopy:FACTors / 568
:HARDcopy:IMAGe / 569
:HARDcopy:PRINters? / 570
The HARDcopy subsystem commands set various parameters for printing the
screen. The print sequence is activated when the root level command :PRINt is
sent.
566 Keysight Infiniium Oscilloscopes Programmer's Guide
20 Hardcopy Commands
:HARDcopy:AREA
Command :HARDcopy:AREA {GRATicule | SCReen}
The :HARDcopy:AREA command selects which data from the screen is to be
printed. When you select GRATicule, only the graticule area of the screen is printed
(this is the same as choosing Waveforms Only in the Configure Printer dialog box).
When you select SCReen, the entire screen is printed.
Example This example selects the graticule for printing.
myScope.WriteString ":HARDcopy:AREA GRATicule"
Query :HARDcopy:AREA?
The :HARDcopy:AREA? query returns the current setting for the area of the screen
to be printed.
Returned Format [:HARDcopy:AREA] {GRATicule | SCReen}<NL>
Example This example places the current selection for the area to be printed in the string
variable, strSelection, then prints the contents of the variable to the computer's
screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":HARDcopy:AREA?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
Hardcopy Commands 20
Keysight Infiniium Oscilloscopes Programmer's Guide 567
:HARDcopy:DPRinter
Command :HARDcopy:DPRinter {<printer_number> | <printer_string>}
The :HARDcopy:DPRinter command selects the default printer to be used.
<printer _number> An integer representing the attached printer. This number corresponds to the
number returned with each printer name by the :HARDcopy:PRINters? query.
<printer _string> A string of alphanumeric characters representing the attached printer.
The :HARDcopy:DPRinter command specifies a number or string for the printer
attached to the oscilloscope. The printer string must exactly match the character
strings in the File->Print Setup dialog boxes, or the strings returned by the
:HARDcopy:PRINters? query.
Examples This example sets the default printer to the second installed printer returned by
the :HARDcopy:PRINters? query.
myScope.WriteString ":HARDcopy:DPRinter 2"
This example sets the default printer to the installed printer with the name
"HP Laser".
myScope.WriteString ":HARDcopy:DPRinter ""HP Laser"""
Query :HARDcopy:DPRinter?
The :HARDcopy:DPRinter? query returns the current printer number and string.
Returned Format [:HARDcopy:DPRinter?] {<printer_number>,<printer_string>,DEFAULT}<NL>
Or, if there is no default printer (no printers are installed), only a <NL> is returned.
Example This example places the current setting for the hard copy printer in the string
variable, strSetting, then prints the contents of the variable to the computer's
screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":HARDcopy:DPRinter?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
NOTE
It takes several seconds to change the default printer. Any programs that try to set the default
printer must wait (10 seconds is a safe amount of time) for the change to complete before
sending other commands. Otherwise, the oscilloscope will become unresponsive.
568 Keysight Infiniium Oscilloscopes Programmer's Guide
20 Hardcopy Commands
:HARDcopy:FACTors
Command :HARDcopy:FACTors {{ON | 1} | {OFF | 0}}
The :HARDcopy:FACTors command determines whether the oscilloscope setup
factors will be appended to screen or graticule images. FACTors ON is the same as
choosing Include Setup Information in the Configure Printer dialog box.
Example This example turns on the setup factors.
myScope.WriteString ":HARDcopy:FACTors ON"
Query :HARDcopy:FACTors?
The :HARDcopy:FACTors? query returns the current setup factors setting.
Returned Format [:HARDcopy:FACTors] {1 | 0}<NL>
Example This example places the current setting for the setup factors in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":HARDcopy:FACTors?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Hardcopy Commands 20
Keysight Infiniium Oscilloscopes Programmer's Guide 569
:HARDcopy:IMAGe
Command :HARDcopy:IMAGe {NORMal | INVert}
The :HARDcopy:IMAGe command prints the image normally, inverted, or in
monochrome. IMAGe INVert is the same as choosing Invert Waveform Colors in
the Configure Printer dialog box.
Example This example sets the hard copy image output to normal.
myScope.WriteString ":HARDcopy:IMAGe NORMal"
Query :HARDcopy:IMAGe?
The :HARDcopy:IMAGe? query returns the current image setting.
Returned Format [:HARDcopy:IMAGe] {NORMal | INVert}<NL>
Example This example places the current setting for the hard copy image in the string
variable, strSetting, then prints the contents of the variable to the computer's
screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":HARDcopy:IMAGe?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
570 Keysight Infiniium Oscilloscopes Programmer's Guide
20 Hardcopy Commands
:HARDcopy:PRINters?
Query :HARDcopy:PRINters?
The :HARDcopy:PRINters? query returns the currently available printers.
Returned Format [:HARDcopy:PRINters?]
<printer_count><NL><printer_data><NL>[,<printer_data><NL>]
<printer_count> The number of printers currently installed.
<printer _data> The printer number and the name of an installed printer. The word DEFAULT
appears next to the printer that is the currently selected default printer.
The <printer_data> return string has the following format:
<printer_number>,<printer_string>{,DEFAULT}
Example This example places the number of installed printers into the variable varCount,
loops through it that number of times, and prints the installed printer names to the
computer's screen.
Dim varResults As Variant
Dim lngI As Long
myScope.WriteString ":HARDcopy:PRINters?"
varResults = myScope.ReadList(ASCIIType_BSTR, vbLf)
Debug.Print FormatNumber(varResults(0), 0)
For lngI = 1 To varResults(0)
Debug.Print CStr(varResults(lngI))
Next lngI
History Legacy command (existed before version 3.10).
571
Keysight Infiniium Oscilloscopes
Programmer's Guide
21 Histogram Commands
:HISTogram:AXIS / 573
:HISTogram:HORizontal:BINS / 574
:HISTogram:MEASurement:BINS / 575
:HISTogram:MODE / 576
:HISTogram:SCALe:SIZE / 577
:HISTogram:VERTical:BINS / 578
:HISTogram:WINDow:DEFault / 579
:HISTogram:WINDow:SOURce / 580
:HISTogram:WINDow:LLIMit / 581
:HISTogram:WINDow:RLIMit / 582
:HISTogram:WINDow:BLIMit / 583
:HISTogram:WINDow:TLIMit / 584
The HISTogram commands and queries control the histogram features. A
histogram is a probability distribution that shows the distribution of acquired data
within a user-definable histogram window.
You can display the histogram either vertically, for voltage measurements, or
horizontally, for timing measurements.
The most common use for histograms is measuring and characterizing noise or
jitter on displayed waveforms. Noise is measured by sizing the histogram window
to a narrow portion of time and observing a vertical histogram that measures the
noise on a waveform. Jitter is measured by sizing the histogram window to a
narrow portion of voltage and observing a horizontal histogram that measures the
jitter on an edge.
Histograms and
the database
The histograms, mask testing, and color grade persistence use a specific database
that uses a different memory area from the waveform record for each channel.
When any of these features are turned on, the oscilloscope starts building the
database. The database is the size of the graticule area. Behind each pixel is a
21-bit counter that is incremented each time data from a channel or function hits a
pixel. The maximum count (saturation) for each counter is 2,097,151. You can use
the DISPlay:CGRade:LEVels command to see if any of the counters are close to
saturation.
572 Keysight Infiniium Oscilloscopes Programmer's Guide
21 Histogram Commands
The database continues to build until the oscilloscope stops acquiring data or all
both features (color grade persistence and histograms) are turned off. You can
clear the database by turning off all three features that use the database.
The database does not differentiate waveforms from different channels or
functions. If three channels are on and the waveform from each channel happens
to light the same pixel at the same time, the counter is incremented by three.
However, it is not possible to tell how many hits came from each waveform. To
separate waveforms, you can position the waveforms vertically with the channel
offset. By separating the waveforms, you can avoid overlapping data in the
database caused by multiple waveforms. Even if the display is set to show only the
most recent acquisition, the database keeps track of all pixel hits while the
database is building.
Remember that color grade persistence, mask testing, and histograms all use the
same database. Suppose that the database is building because color grade
persistence is ON; when mask testing or histograms are turned on, they can use
the information already established in the database as though they had been
turned on the entire time.
To avoid erroneous data, clear the display after you change oscilloscope setup
conditions or DUT conditions and acquire new data before extracting
measurement results.
Histogram Commands 21
Keysight Infiniium Oscilloscopes Programmer's Guide 573
:HISTogram:AXIS
Command :HISTogram:AXIS {VERTical | HORizontal}
The :HISTogram:AXIS command selects the type of histogram. A horizontal
histogram can be used to measure time related information like jitter. A vertical
histogram can be used to measure voltage related information like noise.
Example This example defines a vertical histogram.
myScope.WriteString ":HISTogram:AXIS VERTical"
Query :HISTogram:AXIS?
The :HISTogram:AXIS? query returns the currently selected histogram type.
Returned Format [:HISTogram:AXIS] {VERTical | HORizontal}<NL>
Example This example returns the histogram type and prints it to the computer's screen.
Dim strAxis As String
myScope.WriteString ":HISTogram:AXIS?"
strAxis = myScope.ReadString
Debug.Print strAxis
History Legacy command (existed before version 3.10).
574 Keysight Infiniium Oscilloscopes Programmer's Guide
21 Histogram Commands
:HISTogram:HORizontal:BINS
Command :HISTogram:HORizontal:BINS <max_bins>
<max_bins> ::= integer from 10-1280
The :HISTogram:HORizontal:BINS command sets the maximum number of bins
used for a horizontal waveform histogram.
Query :HISTogram:HORizontal:BINS?
The :HISTogram:HORizontal:BINS? query returns the maximum number of bins
setting.
Returned Format <max_bins><NL>
<max_bins> ::= integer from 10-1280
See Also •":HISTogram:MODE" on page 576
•":HISTogram:AXIS" on page 573
•":HISTogram:MEASurement:BINS" on page 575
•":HISTogram:VERTical:BINS" on page 578
History New in version 5.20.
Histogram Commands 21
Keysight Infiniium Oscilloscopes Programmer's Guide 575
:HISTogram:MEASurement:BINS
Command :HISTogram:MEASurement:BINS <max_bins>
<max_bins> ::= integer from 10-1280
The :HISTogram:MEASurement:BINS command sets the maximum number of bins
used for a measurement histogram.
Query :HISTogram:MEASurement:BINS?
The :HISTogram:MEASurement:BINS? query returns the maximum number of bins
setting.
Returned Format <max_bins><NL>
<max_bins> ::= integer from 10-1280
See Also •":HISTogram:MODE" on page 576
•":HISTogram:AXIS" on page 573
•":HISTogram:HORizontal:BINS" on page 574
•":HISTogram:VERTical:BINS" on page 578
History New in version 5.20.
576 Keysight Infiniium Oscilloscopes Programmer's Guide
21 Histogram Commands
:HISTogram:MODE
Command :HISTogram:MODE {OFF | MEASurement | WAVeforms}
The :HISTogram:MODE command selects the histogram mode. The histogram may
be off, set to track the waveforms, or set to track the measurement when the
E2681A Jitter Analysis Software is installed. When the E2681A Jitter Analysis
Software is installed, sending the :MEASure:JITTer:HISTogram ON command will
automatically set :HISTOgram:MODE to MEASurement.
Example This example sets the histogram mode to track the waveform.
myScope.WriteString ":HISTogram:MODE WAVeform"
Query :HISTogram:MODE?
The :HISTogram:MODE? query returns the currently selected histogram mode.
Returned Format [:HISTogram:MODE] {OFF | MEASurement | WAVeform}<NL>
Example This example returns the result of the mode query and prints it to the computer's
screen.
Dim strMode As String
myScope.WriteString ":HISTogram:MODE?"
strMode = myScope.ReadString
Debug.Print strMode
History Legacy command (existed before version 3.10).
NOTE
The MEASurement parameter is only available when the E2681A Jitter Analysis option is
installed.
Histogram Commands 21
Keysight Infiniium Oscilloscopes Programmer's Guide 577
:HISTogram:SCALe:SIZE
Command :HISTogram:SCALe:SIZE <size>
The :HISTogram:SCALe:SIZE command sets histogram size for vertical and
horizontal mode.
<size> The size is from 1.0 to 8.0 for the horizontal mode and from 1.0 to 10.0 for the
vertical mode.
Example This example sets the histogram size to 3.5.
myScope.WriteString ":HISTogram:SCALe:SIZE 3.5"
Query :HISTogram:SCALe:SIZE?
The :HISTogram:SCALe:SIZE? query returns the correct size of the histogram.
Returned Format [:HISTogram:SCALe:SIZE] <size><NL>
Example This example returns the result of the size query and prints it to the computer's
screen.
Dim strSize As String
myScope.WriteString ":HISTogram:SCALe:SIZE?"
strSize = myScope.ReadString
Debug.Print strSize
History Legacy command (existed before version 3.10).
578 Keysight Infiniium Oscilloscopes Programmer's Guide
21 Histogram Commands
:HISTogram:VERTical:BINS
Command :HISTogram:VERTical:BINS <max_bins>
<max_bins> ::= integer from 10-1280
The :HISTogram:VERTical:BINS command sets the maximum number of bins used
for a vertical waveform histogram.
Query :HISTogram:VERTical:BINS?
The :HISTogram:VERTical:BINS? query returns the maximum number of bins.
Returned Format <max_bins><NL>
<max_bins> ::= integer from 10-1280
See Also •":HISTogram:MODE" on page 576
•":HISTogram:AXIS" on page 573
•":HISTogram:HORizontal:BINS" on page 574
•":HISTogram:MEASurement:BINS" on page 575
History New in version 5.20.
Histogram Commands 21
Keysight Infiniium Oscilloscopes Programmer's Guide 579
:HISTogram:WINDow:DEFault
Command :HISTogram:WINDow:DEFault
The :HISTogram:WINDow:DEFault command positions the histogram markers to a
default location on the display. Each marker will be positioned one division off the
left, right, top, and bottom of the display.
Example This example sets the histogram window to the default position.
myScope.WriteString ":HISTogram:WINDow:DEFault"
History Legacy command (existed before version 3.10).
580 Keysight Infiniium Oscilloscopes Programmer's Guide
21 Histogram Commands
:HISTogram:WINDow:SOURce
Command :HISTogram:WINDow:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | EQUalized | MTRend | MSPectrum}
The :HISTogram:WINDow:SOURce command selects the source of the histogram
window. The histogram window will track the source's vertical and horizontal
scale.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the histogram window's source to Channel 1.
myScope.WriteString ":HISTogram:WINDow:SOURce CHANnel1"
Query :HISTogram:WINDow:SOURce?
The :HISTogram:WINDow:SOURce? query returns the currently selected
histogram window source.
Returned Format [:HISTogram:WINDow:SOURce] {CHAN<N> | DIFF<D> | COMM<C> | FUNC<F>
| WMEM<N> | CLOC | EQU | MTR | MSP}<NL>
Example This example returns the result of the window source query and prints it to the
computer's screen.
Dim strWinsour As String
myScope.WriteString ":HISTogram:WINDow:SOURce?"
strWinsour = myScope.ReadString
Debug.Print strWinsour
History Legacy command (existed before version 3.10).
Histogram Commands 21
Keysight Infiniium Oscilloscopes Programmer's Guide 581
:HISTogram:WINDow:LLIMit
Command :HISTogram:WINDow:LLIMit <left_limit>
The :HISTogram:WINDow:LLIMit command moves the Ax marker (left limit) of the
histogram window. The histogram window determines the portion of the display
used to build the database for the histogram. The histogram window markers will
track the scale of the histogram window source.
<left_limit> A real number that represents the left boundary of the histogram window.
Example This example sets the left limit position to -200 microseconds.
myScope.WriteString ":HISTogram:WINDow:LLIMit -200E-6"
Query :HISTogram:WINDow:LLIMit?
The :HISTogram:WINDow:LLIMit? query returns the value of the left limit
histogram window marker.
Returned Format [:HISTogram:WINDow:LLIMit] <left_limit><NL>
Example This example returns the result of the left limit position query and prints it to the
computer's screen.
Dim strLL As String
myScope.WriteString ":HISTogram:WINDow:LLIMit?"
strLL = myScope.ReadString
Debug.Print strLL
History Legacy command (existed before version 3.10).
582 Keysight Infiniium Oscilloscopes Programmer's Guide
21 Histogram Commands
:HISTogram:WINDow:RLIMit
Command :HISTogram:WINDow:RLIMit <right_limit>
The :HISTogram:WINDow:RLIMit command moves the Bx marker (right limit) of
the histogram window. The histogram window determines the portion of the
display used to build the database used for the histogram. The histogram window
markers will track the scale of the histogram window source.
<right_limit> A real number that represents the right boundary of the histogram window.
Example This example sets the Bx marker to 200 microseconds.
myScope.WriteString ":HISTogram:WINDow:RLIMit 200E-6"
Query :HISTogram:WINDow:RLIMit?
The :HISTogram:WINDow:RLIMit? query returns the value of the right histogram
window marker.
Returned Format [:HISTogram:WINDow:RLIMit] <right_limit><NL>
Example This example returns the result of the Bx position query and prints it to the
computer's screen.
Dim strRL As String
myScope.WriteString ":HISTogram:WINDow:RLIMit?"
strRL = myScope.ReadString
Debug.Print strRL
History Legacy command (existed before version 3.10).
Histogram Commands 21
Keysight Infiniium Oscilloscopes Programmer's Guide 583
:HISTogram:WINDow:BLIMit
Command :HISTogram:WINDow:BLIMit <bottom_limit>
The :HISTogram:WINDow:BLIMit command moves the Ay marker (bottom limit) of
the histogram window. The histogram window determines the portion of the
display used to build the database used for the histogram. The histogram window
markers will track the scale of the histogram window source.
<bottom_limit> A real number that represents the bottom boundary of the histogram window.
Example This example sets the position of the Ay marker to -250 mV.
myScope.WriteString ":HISTogram:WINDow:BLIMit -250E-3"
Query :HISTogram:WINDow:BLIMit?
The :HISTogram:WINDow:BLIMit? query returns the value of the Ay histogram
window marker.
Returned Format [:HISTogram:WINDow:BLIMit] <bottom_limit><NL>
Example This example returns the result of the Ay position query and prints it to the
computer's screen.
Dim strBL As String
myScope.WriteString ":HISTogram:WINDow:BLIMit?"
strBL = myScope.ReadString
Debug.Print strBL
History Legacy command (existed before version 3.10).
584 Keysight Infiniium Oscilloscopes Programmer's Guide
21 Histogram Commands
:HISTogram:WINDow:TLIMit
Command :HISTogram:WINDow:TLIMit <top_limit>
The :HISTogram:WINDow:TLIMit command moves the By marker (top limit) of the
histogram window. The histogram window determines the portion of the display
used to build the database used for the histogram. The histogram window markers
will track the scale of the histogram window source.
<top_limit> A real number that represents the top boundary of the histogram window.
Example This example sets the position of the By marker to 250 mV.
myScope.WriteString ":HISTogram:WINDow:TLIMit 250E-3"
Query :HISTogram:WINDow:TLIMit?
The :HISTogram:WINDow:TLIMit? query returns the value of the By histogram
window marker.
Returned Format [:HISTogram:WINDow:TLIMit] <top_limit><NL>
Example This example returns the result of the By position query and prints it to the
computer's screen.
Dim strTL As String
myScope.WriteString ":HISTogram:WINDow:TLIMit?"
strTL = myScope.ReadString
Debug.Print strTL
History Legacy command (existed before version 3.10).
585
Keysight Infiniium Oscilloscopes
Programmer's Guide
22 Hosted Commands
:HOSTed:CALibrate:CALibrate / 587
:HOSTed:CALibrate:CHANnel / 588
:HOSTed:CALibrate:DESKew:CHANnels / 589
:HOSTed:CALibrate:DESKew:FRAMes / 590
:HOSTed:CALibrate:DESKew:SIGNals / 591
:HOSTed:CALibrate:DESKew:ZERO / 592
:HOSTed:CALibrate:LEVel / 593
:HOSTed:CALibrate:PROMpt / 595
:HOSTed:CALibrate:STATus:CHANnels? / 596
:HOSTed:CALibrate:STATus:FRAMes? / 597
:HOSTed:CALibrate:STATus:LEVel? / 598
:HOSTed:CALibrate:STATus:SIGNals? / 599
:HOSTed:CALibrate:TREF:DETect / 600
:HOSTed:FOLLower<N>:ACHannels? / 601
:HOSTed:FOLLower<N>:CONFigure / 602
:HOSTed:FOLLower<N>:CONNect / 603
:HOSTed:FOLLower<N>:DISConnect / 604
:HOSTed:LEADer:ACHannels? / 605
:HOSTed:LEADer:CONFigure / 606
:HOSTed:LEADer:CONNect / 607
:HOSTed:LEADer:DISConnect / 608
:HOSTed:NCONnected? / 609
:HOSTed:PERiodic / 610
The commands in the HOSTed subsystem are used to configure and manage the
list of oscilloscopes in a MultiScope system.
MultiScope systems can combine up to 10 Infiniium oscilloscopes to create an
oscilloscope system with up to 40 time-synchronized channels.
586 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
In a MultiScope system, oscilloscopes are connected in daisy-chain configuration
where the reference clock output of the Leader oscilloscope is connected to the
reference clock input of the Follower 1 oscilloscope and the trigger output of the
Leader oscilloscope is connected to the auxiliary trigger input of the Follower 1
oscilloscope, and so on. A calibration signal from one of the Follower 1
oscilloscope is split and fed into a channel input on all the oscilloscopes to set up
time-correlation.
For more information on MultiScope systems, see:
•The Keysight MultiScope Hardware Configuration Guide.
• The online help in the Infiniium Offline software.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 587
:HOSTed:CALibrate:CALibrate
Command :HOSTed:CALibrate:CALibrate
The :HOSTed:CALibrate:CALibrate command performs the MultiScope system
time-correlation calibration at the level selected by :HOSTed:CALibrate:LEVel.
This command does nothing when the MANual level is selected.
To get the status of the calibration, use the :HOSTed:CALibrate:STATus:LEVel?
query.
See Also •":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
588 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:CALibrate:CHANnel
Command :HOSTed:CALibrate:CHANnel <source>
<source> ::= CHANnel<N>
The :HOSTed:CALibrate:CHANnel command selects the calibration channel or
synchronization input where the MultiScope system time-correlation procedures
expect to find the calibration signal.
This signal comes from the Follower 1 oscilloscope's calibrator output and is split
and fed into the calibration channel on each oscilloscope in the MultiScope
system.
<N> An integer, 1-4.
Query :HOSTed:CALibrate:CHANnel?
The :HOSTed:CALibrate:CHANnel? query returns the selected the calibration
channel or synchronization input.
Returned Format [:HOSTed:CALibrate:CHANnel] <source><NL>
<source> ::= CHAN<N>
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 589
:HOSTed:CALibrate:DESKew:CHANnels
Command :HOSTed:CALibrate:DESKew:CHANnels
The :HOSTed:CALibrate:DESKew:CHANnels command deskews all channels in the
MultiScope system. The calibration process prompts you to connect the Leader
oscilloscope's Cal Out signal to each of the system's input channels in turn.
To get the status of the calibration, use the
:HOSTed:CALibrate:STATus:CHANnels? query.
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
590 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:CALibrate:DESKew:FRAMes
Command :HOSTed:CALibrate:DESKew:FRAMes
The :HOSTed:CALibrate:DESKew:FRAMes command deskews frames in the
MultiScope system by measuring only one input channel from each oscilloscope
frame. It assumes that the skew of all channels within a single oscilloscope frame
is the same since they were deskewed in production.
To get the status of the calibration, use the :HOSTed:CALibrate:STATus:FRAMes?
query.
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 591
:HOSTed:CALibrate:DESKew:SIGNals
Command :HOSTed:CALibrate:DESKew:SIGNals
Given a common edge on configured channels in the MultiScope system, send the
:HOSTed:CALibrate:DESKew:SIGNals command to align the horizontal positions of
the closest rising edges of all input signals.
This is typically used for demonstration or quick verification purposes, but can also
be a quick alternative to the system deskew process if your SUT (signals under
test) are already connected and have the necessary rising edges.
To get the status of the calibration, use the :HOSTed:CALibrate:STATus:SIGNals?
query.
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
592 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:CALibrate:DESKew:ZERO
Command :HOSTed:CALibrate:DESKew:ZERO
The :HOSTed:CALibrate:DESKew:ZERO command resets MultiScope system signal
skew values to zero.
This is provided as a convenience because the skew values are distributed across
all channels of all oscilloscope frames and are not changed by setup recall or
default setup. Factory default setup does set all skew values to zero, but it must
be performed on all oscilloscope frames.
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 593
:HOSTed:CALibrate:LEVel
Command :HOSTed:CALibrate:LEVel <level>
<level> ::= {MANual | BASic | PRECision}
The :HOSTed:CALibrate:LEVel command selects the MultiScope system
calibration level:
• MANual — No time-correlation calibration is performed. However, you can still:
•Capture and view signals in the MultiScope system.
•Phase-lock the timebase reference clocks of the oscilloscopes in the
MultiScope system.
•Input a calibration signal to the oscilloscopes and manually measure the
time skew between oscilloscope frames.
•Manually enter skew values for waveforms to align them in time.
• BASic — The time-correlation calibration procedure automates all the time
calibration steps you could perform manually.
The calibration output from the Follower 1 oscilloscope is split and fed into the
calibration channel on each oscilloscope in the MultiScope system.
After the basic calibration is performed, you can disconnect the calibration
channel on each oscilloscope and use it as a normal input channel.
• PRECision — Select this calibration level if you want to perform jitter and drift
time correction between the oscilloscopes in the MultiScope system. This
calibration level gives you the highest time accuracy because jitter and drift
calibrations continue to be made as the oscilloscopes acquire data.
For this calibration level, the calibration channel must remain connected during
normal operation.
To perform the MultiScope system time-correlation calibration at the BASic or
PRECision levels, send the :HOSTed:CALibrate:CALibrate command.
Query :HOSTed:CALibrate:LEVel?
The :HOSTed:CALibrate:LEVel? query returns the selected calibration level.
Returned Format [:HOSTed:CALibrate:LEVel] <level><NL>
<level> ::= {MAN | BAS | PREC}
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
594 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 595
:HOSTed:CALibrate:PROMpt
Command :HOSTed:CALibrate:PROMpt {{0 | OFF} | {1 | ON}}
The :HOSTed:CALibrate:PROMpt command specifies whether the user interface
software prompts you to make the proper connections while the MultiScope
system calibration runs.
You can select OFF when you know required connections have already been made
and you do not want to be prompted to make them.
Query :HOSTed:CALibrate:PROMpt?
The :HOSTed:CALibrate:PROMpt? query returns the setting.
Returned Format [:HOSTed:CALibrate:PROMpt] <setting><NL>
<setting> ::= {0 | 1}
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
596 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:CALibrate:STATus:CHANnels?
Query :HOSTed:CALibrate:STATus:CHANnels?
The :HOSTed:CALibrate:STATus:CHANnels? query returns the MultiScope system
calibration status of "Deskew Channels" (see
:HOSTed:CALibrate:DESKew:CHANnels).
Returned Format <status><NL>
Nothing is applied for a status result other than PASSED.
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
<status> Status Description
UNAVAILABLE Configuration is incompatible. This could be because:
•There are insufficient connections
•Manual Calibration is selected
NOTAPPLIED The deskew is available, but not currently done.
PASSED Calibration completed and passed.
INPROGRESS Calibration is in progress.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 597
:HOSTed:CALibrate:STATus:FRAMes?
Query :HOSTed:CALibrate:STATus:FRAMes?
The :HOSTed:CALibrate:STATus:FRAMes? query returns the MultiScope system
calibration status of "Deskew Frames" (see :HOSTed:CALibrate:DESKew:FRAMes).
Returned Format <status><NL>
Nothing is applied for a status result other than PASSED.
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
<status> Status Description
UNAVAILABLE Configuration is incompatible. This could be because:
•There are insufficient connections
•Manual Calibration is selected
NOTAPPLIED The deskew is available, but not currently done.
PASSED Calibration completed and passed.
INPROGRESS Calibration is in progress.
598 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:CALibrate:STATus:LEVel?
Query :HOSTed:CALibrate:STATus:LEVel?
The :HOSTed:CALibrate:STATus:LEVel? query returns the MultiScope system
calibration status of the currently selected calibration level (see
:HOSTed:CALibrate:LEVel and :HOSTed:CALibrate:CALibrate).
Returned Format <status><NL>
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
<status> Status Description
FAILED Calibration completed and failed.
PASSED Calibration completed and passed.
INPROGRESS Calibration is in progress.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 599
:HOSTed:CALibrate:STATus:SIGNals?
Query :HOSTed:CALibrate:STATus:SIGNals?
The :HOSTed:CALibrate:STATus:SIGNals? query returns the MultiScope system
calibration status of "Deskew Signals" (see :HOSTed:CALibrate:DESKew:SIGNals).
Returned Format <status><NL>
Nothing is applied for a status result other than PASSED.
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
<status> Status Description
UNAVAILABLE Configuration is incompatible. This could be because:
•There are insufficient connections
•Manual Calibration is selected
NOTAPPLIED The deskew is available, but not currently done.
PASSED Calibration completed and passed.
INPROGRESS Calibration is in progress.
600 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:CALibrate:TREF:DETect
Command :HOSTed:CALibrate:TREF:DETect
When the MultiScope system's timebase reference clock status is unlocked, or
after you have changed reference clock connections between oscilloscopes, send
the :HOSTed:CALibrate:TREF:DETect command to automatically detect the
reference clock connection between oscilloscopes.
Running the BASic or PRECision calibrations (see :HOSTed:CALibrate:LEVel) will
automatically detect the timebase reference clock. In the MANual calibration level,
you can send the :HOSTed:CALibrate:TREF:DETect command.
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
History New in version 5.50.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 601
:HOSTed:FOLLower<N>:ACHannels?
Query :HOSTed:FOLLower<N>:ACHannels?
The :HOSTed:FOLLower<N>:ACHannels? query returns the channel numbers
assigned to a Follower oscilloscope in a MultiScope system. There can be up to 9
Follower oscilloscopes in a MultiScope system.
<N> An integer, 1-9.
Returned Format <channel_range><NL>
<channel_range> ::= range of channel numbers, for example, 5-8
See Also •":HOSTed:NCONnected?" on page 609
•":HOSTed:FOLLower<N>:CONFigure" on page 602
•":HOSTed:FOLLower<N>:CONNect" on page 603
•":HOSTed:FOLLower<N>:DISConnect" on page 604
•":HOSTed:LEADer:ACHannels?" on page 605
•":HOSTed:LEADer:CONFigure" on page 606
•":HOSTed:LEADer:CONNect" on page 607
•":HOSTed:LEADer:DISConnect" on page 608
History New in version 5.50.
602 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:FOLLower<N>:CONFigure
Command :HOSTed:FOLLower<N>:CONFigure {"<instrument_VISA_string>"
| "Simulated Instrument"}
The :HOSTed:FOLLower<N>:CONFigure command identifies a Follower
oscilloscope in a MultiScope system by its VISA address. There can be up to 9
Follower oscilloscopes in a MultiScope system.
You can also configure a "Simulated Instrument" to set up simulated waveforms.
For more information, see ":CHANnel<N>:SIMulation:WAVeform" on page 411.
<N> An integer, 1-9.
Example This example identifies the oscilloscope whose VISA address is
"TCPIP0::141.121.237.226::inst0::INSTR" as the Follower 1 oscilloscope.
myScope.WriteString ":HOSTed:FOLLower1:CONFigure 'TCPIP0::141.121.237.22
6::inst0::INSTR'"
See Also •":HOSTed:FOLLower<N>:ACHannels?" on page 601
•":HOSTed:FOLLower<N>:CONNect" on page 603
•":HOSTed:FOLLower<N>:DISConnect" on page 604
•":HOSTed:LEADer:ACHannels?" on page 605
•":HOSTed:LEADer:CONFigure" on page 606
•":HOSTed:LEADer:CONNect" on page 607
•":HOSTed:LEADer:DISConnect" on page 608
•":CHANnel<N>:SIMulation:WAVeform" on page 411
History New in version 5.50.
Version 6.00: Added the ability to configure a "Simulated Instrument" to set up
simulated waveforms.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 603
:HOSTed:FOLLower<N>:CONNect
Command :HOSTed:FOLLower<N>:CONNect
The :HOSTed:FOLLower<N>:CONNect command opens the connection to a
Follower oscilloscope in a MultiScope system. There can be up to 9 Follower
oscilloscopes in a MultiScope system.
<N> An integer, 1-9.
See Also •":HOSTed:FOLLower<N>:ACHannels?" on page 601
•":HOSTed:FOLLower<N>:CONFigure" on page 602
•":HOSTed:FOLLower<N>:DISConnect" on page 604
•":HOSTed:LEADer:ACHannels?" on page 605
•":HOSTed:LEADer:CONFigure" on page 606
•":HOSTed:LEADer:CONNect" on page 607
•":HOSTed:LEADer:DISConnect" on page 608
History New in version 5.50.
604 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:FOLLower<N>:DISConnect
Command :HOSTed:FOLLower<N>:DISConnect
The :HOSTed:FOLLower<N>:DISConnect command closes the connection to a
Follower oscilloscope in a MultiScope system. There can be up to 9 Follower
oscilloscopes in a MultiScope system.
<N> An integer, 1-9.
See Also •":HOSTed:FOLLower<N>:ACHannels?" on page 601
•":HOSTed:FOLLower<N>:CONFigure" on page 602
•":HOSTed:FOLLower<N>:CONNect" on page 603
•":HOSTed:LEADer:ACHannels?" on page 605
•":HOSTed:LEADer:CONFigure" on page 606
•":HOSTed:LEADer:CONNect" on page 607
•":HOSTed:LEADer:DISConnect" on page 608
History New in version 5.50.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 605
:HOSTed:LEADer:ACHannels?
Query :HOSTed:LEADer:ACHannels?
The :HOSTed:LEADer:ACHannels? query returns the channel numbers assigned to
the Leader oscilloscope in a MultiScope system.
Returned Format <channel_range><NL>
<channel_range> ::= range of channel numbers, for example, 1-4
See Also •":HOSTed:NCONnected?" on page 609
•":HOSTed:LEADer:CONFigure" on page 606
•":HOSTed:LEADer:CONNect" on page 607
•":HOSTed:LEADer:DISConnect" on page 608
•":HOSTed:FOLLower<N>:ACHannels?" on page 601
•":HOSTed:FOLLower<N>:CONFigure" on page 602
•":HOSTed:FOLLower<N>:CONNect" on page 603
•":HOSTed:FOLLower<N>:DISConnect" on page 604
History New in version 5.50.
606 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:LEADer:CONFigure
Command :HOSTed:LEADer:CONFigure "<instrument_VISA_string>"
The :HOSTed:LEADer:CONFigure command identifies the Leader oscilloscope in a
MultiScope system by its VISA address.
Example This example identifies the oscilloscope whose VISA address is
"TCPIP0::141.121.238.47::inst0::INSTR" as the Leader oscilloscope.
myScope.WriteString ":HOSTed:LEADer:CONFigure 'TCPIP0::141.121.238.47::i
nst0::INSTR'"
See Also •":HOSTed:LEADer:ACHannels?" on page 605
•":HOSTed:LEADer:CONNect" on page 607
•":HOSTed:LEADer:DISConnect" on page 608
•":HOSTed:FOLLower<N>:ACHannels?" on page 601
•":HOSTed:FOLLower<N>:CONFigure" on page 602
•":HOSTed:FOLLower<N>:CONNect" on page 603
•":HOSTed:FOLLower<N>:DISConnect" on page 604
History New in version 5.50.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 607
:HOSTed:LEADer:CONNect
Command :HOSTed:LEADer:CONNect
The :HOSTed:LEADer:CONNect command opens the connection to the Leader
oscilloscope in a MultiScope system.
See Also •":HOSTed:LEADer:ACHannels?" on page 605
•":HOSTed:LEADer:CONFigure" on page 606
•":HOSTed:LEADer:DISConnect" on page 608
•":HOSTed:FOLLower<N>:ACHannels?" on page 601
•":HOSTed:FOLLower<N>:CONFigure" on page 602
•":HOSTed:FOLLower<N>:CONNect" on page 603
•":HOSTed:FOLLower<N>:DISConnect" on page 604
History New in version 5.50.
608 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:LEADer:DISConnect
Command :HOSTed:LEADer:DISConnect
The :HOSTed:LEADer:DISConnect command closes the connection to the Leader
oscilloscope in a MultiScope system.
See Also •":HOSTed:LEADer:ACHannels?" on page 605
•":HOSTed:LEADer:CONFigure" on page 606
•":HOSTed:LEADer:CONNect" on page 607
•":HOSTed:FOLLower<N>:ACHannels?" on page 601
•":HOSTed:FOLLower<N>:CONFigure" on page 602
•":HOSTed:FOLLower<N>:CONNect" on page 603
•":HOSTed:FOLLower<N>:DISConnect" on page 604
History New in version 5.50.
Hosted Commands 22
Keysight Infiniium Oscilloscopes Programmer's Guide 609
:HOSTed:NCONnected?
Query :HOSTed:NCONnected?
The :HOSTed:NCONnected? query returns a number that indicates whether in
hosted mode, and if in hosted mode, the number of hosted oscilloscope frames
connected. This query can return:
• 0 — Not in hosted mode. There are no hosted oscilloscope frames connected.
• 1 — One hosted oscilloscope frame is connected, either itself or a remote frame
when using Infiniium Offline.
• 2 through 10 — The number of hosted oscilloscope frames connected.
With four analog input channels in each frame, the number returned tells you the
potential number of channels in the MultiScope system. If the query returns a 0 or
1, you know there can be up to four channels, if the query returns 2 or more,
multiply the returned number by four to get the number of possible channels.
Returned Format <#_of_frames><NL>
<#_of_frames> ::= number of hosted oscilloscope frames connected,
from 0 to 10 in NR1 format
See Also •":HOSTed:LEADer:ACHannels?" on page 605
•":HOSTed:FOLLower<N>:ACHannels?" on page 601
History New in version 6.10.
610 Keysight Infiniium Oscilloscopes Programmer's Guide
22 Hosted Commands
:HOSTed:PERiodic
Command :HOSTed:PERiodic <drift_corr>
<drift_corr> ::= {OFF | TIME}
The :HOSTed:PERiodic command turns periodic drift correction on (TIME) or off.
Query :HOSTed:PERiodic?
The :HOSTed:PERiodic? query returns the periodic drift correction setting.
Returned Format <drift_corr><NL>
<drift_corr> ::= {OFF | TIME}
See Also •":HOSTed:PERiodic" on page 610
History New in version 5.70.
611
Keysight Infiniium Oscilloscopes
Programmer's Guide
23 InfiniiScan (ISCan)
Commands
:ISCan:DELay / 612
:ISCan:MEASurement:FAIL / 613
:ISCan:MEASurement:LLIMit / 614
:ISCan:MEASurement / 615
:ISCan:MEASurement:ULIMit / 616
:ISCan:MODE / 617
:ISCan:NONMonotonic:EDGE / 618
:ISCan:NONMonotonic:HYSTeresis / 619
:ISCan:NONMonotonic:SOURce / 620
:ISCan:RUNT:HYSTeresis / 621
:ISCan:RUNT:LLEVel / 622
:ISCan:RUNT:SOURce / 623
:ISCan:RUNT:ULEVel / 624
:ISCan:SERial:PATTern / 625
:ISCan:SERial:SOURce / 626
:ISCan:ZONE:HIDE / 627
:ISCan:ZONE:SOURce / 628
:ISCan:ZONE<Z>:MODE / 629
:ISCan:ZONE<Z>:PLACement / 630
:ISCan:ZONE<Z>:SOURce / 631
:ISCan:ZONE<Z>:STATe / 632
The ISCan commands and queries control the InfiniiScan feature of the
oscilloscope. InfiniiScan provides several ways of searching through the waveform
data to find unique events.
612 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:DELay
Command :ISCan:DELay {OFF | <delay_time>}
The :ISCan:DELay command sets the delay time from when the hardware trigger
occurs and when InfiniiScan tries to find the waveform event that has been
defined.
OFF Turns off the delay from the hardware trigger.
<delay_time> Sets the amount of time that the InfiniiScan trigger is delayed from the hardware
trigger.
Example The following example causes the oscilloscope to delay by 1 ms.
myScope.WriteString ":ISCan:DELay 1E-06"
Query :ISCan:DELay?
The query returns the current set delay value.
Returned Format [:ISCan:DELay] {OFF | <delay_time>}<NL>
Example The following example returns the current delay value and prints the result to the
controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:DELay?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 613
:ISCan:MEASurement:FAIL
Command :ISCan:MEASurement:FAIL {INSide | OUTSide}
The :ISCan:MEASurement:FAIL command sets the fail condition for an individual
measurement. The conditions for a test failure are set on the measurement
selected by the :ISCan:MEASurement command.
When a measurement failure is detected by the limit test the oscilloscope triggers
and the trigger action is executed.
INSide INside causes the oscilloscope to fail a test when the measurement results are
within the parameters set by the :ISCan:MEASurement:LIMit and
:ISCan:MEASurement:ULIMit commands.
OUTSide OUTside causes the oscilloscope to fail a test when the measurement results
exceed the parameters set by the :ISCan:MEASurement:LLIMit and the
:ISCan:MEASurement:ULIMit commands.
Example The following example causes the oscilloscope to trigger when the measurements
are outside the lower or upper limits.
myScope.WriteString ":ISCan:MEASurement:FAIL OUTSide"
Query :ISCan:MEASurement:FAIL?
The query returns the current set fail condition.
Returned Format [:ISCan:MEASurement:FAIL] {INSide | OUTSide}<NL>
Example The following example returns the current fail condition and prints the result to the
controller's screen.
Dim strFAIL As String
myScope.WriteString ":ISCan:MEASurement:FAIL?"
strFAIL = myScope.ReadString
Debug.Print strFAIL
History Legacy command (existed before version 3.10).
614 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:MEASurement:LLIMit
Command :ISCan:MEASurement:LLIMit <lower_value>
The :ISCan:MEASurement:LLIMit (lower limit) command sets the lower test limit
for the currently selected measurement. The :ISCan:MEASurement command
selects the measurement used.
<lower_value> A real number.
Example The following example sets the lower test limit to 1.0.
myScope.WriteString ":ISCan:MEASurement:LLIMit 1.0"
If, for example, you chose to measure volts peak-peak and want the smallest
acceptable signal swing to be one volt, you could use the above command, then
set the measurement limit to trigger when the signal is outside the specified limit.
Query :ISCan:MEASurement:LLIMit?
The query returns the current value set by the command.
Returned Format [:ISCan:MEASurement:LLIMit]<lower_value><NL>
Example The following example returns the current lower test limit and prints the result to
the controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:MEASurement:LLIMit?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 615
:ISCan:MEASurement
Command :ISCan:MEASurement {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20}
The :ISCan:MEASurement command selects the current source for Measurement
Limit Test Trigger. It selects one of the active measurements as referred to by their
position in the Measurement tab area at the bottom of the screen. Measurements
are numbered from left to right in the Measurements tab area of the screen.
Example The following example selects the first measurement as the source for the limit
testing commands.
myScope.WriteString ":ISCan:MEASurement MEAS1"
Query :ISCan:MEASurement?
The query returns the currently selected measurement source.
Returned Format [:ISCan:MEASurement] {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20}<NL>
Example The following example returns the currently selected measurement source for the
limit testing commands.
Dim strSOURCE As String
myScope.WriteString ":ISCan:MEASurement?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
See Also Measurements are started by the commands in the Measurement Subsystem.
History Legacy command (existed before version 3.10).
Version 5.00: Now 20 measurements to choose from.
616 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:MEASurement:ULIMit
Command :ISCan:MEASurement:ULIMit <upper_value>
The :ISCan:MEASurement:ULIMit (upper limit) command sets the upper test limit
for the active measurement currently selected by the :ISCan:MEASurement
command.
<upper_value> A real number.
Example The following example sets the upper limit of the currently selected measurement
to 500 mV.
myScope.WriteString ":ISCan:MEASurement:ULIMit 500E-3"
Suppose you are measuring the maximum voltage of a signal with Vmax, and that
voltage should not exceed 500 mV. You can use the above program and set the
:ISCan:MEASurement:FAIL OUTside command to specify that the oscilloscope will
trigger when the voltage exceeds 500 mV.
Query :ISCan:MEASurement:ULIMit?
The query returns the current upper limit of the limit test.
Returned Format [:ISCan:MEASurement:ULIMit] <upper_value><NL>
Example The following example returns the current upper limit of the limit test and prints
the result to the controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:MEASurement:ULIMit?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 617
:ISCan:MODE
Command :ISCan:MODE {OFF | MEASurement | NONMonotonic | RUNT | SERial | ZONE}
The :ISCan:MODE command selects the type of InfiniiScan trigger mode:
• OFF — Turns off the InfiniiScan trigger mode.
• MEASurement — Sets the Measurement limit trigger mode.
• NONMonotonic — Sets the Non-monotonic Edge trigger mode.
• RUNT — Sets the Runt trigger mode.
• SERial — Sets the General Serial trigger mode.
• ZONE — Sets the Zone Qualify trigger mode.
Example The following example selects the runt trigger.
myScope.WriteString ":ISCan:MODE RUNT"
Query :ISCan:MODE?
The query returns the currently selected InfiniiScan trigger mode.
Returned Format [:ISCan:MEASurement] {OFF | MEAS | NONM | RUNT | SER | ZONE}<NL>
Example The following example returns the currently selected InfiniiScan trigger mode.
Dim strMODE As String
myScope.WriteString ":ISCan:MODE?"
strMODE = myScope.ReadString
Debug.Print strMODE
History Legacy command (existed before version 3.10).
618 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:NONMonotonic:EDGE
Command :ISCan:NONMonotonic:EDGE {EITHer | FALLing | RISing}
The :ISCan:NONMonotonic:EDGE command selects the rising edge, the falling
edge, or either edge for the Non-monotonic edge trigger mode.
EITHer Sets the edge used by the Non-monotonic edge trigger to both rising and falling
edges.
FALLing Sets the edge used by the Non-monotonic edge trigger to falling edges.
RISing Sets the edge used by the Non-monotonic edge trigger to rising edges.
Example The following example selects the falling edge non-monotonic trigger.
myScope.WriteString ":ISCan:NONMonotonic:EDGE FALLing"
Query :ISCan:NONMonotonic:EDGE?
The query returns the currently selected edge type for the Non-Monotonic Edge
trigger.
Returned Format [:ISCan:NONMonotonic:EDGE]{EITHer | FALLing | RISing}<NL>
Example The following example returns the currently selected edge type used for the
Non-monotonic Edge trigger mode.
Dim strSOURCE As String
myScope.WriteString ":ISCan:NONMonotonic:EDGE?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 619
:ISCan:NONMonotonic:HYSTeresis
Command :ISCan:NONMonotonic:HYSTeresis <value>
The :ISCan:NONMonotonic:HYSTeresis command sets the hysteresis value used
for the Non-monotonic Edge trigger.
<value> is a real number for the hysteresis.
Example The following example sets the hysteresis value used by the Non-monotonic
trigger mode to 10 mV.
myScope.WriteString ":ISCan:NONMonotonic:HYSTeresis 1E-2"
Query :ISCan:NONMonotonic:HYSTersis?
The query returns the hysteresis value used by the Non-monotonic Edge trigger
mode.
Returned Format [:ISCan:NONMonotonic:HYSTeresis]<value><NL>
Example The following example returns and prints the value of the hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:NONMonotonic:HYSTeresis?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
620 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:NONMonotonic:SOURce
Command :ISCan:NONMonotonic:SOURce CHANnel<N>
The :ISCan:NONMonotonic:SOURce command sets the source used for the
Non-monotonic Edge trigger.
<N> is an integer from 1-4.
Example The following example sets the source used by the Non-monotonic trigger mode
to channel 1.
myScope.WriteString ":ISCan:NONMonotonic:SOURce CHANnel1"
Query :ISCan:NONMonotonic:SOURce?
The query returns the source used by the Non-monotonic Edge trigger mode.
Returned Format [:ISCan:NONMonotonic:SOURce] CHANnel<N><NL>
Example The following example returns the currently selected source for the
Non-monotonic Edge trigger mode.
Dim strSOURCE As String
myScope.WriteString ":ISCan:NONMonotonic:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 621
:ISCan:RUNT:HYSTeresis
Command :ISCan:RUNT:HYSTeresis <value>
The :ISCan:RUNT:HYSTeresis command sets the hysteresis value used for the Runt
trigger.
<value> is a real number for the hysteresis.
Example The following example sets the hysteresis value used by the Runt trigger mode to
10 mV.
myScope.WriteString ":ISCan:RUNT:HYSTeresis 1E-2"
Query :ISCan:RUNT:HYSTersis?
The query returns the hysteresis value used by the Runt trigger mode.
Returned Format [:ISCan:RUNT:HYSTeresis]<value><NL>
Example The following example returns and prints the value of the hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:RUNT:HYSTeresis?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
622 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:RUNT:LLEVel
Command ISCan:RUNT:LLEVel <lower_level>
The :ISCan:RUNT:LLEVel (lower level) command sets the lower level limit for the
Runt trigger mode.
<lower_level> A real number.
Example The following example sets the lower level limit to 1.0 V.
myScope.WriteString ":ISCan:RUNT:LLEVel 1.0"
Query :ISCan:RUNT:LLEVel?
The query returns the lower level limit set by the command.
Returned Format [:ISCan:RUNT:LLEVel] <lower_level><NL>
Example The following example returns the current lower level used by the Runt trigger and
prints the result to the controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:RUNT:LLEVel?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 623
:ISCan:RUNT:SOURce
Command :ISCan:RUNT:SOURce CHANnel<N>
The :ISCan:RUNT:SOURce command sets the source used for the Runt trigger.
<N> is an integer from 1-4.
Example The following example sets the source used by the Runt trigger mode to channel
1.
myScope.WriteString ":ISCan:RUNT:SOURce CHANnel1"
Query :ISCan:RUNT:SOURce?
The query returns the source used by the Runt trigger mode.
Returned Format [:ISCan:RUNT:SOURce] CHANnel<N><NL>
Example The following example returns the currently selected source for the Runt trigger
mode.
Dim strSOURCE As String
myScope.WriteString ":ISCan:RUNT:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
History Legacy command (existed before version 3.10).
624 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:RUNT:ULEVel
Command :ISCan:RUNT:ULEVel <upper_level>
The :ISCan:RUNT:ULEVel (upper level) command sets the upper level limit for the
Runt trigger mode.
<upper_level> A real number.
Example The following example sets the upper level value used by the Runt trigger mode to
500 mV.
myScope.WriteString ":ISCan:RUNT:ULEVel 500E-3"
Query :ISCan:RUNT:ULEVel?
The query returns the current upper level value used by the Runt trigger.
Returned Format [:ISCan:RUNT:ULEVel] <upper_level><NL>
Example The following example returns the current upper level used by the Runt trigger and
prints the result to the controller's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":ISCan:RUNT:ULEVel?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 625
:ISCan:SERial:PATTern
Command :ISCan:SERial:PATTern "<pattern>"
The :ISCan:SERial:PATTern command sets the pattern used for the Serial trigger.
<pattern> is a 1, 0, or X binary character string of up to 80 characters. The pattern can only
be expressed in the binary format.
Example The following example sets the pattern used by the Serial trigger to 101100.
myScope.WriteString ":ISCan:SERial:PATTern ""101100"""
Query :ISCan:SERial:PATTern?
The query returns the pattern used by the Serial trigger mode.
Returned Format [:ISCan:SERial:PATTern] <pattern><NL>
Example The following example returns the currently selected pattern for the Serial trigger
mode.
Dim strPATTERN As String
myScope.WriteString ":ISCan:SERial:PATTern?"
strPATTERN = myScope.ReadString
Debug.Print strPATTERN
History Legacy command (existed before version 3.10).
626 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:SERial:SOURce
Command :ISCan:SERial:SOURce CHANnel<N>
The :ISCan:SERial:SOURce command sets the source used for the Serial trigger.
<N> is an integer from 1-4.
Example The following example sets the source used by the Serial trigger mode to channel
1.
myScope.WriteString ":ISCan:SERial:SOURce CHANnel1"
Query :ISCan:SERial:SOURce?
The query returns the source used by the Serial trigger mode.
Returned Format [:ISCan:SERial:SOURce]CHANnel<N><NL>
Example The following example returns the currently selected source for the Serial trigger
mode.
Dim strSOURCE As String
myScope.WriteString ":ISCan:SERial:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 627
:ISCan:ZONE:HIDE
Command :ISCan:ZONE:HIDE {{ON | 1} | {OFF | 0}}
The :ISCan:ZONE:HIDE command lets you hide or show all InfiniiScan zones on the
display.
Example The following example hides all InfiniiScan zones on the display.
myScope.WriteString ":ISCan:ZONE:HIDE ON"
Query :ISCan:ZONE:HIDE?
The query returns the current zone hide setting.
Returned Format [:ISCan:ZONE:HIDE] {1 | 0}<NL>
Example The following example returns the current zone hide setting.
Dim strHide As String
myScope.WriteString ":ISCan:ZONE:HIDE?"
strHide = myScope.ReadString
Debug.Print strHide
See Also •":ISCan:ZONE:SOURce" on page 628
•":ISCan:ZONE<Z>:MODE" on page 629
•":ISCan:ZONE<Z>:PLACement" on page 630
•":ISCan:ZONE<Z>:SOURce" on page 631
•":ISCan:ZONE<Z>:STATe" on page 632
History New in version 4.00.
628 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:ZONE:SOURce
Command :ISCan:ZONE:SOURce CHANnel<N>
The :ISCan:ZONE:SOURce command sets the source for all zones used in the zone
qualify trigger.
<N> An integer from 1-4.
Example The following example sets the source used by all zones in the zone qualify trigger
to channel 1.
myScope.WriteString ":ISCan:ZONE:SOURce CHANnel1"
Query :ISCan:ZONE:SOURce?
The query returns the source used for all zones in the zone qualify trigger.
Returned Format [:ISCan:ZONE:SOURce] CHANnel<N><NL>
Example The following example returns the currently selected source for all zones in the
zone qualify trigger.
Dim strSOURCE As String
myScope.WriteString ":ISCan:ZONE:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
See Also •":ISCan:ZONE:HIDE" on page 627
•":ISCan:ZONE<Z>:MODE" on page 629
•":ISCan:ZONE<Z>:PLACement" on page 630
•":ISCan:ZONE<Z>:SOURce" on page 631
•":ISCan:ZONE<Z>:STATe" on page 632
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 629
:ISCan:ZONE<Z>:MODE
Command :ISCan:ZONE<Z>:MODE {INTersect | NOTintersect | OINTersect | ONOT}
The :ISCan:ZONE<Z>:MODE command sets the Zone Qualify trigger mode. For the
INTersect mode, the waveform must enter the zone region to qualify as a valid
waveform. For NOTintersect mode, the waveform cannot enter a zone region to
qualify as a valid waveform.
<Z> An integer from 1-8.
Example The following example sets the mode to intersect for zone 1.
myScope.WriteString ":ISCan:ZONE1:MODE INTersect"
Query :ISCan:ZONE<Z>:MODE?
The query returns the mode used by zone 1.
Returned Format [:ISCan:ZONE<Z>:MODE] {INT | NOT | OINT | ONOT}<NL>
Example The following example returns the currently selected mode for zone 1.
Dim strMODE As String
myScope.WriteString ":ISCan:ZONE1:MODE?"
strMODE = myScope.ReadString
Debug.Print strMODE
See Also •":ISCan:ZONE:HIDE" on page 627
•":ISCan:ZONE:SOURce" on page 628
•":ISCan:ZONE<Z>:PLACement" on page 630
•":ISCan:ZONE<Z>:SOURce" on page 631
•":ISCan:ZONE<Z>:STATe" on page 632
History Legacy command (existed before version 3.10).
630 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:ZONE<Z>:PLACement
Command :ISCan:ZONE<Z>:PLACement <width>,<height>,<x_center>,<y_center>
The :ISCan:ZONE<Z>:PLACement command sets the location and size of a zone
for the zone qualify trigger mode.
<Z> An integer from 1-8.
<width> A real number defining the width of a zone in seconds.
<height> A real number defining the height of a zone in volts.
<x_center> A real number defining the x coordinate of the center of the zone in seconds.
<y_center> A real number defining the y coordinate of the center of the zone in volts.
Example The following example sets the size of zone 1 to be 500 ps wide and 0.5 volts high
and centered about the xy coordinate of 1.5 ns and 1 volt.
myScope.WriteString ":ISCan:ZONE1:PLACement 500e-12,0.5,1.5e-9,1"
Query :ISCan:ZONE<Z>:PLACement?
The query returns the placement values used by zone 1.
Returned Format [:ISCan:ZONE<Z>:PLACement] <width>,<height>,<x_center>,<y_center><NL>
Example The following example returns the current placement values for zone 1.
Dim strPLACEMENT As String
myScope.WriteString ":ISCan:ZONE1:PLACement?"
strPLACEMENT = myScope.ReadString
Debug.Print strPLACEMENT
See Also •":ISCan:ZONE:HIDE" on page 627
•":ISCan:ZONE:SOURce" on page 628
•":ISCan:ZONE<Z>:MODE" on page 629
•":ISCan:ZONE<Z>:SOURce" on page 631
•":ISCan:ZONE<Z>:STATe" on page 632
History Legacy command (existed before version 3.10).
InfiniiScan (ISCan) Commands 23
Keysight Infiniium Oscilloscopes Programmer's Guide 631
:ISCan:ZONE<Z>:SOURce
Command :ISCan:ZONE<Z>:SOURce CHANnel<N>
The :ISCan:ZONE<Z>:SOURce command sets the source used for a particular zone
in the zone qualify trigger.
<Z> An integer from 1-8.
<N> An integer from 1-4.
Example The following example sets the source used by zone 1 to channel 1.
myScope.WriteString ":ISCan:ZONE1:SOURce CHANnel1"
Query :ISCan:ZONE<Z>:SOURce?
The query returns the source used by the particular zone.
Returned Format [:ISCan:ZONE<Z>:SOURce] CHANnel<N><NL>
Example The following example returns the currently selected source for zone 1.
Dim strSOURCE As String
myScope.WriteString ":ISCan:ZONE1:SOURce?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
See Also •":ISCan:ZONE:HIDE" on page 627
•":ISCan:ZONE:SOURce" on page 628
•":ISCan:ZONE<Z>:MODE" on page 629
•":ISCan:ZONE<Z>:PLACement" on page 630
•":ISCan:ZONE<Z>:STATe" on page 632
History Legacy command (existed before version 3.10).
632 Keysight Infiniium Oscilloscopes Programmer's Guide
23 InfiniiScan (ISCan) Commands
:ISCan:ZONE<Z>:STATe
Command :ISCan:ZONE<Z>:STATe {{ON | 1} | {OFF | 0}}
The :ISCan:ZONE<Z>:STATe command turns a zone off or on for the zone qualify
trigger.
<Z> An integer from 1-8.
Example The following example turns on zone 2.
myScope.WriteString ":ISCan:ZONE2:STATe ON"
Query :ISCan:ZONE<Z>:STATe?
The query returns the state value for a zone.
Returned Format [:ISCan:ZONE<Z>:STATe] {1 | 0}<NL>
Example The following example returns the current state value for zone 2.
Dim strSTATE As String
myScope.WriteString ":ISCan:ZONE2:STATe?"
strSTATE = myScope.ReadString
Debug.Print strSTATE
See Also •":ISCan:ZONE:HIDE" on page 627
•":ISCan:ZONE:SOURce" on page 628
•":ISCan:ZONE<Z>:MODE" on page 629
•":ISCan:ZONE<Z>:PLACement" on page 630
•":ISCan:ZONE<Z>:SOURce" on page 631
History Legacy command (existed before version 3.10).
633
Keysight Infiniium Oscilloscopes
Programmer's Guide
24 Limit Test Commands
:LTESt:ADDStats / 634
:LTESt:FAIL / 635
:LTESt:LLIMit — Lower Limit / 637
:LTESt:MEASurement / 638
:LTESt:RESults? / 639
:LTESt:RUMode:SOFailure / 640
:LTESt:TEST / 641
:LTESt:ULIMit — Upper Limit / 642
The Limit Test commands and queries control the limit test features of the
oscilloscope. Limit testing automatically compares measurement results with pass
or fail limits. The limit test tracks up to 20 measurements. The action taken when
the test fails is also controlled with commands in this subsystem.
634 Keysight Infiniium Oscilloscopes Programmer's Guide
24 Limit Test Commands
:LTESt:ADDStats
Command :LTESt:ADDStats {{0 | OFF} | {1 | ON}}
The :LTESt:ADDStats command enables or disables the limit test "statistics on
passing measurements only" option.
When ON, statistics are compiled on passing measurements only.
Query :LTESt:ADDStats?
The :LTESt:ADDStats? query returns the "statistics on passing measurements only"
setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":LTESt:RUMode:SOFailure" on page 640
History New in version 5.70.
Limit Test Commands 24
Keysight Infiniium Oscilloscopes Programmer's Guide 635
:LTESt:FAIL
Command :LTESt:FAIL {{INSide | OUTSide} | {COUNt | RANGe}}
For the active measurement currently selected by the :LTESt:MEASurement
command, the :LTESt:FAIL command sets the fail condition for the measurement.
When a measurement failure is detected by the limit test, the fail action conditions
are executed, and there is the potential to generate an SRQ.
INSide, OUTSide These are the fail condition options for most measurements.
• INSide — causes the oscilloscope to fail a test when the measurement results
are within the parameters set by the :LLTESt:LIMit and :LTESt:ULIMit
commands.
• OUTSide — causes the oscilloscope to fail a test when the measurement results
exceed the parameters set by :LTESt:LLIMit and :LTESt:ULIMit commands.
COUNt, RANGe When performing limit test on the BER (Per Acq) measurement
(:MEASure:BERPeracq), the fail condition options are COUNt and RANGe instead
of INSide and OUTSide.
• COUNt — causes the oscilloscope to fail a test when the BER (Bit Error Ratio)
fail count occurs. In this case, the count is specified by the :LTESt:LLIMit
command (and the :LTESt:ULIMit command does not apply).
• RANGe — causes the oscilloscope to fail a test when the BER (Bit Error Ratio)
fail count occurs within a certain number of bits. In this case, the count is
specified by the :LTESt:LLIMit command and the range of bits is specified by
the :LTESt:ULIMit command. This option is useful for finding burst errors.
Example The following example causes the oscilloscope to fail a test when the
measurements are outside the lower and upper limits.
myScope.WriteString ":LTESt:FAIL OUTSide"
Query :LTESt:FAIL?
The query returns the currently set fail condition.
Returned Format [:LTESt:FAIL] {INSide | OUTSide}<NL>
Example The following example returns the current fail condition and prints the result to the
controller's screen.
Dim strFAIL As String
myScope.WriteString ":LTESt:FAIL?"
strFAIL = myScope.ReadString
Debug.Print strFAIL
See Also •":LTESt:LLIMit — Lower Limit" on page 637
•":LTESt:MEASurement" on page 638
•":LTESt:RESults?" on page 639
•":LTESt:TEST" on page 641
Limit Test Commands 24
Keysight Infiniium Oscilloscopes Programmer's Guide 637
:LTESt:LLIMit — Lower Limit
Command :LTESt:LLIMit <lower_value>
For the active measurement currently selected by the :LTESt:MEASurement
command, the :LTESt:LLIMit (Lower LIMit) command sets the lower test limit.
<lower_value> A real number.
Example The following example sets the lower test limit to 1.0.
myScope.WriteString ":LTESt:LLIMit 1.0"
If, for example, you chose to measure volts peak-peak and want the smallest
acceptable signal swing to be one volt, you could use the above command, then
set the limit test to fail when the signal is outside the specified limit.
Query :LTESt:LLIMit?
The query returns the current value set by the command.
Returned Format [:LTESt:LLIMit]<lower_value><NL>
Example The following example returns the current lower test limit and prints the result to
the controller's screen.
Dim strLLIM As String
myScope.WriteString ":LTESt:LLIMit?"
strLLIM = myScope.ReadString
Debug.Print strLLIM
See Also •":LTESt:FAIL" on page 635
•":LTESt:MEASurement" on page 638
•":LTESt:RESults?" on page 639
•":LTESt:TEST" on page 641
•":LTESt:ULIMit — Upper Limit" on page 642
History Legacy command (existed before version 3.10).
638 Keysight Infiniium Oscilloscopes Programmer's Guide
24 Limit Test Commands
:LTESt:MEASurement
Command :LTESt:MEASurement {MEAS<N>}
The :LTESt:MEASurement command selects the measurement source for the FAIL,
LLIMit, ULIMit, and TEST commands. It selects one of the active measurements by
its number, where MEAS1 is the most recently added measurement.
<N> An integer, 1-20.
Example The following example selects the first measurement as the source for the limit
testing commands.
myScope.WriteString ":LTESt:MEASurement MEAS1"
Query :LTESt:MEASurement?
The query returns the currently selected measurement source.
Returned Format [:LTESt:MEASurement] {MEAS<N>} <NL>
Example The following example returns the currently selected measurement source for the
limit testing commands.
Dim strSOURCE As String
myScope.WriteString ":LTESt:MEASurement?"
strSOURCE = myScope.ReadString
Debug.Print strSOURCE
See Also Measurements are started in the :MEASure subsystem.
See Also •":LTESt:FAIL" on page 635
•":LTESt:LLIMit — Lower Limit" on page 637
•":LTESt:RESults?" on page 639
•":LTESt:TEST" on page 641
•":LTESt:ULIMit — Upper Limit" on page 642
History Legacy command (existed before version 3.10).
Limit Test Commands 24
Keysight Infiniium Oscilloscopes Programmer's Guide 639
:LTESt:RESults?
Query :LTESt:RESults? {MEAS<N>}
The query returns the measurement results for selected measurement.
When :LTESt:TEST is ON, the :LTESt:RESults? query returns the failed minimum
value (Fail Min), the failed maximum value (Fail Max), and the total number of
measurements made (# of Meas).
When :LTESt:TEST is OFF, the :LTESt:RESults? query returns nothing.
<N> An integer, 1-20.
Returned Format [:LTESt:RESults] <fail_min>,<fail_max>,<num_meas><NL>
<fail_min> A real number representing the total number of measurements that have failed the
minimum limit.
<fail_max> A real number representing the total number of measurements that have failed the
maximum limit.
<num_meas> A real number representing the total number of measurements that have been
made.
Example The following example returns the values for the limit test of measurement 1.
Dim strRESULTS As String
myScope.WriteString ":LTESt:RESults? MEAS1"
strRESULTS = myScope.ReadString
Debug.Print strRESULTS
See Also Measurements are started in the Measurement Subsystem.
See Also •":LTESt:FAIL" on page 635
•":LTESt:LLIMit — Lower Limit" on page 637
•":LTESt:MEASurement" on page 638
•":LTESt:TEST" on page 641
•":LTESt:ULIMit — Upper Limit" on page 642
History Legacy command (existed before version 3.10).
640 Keysight Infiniium Oscilloscopes Programmer's Guide
24 Limit Test Commands
:LTESt:RUMode:SOFailure
Command :LTESt:RUMode:SOFailure {{0 | OFF} | {1 | ON}}
The :LTESt:RUMode:SOFailure command enables or disables the limit test "stop
on failure" option.
When ON, the oscilloscope acquisition system stops once a limit failure is
detected. If more than one measurement limit test is enabled, a failure of any of
the measurements stops the oscilloscope from acquiring new waveforms.
Query :LTESt:RUMode:SOFailure?
The :LTESt:RUMode:SOFailure? query returns the "stop on failure" setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":LTESt:ADDStats" on page 634
History New in version 5.70.
Limit Test Commands 24
Keysight Infiniium Oscilloscopes Programmer's Guide 641
:LTESt:TEST
Command :LTESt:TEST {{ON | 1} {OFF | 0}}
For the active measurement currently selected by the :LTESt:MEASurement
command, the LTESt:TEST command enables or disables the limit test function on
that measurement.
When any measurement has its limit test function enabled, the overall Limit Test
feature is enabled.
The :LTESt:RESults? query returns nothing when :LTESt:TEST is OFF.
Example The following example turns off the limit test function for the active measurement
currently selected by the :LTESt:MEASurement command.
myScope.WriteString ":LTESt:TEST OFF"
Query :LTESt:TEST?
The query returns the state of the TEST control for the active measurement
currently selected by the :LTESt:MEASurement command.
Returned Format [:LTESt:TEST] {1 | 0} <NL>
Example The following example returns the current state of the limit test and prints the
result to the controller's screen.
Dim strTEST As String
myScope.WriteString ":LTESt:TEST?"
strTEST = myScope.ReadString
Debug.Print strTEST
See Also •":LTESt:FAIL" on page 635
•":LTESt:LLIMit — Lower Limit" on page 637
•":LTESt:MEASurement" on page 638
•":LTESt:RESults?" on page 639
•":LTESt:ULIMit — Upper Limit" on page 642
History Legacy command (existed before version 3.10).
642 Keysight Infiniium Oscilloscopes Programmer's Guide
24 Limit Test Commands
:LTESt:ULIMit — Upper Limit
Command :LTESt:ULIMit <upper_value>
For the active measurement currently selected by the :LTESt:MEASurement
command, the :LTESt:ULIMit (Upper LIMit) command sets the upper test limit.
<upper_value> A real number.
Example The following example sets the upper limit of the currently selected measurement
to 500 mV.
myScope.WriteString ":LTESt:ULIMit 500E-3"
Suppose you are measuring the maximum voltage of a signal with Vmax, and that
voltage should not exceed 500 mV. You can use the above program and set the
LTESt:FAIL OUTside command to specify that the limit subsystem will fail a
measurement when the voltage exceeds 500 mV.
Query :LTESt:ULIMit?
The query returns the current upper limit of the limit test.
Returned Format [:LTESt:ULIMit] <upper_value><NL>
Example The following example returns the current upper limit of the limit test and prints
the result to the controller's screen.
Dim strULIM As String
myScope.WriteString ":LTESt:ULIMit?"
strULIM = myScope.ReadString
Debug.Print strULIM
See Also •":LTESt:FAIL" on page 635
•":LTESt:LLIMit — Lower Limit" on page 637
•":LTESt:MEASurement" on page 638
•":LTESt:RESults?" on page 639
•":LTESt:TEST" on page 641
History Legacy command (existed before version 3.10).
644 Keysight Infiniium Oscilloscopes Programmer's Guide
25 Lister Commands
:LISTer:DATA?
Query :LISTer:DATA? [{SBUS1 | SBUS2 | SBUS3 | SBUS4} [,<type>]]
The :LISTer:DATA? query returns the lister data.
<type> {PACKets | SYMBols}
Specifies which display window to save.
Returned Format <binary block><NL>
<binary_block> ::= comma-separated data with newlines at the
endofeachrow
See Also •":LISTer:DISPlay" on page 645
History New in version 3.50.
Version 5.00: Added the <type> parameter for specifying which display window to
save.
Lister Commands 25
Keysight Infiniium Oscilloscopes Programmer's Guide 645
:LISTer:DISPlay
Command :LISTer:DISPlay <value>
<value> ::= {OFF | ON | SBUS1 | SBUS2 | SBUS3 | SBUS4}
The :LISTer:DISPlay command configures which of the serial buses to display in
the Lister, or whether the Lister is off. "ON" or "1" is the same as "SBUS1".
When set to "ALL", the decode information for different buses is interleaved in
time.
Serial bus decode must be on before it can be displayed in the Lister.
Query :LISTer:DISPlay?
The :LISTer:DISPlay? query returns the Lister display setting.
Returned Format <value><NL>
<value> ::= {OFF | ON | SBUS1 | SBUS2 | SBUS3 | SBUS4}
See Also •":SBUS<N>[:DISPlay]" on page 1055
•":LISTer:DATA?" on page 644
History New in version 3.50.
646 Keysight Infiniium Oscilloscopes Programmer's Guide
25 Lister Commands
647
Keysight Infiniium Oscilloscopes
Programmer's Guide
26 Marker Commands
:MARKer:CURSor? / 648
:MARKer:DELTa / 649
:MARKer:MEASurement:MEASurement / 650
:MARKer:MODE / 651
:MARKer:TSTArt / 652
:MARKer:TSTOp / 653
:MARKer:VSTArt / 654
:MARKer:VSTOp / 655
:MARKer:X1Position / 656
:MARKer:X2Position / 657
:MARKer:X1Y1source / 658
:MARKer:X2Y2source / 660
:MARKer:XDELta? / 662
:MARKer:Y1Position / 663
:MARKer:Y2Position / 664
:MARKer:YDELta? / 665
The commands in the MARKer subsystem specify and query the settings of the
time markers (X axis) and current measurement unit markers (volts, amps, and
watts for the Y axis). You typically set the Y-axis measurement units using the
:CHANnel:UNITs command.
NOTE
Guidelines for Using Queries in Marker Modes
In Track Waveforms mode, use :MARKer:CURSor? to track the position of the waveform. In
Manual Markers and Track Measurements Markers modes, use other queries, such as the
X1Position? and X2Position?, and VSTArt? and VSTOp? queries. If you use :MARKer:CURSor?
when the oscilloscope is in either Manual Markers or Track Measurements Markers modes, it
will put the oscilloscope in Track Waveforms mode, regardless of the mode previously
selected. In addition, measurement results may not be what you expected.
648 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:CURSor?
Query :MARKer:CURSor? {DELTa | STARt | STOP}
The :MARKer:CURSor? query returns the time and current measurement unit
values of the specified marker (if markers are in Track Waveforms mode) as an
ordered pair of time and measurement unit values.
• If DELTA is specified, the value of delta Y and delta X are returned.
• If START is specified, marker A's x-to-y positions are returned.
• If STOP is specified, marker B's x-to-y positions are returned.
Returned Format [:MARKer:CURSor] {DELTa | STARt | STOP}
{<Ax, Ay> | <Bx, By> | <deltaX, deltaY>}<NL>
Example This example returns the current position of the X cursor and measurement unit
marker 1 to the string variable, strPosition. The program then prints the contents
of the variable to the computer's screen.
Dim strPosition As String ' Dimension variable.
myScope.WriteString ":MARKer:CURSor? STARt"
strPosition = myScope.ReadString
Debug.Print strPosition
History Legacy command (existed before version 3.10).
CAUTION
The :MARKer:CURSor? query may change marker mode and results.
In Track Waveforms mode, use :MARKer:CURSor? to track the position of the
waveform. In Manual Markers and Track Measurements Markers modes, use other
marker queries, such as the X1Position? and X2Position?, and VSTArt? and VSTOp?
queries.
If you use :MARKer:CURSor? when the oscilloscope is in either Manual Markers or
Track Measurements Markers modes, it will put the oscilloscope in Track Waveforms
mode, regardless of the mode previously selected. In addition, measurement results
may not be what you expected. In addition, measurement results may not be what you
expected.
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 649
:MARKer:DELTa
Command :MARKer:DELTa {{0 | OFF} | {1 | ON}}
The :MARKer:DELTa command turns on or off the graphical user interface's Delta
Markers check box setting to display deltas on the screen (as opposed to the deltas
in the results area and remote queries).
Query :MARKer:DELTa?
The :MARKer:DELTa? query returns the graphical user interface's Delta Markers
check box setting (in the Markers dialog box).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":MARKer:XDELta?" on page 662
•":MARKer:YDELta?" on page 665
History New in version 6.10.
650 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:MEASurement:MEASurement
Command :MARKer:MEASurement:MEASurement {MEASurement<N>}
The :MARKer:MEASurement:MEASurement command specifies which
measurement markers track. This setting is only used when the :MARKer:MODE is
set to MEASurement.
<N> An integer, 1-20.
Example This example sets the markers to track the fourth measurement.
myScope.WriteString ":MARKer:MEASurement:MEASurement MEASurement4"
Query :MARKer:MEASurement:MEASurement?
The :MARKer:MEASurement:MEASurement? query returns the currently specified
measurement for marker tracking.
Returned Format [:MARKer:MEASurement:MEASurement] {MEAS<N>}<NL>
Example This example places the current marker mode in the string variable, strTrackMeas,
then prints the contents of the variable to the computer's screen.
Dim strTrackMeas As String ' Dimension variable.
myScope.WriteString ":MARKer:MEASurement:MEASurement?"
strTrackMeas = myScope.ReadString
Debug.Print strTrackMeas
See Also •":MARKer:MODE" on page 651
History New in version 3.20.
Version 5.00: Up to 20 measurements are supported.
NOTE
When <N> is 10-20, the long form of the mnemonic, MEASurement<N>, is too long. In this
case, you must use the short form, MEAS<N>.
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 651
:MARKer:MODE
Command :MARKer:MODE {OFF | MANual | WAVeform | MEASurement | XONLy | YONLy}
The :MARKer:MODE command sets the marker mode:
• OFF — Removes the marker information from the display.
• MANual — Enables manual placement of both X (horizontal) and Y (vertical)
markers.
• XONLy — Enables manual placement of X (horizontal) markers.
• YONLy — Enables manual placement of Y (vertical) markers.
• WAVeform — Tracks the current waveform.
• MEASurement — Tracks the most recent measurement.
Example This example sets the marker mode to waveform.
myScope.WriteString ":MARKer:MODE WAVeform"
Query :MARKer:MODE?
The :MARKer:MODE? query returns the current marker mode.
Returned Format [:MARKer:MODE] {OFF | MAN | WAV | MEAS | XONL | YONL}<NL>
Example This example places the current marker mode in the string variable, strSelection,
then prints the contents of the variable to the computer's screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":MARKer:MODE?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
Version 5.00: The FFTPeak mode was removed.
Version 5.70: Added XONLy and YONLy options for for the "Manual (X only)" and
"Manual (Y only)" marker modes.
652 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:TSTArt
Command :MARKer:TSTArt <Ax_position>
The :MARKer:TSTArt command sets the Ax marker position. The
:MARKer:X1Position command described in this chapter also sets the Ax marker
position.
<Ax_position> A real number for the time at the Ax marker, in seconds.
Example This example sets the Ax marker at 90 ns. Notice that this example uses the
X1Position command instead of TSTArt.
myScope.WriteString ":MARKer:X1Position 90E-9"
Query :MARKer:TSTArt?
The :MARKer:TSTArt? query returns the time at the Ax marker.
Returned Format [:MARKer:TSTArt] <Ax_position><NL>
Example This example places the current setting of the Ax marker in the numeric variable,
varSetting, then prints the contents of the variable to the computer's screen.
Notice that this example uses the :MARKer:X1Position? query instead of the
:MARKer:TSTArt? query.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:X1Position?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
NOTE
Use :MARKer:X1Position Instead of :MARKer:TSTArt
The :MARKer:TSTArt command and query perform the same function as the
:MARKer:X1Position command and query. The :MARKer:TSTArt command is provided for
compatibility with programs written for previous oscilloscopes. You should use
:MARKer:X1Position for new programs.
NOTE
Do Not Use TST as the Short Form of TSTArt and TSTOp
The short form of the TSTArt command and query does not follow the defined convention for
short form commands. Because the short form, TST, is the same for TSTArt and TSTOp,
sending TST produces an error. Use TSTA for TSTArt.
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 653
:MARKer:TSTOp
Command :MARKer:TSTOp <Bx_position>
The :MARKer:TSTOp command sets the Bx marker position. The
:MARKer:X2Position command described in this chapter also sets the Bx marker
position.
<Bx_position> A real number for the time at the Bx marker, in seconds.
Example This example sets the Bx marker at 190 ns. Notice that this example uses the
X2Position command instead of TSTOp.
myScope.WriteString ":MARKer:X2Position 190E-9"
Query :MARKer:TSTOp?
The :MARKer:TSTOp? query returns the time at the Bx marker position.
Returned Format [:MARKer:TSTOp] <Bx_position><NL>
Example This example places the current setting of the Bx marker in the numeric variable,
varSetting, then prints the contents of the variable to the computer's screen.
Notice that this example uses the :MARKer:X2Position? query instead of the
:MARKer:TSTOp? query.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:X2Position?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
NOTE
Use :MARKer:X2Position Instead of :MARKer:TSTOp
The :MARKer:TSTOp command and query perform the same function as the
:MARKer:X2Position command and query. The :MARKer:TSTOp command is provided for
compatibility with programs written for previous oscilloscopes. You should use
:MARKer:X2Position for new programs.
NOTE
Do Not Use TST as the Short Form of TSTArt and TSTOp
The short form of the TSTOp command and query does not follow the defined convention for
short form commands. Because the short form, TST, is the same for TSTArt and TSTOp,
sending TST produces an error. Use TSTO for TSTOp.
654 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:VSTArt
Command :MARKer:VSTArt <Ay_position>
The :MARKer:VSTArt command sets the Ay marker position and moves the
Ay marker to the specified measurement unit value on the specified source. The
:MARKer:Y1Position command described in this chapter does also.
<Ay_position> A real number for the current measurement unit value at Ay (volts, amps, or watts).
Example This example sets Ay to -10 mV. Notice that this example uses the Y1Position
command instead of VSTArt.
myScope.WriteString ":MARKer:Y1Position -10E-3"
Query :MARKer:VSTArt?
The :MARKer:VSTArt? query returns the current measurement unit level of Ay.
Returned Format [:MARKer:VSTArt] <Ay_position><NL>
History Legacy command (existed before version 3.10).
NOTE
Use :MARKer:Y1Position Instead of :MARKer:VSTArt
The :MARKer:VSTArt command and query perform the same function as the
:MARKer:Y1Position command and query. The :MARKer:VSTArt command is provided for
compatibility with programs written for previous oscilloscopes. You should use
:MARKer:Y1Position for new programs.
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 655
:MARKer:VSTOp
Command :MARKer:VSTOp <By_position>
The :MARKer:VSTOp command sets the By marker position. The
:MARKer:Y2Position command described in this chapter also sets the By marker
position.
<By_position> A real number for the time at the By marker, in seconds.
Example This example sets the By marker at 10 mV. Notice that this example uses the
Y2Position command instead of VSTOp.
myScope.WriteString ":MARKer:Y2Position 10E-3"
Query :MARKer:VSTOp?
The :MARKer:VSTOp? query returns the time at the By marker position.
Returned Format [:MARKer:VSTOp] <By_position><NL>
Example This example places the current setting of the By marker in the numeric variable,
varSetting, then prints the contents of the variable to the computer's screen.
Notice that this example uses the :MARKer:Y2? query instead of the
:MARKer:VSTOp? query.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:Y2Position?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
NOTE
Use :MARKer:Y2Position Instead of :MARKer:VSTOp
The :MARKer:VSTOp command and query perform the same function as the
:MARKer:Y2Position command and query. The :MARKer:VSTOp command is provided for
compatibility with programs written for previous oscilloscopes. You should use
:MARKer:Y2Position for new programs.
656 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:X1Position
Command :MARKer:X1Position <Ax_position>
The :MARKer:X1Position command sets the Ax marker position, and moves the Ax
marker to the specified time with respect to the trigger time.
<Ax_position> A real number for the time at the Ax marker in seconds.
Example This example sets the Ax marker to 90 ns.
myScope.WriteString ":MARKer:X1Position 90E-9"
Query :MARKer:X1Position?
The :MARKer:X1Position? query returns the time at the Ax marker position.
Returned Format [:MARKer:X1Position] <Ax_position><NL>
Example This example returns the current setting of the Ax marker to the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:X1Position?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also :MARKer:TSTArt
History Legacy command (existed before version 3.10).
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 657
:MARKer:X2Position
Command :MARKer:X2Position <Bx_position>
The :MARKer:X2Position command sets the Bx marker position and moves the Bx
marker to the specified time with respect to the trigger time.
<Bx_position> A real number for the time at the Bx marker in seconds.
Example This example sets the Bx marker to 90 ns.
myScope.WriteString ":MARKer:X2Position 90E-9"
Query :MARKer:X2Position?
The :MARKer:X2Position? query returns the time at Bx marker in seconds.
Returned Format [:MARKer:X2Position] <Bx_position><NL>
Example This example returns the current position of the Bx marker to the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:X2Position?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
658 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:X1Y1source
Command :MARKer:X1Y1source {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized
| HISTogram | DIGital<M> | BUS<B>}
The :MARKer:X1Y1source command sets the source for the Ax and Ay markers.
The channel you specify must be enabled for markers to be displayed. If the
channel, function, or waveform memory that you specify is not on, an error
message is issued and the query will return channel 1.
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
<B> An integer, 1-4. Buses are available on mixed-signal oscilloscopes.
Example This example selects channel 1 as the source for markers Ax and Ay.
myScope.WriteString ":MARKer:X1Y1source CHANnel1"
Query :MARKer:X1Y1source?
The :MARKer:X1Y1source? query returns the current source for markers Ax and Ay.
Returned Format [:MARKer:X1Y1source] {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized
| HISTogram | DIGital<M> | BUS<B>}<NL>
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 659
Example This example returns the current source selection for the Ax and Ay markers to the
string variable, strSelection, then prints the contents of the variable to the
computer's screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":MARKer:X1Y1source?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
660 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:X2Y2source
Command :MARKer:X2Y2source {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized
| HISTogram | DIGital<M> | BUS<B>}
The :MARKer:X2Y2source command sets the source for the Bx and By markers.
The channel you specify must be enabled for markers to be displayed. If the
channel, function, or waveform memory that you specify is not on, an error
message is issued and the query will return channel 1.
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
<B> An integer, 1-4. Buses are available on mixed-signal oscilloscopes.
Example This example selects channel 1 as the source for markers Bx and By.
myScope.WriteString ":MARKer:X2Y2source CHANnel1"
Query :MARKer:X2Y2source?
The :MARKer:X2Y2source? query returns the current source for markers Bx and By.
Returned Format [:MARKer:X2Y2source] {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized
| HISTogram | DIGital<M> | BUS<B>}<NL>
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 661
Example This example returns the current source selection for the Bx and By markers to the
string variable, strSelection, then prints the contents of the variable to the
computer's screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":MARKer:X2Y2source?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
662 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:XDELta?
Query :MARKer:XDELta?
The :MARKer:XDELta? query returns the time difference between Ax and Bx time
markers.
Xdelta = time at Bx - time at Ax
Returned Format [:MARKer:XDELta] <time><NL>
<time> Time difference between Ax and Bx time markers in seconds.
Example This example returns the current time between the Ax and Bx time markers to the
numeric variable, varTime, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:XDELta?"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
History Legacy command (existed before version 3.10).
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 663
:MARKer:Y1Position
Command :MARKer:Y1Position <Ay_position>
The :MARKer:Y1Position command sets the Ay marker position on the specified
source.
<Ay_position> A real number for the current measurement unit value at Ay (volts, amps, or watts).
Example This example sets the Ay marker to 10 mV.
myScope.WriteString ":MARKer:Y1Position 10E-3"
Query :MARKer:Y1Position?
The :MARKer:Y1Position? query returns the current measurement unit level at the
Ay marker position.
Returned Format [:MARKer:Y1Position] <Ay_position><NL>
Example This example returns the current setting of the Ay marker to the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:Y1Position?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
664 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
:MARKer:Y2Position
Command :MARKer:Y2Position <By_position>
The :MARKer:Y2Position command sets the By marker position on the specified
source.
<By_position> A real number for the current measurement unit value at By (volts, amps, or watts).
Example This example sets the By marker to-100 mV.
myScope.WriteString ":MARKer:Y2Position -100E-3"
Query :MARKer:Y2Position?
The :MARKer:Y2Position? query returns the current measurement unit level at the
By marker position.
Returned Format [:MARKer:Y2Position] <By_position><NL>
Example This example returns the current setting of the By marker to the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:Y2Position?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Marker Commands 26
Keysight Infiniium Oscilloscopes Programmer's Guide 665
:MARKer:YDELta?
Query :MARKer:YDELta?
The :MARKer:YDELta? query returns the current measurement unit difference
between Ay and By.
Ydelta = value at By - value at Ay
Returned Format [:MARKer:YDELta] <value><NL>
<value> Measurement unit difference between Ay and By.
Example This example returns the voltage difference between Ay and By to the numeric
variable, varVolts, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MARKer:YDELta?"
varVolts = myScope.ReadNumber
Debug.Print FormatNumber(varVolts, 0)
History Legacy command (existed before version 3.10).
666 Keysight Infiniium Oscilloscopes Programmer's Guide
26 Marker Commands
667
Keysight Infiniium Oscilloscopes
Programmer's Guide
27 Mask Test Commands
:MTESt:ALIGn / 669
:MTESt:AlignFIT / 670
:MTESt:AMASk:CREate / 672
:MTESt:AMASk:SOURce / 673
:MTESt:AMASk:SAVE / 675
:MTESt:AMASk:UNITs / 676
:MTESt:AMASk:XDELta / 677
:MTESt:AMASk:YDELta / 678
:MTESt:AUTO / 679
:MTESt:AVERage / 680
:MTESt:AVERage:COUNt / 681
:MTESt:COUNt:FAILures? / 682
:MTESt:COUNt:FUI? / 683
:MTESt:COUNt:FWAVeforms? / 684
:MTESt:COUNt:MARGin:FAILures? / 685
:MTESt:COUNt:SUI? / 686
:MTESt:COUNt:UI? / 687
:MTESt:COUNt:WAVeforms? / 688
:MTESt:DELete / 689
:MTESt:ENABle / 690
:MTESt:FOLDing (Clock Recovery software only) / 691
:MTESt:FOLDing:BITS / 693
:MTESt:FOLDing:COUNt:UI? / 695
:MTESt:FOLDing:COUNt:WAVeforms? / 697
:MTESt:FOLDing:FAST / 699
:MTESt:FOLDing:POSition / 701
:MTESt:FOLDing:SCALe / 703
:MTESt:FOLDing:TPOSition / 705
:MTESt:FOLDing:TSCale / 707
:MTESt:HAMPlitude / 709
:MTESt:IMPedance / 710
:MTESt:INVert / 711
668 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:LAMPlitude / 712
:MTESt:LOAD / 713
:MTESt:MARGin:AUTO:HITS / 714
:MTESt:MARGin:AUTO:HRATio / 715
:MTESt:MARGin:AUTO:METHod / 716
:MTESt:MARGin:METHod / 717
:MTESt:MARGin:PERCent / 718
:MTESt:MARGin:STATe / 719
:MTESt:NREGions? / 720
:MTESt:PROBe:IMPedance? / 721
:MTESt:RUMode / 722
:MTESt:RUMode:SOFailure / 723
:MTESt:SCALe:BIND / 724
:MTESt:SCALe:X1 / 725
:MTESt:SCALe:XDELta / 726
:MTESt:SCALe:Y1 / 727
:MTESt:SCALe:Y2 / 728
:MTESt:SOURce / 729
:MTESt:STARt / 730
:MTESt:STOP / 731
:MTESt:STIMe / 732
:MTESt:TITLe? / 733
:MTESt:TRIGger:SOURce / 734
The MTESt subsystem commands and queries control the mask test features.
Mask Testing automatically compares measurement results with the boundaries of
a set of polygons that you define. Any waveform or sample that falls within the
boundaries of one or more polygons is recorded as a failure.
The FOLDing command is only available when the E2688A Clock Recovery
Software is installed.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 669
:MTESt:ALIGn
Command :MTESt:ALIGn
The :MTESt:ALIGn command automatically aligns and scales the mask to the
current waveform on the display. The type of mask alignment performed depends
on the current setting of the Use File Setup When Aligning control. See the
:MTESt:AUTO command for more information.
Example This example aligns the current mask to the current waveform.
myScope.WriteString ":MTESt:ALIGn"
History Legacy command (existed before version 3.10).
670 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:AlignFIT
Command :MTESt:AlignFIT {EYEAMI | EYECMI | EYENRZ | FANWidth | FAPeriod
| FAPWidth | FYNWidth | FYPWidth | NONE | NWIDth
|PWIDth|TMAX|TMIN}
The :MTESt:AlignFIT command specifies the alignment type for aligning a mask to
a waveform. The pulse mask standard has rules that determine which controls the
oscilloscope can adjust or change during the alignment process. In the following
table of alignment types, an X in a column indicates that the control can be
adjusted.
Example This example specifies the alignment type to be EYEAMI.
myScope.WriteString ":MTESt:AlignFIT EYEAMI"
Query :MTESt:AlignFIT?
The :MTESt:AlignFIT? query returns the alignment type used for the mask.
Table 13 Available Alignment Types
Alignment
Type
Waveform
Type
Horizontal
Position
0 Level
Voltage
1 Level
Voltage
Vertical
Offset
Invert
Waveform
EYEAMI AMI X X X
EYECMI CMI X X X
EYENRZ NRZ X X X
FANWid th Negative X X X
FAPeriod Full Period X X
FAPWidth Positive X X X
FYNWidth Negative X X X
FYPWidth Positive X X X
NONE Automask
NWIDth Negative
Pulse
XXX X
PWIDth Positive
Pulse
XXX X
TMAX Positive
Sine Pulse
XXX X
TMIN Negative
Sine Pulse
XXX X
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 671
Returned Format [:MTESt:AlignFIT] {EYEAMI | EYECMI | EYENRZ | FANWidth | FAPeriod
| FAPWidth | FYNWidth | FYPWidth | NONE | NWIDth
| PWIDth | TMAX | TMIN}<NL>
History Legacy command (existed before version 3.10).
672 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:AMASk:CREate
Command :MTESt:AMASk:CREate
The :MTESt:AMASk:CREate command automatically constructs a mask around the
current selected channel, using the tolerance parameters defined by the
AMASk:XDELta, AMASk:YDELta, and AMASk:UNITs commands. The mask only
encompasses the portion of the waveform visible on the display, so you must
ensure that the waveform is acquired and displayed consistently to obtain
repeatable results.
The :MTESt:SOURce command selects the channel and should be set before using
this command.
Example This example creates an automask using the current XDELta and YDELta units
settings.
myScope.WriteString ":MTESt:AMASk:CREate"
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 673
:MTESt:AMASk:SOURce
Command :MTESt:AMASk:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | CLOCk | EQUalized
| MTRend | MSPectrum}
The :MTESt:AMASk:SOURce command selects the source for the interpretation of
the AMASk:XDELta and AMASk:YDELta parameters when AMASk:UNITs is set to
CURRent. When UNITs are CURRent, the XDELta and YDELta parameters are
defined in terms of the channel units, as set by the :CHANnel:UNITs command, of
the selected source. Suppose that UNITs are CURRent and that you set SOURce to
CHANnel1, which is using units of volts. Then you can define AMASk:XDELta in
terms of volts and AMASk:YDELta in terms of seconds.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the automask source to Channel 1.
myScope.WriteString ":MTESt:AMASk:SOURce CHANnel1"
Query :MTESt:AMASk:SOURce?
The :MTESt:AMASk:SOURce? query returns the currently set source.
Returned Format [:MTESt:AMASk:SOURce] {CHANnel<N> | DIFF<D> | COMMonmode<C>
| WMEMory<R> | FUNCtion<F> | CLOCk | EQUalized
| MTRend | MSPectrum}<NL>
Example This example gets the source setting for automask and prints the result on the
computer display.
Dim strAmask_source As String
myScope.WriteString ":MTESt:AMASk:SOURce?"
strAmask_source = myScope.ReadString
Debug.Print strAmask_source
674 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 675
:MTESt:AMASk:SAVE
Command :MTESt:AMASk:{SAVE | STORe} "<filename>"
The :MTESt:AMASk:SAVE command saves the automask generated mask to a file.
If an automask has not been generated, an error occurs.
<filename> An MS-DOS compatible name of the file, a maximum of 254 characters long
(including the path name, if used). The filename assumes the present working
directory if a path does not precede the file name. The default save path is C:\
Users\Public\Documents\Infiniium\masks. The filename must have a .msk or
.MSK extension or the command will fail.
Example This example saves the automask generated mask to a file named "FILE1.MSK".
myScope.WriteString ":MTESt:AMASk:SAVE""FILE1.MSK"""
History Legacy command (existed before version 3.10).
NOTE
The :MTESt:AMASk:STORe command is equivalent to the :MTESt:AMASk:SAVE command.
676 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:AMASk:UNITs
Command :MTESt:AMASk:UNITs {CURRent | DIVisions}
The :MTESt:AMASk:UNITs command alters the way the mask test subsystem
interprets the tolerance parameters for automasking as defined by AMASk:XDELta
and AMASk:YDELta commands.
CURRent When set to CURRent, the mask test subsystem uses the units as set by the
:CHANnel:UNITs command, usually time for ΔX and voltage for ΔY.
DIVisions When set to DIVisions, the mask test subsystem uses the graticule as the
measurement system, so tolerance settings are specified as parts of a screen
division. The mask test subsystem maintains separate XDELta and YDELta settings
for CURRent and DIVisions. Thus, XDELta and YDELta are not converted to new
values when the UNITs setting is changed.
Example This example sets the measurement units for automasking to the current
:CHANnel:UNITs setting.
myScope.WriteString ":MTESt:AMASk:UNITs CURRent"
Query :MTESt:AMASk:UNITs?
The AMASk:UNITs query returns the current measurement units setting for the
mask test automask feature.
Returned Format [:MTESt:AMASk:UNITs] {CURRent | DIVision}<NL>
Example This example gets the automask units setting, then prints the setting on the screen
of the computer.
Dim strAutomask_units As String
myScope.WriteString ":MTESt:AMASk:UNITs?"
strAutomask_units = myScope.ReadString
Debug.Print strAutomask_units
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 677
:MTESt:AMASk:XDELta
Command :MTESt:AMASk:XDELta <xdelta_value>
The :MTESt:AMASk:XDELta command sets the tolerance in the X direction around
the waveform for the automasking feature. The absolute value of the tolerance will
be added and subtracted to horizontal values of the waveform to determine the
boundaries of the mask.
<xdelta_value> A value for the horizontal tolerance. This value is interpreted based on the setting
specified by the AMASk:UNITs command; thus, if you specify 250-E3, the setting
for AMASk:UNITs is CURRent, and the current setting specifies time in the
horizontal direction, the tolerance will be ±250 ms. If the setting for AMASk:UNITs
is DIVisions, the same xdelta_value will set the tolerance to ±250 millidivisions, or
1/4 of a division.
Example This example sets the units to divisions and sets the ΔX tolerance to one-eighth of
a division.
myScope.WriteString ":MTESt:AMASk:UNITs DIVisions"
myScope.WriteString ":MTESt:AMASk:XDELta 125E-3"
Query :MTESt:AMASk:XDELta?
The AMASk:XDELta? query returns the current setting of the ΔX tolerance for
automasking. If your computer program will interpret this value, it should also
request the current measurement system using the AMASk:UNITs query.
Returned Format [:MTESt:AMASk:XDELta] <xdelta_value><NL>
Example This example gets the measurement system units and ΔX settings for automasking
from the oscilloscope and prints the results on the computer screen.
Dim strAutomask_units As String
Dim strAutomask_xdelta As String
myScope.WriteString ":MTESt:AMASk:UNITs?"
strAutomask_units = myScope.ReadString
myScope.WriteString ":MTESt:AMASk:XDELta?"
strAutomask_xdelta = myScope.ReadString
Debug.Print strAutomask_units
Debug.Print strAutomask_xdelta
History Legacy command (existed before version 3.10).
678 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:AMASk:YDELta
Command :MTESt:AMASk:YDELta <ydelta_value>
The :MTESt:AMASk:YDELta command sets the vertical tolerance around the
waveform for the automasking feature. The absolute value of the tolerance will be
added and subtracted to vertical values of the waveform to determine the
boundaries of the mask.
This command requires that mask testing be enabled, otherwise a settings conflict
error message is displayed. See :MTESt:ENABle for information on enabling mask
testing.
<ydelta_value> A value for the vertical tolerance. This value is interpreted based on the setting
specified by the AMASk:UNITs command; thus, if you specify 250-E3, the setting
for AMASk:UNITs is CURRent, and the current setting specifies voltage in the
vertical direction, the tolerance will be ±250 mV. If the setting for AMASk:UNITs is
DIVisions, the same ydelta_value will set the tolerance to ±250 millidivisions, or
1/4 of a division.
Example This example sets the units to current and sets the ΔY tolerance to 30 mV,
assuming that the current setting specifies volts in the vertical direction.
myScope.WriteString ":MTESt:AMASk:UNITs CURRent"
myScope.WriteString ":MTESt:AMASk:YDELta 30E-3"
Query :MTESt:AMASk:YDELta?
The AMASk:YDELta? query returns the current setting of the ΔY tolerance for
automasking. If your computer program will interpret this value, it should also
request the current measurement system using the AMASk:UNITs query.
Returned Format [:MTESt:AMASk:YDELta] <ydelta_value><NL>
Example This example gets the measurement system units and ΔY settings for automasking
from the oscilloscope and prints the results on the computer screen.
Dim strAutomask_units As String
Dim strAutomask_ydelta As String
myScope.WriteString ":MTESt:AMASk:UNITs?"
strAutomask_units = myScope.ReadString
myScope.WriteString ":MTESt:AMASk:YDELta?"
strAutomask_ydelta = myScope.ReadString
Debug.Print strAutomask_units
Debug.Print strAutomask_ydelta
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 679
:MTESt:AUTO
Command :MTESt:AUTO {{ON | 1} | {OFF | 0}}
The :MTESt:AUTO command enables (ON) or disables (OFF) the Use File Setup
When Aligning control. This determines which type of mask alignment is
performed when the :MTESt:ALIGn command is sent. When enabled, the
oscilloscope controls are changed to the values which are determined by the
loaded mask file. This alignment guarantees that the aligned mask and any
subsequent mask tests meet the requirements of the standard.
When disabled, the alignment is performed using the current oscilloscope
settings. This may be useful when troubleshooting problems during the design
phase of a project.
Example This example enables the Use File Settings When Aligning control.
myScope.WriteString ":MTESt:AUTO ON"
Query :MTESt:AUTO?
The :MTESt:AUTO? query returns the current value of the Use File Setup When
Aligning control.
Returned Format [:MTESt:AUTO] {1 | 0} <NL>
Example myScope.WriteString ":MTESt:AUTO?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
680 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:AVERage
Command :MTESt:AVERage {{ON | 1} | {OFF | 0}}
The :MTESt:AVERage command enables or disables averaging. When ON, the
oscilloscope acquires multiple data values for each time bucket, and averages
them. When OFF, averaging is disabled. To set the number of averages, use the
:MTESt:AVERage:COUNt command described next.
The :ACQuire:AVERage command performs the same function as this command.
Averaging is not available in PDETect mode.
Example This example turns averaging on.
myScope.WriteString ":MTESt:AVERage ON"
Query :MTESt:AVERage?
The :MTESt:AVERage? query returns the current setting for averaging.
Returned Format [:MTESt:AVERage] {1 | 0} <NL>
Example This example places the current settings for averaging into the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":MTESt:AVERage?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 681
:MTESt:AVERage:COUNt
Command :MTESt:AVERage:COUNt <count_value>
The :MTESt:AVERage:COUNt command sets the number of averages for the
waveforms. In the AVERage mode, the :MTESt:AVERage:COUNt command
specifies the number of data values to be averaged for each time bucket before
the acquisition is considered complete for that time bucket.
The :ACQuire:AVERage:COUNt command performs the same function as this
command.
<count_value> An integer, 2 to 65534, specifying the number of data values to be averaged.
Example This example specifies that 16 data values must be averaged for each time bucket
to be considered complete. The number of time buckets that must be complete for
the acquisition to be considered complete is specified by the :MTESt:COMPlete
command.
myScope.WriteString ":MTESt:AVERage:COUNt 16"
Query :MTESt:AVERage:COUNt?
The :MTESt:AVERage:COUNt? query returns the currently selected count value.
Returned Format [:MTESt:AVERage:COUNt] <value><NL>
<value> An integer, 2 to 65534, specifying the number of data values to be averaged.
Example This example checks the currently selected count value and places that value in
the string variable, varResult. The program then prints the contents of the variable
to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:AVERage:COUNt?"
varResult = myScope.ReadNumber
Debug.Print FormatNumber(varResult, 0)
History Legacy command (existed before version 3.10).
682 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:COUNt:FAILures?
Query :MTESt:COUNt:FAILures? REGion<number>
The MTESt:COUNt:FAILures? query returns the number of failures that occurred
within a particular mask region.
The value 9.999E37 is returned if mask testing is not enabled or if you specify a
region number that is unused.
<number> An integer, 1 through 8, designating the region for which you want to determine
the failure count.
Returned Format [:MTESt:COUNt:FAILures] REGion<number><number_of_failures> <NL>
<number_of_
failures>
The number of failures that have occurred for the designated region.
Example This example determines the current failure count for region 3 and prints it on the
computer screen.
Dim strMask_failures As String
myScope.WriteString ":MTESt:COUNt:FAILures? REGion3"
strMask_failures = myScope.ReadString
Debug.Print strMask_failures
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 683
:MTESt:COUNt:FUI?
Query :MTESt:COUNt:FUI?
The MTESt:COUNt:FUI? query returns the number of unit interval failures that have
occurred.
Returned Format [:MTESt:COUNt:FUI?] <unit_interval_failures> <NL>
<unit_interval_failu
res>
The number of unit interval failures.
Example This example determines the current number of unit interval failures and prints it
to the computer screen.
Dim strFailures As String
myScope.WriteString ":MTESt:COUNt:FUI?"
strFailures = myScope.ReadString
Debug.Print strFailures
See Also •":MTESt:COUNt:UI?" on page 687
•":MTESt:COUNt:SUI?" on page 686
•":MTESt:COUNt:WAVeforms?" on page 688
•":MTESt:COUNt:FWAVeforms?" on page 684
History Legacy command (existed before version 3.10).
684 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:COUNt:FWAVeforms?
Query :MTESt:COUNt:FWAVeforms?
The :MTESt:COUNt:FWAVeforms? query returns the total number of failed
waveforms in the current mask test run. This count is for all regions and all
waveforms, so if you wish to determine failures by region number, use the
COUNt:FAILures? query.
This count may not always be available. It is available only when the following
conditions are true:
• Mask testing was turned on before the histogram or color grade persistence,
and
• No mask changes have occurred, including scaling changes, editing, or new
masks.
The value 9.999E37 is returned if mask testing is not enabled, or if you have
modified the mask.
Returned Format [:MTESt:COUNt:FWAVeforms] <number_of_failed_waveforms><NL>
<number_
of_failed_
waveforms>
The total number of failed waveforms for the current test run.
Example This example determines the number of failed waveforms and prints the result on
the computer screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:COUNt:FWAVeforms?"
strMask_fwaveforms = myScope.ReadString
Debug.Print strMask_fwaveforms
See Also •":MTESt:COUNt:UI?" on page 687
•":MTESt:COUNt:FUI?" on page 683
•":MTESt:COUNt:SUI?" on page 686
•":MTESt:COUNt:WAVeforms?" on page 688
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 685
:MTESt:COUNt:MARGin:FAILures?
Query :MTESt:COUNt:MARGin:FAILures? REGion<number>
<number> ::= an integer, 1-8.
The :MTESt:COUNt:MARGin:FAILures? query returns the margin failure count for a
specified region.
Returned Format <failures><NL>
<failures> ::= number of failures in NR3 format.
See Also •":MTESt:MARGin:STATe" on page 719
•":MTESt:MARGin:METHod" on page 717
•":MTESt:MARGin:PERCent" on page 718
•":MTESt:MARGin:AUTO:METHod" on page 716
•":MTESt:MARGin:AUTO:HITS" on page 714
•":MTESt:MARGin:AUTO:HRATio" on page 715
History New in version 5.70.
686 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:COUNt:SUI?
Query :MTESt:COUNt:SUI?
The :MTESt:COUNt:SUI? query returns the total number of samples that have been
mask tested in the UI bit time.
This count is valid only when mask testing a real-time eye.
Returned Format [:MTESt:COUNt:SUI?] <samples_tested><NL>
<samples_tested> The total number of samples that have been mask tested in the UI bit time.
See Also •":MTESt:COUNt:UI?" on page 687
•":MTESt:COUNt:FUI?" on page 683
•":MTESt:COUNt:WAVeforms?" on page 688
•":MTESt:COUNt:FWAVeforms?" on page 684
History New in version 6.00.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 687
:MTESt:COUNt:UI?
Query :MTESt:COUNt:UI?
The MTESt:COUNt:UI? query returns the number of unit intervals that have been
mask tested.
Returned Format [:MTESt:COUNt:UI?] <unit_intervals_tested> <NL>
<unit_intervals_tes
ted>
The number of unit intervals tested.
Example This example determines the current number of unit intervals tested and prints it
to the computer screen.
Dim strUnit_intervals As String
myScope.WriteString ":MTESt:COUNt:UI?"
strUnit_intervals = myScope.ReadString
Debug.Print strUnit_intervals
See Also •":MTESt:COUNt:FUI?" on page 683
•":MTESt:COUNt:SUI?" on page 686
•":MTESt:COUNt:WAVeforms?" on page 688
•":MTESt:COUNt:FWAVeforms?" on page 684
History Legacy command (existed before version 3.10).
688 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:COUNt:WAVeforms?
Query :MTESt:COUNt:WAVeforms?
The :MTESt:COUNt:WAVeforms? query returns the total number of waveforms
acquired in the current mask test run. The value 9.999E37 is returned if mask
testing is not enabled.
Returned Format [:MTESt:COUNt:WAVeforms] <number_of_waveforms><NL>
<number_of_
waveforms>
The total number of waveforms for the current test run.
Example This example determines the number of waveforms acquired in the current test run
and prints the result on the computer screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:COUNt:WAVeforms?"
varMask_waveforms = myScope.ReadNumber
Debug.Print FormatNumber(varMask_waveforms, 0)
See Also •":MTESt:COUNt:UI?" on page 687
•":MTESt:COUNt:FUI?" on page 683
•":MTESt:COUNt:SUI?" on page 686
•":MTESt:COUNt:FWAVeforms?" on page 684
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 689
:MTESt:DELete
Command :MTESt:DELete
The :MTESt:DELete command clears the currently loaded mask.
Example This example clears the currently loaded mask.
myScope.WriteString ":MTESt:DELete"
History Legacy command (existed before version 3.10).
690 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:ENABle
Command :MTESt:ENABle {{ON | 1} | {OFF | 0}}
The :MTESt:ENABle command enables or disables the mask test features.
ON Enables the mask test features.
OFF Disables the mask test features.
Example This example enables the mask test features.
myScope.WriteString ":MTESt:ENABle ON"
Query :MTESt:ENABle?
The :MTESt:ENABle? query returns the current state of mask test features.
Returned Format [MTESt:ENABle] {1 | 0}<NL>
Example This example places the current value of the mask test state in the numeric
variable varValue, then prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:ENABle?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 691
:MTESt:FOLDing (Clock Recovery software only)
Command
:MTESt:FOLDing {{ON | 1} | {OFF | 0}} [,<source>]
The :MTESt:FOLDing command enables (ON) or disables (OFF) the display of the
real-time eye.
Color grade must be enabled before enabling the real-time eye.
Refer to the :MEASure:CLOCk commands for clock recovery.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
If <source> is omitted:
• The real-time eye is enabled for all sources which currently have a color grade
view on.
• When enabling real-time eye, the main waveform view is turned off.
• When disabling real-time eye, the main waveform view is turned on.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example enables the display of the real-time eye.
myScope.WriteString ":MTESt:FOLDing ON"
Query :MTESt:FOLDing? [<source>]
The :MTESt:FOLDing? query returns the current state of clock recovery folding.
If <source> is omitted, the query returns ON (1) if any source has real-time eye
enabled.
NOTE
This command is only available when the E2688A Clock Recovery Software is installed.
692 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
Returned Format [:MTESt:FOLDing] {1 | 0} <NL>
Example myScope.WriteString ":MTESt:FOLDing?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:COUNt:UI?" on page 695
•":MTESt:FOLDing:COUNt:WAVeforms?" on page 697
•":MTESt:FOLDing:POSition" on page 701
•":MTESt:FOLDing:TPOSition" on page 705
•":MTESt:FOLDing:SCALe" on page 703
•":MTESt:FOLDing:TSCale" on page 707
•":ANALyze:CLOCk" on page 246
•":ANALyze:CLOCk:METHod" on page 247
•":ANALyze:CLOCk:METHod:ALIGn" on page 250
•":ANALyze:CLOCk:METHod:DEEMphasis" on page 252
•":ANALyze:CLOCk:METHod:EDGE" on page 253
•":ANALyze:CLOCk:METHod:JTF" on page 256
•":ANALyze:CLOCk:METHod:OJTF" on page 259
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which to enable/disable the real-time eye.
Version 5.50: When the <source> parameter is not provided, enabling the
real-time eye will turn off the main waveform view, and disabling the real-time eye
will turn on the main waveform view.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 693
:MTESt:FOLDing:BITS
Command
:MTESt:FOLDing:BITS <source>,{BOTH | DEEMphasis | TRANsition
| PATTern, "<pattern>", <cursor>}
The :MTESt:FOLDing:BITS command determines the type of data bits used to
create the eye pattern. The transition bits are greater in amplitude than the
deemphasis bits. The PCI Express standard requires that compliance mask testing
be done for both bit types.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<pattern> An eight character string of level values. For typical NRZ (non-return-to-zero)
signals, the levels are "1", "0", or "X" (for example, "101XX010"). For PAM-4
(four-level) signals, the levels are "3", "2", "1", "0", or "X" (for example,
"01230X03").
<cursor> A value from 0 to 7 representing which bit is bit 0 from the LSB.
Example This example sets bit type to transition bits on the CHANnel1 real-time eye.
myScope.WriteString ":MTESt:FOLDing:BITS CHANnel1,TRANsition"
Query :MTESt:FOLDing:BITS? <source>
The :MTESt:FOLDing:BITS? query returns the current setting of the real time eye
bits.
Returned Format [:MTESt:FOLDing:BITS] {BOTH | DEEMphasis | TRANsition
| PATT,<pattern>,<cursor>} <NL>
NOTE
This command is only available when the E2688A Clock Recovery Software is installed.
694 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
Example myScope.WriteString ":MTESt:FOLDing:BITS? CHANnel1"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:COUNt:UI?" on page 695
•":MTESt:FOLDing:COUNt:WAVeforms?" on page 697
•":MTESt:FOLDing:POSition" on page 701
•":MTESt:FOLDing:TPOSition" on page 705
•":MTESt:FOLDing:SCALe" on page 703
•":MTESt:FOLDing:TSCale" on page 707
History Legacy command (existed before version 3.10).
Version 4.00: Added a PATTern option for specifying bit pattern qualification for
the real-time eye display.
Version 5.00: Added the required <source> parameter to specify the waveform on
which to set the real-time eye bit qualification.
Version 5.50: The <pattern> string can contain characters "2" and "3" when
specified for PAM-4 signals.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 695
:MTESt:FOLDing:COUNt:UI?
Query :MTESt:FOLDing:COUNt:UI? [<source>]
The :MTESt:FOLDing:COUNt:UI? query returns the number of unit intervals in the
real time eye.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
If the <source> is not specified, the :MTESt:FOLDing:COUNt? query returns the
results of the first real-time eye that is on. Sources are ordered by channels,
memories, and then functions.
<F> An integer, 1-16.
<R> An integer, 1-4.
Returned Format [:MTESt:FOLDing:COUNt:UI] <UI_count><NL>
The UI count returned is a floating-point value.
Example myScope.WriteString ":MTESt:FOLDing:COUNt:UI? CHANnel1"
varUiCount = myScope.ReadNumber
Debug.Print FormatNumber(varUiCount, 0)
See Also •":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:COUNt:WAVeforms?" on page 697
•":MTESt:FOLDing:POSition" on page 701
•":MTESt:FOLDing:TPOSition" on page 705
•":MTESt:FOLDing:SCALe" on page 703
•":MTESt:FOLDing:TSCale" on page 707
History New in version 5.50. This query replaces part of the now deprecated query
":MTESt:FOLDing:COUNt?" on page 1575.
696 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
Version 5.52: The <source> parameter is now optional.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 697
:MTESt:FOLDing:COUNt:WAVeforms?
Query :MTESt:FOLDing:COUNt:WAVeforms? [<source>]
The :MTESt:FOLDing:COUNt:WAVeforms? query returns the number of waveforms
in the real time eye.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
If the <source> is not specified, the :MTESt:FOLDing:COUNt? query returns the
results of the first real-time eye that is on. Sources are ordered by channels,
memories, and then functions.
<F> An integer, 1-16.
<R> An integer, 1-4.
Returned Format [:MTESt:FOLDing:COUNt:WAVeforms] <Wfm_count><NL>
The Wfm count returned is an integer.
Example myScope.WriteString ":MTESt:FOLDing:COUNt:WAVeforms? CHANnel1"
strWfmCount = myScope.ReadString
Debug.Print strWfmCount
See Also •":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:COUNt:UI?" on page 695
•":MTESt:FOLDing:POSition" on page 701
•":MTESt:FOLDing:TPOSition" on page 705
•":MTESt:FOLDing:SCALe" on page 703
•":MTESt:FOLDing:TSCale" on page 707
History New in version 5.50. This query replaces part of the now deprecated query
":MTESt:FOLDing:COUNt?" on page 1575.
698 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
Version 5.52: The <source> parameter is now optional.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 699
:MTESt:FOLDing:FAST
Command :MTESt:FOLDing:FAST {{ON | 1} | {OFF | 0}}[,<source>]
The :MTESt:FOLDing:FAST command turns the "Fast, Worst Case Only" real-time
eye display option ON or OFF.
When ON, the oscilloscope performs a fast real-time eye display by showing only
the worst case bits and other bits that surround them.
This option can be used to speed up the real-time eye display when the
oscilloscope is using deep memory.
Worst case bits are evaluated using these 8 points inside the eye:
• Left and right of the eye at the threshold level.
• Left and right of the eye at the threshold + hysteresis level.
• Left and right of the eye at the threshold - hysteresis level.
• Top and bottom of the eye at the center.
For each bit that represents the worst case at one of the evaluated points, the
1,000 bits that surround that bit are also displayed. So, up to 8,000 bits per
acquisition can contribute to the real-time eye display. Keep in mind that one bit
can represent the worst case at multiple points or that the 1,000 bits surrounding
the worst case bits can overlap, so there can be fewer than 8,000 bits displayed
per acquisition.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
If <source> is omitted, fast worst-case real-time eye is enabled for all sources
which currently have a color grade view on.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example turns on the "Fast, Worst Case Only" real-time eye display option.
myScope.WriteString ":MTESt:FOLDing:FAST ON"
700 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
Query :MTESt:FOLDing:FAST? [<source>]
The :MTESt:FOLDing:FAST? query returns the current setting.
If <source> is omitted, the query returns ON (1) if any source has fast real time eye
enabled.
Returned Format [:MTESt:FOLDing:FAST] {1 | 0} <NL>
Example myScope.WriteString ":MTESt:FOLDing:FAST?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:COUNt:UI?" on page 695
•":MTESt:FOLDing:COUNt:WAVeforms?" on page 697
•":MTESt:FOLDing:POSition" on page 701
•":MTESt:FOLDing:TPOSition" on page 705
•":MTESt:FOLDing:SCALe" on page 703
•":MTESt:FOLDing:TSCale" on page 707
History New in version 4.50.
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which to set the fast worst-case option.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 701
:MTESt:FOLDing:POSition
Command :MTESt:FOLDing:POSition <UI_position> [,<source>]
The :MTESt:FOLDing:POSition command sets the real-time eye horizontal center
position in unit intervals.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
If <source> is omitted, this command sets the position for all sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the real-time eye horizontal center position to -0.300 UI.
myScope.WriteString ":MTESt:FOLDing:POSition -0.300"
Query :MTESt:FOLDing:POSition? [<source>]
The :MTESt:FOLDing:POSition? query returns the real-time eye horizontal center
position.
If <source> is omitted, the query returns the position for the first real-time eye.
Returned Format [:MTESt:FOLDing:POSition] <UI_position> <NL>
Example myScope.WriteString ":MTESt:FOLDing:POSition?"
strUiPosition = myScope.ReadString
Debug.Print strUiPosition
See Also •":MTESt:FOLDing:TPOSition" on page 705
•":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:COUNt:UI?" on page 695
•":MTESt:FOLDing:COUNt:WAVeforms?" on page 697
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 703
:MTESt:FOLDing:SCALe
Command :MTESt:FOLDing:SCALe <UI_scale> [,<source>]
The :MTESt:FOLDing:SCALe command sets the real-time eye horizontal scale, that
is, the number of unit intervals (UIs) shown on screen.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
If <source> is omitted, this command sets the number of unit intervals for all
sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the real-time eye horizontal scale to 2.0 UI.
myScope.WriteString ":MTESt:FOLDing:SCALe 2.0"
Query :MTESt:FOLDing:SCALe? [<source>]
The :MTESt:FOLDing:SCALe? query returns the current real-time eye horizontal
scale.
If <source> is omitted, the query returns the number of unit intervals for the first
real-time eye.
Returned Format [:MTESt:FOLDing:SCALe] <UI_scale><NL>
Example myScope.WriteString ":MTESt:FOLDing:SCALe?"
strUiScale = myScope.ReadString
Debug.Print strUiScale
See Also •":MTESt:FOLDing:TSCale" on page 707
•":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:COUNt:UI?" on page 695
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 705
:MTESt:FOLDing:TPOSition
Command :MTESt:FOLDing:TPOSition <position> [,<source>]
The :MTESt:FOLDing:TPOSition command sets the real-time eye horizontal center
position in time.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
If <source> is omitted, this command sets the position for all sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the real-time eye horizontal center position to -0.300 ns.
myScope.WriteString ":MTESt:FOLDing:TPOSition -0.300E-09"
Query :MTESt:FOLDing:TPOSition? [<source>]
The :MTESt:FOLDing:TPOSition? query returns the real-time eye horizontal center
position.
If <source> is omitted, the query returns the position for the first real-time eye.
Returned Format [:MTESt:FOLDing:TPOSition] <position> <NL>
Example myScope.WriteString ":MTESt:FOLDing:TPOSition?"
strTimePosition = myScope.ReadString
Debug.Print strTimePosition
See Also •":MTESt:FOLDing:POSition" on page 701
•":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:COUNt:UI?" on page 695
•":MTESt:FOLDing:COUNt:WAVeforms?" on page 697
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 707
:MTESt:FOLDing:TSCale
Command :MTESt:FOLDing:TSCale <scale> [,<source>]
The :MTESt:FOLDing:TSCale command sets the real-time eye horizontal scale per
division in time.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
If <source> is omitted, this command sets the number of unit intervals for all
sources.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the real-time eye horizontal scale to 2.0 microseconds.
myScope.WriteString ":MTESt:FOLDing:TSCale 2.0E-06"
Query :MTESt:FOLDing:TSCale? [<source>]
The :MTESt:FOLDing:TSCale? query returns the current real-time eye horizontal
scale.
If <source> is omitted, the query returns the number of unit intervals for the first
real-time eye.
Returned Format [:MTESt:FOLDing:TSCale] <scale><NL>
Example myScope.WriteString ":MTESt:FOLDing:TSCale?"
strTimeScale = myScope.ReadString
Debug.Print strTimeScale
See Also •":MTESt:FOLDing:SCALe" on page 703
•":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:COUNt:UI?" on page 695
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 709
:MTESt:HAMPlitude
Command :MTESt:HAMPlitude <upper_limit>
The :MTESt:HAMPlitude command sets the maximum pulse amplitude value that
passes the pulse standard. For some of the pulse communications standards, a
pulse has a range of amplitude values and still passes the standard. This command
sets the upper limit used during mask testing.
<upper_limit> A real number that represents the maximum amplitude in volts of a pulse as
allowed by the pulse standard.
Example This example sets the maximum pulse amplitude to 3.6 volts.
myScope.WriteString ":MTESt:HAMPlitude 3.6"
Query :MTESt:HAMPlitude?
The :MTESt:HAMPlitude? query returns the current value of the maximum pulse
amplitude.
Returned Format [MTESt:HAMPlitude] <upper_limit><NL>
<upper_limit> A real number that represents the maximum amplitude in volts of a pulse as
allowed by the pulse standard.
Example This example returns the current upper pulse limit and prints it to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MTESt:HAMPlitude?"
varULimit = myScope.ReadNumber
Debug.Print FormatNumber(varULimit, 0)
History Legacy command (existed before version 3.10).
710 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:IMPedance
Command :MTESt:IMPedance {NONE | IMP75 | IMP100 | IMP110 | IMP120}
The :MTESt:IMPedance command sets the desired probe impedance of the
channel being used for mask testing. This impedance value is used when starting a
mask test to determine whether or not the correct Infiniium probe is connected
and in the case of the E2621A if the switch is set to the correct impedance value.
Infiniium has an AutoProbe interface that detects probes that have Probe ID
resistors. If one of these probes is connected to the channel being mask tested and
is not the correct probe for the selected impedance, a warning dialog box appears
when the mask test is started from the human interface.
This command is meant to be used in the setup section of a mask file.
NONE Disables the probe impedance check.
IMP75 Enables the probe impedance check for the E2622A probe.
IMP100 Enables the probe impedance check for the E2621A probe with the switch set to
the 100 ohm position.
IMP110 Enables the probe impedance check for the E2621A probe with the switch set to
the 110 ohm position.
IMP120 Enables the probe impedance check for the E2621A probe with the switch set to
the 120 ohm position.
Example This example sets the probe impedance of the channel being used for mask testing
to 100 ohms.
myScope.WriteString ":MTESt:IMPedance IMP100"
Query :MTESt:IMPedance?
The :MTESt:IMPedance? query returns the current value of the mask test
impedance.
Returned Format [:MTESt:IMPedance] {NONE | IMP75 | IMP100 | IMP110 | IMP120}<NL>
Example This example returns the current value of the mask test impedance and prints the
result to the computer screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MTESt:IMPedance?"
strImpedance = myScope.ReadString
Debug.Print strImpedance
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 711
:MTESt:INVert
Command :MTESt:INVert {{ON | 1} | {OFF | 0}}
The :MTESt:INVert command inverts the mask for testing negative-going pulses.
The trigger level and mask offset are also adjusted. Not all masks support
negative-going pulse testing, and for these masks, the command is ignored.
Example This example inverts the mask for testing negative-going pulses.
myScope.WriteString ":MTESt:INVert ON"
Query :MTESt:INVert?
The :MTESt:INVert? query returns the current inversion setting.
Returned Format [:MTESt:INVert] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
712 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:LAMPlitude
Command :MTESt:LAMPlitude <lower_limit>
The :MTESt:LAMPlitude command sets the minimum pulse amplitude value that
passes the pulse standard. For some of the pulse communications standards, a
pulse has a range of amplitude values and still passes the standard. This command
sets the lower limit used during mask testing.
<lower_limit> A real number that represents the minimum amplitude in volts of a pulse as
allowed by the pulse standard.
Example This example sets the minimum pulse amplitude to 2.4 volts.
myScope.WriteString ":MTESt:LAMPlitude 2.4"
Query :MTESt:LAMPlitude?
The :MTESt LAMPlitude? query returns the current value of the minimum pulse
amplitude.
Returned Format [:MTESt:LAMPlitude] <lower_limit><NL>
<lower_limit> A real number that represents the minimum amplitude in volts of a pulse as
allowed by the pulse standard.
Example This example returns the current lower pulse limit and prints it to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF ! Response headers off.
myScope.WriteString ":MTESt:LAMPlitude?""
varULimit = myScope.ReadNumber
Debug.Print FormatNumber(varULimit, 0)
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 713
:MTESt:LOAD
Command :MTESt:LOAD "<filename>"
The :MTESt:LOAD command loads the specified mask file. The default path for
mask files is C:\Users\Public\Documents\Infiniium\masks. To use a different path,
specify the complete path and file name.
<filename> An MS-DOS compatible name of the file, a maximum of 254 characters long
(including the path name, if used).
Example This example loads the mask file named "140md_itu_1.msk".
myScope.WriteString _
":MTESt:LOAD ""C:\Users\Public\Documents\Infiniium\masks\
140md_itu_1.msk"""
History Legacy command (existed before version 3.10).
714 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:MARGin:AUTO:HITS
Command :MTESt:MARGin:AUTO:HITS <hit_count>
<hit_count> ::= an integer.
When the automatic margin method is selected, and the hit ratio method is
selected, the :MTESt:MARGin:AUTO:HITS command specifies the hit count.
Query :MTESt:MARGin:AUTO:HITS?
The :MTESt:MARGin:AUTO:HITS? query returns the hit count setting.
Returned Format <hit_count><NL>
See Also •":MTESt:MARGin:STATe" on page 719
•":MTESt:MARGin:METHod" on page 717
•":MTESt:MARGin:PERCent" on page 718
•":MTESt:MARGin:AUTO:METHod" on page 716
•":MTESt:MARGin:AUTO:HRATio" on page 715
•":MTESt:COUNt:MARGin:FAILures?" on page 685
History New in version 5.70.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 715
:MTESt:MARGin:AUTO:HRATio
Command :MTESt:MARGin:AUTO:HRATio <hit_ratio>
<hit_ratio> ::= a floating-point number from 0.1 to 1E-12.
When the automatic margin method is selected, and the hit ratio method is
selected, the :MTESt:MARGin:AUTO:HRATio command specifies the hit ratio.
Query :MTESt:MARGin:AUTO:HRATio?
The :MTESt:MARGin:AUTO:HRATio? query returns the hit ratio setting.
Returned Format <hit_ratio><NL>
See Also •":MTESt:MARGin:STATe" on page 719
•":MTESt:MARGin:METHod" on page 717
•":MTESt:MARGin:PERCent" on page 718
•":MTESt:MARGin:AUTO:METHod" on page 716
•":MTESt:MARGin:AUTO:HITS" on page 714
•":MTESt:COUNt:MARGin:FAILures?" on page 685
History New in version 5.70.
716 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:MARGin:AUTO:METHod
Command :MTESt:MARGin:AUTO:METHod <method>
<method> ::= {HITS | HRATio}
When the automatic margin method is selected, the
:MTESt:MARGin:AUTO:METHod command selects between the hit count and hit
ratio and automatic margin methods:
• HITS — With the hit count automatic margin method, you specify the hit count
with :MTESt:MARGin:AUTO:HITS.
• HRATio — With the hit ratio automatic margin method, you specify the hit ratio
with :MTESt:MARGin:AUTO:HRATio.
Query :MTESt:MARGin:AUTO:METHod?
The :MTESt:MARGin:AUTO:METHod? query returns the automatic margin method
setting.
Returned Format <method><NL>
<method> ::= {HITS | HRATio}
See Also •":MTESt:MARGin:STATe" on page 719
•":MTESt:MARGin:METHod" on page 717
•":MTESt:MARGin:PERCent" on page 718
•":MTESt:MARGin:AUTO:HITS" on page 714
•":MTESt:MARGin:AUTO:HRATio" on page 715
•":MTESt:COUNt:MARGin:FAILures?" on page 685
History New in version 5.70.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 717
:MTESt:MARGin:METHod
Command :MTESt:MARGin:METHod <method>
<method> ::= {MANual | AUTO}
The :MTESt:MARGin:METHod command selects between the manual and
automatic margin methods:
• MANual — With the manual margin method, you specify a margin percent using
:MTESt:MARGin:PERCent.
• AUTO — With the automatic margin method, you specify the auto margin
method using :MTESt:MARGin:AUTO:METHod.
Query :MTESt:MARGin:METHod?
The :MTESt:MARGin:METHod? query returns the margin type setting.
Returned Format <method><NL>
<method> ::= {MANual | AUTO}
See Also •":MTESt:MARGin:STATe" on page 719
•":MTESt:MARGin:PERCent" on page 718
•":MTESt:MARGin:AUTO:METHod" on page 716
•":MTESt:MARGin:AUTO:HITS" on page 714
•":MTESt:MARGin:AUTO:HRATio" on page 715
•":MTESt:COUNt:MARGin:FAILures?" on page 685
History New in version 5.70.
718 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:MARGin:PERCent
Command :MTESt:MARGin:PERCent <percent>
<percent> ::= an integer from -100 to 100.
When the manual margin method is selected, the :MTESt:MARGin:PERCent
command specifies the margin percent.
Query :MTESt:MARGin:PERCent?
The :MTESt:MARGin:PERCent? query returns the margin percent setting.
Returned Format <percent><NL>
See Also •":MTESt:MARGin:STATe" on page 719
•":MTESt:MARGin:METHod" on page 717
•":MTESt:MARGin:AUTO:METHod" on page 716
•":MTESt:MARGin:AUTO:HITS" on page 714
•":MTESt:MARGin:AUTO:HRATio" on page 715
•":MTESt:COUNt:MARGin:FAILures?" on page 685
History New in version 5.70.
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 719
:MTESt:MARGin:STATe
Command :MTESt:MARGin:STATe {{0 | OFF} | {1 | ON}}
The :MTESt:MARGin:STATe command enables or disables mask margin testing.
To enable mask margin testing, there must be a real-time eye and you must load a
mask file that has a margin definition (*.mskx).
Query :MTESt:MARGin:STATe?
The :MTESt:MARGin:STATe? query returns the mask margin testing state.
Returned Format <setting><NL>
<setting ::= {0 | 1}
See Also •":MTESt:MARGin:METHod" on page 717
•":MTESt:MARGin:PERCent" on page 718
•":MTESt:MARGin:AUTO:METHod" on page 716
•":MTESt:MARGin:AUTO:HITS" on page 714
•":MTESt:MARGin:AUTO:HRATio" on page 715
•":MTESt:COUNt:MARGin:FAILures?" on page 685
History New in version 5.70.
720 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:NREGions?
Query :MTESt:NREGions?
The :MTESt:NREGions? query returns the number of regions that define the mask.
Returned Format [:MTESt:NREGions] <regions><NL>
<regions> An integer from 0 to 8.
Example This example returns the number of mask regions.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:NREGions?"
varRegions = myScope.ReadNumber
Debug.Print FormatNumber(varRegions, 0)
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 721
:MTESt:PROBe:IMPedance?
Query :MTESt:PROBe:IMPedance?
The :MTESt:PROBe:IMPedance? query returns the impedance setting for the
E2621A and E2622A probes for the current mask test channel.
Returned Format [:MTESt:PROBe:IMPedance] <impedance><NL>
<impedance> An unquoted string: 75, 100, 110, 120, or NONE
Example This example returns the impedance setting for the probe.
Dim strImpedance As String
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MTESt:PROBe:IMPedance?"
strImpedance = myScope.ReadString
Debug.Print strImpedance
History Legacy command (existed before version 3.10).
722 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:RUMode
Command :MTESt:RUMode {FORever | TIME, <time> | {WAVeforms, <number_of_waveforms
>}}
The :MTESt:RUMode command determines the termination conditions for the
mask test. The choices are FORever, TIME, or WAVeforms.
If WAVeforms is selected, a second parameter is required indicating the number of
failures that can occur or the number of samples or waveforms that are to be
acquired.
FORever FORever runs the Mask Test until the test is turned off. This is used when you want
a measurement to run continually and not to stop after a fixed number of failures.
For example, you may want the Mask Test to run overnight and not be limited by a
number of failures.
TIME TIME sets the amount of time in minutes that a mask test will run before it
terminates.
<time> A real number: 0.1 to 1440.0
WAVeforms WAVeforms sets the maximum number of waveforms that are required before the
mask test terminates.
<number_of_
waveforms>
An integer: 1 to 1,000,000,000.
Example This example sets the mask test subsystem run until mode to continue testing until
500,000 waveforms have been gathered.
myScope.WriteString ":MTESt:RUMode WAVeforms,500E3"
Query :MTESt:RUMode?
The query returns the currently selected termination condition and value.
Returned Format [:MTESt:RUMode] {FORever | TIME,<time> | {WAVeforms, <number_of_waveform
s>}}<NL>
Example This example gets the current setting of the mask test run until mode from the
oscilloscope and prints it on the computer screen.
Dim strMTEST_Runmode As String
myScope.WriteString ":MTESt:RUMode?"
strMTEST_Runmode = myScope.ReadString
Debug.Print strMTEST_Runmode
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 723
:MTESt:RUMode:SOFailure
Command :MTESt:RUMode:SOFailure {{ON | 1} | {OFF | 0}}
The :MTESt:RUMode:SOFailure command enables or disables the Stop On Failure
run until criteria. When a mask test is run and a mask violation is detected, the
mask test is stopped and the acquisition system is stopped.
Example This example enables the Stop On Failure run until criteria.
myScope.WriteString ":MTESt:RUMode:SOFailure ON"
Query :MTESt:SOFailure?
The :MTESt:SOFailure? query returns the current state of the Stop on Failure
control.
Returned Format [:MTESt:SOFailure] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
724 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:SCALe:BIND
Command :MTESt:SCALe:BIND {{ON | 1} | {OFF | 0}}
The :MTESt:SCALe:BIND command enables or disables Bind 1 & 0 Levels (Bind -1
& 0 Levels for inverted masks) control. If the Bind 1 & 0 Levels control is enabled,
the 1 Level and the 0 Level controls track each other. Adjusting either the 1 Level
or the 0 Level control shifts the position of the mask up or down without changing
its size. If the Bind 1 & 0 Levels control is disabled, adjusting either the 1 Level or
the 0 Level control changes the vertical height of the mask.
If the Bind -1 & 0 Levels control is enabled, the -1 Level and the 0 Level controls
track each other. Adjusting either the -1 Level or the 0 Level control shifts the
position of the mask up or down without changing its size. If the Bind -1 & 0 Levels
control is disabled, adjusting either the -1 Level or the 0 Level control changes the
vertical height of the mask.
Example This example enables the Bind 1 & 0 Levels control.
myScope.WriteString ":MTESt:SCALe:BIND ON"
Query :MTESt:SCALe:BIND?
The :MTESt:SCALe:BIND? query returns the value of the Bind 1&0 control (Bind
-1&0 for inverted masks).
Returned Format [:MTESt:SCALe:BIND?] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 725
:MTESt:SCALe:X1
Command :MTESt:SCALe:X1 <x1_value>
The :MTESt:SCALe:X1 command defines where X=0 in the base coordinate system
used for mask testing. The other X-coordinate is defined by the SCALe:XDELta
command. Once the X1 and XDELta coordinates are set, all X values of vertices in
the mask regions are defined with respect to this value, according to the equation:
Thus, if you set X1 to 100 ms, and XDELta to 100 ms, an X value of 0.100 is a
vertex at 110 ms.
The oscilloscope uses this equation to normalize vertices. This simplifies
reprogramming to handle different data rates. For example, if you halve the period
of the waveform of interest, you need only to adjust the XDELta value to set up the
mask for the new waveform.
<x1_value> A time value specifying the location of the X1 coordinate, which will then be
treated as X=0 for mask regions coordinates.
Example This example sets the X1 coordinate at 150 ms.
myScope.WriteString ":MTESt:SCALe:X1 150E-3"
Query :MTESt:SCALe:X1?
The :MTESt:SCALe:X1? query returns the current X1 coordinate setting.
Returned Format [:MTESt:SCALe:X1] <x1_value><NL>
Example This example gets the current setting of the X1 coordinate from the oscilloscope
and prints it on the computer screen.
Dim strScale_x1 As String
myScope.WriteString ":MTESt:SCALe:X1?"
strScale_x1 = myScope.ReadString
Debug.Print strScale_x1
History Legacy command (existed before version 3.10).
X = (X × ΔX) + X1
726 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:SCALe:XDELta
Command :MTESt:SCALe:XDELta <xdelta_value>
The :MTESt:SCALe:XDELta command defines the position of the X2 marker with
respect to the X1 marker. In the mask test coordinate system, the X1 marker
defines where X=0; thus, the X2 marker defines where X=1.
Because all X vertices of the regions defined for mask testing are normalized with
respect to X1 and ΔX, redefining ΔX also moves those vertices to stay in the same
locations with respect to X1 and ΔX. Thus, in many applications, it is best if you
define XDELta as a pulse width or bit period. Then a change in data rate without
corresponding changes in the waveform can easily be handled by changing ΔX.
The X-coordinate of polygon vertices is normalized using this equation:
<xdelta_value> A time value specifying the distance of the X2 marker with respect to the X1
marker.
Example Assume that the period of the waveform you wish to test is 1 ms. Then the
following example will set ΔX to 1 ms, ensuring that the waveform's period is
between the X1 and X2 markers.
myScope.WriteString ":MTESt:SCALe:XDELta 1E-6:
Query :MTESt:SCALe:XDELta?
The :MTESt:SCALe:XDELta? query returns the current value of ΔX.
Returned Format [:MTESt:SCALe:XDELta] <xdelta_value><NL>
Example This example gets the value of ΔX from the oscilloscope and prints it on the
computer screen.
Dim strScale_xdelta As String
myScope.WriteString ":MTESt:SCALe:XDELta?""
strScale_xdelta = myScope.ReadString
Debug.Print strScale_xdelta
History Legacy command (existed before version 3.10).
X = (X × ΔX) + X1
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 727
:MTESt:SCALe:Y1
Command :MTESt:SCALe:Y1 <y_value>
The :MTESt:SCALe:Y1 command defines where Y=0 in the coordinate system for
mask testing. All Y values of vertices in the coordinate system are defined with
respect to the boundaries set by SCALe:Y1 and SCALe:Y2 according to the
equation:
Thus, if you set Y1 to 100 mV, and Y2 to 1 V, a Y value of 0.100 in a vertex is at 190
mV.
<y1_value> A voltage value specifying the point at which Y=0.
Example This example sets the Y1 marker to -150 mV.
myScope.WriteString ":MTESt:SCALe:Y1 -150E-3"
Query :MTESt:SCALe:Y1?
The SCALe:Y1? query returns the current setting of the Y1 marker.
Returned Format [:MTESt:SCALe:Y1] <y1_value><NL>
Example This example gets the setting of the Y1 marker from the oscilloscope and prints it
on the computer screen.
Dim strScale_y1 As String
myScope.WriteString ":MTESt:SCALe:Y1?"
strScale_y1 = myScope.ReadString
Debug.Print strScale_y1
History Legacy command (existed before version 3.10).
Y = (Y × (Y2 - Y1)) + Y1
728 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:SCALe:Y2
Command :MTESt:SCALe:Y2 <y2_value>
The :MTESt:SCALe:Y2 command defines the Y2 marker in the coordinate system
for mask testing. All Y values of vertices in the coordinate system are defined with
respect to the boundaries defined by SCALe:Y1 and SCALe:Y2 according to the
following equation:
Thus, if you set Y1 to 100 mV, and Y2 to 1 V, a Y value of 0.100 in a vertex is at 190
mV.
<y2_value> A voltage value specifying the location of the Y2 marker.
Example This example sets the Y2 marker to 2.5 V.
myScope.WriteString ":MTESt:SCALe:Y2 2.5"
Query :MTESt:SCALe:Y2?
The SCALe:Y2? query returns the current setting of the Y2 marker.
Returned Format [:MTESt:SCALe:Y2] <y2_value><NL>
Example This example gets the setting of the Y2 marker from the oscilloscope and prints it
on the computer screen.
Dim strScale_y2 As String
myScope.WriteString ":MTESt:SCALe:Y2?"
strScale_y2 = myScope.ReadString
Debug.Print strScale_y2
History Legacy command (existed before version 3.10).
Y = (Y × (Y2 - Y1)) + Y1
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 729
:MTESt:SOURce
Command :MTESt:SOURce {CHANnel<N> | FUNCtion<F> | EQUalized | WMEMory<R>}
The :MTESt:SOURce command selects the channel which is configured by the
commands contained in a mask file when it is loaded.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example selects channel 1 as the mask test source.
myScope.WriteString ":MTESt:SOURce CHANnel1"
Query :MTESt:SOURce?
The :MTESt:SOURce? query returns the channel which is configured by the
commands contained in the current mask file.
Returned Format [:MTESt:SOURce] {CHAN<N> | FUNC<F> | EQU | WMEM<R>}<NL>
Example This example gets the mask test source setting and prints the result on the
computer display.
Dim strAmask_source As String
myScope.WriteString ":MTESt:SOURce?"
strAmask_source = myScope.ReadString
Debug.Print strAmask_source
History Legacy command (existed before version 3.10).
Version 6.00: Waveform memories can now be used as a source for mask testing.
730 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:STARt
Command :MTESt:STARt
The :MTESt:STARt command starts the mask test. The :MTESt:STARt command
also starts the oscilloscope acquisition system.
Example This example starts the mask test and acquisition system.
myScope.WriteString ":MTESt:STARt"
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 731
:MTESt:STOP
Command :MTESt:STOP
The :MTESt:STOP command stops the mask test. The :MTESt:STOP command
does not stop the acquisition system.
Example This example stops the mask test.
myScope.WriteString ":MTESt:STOP"
History Legacy command (existed before version 3.10).
732 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:STIMe
Command :MTESt:STIMe <timeout>
The :MTESt:STIMe command sets the timeout value for the Autoalign feature. If
the oscilloscope is unable to align the mask to your waveform within the specified
timeout value, it will stop trying to align and will report an alignment failure.
<timeout> An integer from 1 to 120 seconds representing the time between triggers (not the
time that it takes to finish the alignment.)
Example This example sets the timeout value for the Autoalign feature to 10 seconds.
myScope.WriteString ":MTESt:STIMe 10"
Query :MTESt:STIMe?
The query returns timeout value for the Autoalign feature.
Returned Format [:MTESt:STIMe] <timeout><NL>
Example This example gets the timeout setting and prints the result on the computer
display.
myScope.WriteString ":MTESt:STIMe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Mask Test Commands 27
Keysight Infiniium Oscilloscopes Programmer's Guide 733
:MTESt:TITLe?
Query :MTESt:TITLe?
The :MTESt:TITLe? query returns the mask title which is a string of up to 23
characters. The title is displayed in the mask test dialog box and mask test tab
when a mask file is loaded.
Returned Format [:MTESt:TITLe] <mask_title><NL>
<mask_title> A string of up to 23 ASCII characters which is the mask title.
Example This example places the mask title in the string variable and prints the contents to
the computer's screen.
Dim strTitle As String
myScope.WriteString ":MTESt:TITLe?"
strTitle = myScope.ReadString
Debug.Print strTitle
History Legacy command (existed before version 3.10).
734 Keysight Infiniium Oscilloscopes Programmer's Guide
27 Mask Test Commands
:MTESt:TRIGger:SOURce
Command :MTESt:TRIGger:SOURce CHANnel<N>
The :MTESt:TRIGger:SOURce command sets the channel or function to use as the
trigger. Mask testing must be enabled before using this command.
<N> An integer, 1-4.
Example This example sets the mask trigger source to channel 1.
myScope.WriteString ":MTESt:TRIGger:SOURce CHANnel1"
Query :MTESt:TRIGger:SOURce?
The query returns the currently selected mask test trigger source.
Returned Format [:MTESt:TRIGger:SOURce] CHANnel<N><NL>
Example This example gets the trigger source setting and prints the result on the computer
display.
Dim strAmask_source As String
myScope.WriteString ":MTESt:TRIGger:SOURce?"
strAmask_source = myScope.ReadString
Debug.Print strAmask_source
History Legacy command (existed before version 3.10).
735
Keysight Infiniium Oscilloscopes
Programmer's Guide
28 Measure Commands
:MEASure:AREA / 745
:MEASure:BER / 747
:MEASure:BERPeracq / 748
:MEASure:BINTerval / 749
:MEASure:BPERiod / 750
:MEASure:BWIDth / 751
:MEASure:CDRRate / 752
:MEASure:CGRade:CROSsing / 753
:MEASure:CGRade:DCDistortion / 754
:MEASure:CGRade:EHEight / 755
:MEASure:CGRade:EWIDth / 757
:MEASure:CGRade:EWINdow / 759
:MEASure:CGRade:JITTer / 761
:MEASure:CGRade:OLEVel / 762
:MEASure:CGRade:QFACtor / 763
:MEASure:CGRade:ZLEVel / 764
:MEASure:CHARge (9000 Series, 9000H Series, S-Series) / 765
:MEASure:CLEar / 766
:MEASure:CROSsing / 767
:MEASure:CTCDutycycle / 768
:MEASure:CTCJitter / 770
:MEASure:CTCNwidth / 772
:MEASure:CTCPwidth / 774
:MEASure:DATarate / 776
:MEASure:DEEMphasis / 778
:MEASure:DELTatime / 780
:MEASure:DELTatime:DEFine / 782
:MEASure:DUTYcycle / 784
:MEASure:EDGE / 785
:MEASure:ERATio / 786
:MEASure:ETOedge / 787
:MEASure:FALLtime / 789
736 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:FFT:CPOWer / 791
:MEASure:FFT:DFRequency / 792
:MEASure:FFT:DMAGnitude / 794
:MEASure:FFT:FREQuency / 796
:MEASure:FFT:MAGNitude / 798
:MEASure:FFT:OBW / 800
:MEASure:FFT:PSD / 801
:MEASure:FREQuency / 802
:MEASure:HISTogram:FWHM / 804
:MEASure:HISTogram:HITS / 805
:MEASure:HISTogram:M1S / 806
:MEASure:HISTogram:M2S / 807
:MEASure:HISTogram:M3S / 808
:MEASure:HISTogram:MAX / 809
:MEASure:HISTogram:MEAN / 810
:MEASure:HISTogram:MEDian / 811
:MEASure:HISTogram:MIN / 812
:MEASure:HISTogram:MODE / 813
:MEASure:HISTogram:PEAK / 814
:MEASure:HISTogram:PP / 815
:MEASure:HISTogram:RESolution / 816
:MEASure:HISTogram:STDDev / 817
:MEASure:HOLDtime / 818
:MEASure:JITTer:HISTogram / 820
:MEASure:JITTer:MEASurement / 821
:MEASure:JITTer:SPECtrum / 822
:MEASure:JITTer:SPECtrum:HORizontal / 823
:MEASure:JITTer:SPECtrum:HORizontal:POSition / 824
:MEASure:JITTer:SPECtrum:HORizontal:RANGe / 825
:MEASure:JITTer:SPECtrum:RESolution / 826
:MEASure:JITTer:SPECtrum:VERTical / 827
:MEASure:JITTer:SPECtrum:VERTical:OFFSet / 828
:MEASure:JITTer:SPECtrum:VERTical:RANGe / 829
:MEASure:JITTer:SPECtrum:VERTical:TYPE / 830
:MEASure:JITTer:SPECtrum:WINDow / 831
:MEASure:JITTer:TRENd / 832
:MEASure:JITTer:TRENd:SMOoth / 833
:MEASure:JITTer:TRENd:SMOoth:POINts / 834
:MEASure:JITTer:TRENd:VERTical / 835
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 737
:MEASure:JITTer:TRENd:VERTical:OFFSet / 836
:MEASure:JITTer:TRENd:VERTical:RANGe / 837
:MEASure:NAME / 838
:MEASure:NCJitter / 839
:MEASure:NOISe / 841
:MEASure:NOISe:ALL? / 843
:MEASure:NOISe:BANDwidth / 845
:MEASure:NOISe:LOCation / 846
:MEASure:NOISe:METHod / 847
:MEASure:NOISe:REPort / 848
:MEASure:NOISe:RN / 849
:MEASure:NOISe:SCOPe:RN / 850
:MEASure:NOISe:STATe / 851
:MEASure:NOISe:UNITs / 852
:MEASure:NPERiod / 853
:MEASure:NPULses / 854
:MEASure:NUI / 855
:MEASure:NWIDth / 856
:MEASure:OMAMplitude / 857
:MEASure:OPOWer / 858
:MEASure:OVERshoot / 859
:MEASure:PAM:ELEVel / 861
:MEASure:PAM:EOJ / 863
:MEASure:PAM:ESKew / 864
:MEASure:PAM:EYE:ELMethod / 866
:MEASure:PAM:EYE:ESTiming / 867
:MEASure:PAM:EYE:PPERcent / 868
:MEASure:PAM:EYE:TIME:LTDefinition / 869
:MEASure:PAM:J4U / 870
:MEASure:PAM:JRMS / 871
:MEASure:PAM:LEVel / 872
:MEASure:PAM:LRMS / 874
:MEASure:PAM:LTHickness / 876
:MEASure:PAMPlitude / 878
:MEASure:PBASe / 879
:MEASure:PERiod / 880
:MEASure:PHASe / 882
:MEASure:PPContrast / 884
:MEASure:PPULses / 885
738 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PREShoot / 886
:MEASure:PTOP / 888
:MEASure:PWIDth / 889
:MEASure:QUALifier<M>:CONDition / 890
:MEASure:QUALifier<M>:SOURce / 891
:MEASure:QUALifier<M>:STATe / 892
:MEASure:RESults? / 893
:MEASure:RISetime / 896
:MEASure:RJDJ:ALL? / 898
:MEASure:RJDJ:APLength? / 900
:MEASure:RJDJ:BANDwidth / 901
:MEASure:RJDJ:BER / 902
:MEASure:RJDJ:CLOCk / 904
:MEASure:RJDJ:EDGE / 905
:MEASure:RJDJ:INTerpolate / 906
:MEASure:RJDJ:METHod / 907
:MEASure:RJDJ:MODe / 908
:MEASure:RJDJ:PAMThreshold / 909
:MEASure:RJDJ:PLENgth / 910
:MEASure:RJDJ:REPort / 911
:MEASure:RJDJ:RJ / 912
:MEASure:RJDJ:SCOPe:RJ / 913
:MEASure:RJDJ:SOURce / 914
:MEASure:RJDJ:STATe / 915
:MEASure:RJDJ:TJRJDJ? / 916
:MEASure:RJDJ:UNITs / 918
:MEASure:SCRatch / 919
:MEASure:SENDvalid / 920
:MEASure:SER / 921
:MEASure:SERPeracq / 922
:MEASure:SETuptime / 923
:MEASure:SLEWrate / 925
:MEASure:SOURce / 927
:MEASure:STATistics / 928
:MEASure:TEDGe / 929
:MEASure:THResholds:ABSolute / 930
:MEASure:THResholds:DISPlay / 931
:MEASure:THResholds:GENauto / 932
:MEASure:THResholds:GENeral:ABSolute / 933
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 739
:MEASure:THResholds:GENeral:HYSTeresis / 935
:MEASure:THResholds:GENeral:METHod / 937
:MEASure:THResholds:GENeral:PAMCustom / 939
:MEASure:THResholds:GENeral:PAMAutomatic / 941
:MEASure:THResholds:GENeral:PERCent / 943
:MEASure:THResholds:GENeral:TOPBase:ABSolute / 945
:MEASure:THResholds:GENeral:TOPBase:METHod / 947
:MEASure:THResholds:HYSTeresis / 948
:MEASure:THResholds:METHod / 950
:MEASure:THResholds:PERCent / 951
:MEASure:THResholds:RFALl:ABSolute / 952
:MEASure:THResholds:RFALl:METHod / 954
:MEASure:THResholds:RFALl:PAMAutomatic / 956
:MEASure:THResholds:RFALl:PERCent / 958
:MEASure:THResholds:RFALl:TOPBase:ABSolute / 960
:MEASure:THResholds:RFALl:TOPBase:METHod / 962
:MEASure:THResholds:SERial:ABSolute / 963
:MEASure:THResholds:SERial:HYSTeresis / 965
:MEASure:THResholds:SERial:METHod / 967
:MEASure:THResholds:SERial:PERCent / 968
:MEASure:THResholds:SERial:TOPBase:ABSolute / 970
:MEASure:THResholds:SERial:TOPBase:METHod / 972
:MEASure:THResholds:TOPBase:ABSolute / 973
:MEASure:THResholds:TOPBase:METHod / 974
:MEASure:TIEClock2 / 975
:MEASure:TIEData2 / 977
:MEASure:TIEFilter:SHAPe / 979
:MEASure:TIEFilter:STARt / 980
:MEASure:TIEFilter:STATe / 981
:MEASure:TIEFilter:STOP / 982
:MEASure:TIEFilter:TYPE / 983
:MEASure:TMAX / 984
:MEASure:TMIN / 985
:MEASure:TVOLt / 986
:MEASure:UITouijitter / 988
:MEASure:UNITinterval / 989
:MEASure:VAMPlitude / 991
:MEASure:VAVerage / 992
:MEASure:VBASe / 993
740 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:VLOWer / 994
:MEASure:VMAX / 995
:MEASure:VMIDdle / 996
:MEASure:VMIN / 997
:MEASure:VOVershoot / 998
:MEASure:VPP / 999
:MEASure:VPReshoot / 1000
:MEASure:VRMS / 1001
:MEASure:VTIMe / 1003
:MEASure:VTOP / 1004
:MEASure:VUPPer / 1005
:MEASure:WINDow / 1006
:MEASurement<N>:NAME / 1007
:MEASurement<N>:SOURce / 1008
The commands in the MEASure subsystem are used to make parametric
measurements on displayed waveforms.
E2688A High
Speed Serial
Software
Commands
The following MEASure commands are available when the E2688A High Speed
Serial Software is installed.
•":MEASure:TIEData2" on page 977
•":MEASure:TIEFilter:SHAPe" on page 979
•":MEASure:TIEFilter:STARt" on page 980
•":MEASure:TIEFilter:STATe" on page 981
•":MEASure:TIEFilter:STOP" on page 982
•":MEASure:TIEFilter:TYPE" on page 983
• Also see the ":MTESt:FOLDing (Clock Recovery software only)" on page 691
command in the mask test system.
E2681A EZJIT
Jitter Analysis
Software
Commands
The following MEASure commands are available when the E2681A EZJIT Jitter
Analysis Software is installed.
•":MEASure:CTCDutycycle" on page 768
•":MEASure:CTCJitter" on page 770
•":MEASure:CTCNwidth" on page 772
•":MEASure:CTCPwidth" on page 774
•":MEASure:DATarate" on page 776
•":MEASure:HOLDtime" on page 818
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 741
•":MEASure:JITTer:HISTogram" on page 820
•":MEASure:JITTer:MEASurement" on page 821
•":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:TRENd" on page 832
•":MEASure:NCJitter" on page 839
•":MEASure:NPERiod" on page 853
•":MEASure:NUI" on page 855
•":MEASure:SETuptime" on page 923
•":MEASure:TIEClock2" on page 975
•":MEASure:TIEData2" on page 977
•":MEASure:UITouijitter" on page 988
•":MEASure:UNITinterval" on page 989
N5400A and
N5401A Jitter
Analysis Software
Commands
The following MEASure commands are available when the N5400A or N5401A
Jitter Analysis Software is installed.
•":MEASure:CTCDutycycle" on page 768
•":MEASure:CTCJitter" on page 770
•":MEASure:CTCNwidth" on page 772
•":MEASure:CTCPwidth" on page 774
•":MEASure:DATarate" on page 776
•":MEASure:HOLDtime" on page 818
•":MEASure:JITTer:HISTogram" on page 820
•":MEASure:JITTer:MEASurement" on page 821
•":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:TRENd" on page 832
•":MEASure:NCJitter" on page 839
•":MEASure:RJDJ:ALL?" on page 898
•":MEASure:RJDJ:APLength?" on page 900
•":MEASure:RJDJ:BER" on page 902
•":MEASure:RJDJ:CLOCk" on page 904
•":MEASure:RJDJ:EDGE" on page 905
•":MEASure:RJDJ:INTerpolate" on page 906
•":MEASure:RJDJ:PLENgth" on page 910
•":MEASure:RJDJ:SOURce" on page 914
•":MEASure:RJDJ:STATe" on page 915
•":MEASure:RJDJ:TJRJDJ?" on page 916
742 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
•":MEASure:RJDJ:UNITs" on page 918
•":MEASure:SETuptime" on page 923
•":MEASure:TIEClock2" on page 975
•":MEASure:TIEData2" on page 977
•":MEASure:UNITinterval" on page 989
FFT Commands The :MEASure:FFT commands control the FFT measurements that are accessible
through the Measure subsystem.
Measurement
Sources
Measurements are made on the displayed waveforms specified by the
:MEASure:SOURce command. The :MEASure:SOURce command lets you specify
two sources. Most measurements are only made on a single source. Some
measurements, such as the DELTatime measurement, require two sources.
Most :MEASure commands also let you specify the source(s) using a <source>
parameter:
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R>
| FUNCtion<F> | CLOCk | EQUalized | MTRend | MSPectrum | DIGital<M>}
where:
CHANnel<N> <N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
DIFF<D>,
COMMonmode<C>
<D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in
place of the channel names to apply to differential or common mode
signals. These are just aliases - no state change occurs if you refer to a
differential channel and you are not in differential mode. DIFF1 refers to
the differential signal between channels 1 and 3 (and COMMonmode3
refers to the common mode channel between these same channels). DIFF2
refers to the differential signal between channels 2 and 4 (and
COMMonmode4 refers to the common mode channel between these same
channels).
WMEMory<R> <R> is an integer, 1-4.
FUNCtion<F> <F> is an integer, 1-16.
CLOCk The CLOCk source is available only if the oscilloscope has the High Speed
Serial option installed and the recovered clock is displayed.
EQUalized The EQUalized source is available only if the oscilloscope has the High
Speed Serial option and the Serial Data Equalization option installed and
the features are enabled. This command uses the linearly equalized
(FFE/CTLE) signal as the source.
MTRend, MSPectrum MTRend and MSPectrum sources are available only if the oscilloscope has
the EZJIT option installed and the feature is enabled.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 743
Measurement
Setup
To make a measurement, the portion of the waveform required for that
measurement must be displayed on the oscilloscope.
• For a period or frequency measurement, at least one and a half complete cycles
must be displayed.
• For a pulse width measurement, the entire pulse must be displayed.
• For a rise time measurement, the leading (positive-going) edge of the
waveform must be displayed.
• For a fall time measurement, the trailing (negative-going) edge of the waveform
must be displayed.
In jitter mode with jitter statistics enabled, measurements are made on all data
regardless of what is on screen.
User-Defined
Thresholds
If you choose to set user-defined thresholds, they must be set before actually
sending the measurement command or query.
Measurement
Error
If a measurement cannot be made because of a lack of data, because the source
waveform is not displayed, the requested measurement is not possible (for
example, a period measurement on an FFT waveform), or for some other reason,
the following results are returned:
• 9.99999E+37 is returned as the measurement result.
• If SENDvalid is ON, the error code is also returned as well as the questionable
value.
Making
Measurements
If more than one period, edge, or pulse is displayed, time measurements are made
on the first, left-most portion of the displayed waveform.
When any of the defined measurements are requested, the oscilloscope first
determines the top (100%) and base (0%) voltages of the waveform. From this
information, the oscilloscope determines the other important voltage values (10%,
90%, and 50% voltage values) for making measurements.
The 10% and 90% voltage values are used in the rise time and fall time
measurements when standard thresholds are selected. The 50% voltage value is
used for measuring frequency, period, pulse width, and duty cycle with standard
thresholds selected.
You can also make measurements using user-defined thresholds instead of the
standard thresholds.
HISTogram HISTogram sources are available in commands that measure
Meas Histogram math functions, the histogram waveform, or memories
containing histograms.
DIGital<M> <M> is an integer, 0-15. Digital channels are available on mixed-signal
oscilloscopes.
744 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
When the command form of a measurement is used, the oscilloscope is placed in
the continuous measurement mode. The measurement result will be displayed on
the front panel. There may be a maximum of 5 measurements running
continuously. Use the SCRatch command to turn off the measurements.
When the query form of the measurement is used, the measurement is made one
time, and the measurement result is returned.
• If the current acquisition is complete, the current acquisition is measured and
the result is returned.
• If the current acquisition is incomplete and the oscilloscope is running,
acquisitions will continue to occur until the acquisition is complete. The
acquisition will then be measured and the result returned.
• If the current acquisition is incomplete and the oscilloscope is stopped, the
measurement result will be 9.99999e+37 and the incomplete result state will be
returned if SENDvalid is ON.
All measurements are made using the entire display, except for VAVerage and
VRMS which allow measurements on a single cycle. Therefore, if you want to make
measurements on a particular cycle, display only that cycle on the screen.
If the waveform is clipped, the measurement result may be questionable. In this
case, the value returned is the most accurate value that can be made using the
current scaling. You might be able to obtain a more accurate measurement by
adjusting the vertical scale to prevent the waveform from being clipped.
Note that you can concatenate measurement queries for much faster throughput.
For example:
:MEASure:VPP? CHANnel1;:MEASure:FREQuency? CHANnel2
When you do this, however, values are returned as a single query result, separated
by semicolons.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 745
:MEASure:AREA
Command :MEASure:AREA [CYCLe[,<source>[,<direction>]]]
:MEASure:AREA [DISPlay[,<source>]]
The :MEASure:AREA command turns on the area measurement. The area
measurement measures between the waveform, or a selected cycle of the
waveform, and the waveform ground.
When measuring Area, it is sometimes useful to use the Subtract Math Operator to
remove any dc offset from a waveform you want to measure.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), the first CYCLe from the left side of the display grid is measured or the
entire DISPlay is measured.
When the "Measure All Edges" mode is ON, all cycles in the acquisition are
measured or the entire acquisition is measured.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
When the CYCLe option is used, the <direction> option specifies which edge the
cycle begins and ends on. When <direction> is specified, the <source> parameter
is required.
Example This example turns on the area measurement which measures between the
waveform and ground. Only that portion of the waveform which is in the waveform
viewing area is measured.
myScope.WriteString ":MEASure:AREA DISPlay"
Query :MEASure:AREA? [CYCLe[,<source>[,<direction>]]]
:MEASure:AREA? [DISPlay[,<source>]]
The :MEASure:AREA? query returns the area measurement.
Returned Format [:MEASure:AREA] <value>[,<result_state>]<NL>
Example This example places the current selection for the area to be measured in the string
variable, strSelection, then prints the contents of the variable to the computer's
screen.
Dim strSelection As String
myScope.WriteString ":MEASure:AREA?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
746 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
Version 5.70: Added a RISing or FALLing edge parameter when measuring a single
cycle of the waveform.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 747
:MEASure:BER
Command :MEASure:BER <source>
When a pattern length and pattern can be determined (see the
:ANALyze:SIGNal:PATTern:* commands), the :MEASure:BER command installs a
cumulative bit error rate (BER) measurement of the specified PAM waveform into
the user interface's measurement Results pane.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:BER? <source>
The :MEASure:BER? query returns the measured cumulative bit error rate value.
Returned Format [:MEASure:BER] <value><NL>
<value> ::= the cumulative BER value in NR3 format.
See Also •":ANALyze:SIGNal:PATTern:CLEar" on page 278
•":ANALyze:SIGNal:PATTern:LOAD" on page 279
•":ANALyze:SIGNal:PATTern:PLENgth" on page 280
•":ANALyze:SIGNal:PATTern:SMAP" on page 281
•":MEASure:BERPeracq" on page 748
•":MEASure:SER" on page 921
•":MEASure:SERPeracq" on page 922
History New in version 5.60.
748 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:BERPeracq
Command :MEASure:BERPeracq <source>
<pattern_length> ::= integer number of symbols.
When a pattern length and pattern can be determined (see the
:ANALyze:SIGNal:PATTern:* commands), the :MEASure:BERPeracq command
installs a bit error rate (BER) per acquisition measurement of the specified PAM
waveform into the user interface's measurement Results pane.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:BERPeracq? <source>
The :MEASure:BERPeracq? query returns the measured bit error rate per
acquisition value.
Returned Format [:MEASure:BERPeracq] <value><NL>
<value> ::= the BER per acquisition value in NR3 format.
See Also •":ANALyze:SIGNal:PATTern:CLEar" on page 278
•":ANALyze:SIGNal:PATTern:LOAD" on page 279
•":ANALyze:SIGNal:PATTern:PLENgth" on page 280
•":ANALyze:SIGNal:PATTern:SMAP" on page 281
•":MEASure:BER" on page 747
•":MEASure:SER" on page 921
•":MEASure:SERPeracq" on page 922
History New in version 5.60.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 749
:MEASure:BINTerval
Command :MEASure:BINTerval <source>, <idle time>
The :MEASure:BINTerval command measures the amount of time between the end
of a burst and beginning of the next burst. The idle time is the minimum time
between bursts.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<idle time> Minimum amount of idle time between bursts.
Example This example measures the burst interval between two bursts on channel 4 (and
with an idle time of 5 microseconds)
myScope.WriteString ":MEASure:BINTerval CHAN4, 5e-6"
Query :MEASure:BINTerval? <source>, <idle time>
The :MEASure:BINTerval? query returns the burst interval time.
History Legacy command (existed before version 3.10).
750 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:BPERiod
Command :MEASure:BPERiod <source>, <idle time>
The :MEASure:BPERiod command measures the time between the beginning of a
burst and the beginning of the next burst. The idle time is the minimum time
between bursts.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<idle time> Minimum amount of idle time between bursts.
Example This example measures the burst period between two bursts on channel 4 (and
with an idle time of 5 microseconds)
myScope.WriteString ":MEASure:BPERiod CHAN4, 5e-6"
Query :MEASure:BPERiod? <source>, <idle time>
The :MEASure:BPERiod? query returns the burst period time.
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 751
:MEASure:BWIDth
Command :MEASure:BWIDth <source>,<idle_time>
The :MEASure:BWIDth command measures the width of bursts in your waveform.
The idle time is the minimum time between bursts.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MSPectrum | MTRend | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<idle_time> Amount of idle time between bursts.
Example This example measures the width of bursts for the waveform on channel one and
sets the idle time to 1 microsecond.
myScope.WriteString ":MEASure:BWIDth CHANnel1,1E-6"
Query :MEASure:BWIDth? <source>,<idle_time>
The :MEASure:BWIDth? query returns the width of the burst being measured.
Returned Format [:MEASure:BWIDth ]<burst_width><NL>
Example This example returns the width of the burst being measured, in the string variable,
strBurstwidth, then prints the contents of the variable to the computer's screen.
Dim strBurstwidth As String
myScope.WriteString ":MEASure:BWIDth? CHANnel1,1E-6"
strBurstwidth = myScope.ReadString
Debug.Print strBurstwidth
History Legacy command (existed before version 3.10).
752 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CDRRate
Command :MEASure:CDRRate <source>
The :MEASure:CDRRate command determines the data rate (clock recovery rate)
from the clock recovery method being used. It yields one data point per acquisition
so trending cannot be performed on this measurement.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MSPectrum | MTRend | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the clock recovery rate of channel 1.
myScope.WriteString ":MEASure:CDRRate CHANnel1"
Query :MEASure:CDRRate? <source>
The :MEASure:CDRRate? query returns the data rate (clock recovery rate) for the
source waveform.
Returned Format [:MEASure:CDRRate] <cdr_rate><NL>
Example This example places the current data rate of the channel 1 waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CDRRate? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":ANALyze:AEDGes" on page 245
History Legacy command (existed before version 3.10).
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 753
:MEASure:CGRade:CROSsing
Command :MEASure:CGRade:CROSsing [<source>]
The :MEASure:CGRade:CROSsing command enables the crossing level percent
measurement on the current eye pattern. Before using this command or query, you
must use the :DISPlay:CGRade command to enable the color grade persistence
feature. Also, there must be a full eye diagram on screen before a valid
measurement can be made.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R> | FUNCtion<F> |
CLOCk | EQUalized | MTRend | MSPectrum}
If <source> is omitted, the crossing level measurement will be performed on the
first waveform that has color grade enabled.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the crossing level.
myScope.WriteString ":MEASure:CGRade:CROSsing"
Query :MEASure:CGRade:CROSsing? [<source>]
The :MEASure:CGRade:CROSsing? query returns the crossing level percent
measurement of the current eye diagram on the color grade display. Before using
this command or query, you must use the :DISPlay:CGRade command to enable
the color grade persistence feature.
Returned Format [:MEASure:CGRade:CROSsing]<value>[,<result_state>]<NL>
<value> The crossing level.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the current crossing level in the numeric variable, varValue,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:CROSsing?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade crossing level percent is measured.
754 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CGRade:DCDistortion
Command :MEASure:CGRade:DCDistortion <format> [,<source>]
The :MEASure:CGRade:DCDistortion command enables the duty cycle distortion
measurement on the current eye pattern. The parameter specifies the format for
reporting the measurement. Before using this command or query, you must use
the :DISPlay:CGRade command to enable the color grade persistence feature.
Also, there must be a full eye diagram on screen before a valid measurement can
be made.
<format> {TIME | PERCent}
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R> | FUNCtion<F> |
CLOCk | EQUalized | MTRend | MSPectrum}
If <source> is omitted, the duty cycle distortion measurement will be performed on
the first waveform that has color grade enabled.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the duty cycle distortion.
myScope.WriteString ":MEASure:CGRade:DCDistortion TIME"
Query :MEASure:CGRade:DCDistortion? <format> [,<source>]
The :MEASure:CGRade:DCDistortion query returns the duty cycle distortion
measurement of the color grade display. Before using this command or query, you
must use the :DISPlay:CGRade command to enable the color grade persistence
feature.
Returned Format [:MEASure:CGRade:DCDistortion]<value>[,<result_state>]<NL>
<value> The duty cycle distortion.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the current duty cycle distortion in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CGRade:DCDistortion? PERCent"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade duty cycle distortion is measured.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 755
:MEASure:CGRade:EHEight
Command :MEASure:CGRade:EHEight <algorithm>[,<source>[,<threshold>]]
The :MEASure:CGRade:EHEight command enables the eye height measurement
on the current eye pattern. Before using this command or query, you must use the
:DISPlay:CGRade command to enable the color grade persistence feature. Also,
there must be a full eye diagram on screen before a valid measurement can be
made.
<algorithm> {MEASured | EXTRapolated} EXTRapolated is optional because it is the default if
you do not specify an algorithm.
MEASured will measure the eye height within the window (see CGRade:EWINdow)
of the current data. The smallest eye height is reported. Extrapolated will estimate
the eye height based upon the mean and standard deviation of the eye top and
base.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R> | FUNCtion<F> |
CLOCk | EQUalized | MTRend | MSPectrum}
If <source> is omitted, the eye height measurement will be performed on the first
waveform that has color grade enabled.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<threshold> When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the <threshold>
parameter is an integer that specifies which eye to measure, and the <algorithm>
parameter is ignored. For PAM-4, the <threshold> may be from 0-2.
Example This example enables the eye height measurement.
myScope.WriteString ":MEASure:CGRade:EHEight"
Query :MEASure:CGRade:EHEight? <algorithm>[,<source>[,<threshold>]]
The :MEASure:CGRade:EHEight? query returns the eye height measurement of the
color grade display. Before using this command or query, you must use the
:DISPlay:CGRade command to enable the color grade persistence feature.
Returned Format [:MEASure:CGRade:EHEight] <value>[,<result_state>]<NL>
<value> The eye height.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the current eye height in the numeric variable, varValue, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:EHEight?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
756 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
See Also •":ANALyze:SIGNal:TYPE" on page 282
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade eye height is measured.
Version 5.50: When the signal type is PAM-4, an additional <threshold> parameter
is used to specify which eye, and the <algorithm> parameter is ignored.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 757
:MEASure:CGRade:EWIDth
Command :MEASure:CGRade:EWIDth <algorithm>[,<source>[,<threshold>]]
The :MEASure:CGRade:EWIDth command enables the eye width measurement on
the current eye pattern. Before using this command or query, you must use the
:DISPlay:CGRade command to enable the color grade persistence feature. Also,
there must be a full eye diagram on screen before a valid measurement can be
made.
<algorithm> {MEASured | EXTRapolated} EXTRapolated is optional because it is the default if
you do not specify an algorithm.
MEASured will measure the eye width measurement within the window (see
CGRade:EWINdow) of the current data. The smallest eye width is reported.
Extrapolated will estimate the eye width based upon the mean and standard
deviation of the crossings.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R> | FUNCtion<F> |
CLOCk | EQUalized | MTRend | MSPectrum}
If <source> is omitted, the eye width will be performed on the first waveform that
has color grade enabled.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<threshold> When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the <threshold>
parameter is an integer that specifies which eye to measure, and the <algorithm>
parameter is ignored. For PAM-4, the <threshold> may be from 0-2.
Example This example measures the eye width.
myScope.WriteString ":MEASure:CGRade:EWIDth"
Query :MEASure:CGRade:EWIDth? <algorithm>[,<source>[,<threshold>]]
The :MEASure:CGRade:EWIDth? query returns the eye width measurement of the
color grade display. Before using this command or query, you must use the
:DISPlay:CGRade command to enable the color grade persistence feature.
Returned Format [:MEASure:CGRade:EWIDth]<value>[,<result_state>]<NL>
<value> The eye width.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the current eye width in the numeric variable, varValue, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:EWIDth?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
758 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
See Also •":ANALyze:SIGNal:TYPE" on page 282
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade eye width is measured.
Version 5.50: When the signal type is PAM-4, an additional <threshold> parameter
is used to specify which eye, and the <algorithm> parameter is ignored.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 759
:MEASure:CGRade:EWINdow
Command :MEASure:CGRade:EWINdow <start>,<stop>[,<start_after>][,<source>]
The :MEASure:CGRade:EWINdow command is used to change the starting point
and the stopping point of the window used to make the eye pattern measurements
of eye height, eye crossing %, and eye q-factor. In addition, the number of
waveform hits can be set to ensure that enough data has been collected to make
accurate measurements.
<start> An integer from 1 to 100 for horizontal starting point. (Default value is 40%.)
<stop> An integer from 1 to 100 for horizontal stopping point. (Default value is 60%.)
<start_after> An integer from 1 to 63,488 for number of hits to acquire before making
measurements. (Default value is 1.)
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R> | FUNCtion<F> |
CLOCk | EQUalized | MTRend | MSPectrum}
If <source> is omitted, the eye window will be applied to all sources.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the eye window starting point to 2%, the stopping point to 75%
and the start after to 5,000 hits.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:EWINdow 2,75,5000"
Query :MEASure:CGRade:EWINdow? [<source>]
The :MEASure:CGRade:EWINdow query returns the starting point, the ending
point, and the start after setting for the eye pattern measurements.
On the query, the eye window of channel 1 will be returned.
Returned Format [:MEASure:CGRade:EWIDdow] <start>,<stop>,<start_after> <NL>
The following example returns the values for the eye window.
Example myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:EWINdow?"
varStart,Stop,Startafter = myScope.ReadNumber
Debug.Print FormatNumber(varStart,Stop,Startafter, 0)
History Legacy command (existed before version 3.10).
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
760 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade eye window is applied.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 761
:MEASure:CGRade:JITTer
Command :MEASure:CGRade:JITTer <format> [,<source>]
The :MEASure:CGRade:JITTer measures the jitter at the eye diagram crossing
point. The parameter specifies the format, peak-to-peak or RMS, of the returned
results. Before using this command or query, you must use the :DISPlay:CGRade
command to enable the color grade persistence feature.
<format> {PP | RMS}
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R> | FUNCtion<F> |
CLOCk | EQUalized | MTRend | MSPectrum}
If <source> is omitted, the jitter will be performed on the first waveform that has
color grade enabled.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the jitter.
myScope.WriteString ":MEASure:CGRade:JITTer RMS"
Query :MEASure:CGRade:JITTer? <format> [,<source>]
The :MEASure:CGRade:JITTer? query returns the jitter measurement of the color
grade display. Before using this command or query, you must use the
:DISPlay:CGRade command to enable the color grade persistence feature.
Returned Format [:MEASure:CGRade:JITTer]<value>[,<result_state>]<NL>
<value> The jitter.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the current jitter in the numeric variable, varValue, then prints
the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:JITTer? RMS"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade jitter is measured.
762 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CGRade:OLEVel
Command :MEASure:CGRade:OLEVel [<source>]
The :MEASure:CGRade:OLEVel command installs an Eye One Level measurement
into the user interface's measurement Results pane. Eye one level is a measure of
the mean value of the logical 1 of an eye diagram.
Before using this command or query, you must use the :DISPlay:CGRade
command to enable the color grade persistence feature. Also, there must be a full
eye diagram on screen before a valid measurement can be made.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
If <source> is omitted, the Q-factor will be performed on the first waveform that
has color grade enabled.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:CGRade:OLEVel? [<source>]
The :MEASure:CGRade:OLEVel? query returns the measured Eye One Level.
Returned Format [:MEASure:CGRade:OLEVel] <value>[,<result_state>]<NL>
<value> The measured Eye One Level value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
See Also •":MEASure:CGRade:ZLEVel" on page 764
•":MEASure:ERATio" on page 786
•":MEASure:OPOWer" on page 858
•":MEASure:OMAMplitude" on page 857
History New in version 5.70.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 763
:MEASure:CGRade:QFACtor
Command :MEASure:CGRade:QFACtor [<source>]
The :MEASure:CGRade:QFACtor command measures the Q factor. Before using
this command or query, you must use the :DISPlay:CGRade command to enable
the color grade persistence feature. Also, there must be a full eye diagram on
screen before a valid measurement can be made.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | WMEMory<R> | FUNCtion<F> |
CLOCk | EQUalized | MTRend | MSPectrum}
If <source> is omitted, the Q-factor will be performed on the first waveform that
has color grade enabled.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the Q factor.
myScope.WriteString ":MEASure:CGRade:QFACtor"
Query :MEASure:CGRade:QFACtor? [<source>]
The :MEASure:CGRade:QFACtor? query returns the Q factor measurement of the
color grade display. Before using this command or query, you must use the
:DISPlay:CGRade command to enable the color grade persistence feature.
Returned Format [:MEASure:CGRade:QFACtor]<value>[,<result_state>]<NL>
<value> The Q factor.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the Q factor in the numeric variable, varValue, then prints the
contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CGRade:QFACtor"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 5.00: Added the optional <source> parameter for specifying the waveform
on which the color grade Q factor is measured.
764 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CGRade:ZLEVel
Command :MEASure:CGRade:ZLEVel [<source>]
The :MEASure:CGRade:ZLEVel command installs an Eye Zero Level measurement
into the user interface's measurement Results pane. Eye zero level is a measure of
the mean value of the logical 0 of an eye diagram.
Before using this command or query, you must use the :DISPlay:CGRade
command to enable the color grade persistence feature. Also, there must be a full
eye diagram on screen before a valid measurement can be made.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
If <source> is omitted, the Q-factor will be performed on the first waveform that
has color grade enabled.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:CGRade:ZLEVel? [<source>]
The :MEASure:CGRade:ZLEVel? query returns the measured Eye Zero Level.
Returned Format [:MEASure:CGRade:ZLEVel] <value>[,<result_state>]<NL>
<value> The measured Eye Zero Level value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
See Also •":MEASure:CGRade:OLEVel" on page 762
•":MEASure:ERATio" on page 786
•":MEASure:OPOWer" on page 858
•":MEASure:OMAMplitude" on page 857
History New in version 5.70.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 765
:MEASure:CHARge (9000 Series, 9000H Series, S-Series)
Command :MEASure:CHARge [<primary_channel_source>]
When N2820A/N2821A high-sensitivity current probes are connected, the
:MEASure:CHARge command adds the Charge measurement to the
Measurements tab.
This measurement determines the total current consumption over time with the
results listed in ampere-hours (Ah).
When both the primary and secondary cables of a N2820A probe are used, the
measurement includes the area under the curve across both Zoomed-In and
Zoomed-Out waveforms.
<primary_channel_
source>
{CHANnel<N>}
<N> An integer, 1-4, and should be the primary channel of the N2820A/N2821A probe.
Example This example turns on the Charge measurement and adds it to the Measurements
tab.
myScope.WriteString ":MEASure:CHARge CHANnel1"
Query :MEASure:CHARge?
The :MEASure:CHARge? query returns the measured Charge value in Amp-hours.
Returned Format [:MEASure:CHARge]<value>[,<result_state>]<NL>
Example This example places the measured Charge value in the string variable, strCharge,
then prints the contents of the variable to the computer's screen.
Dim strCharge As String
myScope.WriteString ":MEASure:CHARge?"
strCharge = myScope.ReadString
Debug.Print strCharge
See Also •":MEASure:WINDow" on page 1006
•":CHANnel<N>:PROBe:PRIMary (9000 Series, 9000H Series, S-Series)" on
page 374
History New in version 4.20.
766 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CLEar
Command :MEASure:{CLEar | SCRatch}
The :MEASure:CLEar command clears the measurement results from the screen
and disables all previously enabled measurements.
Example This example clears the current measurement results from the screen.
myScope.WriteString ":MEASure:CLEar"
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 767
:MEASure:CROSsing
Command :MEASure:CROSsing <source1>,<source2>
The :MEASure:CROSsing command adds the crossing measurement to the screen.
The crossing measurement is the voltage where two signals cross (uses edges
closest to the center of the screen)
<source1>,
<source2>
{CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<hysteresis> a real number
Example This example measures the voltage where channel 1 and 2 cross.
myScope.WriteString ":MEASure:CROSsing CHANnel1, CHANnel2"
Query :MEASure:CROSsing? [<source1>, <source2>]
The :MEASure:CROSsing? query returns the crossing measurement value.
If the <source> parameters are not specified, the two sources specified by the
:MEASure:SOURce command are used.
Returned Format [:MEASure:CROSsing] <value><NL>
<value> The voltage value where the signals cross.
Example This example places the crossing voltage value in the numeric variable, varValue,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CROSsing? CHANnel1, CHANnel2"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":MEASure:SOURce" on page 927
History Legacy command (existed before version 3.10).
768 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CTCDutycycle
Command
:MEASure:CTCDutycycle <source>,<direction>
The :MEASure:CYCDutycycle command measures the cycle-to-cycle duty cycle
jitter (%) of the waveform. Another name for this measurement is "duty cycle -
duty cycle".
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies direction of waveform edge to make measurement.
Example This example measures the cycle-to-cycle duty cycle on the rising edge of channel
1.
myScope.WriteString ":MEASure:CTCDutycycle CHANnel1,RISing"
Query :MEASure:CTCDutycycle? <source>,<direction>
The :MEASure:CTCDutycycle? query returns the cycle-to-cycle duty cycle jitter (%)
measurement.
Returned Format [:MEASure:CTCDutycycle <value>[,<result_state>]<NL>
<value> The cycle-to-cycle duty cycle jitter (%) of the waveform.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the cycle-to-cycle duty cycle of channel 1 in the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CTCDutycycle CHANnel1,RISing"
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 769
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":ANALyze:AEDGes" on page 245
•":MEASure:TIEClock2" on page 975
•":MEASure:CTCJitter" on page 770
•":MEASure:NCJitter" on page 839
•":MEASure:CTCPwidth" on page 774
•":MEASure:CTCNwidth" on page 772
History Legacy command (existed before version 3.10).
770 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CTCJitter
Command
:MEASure:CTCJitter <source>,<direction>
The :MEASure:CYCJitter command measures the cycle-to-cycle jitter of the
waveform. Another name for this measurement is "period-period", where the
number of cycles is one.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies direction of waveform edge to make measurement.
Example This example measures the cycle-to-cycle jitter on the rising edge of channel 1.
myScope.WriteString ":MEASure:CTCJitter CHANnel1,RISing"
Query :MEASure:CTCJitter? <source>,<direction>
The :MEASure:CTCJitter? query returns the cycle-to-cycle jitter time
measurement.
Returned Format [:MEASure:CTCJitter <value>[,<result_state>]<NL>
<value> The cycle-to-cycle jitter time of the waveform.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the cycle-to-cycle jitter of channel 1 in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CTCJitter CHANnel1,RISing"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 771
See Also •":ANALyze:AEDGes" on page 245
•":MEASure:TIEClock2" on page 975
•":MEASure:NCJitter" on page 839
•":MEASure:CTCPwidth" on page 774
•":MEASure:CTCNwidth" on page 772
•":MEASure:CTCDutycycle" on page 768
History Legacy command (existed before version 3.10).
772 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CTCNwidth
Command
:MEASure:CTCNwidth [<source>]
The :MEASure:CTCNwidth command measures the cycle-to-cycle -width jitter of
the waveform. Another name for this measurement is "-width - -width".
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the cycle-to-cycle -width of channel 1.
myScope.WriteString ":MEASure:CTCNwidth CHANnel1"
Query :MEASure:CTCNwidth? [<source>]
The :MEASure:CTCNwidth? query returns the cycle-to-cycle -width jitter
measurement.
Returned Format [:MEASure:CTCNwidth <value>[,<result_state>]<NL>
<value> The cycle-to-cycle - width jitter of the waveform.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the cycle-to-cycle - width of channel 1 in the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CTCNwidth CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":ANALyze:AEDGes" on page 245
•":MEASure:TIEClock2" on page 975
•":MEASure:CTCJitter" on page 770
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
774 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:CTCPwidth
Command
:MEASure:CTCPwidth [<source>]
The :MEASure:CYCPwidth command measures the cycle-to-cycle +width jitter of
the waveform. Another name for this measurement is "+width - +width".
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the cycle-to-cycle +width of channel 1.
myScope.WriteString ":MEASure:CTCPwidth CHANnel1"
Query :MEASure:CTCPwidth? [<source>]
The :MEASure:CTCPwidth? query returns the cycle-to-cycle +width jitter
measurement.
Returned Format [:MEASure:CTCPwidth <value>[,<result_state>]<NL>
<value> The cycle-to-cycle +width jitter of the waveform.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example places the cycle-to-cycle + width of channel 1 in the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CTCPwidth CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":ANALyze:AEDGes" on page 245
•":MEASure:TIEClock2" on page 975
•":MEASure:CTCJitter" on page 770
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
776 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:DATarate
Command
:MEASure:DATarate <source>[,{AUTO | (SEMI,<data_rate>)}]
The :MEASure:DATarate command measures the data rate in bits per second for
the selected source. Use the :MEASure:UNITinterval command/query to measure
the unit interval of the source
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<data_rate> A real number specifying the data rate.
Example This example measures the data rate of channel 1.
myScope.WriteString ":MEASure:DATarate CHANnel1"
Query :MEASure:DATarate? <source>[,{Auto | (SEMI,<data_rate>)}]
The :MEASure:DATarate? query returns the measured data rate.
Returned Format [:MEASure:DATarate] <value>[,<result_state>]<NL>
<value> Data rate frequency in bits per second for the selected source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current data rate of the channel 1 waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DATarate? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":ANALyze:AEDGes" on page 245
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 777
History Legacy command (existed before version 3.10).
778 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:DEEMphasis
Command :MEASure:DEEMphasis [<source>]
When the EZJIT Complete application is licensed, the Deemphasis serial data
measurement becomes available.
The :MEASure:DEEMphasis command adds the deemphasis measurement.
The de-emphasis measurement relies on the clock recovery to recover a clock for
each bit in the data waveform. You need to configure clock recovery appropriately
for your signal.
Sources are specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:DEEMphasis command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example adds the deemphasis measurement on the channel 1 source.
myScope.WriteString ":MEASure:DEEMphasis CHANnel1"
Query :MEASure:DEEMphasis? [<source>]
The :MEASure:DEEMphasis? query returns the measured deemphasis value of the
specified source.
Due to random noise, many bits need to be averaged together to average out the
noise. Therefore, the current value has little importance and the mean should be
used. See ":MEASure:STATistics" on page 928.
Returned Format [:MEASure:DEEMphasis] <value>[,<result_state>]<NL>
<value> For every de-emphasis bit in the waveform, a value is computed using:
20 * log10(de-emphasis voltage / transition voltage)
Where:
• Transition voltage is the voltage at the clock location of the preceding
transition bit.
• De-emphasis voltage is the voltage at the clock location of de-emphasis bits
following a transition bit.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 779
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value for deemphasis in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DEEMphasis? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":ANALyze:AEDGes" on page 245
History Legacy command (existed before version 3.10).
780 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:DELTatime
Command :MEASure:DELTatime [<source>[,<source>]]
The :MEASure:DELTatime command measures the delta time between two edges.
If one source is specified, the delta time from the leading edge of the specified
source to the trailing edge of the specified source is measured. If two sources are
specified, the delta time from the leading edge on the first source to the trailing
edge on the second source is measured.
Sources are specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:DELTatime command. The rest of the
parameters for this command are specified with the :MEASure:DEFine command.
The necessary waveform edges must be present on the display. The query will
return 9.99999E+37 if the necessary edges are not displayed.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the delta time between channel 1 and channel 2.
myScope.WriteString ":MEASure:DELTatime CHANnel1,CHANnel2"
Query :MEASure:DELTatime? [<source>[,<source>]]
The :MEASure:DELTatime? query returns the measured delta time value.
Returned Format [:MEASure:DELTatime] <value>[,<result_state>]<NL>
<value> Delta time from the first specified edge on one source to the next specified edge
on another source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of delta time in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen. This
example assumes the source was set using :MEASure:SOURce.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DELTatime?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 781
History Legacy command (existed before version 3.10).
782 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:DELTatime:DEFine
Command :MEASure:DELTatime:DEFine <start_edge_direction>,<start_edge_number>,
<start_edge_position>,<stop_edge_direction>,<stop_edge_number>,
<stop_edge_position>
The :MEASure:DELTatime:DEFine command sets the type of direction, the number
of the edge, and the edge position for the delta time measurement.
<start_edge
_direction>
{RISing | FALLing | EITHer} for start directions.
<start_edge
_number>
An integer from 1 to 65534 for start edge numbers.
<start_edge
_position>
{UPPer | MIDDle | LOWer} for start edge positions.
<stop_edge
_direction>
{RISing | FALLing | EITHer} for stop directions.
<stop_edge
_number>
An integer from 1 to 65534 for stop edge numbers.
<stop_edge
_position>
{UPPer | MIDDle | LOWer} for stop edge positions.
Example This example sets the delta time starting edge to a rising edge on the 5th edge at
the middle position and the stopping edge to falling on the 50th edge at the lower
position.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString _
":MEASure:DELTatime:DEFine RISing,5,MIDDle,FALLing,50,LOWer"
Query :MEASure:DELTatime:DEFine?
The :MEASure:DELTatime:DEFine? query returns the measured delta time value.
Returned Format [:MEASure:DELTatime:DEFine] <start_edge_direction>,<start_edge_number>,
<start_edge_position>,<stop_edge_direction>,<stop_edge_number>,
<stop_edge_position><NL>
Example This example places the current value of delta time definition in the string variable,
strValue, then prints the contents of the variable to the computer's screen. This
example assumes the source was set using :MEASure:SOURce.
Dim strValue As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DELTatime:DEFine?"
strValue = myScope.ReadString
Debug.Print strValue
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 783
History Legacy command (existed before version 3.10).
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
784 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:DUTYcycle
Command :MEASure:DUTYcycle [<source>[,<direction>]]
The :MEASure:DUTYcycle command measures the ratio (%) of the positive pulse
width to the period.
Sources are specified with the :MEASure:SOURce command or with the optional
<source> parameter following the :MEASure:DUTYcycle command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies whether the duty cycle is measured from rising edge to rising edge or
from falling edge to falling edge. When <direction> is specified, the <source>
parameter is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), the RISing and FALLing options specify whether the first rising or falling
edge from the left side of the display grid is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether whether the duty cycle is measured from rising edge to rising
edge or from falling edge to falling edge throughout the acquisition.
Example This example measures the duty cycle of the channel 1 waveform.
myScope.WriteString ":MEASure:DUTYcycle CHANnel1"
Query :MEASure:DUTYcycle? [<source>],<direction>
The :MEASure:DUTYcycle? query returns the measured duty cycle (%) of the
specified source.
Returned Format [:MEASure:DUTYcycle] <value>[,<result_state>]<NL>
<value> The ratio (%) of the positive pulse width to the period.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current duty cycle of the channel 1 waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DUTYcycle? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 785
:MEASure:EDGE
Command :MEASure:EDGE [<source>[,<direction>]]
The :MEASure:EDGE command measures the time of edges, relative to the
timebase reference location.
Sources are specified with the :MEASure:SOURce command or with the optional
<source> parameter.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing | BOTH}
Specifies the edge whose time is measured. When <direction> is specified, the
<source> parameter is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), BOTH means whichever edge is nearest to the timebase reference
location is used.
When the "Measure All Edges" mode is ON, BOTH specifies that both rising and
falling edge times are measured throughout the acquisition.
Example This example measures the edge times of the channel 1 waveform.
myScope.WriteString ":MEASure:EDGE CHANnel1"
Query :MEASure:EDGE? [<source>[,<direction>]]
The :MEASure:EDGE? query returns the measured edge time of the specified
source.
Returned Format [:MEASure:DUTYcycle] <value>[,<result_state>]<NL>
<value> The measured edge time.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current duty cycle of the channel 1 waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:EDGE? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History New in version 3.10.
786 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:ERATio
Command :MEASure:ERATio [<source>[,{RATio | DB | PERCent}]]
The :MEASure:ERATio command measures the ratio of the one level and the zero
level of an eye diagram of an optical signal.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
{RATio | DB |
PERCent}
Specifies the extinction-ratio correction factor units in Ratio, Decibel, or
percentage.
Query :MEASure:ERATio? [<source>[,{RATio | DB | PERCent}]]
The :MEASure:ERATio? query returns the measured Extinction Ratio.
Returned Format [:MEASure:ERATio] <value>[,<result_state>]<NL>
<value> The measured Extinction Ratio value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
See Also •":MEASure:OMAMplitude" on page 857
•":MEASure:OPOWer" on page 858
•":MEASure:CGRade:OLEVel" on page 762
•":MEASure:CGRade:ZLEVel" on page 764
History New in version 5.70.
NOTE
The Extinction Ratio measurement will give a question mark ("?") result if:
•The dark calibration has not been performed at all.
•The vertical sensitivity, offset, or sample rate has changed since the dark calibration was run.
•The probe temperature has changed by > 2 degrees C.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 787
:MEASure:ETOedge
Command :MEASure:ETOedge <source_1>,<direction_1>,<position_1>,<next_prev>,
<relative_edge_number>,<source_2>,<direction_2>,<position_2>
The :MEASure:ETOedge command measures the delta time between two edges. It
is similar to the delta time measurement, but can be applied to the measurement
trend. It also enables you to set whether the measurement is between an edge
before or after a specific edge and the number of edges to move forward or
backwards.
The necessary waveform edges must be present on the display. The query will
return 9.99999E+37 if the necessary edges are not displayed.
The Edge-Edge measurement requires all edges. When you add it, the "Measure
All Edges" mode (see ":ANALyze:AEDGes" on page 245) is automatically set to
ON. When the "Measure All Edges" mode is set to OFF, this measurement cannot
be made, and there are no measurement results.
When this measurement is tracked with markers, markers are displayed at the
measurement nearest to the timebase reference location.
<source_1>,
<source_2>
{CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction_1>,
<direction_2>
May be RISing, FALLing, or BOTH
<position_1>,
<position_2>
May be UPPer, MIDDle, or LOWer
<next_prev> May be NEXT or PREVious
<relative_edge_nu
mber>
An integer that is the relative number of the second edge.
Query :MEASure:ETOedge? <source_1>,<direction_1>,<position_1>,<next_prev>,
<relative_edge_number>,<source_2>,<direction_2>,<position_2>
The :MEASure:ETOedge? query returns the delta time between the two specified
edges.
Returned Format [:MEASure:ETOedge] <value>[,<result_state>]<NL>
<value> The measured delta time between two edges value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value for delta time in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
788 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:ETOedge? CHAN1,RIS,UPP,NEXT,2,CHAN2,RIS,UP
P"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 789
:MEASure:FALLtime
Command :MEASure:FALLtime [<source>[,<start_level>,<stop_level>]]
The :MEASure:FALLtime command measures the time at the upper threshold of
the falling edge, measures the time at the lower threshold of the falling edge, then
calculates the fall time. Sources are specified with the :MEASure:SOURce
command or with the optional parameter following the :MEASure:FALLtime
command.
The first displayed falling edge is used for the fall-time measurement. To make this
measurement requires 4 or more sample points on the falling edge of the
waveform.
Fall time = time at lower threshold point - time at upper threshold point.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<start_level>,
<stop_level>
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the <start_level> and
<stop_level> parameters are integers that identify the edge to measure. For
PAM-4, the levels may be from 0-3.
For PAM fall time measurements, "Measure All Edges" must be turned on (see
:ANALyze:AEDGes).
Example This example measures the fall time of the channel 1 waveform.
myScope.WriteString ":MEASure:FALLtime CHANnel1"
Query :MEASure:FALLtime? [<source>[,<start_level>,<stop_level>]]
The :MEASure:FALLtime? query returns the fall time of the specified source.
Returned Format [:MEASure:FALLtime] <value>[,<result_state>]<NL>
<value> Time at lower threshold - time at upper threshold.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value for fall time in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:FALLtime? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":ANALyze:SIGNal:TYPE" on page 282
•":ANALyze:AEDGes" on page 245
790 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
History Legacy command (existed before version 3.10).
Version 5.50: With PAM signal types, additional <start_level> and <stop_level>
parameters are used to identify the edge to measure.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 791
:MEASure:FFT:CPOWer
Command :MEASure:FFT:CPOWer <source>,<center_freq>,<meas_bw>
The :MEASure:FFT:CPOWer command installs a channel power measurement into
the user interface's measurement Results pane.
The source must be a function that is set to FFT, or a waveform memory that
contains an FFT for this command and query to work.
<source> {FUNCtion<F> | WMEMory<R> | MSPectrum}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<center_freq> The center frequency used in the measurement in NR3 format.
<meas_bw> The width of FFT band in NR3 format.
Query :MEASure:FFT:CPOWer? <source>,<center_freq>,<meas_bw>
The :MEASure:FFT:CPOWer? query returns the measured channel power.
Returned Format [:MEASure:FFT:CPOWer] <channel_power_value><NL>
<channel_power_value> ::= in dBm in NR3 format.
See Also •":MEASure:FFT:OBW" on page 800
•":MEASure:FFT:PSD" on page 801
History New in version 5.70.
792 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:FFT:DFRequency
Command :MEASure:FFT:DFRequency <source>,<peak1_number>,<peak2_number>,<level>
The :MEASure:FFT:DFRequency command installs a measurement of the
frequency difference between two FFT peaks. Peaks are numbered from
low-to-high frequency. Only peaks above the specified threshold level are
numbered.
For this command/query to work, the source must be a function that is set to FFT
or a waveform memory that contains an FFT.
<source> {FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<peak1_number>,
<peak2_number>
An integer (in NR1 format) that specifies the FFT peak number.
<level> A decimal number (in NR3 format) that specifies the peak threshold level in dBm.
Query :MEASure:FFT:DFRequency? <source>,<peak1_number>,<peak2_number>,<level>
The :MEASure:FFT:DFRequency? query returns the delta frequency value between
two FFT peaks.
Returned Format [:MEASure:FFT:DFRequency] <delta_frequency>[,<result_state>]<NL>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example sets up an FFT Magnitude math function on channel 4 and measures
the delta frequency between FFT peaks 2 and 4 using a threshold level of -47.0
dBm.
' Response headers off:
myScope.WriteString ":SYSTem:HEADer OFF"
' Set up FFT Magnitude math function on channel 4:
myScope.WriteString ":FUNCtion4:FFTMagnitude CHANnel4"
' Display the FFT:
myScope.WriteString ":FUNCtion4:DISPlay ON"
' Install the FFT delta frequency measurement between peaks 2 and 4
' using a peak threshold level of -47 dBm:
myScope.WriteString ":MEASure:FFT:DFRequency FUNCtion4,2,4,-47.0"
' Get the FFT delta frequency measurement result value:
myScope.WriteString ":MEASure:FFT:DFRequency? FUNCtion4,2,4,-47.0"
varDeltaFreq = myScope.ReadNumber
Debug.Print FormatNumber(varDeltaFreq, "Scientific")
See Also •":MEASure:FFT:DMAGnitude" on page 794
794 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:FFT:DMAGnitude
Command :MEASure:FFT:DMAGnitude <source>,<peak1_number>,<peak2_number>,<level>
The :MEASure:FFT:DMAGnitude command installs a measurement of the
magnitude difference between two FFT peaks. Peaks are numbered from
low-to-high frequency. Only peaks above the specified threshold level are
numbered.
For this command/query to work, the source must be a function that is set to FFT
or a waveform memory that contains an FFT.
<source> {FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<peak1_number>,
<peak2_number>
An integer (in NR1 format) that specifies the FFT peak number.
<level> A decimal number (in NR3 format) that specifies the peak threshold level in dBm.
Query :MEASure:FFT:DMAGnitude? <source>,<peak1_number>,<peak2_number>,<level>
The :MEASure:FFT:DMAGnitude? query returns the delta magnitude value
between two FFT peaks.
Returned Format [:MEASure:FFT:DMAGnitude] <delta_magnitude>[,<result_state>]<NL>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example sets up an FFT Magnitude math function on channel 4 and measures
the delta magnitude between FFT peaks 2 and 4 using a threshold level of
-47.0 dBm.
' Response headers off:
myScope.WriteString ":SYSTem:HEADer OFF"
' Set up FFT Magnitude math function on channel 4:
myScope.WriteString ":FUNCtion4:FFTMagnitude CHANnel4"
' Display the FFT:
myScope.WriteString ":FUNCtion4:DISPlay ON"
' Install the FFT delta magnitude measurement between peaks 2 and 4
' using a peak threshold level of -47 dBm:
myScope.WriteString ":MEASure:FFT:DMAGnitude FUNCtion4,2,4,-47.0"
' Get the FFT delta magnitude measurement result value:
myScope.WriteString ":MEASure:FFT:DMAGnitude? FUNCtion4,2,4,-47.0"
varDeltaMag = myScope.ReadNumber
Debug.Print FormatNumber(varDeltaMag, "Scientific")
See Also •":MEASure:FFT:DFRequency" on page 792
796 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:FFT:FREQuency
Command :MEASure:FFT:FREQuency <source>,<peak_number>,<level>
The :MEASure:FFT:FREQuency command installs a measurement of the frequency
of an FFT peak. Peaks are numbered from low-to-high frequency. Only peaks
above the specified threshold level are numbered.
For this command/query to work, the source must be a function that is set to FFT
or a waveform memory that contains an FFT.
<source> {FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<peak_number> An integer (in NR1 format) that specifies the FFT peak number.
<level> A decimal number (in NR3 format) that specifies the peak threshold level in dBm.
Query :MEASure:FFT:FREQuency? <source>,<peak_number>,<level>
The :MEASure:FFT:FREQuency? query returns the frequency value of the FFT peak.
Returned Format [:MEASure:FFT:FREQuency] <frequency>[,<result_state>]<NL>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example sets up an FFT Magnitude math function on channel 4 and measures
the frequency of FFT peak 2 using a threshold level of -47.0 dBm.
' Response headers off:
myScope.WriteString ":SYSTem:HEADer OFF"
' Set up FFT Magnitude math function on channel 4:
myScope.WriteString ":FUNCtion4:FFTMagnitude CHANnel4"
' Display the FFT:
myScope.WriteString ":FUNCtion4:DISPlay ON"
' Install the FFT frequency measurement on peak number 2 using a peak
' threshold level of -47 dBm:
myScope.WriteString ":MEASure:FFT:FREQuency FUNCtion4,2,-47.0"
' Get the FFT frequency measurement result value:
myScope.WriteString ":MEASure:FFT:FREQuency? FUNCtion4,2,-47.0"
varFrequency = myScope.ReadNumber
Debug.Print FormatNumber(varFrequency, "Scientific")
See Also •":MEASure:FFT:DFRequency" on page 792
•":MEASure:FFT:DMAGnitude" on page 794
•":MEASure:FFT:MAGNitude" on page 798
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 797
Version 6.20: The command and query now include peak number and level
parameters.
798 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:FFT:MAGNitude
Command :MEASure:FFT:MAGNitude <source>,<peak_number>,<level>
The :MEASure:FFT:MAGNitude command installs a measurement of the
magnitude of an FFT peak. Peaks are numbered from low-to-high frequency. Only
peaks above the specified threshold level are numbered.
For this command/query to work, the source must be a function that is set to FFT
or a waveform memory that contains an FFT.
<source> {FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<peak_number> An integer (in NR1 format) that specifies the FFT peak number.
<level> A decimal number (in NR3 format) that specifies the peak threshold level in dBm.
Query :MEASure:FFT:MAGNitude? <source>,<peak_number>,<level>
The :MEASure:FFT:MAGNitude? query returns the magnitude value of the FFT
peak.
Returned Format [:MEASure:FFT:FMAGNitude] <magnitude>[,<result_state>]<NL>
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example sets up an FFT Magnitude math function on channel 4 and measures
the magnitude of FFT peak 2 using a threshold level of -47.0 dBm.
' Response headers off:
myScope.WriteString ":SYSTem:HEADer OFF"
' Set up FFT Magnitude math function on channel 4:
myScope.WriteString ":FUNCtion4:FFTMagnitude CHANnel4"
' Display the FFT:
myScope.WriteString ":FUNCtion4:DISPlay ON"
' Install the FFT magnitude measurement on peak number 2 using a peak
' threshold level of -47 dBm:
myScope.WriteString ":MEASure:FFT:MAGNitude FUNCtion4,2,-47.0"
' Get the FFT magnitude measurement result value:
myScope.WriteString ":MEASure:FFT:MAGNitude? FUNCtion4,2,-47.0"
varMagnitude = myScope.ReadNumber
Debug.Print FormatNumber(varMagnitude, "Scientific")
See Also •":MEASure:FFT:DFRequency" on page 792
•":MEASure:FFT:DMAGnitude" on page 794
•":MEASure:FFT:FREQuency" on page 796
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 799
History Legacy command (existed before version 3.10).
Version 6.20: The command and query now include peak number and level
parameters.
800 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:FFT:OBW
Command :MEASure:FFT:OBW <source>,<occupied_bw_pct>
The :MEASure:FFT:OBW command installs an occupied bandwidth measurement
into the user interface's measurement Results pane.
The source must be a function that is set to FFT, or a waveform memory that
contains an FFT for this command and query to work.
<source> {FUNCtion<F> | WMEMory<R> | MSPectrum}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<occupied_bw_pct
>
The percentage of the power of the FFT on screen.
Query :MEASure:FFT:OBW? <source>,<occupied_bw_pct>
The :MEASure:FFT:OBW? query returns the measured occupied bandwidth.
Returned Format [:MEASure:FFT:OBW] <bandwidth><NL>
<bandwidth> ::= in Hz in NR3 format.
See Also •":MEASure:FFT:CPOWer" on page 791
•":MEASure:FFT:PSD" on page 801
History New in version 5.70.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 801
:MEASure:FFT:PSD
Command :MEASure:FFT:PSD <source>,<center_freq>,<meas_bw>
The :MEASure:FFT:PSD command installs a power spectral density measurement
into the user interface's measurement Results pane.
The source must be a function that is set to FFT, or a waveform memory that
contains an FFT for this command and query to work.
<source> {FUNCtion<F> | WMEMory<R> | MSPectrum}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<center_freq> The center frequency used in the measurement in NR3 format.
<meas_bw> The width of FFT band in NR3 format.
Query :MEASure:FFT:PSD? <source>,<center_freq>,<meas_bw>
The :MEASure:FFT:PSD? query returns the measured power spectral density.
Returned Format [:MEASure:FFT:PSD] <psd_value><NL>
<psd_value> ::= in dBm/Hz in NR3 format.
See Also •":MEASure:FFT:CPOWer" on page 791
•":MEASure:FFT:OBW" on page 800
History New in version 5.70.
802 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:FREQuency
Command :MEASure:FREQuency [<source>[,<direction>]]
The :MEASure:FREQuency command measures the frequency of the first complete
cycle on the screen using the mid-threshold levels of the waveform (50% levels if
standard thresholds are selected).
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:FREQuency command.
The algorithm is:
If the first edge on the screen is rising,
then
frequency = 1/(second rising edge time - first rising edge time)
else
frequency = 1/(second falling edge time - first falling edge time)
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies whether the frequency is measured from rising edge to rising edge or
from falling edge to falling edge. When <direction> is specified, the <source>
parameter is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), the RISing and FALLing options specify whether the first rising or falling
edge from the left side of the display grid is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether whether the frequency is measured from rising edge to rising edge
or from falling edge to falling edge throughout the acquisition.
Example This example measures the frequency of the channel 1 waveform.
myScope.WriteString ":MEASure:FREQuency CHANnel1"
Query :MEASure:FREQuency? [<source>[,<direction>]]
The :MEASure:FREQuency? query returns the measured frequency.
Returned Format [:MEASure:FREQuency] <value>[,<result_state>]<NL>
<value> The frequency value in Hertz of the first complete cycle on the screen using the
mid-threshold levels of the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 803
Example This example places the current frequency of the waveform in the numeric
variable, varFreq, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:FREQuency? CHANnel1"
varFreq = myScope.ReadNumber
Debug.Print FormatNumber(varFreq, 0)
History Legacy command (existed before version 3.10).
804 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:HISTogram:FWHM
Command :MEASure:HISTogram:FWHM
When a histogram is on, the :MEASure:HISTogram:FWHM command installs a
"Full-Width at Half Max" histogram measurement into the user interface's
measurement Results pane.
Query :MEASure:HISTogram:FWHM?
The :MEASure:HISTogram:FWHM? query returns the measured histogram
"Full-Width at Half Max" value.
Returned Format <value><NL>
<value> ::= width of histogram at half max height in NR3 format
See Also •":MEASure:HISTogram:HITS" on page 805
•":MEASure:HISTogram:M1S" on page 806
•":MEASure:HISTogram:M2S" on page 807
•":MEASure:HISTogram:M3S" on page 808
•":MEASure:HISTogram:MAX" on page 809
•":MEASure:HISTogram:MEAN" on page 810
•":MEASure:HISTogram:MEDian" on page 811
•":MEASure:HISTogram:MIN" on page 812
•":MEASure:HISTogram:MODE" on page 813
•":MEASure:HISTogram:PEAK" on page 814
•":MEASure:HISTogram:PP" on page 815
•":MEASure:HISTogram:RESolution" on page 816
•":MEASure:HISTogram:STDDev" on page 817
History New in version 6.10.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 805
:MEASure:HISTogram:HITS
Command :MEASure:HISTogram:HITS [<source>]
The :MEASure:HISTogram:HITS command places the histogram hits measurement
into the Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the number of hits within the
histogram stored in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:HITS WMEMory1"
Query :MEASure:HISTogram:HITS? [<source>]
The :MEASure:HISTogram:HITS? query returns the number of hits within the
histogram.
Returned Format [:MEASure:HISTogram:HITS]<value>[,<result_state>]<NL>
<value> The number of hits in the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the number of hits within the current histogram and prints
the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:HITS? WMEMory1"
varHisthits = myScope.ReadNumber
Debug.Print FormatNumber(varHisthits, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
806 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:HISTogram:M1S
Command :MEASure:HISTogram:M1S [<source>]
The :MEASure:HISTogram:M1S command places the histogram percentage of
points within one standard deviation of the mean measurement into the
Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example measures the percentage of points that are within one standard
deviation of the mean of the histogram of the data stored in waveform memory 3.
myScope.WriteString ":MEASure:HISTogram:M1S WMEMory3"
Query :MEASure:HISTogram:M1S? [<source>]
The :MEASure:HISTogram:M1S? query returns the measurement of the percentage
of points within one standard deviation of the mean of the histogram.
Returned Format [:MEASure:HISTogram:M1S]<value>[,<result_state>]<NL>
<value> The percentage of points within one standard deviation of the mean of the
histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the percentage of points within one standard deviation of the
mean of the current histogram and prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:M1S? WMEMory1"
varHistm1s = myScope.ReadNumber
Debug.Print FormatNumber(varHistm1s, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 807
:MEASure:HISTogram:M2S
Command :MEASure:HISTogram:M2S [<source>]
The :MEASure:HISTogram:M2S command places the histogram percentage of
points within two standard deviations of the mean measurement into the
Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example measures the percentage of points that are within two standard
deviations of the mean of the histogram whose source is specified using the
MEASure:SOURce command.
myScope.WriteString ":MEASure:HISTogram:M2S WMEMory1"
Query :MEASure:HISTogram:M2S? [<source>]
The :MEASure:HISTogram:M2S? query returns the measurement of the percentage
of points within two standard deviations of the mean of the histogram.
Returned Format [:MEASure:HISTogram:M2S]<value>[,<result_state>]<NL>
<value> The percentage of points within two standard deviations of the mean of the
histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the percentage of points within two standard deviations of
the mean of the current histogram and prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:M2S? WMEMory1"
varHistm2s = myScope.ReadNumber
Debug.Print FormatNumber(varHistm2s, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
808 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:HISTogram:M3S
Command :MEASure:HISTogram:M3S [<source>]
The :MEASure:HISTogram:M2S command places the histogram percentage of
points within two standard deviations of the mean measurement into the
Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example measures the percentage of points that are within three standard
deviations of the mean of the histogram.
myScope.WriteString ":MEASure:HISTogram:M3S HISTogram"
Query :MEASure:HISTogram:M3S? [<source>]
The :MEASure:HISTogram:M3S? query returns the measurement of the percentage
of points within three standard deviations of the mean of the histogram.
Returned Format [:MEASure:HISTogram:M3S]<value>[,<result_state>]<NL>
<value> The percentage of points within three standard deviations of the mean of the
histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the percentage of points within three standard deviations of
the mean of the current histogram and prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:M3S? WMEMory1"
varHistm3s = myScope.ReadNumber
Debug.Print FormatNumber(varHistm3s, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 809
:MEASure:HISTogram:MAX
Command :MEASure:HISTogram:MAX [<source>]
The :MEASure:HISTogram:MAX command places the histogram maximum value
measurement into the Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the maximum value of the
histogram stored in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:MAX WMEMory1"
Query :MEASure:HISTogram:MAX? [<source>]
The :MEASure:HISTogram:MAX? query returns the measurement of the maximum
value of the histogram.
Returned Format [:MEASure:HISTogram:MAX]<value>[,<result_state>]<NL>
<value> The maximum value of the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the maximum value of the current histogram and prints the
result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:MAX?"
varHistmax = myScope.ReadNumber
Debug.Print FormatNumber(varHistmax, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
810 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:HISTogram:MEAN
Command :MEASure:HISTogram:MEAN [<source>]
The :MEASure:HISTogram:MEAN command places the histogram mean
measurement into the Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the mean of the histogram stored
in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:MEAN WMEMory1"
Query :MEASure:HISTogram:MEAN? [<source>]
The :MEASure:HISTogram:MEAN? query returns the measurement of the mean of
the histogram.
Returned Format [:MEASure:HISTogram:MEAN]<value>[,<result_state>]<NL>
<value> The mean of the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the mean of the current histogram and prints the result to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:MEAN? WMEMory1"
varHistmean = myScope.ReadNumber
Debug.Print FormatNumber(varHistmean, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 811
:MEASure:HISTogram:MEDian
Command :MEASure:HISTogram:MEDian [<source>]
The :MEASure:HISTogram:MEDian command places the histogram median
measurement into the Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the median of the histogram
stored in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:MEDian WMEMory1"
Query :MEASure:HISTogram:MEDian? [<source>]
The :MEASure:HISTogram:MEDian? query returns the measurement of the median
of the histogram.
Returned Format [:MEASure:HISTogram:MEDian]<value>[,<result_state>]<NL>
<value> The median of the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the median of the current histogram and prints the result to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:MEDian? WMEMory1"
varHistmed = myScope.ReadNumber
Debug.Print FormatNumber(varHistmed, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
812 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:HISTogram:MIN
Command :MEASure:HISTogram:MIN [<source>]
The :MEASure:HISTogram:MIN command places the histogram minimum
measurement into the Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the minimum the histogram
stored in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:MIN WMEMory1"
Query :MEASure:HISTogram:MIN? [<source>]
The :MEASure:HISTogram:MIN? query returns the measurement of the minimum
value of the histogram.
Returned Format [:MEASure:HISTogram:MIN]<value>[,<result_state>]<NL>
<value> The minimum value of the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the minimum value of the current histogram and prints the
result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:MIN?"
varHistmin = myScope.ReadNumber
Debug.Print FormatNumber(varHistmin, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 813
:MEASure:HISTogram:MODE
Command :MEASure:HISTogram:MODE [<source>]
The :MEASure:HISTogram:MODE command places the histogram mode
measurement into the Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the mode of the histogram stored
in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:MODE WMEMory1"
Query :MEASure:HISTogram:MODE? [<source>]
The :MEASure:HISTogram:MODE? query returns the measurement histogram's
Mode value.
Returned Format [:MEASure:HISTogram:MODE]<value>[,<result_state>]<NL>
<value> The Mode value of the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the Mode value of the current histogram and prints the result
to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:MODE? WMEMory1"
varHistMode = myScope.ReadNumber
Debug.Print FormatNumber(varHistMode, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History New in version 3.11.
Version 3.50: Can now use this command with Meas Histogram math functions.
814 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:HISTogram:PEAK
Command :MEASure:HISTogram:PEAK [<source>]
The :MEASure:HISTogram:PEAK command places the histogram number of hits in
the greatest peak measurement into the Measurements tab of the oscilloscope's
user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the number of hits in the greatest
peak of the histogram stored in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:PEAK WMEMory1"
Query :MEASure:HISTogram:PEAK? [<source>]
The :MEASure:HISTogram:PEAK? query returns the number of hits in the greatest
peak of the histogram measurement.
Returned Format [:MEASure:HISTogram:PEAK]<value>[,<result_state>]<NL>
<value> The number of hits in the histogram peak.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the number of hits in the greatest peak of the current
histogram and prints the result to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:PEAK? WMEMory1"
varHistpeak = myScope.ReadNumber
Debug.Print FormatNumber(varHistpeak, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 815
:MEASure:HISTogram:PP
Command :MEASure:HISTogram:PP [<source>]
The :MEASure:HISTogram:PP command places the histogram width measurement
into the Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the width of the histogram stored
in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:PP WMEMory1"
Query :MEASure:HISTogram:PP? [<source>]
The :MEASure:HISTogram:PP? query returns the measurement of the width of the
histogram.
Returned Format [:MEASure:HISTogram:PP]<value>[,<result_state>]<NL>
<value> The width of the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the width of the current histogram and prints the result to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:PP? WMEMory1"
varHistpp = myScope.ReadNumber
Debug.Print FormatNumber(varHistpp, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
816 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:HISTogram:RESolution
Command :MEASure:HISTogram:RESolution [<source>]
The :MEASure:HISTogram:RESolution command places the histogram bin width
measurement into the Measurements tab of the oscilloscope's user interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the bin width of the histogram
stored in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:RESolution WMEMory1"
Query :MEASure:HISTogram:RES? [<source>]
The :MEASure:HISTogram:RES? query returns the measurement of the bin width
of the histogram.
Returned Format [:MEASure:HISTogram:RES]<value>[,<result_state>]<NL>
<value> The width of the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the width of the current histogram and prints the result to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:RESolution? WMEMory1"
varHistpp = myScope.ReadNumber
Debug.Print FormatNumber(varHistpp, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History New in version 3.50.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 817
:MEASure:HISTogram:STDDev
Command :MEASure:HISTogram:STDDev [<source>]
The :MEASure:HISTogram:STDDev command places the histogram standard
deviation measurement into the Measurements tab of the oscilloscope's user
interface.
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the command.
The :MEASure:HISTogram commands only apply to Meas Histogram math
functions, the histogram waveform, or memories containing histograms.
<source> { FUNCtion<F> | WMEMory<R> | HISTogram}
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example places into the Measurements tab the standard deviation of the
histogram stored in WMEMory1.
myScope.WriteString ":MEASure:HISTogram:STDDev WMEMory1"
Query :MEASure:HISTogram:STDDev? [<source>]
The :MEASure:HISTogram:STDDev? query returns the measurement of standard
deviation of the histogram.
Returned Format [:MEASure:HISTogram:STDDev]<value>[,<result_state>]<NL>
<value> The standard deviation of the histogram.
<result_state> If SENDVALID is ON, the result state is returned with the measurement result.
Refer to the MEASure:RESults command, for a list of the result states.
Example This example returns the standard deviation of the histogram whose source is
specified using the MEASure:SOURce command and prints the result to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HISTogram:STDDEV? WMEMory1"
varHiststtd = myScope.ReadNumber
Debug.Print FormatNumber(varHiststtd, 0)
See Also •":FUNCtion<F>:MHIStogram" on page 549
•":HISTogram:MODE" on page 576
History Legacy command (existed before version 3.10).
Version 3.50: Can now use this command with Meas Histogram math functions.
818 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:HOLDtime
Command
:MEASure:HOLDtime
[<data_source>,<data_source_dir>,<clock_source>,<clock_ source_dir>]
The :MEASure:HOLDtime command measures the hold time between the specified
clock and data sources.
This measurement requires all edges. When you add it, the "Measure All Edges"
mode (see ":ANALyze:AEDGes" on page 245) is automatically set to ON. When the
"Measure All Edges" mode is set to OFF, this measurement cannot be made, and
there are no measurement results.
<data_source>,
<clock_source>
{CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<data_source
_dir>
{RISing | FALLing | BOTH}
Selects the direction of the data source edge.
<clock_source
_dir>
{RISing | FALLing}
Selects the direction of the clock source edge.
Example This example measures the hold time from the rising edge of channel 1 to the
rising edge of channel 2.
myScope.WriteString ":MEASure:HOLDtime CHAN1,RIS,CHAN2,RIS"
Query :MEASure:HOLDtime?
[<data_source>,<data_source_dir>,<clock_source>,<clock_ source_dir>]
The :MEASure:HOLDtime? query returns the measured hold time between the
specified clock and data source.
The necessary waveform edges must be present on the display. Also, the "Measure
All Edges" mode must be set (use the :ANALyze:AEDGes command or
:MEASure:HOLDtime command before the query).
The query will return 9.99999E+37 if the necessary edges are not displayed or if
the "Measure All Edges" mode is not currently set.
Returned Format {:MEASure:SETuptime] <value><NL>
<value> Hold time in seconds.
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 819
Example This example places the current value of hold time in the numeric variable,
varTime, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:HOLDtime? CHAN1,RIS,CHAN2,RIS"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
See Also Refer to the :MEASure:RESults? query for information on the results returned and
how they are affected by the SENDvalid command. Refer to the individual
measurements for information on how the result state is returned.
See Also •":ANALyze:AEDGes" on page 245
History Legacy command (existed before version 3.10).
820 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:HISTogram
Command
:MEASure:JITTer:HISTogram {{ON|1} | {OFF|0}}
The :MEASure:JITTer:HISTogram command turns the measurement histogram
display on or off when a jitter measurement is displayed.
Example This example turns the jitter measurement histogram display on.
myScope.WriteString ":MEASure:JITTer:HISTogram ON"
Query :MEASure:JITTer:HISTogram?
The :MEASure :JITTer:HISTogram? query returns the state of measurement
histogram display.
Returned Format [:MEASure:JITTer:HISTogram] {1 | 0}
Example This example places the current setting of the jitter spectrum mode in the variable
varSetting, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:HISTogram?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 821
:MEASure:JITTer:MEASurement
Command
:MEASure:JITTer:MEASurement {MEASurement<N>}
The :MEASure :JITTer:MEASurement command selects which measurement
displayed on the oscilloscope you are performing the jitter analysis on.
MEASurement1 is the most recently added measurement.
<N> An integer, 1-20.
Example This example assigns measurement 2 to the jitter measurement analysis.
myScope.WriteString ":MEASure:JITTer:MEASurement MEASurement2"
Query :MEASure:JITTer:MEASurement?
The :MEASure :JITTer:MEASurement? query returns the measurement number you
are performing the jitter analysis on. If no measurements are being displayed on
the oscilloscope, the query will return a null string.
Returned Format [:MEASure:JITTer:MEASurement MEASurement<N>]
Example This example places the current measurement number that you are performing
jitter analysis on in the string variable strSetting, then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:MEASurement?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
NOTE
When <N> is 10-20, the long form of the mnemonic, MEASurement<N>, is too long. In this
case, you must use the short form, MEAS<N>.
822 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:SPECtrum
Command
:MEASure:JITTer:SPECtrum {{ON|1} | {OFF|0}}
The :MEASure:JITTer:SPECtrum command turns the jitter spectrum display on or
off when a jitter measurement is displayed.
Example This example turns the jitter measurement spectrum display on.
myScope.WriteString ":MEASure:JITTer:SPECtrum ON"
Query :MEASure:JITTer:SPECtrum?
The :MEASure :JITTer:SPECtrum? query returns the state of jitter spectrum
display.
Returned Format [:MEASure:JITTer:SPECtrum] {1 | 0}
Example This example places the current setting of the jitter spectrum mode in the variable
varSetting, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
See Also •":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 823
:MEASure:JITTer:SPECtrum:HORizontal
Command
:MEASure:JITTer:SPECtrum:HORizontal {MANual}
The :MEASure:JITTer:SPECtrum:HORizontal command sets the jitter spectrum
horizontal mode to manual. The AUTO mode, which automatically selected the
horizontal scaling and center frequency, is no longer available.
In manual mode, you set your own horizontal scaling and center frequency values.
Example This example sets the jitter spectrum horizontal mode to automatic.
myScope.WriteString ":MEASure:JITTer:SPECtrum:HORizontal MANual"
Query :MEASure:JITTer:SPECtrum:HORizontal?
The :MEASure:JITTer:SPECtrum:HORizontal? query returns the current jitter
spectrum horizontal mode setting.
Returned Format [:MEASure:JITTer:SPECtrum:HORizontal] {MAN}
Example This example places the current setting of the jitter trend horizontal mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:HORizontal?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
824 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:SPECtrum:HORizontal:POSition
Command
:MEASure:JITTer:SPECtrum:HORizontal:POSition <position>
The :MEASure:JITTer:SPECtrum:HORizontal:POSition command sets the jitter
spectrum horizontal center frequency position.
<position> A real number for the center frequency position in Hertz.
Example This example sets the jitter spectrum horizontal center frequency position to
250 kHz.
myScope.WriteString ":MEASure:JITTer:SPECtrum:HORizontal:POSition 250E3"
Query :MEASure:JITTer:SPECtrum:HORizontal:POSition?
The :MEASure:JITTer:SPECtrum:HORizontal:POSition? query returns the current
jitter spectrum horizontal center frequency position setting.
Returned Format [:MEASure:JITTer:SPECtrum:HORizontal:POSition] <value><NL>
<value> The jitter spectrum horizontal center frequency setting.
Example This example places the current setting of the jitter trend horizontal center
frequency position in the variable varValue, then prints the contents of the variable
to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:HORizontal:POSition?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 825
:MEASure:JITTer:SPECtrum:HORizontal:RANGe
Command
:MEASure:JITTer:SPECtrum:HORizontal:RANGe <range>
The :MEASure:JITTer:SPECtrum:HORizontal:RANGe command sets the jitter
spectrum horizontal range.
<range> A real number for the horizontal frequency range in Hertz.
Example This example sets the jitter spectrum horizontal range to 10 GHz (1 GHz/div).
myScope.WriteString ":MEASure:JITTer:SPECtrum:HORizontal:RANGe 10E9"
Query :MEASure:JITTer:SPECtrum:HORizontal:RANGe?
The :MEASure:JITTer:SPECtrum:HORizontal:RANGe? query returns the current
jitter spectrum horizontal range setting.
Returned Format [:MEASure:JITTer:SPECtrum:HORizontal:RANGe] <value><NL>
<value> The jitter spectrum horizontal range setting.
Example This example places the current setting of the jitter trend horizontal range in the
variable varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:HORizontal:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
826 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:SPECtrum:RESolution
Query :MEASure:JITTer:SPECtrum:RESolution?
The :MEASure:JITTer:SPECtrum:RESolution? query returns returns the resolution
bandwidth of the measurement analysis spectrum FFT.
Returned Format <value><NL>
<value> ::= resolution BW in NR3 format
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History New in version 6.20.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 827
:MEASure:JITTer:SPECtrum:VERTical
Command
:MEASure:JITTer:SPECtrum:VERTical {MANual}
The :MEASure:JITTer:SPECtrum:VERTical command sets the jitter spectrum
vertical mode to manual. The AUTO mode, which automatically selected the
vertical scaling and offset, is no longer available.
Example This example sets the jitter spectrum vertical mode to manual.
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical MANual"
Query :MEASure:JITTer:SPECtrum:VERTical?
The :MEASure:JITTer:SPECtrum:VERTical? query returns the current jitter
spectrum vertical mode setting.
Returned Format [:MEASure:JITTer:SPECtrum:VERTical] {MAN}
Example This example places the current setting of the jitter spectrum vertical mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
828 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:SPECtrum:VERTical:OFFSet
Command
:MEASure:JITTer:SPECtrum:VERTical:OFFSet <offset>
The :MEASure:JITTer:SPECtrum:VERTical:OFFSet command sets the jitter
spectrum vertical offset.
<offset> A real number for the vertical offset of the jitter measurement spectrum.
Example This example sets the jitter spectrum vertical offset to 2 ns.
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical:OFFSet 10E-9"
Query :MEASure:JITTer:SPECtrum:VERTical:OFFSet?
The :MEASure:JITTer:SPECtrum:VERTical:OFFSet? query returns the jitter
spectrum vertical offset time.
Returned Format [:MEASure:JITTer:SPECtrum:VERTical:OFFSet] <value> [,<result_state>]<NL>
<value> The jitter vertical spectrum offset time setting.
Example This example places the current value of jitter spectrum vertical offset in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 829
:MEASure:JITTer:SPECtrum:VERTical:RANGe
Command
:MEASure:JITTer:SPECtrum:VERTical:RANGe <range>
The :MEASure:JITTer:SPECtrum:VERTical:RANGe command sets the jitter
spectrum vertical range.
<range> A real number for the full-scale vertical range for the jitter measurement spectrum.
Example This example sets the jitter spectrum vertical range to 4 ns (500 ps/div X 8 div).
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical:RANGe 4E-9"
Query :MEASure:JITTer:SPECtrum:VERTical:RANGe?
The :MEASure:JITTer:SPECtrum:VERTical:RANGe? query returns the jitter
spectrum range time setting.
Returned Format [:MEASure:JITTer:SPECtrum:VERTical:RANGe] <value> [,<result_state>]<NL>
<value> The jitter spectrum vertical range setting.
Example This example places the current value of jitter spectrum vertical range in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
830 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:SPECtrum:VERTical:TYPE
Command
:MEASure:JITTer:SPECtrum:VERTical:TYPE {LINear | LOGarithmic}
The :MEASure:JITTer:SPECtrum:VERTical:TYPE command lets you select either a
LINear or a LOGarithmic vertical scale for the jitter spectrum plot.
Example This example sets a linear vertical scale for the jitter spectrum plot.
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical:TYPE LINear"
Query :MEASure:JITTer:SPECtrum:VERTical:TYPE?
The :MEASure:JITTer:SPECtrum:VERTical:TYPE? query returns the current jitter
spectrum plot vertical scale setting.
Returned Format [:MEASure:JITTer:SPECtrum:VERTical:TYPE] {LINear | LOGarithmic}
Example This example places the current jitter spectrum plot vertical scale setting in the
string variable strType, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:VERTical:TYPE?"
strType = myScope.ReadString
Debug.Print strType
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:WINDow" on page 831
History New in version 3.10.
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 831
:MEASure:JITTer:SPECtrum:WINDow
Command
:MEASure:JITTer:SPECtrum:WINDow {RECTangular | HANNing | FLATtop
| BHARris | HAMMing}
The :MEASure:JITTer:SPECtrum:WINDow command sets the jitter spectrum
window mode. For a description of the window modes, see
":FUNCtion<F>:FFT:WINDow" on page 528.
Example This example sets the jitter spectrum window mode to Hanning.
myScope.WriteString ":MEASure:JITTer:SPECtrum:WINDow HANNing"
Query :MEASure:JITTer:SPECtrum:WINDow?
The :MEASure:JITTer:SPECtrum:WINDow? query returns the current jitter
spectrum window mode setting.
Returned Format [:MEASure:JITTer:SPECtrum:WINDow] {RECTangular | HANNing | FLATtop
| BHARris | HAMMing}<NL>
Example This example places the current setting of the jitter spectrum window mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:SPECtrum:WINDow?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MEASure:JITTer:SPECtrum" on page 822
•":MEASure:JITTer:SPECtrum:HORizontal" on page 823
•":MEASure:JITTer:SPECtrum:HORizontal:POSition" on page 824
•":MEASure:JITTer:SPECtrum:HORizontal:RANGe" on page 825
•":MEASure:JITTer:SPECtrum:RESolution" on page 826
•":MEASure:JITTer:SPECtrum:VERTical" on page 827
•":MEASure:JITTer:SPECtrum:VERTical:OFFSet" on page 828
•":MEASure:JITTer:SPECtrum:VERTical:RANGe" on page 829
•":MEASure:JITTer:SPECtrum:VERTical:TYPE" on page 830
History Legacy command (existed before version 3.10).
Version 3.11: Added the HAMMing window mode selection.
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
832 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:TRENd
Command
:MEASure:JITTer:TRENd {{ON|1} | {OFF|0}}
The :MEASure:JITTer:TRENd command turns the jitter measurement trend display
on or off. When on, trend plots measurement results time correlated to the
waveform being measured.
Example This example turns the jitter measurement trend display on.
myScope.WriteString ":MEASure:JITTer:TRENd ON"
Query :MEASure:JITTer:TRENd?
The :MEASure :JITTer:TRENd? query returns the state of jitter trend display.
Returned Format [:MEASure:JITTer:TRENd] {1 | 0}
Example This example places the current setting of the jitter trend mode in the string
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:TRENd?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 833
:MEASure:JITTer:TRENd:SMOoth
Command
:MEASure:JITTer:TRENd:SMOoth {{ON|1} | {OFF|0}}
The :MEASure:JITTer:TRENd:SMOoth command sets jitter trend smoothing to on
or off. When on, smoothing creates a running average smoothed by the number of
points set by the :JITTer:TRENd:SMOoth:POINts command.
Example This example sets the jitter trend smoothing mode to on.
myScope.WriteString ":MEASure:JITTer:TRENd:SMOoth ON"
Query :MEASure:JITTer:TRENd:SMOoth?
The :MEASure:JITTer:TRENd:SMOoth? query returns the current jitter trend
smoothing mode setting.
Returned Format [:MEASure:JITTer:TRENd:SMOoth] {1 | 0}
Example This example places the current setting of the jitter trend smoothing mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:TRENd:SMOoth?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
834 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:TRENd:SMOoth:POINts
Command
:MEASure:JITTer:TRENd:SMOoth:POINts <points>
The :MEASure:JITTer:TRENd:SMOoth:POINts command sets the number of points
as a set size for the data smoothing feature.
<points> odd integers, 3 to 100001. If out of range, the number will be rounded to nearest
lower odd integer.
Example This example sets the jitter trend smoothing points to 7.
myScope.WriteString ":MEASure:JITTer:TRENd:SMOoth:POINts 7"
Query :MEASure:JITTer:TRENd:SMOoth:POINts?
The :MEASure:JITTer:TRENd:SMOoth:POINts? query returns the current setting for
jitter trend smoothing points.
Returned Format [:MEASure:JITTer:TRENd:SMOoth:POINts] <value><NL>
<value> The jitter offset smoothing points setting.
Example This example places the current value of jitter trend smoothing points in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:JITTer:TRENd:SMOoth:POINts?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 835
:MEASure:JITTer:TRENd:VERTical
Command
:MEASure:JITTer:TRENd:VERTical {AUTO | MANual}
The :MEASure:JITTer:TRENd:VERTical command sets the jitter trend vertical mode
to automatic or manual. In automatic mode, the oscilloscope automatically selects
the vertical scaling and offset. In manual mode, you can set your own scaling and
offset values.
Example This example sets the jitter trend vertical mode to automatic.
myScope.WriteString ":MEASure:JITTer:TRENd:VERTical AUTO"
Query :MEASure:JITTer:TRENd:VERTical?
The :MEASure:JITTer:TRENd:VERTical? query returns the current jitter trend
vertical mode setting.
Returned Format [:MEASure:JITTer:TRENd:VERTical] {AUTO | MANual}
Example This example places the current setting of the jitter trend vertical mode in the
string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:TRENd:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
836 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:JITTer:TRENd:VERTical:OFFSet
Command
:MEASure:JITTer:TRENd:VERTical:OFFSet <offset>
The :MEASure:JITTer:TRENd:VERTical:OFFSet command sets the jitter trend
vertical offset.
<offset> A real number for the vertical offset for the jitter measurement trend.
Example This example sets the jitter trend vertical offset to 100 ps.
myScope.WriteString ":MEASure:JITTer:TRENd:VERTical:OFFSet 100E-12"
Query :MEASure:JITTer:TRENd:VERTical:OFFSet?
The :MEASure:JITTer:TRENd:VERTical:OFFSet? query returns the jitter trend
vertical offset setting.
Returned Format [:MEASure:JITTer:TRENd:VERTical:OFFSet] <value><NL>
<value> The jitter vertical trend offset setting.
Example This example places the current value of jitter trend vertical offset in the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:JITTer:TRENd:VERTical:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 837
:MEASure:JITTer:TRENd:VERTical:RANGe
Command
:MEASure:JITTer:TRENd:VERTical:RANGe <range>
The :MEASure:JITTer:TRENd:VERTical:RANGe command sets the jitter trend
vertical range.
<range> A real number for the full-scale vertical range for the jitter measurement trend.
Example This example sets the jitter trend vertical range to 4 ns (500 ps/div X 8 div).
myScope.WriteString ":MEASure:JITTer:TRENd:VERTical:RANGe 4E-9"
Query :MEASure:JITTer:TRENd:VERTical:RANGe?
The :MEASure:JITTer:TRENd:VERTical:RANGe? query returns the jitter trend
vertical range setting.
Returned Format [:MEASure:JITTer:TRENd:VERTical:RANGe] <value><NL>
<value> The jitter trend vertical range setting.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of jitter trend vertical range in the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:JITTer:TRENd:VERTical:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
838 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:NAME
Command :MEASure:NAME {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20},<name>
The :MEASure:NAME commands sets the name of the specified measurement to
whatever string is given to <name>. This enables you to give specific names to
measurements displayed on the oscilloscope's screen.
<name> a quoted string
Query :MEASure:NAME? {MEAS1 | MEAS2 | MEAS3 | ... | MEAS20}
The :MEASure:NAME? query returns the name of the corresponding measurement.
History Legacy command (existed before version 3.10).
Version 5.00: Now 20 measurements to choose from.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 839
:MEASure:NCJitter
Command
:MEASure:NCJitter <source>,<direction>,<n>,<start>
The :MEASure:NCJitter command measures the N cycle jitter of the waveform.
Another name for this measurement is "N period-period", where N is the number
of cycles in the period.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}, specifies direction of waveform edge to make measurement.
<n> An integer, 1 to 99, the number of cycles in a group.
<start> An integer, 1 to <n> - 1, typically 1, the cycle to start measuring.
Example This example measures the N cycle jitter on channel 1, rising edge, 5 cycles in a
group, starting on the first cycle of the waveform.
myScope.WriteString ":MEASure:NCJitter CHANnel1,RISing,5,1"
Query :MEASure:NCJitter? <source>,<direction>,<n>,<start>
The :MEASure:NCJitter? query returns the measured N cycle jitter time of the
waveform.
Returned Format [:MEASure:NCJitter] <value>[,<result_state>]<NL>
<value> The N cycle jitter time of the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of N cycle jitter in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NCJitter? CHANnel1,RIS,5,1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":MEASure:TIEClock2" on page 975
•":MEASure:CTCJitter" on page 770
•":MEASure:CTCPwidth" on page 774
•":MEASure:CTCNwidth" on page 772
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 841
:MEASure:NOISe
Command
:MEASure:NOISe <source>, {VOLT | UNITamp}, {ZERO | ONE | BOTH}
The :MEASure:NOISe command adds a Noise measurement to the oscilloscope
display.
The parameters specify the input source to be measured, the units (in volts or unit
amplitude), and whether "zeros", "ones", or both "zeros" and "ones" should be
measured.
This command is the equivalent of adding a noise measurement via Measure > Data
> Noise in the front panel user interface.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example adds a "ones" Noise measurement on channel 1, in volt units, to the
oscilloscope display. The measurement results appear in the Measurements tab.
myScope.WriteString ":MEASure:NOISe CHANnel1,VOLT,ONE"
Query :MEASure:NOISe? <source>, {VOLT | UNIT}, {ZERO | ONE | BOTH}
The :MEASure:NOISe? query returns the measured noise value.
Returned Format [:MEAS:NOIS] <measured_value><NL>
<measured_value> The measured "zeros", "ones", or both noise value in volts or unit amplitude.
Example This example places the measurement result in the varMeasuredNoise variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe? CHANnel1,VOLT,ONE"
varMeasuredNoise = myScope.ReadNumber
Debug.Print FormatNumber(varMeasuredNoise, 0)
See Also •":ANALyze:AEDGes" on page 245
NOTE
This command is only available when the EZJIT Complete software is installed.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
842 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
History New in version 3.50.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 843
:MEASure:NOISe:ALL?
Query
:MEASure:NOISe:ALL? {ZERO | ONE | TWO | THRee}
The :MEASure:NOISe:ALL? query returns the NOISe measurement results for the
specified level. The parameters TWO and THRee are available for PAM-4 signals.
These values are returned as comma separated values using the following format:
Returned Format [:MEASure:NOISe:ALL<space>]
TI(<format>),<result>,<state>,
RN(<format>),<result>,<state>,
DI(<format>),<result>,<state>,
PI(<format>),<result>,<state>,
ABUI(<format>),<result>,<state>,
BUI(<format>),<result>,<state>,
ISI(<format>),<result>,<state>,
Count,<number_of_bits>,<state>,
Level,<nominal_level>,<state>,
Eye Height(<format>),<result>,<state>,<NL>
<space> White space (ASCII 32) character.
<format> The format value tells you something about how the measurement is made. For
instance, TI(1E-12) means that the TI measurement was derived using a bit error
rate of 1E-12. A format of (rms) means the measurement is a root-mean-square
measurement. A format of (dd) means the measurement uses a dual-Dirac delta
model to derive the measurement. A format of (pp) means the measurement is a
peak-to-peak measurement.
<result> The measured results for the NOISe measurements. A value of 9.99999E+37
means that the oscilloscope was unable to make the measurement.
<state> The measurement result state. See Table 14 for a list of values and descriptions of
the result state value.
<number_of_ bits> The number of waveform bits that have been measured.
<nominal_level> The Level line returns the nominal one or zero level. The unit amplitude = the
nominal one level – nominal zero level.
NOTE
This command is only available when the EZJIT Complete software is installed.
NOTE
Whether some of these values are included or not depends on the setting of
:MEASure:NOISe:METHod and :MEASure:NOISe:REPort.
For example, when :MEASure:NOISe:REPort or :MEASure:NOISe:METHod is SPECtral, the BUI
and ABUI values are not returned, and there are two PI values (one "rms" and one "dd").
844 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
Example This example places the noise measurement result for "ones" in the strResults
variable and displays it on the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:ALL? ONE"
strResults = myScope.ReadString
Debug.Print strResults
See Also •":MEASure:NOISe:METHod" on page 847
•":MEASure:NOISe:REPort" on page 848
History New in version 3.50.
Version 4.10: New results can be returned depending on the
:MEASure:NOISe:METHod and :MEASure:NOISe:REPort settings.
Version 5.50: The parameters TWO and THRee are available for PAM-4 signals.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 845
:MEASure:NOISe:BANDwidth
Command
:MEASure:NOISe:BANDwidth {NARRow | WIDE}
The :MEASure:NOISe:BANDwidth command sets the type of filtering used to
separate the data dependent noise from the random noise and the periodic noise.
Example This example sets the RN bandwidth to WIDE.
myScope.WriteString ":MEASure:NOISe:BANDwidth WIDE"
Query :MEASure:NOISe:BANDwidth?
The :MEASure:NOISe:BANDwidth? query returns the RN bandwidth filter setting.
Returned Format [:MEASure:NOISe:BANDwidth] {NARRow | WIDE}<NL>
Example This example places the RN filter setting the strFilter variable and displays it on
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:BANDwidth?"
strFilter = myScope.ReadString
Debug.Print strFilter
History New in version 3.50.
NOTE
This command is only available when the EZJIT Complete software is installed.
846 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:NOISe:LOCation
Command
:MEASure:NOISe:LOCation <location>
The :MEASure:NOISe:LOCation command specifies the measurement location
within the bit where 0% is the beginning of the bit, 50% is the middle of the bit,
and 100% is the end of the bit.
You can specify a location value from 5% to 95%.
Example This example sets the measurement location to 60%.
myScope.WriteString ":MEASure:NOISe:LOCation 60"
Query :MEASure:NOISe:LOCation?
The :MEASure:NOISe:LOCation? query returns the measurement location setting.
Returned Format [:MEASure:NOISe:LOCation] <location><NL>
Example This example places the measurement location setting the varLocation variable
and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:LOCation?"
varLocation = myScope.ReadNumber
Debug.Print FormatNumber(varLocation, 0)
History New in version 3.50.
NOTE
This command is only available when the EZJIT Complete software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 847
:MEASure:NOISe:METHod
Command
:MEASure:NOISe:METHod {SPECtral | BOTH}
The :MEASure:NOISe:METHod command lets you select the method for random
noise (RN) analysis, either the SPECtral method or BOTH the spectral and tail fit
methods.
When analyzing noise with crosstalk or ground bounce effects present in your
signal, select BOTH. When this option is selected, the deterministic interference
(DI) that is uncorrelated to the data pattern, also known as bounded uncorrelated
interference (BUI), is separated into periodic interference (PI) and aperiodic
bounded uncorrelated interference (ABUi). ABUi is caused by crosstalk and ground
bounce effects.
When there are no crosstalk or ground bounce effects present in your signal, you
can select the SPECtral method in order to run faster. When this option is
selected, the deterministic interference (DI) that is uncorrelated to the data pattern
is all reported as periodic interference (PI).
Example This example sets NOISe method to BOTH the spectral and tail fit analysis.
myScope.WriteString ":MEASure:NOISe:METHod BOTH"
Query :MEASure:NOISe:METHod?
The :MEASure:NOISe:METHod? query returns the selected NOISe method.
Returned Format [:MEASure:NOISe:METHod] {SPEC | BOTH}<NL>
Example This example places the NOISe method setting the strNoiseMethod variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:METHod?"
strNoiseMethod = myScope.ReadString
Debug.Print strNoiseMethod
See Also •":MEASure:NOISe:REPort" on page 848
History New in version 4.10.
NOTE
This command is only available when the EZJIT Complete jitter analysis application is
licensed.
848 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:NOISe:REPort
Command
:MEASure:NOISe:REPort {SPECtral | TAILfit}
When the :MEASure:NOISe:METHod BOTH command selects both the spectral
and tail fit methods for random noise analysis, the :MEASure:NOISe:REPort
command specifies which method is used for the reports in the noise graphs /
histograms and Noise tab measurements.
Example This example specifies that the NOISe report include measurements from both the
spectral and tail fit analysis (including aperiodic bounded uncorrelated
interference ABUI measurements).
myScope.WriteString ":MEASure:NOISe:REPort TAILfit"
Query :MEASure:NOISe:REPort?
The :MEASure:NOISe:REPort? query returns the report setting.
Returned Format [:MEASure:NOISe:REPort] {SPEC | TAIL}<NL>
Example This example places the report setting in the strReportSetting variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:REPort?"
strReportSetting = myScope.ReadString
Debug.Print strReportSetting
See Also •":MEASure:NOISe:METHod" on page 847
History New in version 4.10.
NOTE
This command is only available when the EZJIT Complete jitter analysis application is
licensed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 849
:MEASure:NOISe:RN
Command
:MEASure:NOISe:RN {ON, <RNrms Zero>, <RNrms One> | OFF}
The :MEASure:NOISe:RN command can specify a known amount of random noise.
When used, the remaining amount of the total noise measured is reported as
periodic interference (PI).
This command is used in situations when crosstalk aggressors influence the
random noise measured on a signal. If the random noise on a signal is measured
without the aggressor signal crosstalk, this known amount of random noise can be
specified when measuring the noise again with the crosstalk aggressors.
• ON — Enables a specified amount of random noise.
• <RNrms Zero> — The known amount of "zeros" random noise.
• <RNrms One> — The known amount of "ones" random noise.
• OFF — Disables the specification of random noise amounts.
Specified amounts of "ones" and "zeros" random noise is shown in the noise
measurement results (see page 843) as "RN(rms specified)".
Example This example specifies 100 μV of known "zeros" random noise and 200 μV of
known "ones" random noise.
myScope.WriteString ":MEAS:NOISE:RN ON, 100e-6, 200e-6"
Query :MEASure:NOISe:RN?
The :MEASure:NOISe:RN? query returns the specified RN settings.
Returned Format [:MEASure:NOISe:RN] {ON, <RNrms Zero>, <RNrms One> | OFF}<NL>
Example This example places the specified RN settings in the strKnownRandomNoise
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:RN?"
strKnownRandomNoise = myScope.ReadString
Debug.Print strKnownRandomNoise
History New in version 3.50.
NOTE
This command is only available when the EZJIT Complete software is installed.
850 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:NOISe:SCOPe:RN
Command
:MEASure:NOISe:SCOPe:RN {ON, <RNrms Zero>, <RNrms One> | OFF}
The :MEASure:NOISe:SCOPe:RN command can specify the removal of the
oscilloscope's calibrated random noise from the reported RN.
• ON — Enables the removal of the oscilloscope's calibrated random noise from
the reported RN.
• <RNrms Zero> — The oscilloscope's "zeros" random noise to remove from the
reported RN.
• <RNrms One> — The oscilloscope's "ones" random noise to remove from the
reported RN.
• OFF — Disables the removal of the oscilloscope's calibrated random noise from
the reported RN.
Running the Calibrate scope jitter / noise from the front panel user interface will set
<RNrms Zero> and <RNrms One> to the measured values; however, the measures
values can be changed by this command.
Example This example specifies 100 μV of oscilloscope "zeros" random noise and 200 μV of
oscilloscope "ones" random noise.
myScope.WriteString ":MEAS:NOISE:SCOPE:RN ON, 100e-6, 200e-6"
Query :MEASure:NOISe:SCOPe:RN?
The :MEASure:NOISe:SCOPe:RN? query returns the oscilloscope RN settings.
Returned Format [:MEASure:NOISe:SCOPe:RN] {ON, <RNrms Zero>, <RNrms One> | OFF}<NL>
Example This example places the oscilloscope RN settings in the strScopeRandomNoise
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:SCOPe:RN?"
strScopeRandomNoise = myScope.ReadString
Debug.Print strScopeRandomNoise
History New in version 3.50.
NOTE
This command is only available when the EZJIT Complete software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 851
:MEASure:NOISe:STATe
Command
:MEASure:NOISe:STATe {ON | OFF}
The :MEASure:NOISe:STATe command enables or disables the NOISe
measurements.
Example This example sets the NOISe state to on.
myScope.WriteString ":MEASure:NOISe:STATe ON"
Query :MEASure:NOISe:STATe?
The :MEASure:NOISe:STATe? query returns the state of the NOISe measurements.
Returned Format [:MEASure:NOISe:STATe] {1 | 0}<NL>
Example This example places the current state of the NOISe measurements in the varState
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:STATe?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
History New in version 3.50.
NOTE
This command is only available when the EZJIT Complete software is installed.
852 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:NOISe:UNITs
Command
:MEASure:NOISe:UNITs {VOLT | UNIT}
The :MEASure:NOISe:UNITs command sets the unit of measure for NOISe
measurements to volts or unit amplitude.
Example This example sets the NOISe units to unit amplitude.
myScope.WriteString ":MEASure:NOISe:UNITs UNIT"
Query :MEASure:NOISe:UNITs?
The :MEASure:NOISe:UNITs? query returns the units of measure being used for the
NOISe measurements.
Returned Format [:MEASure:NOISe:UNITs] {VOLT | UNIT}<NL>
Example This example places the current units of measure for the NOISe measurements in
the strUnits variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NOISe:UNITs?"
strUnits = myScope.ReadString
Debug.Print strUnits
History New in version 3.50.
NOTE
This command is only available when the EZJIT Complete software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 853
:MEASure:NPERiod
Command :MEASure:NPERiod <source>, <slope>, <N>
The :MEASure:NPERiod command measures the span of time of N consecutive
periods. The measurement then moves over one period and measures the span of
time of the next N consecutive periods.
This measurement requires all edges. When you add it, the "Measure All Edges"
mode (see ":ANALyze:AEDGes" on page 245) is automatically set to ON. When the
"Measure All Edges" mode is set to OFF, this measurement cannot be made, and
there are no measurement results.
<source> The source on which the measurement is made.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<slope> {RISing | FALLing}
<N> An integer greater than or equal to 1.
Example This example measures the time span of 3 consecutive periods on channel 1 (rising
edge).
myScope.WriteString ":MEASure:NPERiod CHANnel1,RISing, 3"
Query :MEASure:NPERiod?
History Legacy command (existed before version 3.10).
854 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:NPULses
Command :MEASure:NPULses <source>
The :MEASure:NPULses measures the number of negative pulses on the screen.
This measurement requires all edges. When you add it, the "Measure All Edges"
mode (see ":ANALyze:AEDGes" on page 245) is automatically set to ON. When the
"Measure All Edges" mode is set to OFF, this measurement cannot be made, and
there are no measurement results.
<source> The source on which the measurement is made.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the number of negative pulses on channel 1.
myScope.WriteString ":MEASure:NPULses CHAN1"
Query :MEASure:NPULses?
This query returns the result for the NPULses measurement.
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 855
:MEASure:NUI
Command :MEASure:NUI <source>, <N>
The :MEASure:NUI command measures N consecutive unit intervals. The
measurement then moves over one unit interval and measures the span of time of
the next N consecutive unit intervals.
<source> The source on which the measurement is made.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<N> An integer greater than or equal to 1.
Example This example measures the time span of 3 consecutive unit intervals on channel 1.
myScope.WriteString ":MEASure:NUI CHAN1, 3"
Query :MEASure:NUI?
The :MEASure:NUI? query returns the measured N-UI jitter.
See Also •":ANALyze:AEDGes" on page 245
History Legacy command (existed before version 3.10).
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
856 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:NWIDth
Command :MEASure:NWIDth [<source>]
The :MEASure:NWIDth command measures the width of the first negative pulse on
the screen using the mid-threshold levels of the waveform (50% levels with
standard threshold selected). Sources are specified with the :MEASure:SOURce
command or with the optional parameter following the :MEASure:NWIDth
command.
The algorithm is:
If the first edge on the screen is rising,
then
nwidth = time at the second rising edge - time at the first
falling edge
else
nwidth = time at the first rising edge - time at the first
falling edge
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the width of the first negative pulse on the screen.
myScope.WriteString ":MEASure:NWIDth CHANnel1"
Query :MEASure:NWIDth? [<source>]
The :MEASure:NWIDth? query returns the measured width of the first negative
pulse of the specified source.
Returned Format [:MEASure:NWIDth] <value>[,<result_state>]<NL>
<value> The width of the first negative pulse on the screen using the mid-threshold levels
of the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current width of the first negative pulse on the screen in
the numeric variable, varWidth, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:NWIDth? CHANnel1"
varWidth = myScope.ReadNumber
Debug.Print FormatNumber(varWidth, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 857
:MEASure:OMAMplitude
Command :MEASure:OMAMplitude [<source>][,{WATT | DBM}]
The :MEASure:OMAMplitude command installs an Optical Modulation Amplitude
(OMA) measurement into the user interface's measurement Results pane.
Optical Modulation Amplitude (OMA) is the measure of the difference between the
optical power of an NRZ (non-return-to-zero) one pulse and the optical power of
an NRZ zero pulse. It requires an NRZ pattern and is designed to be used with a
square wave made of consecutive zeros followed by consecutive ones. Be sure to
check any relevant standard for one and zero run requirements. All instances are
measured if Measure All Edges is selected. Otherwise, the edges closest to the
timebase reference are measured.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
{WATT | DBM} Specifies the measurement units in Watts or dBm.
Query :MEASure:OMAMplitude? [<source>][,{WATT | DBM}]
The :MEASure:OMAMplitude? query returns the measured Optical Modulation
Amplitude (OMA).
Returned Format [:MEASure:OMAMplitude] <value>[,<result_state>]<NL>
<value> The measured Optical Modulation Amplitude (OMA) value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
See Also •":MEASure:ERATio" on page 786
•":MEASure:OPOWer" on page 858
•":MEASure:CGRade:OLEVel" on page 762
•":MEASure:CGRade:ZLEVel" on page 764
History New in version 5.70.
858 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:OPOWer
Command :MEASure:OPOWer [<source>][,{WATT | DBM}]
The :MEASure:OPOWer command installs an Optical Average Power measurement
into the user interface's measurement Results pane.
Optical average power is a measure of the true average component of an optical
signal. If markers are tracking this measurement, the marker is placed on the
optical power Watts. This measurement is commonly used when identifying the
fundamental parameters of a lightwave transmitter. However, it differs from other
measurements because it does not rely on the waveform display to determine the
measurement. The analog-to-digital converter is in the probe itself, independent
of the waveform displayed on the screen. You can measure the optical power of an
eye diagram.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
{WATT | DBM} Specifies the measurement units in Watts or dBm.
Query :MEASure:OPOWer? [<source>][,{WATT | DBM}]
The :MEASure:OPOWer? query returns the measured Optical Average Power.
Returned Format [:MEASure:OMAMplitude] <value>[,<result_state>]<NL>
<value> The measured Optical Average Power value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
See Also •":MEASure:ERATio" on page 786
•":MEASure:OMAMplitude" on page 857
•":MEASure:CGRade:OLEVel" on page 762
•":MEASure:CGRade:ZLEVel" on page 764
History New in version 5.70.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 859
:MEASure:OVERshoot
Command :MEASure:OVERshoot [<source>][,<direction>]
The :MEASure:OVERshoot command measures the overshoot of the first edge on
the screen. Sources are specified with the :MEASure:SOURce command or with
the optional parameter following the :MEASure:OVERshoot command.
The algorithm is:
If the first edge on the screen is rising,
then
overshoot = (Local Vmax - Vtop) / Vamplitude
else
overshoot = (Vbase - Local Vmin) / Vamplitude
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies whether rising edge overshoot or falling edge overshoot is measured.
When <direction> is specified, the <source> parameter is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), the RISing and FALLing options specify whether the first rising or falling
edge from the left side of the display grid is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether rising edge overshoot or falling edge overshoot is measured
throughout the acquisition.
Example This example measures the overshoot of the first edge on the screen.
myScope.WriteString ":MEASure:OVERshoot CHANnel1"
Query :MEASure:OVERshoot? [<source>][,<direction>]
The :MEASure:OVERshoot? query returns the measured overshoot of the specified
source.
Returned Format [:MEASure:OVERshoot] <value>[,<result_state>]<NL>
<value> Ratio of overshoot to amplitude, in percent.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of overshoot in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:OVERshoot? CHANnel1"
860 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 861
:MEASure:PAM:ELEVel
Command :MEASure:PAM:ELEVel [<source>[,<threshold>]]
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:MEASure:PAM:ELEVel command installs a vertical center measurement of the
specified PAM-4 eye into the user interface's measurement Results pane.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<threshold> Specifies eye to measure as an integer. For PAM-4, this may be from 0-2.
Query :MEASure:PAM:ELEVel? [<source>[,<threshold>]]
The :MEASure:PAM:ELEVel? query returns returns the measured vertical center
value of the specified PAM-4 eye.
Returned Format [:MEASure:PAM:ELEVel] <value><NL>
<value> ::= the vertical center value of the specified PAM-4 eye in NR3
format.
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
862 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
History New in version 5.50.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 863
:MEASure:PAM:EOJ
Command :MEASure:PAM:EOJ <source>
The :MEASure:PAM:EOJ command installs a PRBS13Q even-odd jitter (EOJ)
measurement into the user interface's measurement Results pane.
This measurement is based on the IEEE 802.3bs standard for Output Jitter
measurements. According to the standard, this measurement should be performed
using a PRBS13Q pattern.
During this measurement, an RJ/PJ histogram is measured for each of 12 specific
waveform transitions that are called out in the standard as well as for the
combined effect of all edge transitions.
On PAM-4 signals that are derived from two NRZ signals, this measurement lets
you observe the effect of different uncorrelated jitter on each stream based on the
transitioning bits.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query MEASure:PAM:EOJ? <source>
The :MEASure:PAM:EOJ? query returns the PRBS13Q even-odd jitter (EOJ)
measurement value.
Returned Format <value><NL>
<value> ::= PRBS13Q even-odd jitter (EOJ) in NR3 format
See Also •":MEASure:PAM:J4U" on page 870
•":MEASure:PAM:JRMS" on page 871
History New in version 6.20.
864 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PAM:ESKew
Command :MEASure:PAM:ESKew [<source>[,<threshold>]]
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:MEASure:PAM:ESKew command installs a horizontal center skew measurement of
the specified PAM-4 eye into the user interface's measurement Results pane.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<threshold> Specifies eye to measure as an integer. For PAM-4, this may be from 0-2.
Query :MEASure:PAM:ESKew? [<source>[,<threshold>]]
The :MEASure:PAM:ESKew? query returns the measured horizontal center skew
value of the specified PAM-4 eye.
Returned Format [:MEASure:PAM:ESKew] <value><NL>
<value> ::= the horizontal center skew value of the specified PAM-4 eye
in NR3 format.
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 865
History New in version 5.50.
866 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PAM:EYE:ELMethod
Command :MEASure:PAM:EYE:ELMethod <method>
The :MEASure:PAM:EYE:ELMethod command selects the basis for determining the
location of an eye's center on the waveform.
<method> {MEWidth | MEHeight}
• MEWidth — The eye's center is located at the eye's maximum width midway
between the eye's inside left and right edges. This is the default setting.
• MEHeight — The eye's center is located at the eye's maximum height midway
between the eye's inside top and bottom edges.
Query :MEASure:PAM:EYE:ELMethod?
The :MEASure:PAM:EYE:ELMethod? query returns the selected method for
determining the location of an eye's center.
Returned Format <method><NL>
<method> ::= {MEW | MEH}
See Also •":MEASure:PAM:EYE:ESTiming" on page 867
•":MEASure:PAM:EYE:PPERcent" on page 868
•":MEASure:PAM:EYE:TIME:LTDefinition" on page 869
History New in version 6.10.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 867
:MEASure:PAM:EYE:ESTiming
Command :MEASure:PAM:EYE:ESTiming <timing>
The :MEASure:PAM:EYE:ESTiming command configures the timing for sampling
the data. Use this setting to match the timing method used by a receiver. For
signals with skewed eyes, measurements results will vary depending on this
setting.
<timing> {CEYE | PELevel}
• CEYE — Sampling timing is based on the location of the center eye (of the three
stacked eyes). This is the default setting.
• PELevel — Sampling timing is independently based on the location of each of
the three eyes.
Query :MEASure:PAM:EYE:ESTiming?
The :MEASure:PAM:EYE:ESTiming? query returns the selected "timing for
sampling" setting.
Returned Format <timing><NL>
<timing> ::= {CEYE | PEL}
See Also •":MEASure:PAM:EYE:ELMethod" on page 866
•":MEASure:PAM:EYE:PPERcent" on page 868
•":MEASure:PAM:EYE:TIME:LTDefinition" on page 869
History New in version 6.10.
868 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PAM:EYE:PPERcent
Command :MEASure:PAM:EYE:PPERcent <percentage>
The :MEASure:PAM:EYE:PPERcent command defines the timespan over which an
eye's amplitude level is measured. The timespan is specified as a percentage of the
symbol period.
<percentage> Percentage of symbol period in NR3 format. The default setting is 10%.
Query :MEASure:PAM:EYE:PPERcent?
The :MEASure:PAM:EYE:PPERcent? query returns the "eye level width" timespan
setting.
Returned Format <percentage><NL>
See Also •":MEASure:PAM:EYE:ELMethod" on page 866
•":MEASure:PAM:EYE:ESTiming" on page 867
•":MEASure:PAM:EYE:TIME:LTDefinition" on page 869
History New in version 6.10.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 869
:MEASure:PAM:EYE:TIME:LTDefinition
Command :MEASure:PAM:EYE:TIME:LTDefinition <method>
The :MEASure:PAM:EYE:TIME:LTDefinition command specifies the method used to
locate the time at which to measure an eye's level.
<method> {MRMS | ECENter}
• ECENter — The time of a level is the average of the centers of the adjacent
eyes. This is the default setting.
• MRMS — The time is located within the eye's level width at the minimum level
thickness (RMS values).
Query :MEASure:PAM:EYE:TIME:LTDefinition?
The :MEASure:PAM:EYE:TIME:LTDefinition? query returns the specified method
used to locate the time at which to measure an eye's level.
Returned Format <method><NL>
<method> ::= {MRMS | ECEN}
See Also •":MEASure:PAM:EYE:ELMethod" on page 866
•":MEASure:PAM:EYE:ESTiming" on page 867
•":MEASure:PAM:EYE:PPERcent" on page 868
History New in version 6.10.
870 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PAM:J4U
Command :MEASure:PAM:J4U <source>
The :MEASure:PAM:J4U command installs a PRBS13Q J4u measurement into the
user interface's measurement Results pane.
This measurement is based on the IEEE 802.3bs standard for Output Jitter
measurements. According to the standard, this measurement should be performed
using a PRBS13Q pattern.
During this measurement, an RJ/PJ histogram is measured for each of 12 specific
waveform transitions that are called out in the standard as well as for the
combined effect of all edge transitions.
On PAM-4 signals that are derived from two NRZ signals, this measurement lets
you observe the effect of different uncorrelated jitter on each stream based on the
transitioning bits.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query MEASure:PAM:J4U? <source>
The :MEASure:PAM:J4U? query returns the PRBS13Q J4u measurement value.
Returned Format <value><NL>
<value> ::= PRBS13Q J4u in NR3 format
See Also •":MEASure:PAM:EOJ" on page 863
•":MEASure:PAM:JRMS" on page 871
History New in version 6.20.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 871
:MEASure:PAM:JRMS
Command :MEASure:PAM:JRMS <source>
The :MEASure:PAM:JRMS command installs a PRBS13Q Jrms measurement into
the user interface's measurement Results pane.
This measurement is based on the IEEE 802.3bs standard for Output Jitter
measurements. According to the standard, this measurement should be performed
using a PRBS13Q pattern.
During this measurement, an RJ/PJ histogram is measured for each of 12 specific
waveform transitions that are called out in the standard as well as for the
combined effect of all edge transitions.
On PAM-4 signals that are derived from two NRZ signals, this measurement lets
you observe the effect of different uncorrelated jitter on each stream based on the
transitioning bits.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query MEASure:PAM:JRMS? <source>
The :MEASure:PAM:JRMS? query returns the PRBS13Q Jrms measurement value.
Returned Format <value><NL>
<value> ::= PRBS13Q Jrms in NR3 format
See Also •":MEASure:PAM:EOJ" on page 863
•":MEASure:PAM:J4U" on page 870
History New in version 6.20.
872 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PAM:LEVel
Command :MEASure:PAM:LEVel [<source>[,<level>]]
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:MEASure:PAM:LEVel command installs a mean voltage measurement of the
specified PAM-4 level into the user interface's measurement Results pane.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<level> Specifies the PAM level to measure as an integer. For PAM-4, this may be from
0-3. If omitted, the last specified level is used.
Query :MEASure:PAM:LEVel? [<source>[,<level>]]
The :MEASure:PAM:LEVel? query returns the measured mean voltage value of the
specified PAM-4 level.
Returned Format [:MEASure:PAM:LEVel] <value><NL>
<value> ::= the mean voltage value of the specified PAM-4 level in NR3 f
ormat.
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 873
History New in version 5.50.
874 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PAM:LRMS
Command :MEASure:PAM:LRMS [<source>[,<level>]]
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:MEASure:PAM:LRMS command installs a RMS voltage measurement of the
specified PAM-4 level into the user interface's measurement Results pane.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<level> Specifies the PAM level to measure as an integer. For PAM-4, this may be from
0-3. If omitted, the last specified level is used.
Query :MEASure:PAM:LRMS? [<source>[,<level>]]
The :MEASure:PAM:LRMS? query returns the measured RMS voltage value of the
specified PAM-4 level.
Returned Format [:MEASure:PAM:LRMS] <value><NL>
<value> ::= the RMS voltage value of the specified PAM-4 level in NR3 fo
rmat.
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 875
History New in version 5.50.
876 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PAM:LTHickness
Command :MEASure:PAM:LTHickness [<source>[,<level>]]
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:MEASure:PAM:LTHickness command installs an eye diagram level thickness
measurement of the specified PAM-4 level into the user interface's measurement
Results pane.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<level> Specifies the PAM level to measure as an integer. For PAM-4, this may be from
0-3. If omitted, the last specified level is used.
Query :MEASure:PAM:LTHickness? [<source>[,<level>]]
The :MEASure:PAM:LTHickness? query returns the measured thickness of the
specified PAM-4 level.
Returned Format [:MEASure:PAM:LTHickness] <value><NL>
<value> ::= the thickness value of the specified PAM-4 level in NR3 form
at.
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
878 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PAMPlitude
Command :MEASure:PAMPlitude [<source>, <width>, <direction>]
The :MEASure:PAMPlitude command measures the pulse amplitude around the
specified edge. There is only a single width applied to the top and base for the
amplitude measurement.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<width> width to measure at the top and base of the pulse (in percent, 0-100)
<direction> the edge direction to measure (RISing or FALLing). The pulse measured is to the
left and right of the specified edge.
Example This example measures the pulse amplitude around a rising edge (width set to
50%)
myScope.WriteString ":MEASure:PAMPlitude CHAN1, 50, RISing"
Query :MEASure:PAMPlitude? <source>, <width>, <direction>
The :MEASure:PAMPlitude? query returns the pulse amplitude around the
specified edge.
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 879
:MEASure:PBASe
Command :MEASure:PBASe <source>, <pulse width percent>
The :MEASure:PBASe command measures the average of the data of a negative
pulse within the pulse window. The pulse window is a range of data centered
within the pulse width using the specified percentage of the data as measured as
the middle threshold level. For example, a 50% window would not include in the
average the first or last 25% of the pulse width as measured at the middle
threshold level. A 100% window would measure the average of the entire positive
or negative pulse. In measure all edges mode and EZJIT, these measurements can
be trended, histogrammed, etc.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<pulse width
percent>
pulse width percent to use in average (in percent, 0-100)
Example This example measures the average of the data of a negative pulse within the
pulse window (width set to 50%)
myScope.WriteString ":MEASure:PBASe CHAN1, 50"
Query :MEASure:PBASe? <source>, <pulse width percentage>
The :MEASure:PBASe? query returns the average pulse base of the data of a
negative pulse within the specified pulse window.
History Legacy command (existed before version 3.10).
880 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PERiod
Command :MEASure:PERiod [<source>[,<direction>]]
The :MEASure:PERiod command measures the period of the first complete cycle
on the screen using the mid-threshold levels of the waveform (50% levels with
standard measurements selected).
The source is specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:PERiod command.
The algorithm is:
If the first edge on the screen is rising,
then
period = second rising edge time - first rising edge time
else
period = second falling edge time - first falling edge time
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies whether the period is measured from rising edge to rising edge or from
falling edge to falling edge. When <direction> is specified, the <source> parameter
is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), the RISing and FALLing options specify whether the first rising or falling
edge from the left side of the display grid is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether whether the period is measured from rising edge to rising edge or
from falling edge to falling edge throughout the acquisition.
Example This example measures the period of the waveform.
myScope.WriteString ":MEASure:PERiod CHANnel1"
Query :MEASure:PERiod? [<source>[,<direction>]]
The :MEASure:PERiod? query returns the measured period of the specified source.
Returned Format [:MEASure:PERiod] <value>[,<result_state>]<NL>
<value> Period of the first complete cycle on the screen.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current period of the waveform in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 881
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:PERiod? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
882 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PHASe
Command :MEASure:PHASe [<source>[,<source>[,<direction>]]]
The :MEASure:PHASe command measures the phase in degrees between two
edges. If two sources are specified, the phase from the specified edge of the first
source to the specified edge of the second source is measured. If one source is
specified, the phase is always 0.0E0.00°.
This measurement requires all edges. When you add it, the "Measure All Edges"
mode (see ":ANALyze:AEDGes" on page 245) is automatically set to ON. When the
"Measure All Edges" mode is set to OFF, this measurement cannot be made, and
there are no measurement results.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies direction of edge to measure. When <direction> is specified, the
<source> parameter is required.
Example This example measures the phase between channel 1 and channel 2.
myScope.WriteString ":MEASure:PHASe CHANnel1,CHANnel2"
Query :MEASure:PHASe? [<source>[,<source>[,<direction>]]]
The :MEASure:PHASe? query returns the measured phase angle value.
The necessary waveform edges must be present on the display. Also, the "Measure
All Edges" mode must be set (use the :ANALyze:AEDGes command or
:MEASure:PHASe command before the query).
The query will return 9.99999E+37 if the necessary edges are not displayed or if
the "Measure All Edges" mode is not currently set.
Returned Format [:MEASure:PHASe] <value>[,result_state]<NL>
<value> Phase angle from the first edge on the first source to the first edge on the second
source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current phase angle value between channel 1 and
channel 2 in the variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:PHASe? CHANnel1,CHANnel2"
884 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PPContrast
Command :MEASure:PPContrast [<source>]
The :MEASure:PPContrast command measures the peak-to-peak contrast (also
known as Michelson contrast or modulation). This is the relation between the
spread and the sum of two luminances.
Peak-to-Peak Contrast = (Lmax - Lmin) / (Lmax + Lmin)
Sources are specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:PPContrast command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the peak-to-peak contrast of channel 1.
myScope.WriteString ":MEASure:PPContrast CHANnel1"
Query :MEASure:PPContrast? [<source>]
The :MEASure:PPContrast? query returns the measured peak-to-peak contrast
value.
Returned Format [:MEASure:PPContrast] <value>[,<result_state>]<NL>
<value> Peak-to-peak contrast of the selected source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current peak-to-peak voltage in the numeric variable,
varPPContrast, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:PPContrast? CHANnel1"
varPPContrast = myScope.ReadNumber
Debug.Print FormatNumber(varPPContrast, 0)
History New in version 5.60.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 885
:MEASure:PPULses
Command :MEASure:PPULses <source>
The :MEASure:PPULses measures the number of positive pulses on the screen.
This measurement requires all edges. When you add it, the "Measure All Edges"
mode (see ":ANALyze:AEDGes" on page 245) is automatically set to ON. When the
"Measure All Edges" mode is set to OFF, this measurement cannot be made, and
there are no measurement results.
<source> The source on which the measurement is made.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the number of positive pulses on channel 1.
myScope.WriteString ":MEASure:PPULses CHANnel1"
Query :MEASure:PPULses?
This query returns the result for the PPULses measurement.
History Legacy command (existed before version 3.10).
886 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PREShoot
Command :MEASure:PREShoot [<source>][,<direction>]
The :MEASure:PREShoot command measures the preshoot of the first edge on the
screen. Sources are specified with the :MEASure:SOURce command or with the
optional parameter following the :MEASure:PREShoot command.
The algorithm is:
If the first edge on the screen is rising,
then
preshoot = (Vbase - Local Vmin) / Vamplitude
else
preshoot = (Local Vmax - Vtop) / Vamplitude
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies whether rising edge preshoot or falling edge preshoot is measured.
When <direction> is specified, the <source> parameter is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), the RISing and FALLing options specify whether the first rising or falling
edge from the left side of the display grid is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether rising edge preshoot or falling edge preshoot is measured
throughout the acquisition.
Example This example measures the preshoot of the waveform on the screen.
myScope.WriteString ":MEASure:PREShoot CHANnel1"
Query :MEASure:PREShoot? [<source>][,<direction>]
The :MEASure:PREShoot? query returns the measured preshoot of the specified
source.
Returned Format [:MEASure:PREShoot] <value>[,<result state>]<NL>
<value> Ratio of preshoot to amplitude, in percent.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of preshoot in the numeric variable,
varPreshoot, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:PREShoot? CHANnel1"
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 887
varPreshoot = myScope.ReadNumber
Debug.Print FormatNumber(varPreshoot, 0)
History Legacy command (existed before version 3.10).
888 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:PTOP
Command :MEASure:PTOP <source>, <pulse width percent>
The :MEASure:PTOP command measures the average of the data of a positive
pulse within the pulse window. The pulse window is a range of data centered
within the pulse width using the specified percentage of the data as measured as
the middle threshold level. For example, a 50% window would not include in the
average the first or last 25% of the pulse width as measured at the middle
threshold level. A 100% window would measure the average of the entire positive
or negative pulse. In measure all edges mode and EZJIT, these measurements can
be trended, histogrammed, etc.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<pulse width
percent>
pulse width percent to use in average (in percent, 0-100)
Example This example measures the average of the data of a positive pulse within the pulse
window (width set to 50%)
myScope.WriteString ":MEASure:PTOP CHANnel1, 50"
Query :MEASure:PTOP? <source>, <pulse width percentage>
The :MEASure:PTOP? query returns the average of the data of a positive pulse
within the specified pulse window.
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 889
:MEASure:PWIDth
Command :MEASure:PWIDth [<source>]
The :MEASure:PWIDth command measures the width of the first positive pulse on
the screen using the mid-threshold levels of the waveform (50% levels with
standard measurements selected). Sources are specified with the
:MEASure:SOURce command or with the optional parameter following the
:MEASure:PWIDth command.
The algorithm is:
If the first edge on the screen is rising,
then
pwidth = time at the first falling edge - time at the
first rising edge
else
pwidth = time at the second falling edge - time at the
first rising edge
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the width of the first positive pulse on the screen.
myScope.WriteString ":MEASure:PWIDth CHANnel1"
Query :MEASure:PWIDth?[<source>]
The :MEASure:PWIDth? query returns the measured width of the first positive
pulse of the specified source.
Returned Format [:MEASure:PWIDth] <value>[,<result_state>]<NL>
<value> Width of the first positive pulse on the screen in seconds.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the value of the width of the first positive pulse on the screen
in the numeric variable, varWidth, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:PWIDth? CHANnel1"
varWidth = myScope.ReadNumber
Debug.Print FormatNumber(varWidth, 0)
History Legacy command (existed before version 3.10).
890 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:QUALifier<M>:CONDition
Command :MEASure:QUALifier<M>:CONDition {HIGH | LOW |
INSide | OUTSide}
The :MEASure:QUALifier<M>:CONDition command sets the condition when valid
timing measurements are made
• Above Middle Threshold (HIGH)
•Below Middle Threshold (LOW)
• Between Upper, Lower Thresholds (INSide)
• Not Between Thresholds (OUTSide)
<M> An integer, 1-3.
Example This example sets the level qualifier 2 condition to HIGH.
myScope.WriteString ":MEASure:QUALifier2:CONDition HIGH"
Query :MEASure:QUALifier<M>:CONDition?
The :MEASure:QUALifier<M>:CONDition? query returns the condition being used
of the level qualifier.
Returned Format [:MEASure:QUALifier<M>:CONDition] <source><NL>
Example This example places the current condition of level qualifier for timing
measurements in the source variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:QUALifier2:CONDition?"
varSource = myScope.ReadNumber
Debug.Print FormatNumber(varSource, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 891
:MEASure:QUALifier<M>:SOURce
Command
:MEASure:QUALifier<M>:SOURce <source>
The :MEASure:QUALifier<M>:SOURce command sets the source of the level
qualify for timing measurements.
<source> CHANnel<N>
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<M> An integer, 1-3.
Example This example sets the level qualifier 2 source to the channel 1 waveform.
myScope.WriteString ":MEASure:QUALifier2:SOURce CHANnel1"
Query :MEASure:QUALifier<M>:SOURce?
The :MEASure:QUALifier<M>:SOURce? query returns the source being used of the
level qualifier for timing measurements.
Returned Format [:MEASure:QUALifier<M>:SOURce] <source><NL>
Example This example places the current source of level qualifier for timing measurements
in the source variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:QUALifier2:SOURce?"
varSource = myScope.ReadNumber
Debug.Print FormatNumber(varSource, 0)
History Legacy command (existed before version 3.10).
NOTE
The channel being selected must not be used to make a timing measurement and must be
turned on.
892 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:QUALifier<M>:STATe
Command :MEASure:QUALifier<M>:STATe {{ON | 1} | {OFF | 0}}
The :MEASure:QUALifier<M>:STATe command enables or disables level qualifying
for timing measurements.
<M> An integer, 1-3.
Example This example sets the level qualifier 2 state to ON.
myScope.WriteString ":MEASure:QUALifier2:STATe ON"
Query :MEASure:QUALifier<M>:STATe?
The :MEASure:QUALifier<M>:STATe? query returns the state of the level qualifier
for timing measurements.
Returned Format [:MEASure:QUALifier<M>:SOURce] {1 | 0}<NL>
Example This example places the current state of the level qualifier for timing
measurements in the state variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:QUALifier2:STATe?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 893
:MEASure:RESults?
Query :MEASure:RESults? [AORDered | GORDered]
The :MEASure:RESults? query returns the results of the measurements displayed
on the front panel graphical user interface (GUI). Results are returned as a list of
comma-separated values. If :MEASure:SENDvalid is ON, the result state is also
returned.
If more than one measurement is displayed, the values for each measurement are
returned according to the option:
• AORDered (or no option) — As measurements are added, either by a remote
program or using the front panel GUI, they are displayed in the Results pane
with the most recently added measurement at the top. The AORDered option
(or no option) returns results in the inverse order that measurements were
added. Reordering measurements on the front panel will not change this order.
• GORDered — This option always returns measurement results in the Results
pane top-to-bottom order, even after reordering measurements on the front
panel.
Up to 20 measurements can be displayed.
Returned Format [:MEASure:RESults] <result_list><NL>
<result_list> A list of the measurement results separated with commas. The following shows the
order of values received for a single measurement if :MEASure:STATistics is set to
ON.
Min, max, mean, std dev, and # of meas are returned only if :MEASure:STATistics is
ON. The result state is returned only if :MEASure:SENDvalid is ON. See Table 14
for the meaning of the result state codes.
If the :MEASure:STATistics is set to CURRENT, MAX, MEAN, MIN, or STDDEV only
that particular statistic value is returned for each displayed measurement.
Example This example places the current results of the measurements in the string variable,
strResult, then prints the contents of the variable to the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":MEASure:RESults?"
strResult = myScope.ReadString
Debug.Print strResult
Measure
ment
label
current result
state
min max mean std dev # of meas
894 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
Table 14 Result States
Code Description
0 Result correct. No problem found.
1 Result questionable but could be measured.
2 Result less than or equal to value returned.
3 Result greater than or equal to value returned.
4 Result returned is invalid.
5 Result invalid. Required edge not found.
6 Result invalid. Max not found.
7 Result invalid. Min not found.
8 Result invalid. Requested time not found.
9 Result invalid. Requested voltage not found.
10 Result invalid. Top and base are equal.
11 Result invalid. Measurement zone too small.
12 Result invalid. Lower threshold not on waveform.
13 Result invalid. Upper threshold not on waveform.
14 Result invalid. Upper and lower thresholds are too close.
15 Result invalid. Top not on waveform.
16 Result invalid. Base not on waveform.
17 Result invalid. Completion criteria not reached.
18 Result invalid. Measurement invalid for this type of waveform.
19 Result invalid. waveform is not displayed.
20 Result invalid. Waveform is clipped high.
21 Result invalid. Waveform is clipped low.
22 Result invalid. Waveform is clipped high and low.
23 Result invalid. Data contains all holes.
24 Result invalid. No data on screen.
29 Result invalid. FFT peak not found.
30 Result invalid. Eye pattern not found.
31 Result invalid. No NRZ eye pattern found.
33 Result invalid. There is more than one source on creating the database.
35 Signal may be too small to evaluate.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 895
See Also •":MEASure:SENDvalid" on page 920
•":MEASure:STATistics" on page 928
History Legacy command (existed before version 3.10).
Version 6.20: There is now an AORDered option for returning the results according
to the order in which measurements were added (ignoring any front panel
graphical user interface (GUI) reordering) or a GORDered option for returning the
results according to the order they appear on the display (even after front panel
GUI reordering). Not specifying any option is the same as using the AORDered
option.
36 Result invalid. Awaiting completion of averaging.
39 Result invalid. Need jitter package to make this measurement or must be
in jitter mode to make this measurement.
40 Current measurement is not on screen.
41 Not enough points available to recover the clock.
42 The loop bandwidth of the PLL is too high to recover the clock.
43 RJDJ pattern not found in data.
45 Clock recovery mode is not permitted.
46 Too much jitter to make a RJDJ separation.
Table 14 Result States (continued)
Code Description
896 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RISetime
Command :MEASure:RISetime [<source>[,<start_level>,<stop_level>]]
The :MEASure:RISetime command measures the rise time of the first displayed
edge by measuring the time at the lower threshold of the rising edge, measuring
the time at the upper threshold of the rising edge, then calculating the rise time
with the following algorithm:
Rise time = time at upper threshold point - time at lower threshold point.
To make this measurement requires 4 or more sample points on the rising edge of
the waveform.
Sources are specified with the :MEASure:SOURce command or with the optional
parameter following the RISetime command. With standard thresholds selected,
the lower threshold is at the 10% point and the upper threshold is at the 90% point
on the rising edge.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<start_level>,
<stop_level>
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the <start_level> and
<stop_level> parameters are integers that identify the edge to measure. For
PAM-4, the levels may be from 0-3.
For PAM rise time measurements, "Measure All Edges" must be turned on (see
:ANALyze:AEDGes).
Example This example measures the rise time of the channel 1 waveform.
myScope.WriteString ":MEASure:RISEtime CHANnel1"
Query :MEASure:RISetime? [<source>[,<start_level>,<stop_level>]]
The :MEASure:RISetime? query returns the rise time of the specified source.
Returned Format [:MEASure:RISetime] <value>[,<result_state>]<NL>
<value> Rise time in seconds.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of rise time in the numeric variable, varRise,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RISEtime? CHANnel1"
varRise = myScope.ReadNumber
Debug.Print FormatNumber(varRise, 0)
See Also •":ANALyze:SIGNal:TYPE" on page 282
898 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:ALL?
Query
:MEASure:RJDJ:ALL?
The :MEASure:RJDJ:ALL? query returns all of the RJDJ jitter measurements. These
values are returned as comma separated triples of values using the following
format:
Returned Format [:MEASure:RJDJ:ALL<space>]
TJ(<format>),<result>,<state>,
RJ(<format>),<result>,<state>,
DJ(<format>),<result>,<state>,
PJ(<format>),<result>,<state>,
BUJ(<format>),<result>,<state>,
DDJ(<format>),<result>,<state>,
DCD,<result>,<state>,
ISI(<format>),<result>,<state>,
Transitions,<number_of_transitions>,<transitions_state>,
Scope RJ(<format>),<result>,<state>,
DDPWS,<result>,<state>,
ABUJ(<format>),<result>,<state><NL>
With PAM-4 signals, when the ":MEASure:RJDJ:PAMThreshold ALL" command
setting has been made, the query results include values for multiple threshold
levels. For example:
[:MEASure:RJDJ:ALL<space>]
TJ(<format>) 01,<result>,<state>,
TJ(<format>) 12,<result>,<state>,
TJ(<format>) 23,<result>,<state>,
RJ(<format>) 01,<result>,<state>,
RJ(<format>) 12,<result>,<state>,
RJ(<format>) 23,<result>,<state>,
DJ(<format>) 01,<result>,<state>,
DJ(<format>) 12,<result>,<state>,
DJ(<format>) 23,<result>,<state>,
Transitions 01,<number_of_transitions>,<transitions_state>,
Transitions 12,<number_of_transitions>,<transitions_state>,
Transitions 23,<number_of_transitions>,<transitions_state><NL>
Otherwise, the query results are for the specific threshold level specified in the
:MEASure:RJDJ:PAMThreshold command.
NOTE
This command is only available when the N5400A/N5401A Software is installed.
NOTE
Whether some of these values are included or not depends on the setting of
:MEASure:RJDJ:METHod and :MEASure:RJDJ:REPort.
For example, when :MEASure:RJDJ:REPort or :MEASure:RJDJ:METHod is SPECtral, the BUJ
and ABUJ values are not returned, and there are two PJ values (one "rms" and one "dd").
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 899
<space> White space (ASCII 32) character.
<format> The format value tells you something about how the measurement is made. For
instance, TJ(1E-12) means that the TJ measurement was derived using a bit error
rate of 1E-12. A format of (rms) means the measurement is a root-mean-square
measurement. A format of (dd) means the measurement uses a dual-Dirac delta
model to derive the measurement. A format of (pp) means the measurement is a
peak-to-peak measurement.
<result> The measured results for the RJDJ measurements. A value of 9.99999E+37 means
that the oscilloscope was unable to make the measurement.
<state> The measurement result state. See Table 14 for a list of values and descriptions of
the result state value.
<number_of_
transitions>
The number of waveform transitions that have been measured.
Example This example places the jitter measures in the strResults variable and displays it on
the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:ALL?"
strResults = myScope.ReadString
Debug.Print strResults
See Also •":MEASure:RJDJ:METHod" on page 907
•":MEASure:RJDJ:REPort" on page 911
•":MEASure:RJDJ:PAMThreshold" on page 909
History Legacy command (existed before version 3.10).
Version 3.50: There are two possible additional measurement results, Scope
RN(rms) and DDPWS.
Version 4.10: New results can be returned depending on the
:MEASure:RJDJ:METHod and :MEASure:RJDJ:REPort settings.
Version 6.10: Jitter analysis is supported on PAM-4 signals. When the
":MEASure:RJDJ:PAMThreshold ALL" command setting has been made, the query
results include values for multiple threshold levels; otherwise, the query results are
for the specific threshold level specified in the :MEASure:RJDJ:PAMThreshold
command.
900 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:APLength?
Query
:MEASure:RJDJ:APLength?
When jitter or noise analysis is enabled and ":MEASure:RJDJ:PLENgth AUTO"
option has been set to automatically detect the pattern length, the
:MEASure:RJDJ:APLength? query returns the determined RjDj pattern length.
Returned Format [:MEASure:RJDJ:APLength] <value><NL>
<value> The determined RjDj pattern length as a numeric data value.
When jitter or noise analysis is not enabled, this query returns an empty value and
the -221,"Settings conflict" error message.
If the ":MEASure:RJDJ:PLENgth AUTO" option has not been set, or if there is no
data, the value 9.99999E+37 is returned.
Example This example places the calculated pattern length in the strResults variable and
displays it on the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:APLength?"
strResults = myScope.ReadString
Debug.Print strResults
See Also •":MEASure:RJDJ:PLENgth" on page 910
History New in version 3.10.
NOTE
This command is available only when the N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 901
:MEASure:RJDJ:BANDwidth
Command
:MEASure:RJDJ:BANDwidth {NARRow | WIDE}
The :MEASure:RJDJ:BANDwidth command sets the type of filtering used to
separate the data dependent jitter form the random jitter and the periodic jitter.
Example This example sets the RJ bandwidth to WIDE.
myScope.WriteString ":MEASure:RJDJ:BANDwidth WIDE"
Query :MEASure:RJDJ:BANDwidth?
The :MEASure:RJDJ:BANDwidth? query returns the RJ bandwidth filter setting.
Returned Format [:MEASure:RJDJ:BANDwidth] {NARRow | WIDE}<NL>
Example This example places the RJ filter setting the varFilter variable and displays it on
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:BANDwidth?"
varFilter = myScope.ReadNumber
Debug.Print FormatNumber(varFilter, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the N5400A/N5401A Software is installed.
902 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:BER
Command
:MEASure:RJDJ:BER {E6 | E7 | E8 | E9 | E10 | E11 | E12 | E13 | E14
|E15|E16|E17|E18|J2|J4|J5|J9}
The :MEASure:RJDJ:BER command sets the bit error rate for the Total Jitter (TJ)
measurement. The E and J parameters have the following bit error rate meanings:
• E6 = 1E-6
• E7 = 1E-7
• E8 = 1E-8
• E9 = 1E-9
• E10 = 1E-10
• E11 = 1E-11
• E12 = 1E-12
• E13 = 1E-13
• E14 = 1E-14
• E15 = 1E-15
• E16 = 1E-16
• E17 = 1E-17
• E18 = 1E-18
• J2 = 2.5E-3
• J4 = 2.5E-5
• J5 = 2.5E-6
• J9 = 2.5E-10
Example This example sets the bit error rate to E16.
myScope.WriteString ":MEASure:RJDJ:BER E16"
Query :MEASure:RJDJ:BER?
The :MEASure:RJDJ:BER? query returns the bit error rate setting.
Returned Format [:MEASure:RJDJ:BER] {E6 | E7 | E8 | E9 | E10 | E11 | E12 | E13 | E14
| E15 | E16 | E17 | E18 | J2 | J4 | J5 | J9}<NL>
Example This example places the bit error rate in the varRate variable and displays it on the
computer's screen.
NOTE
This command is only available when the N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 903
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:BER?"
varRate = myScope.ReadNumber
Debug.Print FormatNumber(varRate, 0)
History Legacy command (existed before version 3.10).
Version 3.10: Added J2 and J9 jitter BER levels.
Version 5.75: Added J4 and J5 jitter BER levels.
904 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:CLOCk
Command
:MEASure:RJDJ:CLOCk {ON | OFF}
When the :MEASure:RJDJ:CLOCk command is set to ON, it forces the pattern to
be a clock and sets the jitter for edges not examined to zero (0).
To measure jitter on only rising (or falling) edges of a clock, you must also set
:MEASure:CLOCk:METHod:EDGE to RISing or FALLing, and you must set
:MEASure:RJDJ:EDGE to the same RISing or FALLing option.
Example This example turns on the RJDJ clock option.
myScope.WriteString ":MEASure:RJDJ:CLOCk ON"
Query :MEASure:RJDJ:CLOCk?
The :MEASure:RJDJ:CLOCk? query returns the setting.
Returned Format [:MEASure:RJDJ:CLOCk] {ON | OFF}<NL>
Example This example places the current RJDJ clock setting in the strSetting variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:CLOCk?"
strSetting = myScope.ReadNumber
Debug.Print strSetting
See Also •":ANALyze:CLOCk:METHod:EDGE" on page 253
•":MEASure:RJDJ:EDGE" on page 905
History New in version 4.30.
NOTE
This command is available when the EZJIT Plus or EZJIT Complete jitter analysis software is
installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 905
:MEASure:RJDJ:EDGE
Command
:MEASure:RJDJ:EDGE {RISing | FALLing | BOTH}
The :MEASure:RJDJ:EDGE command sets the edge used for the RJDJ
measurements.
Example This example sets the RJDJ edge to use both edges.
myScope.WriteString ":MEASure:RJDJ:EDGE BOTH"
Query :MEASure:RJDJ:EDGE?
The :MEASure:RJDJ:EDGE? query returns the edge being used for the RJDJ
measurements.
Returned Format [:MEASure:RJDJ:EDGE] {RIS | FALL | BOTH}<NL>
Example This example places the current edge being used for RJDJ measurements in the
varEdge variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:EDGE?"
varEdge = myScope.ReadNumber
Debug.Print FormatNumber(varEdge, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the N5400A/N5401A Software is installed.
906 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:INTerpolate
Command
:MEASure:RJDJ:INTerpolate {LINear | NONE}
The :MEASure:RJDJ:INTerpolate command sets the interpolation mode used for
the RJDJ measurements.
Example This example sets the RJDJ interpolation to use both linear.
myScope.WriteString ":MEASure:RJDJ:INTerpolate LINear"
Query :MEASure:RJDJ:INTerpolate?
The :MEASure:RJDJ:INTerpolate? query returns the interpolation mode being used
for the RJDJ measurements.
Returned Format [:MEASure:RJDJ:INTerpolate] {LINear | NONE}<NL>
Example This example places the current interpolation mode being used for RJDJ
measurements in the interpolate variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:INTerpolate?"
varInterpolate = myScope.ReadNumber
Debug.Print FormatNumber(varInterpolate, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 907
:MEASure:RJDJ:METHod
Command
:MEASure:RJDJ:METHod {SPECtral | BOTH}
The :MEASure:RJDJ:METHod command lets you select the method for random
jitter (RJ) analysis, either the SPECtral method or BOTH the spectral and tail fit
methods.
When analyzing jitter with crosstalk or ground bounce effects present in your
signal, select BOTH. When this option is selected, the deterministic jitter (DJ) that
is uncorrelated to the data pattern, also known as bounded uncorrelated jitter
(BUJ), is separated into periodic jitter (PJ) and aperiodic bounded uncorrelated
jitter (ABUJ). ABUJ is caused by crosstalk and ground bounce effects.
When there are no crosstalk or ground bounce effects present in your signal, you
can select the SPECtral method in order to run faster. When this option is
selected, the deterministic jitter (DJ) that is uncorrelated to the data pattern is all
reported as periodic jitter (PJ).
Example This example sets the RJDJ method to BOTH the spectral and tail fit analysis.
myScope.WriteString ":MEASure:RJDJ:METHod BOTH"
Query :MEASure:RJDJ:METHod?
The :MEASure:RJDJ:METHod? query returns the selected RJDJ method.
Returned Format [:MEASure:RJDJ:METHod] {SPEC | BOTH}<NL>
Example This example places the RJDJ method setting the strJitterMethod variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:METHod?"
strJitterMethod = myScope.ReadString
Debug.Print strJitterMethod
See Also •":MEASure:RJDJ:REPort" on page 911
History New in version 4.10.
NOTE
This command is only available when the EZJIT Plus jitter analysis application is licensed.
908 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:MODe
Command
:MEASure:RJDJ:MODe {TIE | PERiod | NUI[,<ui>]}
The :MEASure:RJDJ:MODe command sets the RJDJ measurement mode. If NUI is
selected then <ui> selects the number of unit intervals (for example:
:MEASure:RJDJ:MODe NUI,5.
Example This example sets the RJDJ mode to TIE.
myScope.WriteString ":MEASure:RJDJ:MODe TIE"
Query :MEASure:RJDJ:MODe?
The :MEASure:RJDJ:MODe? query returns the mode of the RJDJ measurements.
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 909
:MEASure:RJDJ:PAMThreshold
Command :MEASure:RJDJ:PAMThreshold <level>
<level> ::= {T01 | T12 | T23 | ALL}
The :MEASure:RJDJ:PAMThreshold command specifies which PAM thresholds to
measure for PAM-4 signals.
Query :MEASure:RJDJ:PAMThreshold?
The :MEASure:RJDJ:PAMThreshold? query returns the PAM threshold setting.
Returned Format <level><NL>
See Also •":DISPlay:JITTer:THReshold" on page 488
•":MEASure:RJDJ:ALL?" on page 898
•":MEASure:RJDJ:TJRJDJ?" on page 916
History New in version 6.10.
910 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:PLENgth
Command
:MEASure:RJDJ:PLENgth {AUTO
| {ARBitrary,<isi_filter_lead>,<isi_filter_lag>}
| <number_of_bits>}
The :MEASure:RJDJ:PLENgth command sets the number of bits used pattern
length for the RJDJ measurements.
<isi_filter_ lead> An integer number that is less than or equal to 0 that is the number of leading bits
that are used to calculate the ISI filter.
<isi_filter_ lag} An integer number that is greater than or equal to 0 that is the number of trailing
bits used to calculate the ISI filter.
<number_of_ bits> An integer number that is the length of pattern from 2 to 1024.
Example This example sets the RJDJ bits to 5.
myScope.WriteString ":MEASure:RJDJ:PLENgth 5"
Query :MEASure:RJDJ:PLENgth?
The :MEASure:RJDJ:PLENgth? query returns the number of bits being used for the
RJDJ measurements when Periodic pattern length is set. For Arbitrary pattern
length, the ISI filter lead and filter lag numbers are returned.
Returned Format [MEASure:RJDJ:PLENgth] {AUTO
| ARBitrary,<isi_filter_lead>,<isi_filter_lag>
| <number_of_bits>}<NL>
Example This example places the current number of bits for RJDJ measurements in the
varBits variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:PLENgth?"
varBits = myScope.ReadNumber
Debug.Print FormatNumber(varBits, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 911
:MEASure:RJDJ:REPort
Command
:MEASure:RJDJ:REPort {SPECtral | TAILfit}
When the :MEASure:RJDJ:METHod BOTH command selects both the spectral and
tail fit methods for random jitter analysis, the :MEASure:RJDJ:REPort command
specifies which method is used for the reports in the jitter graphs/histograms and
Jitter tab measurements.
Example This example specifies that the RJDJ report include measurements from both the
spectral and tail fit analysis (including aperiodic bounded uncorrelated jitter ABUJ
measurements).
myScope.WriteString ":MEASure:RJDJ:REPort TAILfit"
Query :MEASure:RJDJ:REPort?
The :MEASure:RJDJ:REPort? query returns the report setting.
Returned Format [:MEASure:RJDJ:REPort] {SPEC | TAIL}<NL>
Example This example places the report setting in the strReportSetting variable and
displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:REPort?"
strReportSetting = myScope.ReadString
Debug.Print strReportSetting
See Also •":MEASure:RJDJ:METHod" on page 907
History New in version 4.10.
NOTE
This command is only available when the EZJIT Plus jitter analysis application is licensed.
912 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:RJ
Command
:MEASure:RJDJ:RJ {ON, <RJrms> | OFF}
The :MEASure:RJDJ:RJ command can specify a known amount of random jitter.
When used, the remaining amount of the total jitter measured is reported as
periodic jitter (PJ).
This command is used in situations when crosstalk aggressors influence the
random jitter measured on a signal. If the random jitter on a signal is measured
without the aggressor signal crosstalk, this known amount of random jitter can be
specified when measuring the jitter again with the crosstalk aggressors.
• ON — Enables a specified amount of random jitter.
•<RJrms> — The known amount of random jitter.
• OFF — Disables the specification of known random jitter.
The amount of random jitter is shown in the jitter measurement results (see
page 898) as "RJ(rms specified)".
Example This example specifies 500 fs of random jitter.
myScope.WriteString ":MEAS:RJDJ:RJ ON, 500e-15"
Query :MEASure:RJDJ:RJ?
The :MEASure:RJDJ:RJ? query returns the specified RJ settings.
Returned Format [:MEASure:RJDJ:RJ] {ON, <RJrms> | OFF}<NL>
Example This example places the specified RJ settings in the strKnownRandomJitter
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:RJ?"
strKnownRandomJitter = myScope.ReadString
Debug.Print strKnownRandomJitter
History New in version 3.50.
NOTE
This command is available when the EZJIT Plus software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 913
:MEASure:RJDJ:SCOPe:RJ
Command
:MEASure:RJDJ:SCOPe:RJ {ON, <RJrms> | AUTO | OFF}
The :MEASure:RJDJ:SCOPe:RJ command can specify the removal of the
oscilloscope's calibrated random jitter from the reported RJ.
• ON — Enables the "manual" removal of a known oscilloscope random jitter from
the reported RJ.
• <RJrms> — The known oscilloscope random jitter to remove from the reported
RJ.
• AUTO — This option cannot be selected until the scope jitter calibration has
been run (use the Calibrate scope jitter button in the front panel user interface).
When selected, the calculated oscilloscope random jitter is removed from the
reported RJ.
The calculated oscilloscope random jitter is shown in the jitter measurement
results (see page 898) as "Scope RJ(rms)".
• OFF — Disables the removal of the oscilloscope's calibrated random jitter from
the reported RJ.
Example This example specifies 300 fs of known oscilloscope random jitter.
myScope.WriteString ":MEASure:RJDJ:SCOPe:RJ ON, 300e-15"
Query :MEASure:RJDJ:SCOPe:RJ?
The :MEASure:RJDJ:SCOPe:RJ? query returns the oscilloscope RJ settings.
Returned Format [:MEASure:RJDJ:SCOPe:RJ] {ON, <RJrms> | OFF}<NL>
Example This example places the oscilloscope RJ settings in the strScopeRJSettings
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:SCOPe:RJ?"
strScopeRJSettings = myScope.ReadString
Debug.Print strScopeRJSettings
History New in version 3.50.
NOTE
This command is available when the EZJIT Plus software is installed.
914 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:SOURce
Command
:MEASure:RJDJ:SOURce <source>
The :MEASure:RJDJ:SOURce command sets the source for the RJDJ
measurements.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the RJDJ source to the channel 1 waveform.
myScope.WriteString ":MEASure:RJDJ:SOURce CHANnel1"
Query :MEASure:RJDJ:SOURce?
The :MEASure:RJDJ:SOURce? query returns the source being used for the RJDJ
measurements.
Returned Format [:MEASure:RJDJ:SOURce] <source><NL>
Example This example places the current source for RJDJ measurements in the varSource
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:SOURce?"
varSource = myScope.ReadNumber
Debug.Print FormatNumber(varSource, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 915
:MEASure:RJDJ:STATe
Command
:MEASure:RJDJ:STATe {ON | OFF}
The :MEASure:RJDJ:STATe command enables or disables the RJDJ
measurements.
Example This example sets the RJDJ state to on.
myScope.WriteString ":MEASure:RJDJ:STATe ON"
Query :MEASure:RJDJ:STATe?
The :MEASure:RJDJ:STATe? query returns the state of the RJDJ measurements.
Returned Format [:MEASure:RJDJ:STATe] {1 | 0}<NL>
Example This example places the current state of the RJDJ measurements in the varState
variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:STATe?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the N5400A/N5401A Software is installed.
916 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:TJRJDJ?
Query
:MEASure:RJDJ:TJRJDJ?
The :MEASure:RJDJ:TJRJDJ? query returns the Total Jitter (TJ), Random Jitter
(RJ), and the Deterministic Jitter (DJ) measurements. These values are returned as
comma separated triples of values using the following format:
Returned Format [:MEASure:RJDJ:TJRJDJ] TJ(<tj_format>),<tj_result>,<tj_state>,
RJ(<rj_format>),<rj_result>,<rj_state>,
DJ(<dj_format>),<dj_result>,<dj_state><NL>
With PAM-4 signals, when the ":MEASure:RJDJ:PAMThreshold ALL" command
setting has been made, the query results include values for multiple threshold
levels. For example:
[:MEASure:RJDJ:TJRJDJ] TJ(<tj_format>) 01,<tj_result>,<tj_state>,
TJ(<tj_format>) 12,<tj_result>,<tj_state>,
TJ(<tj_format>) 23,<tj_result>,<tj_state>,
RJ(<rj_format>) 01,<rj_result>,<rj_state>,
RJ(<rj_format>) 12,<rj_result>,<rj_state>,
RJ(<rj_format>) 23,<rj_result>,<rj_state>,
DJ(<dj_format>) 01,<dj_result>,<dj_state>,
DJ(<dj_format>) 12,<dj_result>,<dj_state>,
DJ(<dj_format>) 23,<dj_result>,<dj_state><NL>
Otherwise, the query results are for the specific threshold level specified in the
:MEASure:RJDJ:PAMThreshold command.
<tj_format>
<rj_format>
<dj_format>
The format value tells you something about how the measurement is made. For
instance, TJ(1E-12) means that the TJ measurement was derived using a bit error
rate of 1E-12. A format of (rms) means the measurement is a root-mean-square
measurement. A format of (d-d) means the measurement uses from a dual-Dirac
delta model used to derive the measurement. A format of (p-p) means the
measurement is a peak-to-peak measurement.
<tj_result>
<rj_result>
<dj_result>
The measured results for the RJDJ measurements. A value of 9.99999E+37 means
that the oscilloscope was unable to make the measurement.
<tj_state>
<rj_state>
<dj_state>
The measurement result state. See Table 14 for a list of values and descriptions of
the result state value.
Example This example places the Total Jitter (TJ), Random Jitter (RJ), and the Deterministic
Jitter (DJ) measurements in the strResults variable and displays it on the
computer's screen.
NOTE
This command is only available when the N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 917
Dim strResult As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:TJRJDJ?"
strResult = myScope.ReadString
Debug.Print strResult
See Also •":MEASure:RJDJ:PAMThreshold" on page 909
History Legacy command (existed before version 3.10).
Version 6.10: Jitter analysis is supported on PAM-4 signals. When the
":MEASure:RJDJ:PAMThreshold ALL" command setting has been made, the query
results include values for multiple threshold levels; otherwise, the query results are
for the specific threshold level specified in the :MEASure:RJDJ:PAMThreshold
command.
918 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:RJDJ:UNITs
Command
:MEASure:RJDJ:UNITs {SECond | UNITinterval}
The :MEASure:RJDJ:UNITs command sets the unit of measure for RJDJ
measurements to seconds or unit intervals.
Example This example sets the RJDJ units to unit interval.
myScope.WriteString ":MEASure:RJDJ:UNITs UNITinterval"
Query :MEASure:RJDJ:UNITs?
The :MEASure:RJDJ:UNITs? query returns the units of measure being used for the
RJDJ measurements.
Returned Format [:MEASure:RJDJ:UNITs] {SECond | UNITinterval}<NL>
Example This example places the current units of measure for the RJDJ measurements in
the varUnits variable and displays it on the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:RJDJ:UNITs?"
varUnits = myScope.ReadNumber
Debug.Print FormatNumber(varUnits, 0)
History Legacy command (existed before version 3.10).
NOTE
This command is only available when the N5400A/N5401A Software is installed.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 919
:MEASure:SCRatch
Command :MEASure:{SCRatch | CLEar}
The :MEASure:SCRatch command clears the measurement results from the
screen. This command performs the same function as :MEASure:CLEar.
Example This example clears the current measurement results from the screen.
myScope.WriteString ":MEASure:SCRatch"
History Legacy command (existed before version 3.10).
920 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:SENDvalid
Command :MEASure:SENDvalid {{OFF|0} | {ON|1}}
The :MEASure:SENDvalid command enables the result state code to be returned
with the :MEASure:RESults? query and all other measurement queries.
Example This example turns the send valid function on.
myScope.WriteString ":MEASure:SENDvalid ON"
Query :MEASure:SENDvalid?
The :MEASure:SENDvalid? query returns the state of the send valid control.
Returned Format {:MEASure:SENDvalid] {0 | 1}<NL>
Example This example places the current mode for SENDvalid in the string variable,
strMode, then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":MEASure:SENDvalid?"
strMode = myScope.ReadString
Debug.Print strMode
See Also Refer to the :MEASure:RESults? query for information on the results returned and
how they are affected by the SENDvalid command. Refer to the individual
measurements for information on how the result state is returned.
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 921
:MEASure:SER
Command :MEASure:SER <source>
When a pattern length and pattern can be determined (see the
:ANALyze:SIGNal:PATTern:* commands), the :MEASure:SER command installs a
cumulative symbol error rate (SER) measurement of the specified PAM waveform
into the user interface's measurement Results pane.
With PAM signals, there can be multiple bits per symbol, and symbol error rate is
related to bit error rate (BER). For example, with PAM-4 one symbol error can
translate to one or two bit errors.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:SER? <source>
The :MEASure:SER? query returns the measured cumulative symbol error rate
value.
Returned Format [:MEASure:SER] <value><NL>
<value> ::= the cumulative SER value in NR3 format.
See Also •":ANALyze:SIGNal:PATTern:CLEar" on page 278
•":ANALyze:SIGNal:PATTern:LOAD" on page 279
•":ANALyze:SIGNal:PATTern:PLENgth" on page 280
•":ANALyze:SIGNal:PATTern:SMAP" on page 281
•":MEASure:BER" on page 747
•":MEASure:BERPeracq" on page 748
•":MEASure:SERPeracq" on page 922
History New in version 5.60.
922 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:SERPeracq
Command :MEASure:SERPeracq <source>
When a pattern length and pattern can be determined (see the
:ANALyze:SIGNal:PATTern:* commands), the :MEASure:SERPeracq command
installs a symbol error rate (SER) per acquisition measurement of the specified
PAM waveform into the user interface's measurement Results pane.
With PAM signals, there can be multiple bits per symbol, and symbol error rate is
related to bit error rate (BER). For example, with PAM-4 one symbol error can
translate to one or two bit errors.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:SERPeracq? <source>
The :MEASure:SERPeracq? query returns the measured symbol error rate per
acquisition value.
Returned Format [:MEASure:SERPeracq] <value><NL>
<value> ::= the SER per acquisition value in NR3 format.
See Also •":ANALyze:SIGNal:PATTern:CLEar" on page 278
•":ANALyze:SIGNal:PATTern:LOAD" on page 279
•":ANALyze:SIGNal:PATTern:PLENgth" on page 280
•":ANALyze:SIGNal:PATTern:SMAP" on page 281
•":MEASure:BER" on page 747
•":MEASure:BERPeracq" on page 748
•":MEASure:SER" on page 921
History New in version 5.60.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 923
:MEASure:SETuptime
Command
:MEASure:SETuptime [<data_source>,<data_source_dir>,
<clock_source>,<clock_source_dir>]
The :MEASure:SETuptime command measures the setup time between the
specified clock and data source.
This measurement requires all edges. When you add it, the "Measure All Edges"
mode (see ":ANALyze:AEDGes" on page 245) is automatically set to ON. When the
"Measure All Edges" mode is set to OFF, this measurement cannot be made, and
there are no measurement results.
<data_source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum |
EQUalized}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<clock_source> {CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend |
MSPectrum | EQUalized}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
<R> An integer, 1-4.
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/5401A Software is installed.
924 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
<data_source
_dir>
{RISing | FALLing | BOTH}
Selects the direction of the data source edge. BOTH selects both edges to be
measured.
<clock_source
_dir>
{RISing | FALLing}
Selects the direction of the clock source edge.
Example This example measures the setup time from the rising edge of channel 1 to the
rising edge of channel 2.
myScope.WriteString ":MEASure:SETuptime CHAN1,RIS,CHAN2,RIS"
Query :MEASure:SETuptime? [<data_source>,<data_source_dir>,
<clock_source>,<clock_ source_dir>]
The :MEASure:SETuptime query returns the measured setup time between the
specified clock and data source.
The necessary waveform edges must be present on the display. Also, the "Measure
All Edges" mode must be set (use the :ANALyze:AEDGes command or
:MEASure:SETuptime command before the query).
The query will return 9.99999E+37 if the necessary edges are not displayed or if
the "Measure All Edges" mode is not currently set.
Returned Format {:MEASure:SETuptime] <value><NL>
<value> Setup time in seconds.
Example This example places the current value of setup time in the numeric variable,
varTime, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:SETuptime? CHAN1,RIS,CHAN2,RIS"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
See Also •":ANALyze:AEDGes" on page 245
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 925
:MEASure:SLEWrate
Command
:MEASure:SLEWrate [<source>[,<direction>]]
The :MEASure:SLEWrate command measures the slew rate of the specified data
source.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum |
EQUalized}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<direction> {RISing | FALLing | BOTH}
Specifies whether slew rate is measured on rising, falling, or either rising or falling
edge(s). When <direction> is specified, the <source> parameter is required.
The BOTH option is valid only when the "Measure All Edges" mode is OFF (see
":ANALyze:AEDGes" on page 245). In this case, the first edge from the left side of
the display grid is used (whether the edge is rising or falling).
When the "Measure All Edges" mode is OFF, the RISing and FALLing options
specify whether the first rising or falling edge from the left side of the display grid
is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether slew rate is measured on rising or falling edges throughout the
acquisition.
Example This example measures the slew rate of channel 1.
myScope.WriteString ":MEASure:SLEWrate CHANnel1,RISing"
Query :MEASure:SLEWrate? [<source>[,<direction>]]
NOTE
This command is only available when the E2681A Jitter Analysis Software is installed.
926 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
The :MEASure:SLEWrate? query returns the measured slew rate for the specified
source.
Returned Format {:MEASure:SLEWrate] <value><NL>
<value> Slew rate in volts per second.
Example This example places the channel 1 value of slew rate in the numeric variable,
varTime, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:SLEWrate? CHANnel1,RISing"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 927
:MEASure:SOURce
Command :MEASure:SOURce {<source>[,<source>]}
The :MEASure:SOURce command selects the source for measurements. You can
specify one or two sources with this command. All measurements except
:MEASure:HOLDtime, :MEASure:SETUPtime, and :MEASure:DELTatime are made
on the first specified source. The delta time measurement uses two sources if two
are specified.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example selects channel 1 as the source for measurements.
myScope.WriteString ":MEASure:SOURce CHANnel1"
Query :MEASure:SOURce?
The :MEASure:SOURce? query returns the current source selection.
Returned Format [:MEASure:SOURce] <source>[,<source>]<NL>
Example This example places the currently specified sources in the string variable,
strSource, then prints the contents of the variable to the computer's screen.
Dim strSource As String ' Dimension variable.
myScope.WriteString ":MEASure:SOURce?"
strSource = myScope.ReadString
Debug.Print strSource
History Legacy command (existed before version 3.10).
928 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:STATistics
Command :MEASure:STATistics {{ON | 1} | CURRent | MAXimum | MEAN | MINimum
| STDDev}
The :MEASure:STATistics command determines the type of information returned by
the :MEASure:RESults? query. ON means all the statistics are on.
Example This example turns all the statistics function on.
myScope.WriteString ":MEASure:STATistics ON"
Query :MEASure:STATistics?
The :MEASure:STATistics? query returns the current statistics mode.
Returned Format [:MEASure:STATistics] {ON | CURR | MAX | MEAN | MIN | STDD}<NL>
Example This example places the current mode for statistics in the string variable, strMode,
then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":MEASure:STATistics?"
strMode = myScope.ReadString
Debug.Print strMode
See Also •":MEASure:RESults?" on page 893 for information on the result returned and
how it is affected by the STATistics command.
•":MEASure:SENDvalid" on page 920
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 929
:MEASure:TEDGe
Command :MEASure:TEDGe <meas_thres_txt>,[<slope>]<occurrence>[,<source>]
The :MEASure:TEDGe command measures the time interval between the trigger
event and the specified edge (threshold level, slope, and transition). Sources are
specified with the :MEASure:SOURce command or with the optional parameter
following the :MEASure:TEDGe command.
<meas_thres _txt> UPPer, MIDDle, or LOWer to identify the threshold.
<slope> { - (minus) for falling | + (plus) for rising | <none> (the slope is optional; if no slope
is specified, + (plus) is assumed) }
<occurrence> An integer value representing the edge of the occurrence. The desired edge must
be present on the display. Edges are counted with 1 being the first edge from the
left on the display, and a maximum value of 65534.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:TEDGe? <meas_thres_txt>,<slope><occurrence> [,<source>]
The :MEASure:TEDGe? query returns the time interval between the trigger event
and the specified edge (threshold level, slope, and transition).
Returned Format [:MEASure:TEDGe] <time>[,<result_state>]<NL>
<time> The time interval between the trigger event and the specified voltage level and
transition.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the time interval between the trigger event and the 90%
threshold on the second rising edge of the source waveform to the numeric
variable, varTime. The contents of the variable are then printed to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TEDGe? UPPer,+2,CHANnel1"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
History Legacy command (existed before version 3.10).
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
930 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:ABSolute
Command :MEASure:THResholds:ABSolute <source>,
<upper_volts>,<middle_volts>,<lower_volts>
The :MEASure:THResholds:ABSolute command sets the upper level, middle level,
and lower level voltages that are used to calculate the measurements that use
them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | WMEMory<R> | DIGital<M> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<upper_volts>
<middle_volts>
<lower_volts>
A real number specifying voltage thresholds.
Example This example sets the custom voltage thresholds to 0.9 volts for the upper level,
0.5 volts for the middle level and 0.1 volts for the lower level on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:ABSolute CHANnel2,0.9,0.5,0.1"
Query :MEASure:THResholds:ABSolute? <source>
The :MEASure:THResholds:ABSolute? query returns the current settings for upper
level, middle level, and lower level voltages for the custom thresholds.
Returned Format [:MEASure:THResholds:ABSolute] <upper_volts>,<middle_volts>,<lower_volts
><NL>
Example This example returns the upper level, middle level, and lower level voltages used to
calculate the measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:ABSolute? CHANnel1"
strThresholds = myScope.ReadString
Debug.Print strThresholds
History Legacy command (existed before version 3.10).
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 931
:MEASure:THResholds:DISPlay
Command :MEASure:THResholds:DISPlay <source>,{{0 | OFF} | {1 | ON}}
When the source is a PAM-4 signal type (see :ANALyze:SIGNal:TYPE), the
:MEASure:THResholds:DISPlay command turns on or off the display of the PAM
measurement thresholds. This is the remote command equivalent of the graphical
user interface's Display Thresholds check box in the Signal Type Setup dialog box.
<source> ::= {CHANnel<N> | FUNCtion<F> | WMEMory<N> | EQUalized}
Query :MEASure:THResholds:DISPlay? <source>
The :MEASure:THResholds:DISPlay? query returns thresholds display setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
History New in version 6.10.
932 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:GENauto
Command :MEASure:THResholds:GENauto <source>
The :MEASure:THResholds:GENauto command automatically sets the general
"Custom: thresholds +/- hysteresis" when thresholds apply to individual
waveforms. This command is the same as pressing the Auto set thresholds button in
the graphical user interface.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum |
EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
See Also •":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:HYSTeresis" on page 935
History New in version 6.00.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 933
:MEASure:THResholds:GENeral:ABSolute
Command :MEASure:THResholds:GENeral:ABSolute <source>,
<upper_volts>,<middle_volts>,<lower_volts>
The :MEASure:THResholds:GENeral:ABSolute command sets the upper level,
middle level, and lower level voltages that are used to calculate the measurements
that use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | WMEMory<R> | DIGital<M> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<upper_volts>
<middle_volts>
<lower_volts>
A real number specifying voltage thresholds.
Example This example sets the custom voltage thresholds to 0.9 volts for the upper level,
0.5 volts for the middle level and 0.1 volts for the lower level on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:ABSolute CHANnel2,0.9,0
.5,0.1"
Query :MEASure:THResholds:GENeral:ABSolute? <source>
The :MEASure:THResholds:GENeral:ABSolute? query returns the current settings
for upper level, middle level, and lower level voltages for the custom thresholds.
Returned Format [:MEASure:THResholds:GENeral:ABSolute] <upper_volts>,<middle_volts>,<low
er_volts><NL>
Example This example returns the upper level, middle level, and lower level voltages used to
calculate the measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:ABSolute? CHANnel1"
strThresholds = myScope.ReadString
Debug.Print strThresholds
NOTE
These general-purpose threshold settings are used for everything except rise/fall
measurements and protocol decode.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 935
:MEASure:THResholds:GENeral:HYSTeresis
Command :MEASure:THResholds:GENeral:HYSTeresis <source>,<range>,<level>
The :MEASure:THResholds:GENeral:HYSTeresis command sets the range and level
voltages that are used to calculate the measurements that use them. The range is
added to the level to determine the upper level voltage for measurements that use
it. The range is subtracted from the level to determine the lower level voltage. The
level is the middle level voltage.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<range> A real number specifying voltage range for the hysteresis around the level value.
<level> A real number specifying voltage level.
Example This example sets the hysteresis range to 0.9 volts and 0.1 volts for the level on
channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:HYSTeresis CHANnel2,0.9
,0.1"
Query :MEASure:THResholds:GENeral:HYSTeresis? <source>
The :MEASure:THResholds:GENeral:HYSTeresis? query returns the current
settings for upper level, middle level, and lower level voltages for the custom
thresholds.
Returned Format [:MEASure:THResholds:GENeral:HYSTeresis]<range>,<level><NL>
Example This example returns the range and level voltages used to calculate the
measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:HYSTeresis? CHANnel1"
strRangeLevel = myScope.ReadString
Debug.Print strRangeLevel
NOTE
These general-purpose threshold settings are used for everything except rise/fall
measurements and protocol decode.
936 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
See Also •":MEASure:THResholds:GENauto" on page 932
•":MEASure:THResholds:HYSTeresis" on page 948
•":MEASure:THResholds:SERial:HYSTeresis" on page 965
History New in version 3.10.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 937
:MEASure:THResholds:GENeral:METHod
Command :MEASure:THResholds:GENeral:METHod <source>,{ABSolute | PERCent
| HYSTeresis | PAMCustom | PAMAutomatic}
The :MEASure:THResholds:GENeral:METHod command determines the way that
the top and base of a waveform are calculated for all of the measurements that
use them.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), you can choose
between these methods for setting the general measurement thresholds:
• PAMCustom — Then, use the :MEASure:THResholds:GENeral:PAMCustom
command to set the PAM threshold levels for general measurements to the
values you specify.
• PAMAutomatic — Then, use the :MEASure:THResholds:GENeral:PAMAutomatic
command to specify whether the PAM threshold levels for general
measurements are determined automatically or using the PAM-4 levels you
specify.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the method used to calculate the top and base of a waveform to
hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:METHod CHANnel1,HYSTere
sis"
Query :MEASure:THResholds:GENeral:METHod? <source>
The :MEASure:THResholds:GENeral:METHod? query returns the current method
being used to calculate the top and base of a waveform.
Returned Format [:MEASure:THResholds:GENeral:METHod <source>,] {ABS | PERC | HYST
| PAMC | PAMA}
Example This example returns the method used to calculate the top and base of a waveform
to hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:METHod?"
NOTE
These general-purpose threshold settings are used for everything except rise/fall
measurements and protocol decode.
938 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
See Also •":MEASure:THResholds:METHod" on page 950
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:SERial:METHod" on page 967
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
History New in version 3.10.
Version 5.50: When the signal type is PAM-4, you can choose between
PAMCustom and PAMautomatic methods for setting the general measurement
thresholds.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 939
:MEASure:THResholds:GENeral:PAMCustom
Command :MEASure:THResholds:GENeral:PAMCustom
<source>,<01_threshold>,<12_threshold>,<23_threshold>[,<hysteresis>]
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE) and
:MEASure:THResholds:GENeral:METHod is set to PAMCustom, the
:MEASure:THResholds:GENeral:PAMCustom command sets the PAM threshold
levels for general measurements to the values you specify.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<01_threshold>,
<12_threshold>,
<23_threshold>
Values for the PAM-4 01, 12, and 23 thresholds in NR3 format.
<hysteresis> Threshold hysteresis value in NR3 format.
Query :MEASure:THResholds:GENeral:PAMCustom? <source>
The :MEASure:THResholds:GENeral:PAMCustom? query returns the currently set
PAM custom threshold levels for general measurements.
Returned Format [:MEASure:THResholds:GENeral:PAMCustom]
<source>,<01_threshold>,<12_threshold>,<23_threshold>,<hysteresis><NL>
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 941
:MEASure:THResholds:GENeral:PAMAutomatic
Command :MEASure:THResholds:GENeral:PAMAutomatic
<source>,{AUTomatic | <0_level>,<1_level>,<2_level>,<3_level>}
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE) and
:MEASure:THResholds:GENeral:METHod is set to PAMAutomatic, the
:MEASure:THResholds:GENeral:PAMAutomatic command specifies whether the
PAM threshold levels for general measurements are determined automatically or
using the PAM-4 levels you specify.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<0_level>,
<1_level>,
<2_level>,
<3_level>
Voltage values for the PAM-4 0, 1, 2, and 3 levels in NR3 format.
Query :MEASure:THResholds:GENeral:PAMAutomatic? <source>
The :MEASure:THResholds:GENeral:PAMAutomatic? query returns the values used
for automatically setting the PAM general threshold levels.
Returned Format [:MEASure:THResholds:GENeral:PAMAutomatic]
<source>,{AUTomatic | <0_level>,<1_level>,<2_level>,<3_level>}<NL>
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 943
:MEASure:THResholds:GENeral:PERCent
Command :MEASure:THResholds:GENeral:PERCent <source>,<upper_pct>,<middle_pct>,<l
ower_pct>
The :MEASure:THResholds:GENeral:PERCent command sets the upper level,
middle level, and lower level voltages as a percentage of the top and base
voltages which are used to calculate the measurements that use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<upper_pct>
<middle_pct>
<lower_pct>
A real number specifying upper percentage from -24.8 to 125.0 A real number
specifying the middle percentage from -24.9 to 124.9. A real number specifying
the lower percentage from -25.0 to 125.8
Example This example sets the percentage to 100% for the upper level, 50% for the middle
level and 0% for the lower level on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:PERCent CHANnel2,100,50
,0"
Query :MEASure:THResholds:GENeral:PERCent? <source>
The :MEASure:THResholds:GENeral:PERCent? query returns the current settings
for upper level, middle level, and lower level percentages.
Returned Format [:MEASure:THResholds:GENeral:PERCent] <upper_pct>,<middle_pcts>,<lower_p
ct><NL>
Example This example returns the upper level, middle level, and lower level percentages
used to calculate the measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:PERCent? CHANnel1"
strThresholdsPct = myScope.ReadString
Debug.Print strThresholdsPct
NOTE
These general-purpose threshold settings are used for everything except rise/fall
measurements and protocol decode.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 945
:MEASure:THResholds:GENeral:TOPBase:ABSolute
Command :MEASure:TOPBase:THResholds:GENeral:ABSolute <source>,<top_volts>,<base_
volts>
The :MEASure:TOPBase:THResholds:GENeral:ABSolute command sets the top
level and base level voltages that are used to calculate the measurements that use
them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<top_volts>
<base_volts>
A real number specifying voltage levels. The top voltage level must be greater than
the base voltage level.
Example This example sets the voltage level for the top to 0.9 volts and the voltage level for
the base to 0.1 volts on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:TOPBase:ABSolute CHANne
l2,0.9,0.1"
Query :MEASure:THResholds:GENeral:TOPBase:ABSolute? <source>
The :MEASure:THResholds:GENeral:TOPBase:ABSolute? query returns the current
settings for top level and base level voltages.
Returned Format [:MEASure:THResholds:GENeral:TOPBase:ABSolute] <top_volts>,<base_volts><
NL>
Example This example returns the top level and base level voltages used to calculate the
measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:TOPBase:ABSolute? CHANn
el1"
strTopBase = myScope.ReadString
Debug.Print strTopBase
NOTE
These general-purpose threshold settings are used for everything except rise/fall
measurements and protocol decode.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 947
:MEASure:THResholds:GENeral:TOPBase:METHod
Command :MEASure:THResholds:GENeral:TOPBase:METHod <source>,{ABSolute | HISTONLY
| MINmax | STANdard}
The :MEASure:THResholds:GENeral:TOPBase:METHod command determines the
way that the top and base of a waveform are derived for all of the measurements
that use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the method used to derive the top and base of a waveform to
the histogram method.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:TOPBase:METHod CHANnel1
,HISTONLY"
Query :MEASure:THResholds:GENeral:TOPBase:METHod? <source>
The :MEASure:THResholds:GENeral:TOPBase:METHod? query returns the current
method being used to calculate the top and base of a waveform.
Returned Format [:MEASure:THResholds:GENeral:TOPBase:METHod] {ABSolute | HISTONLY | MINm
ax | STANdard}
Example This example returns the method used to derive the top and base of a waveform
for channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:GENeral:TOPBase:METHod CHANnel1
"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
See Also •":MEASure:THResholds:TOPBase:METHod" on page 974
•":MEASure:THResholds:RFALl:TOPBase:METHod" on page 962
•":MEASure:THResholds:SERial:TOPBase:METHod" on page 972
History New in version 3.10.
NOTE
These general-purpose threshold settings are used for everything except rise/fall
measurements and protocol decode.
948 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:HYSTeresis
Command :MEASure:THResholds:HYSTeresis <source>,<range>,<level>
The :MEASure:THResholds:HYSTeresis command sets the range and level voltages
that are used to calculate the measurements that use them. The range is added to
the level to determine the upper level voltage for measurements that use it. The
range is subtracted from the level to determine the lower level voltage. The level is
the middle level voltage.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<range> A real number specifying voltage range for the hysteresis around the level value.
<level> A real number specifying voltage level.
Example This example sets the hysteresis range to 0.9 volts and 0.1 volts for the level on
channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:HYSTeresis CHANnel2,0.9,0.1"
Query :MEASure:THResholds:HYSTeresis? <source>
The :MEASure:THResholds:HYSTeresis? query returns the current settings for
upper level, middle level, and lower level voltages for the custom thresholds.
Returned Format [:MEASure:THResholds:HYSTeresis]<range>,<level><NL>
Example This example returns the range and level voltages used to calculate the
measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:HYSTeresis? CHANnel1"
strRangeLevel = myScope.ReadString
Debug.Print strRangeLevel
NOTE
This command does not affect Rise/Fall measurement thresholds.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 949
History Legacy command (existed before version 3.10).
950 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:METHod
Command :MEASure:THResholds:METHod <source>,{ABSolute | PERCent | HYSTeresis}
The :MEASure:THResholds:METHod command determines the way that the top
and base of a waveform are calculated for all of the measurements that use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the method used to calculate the top and base of a waveform to
hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:METHod CHANnel1,HYSTeresis"
Query :MEASure:THResholds:METHod? <source>
The :MEASure:THResholds:METHod? query returns the current method being used
to calculate the top and base of a waveform.
Returned Format [:MEASure:THResholds:METHod <source>,] {ABSolute | PERCent | HYSTeresis}
Example This example returns the method used to calculate the top and base of a waveform
to hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:METHod?"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
History Legacy command (existed before version 3.10).
NOTE
This command changes the threshold settings used for rise/fall time measurements, protocol
decode, and all other general-purpose measurements that use thresholds. To change the
settings used for these types of measurements individually, see:
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:SERial:METHod" on page 967
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 951
:MEASure:THResholds:PERCent
Command :MEASure:THResholds:PERCent <source>,<upper_pct>,<middle_pct>,<lower_pct
>
The :MEASure:THResholds:PERCent command sets the upper level, middle level,
and lower level voltages as a percentage of the top and base voltages which are
used to calculate the measurements that use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<upper_pct>
<middle_pct>
<lower_pct>
A real number specifying upper percentage from -24.8 to 125.0 A real number
specifying the middle percentage from -24.9 to 124.9. A real number specifying
the lower percentage from -25.0 to 125.8
Example This example sets the percentage to 100% for the upper level, 50% for the middle
level and 0% for the lower level on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:PERCent CHANnel2,100,50,0"
Query :MEASure:THResholds:PERCent? <source>
The :MEASure:THResholds:PERCent? query returns the current settings for upper
level, middle level, and lower level percentages.
Returned Format [:MEASure:THResholds:PERCent] <upper_pct>,<middle_pcts>,<lower_pct><NL>
Example This example returns the upper level, middle level, and lower level percentages
used to calculate the measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:PERCent? CHANnel1"
strThresholdsPct = myScope.ReadString
Debug.Print strThresholdsPct
History Legacy command (existed before version 3.10).
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
952 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:RFALl:ABSolute
Command :MEASure:THResholds:RFALl:ABSolute <source>,
<upper_volts>,<middle_volts>,<lower_volts>
The :MEASure:THResholds:RFALl:ABSolute command sets the upper level, middle
level, and lower level voltages that are used to calculate the measurements that
use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | WMEMory<R> | DIGital<M> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<upper_volts>
<middle_volts>
<lower_volts>
A real number specifying voltage thresholds.
Example This example sets the custom voltage thresholds to 0.9 volts for the upper level,
0.5 volts for the middle level and 0.1 volts for the lower level on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:ABSolute CHANnel2,0.9,0.5
,0.1"
Query :MEASure:THResholds:RFALl:ABSolute? <source>
The :MEASure:THResholds:RFALl:ABSolute? query returns the current settings for
upper level, middle level, and lower level voltages for the custom thresholds.
Returned Format [:MEASure:THResholds:RFALl:ABSolute] <upper_volts>,<middle_volts>,<lower
_volts><NL>
Example This example returns the upper level, middle level, and lower level voltages used to
calculate the rise/fall measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:ABSolute? CHANnel1"
strThresholds = myScope.ReadString
Debug.Print strThresholds
NOTE
These threshold settings are used for rise/fall measurements.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
954 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:RFALl:METHod
Command :MEASure:THResholds:RFALl:METHod <source>,{ABSolute | PERCent
| HYSTeresis | T1090 | T2080}
The :MEASure:THResholds:RFALl:METHod command determines the way that the
top and base of a waveform are calculated for all of the measurements that use
them.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), you can choose
between T1090 (10% and 90% of levels) and T2080 (20% and 80% of levels) when
setting the rise/fall measurement thresholds. Then, use the
:MEASure:THResholds:RFALl:PAMAutomatic command to specify whether the
PAM threshold levels for rise/fall measurements are determined automatically or
using PAM-4 levels you specify.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the method used to calculate the top and base of a waveform to
hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:METHod CHANnel1,HYSTeresi
s"
Query :MEASure:THResholds:RFALl:METHod? <source>
The :MEASure:THResholds:RFALl:METHod? query returns the current method
being used to calculate the top and base of a waveform.
Returned Format [:MEASure:THResholds:RFALl:METHod <source>,] {ABS | PERC | HYST
| T1090 | T2080}
Example This example returns the method used to calculate the top and base of a waveform
to hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:METHod?"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
See Also •":MEASure:THResholds:METHod" on page 950
NOTE
These threshold settings are used for rise/fall measurements.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 955
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:SERial:METHod" on page 967
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
History New in version 3.10.
Version 5.50: When the signal type is PAM-4, you can choose between T1090
(10% and 90% of levels) and T2080 (20% and 80% of levels) when setting the
rise/fall measurement thresholds.
956 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:RFALl:PAMAutomatic
Command :MEASure:THResholds:RFALl:PAMAutomatic
<source>,{AUTomatic | <0_level>,<1_level>,<2_level>,<3_level>}
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:MEASure:THResholds:RFALl:PAMAutomatic command specifies whether the PAM
threshold levels for rise/fall measurements are determined automatically or using
the PAM-4 levels you specify.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<0_level>,
<1_level>,
<2_level>,
<3_level>
Voltage values for the PAM-4 0, 1, 2, and 3 levels in NR3 format.
Query :MEASure:THResholds:RFALl:PAMAutomatic? <source>
The :MEASure:THResholds:RFALl:PAMAutomatic? query returns the values used
for automatically setting the PAM rise/fall threshold levels.
Returned Format [:MEASure:THResholds:RFALl:PAMAutomatic]
<source>,{AUTomatic | <0_level>,<1_level>,<2_level>,<3_level>}<NL>
See Also •":ANALyze:CLOCk:METHod:SKEW" on page 263
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:DISPlay" on page 931
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
958 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:RFALl:PERCent
Command :MEASure:THResholds:RFALl:PERCent <source>,<upper_pct>,<middle_pct>,<low
er_pct>
The :MEASure:THResholds:RFALl:PERCent command sets the upper level, middle
level, and lower level voltages as a percentage of the top and base voltages which
are used to calculate the measurements that use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<upper_pct>
<middle_pct>
<lower_pct>
A real number specifying upper percentage from -24.8 to 125.0 A real number
specifying the middle percentage from -24.9 to 124.9. A real number specifying
the lower percentage from -25.0 to 125.8
Example This example sets the percentage to 100% for the upper level, 50% for the middle
level and 0% for the lower level on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:PERCent CHANnel2,100,50,0
"
Query :MEASure:THResholds:RFALl:PERCent? <source>
The :MEASure:THResholds:RFALl:PERCent? query returns the current settings for
upper level, middle level, and lower level percentages.
Returned Format [:MEASure:THResholds:RFALl:PERCent] <upper_pct>,<middle_pcts>,<lower_pct
><NL>
Example This example returns the upper level, middle level, and lower level percentages
used to calculate the rise/fall measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:PERCent? CHANnel1"
strThresholdsPct = myScope.ReadString
Debug.Print strThresholdsPct
NOTE
These threshold settings are used for rise/fall measurements.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
960 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:RFALl:TOPBase:ABSolute
Command :MEASure:TOPBase:THResholds:RFALl:ABSolute <source>,<top_volts>,<base_vo
lts>
The :MEASure:TOPBase:THResholds:RFALl:ABSolute command sets the top level
and base level voltages that are used to calculate the measurements that use
them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<top_volts>
<base_volts>
A real number specifying voltage levels. The top voltage level must be greater than
the base voltage level.
Example This example sets the voltage level for the top to 0.9 volts and the voltage level for
the base to 0.1 volts on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:TOPBase:ABSolute CHANnel2
,0.9,0.1"
Query :MEASure:THResholds:RFALl:TOPBase:ABSolute? <source>
The :MEASure:THResholds:RFALl:TOPBase:ABSolute? query returns the current
settings for top level and base level voltages.
Returned Format [:MEASure:THResholds:RFALl:TOPBase:ABSolute] <top_volts>,<base_volts><NL
>
Example This example returns the top level and base level voltages used to calculate the
rise/fall measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:TOPBase:ABSolute? CHANnel
1"
strTopBase = myScope.ReadString
Debug.Print strTopBase
NOTE
These threshold settings are used for rise/fall measurements.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
962 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:RFALl:TOPBase:METHod
Command :MEASure:THResholds:RFALl:TOPBase:METHod <source>,{ABSolute | HISTONLY
| MINmax | STANdard}
The :MEASure:THResholds:RFALl:TOPBase:METHod command determines the
way that the top and base of a waveform are derived for all of the measurements
that use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the method used to derive the top and base of a waveform to
the histogram method.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:TOPBase:METHod CHANnel1,H
ISTONLY"
Query :MEASure:THResholds:RFALl:TOPBase:METHod? <source>
The :MEASure:THResholds:RFALl:TOPBase:METHod? query returns the current
method being used to calculate the top and base of a waveform.
Returned Format [:MEASure:THResholds:RFALl:TOPBase:METHod] {ABSolute | HISTONLY | MINmax
| STANdard}
Example This example returns the method used to derive the top and base of a waveform
for channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:RFALl:TOPBase:METHod CHANnel1"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
See Also •":MEASure:THResholds:TOPBase:METHod" on page 974
•":MEASure:THResholds:GENeral:TOPBase:METHod" on page 947
•":MEASure:THResholds:SERial:TOPBase:METHod" on page 972
History New in version 3.10.
NOTE
These threshold settings are used for rise/fall measurements.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 963
:MEASure:THResholds:SERial:ABSolute
Command :MEASure:THResholds:SERial:ABSolute <source>,
<upper_volts>,<middle_volts>,<lower_volts>
The :MEASure:THResholds:SERial:ABSolute command sets the upper level, middle
level, and lower level voltages that are used for protocol decode.
<source> {ALL | CHANnel<N> | FUNCtion<F> | WMEMory<R> | DIGital<M> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<upper_volts>
<middle_volts>
<lower_volts>
A real number specifying voltage thresholds.
Example This example sets the custom voltage thresholds to 0.9 volts for the upper level,
0.5 volts for the middle level and 0.1 volts for the lower level on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:ABSolute CHANnel2,0.9,0.
5,0.1"
Query :MEASure:THResholds:SERial:ABSolute? <source>
The :MEASure:THResholds:SERial:ABSolute? query returns the current settings for
upper level, middle level, and lower level voltages for the custom thresholds.
Returned Format [:MEASure:THResholds:SERial:ABSolute] <upper_volts>,<middle_volts>,<lowe
r_volts><NL>
Example This example returns the upper level, middle level, and lower level voltages used
for protocol decode on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:ABSolute? CHANnel1"
strThresholds = myScope.ReadString
Debug.Print strThresholds
NOTE
These serial threshold settings are used for protocol decode.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 965
:MEASure:THResholds:SERial:HYSTeresis
Command :MEASure:THResholds:SERial:HYSTeresis <source>,<range>,<level>
The :MEASure:THResholds:SERial:HYSTeresis command sets the range and level
voltages that are used for protocol decode. The range is added to the level to
determine the upper level voltage. The range is subtracted from the level to
determine the lower level voltage. The level is the middle level voltage.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<range> A real number specifying voltage range for the hysteresis around the level value.
<level> A real number specifying voltage level.
Example This example sets the hysteresis range to 0.9 volts and 0.1 volts for the level on
channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:HYSTeresis CHANnel2,0.9,
0.1"
Query :MEASure:THResholds:SERial:HYSTeresis? <source>
The :MEASure:THResholds:SERial:HYSTeresis? query returns the current settings
for upper level, middle level, and lower level voltages for the custom thresholds.
Returned Format [:MEASure:THResholds:SERial:HYSTeresis]<range>,<level><NL>
Example This example returns the range and level voltages used for protocol decode on
channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:HYSTeresis? CHANnel1"
strRangeLevel = myScope.ReadString
Debug.Print strRangeLevel
NOTE
These serial threshold settings are used for protocol decode.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 967
:MEASure:THResholds:SERial:METHod
Command :MEASure:THResholds:SERial:METHod <source>,{ABSolute | PERCent | HYSTere
sis}
The :MEASure:THResholds:SERial:METHod command determines the way that the
top and base of a waveform are calculated for protocol decode.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the method used to calculate the top and base of a waveform to
hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:METHod CHANnel1,HYSTeres
is"
Query :MEASure:THResholds:SERial:METHod? <source>
The :MEASure:THResholds:SERial:METHod? query returns the current method
being used to calculate the top and base of a waveform.
Returned Format [:MEASure:THResholds:SERial:METHod <source>,] {ABSolute | PERCent | HYST
eresis}
Example This example returns the method used to calculate the top and base of a waveform
to hysteresis.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:METHod?"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
See Also •":MEASure:THResholds:METHod" on page 950
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:RFALl:METHod" on page 954
History New in version 3.10.
NOTE
These serial threshold settings are used for protocol decode.
968 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:SERial:PERCent
Command :MEASure:THResholds:SERial:PERCent <source>,<upper_pct>,<middle_pct>,<lo
wer_pct>
The :MEASure:THResholds:SERial:PERCent command sets the upper level, middle
level, and lower level voltages as a percentage of the top and base voltages which
are used for protocol decode.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<upper_pct>
<middle_pct>
<lower_pct>
A real number specifying upper percentage from -24.8 to 125.0 A real number
specifying the middle percentage from -24.9 to 124.9. A real number specifying
the lower percentage from -25.0 to 125.8
Example This example sets the percentage to 100% for the upper level, 50% for the middle
level and 0% for the lower level on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:PERCent CHANnel2,100,50,
0"
Query :MEASure:THResholds:SERial:PERCent? <source>
The :MEASure:THResholds:SERial:PERCent? query returns the current settings for
upper level, middle level, and lower level percentages.
Returned Format [:MEASure:THResholds:SERial:PERCent] <upper_pct>,<middle_pcts>,<lower_pc
t><NL>
Example This example returns the upper level, middle level, and lower level percentages
used for protocol decode on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:PERCent? CHANnel1"
strThresholdsPct = myScope.ReadString
Debug.Print strThresholdsPct
NOTE
These serial threshold settings are used for protocol decode.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
970 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:SERial:TOPBase:ABSolute
Command :MEASure:TOPBase:THResholds:SERial:ABSolute <source>,<top_volts>,<base_v
olts>
The :MEASure:TOPBase:THResholds:SERial:ABSolute command sets the top level
and base level voltages that are used for protocol decode.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<top_volts>
<base_volts>
A real number specifying voltage levels. The top voltage level must be greater than
the base voltage level.
Example This example sets the voltage level for the top to 0.9 volts and the voltage level for
the base to 0.1 volts on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:TOPBase:ABSolute CHANnel
2,0.9,0.1"
Query :MEASure:THResholds:SERial:TOPBase:ABSolute? <source>
The :MEASure:THResholds:SERial:TOPBase:ABSolute? query returns the current
settings for top level and base level voltages.
Returned Format [:MEASure:THResholds:SERial:TOPBase:ABSolute] <top_volts>,<base_volts><N
L>
Example This example returns the top level and base level voltages used for protocol
decode on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:TOPBase:ABSolute? CHANne
l1"
strTopBase = myScope.ReadString
Debug.Print strTopBase
NOTE
These serial threshold settings are used for protocol decode.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
972 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:SERial:TOPBase:METHod
Command :MEASure:THResholds:SERial:TOPBase:METHod <source>,{ABSolute | HISTONLY
| MINmax | STANdard}
The :MEASure:THResholds:SERial:TOPBase:METHod command determines the
way that the top and base of a waveform are derived for protocol decode.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the method used to derive the top and base of a waveform to
the histogram method.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:TOPBase:METHod CHANnel1,
HISTONLY"
Query :MEASure:THResholds:SERial:TOPBase:METHod? <source>
The :MEASure:THResholds:SERial:TOPBase:METHod? query returns the current
method being used to calculate the top and base of a waveform.
Returned Format [:MEASure:THResholds:SERial:TOPBase:METHod] {ABSolute | HISTONLY | MINma
x | STANdard}
Example This example returns the method used to derive the top and base of a waveform
for channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:SERial:TOPBase:METHod CHANnel1"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
See Also •":MEASure:THResholds:TOPBase:METHod" on page 974
•":MEASure:THResholds:GENeral:TOPBase:METHod" on page 947
•":MEASure:THResholds:RFALl:TOPBase:METHod" on page 962
History New in version 3.10.
NOTE
These serial threshold settings are used for protocol decode.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 973
:MEASure:THResholds:TOPBase:ABSolute
Command :MEASure:TOPBase:THResholds:ABSolute <source>,<top_volts>,<base_volts>
The :MEASure:TOPBase:THResholds:ABSolute command sets the top level and
base level voltages that are used to calculate the measurements that use them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<top_volts>
<base_volts>
A real number specifying voltage levels. The top voltage level must be greater than
the base voltage level.
Example This example sets the voltage level for the top to 0.9 volts and the voltage level for
the base to 0.1 volts on channel 2.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:TOPBase:ABSolute CHANnel2,0.9,0
.1"
Query :MEASure:THResholds:TOPBase:ABSolute? <source>
The :MEASure:THResholds:TOPBase:ABSolute? query returns the current settings
for top level and base level voltages.
Returned Format [:MEASure:THResholds:TOPBase:ABSolute] <top_volts>,<base_volts><NL>
Example This example returns the top level and base level voltages used to calculate the
measurements on channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:TOPBase:ABSolute? CHANnel1"
strTopBase = myScope.ReadString
Debug.Print strTopBase
History Legacy command (existed before version 3.10).
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
974 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:THResholds:TOPBase:METHod
Command :MEASure:THResholds:TOPBase:METHod <source>,{ABSolute | HISTONLY
| MINmax | STANdard}
The :MEASure:THResholds:TOPBase:METHod command determines the way that
the top and base of a waveform are derived for all of the measurements that use
them.
<source> {ALL | CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend
| MSPectrum | EQUalized}
Setting the source to ALL does not affect the individual channel settings which is
the behavior as the user interface.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example sets the method used to derive the top and base of a waveform to
the histogram method.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:TOPBase:METHod CHANnel1,HISTONL
Y"
Query :MEASure:THResholds:TOPBase:METHod? <source>
The :MEASure:THResholds:TOPBase:METHod? query returns the current method
being used to calculate the top and base of a waveform.
Returned Format [:MEASure:THResholds:TOPBase:METHod] {ABSolute | HISTONLY | MINmax | STA
Ndard}
Example This example returns the method used to derive the top and base of a waveform
for channel 1.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:THResholds:TOPBase:METHod CHANnel1"
varMethod = myScope.ReadNumber
Debug.Print FormatNumber(varMethod, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 975
:MEASure:TIEClock2
Command
:MEASure:TIEClock2 <source>,{SECond | UNITinterval},
<direction>,{AUTO | CUSTOM,<frequency>}
| {VARiable,<frequency>,<bandwidth>} | CLOCk}
The :MEASure:TIEClock2 command measures time interval error on a clock. You
can set the units of the measurement by selecting SECond (seconds) or
UNITinterval. If AUTO is selected, the oscilloscope selects the ideal constant clock
frequency. If CUSTOM is selected, you can enter your own ideal clock frequency. If
VARiable is selected, a first order PLL clock recovery is used at the give clock
frequency and loop bandwidth. If CLOCk is given, clock recovery is specified with
the :MEASure:CLOCk:METHod command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing | BOTH}
Specifies direction of clock edge. BOTH selects the first edge from the left-hand
side of the waveform viewing area.
<frequency> A real number for the ideal clock frequency for clock recovery.
<bandwidth> A real number for the loop bandwidth of the PLL clock recovery method.
Example This example measures the clock time interval error on the rising edge of channel
1, ideal clock frequency set to automatic, units set to seconds.
myScope.WriteString ":MEASure:TIEClock2 CHANnel1,SECond,RISing,AUTO"
Query :MEASure:TIEClock2? <source>,{SECond | UNITinterval},
<direction>,{AUTO | CUSTOM,<frequency>
| {VARiable,<frequency>,<bandwidth>} | CLOCk}
The :MEASure:TIEClock2? query returns the current value of the clock time interval
error.
NOTE
Turn Off Headers
When receiving numeric data into numeric variables, turn off the headers. Otherwise, the
headers may cause misinterpretation of returned data.
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/5401A Software is installed.
976 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
Returned Format [:MEASure:TIEClock2] <value>[,<result_state>]<NL>
<value> The clock time interval error value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of the clock time interval error in the
variable strValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:TIEClock2? CHANnel1,SECond,FALLing,CUSTOM,
2.5E9"
strValue = myScope.ReadString
Debug.Print strValue
See Also •":ANALyze:AEDGes" on page 245
•":MEASure:CTCJitter" on page 770
•":MEASure:NCJitter" on page 839
•":MEASure:CTCPwidth" on page 774
•":MEASure:CTCNwidth" on page 772
•":MEASure:CTCDutycycle" on page 768
History Legacy command (existed before version 3.10).
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 977
:MEASure:TIEData2
Command
:MEASure:TIEData2 <source>,{SECond | UNITinterval}[,<threshold>]
The :MEASure:TIEData2 command measures data time interval error. You can set
the units of the measurement by selecting SECond (seconds) or UNITinterval.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<threshold> When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the <threshold>
parameter is an integer that specifies which PAM threshold to measure. For
PAM-4, the <threshold> may be from 0-2.
Example This example measures the data time interval error on channel 1, ideal data rate
set to automatic, units set to seconds.
myScope.WriteString ":MEASure:TIEData2 CHANnel1,SECond"
Query :MEASure:TIEData2? <source>,(SECond | UNITinterval}[,<threshold>]
The :MEASure:TIEData2? query returns the current value of the data time interval
error.
Returned Format [:MEASure:TIEData2] <value>[,<result_state>]<NL>
<value> The data time interval error value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of the data time interval error in the variable
strValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:TIEData2? CHANnel1,SECond"
strValue = myScope.ReadString
Debug.Print strValue
NOTE
This command is only available when the E2681A Jitter Analysis Software, Serial Data
Analysis, or the N5400A/5401A Software is installed.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 979
:MEASure:TIEFilter:SHAPe
Command :MEASure:TIEFilter:SHAPe {RECTangular | DB20 | DB40}
The :MEASure:TIEFilter:SHAPe command specifies the shape of the TIE filter
edge(s):
• RECTangular — The TIE filter is a brickwall filter.
• DB20 — The TIE filter edge(s) roll off at 20 dB per decade.
• DB40 — The TIE filter edge(s) roll off at 40 dB per decade.
Example This example specifies that the TIE filter edge(s) roll off at 40 dB per decade.
myScope.WriteString ":MEASure:TIEFilter:SHAPe DB40"
Query :MEASure:TIEFilter:SHAPe?
The :MEASure:TIEFilter:SHAPe? query returns the specified shape of the TIE filter
edge(s).
Returned Format [:MEASure:TIEFilter:SHAPe] {RECTangular | DB20 | DB40}<NL>
Example This example places the specified shape of the TIE filter edge(s) in the string
variable, strShape, then prints the contents of the variable to the computer's
screen.
Dim strShape As String ' Dimension variable.
myScope.WriteString ":MEASure:TIEFilter:SHAPe?"
strShape = myScope.ReadString
Debug.Print strShape
See Also •":MEASure:TIEFilter:STATe" on page 981
•":MEASure:TIEFilter:TYPE" on page 983
•":MEASure:TIEFilter:STARt" on page 980
•":MEASure:TIEFilter:STOP" on page 982
History New in version 4.10.
980 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:TIEFilter:STARt
Command :MEASure:TIEFilter:STARt <start_frequency>
The :MEASure:TIEFilter:STARt command sets the starting frequency for the TIE
filter.
<start_ frequency> A real number.
Query :MEASure:TIEFilter:STARt?
The :MEASure:TIEFilter:STARt? query returns the current value of the starting
frequency of the TIE filter.
Returned Format [:MEASure:TIEFilter:STARt] <value><NL>
<value> The start frequency for the TIE filter.
Example This example returns the current value of the starting frequency for the TIE filter
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TIEFilter:STARt?"
varStart = myScope.ReadNumber
Debug.Print FormatNumber(varStart, 0)
See Also •":MEASure:TIEFilter:STATe" on page 981
•":MEASure:TIEFilter:TYPE" on page 983
•":MEASure:TIEFilter:SHAPe" on page 979
•":MEASure:TIEFilter:STOP" on page 982
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 981
:MEASure:TIEFilter:STATe
Command :MEASure:TIEFilter:STATe {{ON | 1} | {OFF | 0}}
The :MEASure:TIEFilter:STATe command enables the TIE filter for TIE data
measurements.
Query :MEASure:TIEFilter:STATe?
The :MEASure:TIEFilter:STATe? query returns the current state of the TIE data
filter.
Returned Format [:MEASure:TIEFilter:STATe] {0 | 1}<NL>
Example This example returns the current state of the TIE data filter then prints the contents
of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TIEFilter:STATe?"
varState = myScope.ReadNumber
Debug.Print FormatNumber(varState, 0)
See Also •":MEASure:TIEFilter:TYPE" on page 983
•":MEASure:TIEFilter:SHAPe" on page 979
•":MEASure:TIEFilter:STARt" on page 980
•":MEASure:TIEFilter:STOP" on page 982
History Legacy command (existed before version 3.10).
982 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:TIEFilter:STOP
Command :MEASure:TIEFilter:STOP <stop_frequency>
The :MEASure:TIEFilter:STOP command sets the stopping frequency for the TIE
filter.
<stop_ frequency> A real number.
Query :MEASure:TIEFilter:STOP?
The :MEASure:TIEFilter:STOP? query returns the current value of the stopping
frequency of the TIE filter.
Returned Format [:MEASure:TIEFilter:STOP] <value><NL>
<value> The stop frequency for the TIE filter.
Example This example returns the current value of the stopping frequency for the TIE filter
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TIEFilter:STOP?"
varStop = myScope.ReadNumber
Debug.Print FormatNumber(varStop, 0)
See Also •":MEASure:TIEFilter:STATe" on page 981
•":MEASure:TIEFilter:TYPE" on page 983
•":MEASure:TIEFilter:SHAPe" on page 979
•":MEASure:TIEFilter:STARt" on page 980
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 983
:MEASure:TIEFilter:TYPE
Command :MEASure:TIEFilter:TYPE {BANDpass | LOWPass | HIGHpass}
The :MEASure:TIEFilter:TYPE command sets the type of TIE filter to be used.
Example This example sets the TIE filter to highpass.
myScope.WriteString ":MEASure:TIEFilter:TYPE HIGHpass"
Query :MEASure:TIEFilter:TYPE?
The :MEASure:TIEFilter:TYPE? query returns the current type of TIE filter being
used.
Returned Format [:MEASure:TIEFilter:TYPE] {BANDpass | LOWPass | HIGHpass}<NL>
Example This example places the current mode for TIEFilter:TYPE in the string variable,
strMode, then prints the contents of the variable to the computer's screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":MEASure:TIEFilter:TYPE?"
strMode = myScope.ReadString
Debug.Print strMode
See Also •":MEASure:TIEFilter:STATe" on page 981
•":MEASure:TIEFilter:SHAPe" on page 979
•":MEASure:TIEFilter:STARt" on page 980
•":MEASure:TIEFilter:STOP" on page 982
History Legacy command (existed before version 3.10).
984 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:TMAX
Command :MEASure:TMAX [<source>]
The :MEASure:TMAX command measures the first time at which the maximum
voltage of the source waveform occurred. Sources are specified with the
:MEASure:SOURce command or with the optional parameter following the
:MEASure:TMAX command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:TMAX? [<source>]
The :MEASure:TMAX? query returns the time at which the first maximum voltage
occurred.
Returned Format [:MEASure:TMAX] <time>[,<result_state>]<NL>
<time> Time at which the first maximum voltage occurred or frequency where the
maximum FFT amplitude occurred.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the time at which the first maximum voltage occurred to the
numeric variable, varTime, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TMAX? CHANnel1"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 985
:MEASure:TMIN
Command :MEASure:TMIN [<source>]
The :MEASure:TMIN command measures the time at which the first minimum
voltage occurred. Sources are specified with the :MEASure:SOURce command or
with the optional parameter following the :MEASure:TMIN command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:TMIN? [<source>]
The :MEASure:TMIN? query returns the time at which the first minimum voltage
occurred or the frequency where the minimum FFT amplitude occurred.
Returned Format [:MEASure:TMIN] <time>[,<result_state>]<NL>
<time> Time at which the first minimum voltage occurred.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the time at which the first minimum voltage occurred to the
numeric variable, varTime, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TMIN? CHANnel1"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
History Legacy command (existed before version 3.10).
986 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:TVOLt
Command :MEASure:TVOLt <voltage>,[<slope>]<occurrence> [,<source>]
The :MEASure:TVOLt command measures the time interval between the trigger
event and the defined voltage level and transition. Sources are specified with the
:MEASure:SOURce command or with the optional parameter following the
:MEASure:TVOLt command.
The TEDGe command can be used to get the time of edges.
When the "Measure All Edges" mode is on (see ":ANALyze:AEDGes" on page 245),
the first edge from the beginning of the acquisition is used.
When the "Measure All Edges" mode is off, the first edge from the left side of the
display grid is used.
<voltage> Voltage level at which time will be measured.
<slope> The direction of the waveform change when the specified voltage is crossed -
rising (+) or falling (-). If no +/- sign is present, + is assumed.
<occurrence> The number of the crossing to be reported (if one, the first crossing is reported; if
two, the second crossing is reported, etc.). The desired crossing must be present
on the display. Occurrences are counted with 1 being the first occurrence from the
left of the display, and a maximum value of 65534.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:TVOLt? <voltage>,<slope><occurrence> [,<source>]
The :MEASure:TVOLt? query returns the time interval between the trigger event
and the specified voltage level and transition.
Returned Format [:MEASure:TVOLt] <time>[,<result_state>]<NL>
<time> The time interval between the trigger event and the specified voltage level and
transition.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the time interval between the trigger event and the transition
through -0.250 Volts on the third rising occurrence of the source waveform to the
numeric variable, varTime. The contents of the variable are then printed to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:TVOLt? -0.250,+3,CHANnel1"
varTime = myScope.ReadNumber
Debug.Print FormatNumber(varTime, 0)
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 987
History Legacy command (existed before version 3.10).
988 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:UITouijitter
Command :MEASure:UITouijitter <source>, <N>
The :MEASure:UITouijitter command measures the difference between two
consecutive N-UI measurements. The measurement then moves over one unit
interval and makes another measurement. When N=1, this is analogous to
cycle-cycle jitter, but measures unit intervals instead of periods. When N>1, this is
analogous to N-Cycle jitter but measures unit intervals instead of periods.
<source> The source on which the measurement is made.
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<N> An integer greater than or equal to 1.
Example This example measures the UI-UI jitter for 3 consecutive unit intervals on channel
1.
myScope.WriteString ":MEASure:UITouijitter CHAN1, 3"
Query :MEASure:UITouijitter?
The :MEASure:UITouijitter? query returns the measured UI-UI jitter.
See Also •":ANALyze:AEDGes" on page 245
History Legacy command (existed before version 3.10).
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 989
:MEASure:UNITinterval
Command
:MEASure:UNITinterval <source>[,{AUTO | (SEMI,<data_rate>)}]
The :MEASure:UNITinterval command measures the unit interval value of the
selected source. Use the :MEASure:DATarate command/query to measure the data
rate of the source
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<data_rate> A real number representing the data rate.
Example This example measures the unit interval of channel 1.
myScope.WriteString ":MEASure:UNITinterval CHANnel1"
Query :MEASure:UNITinterval? <source>[,{AUTO | (SEMI,<data_rate>)}]
The :MEASure:UNITinterval? query returns the measured unit interval.
Returned Format [:MEASure:UNITinterval] <value>[,<result_state>]<NL>
<value> Unit interval of the source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current unit interval of the channel 1 waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:UNITinterval? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also •":ANALyze:AEDGes" on page 245
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/5401A Software is installed.
NOTE
This measurement requires the Measure All Edges setting to be enabled. You can do this by:
•Installing the measurement on the display (using the command syntax), which automatically enables
the Measure All Edges setting
•Sending the ":ANALyze:AEDGes ON" command.
990 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 991
:MEASure:VAMPlitude
Command :MEASure:VAMPlitude [<source>]
The :MEASure:VAMPlitude command calculates the difference between the top
and base voltage of the specified source. Sources are specified with the
:MEASure:SOURce command or with the optional parameter following the
:MEASure:VAMPlitude command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example calculates the difference between the top and base voltage of the
specified source.
myScope.WriteString ":MEASure:VAMPlitude CHANnel1"
Query :MEASure:VAMPlitude? [<source>]
The :MEASure:VAMPlitude? query returns the calculated difference between the
top and base voltage of the specified source.
Returned Format [:MEASure:VAMPlitude] <value>[,<result_state>]<NL>
<value> Calculated difference between the top and base voltage.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current Vamplitude value in the numeric variable,
varValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VAMPlitude? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
992 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:VAVerage
Command :MEASure:VAVerage {CYCLe | DISPlay}[,<source>]
The :MEASure:VAVerage command calculates the average voltage over the
displayed waveform. Sources are specified with the :MEASure:SOURce command
or with the optional parameter following the :MEASure:VAVerage command.
CYCLe The CYCLe parameter instructs the average measurement to measure the average
voltage across the first period on the display.
DISPlay The DISPlay parameter instructs the average measurement to measure all the data
on the display.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example calculates the average voltage over the displayed waveform.
myScope.WriteString ":MEASure:VAVerage DISPlay,CHANnel1"
Query :MEASure:VAVerage? {CYCLe | DISPlay}[,<source>]
The :MEASure:VAVerage? query returns the calculated average voltage of the
specified source. Sources are specified with the :MEASure:SOURce command or
with the optional parameter following the :MEASure:VAVerage command.
Returned Format [:MEASure:VAVerage] <value>[,<result_state>]<NL>
<value> The calculated average voltage.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current average voltage in the numeric variable,
varAverage, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VAVerage? DISPlay,CHANnel1 CHANnel1"
varAverage = myScope.ReadNumber
Debug.Print FormatNumber(varAverage, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 993
:MEASure:VBASe
Command :MEASure:VBASe [<source>]
The :MEASure:VBASe command measures the statistical base of the waveform.
Sources are specified with the :MEASure:SOURce command or with the optional
parameter following the :MEASure:VBASe command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the voltage at the base of the waveform.
myScope.WriteString ":MEASure:VBASe CHANnel1"
Query :MEASure:VBASe? [<source>]
The :MEASure:VBASe? query returns the measured voltage value at the base of
the specified source.
Returned Format [:MEASure:VBASe] <value>[,<result_state>]<NL>
<value> Voltage at the base of the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the current voltage at the base of the waveform to the
numeric variable, varVoltage, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VBASe? CHANnel1"
varVoltage = myScope.ReadNumber
Debug.Print FormatNumber(varVoltage, 0)
History Legacy command (existed before version 3.10).
994 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:VLOWer
Command :MEASure:VLOWer [<source>]
The :MEASure:VLOWer command measures the voltage value at the lower
threshold of the waveform. Sources are specified with the :MEASure:SOURce
command or with the optional parameter following the :MEASure:VLOWer
command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:VLOWer?
The :MEASure:VLOWer? query returns the measured lower threshold of the
selected source.
Returned Format [:MEASure:VLOWer] <value>[,<result_state>]<NL>
<value> Voltage value at the lower threshold.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the measured voltage at the lower threshold of the waveform
to the numeric variable, varVlower, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VLOWer? CHANnel1"
varVlower = myScope.ReadNumber
Debug.Print FormatNumber(varVlower, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 995
:MEASure:VMAX
Command :MEASure:VMAX [<source>]
The :MEASure:VMAX command measures the absolute maximum voltage present
on the selected source waveform. Sources are specified with the
:MEASure:SOURce command or with the optional parameter following the
:MEASure:VMAX command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the absolute maximum voltage on the waveform.
myScope.WriteString ":MEASure:VMAX CHANnel1"
Query :MEASure:VMAX? [<source>]
The :MEASure:VMAX? query returns the measured absolute maximum voltage or
maximum FFT amplitude present on the selected source waveform.
Returned Format [:MEASure:VMAX] <value>[,<result_state>]<NL>
<value> Absolute maximum voltage present on the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the measured absolute maximum voltage on the waveform to
the numeric variable, varMaximum, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VMAX? CHANnel1"
varMaximum = myScope.ReadNumber
Debug.Print FormatNumber(varMaximum, 0)
History Legacy command (existed before version 3.10).
996 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:VMIDdle
Command :MEASure:VMIDdle [<source>]
The :MEASure:VMIDdle command measures the voltage level at the middle
threshold of the waveform. Sources are specified with the :MEASure:SOURce
command or with the optional parameter following the :MEASure:VMIDdle
command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASure:VMIDdle? [<source>]
The :MEASure:VMIDdle? query returns the voltage value at the middle threshold of
the waveform.
Returned Format [MEASure:VMIDdle] <value>[,<result_state>]<NL>
<value> The middle voltage present on the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the measured middle voltage on the waveform to the
numeric variable, varMiddle, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VMIDdle? CHANnel1"
varMiddle = myScope.ReadNumber
Debug.Print FormatNumber(varMiddle, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 997
:MEASure:VMIN
Command :MEASure:VMIN [<source>]
The :MEASure:VMIN command measures the absolute minimum voltage present
on the selected source waveform. Sources are specified with :MEASure:SOURce or
with the optional parameter following the :MEASure:VMIN command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the absolute minimum voltage on the waveform.
myScope.WriteString ":MEASure:VMIN CHANnel1"
Query :MEASure:VMIN? [<source>]
The :MEASure:VMIN? query returns the measured absolute minimum voltage or
minimum FFT amplitude present on the selected source waveform.
Returned Format [:MEASure:VMIN] <value>[,<result_state>]<NL>
<value> Absolute minimum voltage present on the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example returns the measured absolute minimum voltage on the waveform to
the numeric variable, varMinimum, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VMIN? CHANnel1"
varMinimum = myScope.ReadNumber
Debug.Print FormatNumber(varMinimum, 0)
History Legacy command (existed before version 3.10).
998 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:VOVershoot
Command :MEASure:VOVershoot <source>[,<direction>]
The :MEASure:VOVershoot command is similar to the overshoot measurement, but
instead of returning the ratio of overshoot voltage to amplitude as a percent, it
returns the local voltage of the overshoot.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies whether rising edge overshoot or falling edge overshoot is measured.
When <direction> is specified, the <source> parameter is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), the RISing and FALLing options specify whether the first rising or falling
edge from the left side of the display grid is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether rising edge overshoot or falling edge overshoot is measured
throughout the acquisition.
Example This example measures the local voltage of the overshoot.
myScope.WriteString ":MEASure:VOVershoot CHAN1"
Query :MEASure:VOVershoot? <source>[,<direction>]
The :MEASure:VOVershoot? query returns the local voltage of the overshoot.
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 999
:MEASure:VPP
Command :MEASure:VPP [<source>]
The :MEASure:VPP command measures the maximum and minimum voltages on
the selected source, then calculates the peak-to-peak voltage as the difference
between the two voltages. Sources are specified with the :MEASure:SOURce
command or with the optional parameter following the :MEASure:VPP command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the peak-to-peak voltage or FFT amplitude range of the
previously selected source.
myScope.WriteString ":MEASure:VPP CHANnel1"
Query :MEASure:VPP? [<source>]
The :MEASure:VPP? query returns the specified source peak-to-peak voltage.
Returned Format [:MEASure:VPP] <value>[,<result_state>]<NL>
<value> Peak-to-peak voltage of the selected source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current peak-to-peak voltage in the numeric variable,
varVoltage, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VPP? CHANnel1"
varVoltage = myScope.ReadNumber
Debug.Print FormatNumber(varVoltage, 0)
History Legacy command (existed before version 3.10).
1000 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:VPReshoot
Command :MEASure:VPReshoot <source>[,<direction>]
The :MEASure:VPReshoot command is similar to the preshoot measurement, but
instead of returning the ratio of preshoot voltage to amplitude as a percent, it
returns the local voltage of the preshoot.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<direction> {RISing | FALLing}
Specifies whether rising edge preshoot or falling edge preshoot is measured.
When <direction> is specified, the <source> parameter is required.
When the "Measure All Edges" mode is OFF (see ":ANALyze:AEDGes" on
page 245), the RISing and FALLing options specify whether the first rising or falling
edge from the left side of the display grid is used.
When the "Measure All Edges" mode is ON, the RISing and FALLing options
specify whether rising edge preshoot or falling edge preshoot is measured
throughout the acquisition.
Example This example measures the local voltage of the preshoot.
myScope.WriteString ":MEASure:VPReshoot CHAN1"
Query :MEASure:VPReshoot? <source>[,<direction>]
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 1001
:MEASure:VRMS
Command :MEASure:VRMS {CYCLe | DISPlay},{AC | DC} [,<source> [,{VOLT | DBM}]]
The :MEASure:VRMS command measures the RMS voltage of the selected
waveform by subtracting the average value of the waveform from each data point
on the display. Sources are specified with the :MEASure:SOURce command or with
the optional parameter following the :MEASure:VRMS command.
CYCLe The CYCLe parameter instructs the RMS measurement to measure the RMS
voltage across the first period of the display.
DISPlay The DISPlay parameter instructs the RMS measurement to measure all the data on
the display. Generally, RMS voltage is measured across one waveform or cycle,
however, measuring multiple cycles may be accomplished with the DISPlay
option. The DISPlay parameter is also useful when measuring noise.
AC The AC parameter is used to measure the RMS voltage subtracting the DC
component.
DC The DC parameter is used to measure RMS voltage including the DC component.
The AC RMS, DC RMS, and VAVG parameters are related as in this formula:
DCVRMS2=ACVRMS
2+VAVG
2
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
VOLT | DBM Specifies the units of the measurement as either volts or decibels.
Example This example measures the RMS voltage of the previously selected waveform.
myScope.WriteString ":MEASure:VRMS CYCLe,AC,CHANnel1"
Query :MEASure:VRMS? {CYCLe | DISPlay},{AC | DC} [,<source> [,{VOLT | DBM}]]
The :MEASure:VRMS? query returns the RMS voltage of the specified source.
Returned Format [:MEASure:VRMS] <value>[,<result_state>]<NL>
<value> RMS voltage of the selected waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current AC RMS voltage over one period of the waveform
in the numeric variable, varVoltage, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VRMS? CYCLe,AC,CHANnel1"
1002 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
varVoltage = myScope.ReadNumber
Debug.Print FormatNumber(varVoltage, 0)
History Legacy command (existed before version 3.10).
Version 3.10: Added the VOLT and DBM parameters for specifying the
measurement units.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 1003
:MEASure:VTIMe
Command :MEASure:VTIMe <time>[,<source>]
The :MEASure:VTIMe command measures the voltage at the specified time. The
time is referenced to the trigger event and must be on the screen. When an FFT
function is the specified source, the amplitude at the specified frequency is
measured. Sources are specified with the :MEASure:SOURce command or with the
optional parameter following the :MEASure:VTIMe command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
<time> A real number for time from trigger in seconds, or frequency in Hertz for an FFT
(when a function is set to FFT or a waveform memory contains an FFT).
Query :MEASure:VTIMe? <time>[,<source>]
The :MEASure:VTIMe? query returns the measured voltage or amplitude.
Returned Format [:MEASure:VTIMe] <value>[,<result_state>]<NL>
<value> Voltage at the specified time. When the source is an FFT function, the returned
value is the vertical value at the horizontal setting passed in the VTIMe <time>
parameter. The time parameter is in Hertz when an FFT function is the source.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the voltage at 500 ms in the numeric variable, varValue, then
prints the contents to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VTIMe? 500E-3,CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
1004 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:VTOP
Command :MEASure:VTOP [<source>]
The :MEASure:VTOP command measures the statistical top of the selected source
waveform. Sources are specified with the :MEASure:SOURce command or with the
optional parameter following the :MEASure:VTOP command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the voltage at the top of the waveform.
myScope.WriteString ":MEASure:VTOP CHANnel1"
Query :MEASure:VTOP? [<source>]
The :MEASure:VTOP? query returns the measured voltage at the top of the
specified source.
Returned Format [:MEASure:VTOP] <value>[,<result_state>]<NL>
<value> Voltage at the top of the waveform.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the value of the voltage at the top of the waveform in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VTOP? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 1005
:MEASure:VUPPer
Command :MEASure:VUPPer [<source>]
The :MEASure:VUPPer command measures the voltage value at the upper
threshold of the waveform. Sources are specified with the MEASure:SOURce
command or with the optional parameter following the :MEASure:VUPPer
command.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Example This example measures the voltage at the upper threshold of the waveform.
myScope.WriteString ":MEASure:VUPPer CHANnel1"
Query :MEASure:VUPPer? [<source>]
The :MEASure:VUPPer? query returns the measured upper threshold value of the
selected source.
Returned Format [:MEASure:VUPPer] <value>[,<result_state>]<NL>
<value> Voltage at the upper threshold.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the value of the voltage at the upper threshold of the
waveform in the numeric variable, varValue, then prints the contents of the
variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:VUPPer? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
1006 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASure:WINDow
Command :MEASure:WINDow {ZOOM | CGRade | {MAIN | ALL}}, {MEAS<N>}
The :MEASure:WINDow command specifies whether measurements are made in
the ZOOM window (measurement gating), the CGRade (color grade) view, or over
the entire acquisition (MAIN or ALL). The MAIN and ALL parameters are equivalent.
Not all measurements can be applied to the color grade view.
If MEAS<N> is omitted, the command attempts to apply the selected window to all
active measurements.
<N> Can be an integer from 1 – 20.
Example This example gates Measurement 1 to the zoom window.
myScope.WriteString ":MEASure:WINDow ZOOM, MEAS1"
Query :MEASure:WINDow? {MEASN}
This query returns whether the measurement is being performed on the zoomed
portion of the waveform (ZOOM), the color grade view of the waveform (CGR) or
the entire acquisition (MAIN or ALL).
If MEAS<N> is omitted on the query, it returns the window of the first
measurement.
History Legacy command (existed before version 3.10).
Version 3.10: The short form of the command was changed from :MEAS:WIN to
:MEAS:WIND.
Version 5.00: Added the CGRade (color grade) view as a measurement window
option.
Measure Commands 28
Keysight Infiniium Oscilloscopes Programmer's Guide 1007
:MEASurement<N>:NAME
Command :MEASurement<N>:NAME <name>
The :MEASurement<N>:NAME commands sets the name of the specified
measurement to whatever string is given to <name>. This lets you give specific
names to measurements displayed on the oscilloscope's screen.
<N> An integer, 1-10. This number represents the position of the measurement on
screen in the Measurements tab.
<name> A quoted string.
Query :MEASurement<N>:NAME?
The :MEASurement<N>:NAME? query returns the name of the corresponding
measurement.
History New in version 4.50.
1008 Keysight Infiniium Oscilloscopes Programmer's Guide
28 Measure Commands
:MEASurement<N>:SOURce
Command :MEASurement<N>:SOURce <source>[,<source>]
The :MEASurement<N>:SOURce command changes the source of an existing
measurement in the Measurements tab of the user interface.
<N> An integer, 1-10. This number represents the position of the measurement on
screen in the Measurements tab.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | DIGital<M> |
WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized}
For more information on <source> parameters, see "Measurement Sources" on
page 742.
Query :MEASurement<N>:SOURce?
The :MEASurement<N>:SOURce? query returns the source(s) of the selected
measurement.
Returned Format [:MEASurement<N>:SOURce] <source>[,<source>]<NL>
Example This example places the currently specified measurement 1 source(s) in the string
variable, strSource, then prints the contents of the variable to the computer's
screen.
Dim strSource As String ' Dimension variable.
myScope.WriteString ":MEASurement1:SOURce?"
strSource = myScope.ReadString
Debug.Print strSource
See Also •":MEASurement<N>:NAME" on page 1007
History New in version 4.50.
1010 Keysight Infiniium Oscilloscopes Programmer's Guide
29 Pod Commands
:POD<N>:DISPlay
Command
:POD<N>[:DISPlay] {ON | OFF |1|0}
The :POD<N>:DISPlay command enables or disables the view for the selected
digital channel pod. Pod 1 has the digital channels 0 through 7, and pod 2 has the
digital channels 8 through 15.
Displaying a pod automatically enables digital channels. See ENABle command in
the root subsystem.
<N> An integer, 1-2.
Example This example turns on the display of bit 5 for the digital channels.
myScope.WriteString ":ENABle DIGital"
myScope.WriteString ":POD2:DISPlay ON"
Query :POD<N>[:DISPlay]?
The :POD<N>:DISPlay? query returns the value of the display setting for the pod.
Returned Format [:POD<N>:DISPlay] {1 | 0}<NL>
See Also •":DIGital<N>:DISPlay" on page 438
•":ENABle DIGital" on page 1031
History Legacy command (existed before version 3.10).
NOTE
The POD commands only apply to the MSO oscilloscopes.
Pod Commands 29
Keysight Infiniium Oscilloscopes Programmer's Guide 1011
:POD<N>:PSKew
Command :POD<N>:PSKew <skew_value>
The :POD<N>:PSKew command lets you adjust the digital channels with respect to
the analog channels when there is a time delay between the analog and digital
channels. This can occur when different length cables are used.
<N> An integer, 1-2.
<skew_value> A real number for the skew value, in the range -1 ms to +1 ms.
Example This example sets the probe skew for all digital channels to 10 μs.
myScope.WriteString ":POD1:PSKew 10E-6"
Query :POD<N>:PSKew?
The :POD<N>:PSKew? query returns the current probe skew setting for all digital
channels.
Returned Format [:POD<N>:PSKew] <skew_value><NL>
History Legacy command (existed before version 3.10).
1012 Keysight Infiniium Oscilloscopes Programmer's Guide
29 Pod Commands
:POD<N>:THReshold
Command
:POD<N>:THReshold {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL
| DIFFerential | <value>}
The :POD<N>:THReshold command sets the logic threshold value for a pod. Pod 1
has the digital channels 0 through 7, and pod 2 has the digital channels 8 through
15. This command is equivalent to the :DIGital<N>:THReshold command.
The threshold is used for triggering purposes and for displaying the digital data as
high (above the threshold) or low (below the threshold). The voltage values for the
predefined thresholds are:
• CMOS50 = 2.5 V
• CMOS33 = 1.65 V
• CMOS25 = 1.25 V
• ECL = -1.3 V
• PECL = 3.7 V
• TTL = 1.4 V
• DIFFerential = 0 V
<N> An integer, 1-2.
<value> A real number representing the voltage value which distinguishes a 1 logic level
from a 0 logic level. Waveform voltages greater than the threshold are 1 logic
levels while waveform voltages less than the threshold are 0 logic levels.
On 9000 Series, 9000H Series, and S-Series mixed-signal oscilloscopes, the range
of the threshold voltage is from -8 volts to 8 volts.
On 90000 X-Series and V-Series mixed-signal oscilloscopes, the range of the
threshold voltage is from -3.75 volts to 3.75 volts.
Example This example sets the threshold to 1.8 volts for pod 2 (digital channels D15
through D8).
myScope.WriteString ":POD2:THReshold 1.8"
Query :POD<N>:THReshold?
The :POD<N>:THReshold? query returns the threshold value for the specified pod.
Returned Format [:POD<N>:THReshold] {CMOS50 | CMOS33 | CMOS25 | ECL | PECL | TTL
| DIFF | <value>}<NL>
See Also •":DIGital<N>:THReshold" on page 441
NOTE
The POD commands only apply to the MSO oscilloscopes.
Pod Commands 29
Keysight Infiniium Oscilloscopes Programmer's Guide 1013
History Legacy command (existed before version 3.10).
Version 4.50: Added the DIFFerential parameter for specifying the threshold
voltage.
1014 Keysight Infiniium Oscilloscopes Programmer's Guide
29 Pod Commands
1015
Keysight Infiniium Oscilloscopes
Programmer's Guide
30 Root Level Commands
:ADER? — Acquisition Done Event Register / 1017
:AER? — Arm Event Register / 1018
:ASTate? / 1019
:ATER? — Auto Trigger Event Register / 1020
:AUToscale / 1021
:AUToscale:CHANnels / 1022
:AUToscale:PLACement / 1023
:AUToscale:VERTical / 1024
:BEEP / 1025
:BLANk / 1026
:CDISplay / 1027
:DIGitize / 1028
:DISable DIGital / 1030
:ENABle DIGital / 1031
:MTEEnable — Mask Test Enable Register / 1033
:MTERegister? — Mask Test Event Register / 1034
:MODel? / 1032
:OPEEnable — Operation Status Enable / 1035
:OPERegister? — Operation Status Register / 1036
:OVLRegister? / 1037
:PDER? — Processing Done Event Register / 1038
:PRINt / 1039
:RECall:SETup / 1040
:RSTate? / 1041
:RUN / 1042
:SERial — Serial Number / 1043
:SINGle / 1044
:STATus? / 1045
:STOP / 1047
:STORe:JITTer / 1048
:STORe:SETup / 1049
:STORe:WAVeform / 1050
1016 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:TERegister? — Trigger Event Register / 1051
:VIEW / 1052
Root level commands control many of the basic operations of the oscilloscope that
you can select by pressing the labeled keys on the front panel. These commands
are always recognized by the parser if they are prefixed with a colon, regardless of
the current tree position. After executing a root level command, the parser is
positioned at the root of the command tree.
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1017
:ADER? — Acquisition Done Event Register
Query :ADER?
The :ADER? query reads the Acquisition Done Event Register and returns 1 or 0.
After the Acquisition Done Event Register is read, the register is cleared. The
returned value 1 indicates an acquisition completed event has occurred and 0
indicates an acquisition completed event has not occurred.
Once the Done bit is set, it is cleared only by doing :ADER? or by sending a *CLS
command.
Returned Format {1 | 0}<NL>
See Also •"Example: Blocking and Polling Synchronization" on page 189
History Legacy command (existed before version 3.10).
1018 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:AER? — Arm Event Register
Query :AER?
The :AER? query reads the Arm Event Register and returns 1 or 0. After the Arm
Event Register is read, the register is cleared. The returned value 1 indicates a
trigger armed event has occurred and 0 indicates a trigger armed has not
occurred.
Once the AER bit is set, it is cleared only by doing :AER? or by sending a *CLS
command.
Returned Format {1 | 0}<NL>
See Also •"Example: Checking for Armed Status" on page 178
History Legacy command (existed before version 3.10).
NOTE
Arm Event Returns
:AER? will allow the Arm Event to return either immediately (if you have armed but not
triggered) or on the next arm (if you have already triggered). However, *CLS is always required
to get an SRQ again.
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1019
:ASTate?
Query :ASTate?
The :ASTate? query returns the acquisition state:
• ARM — The trigger is armed and the oscilloscope has acquired all of the
pre-trigger data.
• TRIG — The trigger condition has occurred and the oscilloscope is acquiring
post trigger data.
• ATRIG — The trigger condition has not been met, but the oscilloscope has auto
triggered and is acquiring post trigger data.
• ADONE — The acquisition is done, and the data has been processed and is
ready to be unloaded.
The :ASTate? query result has more meaning when you first know the run state
(see ":RSTate?" on page 1041).
Returned Format {ARM | TRIG | ATRIG | ADONE}<NL>
See Also •":RSTate?" on page 1041
History New in version 4.60.
1020 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:ATER? — Auto Trigger Event Register
Query :ATER?
The :ATER? query reads the Auto Trigger Event Register and returns 1 or 0. After
the Auto Trigger Event Register is read, the register is cleared. The returned value
1 indicates an auto trigger event has occurred and 0 indicates an auto trigger
event has not occurred.
Returned Format {1 | 0}<NL>
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1021
:AUToscale
Command :AUToscale
The :AUToscale command causes the oscilloscope to evaluate all input waveforms
and find the optimum conditions for displaying the waveform. It searches each of
the channels for input waveforms and shuts off channels where no waveform is
found. It adjusts the vertical gain and offset for each channel that has a waveform
and sets the time base on the lowest numbered input channel that has a
waveform.
The trigger is found by searching each channel, starting with channel 4, then
channel 3, channel 2, and channel 1, until a trigger waveform is detected. If
waveforms cannot be found on any vertical input, the oscilloscope is returned to
its former state.
Autoscale sets the following:
• Channel Display, Scale, and Offset
• Trigger Sweep, Mode, Edge, Source, Level, Slope, Hysteresis, and Holdoff
• Acquisition Sampling Rate and Memory Depth
•Time Base Scale and Position
• Marker Mode Set to Measurement
• Resets Acquisition Completion Criteria to 90%
Autoscale turns off the following:
• Measurements on sources that are turned off
•Functions
•Windows
•Memories
• InfiniiSim
Autoscale does not turn off:
• PrecisionProbe/PrecisionCable
No other controls are affected by Autoscale.
Example This example automatically scales the oscilloscope for the input waveform.
myScope.WriteString ":AUToscale"
History Legacy command (existed before version 3.10).
1022 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:AUToscale:CHANnels
Command :AUToscale:CHANnels {ALL | DISPlayed}
The :AUToscale:CHANnels command selects whether to apply autoscale to all of
the input channels or just the input channels that are currently displayed.
Example This example automatically scales only the displayed channels.
myScope.WriteString ":AUToscale:CHANnels DISPlayed"
Query :AUToscale:CHANnels?
The :AUToscale:CHANnels? query returns the selected channels setting.
Returned Format [:AUToscale:CHANnels] {ALL | DISP}<NL>
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1023
:AUToscale:PLACement
Command :AUToscale:PLACement {STACk | SEParate | OVERlay}
The :AUToscale:PLACement command controls how the waveforms are displayed
on the oscilloscope when the autoscale command is used. If Stack is chosen then
each waveform's amplitude is decreased and then the waveforms are offset so
each takes up a different vertical portion of the screen. This makes it easier to view
them, but decreases the accuracy of any measurements performed on the
waveforms because they no longer take up the full dynamic range of th ADC
(analog to digital converter). If Separate is chosen then the screen is divided into
the same number of grids that there are waveforms (for example, if three
waveforms are displayed then the screen will be divided into three grids). Each
grid represents the full dynamic range of the ADC so this choice maximizes
measurement accuracy while still separating the waveforms so they are easy to
see. If the Overlay option is chosen then the waveforms are displayed on top of
each other. This maximizes measurement accuracy, but can making viewing
difficult.
Example This example automatically overlays the waveforms after an autoscale.
myScope.WriteString ":AUToscale:OVERlay ON"
Query :AUToscale:PLACement?
History Legacy command (existed before version 3.10).
1024 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:AUToscale:VERTical
Command :AUToscale:VERTical <source>
The :AUToscale:VERTical command autoscales the vertical position and scaling for
the corresponding channel without changing anything else (for example, trigger or
timebase settings).
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C>}
<N> An integer, 1-4.
<R> An integer, 1-4.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
Example This example automatically autoscales the vertical position and scale for the
waveform on Channel 1.
myScope.WriteString ":AUToscale:VERTical CHAN1"
History Legacy command (existed before version 3.10).
NOTE
If you are using software 2.10 or earlier, the command syntax is (lower-case "t" in "vertical"):
AUToscale:VERTical <CHANnel 1 | CHANnel 2 | CHANnel 3 | CHANnel 4>
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1025
:BEEP
Command :BEEP <frequency>,<duration>
The :BEEP command makes the oscilloscope beep at a defined frequency and
duration.
<frequency> A real number representing frequency of beep in Hertz.
<duration> A real number representing duration of beep in milliseconds.
Example This example will create a beep at 1000 Hz for 500 ms.
myScope.WriteString ":BEEP 1000,500"
History Legacy command (existed before version 3.10).
1026 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:BLANk
Command :BLANk {CHANnel<N> | BUS<B> | DIFF<D> | COMMonmode<C>
| DIGital<M> | FUNCtion<F> | HISTogram | WMEMory<R>
| MTRend | MSPectrum | EQUalize | POD<P> | ALL}
The :BLANk command turns off an active channel, function, histogram, waveform
memory, measurement trend, measurement spectrum, or Feed-Forward Equalized
waveform. The :VIEW command turns them on.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<M> An integer, 0-15.
<F> An integer, 1-16.
<R> An integer, 1-4.
<P> An integer, 1-2.
Example This example turns off channel 1.
myScope.WriteString ":BLANk CHANnel1"
See Also •":VIEW" on page 1052
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1027
:CDISplay
Command :CDISplay
The :CDISplay command clears the display and resets all associated
measurements. If the oscilloscope is stopped, all currently displayed data is
erased. If the oscilloscope is running, all of the data in active channels and
functions is erased; however, new data is displayed on the next acquisition.
Waveform memories are not erased.
Example This example clears the oscilloscope display.
myScope.WriteString ":CDISplay"
History Legacy command (existed before version 3.10).
1028 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:DIGitize
Command :DIGitize [CHANnel<N> | DIGital<M> | DIFF<D> | COMMonmode<C>
| POD<P>][,...]
The :DIGitize command invokes a special mode of data acquisition that is more
efficient than using the :RUN command. This command initializes the selected
channels or functions, then acquires them according to the current oscilloscope
settings. When all waveforms are completely acquired, the oscilloscope is
stopped. The waveform completion criteria is set with the ":ACQuire:COMPlete"
command.
If you specify channel parameters, then these are the only waveforms acquired and
the display waveforms of the specified channels are turned off.
If you use the :DIGitize command with no parameters, the digitize operation is
performed on the channels that are being displayed in the Infiniium waveform
viewing area. In this case, the display state of the acquired waveforms is not
changed after the :DIGitize command is completed. Because the command
executes more quickly without parameters, this form of the command is useful for
repetitive measurement sequences. You can also use this mode if you want to view
the digitize results because the display state of the digitized waveforms is not
affected.
<N> An integer, 1-4.
<M> An integer, 0-15.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
Example This example acquires data on channel 1.
NOTE
Full Range of Measurement and Math Operators are Available
Even though digitized waveforms are not displayed, you may perform the full range of
measurement and math operators on them.
NOTE
Channel parameters are not supported in a MultiScope system because acquisitions require at
least one channel per connected frame. Only the parameterless version of :DIGitize is
supported in a MultiScope system.
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1029
myScope.WriteString ":DIGitize CHANnel1"
The ACQuire subsystem commands set up conditions such as COUNt for the next
:DIGitize command. The WAVeform subsystem commands determine how the data
is transferred out of the oscilloscope, and how to interpret the data.
See Also •"Example: Blocking and Polling Synchronization" on page 189
•"Example: Checking for Armed Status" on page 178
• See the Chapter 42, “Sample Programs,” starting on page 1591 for examples of
how to use :DIGitize and its related commands.
History Legacy command (existed before version 3.10).
1030 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:DISable DIGital
Command :DISable DIGital
The :DISable DIGital command disables the digital channels 0-15.
Example This example will disable the digital channels.
myScope.WriteString ":DISable DIGital"
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1031
:ENABle DIGital
Command :ENABle DIGital
The :ENABle DIGital command enables the digital channels 0-15.
Example This example will enable the digital channels.
myScope.WriteString ":ENABle DIGital"
History Legacy command (existed before version 3.10).
1032 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:MODel?
Query :MODel?
The :MODel? query returns the model number for the oscilloscope.
Returned Format A six-character alphanumeric model number in quotation marks. Output is
determined by header and longform status as in Table 15.
Example This example places the model number in a string variable, strModel, then prints
the contents of the variable on the computer's screen.
Dim strModel As String ' Dimension variable.
myScope.WriteString ":MODel?"
strModel = myScope.ReadString
Debug.Print strModel
History Legacy command (existed before version 3.10).
Table 15 MODel? Returned Format
:SYSTem:HEADer :SYSTem:LONGform Response (for
example)
ON OFF ON OFF
X X DSO90804A
X X DSO90804A
X X :MOD
DSO90804A
X X :MODEL
DSO90804A
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1033
:MTEEnable — Mask Test Enable Register
Command :MTEEnable <enable_mask>
The :MTEEnable command is used to set bits in the Mask Test Enable Register.
<enable_mask> The <enable_mask> is a 16-bit signed decimal value that enables the following
bits of the Mask Test Event Register:
Query :MTEEnable?
The :MTEEnable? query returns the value stored in the Mask Test Enable Register.
Returned Format [:MTEEnable] <enable_mask>
Example Suppose your application requires an interrupt whenever a Mask Test Fail occurs
in the mask test register. You can enable this bit to generate the summary bit by
sending:
myScope.WriteString "MTEEnable 2"
Whenever an error occurs, the oscilloscope sets the MASK bit in the Operation
Status Register. Because the bits in the Operation Status Enable Register are all
enabled, a summary bit is generated to set bit 7 (OPER) in the Status Byte
Register.
If bit 7 (OPER) in the Status Byte Register is enabled (via the *SRE command), a
service request interrupt (SRQ) is sent to the external computer.
History Legacy command (existed before version 3.10).
Bit 0 Mask Test Complete
Bit 1 Mask Test Fail
Bit 2 Mask Low Amplitude
Bit 3 Mask High Amplitude
Bit 4 Mask Align Complete
Bit 5 Mask Align Fail
Bits 6-14 are not used
1034 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:MTERegister? — Mask Test Event Register
Query :MTERegister?
The :MTERegister? query returns the value stored in the Mask Test Event Register.
The bits stored in the register have the following meanings:
The Mask Test Event Register is read and cleared by the MTERegister? query. The
register output is enabled or disabled using the mask value supplied with the
MTEEnable command.
Returned Format 0-63 decimal value.
History Legacy command (existed before version 3.10).
Bit 0 Mask Test Complete bit is set whenever the mask test is complete.
Bit 1 Mask Test Fail bit is set whenever the mask test failed.
Bit 2 Mask Low Amplitude bit is set whenever the signal is below the mask
amplitude.
Bit 3 Mask High Amplitude bit is set whenever the signal is above the mask
amplitude.
Bit 4 Mask Align Complete bit is set whenever the mask align is complete.
Bit 5 Mask Align Fail bit is set whenever the mask align failed.
NOTE
Disabled Mask Test Event Register Bits Respond, but Do Not Generate a Summary
Bit
Mask Test Event Register bits that are not enabled still respond to their corresponding
conditions (that is, they are set if the corresponding event occurs). However, because they are
not enabled, they do not generate a summary bit in the Operation Status Register.
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1035
:OPEEnable — Operation Status Enable
Command :OPEEnable <mask>
<mask> The decimal weight of the enabled bits.
The :OPEEnable command sets a mask in the Operation Status Enable register.
Each bit that is set to a "1" enables that bit to set bit 7 in the status byte register,
and potentially causes an SRQ to be generated. Bit 5, Wait for Trig is used. Other
bits are reserved.
Query :OPEEnable?
The query returns the current value contained in the Operation Status Enable
register as a decimal number.
Returned Format [OPEEnable] <value><NL>
History Legacy command (existed before version 3.10).
1036 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:OPERegister? — Operation Status Register
Query :OPERegister?
The :OPERegister? query returns the value contained in the Operation Status
Register as a decimal number. This register contains the WAIT TRIG bit (bit 5) and
the OVLR bit (bit 11).
The WAIT TRIG bit is set by the Trigger Armed Event Register and indicates that
the trigger is armed. The OVLR bit is set by the Overload Event Register.
Returned Format <value><NL>
See Also •"Example: Checking for Armed Status" on page 178
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1037
:OVLRegister?
Query :OVLRegister?
The :OVLRegister? query returns the value stored in the Overload Event Register.
The integer value returned by this query represents the channels as follows:
• Bit 0 - Channel 1
• Bit 1 - Channel 2
• Bit 2 - Channel 3
• Bit 3 - Channel 4
• Bits 7-4 are not used and are set to zero (0)
Returned Format <value><NL>
History Legacy command (existed before version 3.10).
1038 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:PDER? — Processing Done Event Register
Query :PDER?
The :PDER? query reads the Processing Done Event Register and returns 1 or 0.
After the Processing Done Event Register is read, the register is cleared. The
returned value 1 indicates indicates that all math and measurements are complete
and 0 indicates they are not complete. :PDER? is non-blocking.
:PDER? can be used in place of :ADER?.
Returned Format {1 | 0}<NL>
See Also •"Example: Blocking and Polling Synchronization" on page 189
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1039
:PRINt
Command :PRINt
The :PRINt command outputs a copy of the screen to a printer or other device
destination specified in the HARDcopy subsystem. You can specify the selection of
the output and the printer using the HARDcopy subsystem commands.
Example This example outputs a copy of the screen to a printer or a disk file.
myScope.WriteString ":PRINt"
History Legacy command (existed before version 3.10).
1040 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:RECall:SETup
Command :RECall:SETup <setup_memory_num>
<setup
_memory_num>
Setup memory number, an integer, 0 through 9.
The :RECall:SETup command recalls a setup that was saved in one of the
oscilloscope's setup memories. You can save setups using either the
:STORe:SETup command or the front panel.
Examples This command recalls a setup from setup memory 2.
myScope.WriteString ":RECall:SETup 2"
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1041
:RSTate?
Query :RSTate?
The :RSTate? query returns the run state:
• RUN — The oscilloscope is acquiring and displaying new waveforms.
• STOP — The oscilloscope is no longer acquiring new waveforms.
• SING — A single acquisition has been started and the oscilloscope is waiting for
the trigger condition to be met.
These are the same run states displayed on the front panel and in the user
interface.
Returned Format {RUN | STOP | SING}<NL>
See Also •":ASTate?" on page 1019
History New in version 4.60.
1042 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:RUN
Command :RUN
The :RUN command starts the oscilloscope running. When the oscilloscope is
running, it acquires waveform data according to its current settings. Acquisition
runs repetitively until the oscilloscope receives a :STOP command, or until there is
only one acquisition if Trigger Sweep is set to Single. However, the
:TRIGger:SWEep SINGle should not be used in new programs. The :SINGle
command should be used instead to acquire a single acquisition.
Example This example causes the oscilloscope to acquire data repetitively.
myScope.WriteString ":RUN"
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1043
:SERial — Serial Number
Command :SERial {<serial_number>}
The :SERial command sets the serial number of the oscilloscope. A serial number
was entered in your oscilloscope by Keysight Technologies before it was shipped
to you. Therefore, setting the serial number is not normally required unless the
oscilloscope is serialized for a different application.
The oscilloscope's serial number is part of the string returned for the *IDN? query
described in the Common Commands chapter.
<serial _number> A ten-character alphanumeric serial number enclosed with quotation marks.
Example This example sets the serial number for the oscilloscope to "US12345678".
myScope.WriteString ":SERial ""US12345678"""
Query :SERial?
The query returns the current serial number string for the oscilloscope.
Returned Format [:SERial] US12345678
Example This example places the serial number for the oscilloscope in the string variable
strSerial, then prints the contents of the variable to the computer's screen.
Dim strSerial As String ' Dimension variable.
myScope.WriteString ":SERial?"
strSerial = myScope.ReadString
Debug.Print strSerial
History Legacy command (existed before version 3.10).
1044 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:SINGle
Command :SINGle
The :SINGle command causes the oscilloscope to make a single acquisition when
the next trigger event occurs. However, this command does not set the
:TRIGger:SWEep to SINGle.
Example This example sets up the oscilloscope to make a single acquisition when the next
trigger event occurs.
myScope.WriteString ":SINGle"
See Also •":TRIGger:SWEep" on page 1231
•"Example: Blocking and Polling Synchronization" on page 189
•"Example: Checking for Armed Status" on page 178
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1045
:STATus?
Query :STATus? {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| HISTogram | WMEMory<R> | CLOCk | MTRend | MSPectrum
| EQUalized | BUS<B> | DIGital<M> | POD<L>}
The :STATus? query shows whether the specified channel, function, wmemory,
histogram, measurement trend, measurement spectrum, or equalized waveform is
on or off. A return value of 1 means on and a return value of 0 means off.
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<B> An integer, 1-4
<M> An integer, 0-15.
POD<L> refers to the two digital channel pods - one that includes all of the
activated digital channels in the D0-D7 range and the other that includes all of the
activated digital channels in the D8-D15 range.
Returned Format [:STATus] {0 | 1}<NL>
Example This example returns and prints the current status of channel 1.
myScope.WriteString ":STATus? CHANnel1"
strCurrent = myScope.ReadString
Debug.Print strCurrent
See Also •":BLANk" on page 1026
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1047
:STOP
Command :STOP
The :STOP command causes the oscilloscope to stop acquiring data. To restart the
acquisition, use the :RUN or :SINGle command.
Example This example stops the current data acquisition.
myScope.WriteString ":STOP"
History Legacy command (existed before version 3.10).
1048 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:STORe:JITTer
Command :STORe:JITTer <file_name>
The :STORe:JITTer command saves all of the RJ/DJ jitter measurement data to the
specified file name. The file that is created has a header section followed by the
RJ/DJ measurement results section. After the RJ/DJ measurement results section
is the data for each of the measurements. Each data section has a header showing
what the measurement data is that follows.
<file_name> A character-quoted ASCII string which can include subdirectories with the name of
the file.
Example This example stores the RJ/DJ jitter measurements to a file.
myScope.WriteString _
":STORe:JITTer ""C:\Users\Public\Documents\Infiniium\jitter"""
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1049
:STORe:SETup
Command :STORe:SETup <setup_memory_num>
<setup
_memory_num>
Setup memory number, an integer, 0 through 9.
The :STORe:SETup command saves the current oscilloscope setup in one of the
setup memories.
Example This example stores the current oscilloscope setup to setup memory 0.
myScope.WriteString ":STORe:SETup 0"
History Legacy command (existed before version 3.10).
1050 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:STORe:WAVeform
Command :STORe:WAVeform {{CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | MTRend | MSPectrum}, {WMEMory<R>}}
The :STORe:WAVeform command copies a channel, function, stored waveform,
measurement trend, or measurement spectrum to a waveform memory. The
parameter preceding the comma specifies the source and can be any channel,
function, or waveform memory. The parameter following the comma is the
destination, and can be any waveform memory.
The :WAVeform:VIEW command determines the view of the data being stored.
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
Example This example copies channel 1 to waveform memory 3.
myScope.WriteString ":STORe:WAVeform CHANnel1,WMEMory3"
History Legacy command (existed before version 3.10).
Root Level Commands 30
Keysight Infiniium Oscilloscopes Programmer's Guide 1051
:TERegister? — Trigger Event Register
Query :TERegister?
The :TERegister? query reads the Trigger Event Register. A "1" is returned when an
acquisition is complete. A "0" is returned when an acquisition has not completed.
The autotrigger does not set this register.
The register is set to a value of 1 only when the waveform meets the trigger criteria
and the acquisition completes.
Returned Format {1 | 0}<NL>
Example This example checks the current status of the Trigger Event Register, places the
status in the string variable, strCurrent, then prints the contents of the variable to
the computer's screen.
Dim strCurrent As String ' Dimension variable.
myScope.WriteString ":TERegister?"
strCurrent = myScope.ReadString
Debug.Print strCurrent
Once this bit is set, you can clear it only by reading the register with the
:TERegister? query, or by sending a *CLS common command. After the Trigger
Event Register is read, it is cleared.
History Legacy command (existed before version 3.10).
1052 Keysight Infiniium Oscilloscopes Programmer's Guide
30 Root Level Commands
:VIEW
Command :VIEW {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| HISTogram | WMEMory<R> | MSTrend | MSPectrum | BUS<B>
| DIGital<M> | POD<P>}
The :VIEW command turns on a channel, function, histogram, or waveform
memory. The :BLANk command turns them off.
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<B> An integer, 1-4.
<M> An integer, 0-15.
<P> An integer, 1-2.
Example This example turns on channel 1.
myScope.WriteString ":VIEW CHANnel1"
See Also •":BLANk" on page 1026
History Legacy command (existed before version 3.10).
1053
Keysight Infiniium Oscilloscopes
Programmer's Guide
31 Serial Bus Commands
General :SBUS<N> Commands / 1054
:SBUS<N>:CAN Commands / 1057
:SBUS<N>:FLEXray Commands / 1073
:SBUS<N>:GENRaw Commands / 1083
:SBUS<N>:HS Commands / 1086
:SBUS<N>:IIC Commands / 1091
:SBUS<N>:LIN Commands / 1100
:SBUS<N>:SPI Commands / 1109
The :SBUS<N> subsystem commands control the serial decode bus viewing,
mode, and other options.
NOTE
These commands are only valid when the corresponding serial decode option has been
licensed.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1055
:SBUS<N>[:DISPlay]
Command :SBUS<N>[:DISPlay] <display>
<display> ::= {{1 | ON} | {0 | OFF}}
The :SBUS<N>[:DISPlay] command turns displaying of the serial decode bus on or
off.
Query :SBUS<N>[:DISPlay]?
The :SBUS<N>[:DISPlay]? query returns the current display setting of the serial
decode bus.
Returned Format [:SBUS<N>[:DISPlay]] <display><NL>
<display> ::= {0 | 1}
See Also •":SBUS<N>:MODE" on page 1056
History New in version 3.50.
NOTE
This command is only valid when a serial decode option has been licensed.
1056 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:MODE
Command :SBUS<N>:MODE <mode>
<mode> ::= {CAN | IIC | SPI | FLEXray | LIN | GENRaw}
The :SBUS<N>:MODE command determines the decode mode for the serial bus.
Query :SBUS<N>:MODE?
The :SBUS<n>:MODE? query returns the current serial bus decode mode setting.
Returned Format [:SBUS<N>:MODE] <mode><NL>
<mode> ::= {CAN | IIC | SPI | FLEXray | LIN | GENRaw}
See Also •":SBUS<N>:CAN Commands" on page 1057
•":SBUS<N>:FLEXray Commands" on page 1073
•":SBUS<N>:GENRaw Commands" on page 1083
•":SBUS<N>:IIC Commands" on page 1091
•":SBUS<N>:LIN Commands" on page 1100
•":SBUS<N>:SPI Commands" on page 1109
History New in version 3.50.
Version 4.60: Added CAN mode option.
Version 5.20: Added the FLEXray and LIN mode options.
Version 6.20: Added the GENRaw mode option.
NOTE
This command is only valid when a serial decode option has been licensed.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1057
:SBUS<N>:CAN Commands
•":SBUS<N>:CAN:FDSPoint" on page 1058
•":SBUS<N>:CAN:SAMPlepoint" on page 1059
•":SBUS<N>:CAN:SIGNal:BAUDrate" on page 1060
•":SBUS<N>:CAN:SIGNal:DEFinition" on page 1061
•":SBUS<N>:CAN:SIGNal:FDBaudrate" on page 1062
•":SBUS<N>:CAN:SOURce" on page 1063
•":SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)" on
page 1064
•":SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)" on page 1067
•":SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series, 9000H Series,
S-Series)" on page 1068
•":SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series, S-Series)"
on page 1070
•":SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series)" on page 1071
•":SBUS<N>:CAN:TYPE" on page 1072
See Also •":SBUS<N>:MODE" on page 1056
NOTE
These commands are only valid when the automotive CAN serial decode option has been
licensed.
1058 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:CAN:FDSPoint
Command :SBUS<N>:CAN:FDSPoint <value>
The :SBUS<N>:CAN:FDSPoint command sets the point during the bit time where
the bit level is sampled to determine whether the bit is dominant or recessive. The
sample point represents the percentage of time between beginning and end of the
bit time.
<value> Percentage values in the range of 30 and 90 in NR3 format. Values are rounded off
to nearest 0.5 resolution.
Query :SBUS<n>:CAN:FDSPoint?
The :SBUS<N>:CAN:FDSPoint? query returns the set sample point percentage
value
Returned Format <value><NL>
See Also •":SBUS<N>:CAN:SIGNal:FDBaudrate" on page 1062
•":SBUS<N>:CAN:TYPE" on page 1072
History New in version 5.60.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1059
:SBUS<N>:CAN:SAMPlepoint
Command :SBUS<N>:CAN:SAMPlepoint <value>
<value><NL>
<value> ::= {60 | 62.5 | 65 | 67.5 | 68 | 70 | 72.5 | 75 | 77.5
| 80 | 82.5 | 85 | 87.5} in NR3 format
The :SBUS<N>:CAN:SAMPlepoint command sets the point during the bit time
where the bit level is sampled to determine whether the bit is dominant or
recessive. The sample point represents the percentage of time between the
beginning of the bit time to the end of the bit time.
<N> An integer, 1-4.
Query :SBUS<N>:CAN:SAMPlepoint?
The :SBUS<N>:CAN:SAMPlepoint? query returns the current CAN sample point
setting.
Returned Format <value><NL>
<value> ::= {60 | 62.5 | 65 | 67.5 | 68 | 70 | 72.5 | 75 | 77.5
| 80 | 82.5 | 85 | 87.5} in NR3 format
See Also •":SBUS<N>:MODE" on page 1056
History New in version 4.60.
1060 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:CAN:SIGNal:BAUDrate
Command :SBUS<N>:CAN:SIGNal:BAUDrate <baudrate>
<baudrate> ::= a real number from 10E3 to 5E6
The :SBUS<N>:CAN:SIGNal:BAUDrate command sets the standard baud rate of
the CAN signal from 10 kb/s to 5 Mb/s.
If the baud rate you select does not match the system baud rate, false triggers
may occur.
<N> An integer, 1-4.
Query :SBUS<N>:CAN:SIGNal:BAUDrate?
The :SBUS<N>:CAN:SIGNal:BAUDrate? query returns the current CAN baud rate
setting.
Returned Format <baudrate><NL>
<baudrate> ::= a real number from 10E3 to 5E6
See Also •":SBUS<N>:MODE" on page 1056
•":SBUS<N>:CAN:SIGNal:DEFinition" on page 1061
•":SBUS<N>:CAN:SOURce" on page 1063
History New in version 4.60.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1061
:SBUS<N>:CAN:SIGNal:DEFinition
Command :SBUS<N>:CAN:SIGNal:DEFinition <value>
<value> ::= {CANH | CANL | DIFFerential | DIFL}
The :SBUS<N>:CAN:SIGNal:DEFinition command sets the CAN signal type when
:SBUS<N>:CAN:TRIGger is set to SOF (start of frame). These signals can be set to:
Dominant high signals:
• CANH — the actual CAN_H differential bus signal.
Dominant low signals:
• CANL — the actual CAN_L differential bus signal.
• DIFL — the CAN differential (L-H) bus signal connected to an analog source
channel using a differential probe.
• DIFFerential — the CAN differential bus signal connected to an analog source
channel using a differential probe. This is the same as DIFL.
<N> An integer, 1-4.
Query :SBUS<N>:CAN:SIGNal:DEFinition?
The :SBUS<N>:CAN:SIGNal:DEFinition? query returns the current CAN signal type.
Returned Format <value><NL>
<value> ::= {CANH | CANL | DIFL}
See Also •":SBUS<N>:MODE" on page 1056
•":SBUS<N>:CAN:SIGNal:BAUDrate" on page 1060
•":SBUS<N>:CAN:SOURce" on page 1063
History New in version 4.60.
1062 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:CAN:SIGNal:FDBaudrate
Command :SBUS<N>:CAN:SIGNal:FDBaudrate <baudrate>
The :SBUS<N>:CAN:SIGNal:FDBaudrate command sets the CAN FD baud rate in
the range from 1 Mb/s to 10 Mb/s.
For CAN FD, both the standard rate settings (see
:SBUS<n>:CAN:SIGNal:BAUDrate) and the FD rate settings must be set correctly;
otherwise, false triggers may occur.
<baudrate> A real number from 1E6 to 10E6
Query :SBUS<n>:CAN:SIGNal:FDBaudrate?
The :SBUS<N>:CAN:SIGNal:FDBaudrate? query returns the CAN FD baud rate
setting.
Returned Format <baudrate><NL>
See Also •":SBUS<N>:CAN:SIGNal:BAUDrate" on page 1060
•":SBUS<N>:CAN:FDSPoint" on page 1058
•":SBUS<N>:CAN:TYPE" on page 1072
History New in version 5.60.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1063
:SBUS<N>:CAN:SOURce
Command :SBUS<N>:CAN:SOURce <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:CAN:SOURce command sets the source for the CAN signal.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:CAN:SOURce?
The :SBUS<N>:CAN:SOURce? query returns the current source for the CAN signal.
Returned Format <source><NL>
See Also •":SBUS<N>:MODE" on page 1056
•":SBUS<N>:CAN:SIGNal:DEFinition" on page 1061
History New in version 4.60.
Version 5.20: The NONE parameter was added.
1064 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)
Command :SBUS<N>:CAN:TRIGger <condition>
<condition> ::= {SOF | DATA | ERRor | IDData | IDRemote | ALLerrors
| OVERload | ACKerror}
<condition> ::= {FDData | IDFDdata | EBActive | EBPassive | CRCDbit
| BRSBit | STUFferror | FORMerror | CRCerror | EOF} for CAN FD
The :SBUS<N>:CAN:TRIGger command sets the CAN "trigger on" condition:
• SOF - will trigger on the Start of Frame (SOF) bit of a Data frame, Remote
Transfer Request (RTR) frame, or an Overload frame.
• DATA - will trigger on CAN Data frames matching the specified ID, Data, and
the DLC (Data length code).
• ERRor — will trigger on CAN Error frame.
• IDData — will trigger on CAN frames matching the specified ID of a Data frame.
• IDRemote — will trigger on CAN frames matching the specified ID of a Remote
frame.
• ALLerrors — will trigger on CAN active error frames and unknown bus
conditions.
• OVERload — will trigger on CAN overload frames.
• ACKerror — will trigger on a data or remote frame acknowledge bit that is
recessive.
When :SBUS<N>:CAN:TYPE is set to CANFd, the previous IDData condition is no
longer valid, and the following "trigger on" conditions are valid:
• FDData — will trigger on CAN FD Data frames matching the specified ID, Data,
and the DLC (Data length code).
• IDFDdata — will trigger on CAN FD frames matching the specified ID of a Data
frame.
• EBActive — will trigger on ESI bit if set to active.
• EBPassive — will trigger on ESI bit if set to passive.
• CRCDbit — will trigger on CRC delimiter bit.
• BRSBit — will trigger on BRS bit.
• STUFferror — will trigger on stuff error.
• FORMerror — will trigger on form error.
• CRCerror — will trigger on CRC error.
NOTE
You must set the proper :SBUS<N>:MODE, :SBUS<N>:CAN:TRIGger, and
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE before setting any other trigger values.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1065
• EOF — will trigger on EOF.
CAN ID specification is set by the :SBUS<N>:CAN:TRIGger:PATTern:ID
and:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE commands.
CAN Data specification is set by the :SBUS<N>:CAN:TRIGger:PATTern:DATA
command.
CAN Data Length Code is set by the
:SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth command.
<N> An integer, 1-4.
Example To enable the SBUS1 trigger, set the trigger to CAN Data frame matching the
specified Standard ID 0x1f, Data 0x7fffff, and DLC 3.
myScope.WriteString ":TRIGger:MODE SBUS1"
myScope.WriteString ":SBUS1:MODE CAN"
myScope.WriteString ":SBUS1:CAN:TRIGger DATA"
myScope.WriteString ":SBUS1:CAN:TRIGger:PATTern:ID:MODE STANdard"
myScope.WriteString ":SBUS1:CAN:TRIGger:PATTern:ID '0x1f'"
myScope.WriteString ":SBUS1:CAN:TRIGger:PATTern:DATA:LENGth 3"
myScope.WriteString ":SBUS1:CAN:TRIGger:PATTern:DATA '0x7fffff'"
Query :SBUS<N>:CAN:TRIGger?
The :SBUS<N>:CAN:TRIGger? query returns the current CAN trigger on condition.
Returned Format <condition><NL>
<condition> ::= {SOF | DATA | ERR | IDD | IDE | IDR | ALL | OVER | ACK}
<condition> ::= {FDD | IDFD | EBA | EBP | CRCD| BRSB | STUF | FORM
| CRC | EOF} for CAN FD
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:CAN:TYPE" on page 1072
•":SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)" on page 1067
•":SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series, 9000H Series,
S-Series)" on page 1068
•":SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series, S-Series)"
on page 1070
•":SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series)" on page 1071
NOTE
CAN FD triggering is supported on Infiniium S-Series oscilloscopes only.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1067
:SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)
Command :SBUS<N>:CAN:TRIGger:PATTern:DATA <string>
<string> ::= "nn...n" where n ::= {0 |1|X|$}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
The :SBUS<N>:CAN:TRIGger:PATTern:DATA command defines the CAN data
pattern resource according to the string parameter. This pattern, along with the
data length (set by the :SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth
command), control the data pattern searched for in each CAN message.
If the string parameter starts with "0x", it is a hexadecimal string made up of
hexadecimal and X (don't care) characters; otherwise, it is a binary string made up
of 0, 1, and X (don't care) characters.
<N> An integer, 1-4.
Query :SBUS<N>:CAN:TRIGger:PATTern:DATA?
The :SBUS<N>:CAN:TRIGger:PATTern:DATA? query returns the current settings of
the specified CAN data pattern resource in the binary string format.
Returned Format <string><NL> in nondecimal format
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)" on
page 1064
•":SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series)" on page 1071
•":SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series, 9000H Series,
S-Series)" on page 1068
•":SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series, S-Series)"
on page 1070
History New in version 4.60.
NOTE
You must set the proper :SBUS<N>:MODE, :SBUS<N>:CAN:TRIGger, and
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE before setting any other trigger values.
NOTE
If more bits are sent for <string> than specified by the
:SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth command, the most significant bits will be
truncated.
1068 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series,
9000H Series, S-Series)
Command :SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth <length>
<length> ::= integer from 1 to 8 in NR1 format for standard CAN
<length> ::= integer from 1 to 15 in NR1 format for CAN FD
The :SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth command sets the number of
8-bit bytes in the CAN data string.
When ":SBUS<N>:CAN:TYPE CANStandard" is selected, the number of bytes in
the string can be anywhere from 1 bytes to 8 bytes (64 bits).
When ":SBUS<N>:CAN:TYPE CANFd" is selected, the number of bytes in the string
can be anywhere from 1 bytes to 15 bytes (120 bits).
The value for these bytes is set by the :SBUS<N>:CAN:TRIGger:PATTern:DATA
command.
<N> An integer, 1-4.
Query :SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth?
The :SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth? query returns the current
CAN data pattern length setting.
Returned Format <length><NL>
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:CAN:TYPE" on page 1072
•":SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)" on
page 1064
•":SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series)" on page 1071
•":SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)" on page 1067
•":SBUS<N>:CAN:SOURce" on page 1063
NOTE
You must set the proper :SBUS<N>:MODE, :SBUS<N>:CAN:TRIGger, and
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE before setting any other trigger values.
NOTE
CAN FD triggering is supported on Infiniium S-Series oscilloscopes only.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1069
History New in version 4.60.
Version 5.60: Length can be from 1 to 15 bytes for CAN FD.
1070 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series,
S-Series)
Command :SBUS<N>:CAN:TRIGger:PATTern:ID <string>
<string> ::= "nn...n" where n ::= {0 |1|X|$}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
The :SBUS<N>:CAN:TRIGger:PATTern:ID command defines the CAN identifier
pattern resource according to the string parameter. This pattern, along with the
identifier mode (set by the :SBUS<N>:CAN:TRIGger:PATTern:ID:MODE command),
control the identifier pattern searched for in each CAN message.
If the string parameter starts with "0x", it is a hexadecimal string made up of
hexadecimal and X (don't care) characters; otherwise, it is a binary string made up
of 0, 1, and X (don't care) characters.
<N> An integer, 1-4.
Query :SBUS<N>:CAN:TRIGger:PATTern:ID?
The :SBUS<N>:CAN:TRIGger:PATTern:ID? query returns the current settings of the
specified CAN identifier pattern resource in the 29-bit binary string format.
Returned Format <string><NL> in 29-bit binary string format
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)" on
page 1064
•":SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series)" on page 1071
•":SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)" on page 1067
History New in version 4.60.
NOTE
You must set the proper :SBUS<N>:MODE, :SBUS<N>:CAN:TRIGger, and
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE before setting this value; otherwise, this value is
defaulted to "don't care" when the mode is changed.
NOTE
The ID pattern resource string size changes based on the
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE setting; it is 11 bits when the mode is STANdard,
and it is 29 bits when the mode is EXTended.
A string longer than 29 bits is truncated to 29 bits when setting the ID pattern resource.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1071
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE (9000 Series, 9000H Series,
S-Series)
Command :SBUS<N>:CAN:TRIGger:PATTern:ID:MODE <value>
<value> ::= {STANdard | EXTended}
The :SBUS<N>:CAN:TRIGger:PATTern:ID:MODE command sets the CAN identifier
mode. STANdard selects the standard 11-bit identifier. EXTended selects the
extended 29-bit identifier. The CAN identifier is set by the
:SBUS<N>:CAN:TRIGger:PATTern:ID command.
<N> An integer, 1-4.
Query :SBUS<N>:CAN:TRIGger:PATTern:ID:MODE?
The :SBUS<N>:CAN:TRIGger:PATTern:ID:MODE? query returns the current setting
of the CAN identifier mode.
Returned Format <value><NL>
<value> ::= {STAN | EXT}
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)" on
page 1064
•":SBUS<N>:CAN:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)" on page 1067
•":SBUS<N>:CAN:TRIGger:PATTern:DATA:LENGth (9000 Series, 9000H Series,
S-Series)" on page 1068
•":SBUS<N>:CAN:TRIGger:PATTern:ID (9000 Series, 9000H Series, S-Series)"
on page 1070
History New in version 4.60.
NOTE
You must set the proper :SBUS<N>:MODE, :SBUS<N>:CAN:TRIGger, and
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE before setting any other trigger values.
1072 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:CAN:TYPE
Command :SBUS<N>:CAN:TYPE <cantype>
<cantype> ::= {CANStandard | CANFd}
The :SBUS<N>:CAN:TYPE command selects between standard CAN or Flexible
Data Rate CAN (CAN FD) decode types.
Query :SBUS<n>:CAN:TYPE?
The :SBUS<N>:CAN:TYPE? query returns the selected decode type.
Returned Format <cantype><NL>
<cantype> ::= {CANS | CANF}
See Also •":SBUS<N>:CAN:FDSPoint" on page 1058
•":SBUS<N>:CAN:SIGNal:FDBaudrate" on page 1062
•":SBUS<N>:CAN:TRIGger (9000 Series, 9000H Series, S-Series)" on
page 1064
History New in version 5.60.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1073
:SBUS<N>:FLEXray Commands
•":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
See Also •":SBUS<N>:MODE" on page 1056
NOTE
These commands are only valid when the automotive FLEXray serial decode option has been
licensed.
1074 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:FLEXray:BAUDrate
Command :SBUS<N>:FLEXray:BAUDrate <baudrate>
<baudrate> ::= {2500000 | 5000000 | 10000000}
The :SBUS<n>:FLEXray:BAUDrate command specifies the baud rate as 2.5 Mb/s,
5 Mb/s, or 10 Mb/s.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:BAUDrate?
The :SBUS<n>:FLEXray:BAUDrate? query returns the current baud rate setting.
Returned Format <baudrate><NL>
<baudrate> ::= {2500000 | 5000000 | 10000000}
See Also •":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1075
:SBUS<N>:FLEXray:CHANnel
Command :SBUS<N>:FLEXray:CHANnel <channel>
<channel> ::= {A | B}
The :SBUS<n>:FLEXray:CHANnel command specifies the bus channel, A or B, of
the FlexRay signal.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:CHANnel?
The :SBUS<n>:FLEXray:CHANnel? query returns the current bus channel setting.
Returned Format <channel><NL>
<channel> ::= {A | B}
See Also •":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
History New in version 5.20.
1076 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:FLEXray:SOURce
Command :SBUS<N>:FLEXray:SOURce <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:FLEXray:SOURce command sets the source for the FlexRay signal.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:FLEXray:SOURce?
The :SBUS<n>:FLEXray:SOURce? query returns the source of the FlexRay signal.
Returned Format <source><NL>
See Also •":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1077
:SBUS<N>:FLEXray:TRIGger
Command :SBUS<N>:FLEXray:TRIGger <condition>
<condition> ::= {FRAMe | ERRor}
The :SBUS<n>:FLEXray:TRIGger command sets the FLEXray "trigger on"
condition:
• FRAMe — triggers on specified frames (without errors).
• ERRor — triggers on selected active error frames and unknown bus conditions.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:TRIGger?
The :SBUS<n>:FLEXray:TRIGger? query returns the current FLEXray "trigger on"
condition.
Returned Format <condition><NL>
<condition> ::= {FRAM | ERR}
See Also •":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
History New in version 5.20.
NOTE
The FlexRay trigger is a software-based protocol trigger which operates on data that has
acquired (using an available hardware-based trigger) and decoded. In other words, you are
triggering on protocol search. Therefore, the :SBUS<n>:FLEXray:TRIGger commands are valid
only when protocol decode is turned on.
1078 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE
Command :SBUS<N>:FLEXray:TRIGger:ERRor:TYPE <error_type>
<error_type> ::= {ALL | HCRC | FCRC}
Selects the FlexRay error type to trigger on. The error type setting is only valid
when the FlexRay trigger mode is set to ERRor.
• ALL — triggers on ALL errors.
• HCRC — triggers on only Header CRC errors.
• FCRC — triggers on only Frame CRC errors.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:TRIGger:ERRor:TYPE?
The :SBUS<n>:FLEXray:TRIGger:ERRor:TYPE? query returns the currently selected
FLEXray error type.
Returned Format <error_type><NL>
<error_type> ::= {ALL | HCRC | FCRC}
See Also •":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1079
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase
Command :SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase <cycle_count_base>
<cycle_count_base> ::= integer from 0-63
The :SBUS<n>:FLEXray:TRIGger:FRAMe:CCBase command sets the base of the
FlexRay cycle count (in the frame header) to trigger on. The cycle count base
setting is only valid when the FlexRay trigger mode is set to FRAME.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase?
The :SBUS<n>:FLEXray:TRIGger:FRAMe:CCBase? query returns the current cycle
count base setting for the FlexRay frame trigger setup.
Returned Format <cycle_count_base><NL>
<cycle_count_base> ::= integer from 0-63
See Also •":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
History New in version 5.20.
1080 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition
Command :SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition <cycle_count_repetition>
<cycle_count_repetition> ::= {ALL | <rep_#>}
<rep_#> ::= integer values 2, 4, 8, 16, 32, or 64
The :SBUS<n>:FLEXray:TRIGger:FRAMe:CCRepetition command sets the
repetition number of the FlexRay cycle count (in the frame header) to trigger on.
The cycle count repetition setting is only valid when the FlexRay trigger mode is
set to FRAME.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition?
The :SBUS<n>:FLEXray:TRIGger:FRAMe:CCRepetition? query returns the current
cycle count repetition setting for the FlexRay frame trigger setup.
Returned Format <cycle_count_repetition><NL>
<cycle_count_repetition> ::= {ALL | <rep_#>}
<rep_#> ::= integer values 2, 4, 8, 16, 32, or 64
See Also •":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1081
:SBUS<N>:FLEXray:TRIGger:FRAMe:ID
Command :SBUS<N>:FLEXray:TRIGger:FRAMe:ID <frame_id>
<frame_id> ::= {ALL | <frame_#>}
<frame_#> ::= integer from 1-2047
The :SBUS<n>:FLEXray:TRIGger:FRAMe:ID command sets the FlexRay frame ID to
trigger on. The frame ID setting is only valid when the FlexRay trigger mode is set
to FRAMe.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:TRIGger:FRAMe:ID?
The :SBUS<n>:FLEXray:TRIGger:FRAMe:ID? query returns the current frame ID
setting for the FlexRay frame trigger setup.
Returned Format <frame_id><NL>
<frame_id> ::= {ALL | <frame_#>}
<frame_#> ::= integer from 1-2047
See Also •":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE" on page 1082
History New in version 5.20.
1082 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE
Command :SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE <frame_type>
<frame_type> ::= {NORMal | STARtup | NULL | SYNC | NNULl | ALL}
The :SBUS<n>:FLEXray:TRIGger:FRAMe:TYPE command sets the FlexRay frame
type to trigger on. The frame type setting is only valid when the FlexRay trigger
mode is set to FRAME.
• NORMal — will trigger on only normal (NSTArtup & NNULl & NSYNc) frames.
• STARtup — will trigger on only startup frames.
• NULL — will trigger on only null frames.
• SYNC — will trigger on only sync frames.
• NNULl — will trigger on frames other than null frames.
• ALL — will trigger on all FlexRay frame types.
<N> An integer, 1-4.
Query :SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE?
The :SBUS<n>:FLEXray:TRIGger:FRAMe:TYPE? query returns the current frame
type setting for the FlexRay frame trigger setup.
Returned Format <frame_type><NL>
<frame_type> ::= {NORM | STAR | NULL | SYNC | NNUL | ALL}
See Also •":SBUS<N>:FLEXray:BAUDrate" on page 1074
•":SBUS<N>:FLEXray:CHANnel" on page 1075
•":SBUS<N>:FLEXray:SOURce" on page 1076
•":SBUS<N>:FLEXray:TRIGger" on page 1077
•":SBUS<N>:FLEXray:TRIGger:ERRor:TYPE" on page 1078
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase" on page 1079
•":SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepetition" on page 1080
•":SBUS<N>:FLEXray:TRIGger:FRAMe:ID" on page 1081
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1083
:SBUS<N>:GENRaw Commands
•":SBUS<N>:GENRaw:SOURce" on page 1084
•":SBUS<N>:GENRaw:WSIZe" on page 1085
See Also •":SBUS<N>:MODE" on page 1056
NOTE
These commands are available when the Serial Data Analysis option has been licensed.
1084 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:GENRaw:SOURce
Command :SBUS<N>:GENRaw:SOURce <source>
The :SBUS<N>:GENRaw:SOURce command sets the source for the Generic Raw
signal.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
NONE}
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Query :SBUS<N>:GENRaw:SOURce?
The :SBUS<N>:GENRaw:SOURce? query returns the source of the Generic Raw
signal.
Returned Format <source><NL>
See Also •":SBUS<N>:GENRaw:WSIZe" on page 1085
History New in version 6.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1085
:SBUS<N>:GENRaw:WSIZe
Command :SBUS<N>:GENRaw:WSIZe <word_size>
The :SBUS<N>:GENRaw:WSIZe command sets the Generic Raw protocol decode
word size.
<word_size> An integer, 1-32.
Query :SBUS<N>:GENRaw:WSIZe?
The :SBUS<N>:GENRaw:WSIZe? query returns the specified word size.
Returned Format <word_size><NL>
See Also •":SBUS<N>:GENRaw:SOURce" on page 1084
History New in version 6.20.
1086 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:HS Commands
•":SBUS<N>:HS:DESCramble" on page 1087
•":SBUS<N>:HS:FORMat" on page 1088
•":SBUS<N>:HS:IDLE" on page 1089
•":SBUS<N>:HS:SOURce<S>" on page 1090
See Also •":BUS:B<N>:TYPE" on page 288
NOTE
These commands are only valid when the high-speed (HS) serial decode type has been
licensed and set with the :BUS:B<N>:TYPE command.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1087
:SBUS<N>:HS:DESCramble
Command :SBUS<N>:HS:DESCramble {{0 | OFF} | {1 | ON}}
The :SBUS<N>:HS:DESCramble command turns high-speed descrambling on or
off if supported by the protocol type.
Query :SBUS<N>:HS:DESCramble?
The :SBUS<N>:HS:DESCramble? query returns the current descrambling setting
of the high-speed serial decode bus.
Returned Format [:SBUS<N>:HS:DESCramble] {0 | 1}<NL>
See Also •":BUS:B<N>:TYPE" on page 288
•":SBUS<N>:HS:FORMat" on page 1088
•":SBUS<N>:HS:IDLE" on page 1089
•":SBUS<N>:HS:SOURce<S>" on page 1090
History New in version 5.00.
NOTE
This command is only valid when a serial decode option has been licensed.
1088 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:HS:FORMat
Command :SBUS<N>:HS:FORMat <value>
<value> ::= {KDCode | LABel | F8Bit | F10Bit}
The :SBUS<N>:HS:FORMat command specifies the high-speed symbol display
format.
<N> Is an integer, 1-4.
Example This example sets the K/D Code symbol display format.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":SBUS<N>:HS:FORMat KDCode"
Query :SBUS<N>:HS:FORMat?
The :SBUS<N>:HS:FORMat? query returns the high-speed symbol display format
setting.
Returned Format [:SBUS<N>:HS:FORMat] <value><NL>
<value> ::= {KDCode | LABel | F8Bit | F10Bit}
See Also •":BUS:B<N>:TYPE" on page 288
•":SBUS<N>:HS:DESCramble" on page 1087
•":SBUS<N>:HS:IDLE" on page 1089
•":SBUS<N>:HS:SOURce<S>" on page 1090
History New in version 5.00.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1089
:SBUS<N>:HS:IDLE
Command :SBUS<N>:HS:IDLE {{0 | OFF} | {1 | ON}}
The :SBUS<N>:HS:IDLE command specifies whether electrical idles are present in
the signal.
Query :SBUS<N>:HS:IDLE?
The :SBUS<N>:HS:IDLE? query returns the current ".electrical idles are present"
setting.
Returned Format [:SBUS<N>:HS:IDLE] {0 | 1}<NL>
See Also •":BUS:B<N>:TYPE" on page 288
•":SBUS<N>:HS:DESCramble" on page 1087
•":SBUS<N>:HS:FORMat" on page 1088
•":SBUS<N>:HS:SOURce<S>" on page 1090
History New in version 5.00.
NOTE
This command is only valid when a serial decode option has been licensed.
1090 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:HS:SOURce<S>
Command :SBUS<N>:HS:SOURce<S> <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | NONE}
The :SBUS<N>:HS:SOURce<S> command specifies the signal that is the
high-speed data source.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<S> Is an integer, 1-4, for the high-speed serial source.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example specifies channel 2 is the high-speed data source 3 signal.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":SBUS1:HS:SOURce3 CHANnel2"
Query :SBUS<N>:HS:SOURce<S>?
The :SBUS<N>:HS:SOURce<S>? query returns the current signal for the
high-speed data source.
Returned Format [:SBUS<N>:HS:SOURce<S>] <source><NL>
<source> ::= {CHAN<N> | FUNC<F> | WMEM<N> | NONE}
See Also •":BUS:B<N>:TYPE" on page 288
•":SBUS<N>:HS:DESCramble" on page 1087
•":SBUS<N>:HS:FORMat" on page 1088
•":SBUS<N>:HS:IDLE" on page 1089
History New in version 5.00.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1091
:SBUS<N>:IIC Commands
•":SBUS<N>:IIC:ASIZe" on page 1092
•":SBUS<N>:IIC:SOURce:CLOCk" on page 1093
•":SBUS<N>:IIC:SOURce:DATA" on page 1094
•":SBUS<N>:IIC:TRIGger:PATTern:ADDRess (9000 Series, 9000H Series,
S-Series)" on page 1095
•":SBUS<N>:IIC:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series)"
on page 1097
•":SBUS<N>:IIC:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)" on
page 1098
See Also •":SBUS<N>:MODE" on page 1056
NOTE
These commands are only valid when the low-speed IIC and SPI serial decode option has been
licensed.
1092 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:IIC:ASIZe
Command :SBUS<N>:IIC:ASIZe <size>
<size> ::= {BIT7 | BIT8}
The :SBUS<N>:IIC:ASIZe command determines whether the Read/Write bit is
included as the LSB in the display of the IIC address field of the decode bus.
<N> An integer, 1-4.
Query :SBUS<N>:IIC:ASIZe?
The :SBUS<N>:IIC:ASIZe? query returns the current IIC address width setting.
Returned Format [:SBUS<N>:IIC:ASIZe] <size><NL>
See Also •":SBUS<N>:IIC:TRIGger:PATTern:ADDRess (9000 Series, 9000H Series,
S-Series)" on page 1095
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1093
:SBUS<N>:IIC:SOURce:CLOCk
Command :SBUS<N>:IIC:SOURce:CLOCk <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:IIC:SOURce:CLOCk command sets the source for the IIC serial
clock (SCL).
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Example This example selects channel 2 as the source for IIC serial clock.
myScope.WriteString ":SBUS1:IIC:SOURce:CLOCk CHANnel2"
Query :SBUS<N>:IIC:SOURce:CLOCk?
The :SBUS<N>:IIC:SOURce:CLOCk? query returns the current source for the IIC
serial clock.
Returned Format [:SBUS<N>:IIC:SOURce:CLOCk] <source><NL>
See Also •":SBUS<N>:IIC:SOURce:DATA" on page 1094
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Version 5.20: The NONE parameter was added.
1094 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:IIC:SOURce:DATA
Command :SBUS<N>:IIC:SOURce:DATA <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:IIC:SOURce:DATA command sets the source for IIC serial data
(SDA).
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Example This example selects channel 1 as the source for IIC serial data.
myScope.WriteString ":SBUS1:IIC:SOURce:DATA CHANnel1"
Query :SBUS<N>:IIC:SOURce:DATA?
The :SBUS<N>:IIC:SOURce:DATA? query returns the current source for IIC serial
data.
Returned Format [:SBUS<N>:IIC:SOURce:DATA] <source><NL>
See Also •":SBUS<N>:IIC:SOURce:CLOCk" on page 1093
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Version 5.20: The NONE parameter was added.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1095
:SBUS<N>:IIC:TRIGger:PATTern:ADDRess (9000 Series, 9000H Series,
S-Series)
Command :SBUS<N>:IIC:TRIGger:PATTern:ADDRess <quoted_string>
The :SBUS<n>:IIC:TRIGger:PATTern:ADDRess command specifies the IIC address
value to trigger on.The address can be a 7-, 8-, 10-, or 11-bit address depending
upon the :SBUS<n>IIC:TRIGger:TYPE specification and the :SBUS<n>IIC:ASIZe
setting.
The :SBUS<N>:IIC:TRIGger:TYPE command must select a type that includes an
address value before you can use the :SBUS<N>:IIC:TRIGger:PATTern:ADDRess
commands.
<N> An integer, 1-4.
<quoted_string> If the quoted string parameter starts with "0x", it is a hexadecimal string made up
of hexadecimal and X (don't care) characters (for example, "0x34XF"); otherwise, it
is a binary string made up of 0, 1, and X (don't care) characters (for example,
"00110100XXXX1111").
Example To enable the SBUS1 trigger, set the trigger type to a 7-bit address frame read,
and specify an address value of 0x3F:
myScope.WriteString ":CHANnel1:DISPlay ON"
myScope.WriteString ":CHANnel2:DISPlay ON"
myScope.WriteString ":SBUS1:MODE IIC"
myScope.WriteString ":SBUS1:IIC:SOURce:DATA CHANnel1"
myScope.WriteString ":SBUS1:IIC:SOURce:CLOCk CHANnel2"
myScope.WriteString ":TRIGger:MODE SBUS1"
myScope.WriteString ":SBUS1:IIC:TRIGger:TYPE READ7"
myScope.WriteString ":SBUS1:IIC:TRIGger:PATTern:ADDRess '0x3f'"
myScope.WriteString ":SBUS1:IIC:TRIGger:PATTern:DATA '0x7fffff'"
Query :SBUS<N>:IIC:TRIGger:PATTern:ADDRess?
The :SBUS<N>:IIC:TRIGger:PATTern:ADDRess? query returns the current pattern
for the IIC address.
Returned Format [:SBUS<N>:IIC:TRIGger:PATTern:ADDRess] <binary_string><NL>
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:IIC:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)" on
page 1098
•":SBUS<N>:IIC:ASIZe" on page 1092
NOTE
You must set :SBUS<N>:MODE to IIC before you can send other :SBUS<N>:IIC:TRIGger
commands.
1096 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
History New in version 3.50.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1097
:SBUS<N>:IIC:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)
Command :SBUS<N>:IIC:TRIGger:PATTern:DATA <quoted_string>
The :SBUS<N>:IIC:TRIGger:PATTern:DATA command sets IIC data.
You can specify 1 to 20 bytes of data in binary or hex format.
The :SBUS<N>:IIC:TRIGger:TYPE command must select a type that includes a data
value before you can use the :SBUS<N>:IIC:TRIGger:PATTern:DATA commands.
<N> An integer, 1-4.
<quoted_string> If the quoted string parameter starts with "0x", it is a hexadecimal string made up
of hexadecimal and X (don't care) characters (for example, "0x34XF"); otherwise, it
is a binary string made up of 0, 1, and X (don't care) characters (for example,
"00110100XXXX1111").
Example To enable the SBUS1 trigger, set the trigger type to a 7-bit address frame read,
and specify a data value of 0x7FFFFF:
myScope.WriteString ":CHANnel1:DISPlay ON"
myScope.WriteString ":CHANnel2:DISPlay ON"
myScope.WriteString ":SBUS1:MODE IIC"
myScope.WriteString ":SBUS1:IIC:SOURce:DATA CHANnel1"
myScope.WriteString ":SBUS1:IIC:SOURce:CLOCk CHANnel2"
myScope.WriteString ":TRIGger:MODE SBUS1"
myScope.WriteString ":SBUS1:IIC:TRIGger:TYPE READ7"
myScope.WriteString ":SBUS1:IIC:TRIGger:PATTern:ADDRess '0x3f'"
myScope.WriteString ":SBUS1:IIC:TRIGger:PATTern:DATA '0x7fffff'"
Query :SBUS<N>:IIC:TRIGger:PATTern:DATA?
The :SBUS<n>:IIC:TRIGger:PATTern:DATA? query returns the current pattern for IIC
data.
Returned Format [:SBUS<N>:IIC:TRIGger:PATTern:DATA] <binary_string><NL>
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:IIC:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)" on
page 1098
History New in version 3.50.
NOTE
You must set :SBUS<N>:MODE to IIC before you can send other :SBUS<N>:IIC:TRIGger
commands.
1098 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:IIC:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)
Command :SBUS<N>:IIC:TRIGger:TYPE {STARt | STOP | RESTart7 | RESTart10 | AACK
| ANACk | READ7| WRITe7 | WRITe10}
The :SBUS<N>:IIC:TRIGger:TYPE command sets the IIC trigger type:
• STARt — Start condition.
• STOP — Stop condition.
• RESTart7 — Another 7-bit start condition occurs before a stop condition.
• RESTart10 — Another 10-bit start condition occurs before a stop condition.
• AACK — Address with acknowledge.
• ANACk — Address with no acknowledge.
• READ7 — 7-bit address frame containing (Start:Address7:Read:Ack:Data).
• WRITe7 — 7-bit address frame containing (Start:Address7:Write:Ack:Data).
• WRITe10 — 10-bit address frame containing (Start:Address
byte1:Write:Ack:Address byte 2:Data).
The :SBUS<N>:IIC:TRIGger:TYPE command must be sent before the
:SBUS<N>:IIC:TRIGger:PATTern:ADDRess or :SBUS<N>:IIC:TRIGger:PATTern:DATA
commands.
<N> An integer, 1-4.
Example To enable the SBUS1 trigger and set the IIC trigger type to a 7-bit address frame
read:
myScope.WriteString ":CHANnel1:DISPlay ON"
myScope.WriteString ":CHANnel2:DISPlay ON"
myScope.WriteString ":SBUS1:MODE IIC"
myScope.WriteString ":SBUS1:IIC:SOURce:DATA CHANnel1"
myScope.WriteString ":SBUS1:IIC:SOURce:CLOCk CHANnel2"
myScope.WriteString ":TRIGger:MODE SBUS1"
myScope.WriteString ":SBUS1:IIC:TRIGger:TYPE READ7"
myScope.WriteString ":SBUS1:IIC:TRIGger:PATTern:ADDRess '0x3f'"
myScope.WriteString ":SBUS1:IIC:TRIGger:PATTern:DATA '0x7fffff'"
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
NOTE
You must set :SBUS<N>:MODE to IIC before you can send other :SBUS<N>:IIC:TRIGger
commands.
NOTE
The short form of READ7 (READ7), WRITe7 (WRIT7), WRITe10 (WRIT10), RESTart7 (REST7),
and RESTart10 (REST10) do not follow the defined long form to short form truncation rules.
1100 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:LIN Commands
•":SBUS<N>:LIN:SAMPlepoint" on page 1101
•":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1102
•":SBUS<N>:LIN:SOURce" on page 1103
•":SBUS<N>:LIN:STANdard" on page 1104
•":SBUS<N>:LIN:TRIGger" on page 1105
•":SBUS<N>:LIN:TRIGger:ID" on page 1106
•":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1107
•":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1108
See Also •":SBUS<N>:MODE" on page 1056
NOTE
These commands are only valid when the automotive LIN serial decode option has been
licensed.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1101
:SBUS<N>:LIN:SAMPlepoint
Command :SBUS<N>:LIN:SAMPlepoint <value>
<value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format
The :SBUS<n>:LIN:SAMPlepoint command sets the point during the bit time
where the bit level is sampled to determine whether the bit is dominant or
recessive. The sample point represents the percentage of time between the
beginning of the bit time to the end of the bit time.
<N> An integer, 1-4.
Query :SBUS<N>:LIN:SAMPlepoint?
The :SBUS<n>:LIN:SAMPlepoint? query returns the current LIN sample point
setting.
Returned Format <value><NL>
<value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format
See Also •":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1102
•":SBUS<N>:LIN:SOURce" on page 1103
•":SBUS<N>:LIN:STANdard" on page 1104
•":SBUS<N>:LIN:TRIGger" on page 1105
•":SBUS<N>:LIN:TRIGger:ID" on page 1106
•":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1107
•":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1108
History New in version 5.20.
NOTE
The sample point values are not limited by the baud rate.
1102 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:LIN:SIGNal:BAUDrate
Command :SBUS<N>:LIN:SIGNal:BAUDrate <baudrate>
<baudrate> ::= from 2400 to 625000 in NR3 format
The :SBUS<n>:LIN:SIGNal:BAUDrate command sets the standard baud rate of the
LIN signal from 2400 b/s to 625 kb/s.
If you enter a baud rate over 100 kb/s that is not divisible by 10 b/s, the baud rate
is set to the nearest baud rate divisible by 10 b/s.
<N> An integer, 1-4.
Query :SBUS<N>:LIN:SIGNal:BAUDrate?
The :SBUS<n>:LIN:SIGNal:BAUDrate? query returns the current LIN baud rate
setting.
Returned Format <baudrate><NL>
<baudrate> ::= from 2400 to 625000 in NR3 format
See Also •":SBUS<N>:LIN:SAMPlepoint" on page 1101
•":SBUS<N>:LIN:SOURce" on page 1103
•":SBUS<N>:LIN:STANdard" on page 1104
•":SBUS<N>:LIN:TRIGger" on page 1105
•":SBUS<N>:LIN:TRIGger:ID" on page 1106
•":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1107
•":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1108
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1103
:SBUS<N>:LIN:SOURce
Command :SBUS<N>:LIN:SOURce <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<n>:LIN:SOURce command sets the source for the LIN signal.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:LIN:SOURce?
The :SBUS<n>:LIN:SOURce? query returns the current source for the LIN signal.
Returned Format <source><NL>
See Also •":SBUS<N>:LIN:SAMPlepoint" on page 1101
•":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1102
•":SBUS<N>:LIN:STANdard" on page 1104
•":SBUS<N>:LIN:TRIGger" on page 1105
•":SBUS<N>:LIN:TRIGger:ID" on page 1106
•":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1107
•":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1108
History New in version 5.20.
1104 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:LIN:STANdard
Command :SBUS<N>:LIN:STANdard <std>
<std> ::= {LIN13 | LIN20}
The :SBUS<n>:LIN:STANdard command sets the LIN standard in effect for
triggering and decoding to be LIN1.3 or LIN2.0.
<N> An integer, 1-4.
Query :SBUS<N>:LIN:STANdard?
The :SBUS<n>:LIN:STANdard? query returns the current LIN standard setting,
which is always LIN20.
When triggering, the oscilloscope looks for both the LIN 1.3 and 2.0 checksum.
Returned Format <std><NL>
<std> ::= LIN20
See Also •":SBUS<N>:LIN:SAMPlepoint" on page 1101
•":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1102
•":SBUS<N>:LIN:SOURce" on page 1103
•":SBUS<N>:LIN:TRIGger" on page 1105
•":SBUS<N>:LIN:TRIGger:ID" on page 1106
•":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1107
•":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1108
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1105
:SBUS<N>:LIN:TRIGger
Command :SBUS<N>:LIN:TRIGger <condition>
<condition> ::= {ID | DATA | PARityerror | CSUMerror | ALLerrors}
The :SBUS<n>:LIN:TRIGger command sets the LIN trigger condition to be:
•ID — Frame ID.
Use the :SBUS<n>:LIN:TRIGger:ID command to specify the frame ID.
•DATA — Frame ID and Data.
Use the :SBUS<n>:LIN:TRIGger:ID command to specify the frame ID.
Use the :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth and
:SBUS<n>:LIN:TRIGger:PATTern:DATA commands to specify the data string
length and value.
• PARityerror — parity errors.
• CSUMerror — checksum errors.
• ALLerrors — all errors.
<N> An integer, 1-4.
Query :SBUS<N>:LIN:TRIGger?
The :SBUS<n>:LIN:TRIGger? query returns the current LIN trigger value.
Returned Format <condition><NL>
<condition> ::= {ID | DATA | PAR | CSUM | ALL}
See Also •":SBUS<N>:LIN:SAMPlepoint" on page 1101
•":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1102
•":SBUS<N>:LIN:SOURce" on page 1103
•":SBUS<N>:LIN:STANdard" on page 1104
•":SBUS<N>:LIN:TRIGger:ID" on page 1106
•":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1107
•":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1108
History New in version 5.20.
1106 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:LIN:TRIGger:ID
Command :SBUS<N>:LIN:TRIGger:ID <string>
<string> ::= "nn...n" where n ::= {0 |1|X|$}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
The :SBUS<n>:LIN:TRIGger:ID command defines the LIN identifier searched for in
each CAN message when the LIN trigger mode is set to frame ID.
If the string parameter starts with "0x", it is a hexadecimal string made up of
hexadecimal and X (don't care) characters; otherwise, it is a binary string made up
of 0, 1, and X (don't care) characters.
<N> An integer, 1-4.
Query :SBUS<N>:LIN:TRIGger:ID?
The :SBUS<n>:LIN:TRIGger:ID? query returns the current LIN identifier setting.
Returned Format <string><NL> in 6-bit binary string format
See Also •":SBUS<N>:LIN:SAMPlepoint" on page 1101
•":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1102
•":SBUS<N>:LIN:SOURce" on page 1103
•":SBUS<N>:LIN:STANdard" on page 1104
•":SBUS<N>:LIN:TRIGger" on page 1105
•":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1107
•":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1108
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1107
:SBUS<N>:LIN:TRIGger:PATTern:DATA
Command :SBUS<N>:LIN:TRIGger:PATTern:DATA <string>
<string> ::= "nn...n" where n ::= {0 |1|X|$}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
The :SBUS<N>:LIN:TRIGger:PATTern:DATA command defines the LIN data pattern
resource according to the string parameter. This pattern, along with the data
length (set by the :SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth command),
control the data pattern searched for in each LIN message.
If the string parameter starts with "0x", it is a hexadecimal string made up of
hexadecimal and X (don't care) characters; otherwise, it is a binary string made up
of 0, 1, and X (don't care) characters.
<N> An integer, 1-4.
Query :SBUS<N>:LIN:TRIGger:PATTern:DATA?
The :SBUS<N>:LIN:TRIGger:PATTern:DATA? query returns the current settings of
the specified LIN data pattern resource in the binary string format.
Returned Format <string><NL> in nondecimal format
See Also •":SBUS<N>:LIN:SAMPlepoint" on page 1101
•":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1102
•":SBUS<N>:LIN:SOURce" on page 1103
•":SBUS<N>:LIN:STANdard" on page 1104
•":SBUS<N>:LIN:TRIGger" on page 1105
•":SBUS<N>:LIN:TRIGger:ID" on page 1106
•":SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth" on page 1108
History New in version 5.20.
NOTE
If more bits are sent for <string> than specified by the
:SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth command, the most significant bits will be
truncated.
1108 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth
Command :SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth <length>
<length> ::= integer from 1 to 8.
The :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth command sets the number of
8-bit bytes in the LIN data string. The number of bytes in the string can be
anywhere from 1 bytes to 8 bytes (64 bits). The value for these bytes is set by the
:SBUS<n>:LIN:TRIGger:PATTern:DATA command.
Query :SBUS<N>:LIN:TRIGger:PATTern:DATA:LENGth?
The :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth? query returns the current LIN
data pattern length setting.
Returned Format <length><NL>
<length> ::= integer from 1 to 8.
See Also •":SBUS<N>:LIN:SAMPlepoint" on page 1101
•":SBUS<N>:LIN:SIGNal:BAUDrate" on page 1102
•":SBUS<N>:LIN:SOURce" on page 1103
•":SBUS<N>:LIN:STANdard" on page 1104
•":SBUS<N>:LIN:TRIGger" on page 1105
•":SBUS<N>:LIN:TRIGger:ID" on page 1106
•":SBUS<N>:LIN:TRIGger:PATTern:DATA" on page 1107
History New in version 5.20.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1109
:SBUS<N>:SPI Commands
•":SBUS<N>:SPI:BITorder" on page 1110
•":SBUS<N>:SPI:CLOCk:SLOPe" on page 1111
•":SBUS<N>:SPI:CLOCk:TIMeout" on page 1112
•":SBUS<N>:SPI:FRAMe:STATe" on page 1113
•":SBUS<N>:SPI:SOURce:CLOCk" on page 1114
•":SBUS<N>:SPI:SOURce:DATA" on page 1116
•":SBUS<N>:SPI:SOURce:FRAMe" on page 1118
•":SBUS<N>:SPI:SOURce:MISO" on page 1119
•":SBUS<N>:SPI:SOURce:MOSI" on page 1120
•":SBUS<N>:SPI:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series)"
on page 1122
•":SBUS<N>:SPI:TRIGger:PATTern:WIDTh (9000 Series, 9000H Series,
S-Series)" on page 1124
•":SBUS<N>:SPI:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)" on
page 1126
•":SBUS<N>:SPI:TYPE" on page 1128
•":SBUS<N>:SPI:WIDTh" on page 1129
See Also •":SBUS<N>:MODE" on page 1056
NOTE
These commands are only valid when the low-speed IIC and SPI serial decode option has been
licensed.
1110 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:BITorder
Command :SBUS<N>:SPI:BITorder <order>
<order> ::= {LSB | MSB}
The :SBUS<N>:SPI:BITorder command selects the bit order, most significant bit
first (MSB) or least significant bit first (LSB), used when displaying data in the
serial decode waveform and in the Lister.
<N> An integer, 1-4.
Query :SBUS<N>:SPI:BITorder?
The :SBUS<N>:SPI:BITorder? query returns the current SPI decode bit order.
Returned Format [:SBUS<N>:SPI:BITorder] <order><NL>
See Also •":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1111
:SBUS<N>:SPI:CLOCk:SLOPe
Command :SBUS<N>:SPI:CLOCk:SLOPe <slope>
<slope> ::= {POSitive | RISing | NEGative | FALLing}
The :SBUS<N>:SPI:CLOCk:SLOPe command specifies the rising edge (POSitive) or
falling edge (NEGative) of the SPI clock source that will clock in the data.
<N> An integer, 1-4.
Query :SBUS<N>:SPI:CLOCk:SLOPe?
The :SBUS<N>:SPI:CLOCk:SLOPe? query returns the current SPI clock source
slope.
Returned Format [:SBUS<N>:SPI:CLOCk:SLOPe] <slope><NL>
<slope> ::= {RIS | FALL}
See Also •":SBUS<N>:SPI:CLOCk:TIMeout" on page 1112
•":SBUS<N>:SPI:SOURce:CLOCk" on page 1114
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
1112 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:CLOCk:TIMeout
Command :SBUS<N>:SPI:CLOCk:TIMeout <time_value>
<time_value> ::= time in seconds in NR3 format
The :SBUS<N>:SPI:CLOCk:TIMeout command sets the SPI signal clock timeout
resource in seconds from 100 ns to 10 s when the :SBUS<N>:SPI:FRAMing
command is set to TIMeout. The timer is used to frame a signal by a clock timeout.
<N> An integer, 1-4.
Query :SBUS<N>:SPI:CLOCk:TIMeout?
The :SBUS<N>:SPI:CLOCk:TIMeout? query returns current SPI clock timeout
setting.
Returned Format [:SBUS<N>:SPI:CLOCk:TIMeout] <time value><NL>
See Also •":SBUS<N>:SPI:CLOCk:SLOPe" on page 1111
•":SBUS<N>:SPI:SOURce:CLOCk" on page 1114
•":SBUS<N>:SPI:FRAMe:STATe" on page 1113
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1113
:SBUS<N>:SPI:FRAMe:STATe
Command :SBUS<N>:SPI:FRAMe:STATe <value>
<value> ::= {LOW | HIGH}
The :SBUS<N>:SPI:FRAMe:STATe command sets the SPI trigger frame state.
<N> An integer, 1-4.
Query :SBUS<N>:SPI:FRAMe:STATe?
The :SBUS<N>:SPI:FRAMe:STATe? query returns the current SPI frame state.
Returned Format [:SBUS<N>:SPI:FRAMe:STATe] <value><NL>
See Also •":SBUS<N>:SPI:SOURce:FRAMe" on page 1118
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
1114 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:SOURce:CLOCk
Command :SBUS<N>:SPI:SOURce:CLOCk <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:SPI:SOURce:CLOCk command sets the source for the SPI serial
clock.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:CLOCk?
The :SBUS<N>:SPI:SOURce:CLOCk? query returns the current source for the SPI
serial clock.
Returned Format [:SBUS<N>:SPI:SOURce:CLOCk] <source><NL>
See Also •":SBUS<N>:SPI:CLOCk:SLOPe" on page 1111
•":SBUS<N>:SPI:CLOCk:TIMeout" on page 1112
•":SBUS<N>:SPI:SOURce:FRAMe" on page 1118
•":SBUS<N>:SPI:SOURce:MOSI" on page 1120
•":SBUS<N>:SPI:SOURce:MISO" on page 1119
•":SBUS<N>:SPI:SOURce:DATA" on page 1116
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1115
Version 5.20: The NONE parameter was added.
1116 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:SOURce:DATA
Command :SBUS<N>:SPI:SOURce:DATA <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:SPI:SOURce:DATA command sets the source for the SPI serial
MOSI data.
This command is the same as the :SBUS<N>:SPI:SOURce:MOSI command.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:DATA?
The :SBUS<N>:SPI:SOURce:DATA? query returns the current source for the SPI
serial MOSI data.
Returned Format [:SBUS<N>:SPI:SOURce:DATA] <source><NL>
See Also •":SBUS<N>:SPI:SOURce:MOSI" on page 1120
•":SBUS<N>:SPI:SOURce:MISO" on page 1119
•":SBUS<N>:SPI:SOURce:CLOCk" on page 1114
•":SBUS<N>:SPI:SOURce:FRAMe" on page 1118
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1117
Version 5.20: The NONE parameter was added.
1118 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:SOURce:FRAMe
Command :SBUS<N>:SPI:SOURce:FRAMe <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:SPI:SOURce:FRAMe command sets the frame source.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:FRAMe?
The :SBUS<N>:SPI:SOURce:FRAMe? query returns the current frame source for
the SPI serial frame.
Returned Format [:SBUS<N>:SPI:SOURce:FRAMe] <source><NL>
See Also •":SBUS<N>:SPI:SOURce:CLOCk" on page 1114
•":SBUS<N>:SPI:SOURce:MOSI" on page 1120
•":SBUS<N>:SPI:SOURce:MISO" on page 1119
•":SBUS<N>:SPI:SOURce:DATA" on page 1116
•":SBUS<N>:SPI:FRAMe:STATe" on page 1113
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Version 5.20: The NONE parameter was added.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1119
:SBUS<N>:SPI:SOURce:MISO
Command :SBUS<N>:SPI:SOURce:MISO <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:SPI:SOURce:MISO command sets the source for the SPI serial
MISO data.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:MISO?
The :SBUS<N>:SPI:SOURce:MISO? query returns the current source for the SPI
serial MISO data.
Returned Format [:SBUS<N>:SPI:SOURce:MISO] <source><NL>
See Also •":SBUS<N>:SPI:SOURce:MOSI" on page 1120
•":SBUS<N>:SPI:SOURce:DATA" on page 1116
•":SBUS<N>:SPI:SOURce:CLOCk" on page 1114
•":SBUS<N>:SPI:SOURce:FRAMe" on page 1118
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Version 5.20: The NONE parameter was added.
1120 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:SOURce:MOSI
Command :SBUS<N>:SPI:SOURce:MOSI <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<R> | DIGital<M> | NONE}
The :SBUS<N>:SPI:SOURce:MOSI command sets the source for the SPI serial
MOSI data.
You can also use the equivalent :SBUS<N>:SPI:SOURce:DATA command to set the
MOSI data source.
The NONE parameter is the same as selecting "None" for the source in the user
interface. It makes the previously selected channel, waveform memory, or math
function available for other decodes.
<N> SBUS<N> is an integer, 1-4.
CHANnel<N> is an integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope
system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :SBUS<N>:SPI:SOURce:MOSI?
The :SBUS<N>:SPI:SOURce:MOSI? query returns the current source for the SPI
serial MOSI data.
Returned Format [:SBUS<N>:SPI:SOURce:MOSI] <source><NL>
See Also •":SBUS<N>:SPI:SOURce:DATA" on page 1116
•":SBUS<N>:SPI:SOURce:MISO" on page 1119
•":SBUS<N>:SPI:SOURce:CLOCk" on page 1114
•":SBUS<N>:SPI:SOURce:FRAMe" on page 1118
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1121
Version 5.20: The NONE parameter was added.
1122 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:TRIGger:PATTern:DATA (9000 Series, 9000H Series,
S-Series)
Command :SBUS<N>:SPI:TRIGger:PATTern:DATA <quoted_string>
The :SBUS<N>:SPI:TRIGger:PATTern:DATA command defines the SPI data pattern
resource according to the string parameter. This pattern, along with the data
width, control the data pattern searched for in the data stream.
The :SBUS<N>:SPI:TRIGger:PATTern:DATA command must receive the number of
bytes specified by the :SBUS<N>:SPI:TRIGger:PATTern:WIDTh command.
<N> An integer, 1-4.
<quoted_string> If the quoted string parameter starts with "0x", it is a hexadecimal string made up
of hexadecimal and X (don't care) characters (for example, "0x34XF"); otherwise, it
is a binary string made up of 0, 1, and X (don't care) characters (for example,
"00110100XXXX1111").
Example To enable the SBUS1 trigger, set the SPI trigger type to MOSI, set a 32-bit data
pattern width, and specify the 0x0080FFFF data pattern:
myScope.WriteString ":CHANnel1:DISPlay ON"
myScope.WriteString ":CHANnel2:DISPlay ON"
myScope.WriteString ":CHANnel3:DISPlay ON"
myScope.WriteString ":CHANnel4:DISPlay ON"
myScope.WriteString ":SBUS1:MODE SPI"
myScope.WriteString ":SBUS1:SPI:WIDTh 16"
myScope.WriteString ":SBUS1:SPI:TYPE WIRE4"
myScope.WriteString ":SBUS1:SPI:SOURce:MOSI CHANnel1"
myScope.WriteString ":SBUS1:SPI:SOURce:CLOCk CHANnel2"
myScope.WriteString ":SBUS1:SPI:SOURce:FRAMe CHANnel3"
myScope.WriteString ":SBUS1:SPI:SOURce:MISO CHANnel4"
myScope.WriteString ":TRIGger:MODE SBUS1"
myScope.WriteString ":SBUS1:SPI:TRIGger:TYPE MOSI"
myScope.WriteString ":SBUS1:SPI:TRIGger:PATTern:WIDTh 2"
myScope.WriteString ":SBUS1:SPI:TRIGger:PATTern:DATA '0x0080ffff'"
Query :SBUS<N>:SPI:TRIGger:PATTern:DATA?
The :SBUS<N>:SPI:TRIGger:PATTern:DATA? query returns the current settings of
the specified SPI data pattern resource in the binary string format.
Returned Format [:SBUS<N>:SPI:TRIGger:PATTern:DATA] <binary_string><NL>
NOTE
You must set :SBUS<N>:MODE to SPI before you can send other :SBUS<N>:SPI:TRIGger
commands.
NOTE
The :SBUS<N>:SPI:TRIGger:PATTern:WIDTh should be set before
:SBUS<N>:SPI:TRIGger:PATTern:DATA.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1123
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:SPI:TRIGger:PATTern:WIDTh (9000 Series, 9000H Series,
S-Series)" on page 1124
•":SBUS<N>:SPI:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)" on
page 1126
History New in version 3.50.
1124 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:TRIGger:PATTern:WIDTh (9000 Series, 9000H Series,
S-Series)
Command :SBUS<N>:SPI:TRIGger:PATTern:WIDTh {1 - 20}
The :SBUS<N>:SPI:TRIGger:PATTern:WIDTh command sets the width of the SPI
data pattern. You can specify the width in multiples of the SPI word size up to 20.
<N> An integer, 1-4.
Example To enable the SBUS1 trigger, set the SPI trigger type to MOSI, set a 32-bit data
pattern width (two 16-bit words), and specify the 0x0080FFFF data pattern:
myScope.WriteString ":CHANnel1:DISPlay ON"
myScope.WriteString ":CHANnel2:DISPlay ON"
myScope.WriteString ":CHANnel3:DISPlay ON"
myScope.WriteString ":CHANnel4:DISPlay ON"
myScope.WriteString ":SBUS1:MODE SPI"
myScope.WriteString ":SBUS1:SPI:WIDTh 16"
myScope.WriteString ":SBUS1:SPI:TYPE WIRE4"
myScope.WriteString ":SBUS1:SPI:SOURce:MOSI CHANnel1"
myScope.WriteString ":SBUS1:SPI:SOURce:CLOCk CHANnel2"
myScope.WriteString ":SBUS1:SPI:SOURce:FRAMe CHANnel3"
myScope.WriteString ":SBUS1:SPI:SOURce:MISO CHANnel4"
myScope.WriteString ":TRIGger:MODE SBUS1"
myScope.WriteString ":SBUS1:SPI:TRIGger:TYPE MOSI"
myScope.WriteString ":SBUS1:SPI:TRIGger:PATTern:WIDTh 2"
myScope.WriteString ":SBUS1:SPI:TRIGger:PATTern:DATA '0x0080ffff'"
Query :SBUS<N>:SPI:TRIGger:PATTern:WIDTh?
The :SBUS<N>:SPI:TRIGger:PATTern:WIDTh? query returns the current SPI data
pattern width setting.
Returned Format [:SBUS<N>:SPI:TRIGger:PATTern:WIDTh] {1 - 20}<NL>
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:SPI:WIDTh" on page 1129
•":SBUS<N>:SPI:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)" on
page 1126
NOTE
You must set :SBUS<N>:MODE to SPI before you can send other :SBUS<N>:SPI:TRIGger
commands.
NOTE
The :SBUS<N>:SPI:TRIGger:PATTern:WIDTh should be set before
:SBUS<N>:SPI:TRIGger:PATTern:DATA.
1126 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:TRIGger:TYPE (9000 Series, 9000H Series, S-Series)
Command :SBUS<N>:SPI:TRIGger:TYPE <value>
<value> ::= {MOSI | MISO}
The :SBUS<N>:SPI:TRIGger:TYPE command specifies whether the SPI trigger will
be on the MOSI data or the MISO data.
The data value is specified by the :SBUS<N>:SPI:TRIGger:PATTern:DATA and
:SBUS<N>:SPI:TRIGger:PATTern:WIDTh commands.
<N> An integer, 1-4.
Example To enable the SBUS1 trigger and set the SPI trigger type to MOSI:
myScope.WriteString ":CHANnel1:DISPlay ON"
myScope.WriteString ":CHANnel2:DISPlay ON"
myScope.WriteString ":CHANnel3:DISPlay ON"
myScope.WriteString ":CHANnel4:DISPlay ON"
myScope.WriteString ":SBUS1:MODE SPI"
myScope.WriteString ":SBUS1:SPI:WIDTh 16"
myScope.WriteString ":SBUS1:SPI:TYPE WIRE4"
myScope.WriteString ":SBUS1:SPI:SOURce:MOSI CHANnel1"
myScope.WriteString ":SBUS1:SPI:SOURce:CLOCk CHANnel2"
myScope.WriteString ":SBUS1:SPI:SOURce:FRAMe CHANnel3"
myScope.WriteString ":SBUS1:SPI:SOURce:MISO CHANnel4"
myScope.WriteString ":TRIGger:MODE SBUS1"
myScope.WriteString ":SBUS1:SPI:TRIGger:TYPE MOSI"
myScope.WriteString ":SBUS1:SPI:TRIGger:PATTern:WIDTh 2"
myScope.WriteString ":SBUS1:SPI:TRIGger:PATTern:DATA '0x0080ffff'"
Query :SBUS<N>:SPI:TRIGger:TYPE?
The :SBUS<N>:SPI:TRIGger:TYPE? query returns the trigger type setting.
Returned Format [:SBUS<N>:SPI:TRIGger:TYPE] <value><NL>
See Also •":TRIGger:MODE" on page 1229
•":SBUS<N>:MODE" on page 1056
•":SBUS<N>:SPI:SOURce:DATA" on page 1116
•":SBUS<N>:SPI:SOURce:MOSI" on page 1120
•":SBUS<N>:SPI:SOURce:MISO" on page 1119
•":SBUS<N>:SPI:TRIGger:PATTern:DATA (9000 Series, 9000H Series, S-Series)"
on page 1122
•":SBUS<N>:SPI:TRIGger:PATTern:WIDTh (9000 Series, 9000H Series,
S-Series)" on page 1124
NOTE
You must set :SBUS<N>:MODE to SPI before you can send other :SBUS<N>:SPI:TRIGger
commands.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1127
History New in version 3.50.
1128 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
:SBUS<N>:SPI:TYPE
Command :SBUS<N>:SPI:TYPE <value>
<value> ::= {WIRE2 | WIRE3 | WIRE4}
The :SBUS<N>:SPI:TYPE command specifies whether the type of SPI to decode.
<N> An integer, 1-4.
Example To set the 3-wire SPI decode type:
myScope.WriteString ":SBUS1:SPI:TYPE WIRE3"
Query :SBUS<N>:SPI:TYPE?
The :SBUS<N>:SPI:TYPE? query returns the decode type setting.
Returned Format [:SBUS<N>:SPI:TYPE] <value><NL>
See Also •":SBUS<N>:SPI:BITorder" on page 1110
•":SBUS<N>:SPI:SOURce:CLOCk" on page 1114
•":SBUS<N>:SPI:SOURce:DATA" on page 1116
•":SBUS<N>:SPI:SOURce:FRAMe" on page 1118
•":SBUS<N>:SPI:SOURce:MISO" on page 1119
•":SBUS<N>:SPI:SOURce:MOSI" on page 1120
•":SBUS<N>:MODE" on page 1056
History New in version 3.50.
Serial Bus Commands 31
Keysight Infiniium Oscilloscopes Programmer's Guide 1129
:SBUS<N>:SPI:WIDTh
Command :SBUS<N>:SPI:WIDTh <word_width>
<word_width> ::= integer 4-16 in NR1 format
The :SBUS<N>:SPI:WIDTh command determines the number of bits in a word of
data for SPI.
<N> An integer, 1-4.
Query :SBUS<N>:SPI:WIDTh?
The :SBUS<N>:SPI:WIDTh? query returns the current SPI decode word width.
Returned Format [:SBUS<N>:SPI:WIDTh] <word_width><NL>
<word_width> ::= integer 4-16 in NR1 format
See Also •":SBUS<N>:MODE" on page 1056
History New in version 3.50.
1130 Keysight Infiniium Oscilloscopes Programmer's Guide
31 Serial Bus Commands
1131
Keysight Infiniium Oscilloscopes
Programmer's Guide
32 Self-Test Commands
:SELFtest:CANCel / 1132
:SELFtest:SCOPETEST / 1133
The SELFtest subsystem commands set up the self-test dialog and run the
Infiniium-Series Oscilloscopes Self-Tests.
NOTE
Enclose File Name in Quotation Marks
When specifying a file name, you must enclose it in quotation marks.
1132 Keysight Infiniium Oscilloscopes Programmer's Guide
32 Self-Test Commands
:SELFtest:CANCel
Command :SELFtest:CANCel
The :SELFtest:CANCel command stops the currently running selftest.
Example This example stops the currently running selftest.
myScope.WriteString ":SELF:CANC"
History Legacy command (existed before version 3.10).
Self-Test Commands 32
Keysight Infiniium Oscilloscopes Programmer's Guide 1133
:SELFtest:SCOPETEST
Command :SELFtest:SCOPETEST
The :SELFtest:SCOPETEST command brings up the self-test dialog in customer
self-test mode (Service Extensions Off) and runs the test, "Scope Self Tests." Use
the :SELFtest:SCOPETEST? query to determine the status of the test.
Example This example brings up the self-test dialog and runs the oscilloscope self-tests.
myScope.WriteString ":SELF:SCOPETEST"
Query :SELFtest:SCOPETEST?
Returned Format [:SELFtest:SCOPETEST] <test_name>,<test_status>, <time_stamp><NL>
<test_name> A string as follows: "Scope Self Tests".
<time_stamp> The time stamp follows the test name and test status, and is the part of the
returned string that includes the date and time, in the format: "20 May 2009
10:13:35".
Example This example places the current status of the self-test in the string variable, strTxt,
then prints the contents of the variable to the computer's screen.
Dim strTxt As String
myScope.WriteString ":SELF:SCOPETEST?"
strTxt = myScope.ReadString
Debug.Print strTxt
History Legacy command (existed before version 3.10).
<test_status> Status Description
FAILED Test completed and failed.
PASSED Test completed and passed.
WARNING Test passed but warning message was issued.
CANCELLED Test was cancelled by user.
NODATA Self-tests have not been executed on this instrument.
INPROGRESS Test is in progress.
1134 Keysight Infiniium Oscilloscopes Programmer's Guide
32 Self-Test Commands
1135
Keysight Infiniium Oscilloscopes
Programmer's Guide
33 Serial Data Equalization
Commands
:SPRocessing:CTLequalizer:ACGain / 1137
:SPRocessing:CTLequalizer:DCGain / 1138
:SPRocessing:CTLequalizer:DISPlay / 1139
:SPRocessing:CTLequalizer:NUMPoles / 1140
:SPRocessing:CTLequalizer:P1 / 1141
:SPRocessing:CTLequalizer:P2 / 1142
:SPRocessing:CTLequalizer:P3 / 1143
:SPRocessing:CTLequalizer:RATe / 1144
:SPRocessing:CTLequalizer:SOURce / 1145
:SPRocessing:CTLequalizer:VERTical / 1146
:SPRocessing:CTLequalizer:VERTical:OFFSet / 1147
:SPRocessing:CTLequalizer:VERTical:RANGe / 1148
:SPRocessing:CTLequalizer:Z1 / 1149
:SPRocessing:CTLequalizer:Z2 / 1150
:SPRocessing:DFEQualizer:NTAPs / 1151
:SPRocessing:DFEQualizer:SOURce / 1152
:SPRocessing:DFEQualizer:STATe / 1153
:SPRocessing:DFEQualizer:TAP / 1154
:SPRocessing:DFEQualizer:TAP:AUTomatic / 1155
:SPRocessing:DFEQualizer:TAP:DELay / 1156
:SPRocessing:DFEQualizer:TAP:GAIN / 1157
:SPRocessing:DFEQualizer:TAP:LTARget / 1158
:SPRocessing:DFEQualizer:TAP:MAX / 1159
:SPRocessing:DFEQualizer:TAP:MIN / 1160
:SPRocessing:DFEQualizer:TAP:NORMalize / 1161
:SPRocessing:DFEQualizer:TAP:UTARget / 1162
:SPRocessing:DFEQualizer:TAP:WIDTh / 1163
:SPRocessing:FFEQualizer:BANDwidth / 1164
:SPRocessing:FFEQualizer:BWMode / 1165
:SPRocessing:FFEQualizer:DISPlay / 1166
1136 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:NPRecursor / 1167
:SPRocessing:FFEQualizer:NTAPs / 1168
:SPRocessing:FFEQualizer:RATe / 1169
:SPRocessing:FFEQualizer:SOURce / 1170
:SPRocessing:FFEQualizer:TAP / 1171
:SPRocessing:FFEQualizer:TAP:AUTomatic / 1172
:SPRocessing:FFEQualizer:TAP:DELay / 1173
:SPRocessing:FFEQualizer:TAP:WIDTh / 1174
:SPRocessing:FFEQualizer:TDELay / 1175
:SPRocessing:FFEQualizer:TDMode / 1176
:SPRocessing:FFEQualizer:VERTical / 1177
:SPRocessing:FFEQualizer:VERTical:OFFSet / 1178
:SPRocessing:FFEQualizer:VERTical:RANGe / 1179
The N5461A Serial Data Equalization application is used to re-open partially or
completely closed real-time eye diagrams. For additional information on
equalization, consult the N5461A Infiniium Serial Data Equalization User's Guide.
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1137
:SPRocessing:CTLequalizer:ACGain
Command :SPRocessing:CTLequalizer:ACGain <ac_gain>
The :CTLequalizer:ACGain command sets the AC Gain parameter for the
Continuous Time Linear Equalization when USB31 is selected for the "# of Poles"
option.
<ac_gain> A real number
Example This example sets the CTLE AC Gain parameter to 1.
myScope.WriteString ":SPRocessing:CTLequalizer:ACGain 1"
Query :SPRocessing:CTLequalizer:ACGain?
The :SPRocessing:CTLequalizer:ACGain? query returns the CTLE's AC Gain
parameter setting.
See Also •":SPRocessing:CTLequalizer:NUMPoles" on page 1140
History New in version 3.10.
1138 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:CTLequalizer:DCGain
Command :SPRocessing:CTLequalizer:DCGain <dc_gain>
The :CTLequalizer:DCGain command sets the DC Gain parameter for the
Continuous Time Linear Equalization.
<dc_gain> A real number
Example This example sets the CTLE DC Gain parameter to 1.
myScope.WriteString ":SPRocessing:CTLequalizer:DCGain 1"
Query :SPRocessing:CTLequalizer:DCGain?
The :SPRocessing:CTLequalizer:DCGain? query returns the CTLE's DC Gain p
arameter.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1139
:SPRocessing:CTLequalizer:DISPlay
Command :SPRocessing:CTLequalizer:DISPlay {(OFF | 0) | (ON | 1)}
The :CTLequalizer:DISPlay command turns the display of a Continuous Time Linear
Equalizer (CTLE) waveform on or off. Turning CTLE on automatically turns FFE off
(and vice versa).
Example This example turns on the display of a CTLE waveform.
myScope.WriteString ":SPRocessing:CTLequalizer:DISPlay ON"
Query :SPRocessing:CTLequalizer:DISPlay?
The :SPRocessing:CTLequalizer:DISPlay? query returns whether or not the CTLE
waveform is displayed.
History Legacy command (existed before version 3.10).
1140 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:CTLequalizer:NUMPoles
Command :SPRocessing:CTLequalizer:NUMPoles {POLE2 | P3Z1 | P3Z2 | USB31}
The :SPRocessing:CTLequalizer:NUMPoles command selects either a 2 Pole,
3 Pole 1 Zero, 3 Pole 2 Zeros, or USB 3.1 Continuous Time Linear Equalizer (CTLE).
Example This example selects a 2 Pole CTLE.
myScope.WriteString ":SPRocessing:CTLequalizer:NUMPoles POLE2"
Query :SPRocessing:CTLequalizer:NUMPoles?
The :SPRocessing:CTLequalizer:NUMPoles? query returns the current "number of
poles" selection.
See Also •":SPRocessing:CTLequalizer:Z1" on page 1149
•":SPRocessing:CTLequalizer:Z2" on page 1150
•":SPRocessing:CTLequalizer:ACGain" on page 1137
History New in version 3.10.
Version 5.75: The previous POLE3 option has been replaced by P3Z1 and P3Z2.
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1141
:SPRocessing:CTLequalizer:P1
Command :SPRocessing:CTLequalizer:P1 <pole1_freq>
The :CTLequalizer:P1 command sets the Pole 1 frequency for the Continuous Time
Linear Equalization.
<pole1_freq> A real number
Example This example sets the CTLE Pole 1 frequency to 1GHz.
myScope.WriteString ":SPRocessing:CTLequalizer:P1 1e9"
Query :SPRocessing:CTLequalizer:P1?
The :SPRocessing:CTLequalizer:P1? query returns the CTLE's Pole 1 freque
ncy.
History Legacy command (existed before version 3.10).
1142 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:CTLequalizer:P2
Command :SPRocessing:CTLequalizer:P2 <pole2_freq>
The :CTLequalizer:P1 command sets the Pole 2 frequency for the Continuous Time
Linear Equalization.
<pole2_freq> A real number
Example This example sets the CTLE Pole 2 frequency to 4 GHz.
myScope.WriteString ":SPRocessing:CTLequalizer:P2 4e9"
Query :SPRocessing:CTLequalizer:P2?
The :SPRocessing:CTLequalizer:P2? query returns the CTLE's Pole 2 freque
ncy.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1143
:SPRocessing:CTLequalizer:P3
Command :SPRocessing:CTLequalizer:P3 <pole3_freq>
The :CTLequalizer:P1 command sets the Pole 3 frequency for the Continuous Time
Linear Equalization.
<pole3_freq> A real number
Example This example sets the CTLE Pole 3 frequency to 4 GHz.
myScope.WriteString ":SPRocessing:CTLequalizer:P3 4e9"
Query :SPRocessing:CTLequalizer:P3?
The :SPRocessing:CTLequalizer:P3? query returns the CTLE's Pole 3 freque
ncy.
History New in version 3.10.
1144 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:CTLequalizer:RATe
Command :SPRocessing:CTLequalizer:RATe <data_rate>
The :CTLequalizer:RATe command sets the data rate for the CTLE equalizer.
<data_rate> A real number.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
Example This example sets the CTLE data rate to 3e9.
myScope.WriteString ":SPRocessing:CTLequalizer:RATe 3e9"
Query :SPRocessing:CTLequalizer:RATe?
The :SPRocessing:CTLequalizer:Rate? query returns the CTLE's data rate.
See Also •":ANALyze:SIGNal:TYPE" on page 282
History Legacy command (existed before version 3.10).
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1145
:SPRocessing:CTLequalizer:SOURce
Command :SPRocessing:CTLequalizer:SOURce {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
The :CTLequalizer:SOURce command sets the source for the Continuous Time
Linear Equalization.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the CTLE source to Channel 1.
myScope.WriteString ":SPRocessing:CTLequalizer:SOURce CHANnel1"
Query :SPRocessing:CTLequalizer:SOURce?
The :SPRocessing:CTLequalizer:SOURce? query returns the CTLE source.
History Legacy command (existed before version 3.10).
1146 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:CTLequalizer:VERTical
Command :SPRocessing:CTLequalizer:VERTical {AUTO | MANual}
The :SPRocessing:CTLequalizer:VERTical command sets the CTLE signal's vertical
scale mode to automatic or manual. In automatic mode, the oscilloscope
automatically selects the vertical scaling and offset. In manual mode, you can set
your own scaling and offset values.
Example This example sets the CTLE signal's vertical scale mode to automatic.
myScope.WriteString ":SPRocessing:CTLequalizer:VERTical AUTO"
Query :SPRocessing:CTLequalizer:VERTical?
The :SPRocessing:CTLequalizer:VERTical? query returns the current CTLE signal's
vertical scale mode setting.
Returned Format [:SPRocessing:CTLequalizer:VERTical] {AUTO | MANual}
Example This example places the current setting of the CTLE signal's vertical scale mode in
the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":SPRocessing:CTLequalizer:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1147
:SPRocessing:CTLequalizer:VERTical:OFFSet
Command :SPRocessing:CTLequalizer:VERTical:OFFSet <offset>
The :SPRocessing:CTLequalizer:VERTical:OFFSet command sets the CTLE signal's
vertical offset.
<offset> A real number for the CTLE signal's vertical offset.
Example This example sets the CTLE signal's vertical offset to 1 volt.
myScope.WriteString ":SPRocessing:CTLequalizer:VERTical:OFFSet 1"
Query :SPRocessing:CTLequalizer:VERTical:OFFSet?
The:SPRocessing:CTLequalizer:VERTical:OFFSet? query returns the CTLE signal's
vertical offset setting.
Returned Format [:SPRocessing:CTLequalizer:VERTical:OFFSet] <value><NL>
<value> The CTLE signal's vertical offset setting.
Example This example places the current value of the CTLE signal's vertical offset in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":SPRocessing:CTLequalizer:VERTical:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
1148 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:CTLequalizer:VERTical:RANGe
Command :SPRocessing:CTLequalizer:VERTical:RANGe <range>
The :SPRocessing:CTLequalizer:VERTical:RANGe command sets the CTLE signal's
vertical range.
<range> A real number for the full-scale CTLE signal's vertical range.
Example This example sets the CTLE signal's vertical range to 16 volts (2 volts times 8
divisions.)
myScope.WriteString ":SPRocessing:CTLequalizer:VERTical:RANGe 16"
Query :SPRocessing:CTLequalizer:VERTical:RANGe?
The :SPRocessing:CTLequalizer:VERTical:RANGe? query returns the CTLE signal's
vertical range setting.
Returned Format [:SPRocessing:CTLequalizer:VERTical:RANGe] <value><NL>
<value> The CTLE signal's vertical range setting.
Example This example places the current value of the CTLE signal's vertical range in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":SPRocessing:CTLequalizer:VERTical:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1149
:SPRocessing:CTLequalizer:Z1
Command :SPRocessing:CTLequalizer:Z1 <zero_freq_1>
The :SPRocessing:CTLequalizer:Z1 command sets the first zero frequency for the
3-pole Continuous Time Linear Equalization.
<zero_freq_1> A real number in NR3 format.
Example This example sets the 3-pole CTLE's first zero frequency to 900 MHz.
myScope.WriteString ":SPRocessing:CTLequalizer:Z1 650e6"
Query :SPRocessing:CTLequalizer:Z1?
The :SPRocessing:CTLequalizer:Z1? query returns the 3-pole CTLE's first zero
frequency.
Returned Format <zero_freq_1><NL>
See Also •":SPRocessing:CTLequalizer:Z2" on page 1150
•":SPRocessing:CTLequalizer:NUMPoles" on page 1140
History New in version 5.75.
1150 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:CTLequalizer:Z2
Command :SPRocessing:CTLequalizer:Z2 <zero_freq_2>
The :SPRocessing:CTLequalizer:Z2 command sets the second zero frequency for
the 3-pole Continuous Time Linear Equalization.
<zero_freq_2> A real number in NR3 format.
Example This example sets the 3-pole CTLE's second zero frequency to 4 GHz.
myScope.WriteString ":SPRocessing:CTLequalizer:Z2 4e9"
Query :SPRocessing:CTLequalizer:Z2?
The :SPRocessing:CTLequalizer:Z2? query returns the 3-pole CTLE's second zero
frequency.
Returned Format <zero_freq_2><NL>
See Also •":SPRocessing:CTLequalizer:Z1" on page 1149
•":SPRocessing:CTLequalizer:NUMPoles" on page 1140
History New in version 5.75.
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1151
:SPRocessing:DFEQualizer:NTAPs
Command :SPRocessing:DFEQualizer:NTAPs <number>
The :DFEQualizer:NTAPs command sets the number of taps to be used in the DFE
algorithm.
DFE tap indices always begin with 1 and extend to the number of taps.
<number> An integer between 1 and 40
Example This example sets the number of DFE taps to 3.
myScope.WriteString ":SPRocessing:DFEQualizer:NTAPs 3"
Query :SPRocessing:DFEQualizer:NTAPs?
The :SPRocessing:DFEQualizer:NTAPs? query returns the number of DFE taps.
History Legacy command (existed before version 3.10).
1152 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:DFEQualizer:SOURce
Command :SPRocessing:DFEQualizer:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | EQUalized}
The :DFEQualizer:SOURce command sets the source for the Decision Feedback
Equalization.
Setting the source to EQUalized means the Feed-Forward Equalized (FFE)
waveform is used as the DFE source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the DFE source to Channel 1.
myScope.WriteString ":SPRocessing:DFEQualizer:SOURce CHANnel1"
Query :SPRocessing:DFEQualizer:SOURce?
The :SPRocessing:DFEQualizer:SOURce? query returns the DFE source.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1153
:SPRocessing:DFEQualizer:STATe
Command :SPRocessing:DFEQualizer:STATe {(OFF | 0) | (ON | 1)}
The :DFEQualizer:STATe command turns the Decision Feedback Equalization on or
off.
Example This example turns on DFE.
myScope.WriteString ":SPRocessing:DFEQualizer:STATe ON"
Query :SPRocessing:DFEQualizer:STATe?
The :SPRocessing:DFEQualizer:STATe? query returns whether or not DFE is turned
on.
History Legacy command (existed before version 3.10).
1154 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:DFEQualizer:TAP
Command :SPRocessing:DFEQualizer:TAP <tap>, <value>
The :DFEQualizer:TAP command sets the tap value for each DFE tap. For example,
when <tap> is equal to 1 then the 1st tap is set to <value>.
DFE tap indices always start at 1 and extend to the number of taps.
<tap> The tap number.
<value> The tap value
Example This example sets the DFE Tap 1 to 0.432.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP 1,0.432"
Query :SPRocessing:DFEQualizer:TAP? <tap>
The :SPRocessing:DFEQualizer:TAP? query returns the DFE tap values.
See Also •":SPRocessing:DFEQualizer:NTAPs" on page 1151
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1155
:SPRocessing:DFEQualizer:TAP:AUTomatic
Command :SPRocessing:DFEQualizer:TAP:AUTomatic
The :DFEQualizer:TAP:AUTomatic command starts the DFE tap optimization. Be
sure to first specify the number of taps, the max/min tap values, and the Normalize
DC Gain setting.
Example This example starts the DFE tap optimization.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:AUTomatic"
See Also •":SPRocessing:DFEQualizer:NTAPs" on page 1151
•":SPRocessing:DFEQualizer:TAP:MIN" on page 1160
•":SPRocessing:DFEQualizer:TAP:MAX" on page 1159
•":SPRocessing:DFEQualizer:TAP:NORMalize" on page 1161
History Legacy command (existed before version 3.10).
1156 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:DFEQualizer:TAP:DELay
Command :SPRocessing:DFEQualizer:TAP:DELay <delay>
The :DFEQualizer:TAP:DELay command specifies the amount of drift the equalized
eye diagram has relative to the unequalized one. This drift is then accounted for so
the two eyes overlap. For more information on this parameter, refer to the N5461A
Infiniium Serial Data Equalization User's Guide.
<delay> A real number
Query :SPRocessing:DFEQualizer:TAP:DELay?
The :SPRocessing:DFEQualizer:TAP:DELay? query returns the value for the DFE
Delay field.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1157
:SPRocessing:DFEQualizer:TAP:GAIN
Command :SPRocessing:DFEQualizer:TAP:GAIN <gain>
The eye diagram drawn after DFE is applied is attenuated. To amplify the eye back
to its original size (so you can directly compare the eye at the receiver to the eye at
the transmitter), a gain factor needs to be applied. The :DFEQualizer:TAP:GAIN
command allows you to set this gain. For more information on this parameter,
refer to the N5461A Infiniium Serial Data Equalization User's Guide.
<gain> A real number
Example This example sets the gain to 3.23.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:GAIN 3.23"
Query :SPRocessing:DFEQualizer:TAP:GAIN?
The :SPRocessing:DFEQualizer:TAP:GAIN? query returns the current gain value.
History Legacy command (existed before version 3.10).
1158 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:DFEQualizer:TAP:LTARget
Command :SPRocessing:DFEQualizer:TAP:LTARget <lower_target>
The Lower Target field dictates the logical low value used in the DFE algorithm. For
example, in DFE, when a bit is determined to be a logical low, its value will be
equal to Lower Target. The :DFEQualizer:TAP:LTARget command allows you to set
this value.
<lower_target> A real number
Example This example sets the Lower Target to 1.0.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:LTARget 1.0"
Query :SPRocessing:DFEQualizer:TAP:LTARget?
The :SPRocessing:DFEQualizer:TAP:LTARget? query returns the current value for
the Lower Target field.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1159
:SPRocessing:DFEQualizer:TAP:MAX
Command :SPRocessing:DFEQualizer:TAP:MAX <max_tap_value>
Some standards have upper and lower limits on the tap values. The
:DFEQualizer:TAP:MAX command sets the upper limit on taps determined through
optimization.
<max_tap_value> A real number
Example This example sets the Upper Limit field to 3.23.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:MAX 3.23"
Query :SPRocessing:DFEQualizer:TAP:MAX?
The :SPRocessing:DFEQualizer:TAP:MAX? query returns the Upper Limit used in
the DFE tap optimization.
History Legacy command (existed before version 3.10).
1160 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:DFEQualizer:TAP:MIN
Command :SPRocessing:DFEQualizer:TAP:MIN <min_tap_value>
Some standards have upper and lower limits on the tap values. The
:DFEQualizer:TAP:MIN command sets the lower limit on taps determined through
optimization.
<min_tap_value> A real number
Example This example sets the Lower Limit field to 3.23.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:MIN 3.23"
Query :SPRocessing:DFEQualizer:TAP:MIN?
The :SPRocessing:DFEQualizer:TAP:MIN? query returns the Lower Limit used in
the DFE tap optimization.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1161
:SPRocessing:DFEQualizer:TAP:NORMalize
Command :SPRocessing:DFEQualizer:TAP:NORMalize {{0 | OFF} | {1 | ON}}
The :SPRocessing:DFEQualizer:TAP:NORMalize command specifies whether the
Normalize DC Gain setting is ON or OFF. When ON, the eye diagram is
automatically scaled so that it is the same size as the transmitted eye.
the Normalize DC Gain setting should be set (if desired) prior to calling the
:SPRocessing:DFEQualizer:TAP:AUTOmatic command.
This command maps to the Normalize DC Gain setting in the Equalization Auto Tap
Setup dialog box in the front panel graphical user interface.
Query :SPRocessing:DFEQualizer:TAP:NORMalize?
The :SPRocessing:DFEQualizer:TAP:NORMalize? query returns the Normalize DC
Gain setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":SPRocessing:DFEQualizer:TAP:AUTomatic" on page 1155
History New in version 6.20.
1162 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:DFEQualizer:TAP:UTARget
Command :SPRocessing:DFEQualizer:TAP:UTARget <upper_target>
The Upper Target field dictates the logical high value used in the DFE algorithm.
For example, in DFE, when a bit is determined to be a logical high, its value will be
equal to Upper Target. The :DFEQualizer:TAP:UTARget command allows you to set
this value.
<upper_target> A real number
Example This example sets the Upper Target to 1.0.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:UTARget 1.0"
Query :SPRocessing:DFEQualizer:TAP:UTARget?
The :SPRocessing:DFEQualizer:TAP:UTARget? query returns the current value for
the Upper Target field.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1163
:SPRocessing:DFEQualizer:TAP:WIDTh
Command :SPRocessing:DFEQualizer:TAP:WIDTh <width>
The :DFEQualizer:TAP:WIDTh command sets the Eye Width field for the DFE tap
optimization. Setting the width to 0.0 means the optimization is only preformed at
the location of the clock. Setting the width to 1.0 means the entire acquisition is
used in the optimization. The default value for DFE is 0.0. For more information on
this parameter, refer to the N5461A Infiniium Serial Data Equalization User's
Guide.
<width> A real number between 0.0 and 1.0.
Example This example sets the eye width to 0.0.
myScope.WriteString ":SPRocessing:DFEQualizer:TAP:WIDTh 0.0"
Query :SPRocessing:DFEQualizer:TAP:WIDTh?
The :SPRocessing:DFEQualizer:TAP? query returns the eye width used in the DFE
tap optimization.
History Legacy command (existed before version 3.10).
1164 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:BANDwidth
Command :SPRocessing:FFEQualizer:BANDwidth <bandwidth>
The :FFEQualizer:BANDwidth command is only needed if the
FFEQualizer:BWMode command is set to CUSTom and in this case it sets the
bandwidth at which the response generated by equalization rolls off. To
understand more about this parameter, consult the N5461A Infiniium Serial Data
Equalization User's Guide.
<bandwidth> The bandwidth at which the response generated by equalization rolls off.
Query :SPRocessing:FFEQualizer:BANDwidth?
The :SPRocessing:FFEQualizer:BANDwidth? query returns the current value for the
BANDwidth parameter.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1165
:SPRocessing:FFEQualizer:BWMode
Command :SPRocessing:FFEQualizer:BWMode {TSBandwidth | TTDelay | CUSTom}
The :FFEQualizer:BWMode command sets the bandwidth at which the response
generated by equalization is rolled off. To understand more about this parameter,
consult the N5461A Infiniium Serial Data Equalization User's Guide.
Example This example sets the FFE Bandwidth Mode to TTDelay.
myScope.WriteString ":SPRocessing:FFEQualizer:BWMode TTDelay"
Query :SPRocessing:FFEQualizer:BWMode?
The :SPRocessing:FFEQualizer:BWMode? query returns the FFE Bandwidth Mode.
History Legacy command (existed before version 3.10).
1166 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:DISPlay
Command :SPRocessing:FFEQualizer:DISPlay {(OFF | 0) | (ON | 1)}
The :FFEQualizer:DISPlay command turns the display of a Feed-Forward Equalized
(FFE) waveform on or off.
Example This example turns on the display of a FFE waveform.
myScope.WriteString ":SPRocessing:FFEQualizer:DISPlay ON"
Query :SPRocessing:FFEQualizer:DISPlay?
The :SPRocessing:FFEQualizer:DISPlay? query returns whether or not the FFE
waveform is displayed.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1167
:SPRocessing:FFEQualizer:NPRecursor
Command :SPRocessing:FFEQualizer:NPRecursor <number>
The :FFEQualizer:NPRecursor command sets the number of precursor taps to be
used in the FFE algorithm.
<number> An integer between 1 and (NTAPs - 1)
Example This example sets the number of FFE precursor taps to 3.
myScope.WriteString ":SPRocessing:FFEQualizer:NPRecursor 3"
Query :SPRocessing:FFEQualizer:NPRecursor?
The :SPRocessing:FFEQualizer:NPRecursor? query returns the number of FFE
precursor taps.
History Legacy command (existed before version 3.10).
1168 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:NTAPs
Command :SPRocessing:FFEQualizer:NTAPs <number>
The :FFEQualizer:NTAPs command sets the number of taps to be used in the FFE
algorithm.
The indices of your FFE taps depend on the number of precursor taps being used.
For example, if you are using zero precursor taps then your FFE tap indices would
range from 0 to (NTAPs - 1). If you are using two precursor taps then your FFE tap
indices would range from -2 to (NTAPs - 1 - 2).
<number> an integer between 2 and 40
Example This example sets the number of FFE taps to 3.
myScope.WriteString ":SPRocessing:FFEQualizer:NTAPs 3"
Query :SPRocessing:FFEQualizer:NTAPs?
The :SPRocessing:FFEQualizer:NTAPs? query returns the number of FFE taps.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1169
:SPRocessing:FFEQualizer:RATe
Command :SPRocessing:FFEQualizer:RATe <data_rate>
The :FFEQualizer:RATe command sets the data rate for the FFE equalizer.
<data_rate> A real number.
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), a symbol rate (baud)
is specified instead of a data rate (b/s).
Example This example sets the FFE data rate to 3e9.
myScope.WriteString ":SPRocessing:FFEQualizer:RATe 3e9"
Query :SPRocessing:FFEQualizer:RATe?
The :SPRocessing:FFEQualizer:Rate? query returns the FFE's data rate.
See Also •":ANALyze:SIGNal:TYPE" on page 282
History Legacy command (existed before version 3.10).
Version 5.50: When the signal type is PAM-4, a symbol rate (baud) is specified
instead of a data rate (b/s).
1170 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:SOURce
Command :SPRocessing:FFEQualizer:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R>}
The :FFEQualizer:SOURce command sets the source for the Feed-Forward
Equalization.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example sets the FFE source to Channel 1.
myScope.WriteString ":SPRocessing:FFEQualizer:SOURce CHANnel1"
Query :SPRocessing:FFEQualizer:SOURce?
The :SPRocessing:FFEQualizer:SOURce? query returns the FFE source.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1171
:SPRocessing:FFEQualizer:TAP
Command :SPRocessing:FFEQualizer:TAP <tap>, <value>
The :FFEQualizer:TAP command sets the tap value for each FFE tap. For example,
when <tap> is equal to 0 then the 0th tap is set to <value>.
The indices of your FFE taps depend on the number of precursor taps being used.
For example, if you are using zero precursor taps then your FFE tap indices would
range from 0 to (NTAPs - 1). If you are using two precursor taps then your FFE tap
indices would range from -2 to (NTAPs - 1 - 2).
<tap> The tap number; when <tap> == 0, Tap 0 is set
<value> The tap value
Example This example sets the second FFE tap to -1.432.
myScope.WriteString ":SPRocessing:FFEQualizer:TAP 2,-1.432"
Query :SPRocessing:FFEQualizer:TAP? <tap>
The :SPRocessing:FFEQualizer:TAP? query returns the FFE tap values.
See Also •":SPRocessing:FFEQualizer:NTAPs" on page 1168
History Legacy command (existed before version 3.10).
1172 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:TAP:AUTomatic
Command :SPRocessing:FFEQualizer:TAP:AUTomatic
The :FFEQualizer:TAP:AUTomatic command starts the FFE tap optimization. Be
sure to first specify the number of taps and specify the Pattern and Eye Width
parameters.
Example This example starts the FFE tap optimization.
myScope.WriteString ":SPRocessing:FFEQualizer:TAP:AUTomatic"
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1173
:SPRocessing:FFEQualizer:TAP:DELay
Command :SPRocessing:FFEQualizer:TAP:DELay <delay>
The :FFEQualizer:TAP:DELay command specifies the amount of drift the equalized
eye diagram has relative to the unequalized one. This drift is then accounted for so
the two eyes overlap. For more information on this parameter, refer to the N5461A
Infiniium Serial Data Equalization User's Guide.
<delay> A real number
Query :SPRocessing:FFEQualizer:TAP:DELay?
The :SPRocessing:FFEQualizer:TAP:DELay? query returns the value for the FFE
Delay field.
History Legacy command (existed before version 3.10).
1174 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:TAP:WIDTh
Command :SPRocessing:FFEQualizer:TAP:WIDTh <width>
The :FFEQualizer:TAP:WIDTh command sets the Eye Width field for the FFE tap
optimization. Setting the width to 0.0 means the optimization is only preformed at
the location of the clock. Setting the width to 1.0 means the entire acquisition is
used in the optimization. The default value for FFE is 0.33. For more information on
this parameter, refer to the N5461A Infiniium Serial Data Equalization User's
Guide.
<width> A real number between 0.0 and 1.0.
Example This example sets the eye width to 0.0.
myScope.WriteString ":SPRocessing:FFEQualizer:TAP:WIDTh 0.0"
Query :SPRocessing:FFEQualizer:TAP:WIDTh?
The :SPRocessing:FFEQualizer:TAP:WIDTh? query returns the eye width used in
the FFE tap optimization.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1175
:SPRocessing:FFEQualizer:TDELay
Command :SPRocessing:FFEQualizer:TDELay <delay_value>
The :FFEQualizer:TDELay command is only needed if the FFEQualizer:TDMode is
set to CUSTom. To determine what this value should be, use the equation: tap
delay = 1/[(data rate)x(# of taps per bit)]. To understand more about this
parameter, consult the N5461A Infiniium Serial Data Equalization User's Guide.
<delay_value> A real number
Query :SPRocessing:FFEQualizer:TDELay?
The :SPRocessing:FFEQualizer:TDELay? query returns the current value for the tap
delay.
History Legacy command (existed before version 3.10).
1176 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:TDMode
Command :SPRocessing:FFEQualizer:TDMode {TBITrate | CUSTom}
The :FFEQualizer:TDMode command sets Tap Delay field to either Track Data Rate
or Custom. If you are using one tap per bit, use the TBITrate selection. If you are
using multiple taps per bit, use CUSTom and then use the FFEQualizer:TDELay
command to set the value. To understand more about this parameter, consult the
N5461A Infiniium Serial Data Equalization User's Guide.
Example This example sets the FFE Tap Delay mode to TBITrate.
myScope.WriteString ":SPRocessing:FFEQualizer:TDMode TBITrate"
Query :SPRocessing:FFEQualizer:TDMode?
The :SPRocessing:FFEQualizer:TDMode? query returns the current Tap Delay
mode.
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1177
:SPRocessing:FFEQualizer:VERTical
Command :SPRocessing:FFEQualizer:VERTical {AUTO | MANual}
The :SPRocessing:FFEQualizer:VERTical command sets the FFE signal's vertical
scale mode to automatic or manual. In automatic mode, the oscilloscope
automatically selects the vertical scaling and offset. In manual mode, you can set
your own scaling and offset values.
Example This example sets the FFEE signal's vertical scale mode to automatic.
myScope.WriteString ":SPRocessing:FFEQualizer:VERTical AUTO"
Query :SPRocessing:FFEQualizer:VERTical?
The :SPRocessing:FFEQualizer:VERTical? query returns the current FFE signal's
vertical scale mode setting.
Returned Format [:SPRocessing:FFEQualizer:VERTical] {AUTO | MANual}
Example This example places the current setting of the FFE signal's vertical scale mode in
the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":SPRocessing:FFEQualizer:VERTical?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
1178 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
:SPRocessing:FFEQualizer:VERTical:OFFSet
Command :SPRocessing:FFEQualizer:VERTical:OFFSet <offset>
The :SPRocessing:FFEQualizer:VERTical:OFFSet command sets the FFE signal's
vertical offset.
<offset> A real number for the FFE signal's vertical offset.
Example This example sets the FFE signal's vertical offset to 1 volt.
myScope.WriteString ":SPRocessing:FFEQualizer:VERTical:OFFSet 1"
Query :SPRocessing:FFEQualizer:VERTical:OFFSet?
The:SPRocessing:FFEQualizer:VERTical:OFFSet? query returns the FFE signal's
vertical offset setting.
Returned Format [:SPRocessing:FFEQualizer:VERTical:OFFSet] <value><NL>
<value> The FFE signal's vertical offset setting.
Example This example places the current value of the FFE signal's vertical offset in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":SPRocessing:FFEQualizer:VERTical:OFFSet?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Serial Data Equalization Commands 33
Keysight Infiniium Oscilloscopes Programmer's Guide 1179
:SPRocessing:FFEQualizer:VERTical:RANGe
Command :SPRocessing:FFEQualizer:VERTical:RANGe <range>
The :SPRocessing:FFEQualizer:VERTical:RANGe command sets the FFE signal's
vertical range.
<range> A real number for the full-scale FFE signal's vertical range.
Example This example sets the FFE signal's vertical range to 16 volts (2 volts times 8
divisions.)
myScope.WriteString ":SPRocessing:FFEQualizer:VERTical:RANGe 16"
Query :SPRocessing:FFEQualizer:VERTical:RANGe?
The :SPRocessing:FFEQualizer:VERTical:RANGe? query returns the FFE signal's
vertical range setting.
Returned Format [:SPRocessing:FFEQualizer:VERTical:RANGe] <value><NL>
<value> The FFE signal's vertical range setting.
Example This example places the current value of the FFE signal's vertical range in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":SPRocessing:FFEQualizer:VERTical:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
1180 Keysight Infiniium Oscilloscopes Programmer's Guide
33 Serial Data Equalization Commands
1181
Keysight Infiniium Oscilloscopes
Programmer's Guide
34 System Commands
:SYSTem:DATE / 1182
:SYSTem:DEBug / 1183
:SYSTem:DONTtabmeas / 1185
:SYSTem:DSP / 1186
:SYSTem:ERRor? / 1187
:SYSTem:GUI / 1188
:SYSTem:HEADer / 1189
:SYSTem:HLED (90000 Q-Series, S-Series, V-Series, Z-Series) / 1190
:SYSTem:LOCK / 1191
:SYSTem:LONGform / 1192
:SYSTem:MENU? / 1193
:SYSTem:PERSona / 1194
:SYSTem:PRESet / 1195
:SYSTem:SETup / 1197
:SYSTem:TIME / 1199
SYSTem subsystem commands control the way query responses are formatted,
send and receive setup strings, and enable reading and writing to the advisory line
of the oscilloscope. You can also set and read the date and time in the oscilloscope
using the SYSTem subsystem commands.
1182 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
:SYSTem:DATE
Command :SYSTem:DATE <day>,<month>,<year>
The :SYSTem:DATE command sets the date in the oscilloscope, and is not affected
by the *RST common command.
<year> Specifies the year in the format <yyyy> | <yy>. The values range from 1992 to 2035.
<month> Specifies the month in the format <1, 2, . . . 12> | <JAN, FEB, MAR . . .>.
<day> Specifies the day in the format <1 . . . 31>.
Example This example sets the date to December 1, 2002.
myScope.WriteString ":SYSTem:DATE 1,12,02"
Query :SYSTem:DATE?
The :SYSTem:DATE? query returns the current date in the oscilloscope.
Returned Format [:SYSTem:DATE] <day> <month> <year><NL>
Example This example queries the date.
Dim strDate As String
myScope.WriteString ":SYSTem:DATE?"
strDate = myScope.ReadString
Debug.Print strDate
History Legacy command (existed before version 3.10).
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1183
:SYSTem:DEBug
Command :SYSTem:DEBug {{ON|1}[,<output_mode>[,"<file_name>" [,<create_mode>]]] |
{OFF|0}}
The :SYSTem:DEBug command turns the debug mode on and off. This mode
enables the tracing of incoming remote commands. If you select CREate mode, a
new file is created, and/or an existing file is overwritten. If you select APPend
mode, the information is appended to an existing file. The :SYSTem:DEBug
command shows any header and/or parameter errors.
The default create mode is CREate, the default output mode is FileSCReen, and
the default file name is "C:\Users\Public\Documents\Infiniium\debug.txt". In
debug mode, the File View button lets you view the current debug file, or any other
debug file. This is a read-only mode.
<output_mode> {FILE | SCReen | FileSCReen}
<file_name> An MS-DOS compatible name of the file, a maximum of 254 characters long
(including the path name, if used). The file name assumes the present working
directory if a path does not precede the file name.
<create_mode> {CREate | APPend}
Examples This example turns on the debug/trace mode and creates a debug file.
myScope.WriteString ":SYSTem:DEBUG ON,FILE,
""C:\Users\Public\Documents\Infiniium\pacq8xx.txt"",CREate"
The created file resembles:
Debug information file C:\Users\Public\Documents\Infiniium\pacq8xx.txt
Date: 1 DEC 2002
Time: 09:59:35
Model: DSO90804A
Serial#: sn ?
>:syst:err? string$<NL>
<:SYSTem:ERROR 0,"No error"$
>:ACQuire:BEST FLATness$<NL>
?^
?-113, Undefined header
>:syst:err? string$<NL>
<:SYSTem:ERROR -113,"Undefined header"$
>:syst:err? string$<NL>
<:SYSTem:ERROR 0,"No error"$
This example appends information to the debug file.
myScope.WriteString ":SYSTem:DEBUG ON,FILE,
""C:\Users\Public\Documents\Infiniium\pacq8xx.txt"",APPend"
After appending information, the file resembles:
Debug information file C:\Users\Public\Documents\Infiniium\pacq8xx.txt
Date: 1 DEC 2002
Time: 09:59:35
1184 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
Model: DSO90804A
Serial#: sn ?
>:syst:err? string$<NL>
<:SYSTem:ERROR 0,"No error"$
>:ACQuire:BEST FLATness$<NL>
?^
?-113, Undefined header
>:syst:err? string$<NL>
<:SYSTem:ERROR -113,"Undefined header"$
>:syst:err? string$<NL>
<:SYSTem:ERROR 0,"No error"$
Debug information file C:\Users\Public\Documents\Infiniium\
pacq8xx.txt appended
Date: 1 DEC 2002
Time: 10:10:35
Model: DSO90804A
Serial#: sn ?
>:syst:err? string$<NL>
<:SYSTem:ERROR 0,"No error"$
>:ACQuire:BEST FLATness$<NL>
?^
?-113, Undefined header
>:syst:err? string$<NL>
<:SYSTem:ERROR -113,"Undefined header"$
Query :SYSTem:DEBug?
The :SYSTem:DEBug? query returns the current debug mode settings.
Returned Format [:SYSTem:DEBug] {{1,<output_mode>,"<file_name>", <create_mode>} | 0} <N
L>
History Legacy command (existed before version 3.10).
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1185
:SYSTem:DONTtabmeas
Command :SYSTem:DONTtabmeas {{0 | OFF} | {1 | ON}}
The :SYSTem:DONTtabmeas command enables or disables the Never tab
Measurement Results user preference.
When this user preference is enabled, and you choose Display > Windows >
Tabbed/Custom Window Layout in the graphical user interface, the sub panes within
the Results pane remain stacked—they are not tabbed as they would have been
had this user preference been disabled.
Query :SYSTem:DONTtabmeas?
The :SYSTem:DONTtabmeas? query returns the Never tab Measurement Results user
preference setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
History New in version 5.60.
1186 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
:SYSTem:DSP
Command :SYSTem:DSP "<string>"
The :SYSTem:DSP command writes a quoted string, excluding quotation marks, to
the advisory line of the instrument display. If you want to clear a message on the
advisory line, send a null (empty) string.
<string> An alphanumeric character array up to 86 bytes long.
Example This example writes the message, "Test 1" to the advisory line of the oscilloscope.
myScope.WriteString ":SYSTem:DSP ""Test 1"""
Query :SYSTem:DSP?
The :SYSTem:DSP? query returns the last string written to the advisory line. This
may be a string written with a :SYSTem:DSP command, or an internally generated
advisory.
The string is actually read from the message queue. The message queue is cleared
when it is read. Therefore, the displayed message can only be read once over the
bus.
Returned Format [:SYSTem:DSP] <string><NL>
Example This example places the last string written to the advisory line of the oscilloscope
in the string variable, strAdvisory. Then, it prints the contents of the variable to the
computer's screen.
Dim strAdvisory As String ' Dimension variable.
myScope.WriteString ":SYSTem:DSP?"
strAdvisory = myScope.ReadString
Debug.Print strAdvisory
History Legacy command (existed before version 3.10).
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1187
:SYSTem:ERRor?
Query :SYSTem:ERRor? [{NUMBer | STRing}]
The :SYSTem:ERRor? query outputs the next error number in the error queue over
the remote interface. When either NUMBer or no parameter is specified in the
query, only the numeric error code is output. When STRing is specified, the error
number is output followed by a comma and a quoted string describing the error.
Table 21 lists the error numbers and their corresponding error messages.
Returned Format [:SYSTem:ERRor] <error_number>[,<quoted_string>]<NL>
<error_number> A numeric error code.
<quoted_string> A quoted string describing the error.
Example This example reads the oldest error number and message in the error queue into
the string variable, strCondition, then prints the contents of the variable to the
computer's screen.
Dim strCondition As String ' Dimension variable.
myScope.WriteString ":SYSTem:ERRor? STRing"
strCondition = myScope.ReadString
Debug.Print strCondition
Infiniium Oscilloscopes have an error queue that is 30 errors deep and operates on
a first-in, first-out (FIFO) basis. Successively sending the :SYSTem:ERRor? query
returns the error numbers in the order that they occurred until the queue is empty.
When the queue is empty, this query returns headers of 0, "No error." Any further
queries return zeros until another error occurs. Note that front-panel generated
errors are also inserted in the error queue and the Event Status Register.
See Also The "Error Messages" chapter for more information on error messages and their
possible causes.
History Legacy command (existed before version 3.10).
NOTE
Send *CLS Before Other Commands or Queries
Send the *CLS common command to clear the error queue and Event Status Register before
you send any other commands or queries.
1188 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
:SYSTem:GUI
Command :SYSTem:GUI {ON | OFF | LOCK}
The :SYSTem:GUI OFF command enables or disables the front panel user
interface.
• ON — Enables the front panel user interface.
• OFF — Disables the front panel user interface and places a Remote Operations
In Progress dialog box on the oscilloscope's screen. The front panel knobs,
keys, and graphical user interface are disabled. Graphical user interface
updates are also disabled.
The :SYSTem:GUI OFF command lets Infiniium oscilloscopes behave like other
Keysight instruments by locking out the GUI (graphical user interface) and the
front panel while remote scripts are running. On Infiniium oscilloscopes, the GUI
and front panel do not lock automatically during remote operation (as most
other instruments do) to preserve the integrity and timing of legacy customer
scripts. The recommendation is, however, that all scripts begin with
:SYSTem:GUI OFF when convenient and possible to run more like other
Keysight instruments and likely improve performance.
The :SYSTem:GUI OFF command is similar to the :SYSTem:LOCK ON command,
except the :SYSTem:LOCK ON command does not disable the graphical user
interface (just the knobs and keys).
• LOCK — Disables the front panel graphical user interface as well as the front
panel knobs and keys. A Remote Operations In Progress dialog box on the
oscilloscope's screen. However, graphical user interface updates are not
disabled.
The front panel user interface can be re-enabled by:
• Sending the :SYSTem:GUI ON command.
•Clicking Enable in the Remote Operations In Progress dialog box.
Example This example disables the oscilloscope's front panel user interface.
myScope.WriteString ":SYSTem:GUI OFF"
Query :SYSTem:GUI?
The :SYSTem:GUI? query returns the state of the :SYSTem:GUI command.
Returned Format [:SYSTem:GUI] {ON | OFF | LOCK}<NL>
See Also •":SYSTem:LOCK" on page 1191
History New in version 5.50.
Version 6.20: The LOCK parameter has been added and the query return value is
now a string (ON, OFF, or LOCK) instead of the previous 1 or 0 return values.
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1189
:SYSTem:HEADer
Command :SYSTem:HEADer {{ON|1} | {OFF|0}}
The :SYSTem:HEADer command specifies whether the instrument will output a
header for query responses. When :SYSTem:HEADer is set to ON, the query
responses include the command header.
Example This example sets up the oscilloscope to output command headers with query
responses.
myScope.WriteString ":SYSTem:HEADer ON"
Query :SYSTem:HEADer?
The :SYSTem:HEADer? query returns the state of the :SYSTem:HEADer command.
Returned Format [:SYSTem:HEADer] {1|0}<NL>
Example This example prints the system header setting.
Dim strSetting As String
myScope.WriteString ":SYSTem:HEADer?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
NOTE
Turn Headers Off when Returning Values to Numeric Variables
Turn headers off when returning values to numeric variables. Headers are always off for all
common command queries because headers are not defined in the IEEE 488.2 standard.
1190 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
:SYSTem:HLED (90000 Q-Series, S-Series, V-Series, Z-Series)
Command :SYSTem:HLED {{0 | OFF} | {1 | ON}}
The :SYSTem:HLED command turns the "hide front panel LEDs" setting ON or OFF.
When ON, all LEDs on the front panel (except the power button LED) will turn off.
You may want to hide front panel LEDs when making measurements in a
light-sensitive environment.
Query :SYSTem:HLED?
The :SYSTem:HLED? query returns the hide LEDs setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
History New in version 6.00.
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1191
:SYSTem:LOCK
Command :SYSTem:LOCK {{ON | 1} | {OFF | 0}}
The :SYSTem:LOCK ON command disables the front panel knobs and keys.
The front panel knobs and keys can be re-enabled by sending the :SYSTem:LOCK
OFF command.
This :SYSTem:LOCK ON command is similar to the :SYSTem:GUI OFF command,
except the :SYSTem:GUI OFF command also disables the graphical user interface
and GUI updates.
Example This example disables the oscilloscope's front panel.
myScope.WriteString ":SYSTem:LOCK ON"
Query :SYSTem:LOCK?
The :SYSTem:LOCK? query returns the state of the :SYSTem:LOCK command.
Returned Format [:SYSTem:LOCK] {1 | 0}<NL>
See Also •":SYSTem:GUI" on page 1188
History Legacy command (existed before version 3.10).
1192 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
:SYSTem:LONGform
Command :SYSTem:LONGform {{ON | 1} | {OFF | 0}}
The :SYSTem:LONGform command specifies the format for query responses. If the
LONGform is set to OFF, command headers and alpha arguments are sent from
the oscilloscope in the short form (abbreviated spelling). If LONGform is set to ON,
the whole word is output.
Example This example sets the format for query responses from the oscilloscope to the
short form (abbreviated spelling).
myScope.WriteString ":SYSTem:LONGform OFF"
Query :SYSTem:LONGform?
The :SYSTem:LONGform? query returns the current state of the
:SYSTem:LONGform command.
Returned Format [:SYSTem:LONGform] {1 | 0}<NL>
Example This example checks the current format for query responses from the oscilloscope,
and places the result in the string variable, strResult. Then, it prints the contents
of the variable to the computer's screen.
Dim strResult As String ' Dimension variable.
myScope.WriteString ":SYSTem:LONGform?"
strResult = myScope.ReadString
Debug.Print strResult
History Legacy command (existed before version 3.10).
NOTE
LONGform Does Not Affect Input Headers and Arguments
LONGform has no effect on input headers and arguments sent to the instrument. You may
send headers and arguments to the oscilloscope in either the long form or short form,
regardless of the current state of the :SYSTem:LONGform command.
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1193
:SYSTem:MENU?
Query :SYSTem:MENU? <menu_string>
<menu_string> ::= quoted string
The :SYSTem:MENU? query returns front panel graphical user interface (GUI)
menu strings.
Returned Format <items_in_menu><NL>
<items_in_menu> ::= comma-separated list of items in the menu
Example This example shows queries and responses from the Keysight Interactive IO's
Instrument Session History:
-> :SYSTem:MENU? "Analyze"
<- Histogram..., Mask Test..., Automated Test Apps,
Measurement Analysis (EZJIT)..., Jitter/Noise (EZJIT Complete)...,
RTEye/Clock Recovery (SDA)..., Equalization...
-> :SYSTem:MENU? "Analyze\Automated Test Apps"
<- N8829A 100GBASE-KR4 Test App, N8830A 100GBASE-CR4 Test App
History New in version 5.50.0033.
NOTE
This query is intended to list GUI menu strings that launch other executable programs.
Currently, these appear in the "Analyze" menu only. For other menus, this query may return
strings that do not actually appear in the GUI.
1194 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
:SYSTem:PERSona
Command :SYSTem:PERSona {<manufacturer_string>, <model_string> | <manufacturer_s
tring> | DEFault}
<manufacturer_string> ::= quoted string, 1-31 characters
<model_string> ::= quoted string, 1-10 characters
The :SYSTem:PERSona command sets the manufacturer string and the model
number string returned by the *IDN? query.
Query :SYSTem:PERSona?
The :SYSTem:PERSona? query returns the manufacturer string and the model
number string.
Returned Format [:SYSTem:PERSona] <manufacturer_string>, <model_string><NL>
<manufacturer_string> ::= quoted string, 1-31 characters
<model_string> ::= quoted string, 1-10 characters
See Also •"*IDN? — Identification Number" on page 419
History New in version 5.20.
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1195
:SYSTem:PRESet
Command :SYSTem:PRESet [ {DEFault | FACTory} ]
The :SYSTem:PRESet command initializes the oscilloscope to a known state. You
can use these parameters:
• DEFault (or no parameter) — performs a Default Setup just like the
oscilloscope's front panel [Default Setup] key.
• FACTory — performs a Factory Default.
Default Setup Default Setup returns Infiniium oscilloscope settings, except user preferences and
a few other settings, to their defaults.
• Markers, functions, waveforms, bookmarks, and measurements are all turned
off in a default setup.
• Multiple waveform windows are closed, leaving only one waveform window in a
default setup.
• These are the default settings for the controls that change:
NOTE
On Infiniium Z-Series and 90000 Q-Series oscilloscopes, if Real-Edge channels are turned on
when the front panel [Default Setup] key is pressed, Real-Edge channels remain on after the
default setup. However, with the remote ":SYSTem:PRESet DEFault" command, Real-Edge
channels are turned off before the default setup and remain off after.
Control Default Setting
Run/Stop Run
Channel 1 On, 1 V/div, 0 offset
Horizontal Scale 100 ns/
Horizontal Position 0 s
Reference Center
Zoom Disabled
Trigger Mode Edge
Trigger Level 0 V
Trigger Sweep Auto
Edge Trigger Source Channel 1
Edge Trigger Slope Rising
1196 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
• Default Setup does not change any of the control settings found in the User
Preferences dialog box, display color settings, screen options, probe skew,
probe external adapter settings for differential probes, or probe internal
attenuation and gain settings for differential probes.
Factory Default The Factory Default selection returns the oscilloscope to the settings it had when
it left the factory. This places the oscilloscope in a known operating condition. You
can use Factory Default when you want to set all values (even the ones not
defaulted by Default Setup) back to their default values.
These controls are reset during a factory default (but are not reset during a Default
Setup):
• User Preferences dialog box settings
• Customize Multipurpose settings
• Tabbed window layout
• Digital memory size
• Waveform memories
• Channel skew
•Display colors
• Waveform intensity and grid line intensity settings
•Probe skew
• Probe external adapter settings for differential probes
• Probe internal attenuation and gain setting for differential probes
• Lock Display Results (not selected)
Example This example performs an oscilloscope default setup.
myScope.WriteString ":SYSTem:PRESet"
See Also •"*RST — Reset" on page 428
History Legacy command (existed before version 3.10).
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1197
:SYSTem:SETup
Command :SYSTem:SETup <binary_block_data>
The :SYSTem:SETup command sets up the oscilloscope as defined by the data in
the binary block of data from the computer.
<binary
_block_data>
A binary block of data, consisting of bytes of setup information. The number of
bytes is a dynamic number that is read and allocated by oscilloscope's software.
Example This example reads setup information from a file and restores it to the oscilloscope.
' Read setup from a file:
Dim strPath As String
strPath = "c:\scope\config\setup.dat"
Dim hFile As Long
hFile = FreeFile
Dim varSetup As Variant
Open strPath For Binary Access Read As hFile ' Open file for input.
Get hFile, , varSetup ' Read data.
Close hFile ' Close file.
' Write setup to oscilloscope.
myScope.WriteIEEEBlock ":SYSTem:SETup", varSetup
Debug.Print "Setup bytes restored: " + CStr(LenB(varSetup))
Query :SYSTem:SETup?
The :SYSTem:SETup? query outputs the oscilloscope's current setup to the
computer in binary block data format as defined in the IEEE 488.2 standard.
Returned Format [:SYSTem:SETup] #NX...X<setup_data_string><NL>
The first character in the setup data block is a number added for disk operations.
Example This example stores the current oscilloscope setup to the variable, varSetup, and
then saves it to a file.
' Get setup from the oscilloscope.
Dim varSetup As Variant
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":SYSTem:SETup?"
varSetup = myScope.ReadIEEEBlock(BinaryType_UI1)
' Output setup string to a file:
CAUTION
Setups saved from Infiniium software versions prior to 2.00 may not load correctly in
software versions 4.30 and greater.
You can remedy this by re-saving any pre-2.00 setups using any version of software
from version 2.00 to version 4.20.
Setups saved from software versions between 2.00 and 4.20 should load correctly into
version 4.30 and greater.
1198 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
Dim strPath As String
strPath = "c:\scope\config\setup.dat"
Dim hFile As Long
hFile = FreeFile
Open strPath For Binary Access Write Lock Write As hFile
Put hFile, , varSetup ' Write data.
Close hFile ' Close file.
Debug.Print "Setup bytes saved: " + CStr(LenB(varSetup))
History Legacy command (existed before version 3.10).
NOTE
:SYSTem:SETup Can Operate Just Like *LRN?
When headers and LONGform are on, the :SYSTem:SETup? query operates the same as the
*LRN? query in the common commands. Otherwise, *LRN? and :SYSTem:SETup are not
interchangeable.
System Commands 34
Keysight Infiniium Oscilloscopes Programmer's Guide 1199
:SYSTem:TIME
Command :SYSTem:TIME <hour>,<minute>,<second>
The :SYSTem:TIME command sets the time in the oscilloscope and is not affected
by the *RST common command.
<hour> 0...23
<minute> 0...59
<second> 0...59
Example This example sets the oscilloscope time to 10:30:45 a.m.
myScope.WriteString ":SYSTem:TIME 10,30,45"
Query :SYSTem:TIME?
The :SYSTem:TIME? query returns the current time in the oscilloscope.
Returned Format [:SYSTem:TIME] <hour>,<minute>,<second>
History Legacy command (existed before version 3.10).
1200 Keysight Infiniium Oscilloscopes Programmer's Guide
34 System Commands
1201
Keysight Infiniium Oscilloscopes
Programmer's Guide
35 Time Base Commands
:TIMebase:POSition / 1202
:TIMebase:RANGe / 1203
:TIMebase:REFClock / 1204
:TIMebase:REFerence / 1205
:TIMebase:REFerence:PERCent / 1206
:TIMebase:ROLL:ENABLE / 1207
:TIMebase:SCALe / 1208
:TIMebase:VIEW / 1209
:TIMebase:WINDow:DELay / 1210
:TIMebase:WINDow:POSition / 1211
:TIMebase:WINDow:RANGe / 1212
:TIMebase:WINDow:SCALe / 1213
The TIMebase subsystem commands control the horizontal (X axis) oscilloscope
functions.
1202 Keysight Infiniium Oscilloscopes Programmer's Guide
35 Time Base Commands
:TIMebase:POSition
Command :TIMebase:POSition <position_value>
The :TIMebase:POSition command sets the time interval between the trigger event
and the delay reference point. The delay reference point is set with the
:TIMebase:REFerence command.
<position _value> A real number for the time in seconds from trigger to the delay reference point.
Example This example sets the delay position to 2 ms.
myScope.WriteString ":TIMebase:POSition 2E-3"
Query :TIMebase:POSition?
The :TIMebase:POSition? query returns the current delay value in seconds.
Returned Format [:TIMebase:POSition] <position_value><NL>
Example This example places the current delay value in the numeric variable, varValue, then
prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:POSition?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Time Base Commands 35
Keysight Infiniium Oscilloscopes Programmer's Guide 1203
:TIMebase:RANGe
Command :TIMebase:RANGe <full_scale_range>
The :TIMebase:RANGe command sets the full-scale horizontal time in seconds.
The range value is ten times the time-per-division value.
<full_scale
_range>
A real number for the horizontal time, in seconds. The timebase range is 50 ps
(5 ps/div) to 200 s (20 s/div).
Example This example sets the full-scale horizontal range to 10 ms.
myScope.WriteString ":TIMebase:RANGe 10E-3"
Query :TIMebase:RANGe?
The :TIMebase:RANGe? query returns the current full-scale horizontal time.
Returned Format [:TIMebase:RANGe] <full_scale_range><NL>
Example This example places the current full-scale horizontal range value in the numeric
variable, varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:RANGe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
1204 Keysight Infiniium Oscilloscopes Programmer's Guide
35 Time Base Commands
:TIMebase:REFClock
Command :TIMebase:REFClock {{ON | 1} | {OFF | 0} | HFRequency}
The :TIMebase:REFClock command enables or disables the 10 MHz REF IN BNC
input (ON or OFF) or the 100 MHz REF IN SMA input (HFRequency or OFF) located
on the rear panel of the oscilloscope. The 100 MHz REF IN SMA input is only
available on 90000 Q-Series and Z-Series oscilloscopes.
When this feature is enabled, the external reference input is used as a reference
clock for the oscilloscope's horizontal scale section instead of the internal
reference clock.
Example This example turns on the 10 MHz reference clock mode.
myScope.WriteString ":TIMebase:REFClock ON"
Query :TIMebase:REFClock?
The :TIMebase:REFClock? query returns the current state of the reference clock
mode control.
Returned Format [TIMebase:REFClock] {1|0|HFR}<NL>
Example This example places the current value of the reference clock mode control in the
variable, varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:REFClock?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
Time Base Commands 35
Keysight Infiniium Oscilloscopes Programmer's Guide 1205
:TIMebase:REFerence
Command :TIMebase:REFerence {LEFT | CENTer | RIGHt}
The :TIMebase:REFerence command sets the .horizontal reference position to the
left, center, or right side of the screen.
Example This example sets the horizontal reference position to the center of the display.
myScope.WriteString ":TIMebase:REFerence CENTer"
Query :TIMebase:REFerence?
The :TIMebase:REFerence? query returns the current horizontal reference position.
Returned Format [:TIMebase:REFerence] {LEFT | CENTer | RIGHt | PERCent}<NL>
PERC is returned when the horizontal reference position is set to a
percent-of-screen location (either in the user interface or with the
:TIMebase:REFerence:PERCent command).
Example This example places the current horizontal reference position in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":TIMebase:REFerence?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":TIMebase:REFerence:PERCent" on page 1206
History Legacy command (existed before version 3.10).
Version 5.00: Query can now return PERC when a reference position percent value
is being used.
1206 Keysight Infiniium Oscilloscopes Programmer's Guide
35 Time Base Commands
:TIMebase:REFerence:PERCent
Command :TIMebase:REFerence:PERCent <percent>
The :TIMebase:REFerence:PERCent command sets the horizontal reference
position to a percent-of-screen location, from left to right.
<percent> Integer from 0-100.
Example This example sets the horizontal reference position to a 25% of screen location.
myScope.WriteString ":TIMebase:REFerence:PERCent 25"
Query :TIMebase:REFerence:PERCent?
The :TIMebase:REFerence:PERCent? query returns the current horizontal reference
position as a percent-of-screen value.
Returned Format [:TIMebase:REFerence:PERCent] <percent><NL>
Example This example places the current horizontal reference position in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":TIMebase:REFerence:PERCent?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":TIMebase:REFerence" on page 1205
History New in version 5.00.
Time Base Commands 35
Keysight Infiniium Oscilloscopes Programmer's Guide 1207
:TIMebase:ROLL:ENABLE
Command :TIMebase:ROLL:ENABLE {{ON | 1} | {OFF | 0}}
The :TIMebase:ROLL:ENABLE command enables or disables the roll mode feature.
Example This example tuns on the roll mode.
myScope.WriteString ":TIMebase:ROLL:ENABLE ON"
Query :TIMebase:ROLL:ENABLE?
The :TIMebase:ROLL:ENABLE? query returns the current state of the roll mode
enable control.
Returned Format [:TIMebase:ROLL:ENABLE] {1 | 0}<NL>
Example This example places the current value of the roll mode enable control in the
variable, varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:ROLL:ENABLE?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
NOTE
Roll mode is not available when RealEdge channels are enabled in the 90000 Q-Series and
Z-Series oscilloscopes.
1208 Keysight Infiniium Oscilloscopes Programmer's Guide
35 Time Base Commands
:TIMebase:SCALe
Command :TIMebase:SCALe <time>
The :TIMebase:SCALe command sets the time base scale. This corresponds to the
horizontal scale value displayed as time/div on the oscilloscope screen.
<time> A real number for the time value, in seconds per division. The timebase scale is
5 ps/div to 20 s/div.
Example This example sets the scale to 10 ms/div.
myScope.WriteString ":TIMebase:SCALe 10E-3"
Query :TIMebase:SCALe?
The :TIMebase:SCALe? query returns the current scale time setting.
Returned Format [:TIMebase:SCALe] <time><NL>
Example This example places the current scale value in the numeric variable, varSetting,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:SCALe?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
Time Base Commands 35
Keysight Infiniium Oscilloscopes Programmer's Guide 1209
:TIMebase:VIEW
Command :TIMebase:VIEW {MAIN | WINDow}
The :TIMebase:VIEW command turns the horizontal zoom mode on and off. This is
the same as using the front panel [Zoom] key.
Example This example turns the horizontal zoom mode on.
myScope.WriteString ":TIMebase:VIEW WINDow"
Query :TIMebase:VIEW?
The :TIMebase:VIEW? query returns the horizontal zoom mode setting.
Returned Format [:TIMebase:VIEW] {MAIN | WINDow}<NL>
Example This example places the current view in the string variable, strState, then prints
the contents of the variable to the computer's screen.
Dim strState As String ' Dimension variable.
myScope.WriteString ":TIMebase:VIEW?"
strState = myScope.ReadString
Debug.Print strState
History Legacy command (existed before version 3.10).
1210 Keysight Infiniium Oscilloscopes Programmer's Guide
35 Time Base Commands
:TIMebase:WINDow:DELay
Command :TIMebase:WINDow:DELay <delay_value>
The :TIMebase:WINDow:DELay sets the horizontal position in the delayed view of
the main sweep. The range for this command is determined by the main sweep
range and the main sweep horizontal position. The value for this command must
keep the time base window within the main sweep range.
<delay_value> A real number for the time in seconds from the trigger event to the delay reference
point. The maximum position depends on the main sweep range and the main
sweep horizontal position.
Example This example sets the time base window delay position to 20 ns.
myScope.WriteString ":TIMebase:WINDow:DELay 20E-9"
Query :TIMebase:WINDow:DELay?
The :TIMebase:WINDow:DELay? query returns the current horizontal position in
the delayed view.
Returned Format [:TIMebase:WINDow:DELay] <delay_position><NL>
Example This example places the current horizontal position in the delayed view in the
numeric variable, varSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:WINDow:DELay?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
See Also The :TIMebase:WINDow:POSition command performs the same function as this
command and should be used in new programs.
History Legacy command (existed before version 3.10).
NOTE
This Command is Provided for Compatibility
This command is the same as the :TIMebase:WINDow:POSition command, and is provided for
compatibility with programs written for previous oscilloscopes. The preferred command for
compatibility with Infiniium oscilloscopes is :TIMebase:WINDow:POSition.
Time Base Commands 35
Keysight Infiniium Oscilloscopes Programmer's Guide 1211
:TIMebase:WINDow:POSition
Command :TIMebase:WINDow:POSition <position_value>
The :TIMebase:WINDow:POSition sets the horizontal position in the delayed view
of the main sweep. The range for this command is determined by the main sweep
range and the main sweep horizontal position. The value for this command must
keep the time base window within the main sweep range.
<position _value> A real number for the time in seconds from the trigger event to the delay reference
point. The maximum position depends on the main sweep range and the main
sweep horizontal position.
Example This example sets the time base window delay position to 20 ns.
myScope.WriteString ":TIMebase:WINDow:POSition 20E-9"
Query :TIMebase:WINDow:POSition?
The :TIMebase:WINDow:POSition? query returns the current horizontal position in
the delayed view.
Returned Format [:TIMebase:WINDow:POSition] <position_value><NL>
Example This example places the current horizontal position in the delayed view in the
numeric variable, varSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:WINDow:POSition?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
1212 Keysight Infiniium Oscilloscopes Programmer's Guide
35 Time Base Commands
:TIMebase:WINDow:RANGe
Command :TIMebase:WINDow:RANGe <full_scale_range>
The :TIMebase:WINDow:RANGe command sets the full-scale range of the delayed
view. The range value is ten times the time per division of the delayed view. The
maximum range of the delayed view is the current main range. The minimum
delayed view range is 10 ps (1 ps/div).
<full_scale
_range>
A real number for the full-scale range of the time base window, in seconds.
Example This example sets the full-scale range of the delayed view to 100 ns.
myScope.WriteString ":TIMebase:WINDow:RANGe 100E-9"
Query :TIMebase:WINDow:RANGe?
The :TIMebase:WINDow:RANGe? query returns the current full-scale range of the
delayed view.
Returned Format [:TIMebase:WINDow:RANGe] <full_scale_range><NL>
Example This example reads the current full-scale range of the delayed view into the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":TIMebase:WINDow:RANGe?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Time Base Commands 35
Keysight Infiniium Oscilloscopes Programmer's Guide 1213
:TIMebase:WINDow:SCALe
Command :TIMebase:WINDow:SCALe <time>
The :TIMebase:WINDow:SCALe command sets the time/div in the delayed view.
This command rescales the horizontal components of displayed waveforms.
<time> A real number for the delayed windows scale.
Example This example sets the scale of the time base window to 2 milliseconds/div.
myScope.WriteString ":TIMebase:WINDow:SCALe 2E-3"
Query :TIMebase:WINDow:SCALe?
The :TIMebase:WINDow:SCALe? query returns the scaled window time, in
seconds/div.
Returned Format [:TIMebase:WINDow:SCALe] <time><NL>
History Legacy command (existed before version 3.10).
1214 Keysight Infiniium Oscilloscopes Programmer's Guide
35 Time Base Commands
1215
Keysight Infiniium Oscilloscopes
Programmer's Guide
36 Trigger Commands
General Trigger Commands / 1217
Comm Trigger Commands / 1232
Delay Trigger Commands / 1238
Edge Trigger Commands / 1248
GBSerial Trigger Commands / 1252
Glitch Trigger Commands / 1263
Pattern Trigger Commands / 1267
Pulse Width Trigger Commands / 1270
Runt Trigger Commands / 1276
Sequence Trigger Commands / 1281
Setup and Hold Trigger Commands / 1290
State Trigger Commands / 1297
Timeout Trigger Commands / 1302
Transition Trigger Commands / 1306
TV Trigger Commands / 1311
Window Trigger Commands / 1322
Advanced Comm Trigger Commands / 1327
Advanced Pattern Trigger Commands / 1334
Advanced State Trigger Commands / 1340
Advanced Delay By Event Trigger Commands / 1346
Advanced Delay By Time Trigger Commands / 1355
Advanced Standard TV Trigger Commands / 1362
Advanced User Defined TV Mode and Commands / 1368
Advanced Violation Trigger Modes / 1374
Advanced Pulse Width Violation Trigger Commands / 1376
Advanced Setup Violation Trigger Commands / 1382
Advanced Transition Violation Trigger Commands / 1408
1216 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
The oscilloscope trigger circuitry helps you locate the waveform you want to view.
There are several different types of triggering, but the one that is used most often
is edge triggering. Edge triggering identifies a trigger condition by looking for the
slope (rising or falling) and voltage level (trigger level) on the source you select.
Any input channel, auxiliary input trigger, or line can be used as the trigger source.
The commands in the TRIGger subsystem define the conditions for triggering.
Many of the commands in the TRIGger subsystem are used in more than one of the
trigger modes. The command set has been defined to closely represent the
front-panel trigger menus. As a trade-off, there may be less compatibility between
Infiniium Oscilloscopes and command sets for previous oscilloscopes. Infiniium
Oscilloscopes still accept some commands for compatibility with previous
instruments. An alternative command that is accepted by the oscilloscope is noted
for a particular command.
Summary of
Trigger Modes and
Commands
Make sure the oscilloscope is in the proper trigger mode for the command you
want to send. One method of ensuring that the oscilloscope is in the proper trigger
mode is to send the :TRIGger:MODE command in the same program message as
the parameter to be set.
For example, to place the instrument in the proper triggering mode you select:
:TRIGger:MODE <Trigger_mode>
<Trigger_mode> The trigger modes include COMM, DELay, EDGE, GLITch, PATTern, PWIDth, RUNT,
SEQuence, SHOLd, STATe, TIMeout, TRANsition, TV, WINDow, SBUS<N>, and
ADVanced. Each mode is described with its command set in this chapter.
To place the instrument in the advanced triggering mode you select:
:TRIGger:MODE ADVanced
:TRIGger:ADVanced:MODE <Advanced_trigger_mode>
<Advanced
_trigger_mode>
Advanced trigger modes include COMM, DELay, PATTern, STATe, TV, and
VIOLation. Each mode is described with its command set in this chapter.
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1217
General Trigger Commands
•":TRIGger:AND:ENABle" on page 1218
•":TRIGger:AND:SOURce" on page 1219
•":TRIGger:HOLDoff" on page 1220
•":TRIGger:HOLDoff:MAX" on page 1221
•":TRIGger:HOLDoff:MIN" on page 1222
•":TRIGger:HOLDoff:MODE" on page 1223
•":TRIGger:HTHReshold" on page 1224
•":TRIGger:HYSTeresis" on page 1225
•":TRIGger:LEVel" on page 1226
•":TRIGger:LEVel:FIFTy" on page 1227
•":TRIGger:LTHReshold" on page 1228
•":TRIGger:MODE" on page 1229
•":TRIGger:SWEep" on page 1231
1218 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:AND:ENABle
Command :TRIGger:AND[{1 | 2}]:ENABle {{ON | 1} | {OFF | 0}}
The :TRIGger:AND:ENABle command enables the ability to further qualify the
trigger using other channels.
The optional [{1 | 2}] parameter sets whether the AND qualifier goes with the
TERM1 or TERM2 state if sequential triggering is being used.
Query :TRIGger:AND:ENABle?
The query returns the current state of the AND qualifier.
Returned Format [:TRIGger:AND:ENABle] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1219
:TRIGger:AND:SOURce
Command :TRIGger:AND[{1 | 2}]:SOURce CHANnel<N>,{HIGH | LOW | DONTcare}
The :TRIGger:AND:SOURce command sets the logic value used to qualify the
trigger for the specified channel. The TRIGger:LEVel command determines what
voltage level is considered a HIGH or a LOW logic value. If you set more than one
channel to a HIGH or a LOW, then the multiple channels are used to qualify the
trigger.
The optional [{1 | 2}] parameter sets whether the AND qualifier goes with the
TERM1 or TERM2 state if sequential triggering is being used.
<N> An integer, 1-4.
Query :TRIGger:AND:SOURce? CHANnel<N>
The query returns the logic value for the designated channel.
Returned Format [:TRIGger:AND:SOURce CHANnel<N>] {HIGH | LOW | DONTcare}<NL>
History Legacy command (existed before version 3.10).
1220 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:HOLDoff
Command :TRIGger:HOLDoff <holdoff_time>
The :TRIGger:HOLDoff command specifies the amount of time the oscilloscope
should wait after receiving a trigger before enabling the trigger again.
<holdoff_time> A real number for the holdoff time, ranging from 100 ns to 10 s.
Query :TRIGger:HOLDoff?
The query returns the current holdoff value for the current mode.
Returned Format [:TRIGger:HOLDoff] <holdoff><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1221
:TRIGger:HOLDoff:MAX
Command :TRIGger:HOLDoff:MAX <holdoff_time>
This command is only used when you set the :TRIGger:HOLDoff:MODe command
to RANDom. The RANDom mode varies the trigger holdoff from one acquisition to
another by randomizing the time values between triggers. The randomized values
can be between the values specified by the :TRIGger:HOLDoff:MAX and
:TRIGger:HOLDoff:MIN commands.
The Random holdoff mode ensures that the oscilloscope re-arms after each
acquisition in a manner that minimizes or eliminates the likelihood of triggering at
the beginning of a DDR burst. Randomizing the holdoff increases the likelihood
that the oscilloscope will trigger on different data phases of a multiphase (8 data
transfer) burst. This mode mixes up the traffic pattern the oscilloscope triggers on
and is very effective when used on repeating patterns.
<holdoff_time> A real number for the maximum random holdoff time.
Query :TRIGger:HOLDoff:MAX?
The query returns the current maximum holdoff value for the random holdoff
mode.
Returned Format [:TRIGger:HOLDoff:MAX] <holdoff><NL>
History Legacy command (existed before version 3.10).
1222 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:HOLDoff:MIN
Command :TRIGger:HOLDoff:MIN <holdoff_time>
This command is only used when you set the :TRIGger:HOLDoff:MODe command
to RANDom. The RANDom mode varies the trigger holdoff from one acquisition to
another by randomizing the time values between triggers. The randomized values
can be between the values specified by the :TRIGger:HOLDoff:MAX and
:TRIGger:HOLDoff:MIN commands.
The Random holdoff mode ensures that the oscilloscope re-arms after each
acquisition in a manner that minimizes or eliminates the likelihood of triggering at
the beginning of a DDR burst. Randomizing the holdoff increases the likelihood
that the oscilloscope will trigger on different data phases of a multiphase (8 data
transfer) burst. This mode mixes up the traffic pattern the oscilloscope triggers on
and is very effective when used on repeating patterns.
<holdoff_time> A real number for the minimum random holdoff time.
Query :TRIGger:HOLDoff:MIN?
The query returns the current minimum holdoff value for the random holdoff mode.
Returned Format [:TRIGger:HOLDoff:MIN] <holdoff><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1223
:TRIGger:HOLDoff:MODE
Command :TRIGger:HOLDoff:MAX {FIXed | RANDom}
The Fixed mode sets the amount of time that the oscilloscope waits before
re-arming the trigger circuitry. It can be used to stabilize the display of complex
waveforms.
The RANDom mode varies the trigger holdoff from one acquisition to another by
randomizing the time values between triggers. The randomized values can be
between the values specified by the :TRIGger:HOLDoff:MAX and
:TRIGger:HOLDoff:MIN commands.
The Random holdoff mode ensures that the oscilloscope re-arms after each
acquisition in a manner that minimizes or eliminates the likelihood of triggering at
the beginning of a DDR burst. Randomizing the holdoff increases the likelihood
that the oscilloscope will trigger on different data phases of a multiphase (8 data
transfer) burst. This mode mixes up the traffic pattern the oscilloscope triggers on
and is very effective when used on repeating patterns.
Query :TRIGger:HOLDoff:MODE?
The query returns the current holdoff mode.
Returned Format [:TRIGger:HOLDoff:MODE] {FIXed | RANDom}<NL>
History Legacy command (existed before version 3.10).
1224 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:HTHReshold
Command :TRIGger:HTHReshold{{CHANnel<N> | AUXiliary},<level>}
This command specifies the high threshold voltage level for the selected trigger
source. Set the high threshold level to a value considered to be a high level for
your logic family; your data book gives two values, VIH and VOH.
<N> An integer, 1-4.
<level> A real number for the voltage level for the trigger source.
Query :TRIGger:HTHReshold? {CHANnel<N> | AUXiliary}
The query returns the currently defined high threshold voltage level for the trigger
source.
Returned Format [:TRIGger:HTHReshold {CHANnel<N> | AUXiliary},] <level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1225
:TRIGger:HYSTeresis
Command :TRIGger:HYSTeresis {NORMal | NREJect | HSENsitivity}
The :TRIGger:HYSTeresis command specifies the trigger hysteresis (noise reject)
as:
• NORMal — the typical hysteresis selection.
• NREJect (noise reject) — (available on 9000 Series, 9000H Series, and S-Series
oscilloscopes) gives maximum hysteresis but the lowest trigger bandwidth.
• HSENsitivity — (available on 90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, and Z-Series oscilloscopes) lowers the hysteresis of the trigger
circuitry and should be used for waveforms of 4 GHz and above.
Query :TRIGger:HYSTeresis?
The query returns the current hysteresis setting.
Returned Format [:TRIGger:HYSTeresis] {NORMal | NREJect | HSENsitivity}<NL>
History Legacy command (existed before version 3.10).
1226 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:LEVel
Command :TRIGger:LEVel {{CHANnel<N> | AUX},<level>}
The :TRIGger:LEVel command specifies the trigger level on the specified channel
for the trigger source. Only one trigger level is stored in the oscilloscope for each
channel. This level applies to the channel throughout the trigger dialog boxes
(Edge, Glitch, and Advanced). This level also applies to all the High Threshold
(HTHReshold) values in the Advanced Violation menus.
<N> An integer, 1-4.
<level> A real number for the trigger level on the specified channel or Auxiliary Trigger
Input.
Query :TRIGger:LEVel? {CHANnel<N> | AUX}
The query returns the specified channel's trigger level.
Returned Format [:TRIGger:LEVel {CHANnel<N> | AUX},] <level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1227
:TRIGger:LEVel:FIFTy
Command :TRIGger:LEVel:FIFTy
The :TRIGger:LEVel:FIFTy command sets the trigger level to 50%.
This performs the same action as the "push for 50%" front panel trigger level knob.
See Also •":TRIGger:LEVel" on page 1226
History New in version 4.30.
1228 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:LTHReshold
Command :TRIGger:LTHReshold CHANnel<N>,<level>
This command specifies the low threshold voltage level for the selected trigger
source. This command specifies the low threshold voltage level for the selected
trigger source. Set the low threshold level to a value considered to be a low level
for your logic family; your data book gives two values, VIL and VOL.
<N> An integer, 1-4.
<level> A real number for the voltage level for the trigger source.
Query :TRIGger:LTHReshold? CHANnel<N>
The query returns the currently defined low threshold for the trigger source.
Returned Format [:TRIGger:LTHReshold CHANnel<N>,] <level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1229
:TRIGger:MODE
Command :TRIGger:MODE {EDGE | GLITch | PATTern | STATe | DELay | TIMeout | TV
| COMM | RUNT | SEQuence | SHOLd | TRANsition | WINDow
| PWIDth | ADVanced | SBUS<N>}
The :TRIGger:MODE command selects the trigger mode.
Table 16 :TRIGger:MODE Settings
Mode Definition
COMM COMM mode lets you trigger on a serial pattern of bits in a waveform.
DELay Delay by Events mode lets you view pulses in your waveform that occur a
number of events after a specified waveform edge. Delay by Time mode
lets you view pulses in your waveform that occur a long time after a
specified waveform edge.
EDGE Edge trigger mode.
GLITch Trigger on a pulse that has a width less than a specified amount of time.
PATTern Pattern triggering lets you trigger the oscilloscope using more than one
channel as the trigger source. You can also use pattern triggering to
trigger on a pulse of a given width.
PWIDth Pulse width triggering lets you trigger on a pulse that is greater than or
less than a specified width and of a certain polarity.
RUNT Runt triggering lets you trigger on positive or negative pulses that are
smaller in amplitude than other pulses in your waveform.
SBUS<N> Serial triggering on SBUS1, SBUS2, SBUS3, or SBUS4.
SEQuence (Available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series,
and Z-Series oscilloscopes.) Sequential triggering lets you use multiple
events or time/pattern qualifications to define your trigger.
SHOLd Setup and Hold triggering let you trigger on Setup or Hold violations in
your circuit.
STATe State triggering lets you set the oscilloscope to use several channels as
the trigger source, with one of the channels being used as a clock
waveform.
TIMeout Timeout triggering lets you trigger when the waveform remains high too
long, low to long, or unchanged too long.
TRANsition Edge Transition triggering lets you trigger on an edge that violates a rise
time or fall time specification.
TV TV trigger mode lets you trigger the oscilloscope on one of the standard
television waveforms. You can also use this mode to trigger on a custom
television waveform that you define.
1230 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Query :TRIGger:MODE?
The query returns the currently selected trigger mode.
Returned Format [:TRIGger:MODE] {EDGE | GLITch | PATTern | STATe | DELay | TIMeout | TV
| COMM | RUNT | SEQuence | SHOLd | TRANsition | WINDow
| PWIDth | ADVanced | SBUS<N>}<NL>
History Legacy command (existed before version 3.10).
Version 3.50: Added the SBUS1, SBUS2, SBUS3, and SBUS4 selections for
triggering on serial buses.
WINDow Window triggering lets you define a window on screen and then trigger
when the waveform exits the window, enters it, or stays inside/outside the
window for too long/short.
ADVanced Allows backward compatibility access to the DELay, PATTern, STATe, TV,
and VIOLation modes. When this mode is selected, use the
:TRIGger:ADVanced:MODE command to select the advanced trigger mode.
Table 17 :TRIGger:ADVanced:MODE Settings
Mode Definition
COMM COMM mode lets you trigger on a serial pattern of bits in a waveform.
DELay Delay by Events mode lets you view pulses in your waveform that occur a
number of events after a specified waveform edge. Delay by Time mode
lets you view pulses in your waveform that occur a long time after a
specified waveform edge.
PATTern Pattern triggering lets you trigger the oscilloscope using more than one
channel as the trigger source. You can also use pattern triggering to
trigger on a pulse of a given width.
STATe State triggering lets you set the oscilloscope to use several channels as
the trigger source, with one of the channels being used as a clock
waveform.
TV TV trigger mode lets you trigger the oscilloscope on one of the standard
television waveforms. You can also use this mode to trigger on a custom
television waveform that you define.
VIOLation Trigger violation modes: Pulse WIDth, SETup, TRANsition. When this mode
is selected, use the :TRIGger:ADVanced:VIOLation:MODE command to
select the advanced trigger violation mode.
Table 16 :TRIGger:MODE Settings (continued)
Mode Definition
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1231
:TRIGger:SWEep
Command :TRIGger:SWEep {AUTO | TRIGgered | SINGle}
The :TRIGger:SWEep command selects the oscilloscope sweep mode. New
programs should use :RUN and :SINGle for run control and this command for
AUTO and TRIGgered for sweep control. The SINGle sweep control should not be
used.
AUTO When you select AUTO, if a trigger event does not occur within a time determined
by the oscilloscope settings, the oscilloscope automatically forces a trigger which
causes the oscilloscope to sweep. If the frequency of your waveform is 50 Hz or
less, you should not use the AUTO sweep mode because it is possible that the
oscilloscope will automatically trigger before your waveform trigger occurs.
TRIGgered When you select TRIGgered, if no trigger occurs, the oscilloscope will not sweep,
and the previously acquired data will remain on the screen.
SINGle When you select SINGle, if no trigger occurs, the oscilloscope will not sweep, and
the previously acquired data will remain on the screen. Do not use in new
programs.
Query :TRIGger:SWEep?
The query returns the specified channel's trigger level.
Returned Format [:TRIGger:SWEep] {AUTO | TRIGgered}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1233
:TRIGger:COMM:BWIDth
Command :TRIGger:COMM:BWIDth <bwidth_value>
The :TRIGger:COMM:BWIDth command is used to set the width of a bit for your
waveform. The bit width is usually defined in the mask standard for your waveform.
<bwidth_value> A real number that represents the width of a bit.
Query :TRIGger:COMM:BWIDth?
The query returns the current bit width.
Returned Format [:TRIGger:COMM:BWIDth] <bwidth_value><NL>
History Legacy command (existed before version 3.10).
1234 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:COMM:ENCode
Command :TRIGger:COMM:ENCode {RZ | NRZ}
This :TRIGger:COMM:ENCode command sets the type of waveform encoding for
your waveform. You should use NRZ for CMI type waveforms and RZ for all other
type of waveforms.
Query :TRIGger:COMM:ENCode?
The :TRIGger:COMM:ENCode? query returns the current value of encoding
Returned Format [:TRIGger:COMM:ENCode] {RZ | NRZ}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1235
:TRIGger:COMM:PATTern
Command :TRIGger:COMM:PATTern <bit>[,<bit[,<bit[,<bit[,<bit[,<bit]]]]]
The :TRIGger:COMM:PATTern command sets the pattern used for triggering the
oscilloscope when in communication trigger mode. The pattern can be up to 6 bits
long. For NRZ type waveforms with positive polarity, there must be at least one
logic 0 to logic 1 transition in the pattern. For NRZ waveforms with negative
polarity there must be at least one logic 1 to logic 0 transition in the pattern. For
RZ type waveforms the pattern must have at least one logic 1 bit for positive
polarity. For RZ type waveforms the pattern must have at least one logic -1 bit for
negative polarity.
<bit> A 1, -1, or 0.
Query :TRIGger:COMM:PATTern?
The :TRIGger:COMM:PATTern? query returns the current communication trigger
pattern.
Returned Format [:TRIGger:COMM:PATTern] <pattern><NL>
<pattern> A string of up to 6 characters.
History Legacy command (existed before version 3.10).
1236 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:COMM:POLarity
Command :TRIGger:COMM:POLarity {POSitive | NEGative}
The :TRIGger:COMM:POLarity command directly controls the trigger slope used
for communication trigger. When set to a positive value, the rising edge of a pulse
or waveform is used to trigger the oscilloscope. When set to a negative value, the
falling edge of a pulse or waveform is used.
The polarity setting is also used to check for valid patterns. If you are trying to
trigger on an isolated 1 pattern, you should set the polarity to positive. If you are
trying to trigger on an isolated -1 pattern, you should set the polarity to negative.
Query :TRIGger:COMM:POLarity?
The :TRIGger:COMM:POLarity? query returns the current setting for polarity.
Returned Format [:TRIGger:COMM:POLarity} {POSitive | NEGative}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1237
:TRIGger:COMM:SOURce
Command :TRIGger:COMM:SOURce CHANnel<N>
The :TRIGger:COMM:SOURce command selects the channel used for the
communication trigger.
<N> An integer, 1-4.
Query :TRIGger:COMM:SOURce?
The :TRIGger:COMM:SOURce? query returns the currently selected
communication trigger source.
Returned Format [:TRIGger:COMM:SOURce] CHANnel<N><NL>
History Legacy command (existed before version 3.10).
1238 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Delay Trigger Commands
•":TRIGger:DELay:ARM:SOURce" on page 1239
•":TRIGger:DELay:ARM:SLOPe" on page 1240
•":TRIGger:DELay:EDELay:COUNt" on page 1241
•":TRIGger:DELay:EDELay:SOURce" on page 1242
•":TRIGger:DELay:EDELay:SLOPe" on page 1243
•":TRIGger:DELay:MODE" on page 1244
•":TRIGger:DELay:TDELay:TIME" on page 1245
•":TRIGger:DELay:TRIGger:SOURce" on page 1246
•":TRIGger:DELay:TRIGger:SLOPe" on page 1247
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1239
:TRIGger:DELay:ARM:SOURce
Command :TRIGger:DELay:ARM:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Arm On source for arming the trigger circuitry when the
oscilloscope is in the Delay trigger mode.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:DELay:ARM:SOURce?
The query returns the currently defined Arm On source for the Delay trigger mode.
Returned Format [:TRIGger:DELay:EDELay:ARM:SOURce] {CHANnel<N> | DIGital<M>}<NL>
History Legacy command (existed before version 3.10).
1240 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:DELay:ARM:SLOPe
Command :TRIGger:DELay:ARM:SLOPe {NEGative | POSitive}
This command sets a positive or negative slope for arming the trigger circuitry
when the oscilloscope is in the Delay trigger mode.
Query :TRIGger:DELay:ARM:SLOPe?
The query returns the currently defined slope for the Delay trigger mode.
Returned Format [:TRIGger:DELay:ARM:SLOPe] {NEGative | POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1241
:TRIGger:DELay:EDELay:COUNt
Command :TRIGger:DELay:EDELay:COUNt <edge_number>
This command sets the event count for a Delay By Event trigger event.
<edge_num> An integer from 0 to 16,000,000 specifying the number of edges to delay.
Query :TRIGger:DELay:EDELay:COUNt?
The query returns the currently defined number of events to delay before
triggering on the next Trigger On condition in the Delay By Event trigger mode.
Returned Format [:TRIGger:DELay:EDELay:COUNt] <edge_number><NL>
History Legacy command (existed before version 3.10).
1242 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:DELay:EDELay:SOURce
Command :TRIGger:DELay:EDELay:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Event source for a Delay By Event trigger event.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:DELay:EDELay:SOURce?
The query returns the currently defined Event source in the Delay By Event trigger
mode.
Returned Format [:TRIGger:DELay:EDELay:SOURce] {CHANnel<N> | DIGital<M>}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1243
:TRIGger:DELay:EDELay:SLOPe
Command :TRIGger:DELay:EDELay:SLOPe {NEGative | POSitive}
This command sets the trigger slope for the Delay By Event trigger event.
Query :TRIGger:DELay:EDELay:SLOPe?
The query returns the currently defined slope for an event in the Delay By Event
trigger mode.
Returned Format [:TRIGger:DELay:EDELay:SLOPe] {NEGative | POSitive}<NL>
History Legacy command (existed before version 3.10).
1244 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:DELay:MODE
Command :TRIGger:DELay:MODE {EDELay | TDELay}
The :TRIGger:DELay:MODE command selects the type of delay trigger mode to
either events or to time.
Query :TRIGger:DELay:MODE?
The query returns the currently selected delay trigger mode.
Returned Format [:TRIGger:DELay:MODE] {EDELay | TDELay}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1245
:TRIGger:DELay:TDELay:TIME
Command :TRIGger:DELay:TDELay:TIME <delay>
This command sets the delay for a Delay By Time trigger event.
<delay> Time, in seconds, set for the delay trigger, from 10 ns to 10 s.
Query :TRIGger:DELay:TDELay:TIME?
The query returns the currently defined time delay before triggering on the next
Trigger On condition in the Delay By Time trigger mode.
Returned Format [:TRIGger:DELay:TDELay:TIME] <delay><NL>
History Legacy command (existed before version 3.10).
1246 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:DELay:TRIGger:SOURce
Command :TRIGger:DELay:TRIGger:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Trigger On source for a Delay trigger event.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:DELay:TRIGger:SOURce?
The query returns the currently defined Trigger On source in the Delay trigger
mode.
Returned Format [:TRIGger:DELay:TRIGger:SOURce] {CHANnel<N> | DIGital<M>}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1247
:TRIGger:DELay:TRIGger:SLOPe
Command :TRIGger:DELay:TRIGger:SLOPe {NEGative | POSitive}
This command sets the trigger slope for the Delay trigger event.
Query :TRIGger:DELay:TRIGger:SLOPe?
The query returns the currently defined slope for an event in the Delay trigger
mode.
Returned Format [:TRIGger:DELay:TRIGger:SLOPe] {NEGative | POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1249
:TRIGger:EDGE:COUPling (9000 Series, 9000H Series, S-Series)
Command :TRIGger:EDGE:COUPling {AC | DC | LFReject | HFReject}
The :TRIGger:EDGE:COUPling command sets the trigger coupling when
:TRIG:EDGE:SOURce is set to one of the channels.
Query :TRIGger:EDGE:COUPling?
The query returns the currently selected coupling for the specified edge trigger
source.
Returned Format [:TRIGger:EDGE:COUPling] {AC | DC | LFReject | HFReject}<NL>
History Legacy command (existed before version 3.10).
1250 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:EDGE:SLOPe
Command :TRIGger:EDGE[{1 | 2}]:SLOPe {POSitive | NEGative | EITHer}
The :TRIGger:EDGE:SLOPe command sets the slope of the trigger source
previously selected by the :TRIGger:EDGE:SOURce command. The LINE source
has no slope.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:EDGE:SLOPe?
The query returns the currently selected slope for the specified edge trigger
source.
Returned Format [:TRIGger:EDGE:SLOPe] {POSitive | NEGative | EITHer}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1251
:TRIGger:EDGE:SOURce
Command :TRIGger:EDGE[{1 | 2}]:SOURce {CHANnel<N> | DIGital<M> | AUX | LINE}
The :TRIGger:EDGE:SOURce command selects the source for edge mode
triggering. This is the source that will be used for subsequent
:TRIGger:EDGE:SLOPe commands or queries.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:EDGE:SOURce?
The query returns the currently selected edge mode trigger source.
Returned Format [:TRIGger:EDGE:SOURce] {CHANnel<N> | DIGital<M> | AUX | LINE}<NL>
History Legacy command (existed before version 3.10).
NOTE
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the TERM1 or TERM2
state if sequential triggering is being used. Sequential triggering is available on
90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series oscilloscopes.
NOTE
The LINE parameter is not available with the 90000 Q-Series or Z-Series oscilloscopes.
1252 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
GBSerial Trigger Commands
•":TRIGger:GBSerial:CLOCk (V-Series with HWST Option)" on page 1253
•":TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)" on
page 1254
•":TRIGger:GBSerial:DRATe (V-Series with HWST Option)" on page 1256
•":TRIGger:GBSerial:MODE (V-Series with HWST Option)" on page 1258
•":TRIGger:GBSerial:PATTern (V-Series with HWST Option)" on page 1259
•":TRIGger:GBSerial:POLarity (V-Series with HWST Option)" on page 1260
•":TRIGger:GBSerial:PRBS (V-Series with HWST Option)" on page 1261
•":TRIGger:GBSerial:SOURce (V-Series with HWST Option)" on page 1262
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1253
:TRIGger:GBSerial:CLOCk (V-Series with HWST Option)
Command :TRIGger:GBSerial:CLOCk <refclk>
<refclk> ::= {INTernal | EXTernal}
The :TRIGger:GBSerial:CLOCk command specifies whether an INTernal or
EXTernal reference clock (and internal multipliers) are used to support the
selected data rate (see :TRIGger:GBSerial:DRATe).
External reference clock signals are supplied to a BNC connector on the
oscilloscope's hardware serial trigger I/O panel. When you use an external
reference clock, its frequency is specified using the
:TRIGger:GBSerial:CLOCk:FREQuency command.
Query :TRIGger:GBSerial:CLOCk?
The :TRIGger:GBSerial:CLOCk? query returns the reference clock selection.
Returned Format [:TRIGger:GBSerial:CLOCk] <refclk><NL>
<refclk> ::= {INTernal | EXTernal}
See Also •":TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)" on
page 1254
•":TRIGger:GBSerial:DRATe (V-Series with HWST Option)" on page 1256
•":TRIGger:GBSerial:MODE (V-Series with HWST Option)" on page 1258
•":TRIGger:GBSerial:PATTern (V-Series with HWST Option)" on page 1259
•":TRIGger:GBSerial:POLarity (V-Series with HWST Option)" on page 1260
•":TRIGger:GBSerial:PRBS (V-Series with HWST Option)" on page 1261
•":TRIGger:GBSerial:SOURce (V-Series with HWST Option)" on page 1262
History New in version 5.50.
1254 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)
Command :TRIGger:GBSerial:CLOCk:FREQuency <value>
<value> ::= Hertz in NR3 format.
When an external reference clock is used, the
:TRIGger:GBSerial:CLOCk:FREQuency command specifies its frequency.
In most cases, depending on the serial signal data rate, a single specific reference
clock is required. However, for some data rates, multiple reference clock
frequencies can be used; in these cases, you use the
:TRIGger:GBSerial:CLOCk:FREQuency command to specify the frequency of the
external reference clock signal.
Query :TRIGger:GBSerial:CLOCk:FREQuency?
The :TRIGger:GBSerial:CLOCk:FREQuency? query returns the external reference
clock frequency.
Returned Format [:TRIGger:GBSerial:CLOCk:FREQuency] <value><NL>
<value> ::= Hertz in NR3 format.
See Also •":TRIGger:GBSerial:CLOCk (V-Series with HWST Option)" on page 1253
•":TRIGger:GBSerial:DRATe (V-Series with HWST Option)" on page 1256
•":TRIGger:GBSerial:MODE (V-Series with HWST Option)" on page 1258
•":TRIGger:GBSerial:PATTern (V-Series with HWST Option)" on page 1259
Serial Signal Data Rate Required Reference Clock Frequency
480 Mb/s 96 MHz
2.5 Gb/s 100 MHz
4Gb/s 200MHz
5Gb/s 100MHz
6Gb/s 75MHz
8Gb/s 100MHz
10 Gb/s 100 MHz
10.3125 Gb/s 103.125 MHz or 156.25 MHz
10.3725 Gb/s 103.725 MHz
10.75 Gb/s 107.5 MHz
12 Gb/s 120 MHz
12.125 Gb/s 121.25 MHz
12.5 Gb/s 125 MHz
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1255
•":TRIGger:GBSerial:POLarity (V-Series with HWST Option)" on page 1260
•":TRIGger:GBSerial:PRBS (V-Series with HWST Option)" on page 1261
•":TRIGger:GBSerial:SOURce (V-Series with HWST Option)" on page 1262
History New in version 5.50.
1256 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:GBSerial:DRATe (V-Series with HWST Option)
Command :TRIGger:GBSerial:DRATe <bps>
<bps> ::= bits/second in NR3 format.
The :TRIGger:GBSerial:DRATe command specifies the data rate of the serial signal.
These common data rate values are supported:
• 480 Mb/s.
•2.5Gb/s.
•4Gb/s.
•5Gb/s.
•6Gb/s.
•8Gb/s.
•10Gb/s.
• 10.3125 Gb/s.
• 10.3725 Gb/s.
• 10.75 Gb/s.
•12Gb/s.
• 12.125 Gb/s.
• 12.5 Gb/s.
These data rates are supported in hardware using an internal reference clock and
multipliers. You can also supply an external reference clock to a BNC connector on
the oscilloscope's hardware serial trigger I/O panel. You can choose between the
internal reference clock and an external reference clock using the
:TRIGger:GBSerial:CLOCk command. When you use an external reference clock,
its frequency is specified using the :TRIGger:GBSerial:CLOCk:FREQuency
command.
Query :TRIGger:GBSerial:DRATe?
The :TRIGger:GBSerial:DRATe? query returns the specified serial signal data rate.
Returned Format [:TRIGger:GBSerial:DRATe] <bps><NL>
<bps> ::= bits/second in NR3 format.
See Also •":TRIGger:GBSerial:CLOCk (V-Series with HWST Option)" on page 1253
•":TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)" on
page 1254
•":TRIGger:GBSerial:MODE (V-Series with HWST Option)" on page 1258
•":TRIGger:GBSerial:PATTern (V-Series with HWST Option)" on page 1259
•":TRIGger:GBSerial:POLarity (V-Series with HWST Option)" on page 1260
•":TRIGger:GBSerial:PRBS (V-Series with HWST Option)" on page 1261
1258 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:GBSerial:MODE (V-Series with HWST Option)
Command :TRIGger:GBSerial:MODE <mode>
<mode> ::= {GENeric | GEN8B10B | PERRor}
The :TRIGger:GBSerial:MODE command selects the hardware serial trigger mode:
• GENeric — To trigger on "generic" sequences.
This mode is used for simple sequences of 1s and 0s (see
:TRIGger:GBSerial:PATTern), such as during a power-up sequence where there
may be a unique sequence to trigger on.
• GEN8B10B — To trigger on 8b/10b sequences.
In the front panel user interface, you can specify the number of words and
choose from K or D codes. In the remote user interface, you are limited to
specifying patterns as binary bit sequences, just as in the GENeric mode (see
:TRIGger:GBSerial:PATTern)
• PERRor — To trigger on PRBS errors.
This mode lets you select the type of PRBS pattern to compare against (see
:TRIGger:GBSerial:PRBS) and its polarity (see :TRIGger:GBSerial:POLarity).
Query :TRIGger:GBSerial:MODE?
The :TRIGger:GBSerial:MODE? query returns the currently selected mode.
Returned Format [:TRIGger:GBSerial:MODE] <mode><NL>
<mode> ::= {GEN | GEN8B10B | PERR}
See Also •":TRIGger:GBSerial:CLOCk (V-Series with HWST Option)" on page 1253
•":TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)" on
page 1254
•":TRIGger:GBSerial:DRATe (V-Series with HWST Option)" on page 1256
•":TRIGger:GBSerial:PATTern (V-Series with HWST Option)" on page 1259
•":TRIGger:GBSerial:POLarity (V-Series with HWST Option)" on page 1260
•":TRIGger:GBSerial:PRBS (V-Series with HWST Option)" on page 1261
•":TRIGger:GBSerial:SOURce (V-Series with HWST Option)" on page 1262
History New in version 5.50.
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1259
:TRIGger:GBSerial:PATTern (V-Series with HWST Option)
Command :TRIGger:GBSerial:PATTern "<pattern>"
<pattern> ::= binary number string up to 160 bits
When triggering on "generic" sequences or 8b/10b sequences (see
:TRIGger:GBSerial:MODE), the :TRIGger:GBSerial:PATTern command specifies the
bit pattern to trigger on. The bit pattern can be up to 160 bits.
Query :TRIGger:GBSerial:PATTern?
The :TRIGger:GBSerial:PATTern? query returns the currently specified bit pattern.
Returned Format [:TRIGger:GBSerial:PATTern] "<pattern>"<NL>
<pattern> ::= binary number string up to 160 bits
See Also •":TRIGger:GBSerial:CLOCk (V-Series with HWST Option)" on page 1253
•":TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)" on
page 1254
•":TRIGger:GBSerial:DRATe (V-Series with HWST Option)" on page 1256
•":TRIGger:GBSerial:MODE (V-Series with HWST Option)" on page 1258
•":TRIGger:GBSerial:POLarity (V-Series with HWST Option)" on page 1260
•":TRIGger:GBSerial:PRBS (V-Series with HWST Option)" on page 1261
•":TRIGger:GBSerial:SOURce (V-Series with HWST Option)" on page 1262
History New in version 5.50.
1260 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:GBSerial:POLarity (V-Series with HWST Option)
Command :TRIGger:GBSerial:POLarity <polarity>
<polarity> ::= {POSitive | NEGative}
When triggering on PRBS errors (see :TRIGger:GBSerial:MODE), the
:TRIGger:GBSerial:POLarity command specifies the polarity of the selected PRBS
pattern.
Query :TRIGger:GBSerial:POLarity?
The :TRIGger:GBSerial:POLarity? query returns the specified PRBS pattern
polarity.
Returned Format [:TRIGger:GBSerial:POLarity] <polarity><NL>
<polarity> ::= {POSitive | NEGative}
See Also •":TRIGger:GBSerial:CLOCk (V-Series with HWST Option)" on page 1253
•":TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)" on
page 1254
•":TRIGger:GBSerial:DRATe (V-Series with HWST Option)" on page 1256
•":TRIGger:GBSerial:MODE (V-Series with HWST Option)" on page 1258
•":TRIGger:GBSerial:PATTern (V-Series with HWST Option)" on page 1259
•":TRIGger:GBSerial:PRBS (V-Series with HWST Option)" on page 1261
•":TRIGger:GBSerial:SOURce (V-Series with HWST Option)" on page 1262
History New in version 5.50.
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1261
:TRIGger:GBSerial:PRBS (V-Series with HWST Option)
Command :TRIGger:GBSerial:PRBS <type>
<type> ::= {PRBS7 | PRBS15 | PRBS23 | PRBS31}
When triggering on PRBS errors (see :TRIGger:GBSerial:MODE), the
:TRIGger:GBSerial:PRBS command specifies the pattern to check when looking for
errors. You can select PRBS 7, 15, 23, or 31 patterns.
Query :TRIGger:GBSerial:PRBS?
The :TRIGger:GBSerial:PRBS? query returns the selected PRBS pattern.
Returned Format [:TRIGger:GBSerial:PRBS] <type><NL>
<type> ::= {PRBS7 | PRBS15 | PRBS23 | PRBS31}
See Also •":TRIGger:GBSerial:CLOCk (V-Series with HWST Option)" on page 1253
•":TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)" on
page 1254
•":TRIGger:GBSerial:DRATe (V-Series with HWST Option)" on page 1256
•":TRIGger:GBSerial:MODE (V-Series with HWST Option)" on page 1258
•":TRIGger:GBSerial:PATTern (V-Series with HWST Option)" on page 1259
•":TRIGger:GBSerial:POLarity (V-Series with HWST Option)" on page 1260
•":TRIGger:GBSerial:SOURce (V-Series with HWST Option)" on page 1262
History New in version 5.50.
1262 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:GBSerial:SOURce (V-Series with HWST Option)
Command :TRIGger:GBSerial:SOURce CHANnel1
The :TRIGger:GBSerial:SOURce command specifies the oscilloscope input channel
on which the hardware serial trigger operates. This is always CHANnel1.
Query :TRIGger:GBSerial:SOURce?
The :TRIGger:GBSerial:SOURce? query returns the oscilloscope input channel on
which the hardware serial trigger operates. This is always CHANnel1.
Returned Format [:TRIGger:GBSerial:SOURce] <source><NL>
<source> ::= CHANnel1
See Also •":TRIGger:GBSerial:CLOCk (V-Series with HWST Option)" on page 1253
•":TRIGger:GBSerial:CLOCk:FREQuency (V-Series with HWST Option)" on
page 1254
•":TRIGger:GBSerial:DRATe (V-Series with HWST Option)" on page 1256
•":TRIGger:GBSerial:MODE (V-Series with HWST Option)" on page 1258
•":TRIGger:GBSerial:PATTern (V-Series with HWST Option)" on page 1259
•":TRIGger:GBSerial:POLarity (V-Series with HWST Option)" on page 1260
•":TRIGger:GBSerial:PRBS (V-Series with HWST Option)" on page 1261
History New in version 5.50.
1264 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:GLITch:POLarity
Command :TRIGger:GLITch[{1 | 2}]:POLarity {POSitive | NEGative}
This command defines the polarity of the glitch as positive or negative. The trigger
source must be set using the :TRIGger:GLITch:SOURce command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:GLITch:POLarity?
The query returns the currently selected glitch polarity.
Returned Format [:TRIGger:GLITch:POLarity] {POS | NEG}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1265
:TRIGger:GLITch:SOURce
Command :TRIGger:GLITch[{1 | 2}]:SOURce {CHANnel<N> | DIGital<M>}
This command sets the source for the glitch trigger mode.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:GLITch:SOURce?
The query returns the currently selected source for the glitch trigger mode.
Returned Format [:TRIGger:GLITch:SOURce] {CHANnel<N> | DIGital<M>}<NL>
History Legacy command (existed before version 3.10).
1266 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:GLITch:WIDTh
Command :TRIGger:GLITch[{1 | 2}]:WIDTh <width>
This command sets the glitch width. The oscilloscope will trigger on a pulse that
has a width less than the specified width.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<width> A real number for the glitch width, ranging from the minimum detectable pulse
width to 10 s.
Query :TRIGger:GLITch:WIDTh?
The query returns the currently specified glitch width.
Returned Format [:TRIGger:GLITch:WIDTh] <width><NL>
History Legacy command (existed before version 3.10).
1268 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:PATTern:CONDition
Command :TRIGger:PATTern[{1 | 2}]:CONDition {ENTered | EXITed
| {GT,<time>[,PEXits|TIMeout]}
| {LT,<time>}
| {RANGe,<gt_time>,<lt_time>}
| OR}
This command describes the condition applied to the trigger pattern to actually
generate a trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<gt_time> The minimum time (greater than time) for the trigger pattern, from 10 ns to
9.999 s.
<lt_time> The maximum time (less than time) for the trigger pattern, from 10.5 ps to 10 s.
<time> The time condition, in seconds, for the pattern trigger, from 100 ps to 10 s.
When using the GT (Present >) parameter, the PEXits (Pattern Exits) or the
TIMeout parameter controls when the trigger is generated.
Query :TRIGger:PATTern:CONDition?
The query returns the currently defined trigger condition.
Returned Format [:TRIGger:PATTern:CONDition] {ENTered|EXITed
| {GT,<time>[,PEXits|TIMeout]}
| {LT,<time>}
| {RANGe,<gt_time>,<lt_time>}
| OR}<NL>
History Legacy command (existed before version 3.10).
Version 6.20: The OR parameter has been added.
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1269
:TRIGger:PATTern:LOGic
Command :TRIGger:PATTern[{1 | 2}]:LOGic {CHANnel<N> | DIGital<M>},
{HIGH | LOW | DONTcare | RISing | FALLing}
This command defines the logic criteria for a selected channel.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:PATTern:LOGic? {CHANnel<N> | DIGital<M>}
The query returns the current logic criteria for a selected channel.
Returned Format [:TRIGger:PATTern:LOGic {CHANnel<N> | DIGital<M>},]
{HIGH | LOW | DONTcare | RISing | FALLing}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1271
:TRIGger:PWIDth:DIRection
Command :TRIGger:PWIDth[{1 | 2}]:DIRection {GTHan | LTHan}
This command specifies whether a pulse must be wider or narrower than the width
value to trigger the oscilloscope.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:PWIDth:DIRection?
The query returns the currently defined direction for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:DIRection] {GTHan | LTHan}<NL>
History Legacy command (existed before version 3.10).
1272 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:PWIDth:POLarity
Command :TRIGger:PWIDth[{1 | 2}]:POLarity {NEGative | POSitive}
This command specifies the pulse polarity that the oscilloscope uses to determine
a pulse width violation. For a negative polarity pulse, the oscilloscope triggers
when the rising edge of a pulse crosses the trigger level. For a positive polarity
pulse, the oscilloscope triggers when the falling edge of a pulse crosses the
trigger level.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:PWIDth:POLarity?
The query returns the currently defined polarity for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:POLarity] {NEGative | POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1273
:TRIGger:PWIDth:SOURce
Command :TRIGger:PWIDth[{1 | 2}]:SOURce {CHANnel<N> | DIGital<M>}
This command specifies the channel source used to trigger the oscilloscope with
the pulse width trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:PWIDth:SOURce?
The query returns the currently defined channel source for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:SOURce] {CHANnel<N> | DIGital<M>}<NL>
History Legacy command (existed before version 3.10).
1274 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:PWIDth:TPOint
Command :TRIGger:PWIDth[{1 | 2}]:TPOint {EPULse | TIMeout}
This command specifies whether the pulse width trigger should occur at the end
of the pulse or at a specified timeout period. This command is only available if the
pulse direction is set to GTHan.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:PWIDth:TPOint?
The query returns the currently defined trigger on point for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:TPOint] {EPULse | TIMeout}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1275
:TRIGger:PWIDth:WIDTh
Command :TRIGger:PWIDth[{1 | 2}]:WIDTh <width>
This command specifies how wide a pulse must be to trigger the oscilloscope.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<width> Pulse width, which can range from 250 ps to 10 s.
Query :TRIGger:PWIDth:WIDTh?
The query returns the currently defined width for the pulse.
Returned Format [:TRIGger:PWIDth:WIDTh] <width><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1277
:TRIGger:RUNT:POLarity
Command :TRIGger:RUNT[{1 | 2}]:POLarity {POSitive | NEGative}
This command defines the polarity of the runt pulse as positive or negative. The
trigger source must be set using the :TRIGger:RUNT:SOURce command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:RUNT:POLarity?
The query returns the currently selected runt pulse polarity.
Returned Format [:TRIGger:RUNT:POLarity] {POSitive | NEGative}<NL>
History Legacy command (existed before version 3.10).
1278 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:RUNT:QUALified
Command :TRIGger:RUNT[{1 | 2}]:QUALified {{ON | 1} | {OFF | 0}}
This command enables the time qualified runt pulse feature the polarity of the runt
pulse as positive or negative. The trigger source must be set using the
:TRIGger:RUNT:SOURce command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:RUNT:QUALified?
The query returns the current state of the time qualified runt pulse feature.
Returned Format [:TRIGger:RUNT:QUALified] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1279
:TRIGger:RUNT:SOURce
Command :TRIGger:RUNT[{1 | 2}]:SOURce CHANnel<N>
This command sets the source for the runt trigger mode.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:RUNT:SOURce?
The query returns the currently selected source for the runt trigger mode.
Returned Format [:TRIGger:RUNT:SOURce] CHANnel<N><NL>
History Legacy command (existed before version 3.10).
1280 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:RUNT:TIME
Command :TRIGger:RUNT[{1 | 2}]:TIME <time>
This command sets the time qualifier. The oscilloscope will trigger on a runt pulse
that has a width greater than the specified time.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> A real number for the time greater than qualifier, ranging from 250 ps to 30 ns.
Query :TRIGger:RUNT:TIME?
The query returns the currently specified glitch width.
Returned Format [:TRIGger:RUNT:TIME] <time><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1281
Sequence Trigger Commands
The sequence trigger commands are available on 90000A Series, 90000 X-Series,
V-Series, 90000 Q-Series, and Z-Series oscilloscopes.
•":TRIGger:SEQuence:TERM1 (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)" on page 1282
•":TRIGger:SEQuence:TERM2 (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)" on page 1283
•":TRIGger:SEQuence:RESet:ENABle (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)" on page 1284
•":TRIGger:SEQuence:RESet:TYPE (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)" on page 1285
•":TRIGger:SEQuence:RESet:EVENt (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)" on page 1286
•":TRIGger:SEQuence:RESet:TIME (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)" on page 1287
•":TRIGger:SEQuence:WAIT:ENABle (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)" on page 1288
•":TRIGger:SEQuence:WAIT:TIME (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)" on page 1289
1282 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:SEQuence:TERM1 (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)
Command :TRIGger:SEQuence:TERM1 { EDGE1 | GLITch1 | PWIDth1 | RUNT1 | SHOLd1
| STATe1 | TIMeout1 | TRANsition1 | WINDow1 }
This command specifies the trigger mode for the TERM1 state in the sequential
trigger (the Find (A) state in the Trigger Setup dialog box on the oscilloscope).
There are five limitations associated with sequential triggering:
1The Edge followed by Edge and Video trigger modes cannot be used in
sequential triggering.
2The AND qualifier cannot be used when the Reset condition is based upon a
logical pattern.
3The Pattern/State trigger mode that uses range as the When Pattern selection
can only be used for either the Term1 state or the Term2 state, but not both.
4You can only use one long timer (>30 ns). Therefore, trigger modes that use
timers greater than 30 ns can only be used for either the Term1 state or the
Term2 state, but not both. Some examples of trigger modes where you might
use a long timer include Pulse Width, Glitch, Window, Edge Transition, and
Timeout.
5The alternating edge trigger mode cannot be used in sequential triggering.
Limitations (3) and (4) deal with extended resources. Extended resources refer to
trigger modes or conditions that are only available to either the Term1 state or the
Term2 state, but not both at the same time. The oscilloscope will figure out which
state has access to these extended resources based upon the conditions you setup
in each of these states. If you want Term2 to have a timer longer than 30 ns, you
must first change the timer associated with Term1 to be less than 30 ns.
Query :TRIGger:SEQuence:TERM1?
The query returns the currently defined trigger mode for the TERM1 state.
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1283
:TRIGger:SEQuence:TERM2 (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)
Command :TRIGger:SEQuence:TERM2 { EDGE2 | GLITch2 | PWIDth2 | RUNT2 | SHOLd2
| STATe2 | TIMeout2 | TRANsition2 | WINDow2 }
This command specifies the trigger mode for the TERM2 state in the sequential
trigger (the Trigger (B) state in the Trigger Setup dialog box on the oscilloscope).
There are five limitations associated with sequential triggering:
1The Edge followed by Edge and Video trigger modes cannot be used in
sequential triggering.
2The AND qualifier cannot be used when the Reset condition is based upon a
logical pattern.
3The Pattern/State trigger mode that uses range as the When Pattern selection
can only be used for either the Term1 state or the Term2 state, but not both.
4You can only use one long timer (>30 ns). Therefore, trigger modes that use
timers greater than 30 ns can only be used for either the Term1 state or the
Term2 state, but not both. Some examples of trigger modes where you might
use a long timer include Pulse Width, Glitch, Window, Edge Transition, and
Timeout.
5The alternating edge trigger mode cannot be used in sequential triggering.
Limitations (3) and (4) deal with extended resources. Extended resources refer to
trigger modes or conditions that are only available to either the Term1 state or the
Term2 state, but not both at the same time. The oscilloscope will figure out which
state has access to these extended resources based upon the conditions you setup
in each of these states. If you want Term2 to have a timer longer than 30 ns, you
must first change the timer associated with Term1 to be less than 30 ns.
Query :TRIGger:SEQuence:TERM2?
The query returns the currently defined trigger mode for the TERM2 state.
History Legacy command (existed before version 3.10).
1284 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:SEQuence:RESet:ENABle (90000A Series, 90000 X-Series,
V-Series, 90000 Q-Series, Z-Series)
Command :TRIGger:SEQuence:RESet:ENABle {{ON | 1} | {OFF | 0}}
This command turns the Reset feature on or off for the sequential trigger.
The Reset feature allows you to specify a length of time such that if this time is
exceeded between when the TERM1 event occurs and when the TERM2 event
occurs, the sequential trigger is reset and the oscilloscope returns to looking for
the TERM1 event without triggering. If the Delay feature (remote command :WAIT)
is used as well then the Reset timer does not start counting down until after the
delay period is complete.
You can also base the Reset condition on a logical pattern. If the specified pattern
is found between when the TERM1 occurs and the TERM2 event occurs, the
sequential trigger resets and goes back to looking for the TERM1 event without
triggering. The delay feature does not impact a logical pattern Reset as the pattern
is searched for immediately after the TERM1 event occurs regardless of whether of
not the Delay period is complete.
If the Reset feature is enabled, the AND qualifier cannot be used for the TERM1
state.
Query :TRIGger:SEQuence:RESet:ENABle?
The query returns whether or not the Reset feature is enabled.
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1285
:TRIGger:SEQuence:RESet:TYPE (90000A Series, 90000 X-Series,
V-Series, 90000 Q-Series, Z-Series)
Command :TRIGger:SEQuence:RESet:TYPE { TIME | EVENt }
This command specifies whether the Reset condition is based upon a length of
time or a logical pattern.
The Reset feature allows you to specify a length of time such that if this time is
exceeded between when the TERM1 event occurs and when the TERM2 event
occurs, the sequential trigger is reset and the oscilloscope returns to looking for
the TERM1 event without triggering. If the Delay feature (remote command :WAIT)
is used as well then the Reset timer does not start counting down until after the
delay period is complete.
You can also base the Reset condition on a logical pattern. If the specified pattern
is found between when the TERM1 occurs and the TERM2 event occurs, the
sequential trigger resets and goes back to looking for the TERM1 event without
triggering. The delay feature does not impact a logical pattern Reset as the pattern
is searched for immediately after the TERM1 event occurs regardless of whether of
not the Delay period is complete.
Query :TRIGger:SEQuence:RESet:TYPE?
The query returns whether the Reset condition is based upon a length of time or
an event.
History Legacy command (existed before version 3.10).
1286 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:SEQuence:RESet:EVENt (90000A Series, 90000 X-Series,
V-Series, 90000 Q-Series, Z-Series)
Command :TRIGger:SEQuence:RESet:EVENt {CHANnel<N>}, { HIGH | LOW | DONTcare }
This command defines the logical pattern used for an event Reset condition.
You can specify for each channel (1-4) whether you want the value to be high (1),
low (0), or you don't care (X).
<N> An integer, 1-4.
Query :TRIGger:SEQuence:RESet:EVENt? {CHANnel<N>}
The query returns the logical pattern used for an event Reset condition.
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1287
:TRIGger:SEQuence:RESet:TIME (90000A Series, 90000 X-Series,
V-Series, 90000 Q-Series, Z-Series)
Command :TRIGger:SEQuence:RESet:TIME <time>
This command defines the length of time to use for the time-based Reset
condition.
<time> A length of time in seconds.
Query :TRIGger:SEQuence:RESet:TIME?
The query returns the length of time used for the Reset condition.
History Legacy command (existed before version 3.10).
1288 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:SEQuence:WAIT:ENABle (90000A Series, 90000 X-Series,
V-Series, 90000 Q-Series, Z-Series)
Command :TRIGger:SEQuence:WAIT:ENABle { {ON|1} | {OFF|0}}
This command turns the Delay feature on or off for the sequential trigger.
The Delay feature allows you to define a length of time for the sequential trigger
system to wait after the TERM1 event occurs before it starts searching for the
TERM2 event.
Query :TRIGger:SEQuence:WAIT:ENABle?
The query returns whether or not the Delay feature is turned on.
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1289
:TRIGger:SEQuence:WAIT:TIME (90000A Series, 90000 X-Series, V-Series,
90000 Q-Series, Z-Series)
Command :TRIGger:SEQuence:WAIT:TIME <time>
This command defines the length of time to use for the Delay condition.
<time> A length of time in seconds.
Query :TRIGger:SEQuence:WAIT:TIME?
The query returns the length of time used for the Delay condition.
History Legacy command (existed before version 3.10).
1290 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Setup and Hold Trigger Commands
•":TRIGger:SHOLd:CSOurce" on page 1291
•":TRIGger:SHOLd:CSOurce:EDGE" on page 1292
•":TRIGger:SHOLd:DSOurce" on page 1293
•":TRIGger:SHOLd:HoldTIMe (HTIMe)" on page 1294
•":TRIGger:SHOLd:MODE" on page 1295
•":TRIGger:SHOLd:SetupTIMe" on page 1296
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1291
:TRIGger:SHOLd:CSOurce
Command :TRIGger:SHOLd[{1 | 2}]:CSOurce CHANnel<N>
This command specifies the clock source for the clock used for the trigger setup
and hold violation. The clock must pass through the voltage level you have set
before the trigger circuitry looks for a setup and hold time violation.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:SHOLd:CSOurce?
The query returns the currently defined clock source for the trigger setup and hold
violation.
Returned Format [:TRIGger:SHOLd:CSOurce] CHANnel<N><NL>
History Legacy command (existed before version 3.10).
1292 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:SHOLd:CSOurce:EDGE
Command :TRIGger:SHOLd[{1 | 2}]:CSOurce:EDGE {RISing | FALLing}
This command specifies the clock source trigger edge for the clock used for the
trigger setup and hold violation. The clock must pass through the voltage level you
have set before the trigger circuitry looks for a setup and hold time violation.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:SHOLd:CSOurce:EDGE?
The query returns the currently defined clock source edge for the trigger setup and
hold violation level for the clock source.
Returned Format [:TRIGger:SHOLd:CSOurce:EDGE] {RISing | FALLing}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1293
:TRIGger:SHOLd:DSOurce
Command :TRIGger:SHOLd[{1 | 2}]:DSOurce CHANnel<N>
The data source commands specify the data source for the trigger setup and hold
violation.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:SHOLd:DSOurce?
The query returns the currently defined data source for the trigger setup and hold
violation.
Returned Format [:TRIGger:SHOLd:DSOurce] CHANnel<N><NL>
History Legacy command (existed before version 3.10).
1294 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:SHOLd:HoldTIMe (HTIMe)
Command :TRIGger:SHOLd[{1 | 2}]:HoldTIMe <time>
This command specifies the amount of hold time used to test for both a setup and
hold trigger violation. The hold time is the amount of time that the data must be
stable and valid after a clock edge.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> Hold time, in seconds.
Query :TRIGger:SHOLD:HoldTIMe?
The query returns the currently defined hold time for the setup and hold trigger
violation.
Returned Format [:TRIGger:SHOLD:HoldTIMe] <time><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1295
:TRIGger:SHOLd:MODE
Command :TRIGger:SHOLd[{1 | 2}]:MODE {SETup | HOLD | SHOLd}
SETup When using the setup time mode, a time window is defined where the right edge is
the clock edge and the left edge is the selected time before the clock edge. The
waveform must stay outside of the trigger level thresholds during this time
window. If the waveform crosses a threshold during this time window, a violation
event occurs and the oscilloscope triggers.
HOLD When using the hold time mode, the waveform must not cross the threshold
voltages after the specified clock edge for at least the hold time you have selected.
Otherwise, a violation event occurs and the oscilloscope triggers.
SHOLd When using the setup and hold time mode, if the waveform violates either a setup
time or hold time, the oscilloscope triggers. The total time allowed for the sum of
setup time plus hold time is 24 ns maximum.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:SHOLd:MODE?
The query returns the currently selected trigger setup violation mode.
Returned Format [:TRIGger:SHOLd:MODE] {SETup | HOLD | SHOLd}<NL>
History Legacy command (existed before version 3.10).
1296 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:SHOLd:SetupTIMe
Command :TRIGger:SHOLd[{1 | 2}]:SetupTIMe <time>
This command specifies the amount of setup time used to test for both a setup
and hold trigger violation. The setup time is the amount of time that the data must
be stable and valid before a clock edge.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> Setup time, in seconds.
Query :TRIGger:SHOLd:SetupTIMe?
The query returns the currently defined setup time for the setup and hold trigger
violation.
Returned Format [:TRIGger:SHOLd:SetupTIMe] <time><NL>
History Legacy command (existed before version 3.10).
1298 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:STATe:CLOCk
Command :TRIGger:STATe[{1 | 2}]:CLOCk {CHANnel<N> | DIGital<M>}
This command selects the source for the clock waveform in the State Trigger
Mode.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:STATe:CLOCk?
The query returns the currently selected clock source.
Returned Format [:TRIGger:STATe:CLOCk] {CHANnel<N> | DIGital<M>}<NL>
See Also •":TRIGger:STATe:SLOPe" on page 1301
•":TRIGger:STATe:LOGic" on page 1299
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1299
:TRIGger:STATe:LOGic
Command :TRIGger:STATe[{1 | 2}]:LOGic {CHANnel<N> | DIGital<M>},
{LOW | HIGH | DONTcare | RISing | FALLing | EITHer}
This command defines the logic state of the specified source for the state pattern.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
The RISing, FALLing, or EITHer options will make the specified source the clock
source. In mixed-signal (MSO) oscilloscopes, the EITHer option is available only
when all digital channel states are DONTcare.
<N> An integer, 1-4.
<M> An integer, 0-15. Digital channels are available on mixed-signal oscilloscopes.
Query :TRIGger:STATe:LOGic? {CHANnel<N> | DIGital<M>}
The query returns the logic state definition for the specified source.
Returned Format [:TRIGger:STATe:LOGic {CHANnel<N> | DIGital<M>},]
{LOW | HIGH | DONT | RIS | FALL | EITH}<NL>
See Also •":TRIGger:STATe:CLOCk" on page 1298
History Legacy command (existed before version 3.10).
1300 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:STATe:LTYPe
Command :TRIGger:STATe[{1 | 2}]:LTYPe {AND | NAND}
This command defines the state trigger logic type. If the logic type is set to AND,
then a trigger is generated on the edge of the clock when the input waveforms
match the pattern specified by the :TRIGger:STATe:LOGic command. If the logic
type is set to NAND, then a trigger is generated on the edge of the clock when the
input waveforms do not match the specified pattern.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:STATe:LTYPe?
The query returns the currently specified state trigger logic type.
Returned Format [:TRIGger:STATe:LTYPe] {AND | NAND}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1301
:TRIGger:STATe:SLOPe
Command :TRIGger:STATe[{1 | 2}]:SLOPe {RISing | FALLing | EITHer}
This command specifies the edge of the clock that is used to generate a trigger.
The waveform source used for the clock is selected by using the
:TRIGger:STATe:CLOCk command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
In mixed-signal (MSO) oscilloscopes, the EITHer option is available only when all
digital channel states are DONTcare.
Query :TRIGger:STATe:SLOPe?
The query returns the currently defined slope for the clock in State Trigger Mode.
Returned Format [:TRIGger:STATe:SLOPe] {RIS | FALL | EITH}<NL>
See Also •":TRIGger:STATe:CLOCk" on page 1298
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1303
:TRIGger:TIMeout:CONDition
Command :TRIGger:TIMeout[{1 | 2}]:CONDition {HIGH | LOW | UNCHanged}
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
This command sets the condition used for the timeout trigger.
HIGH Trigger when the waveform has been high for a period time longer than the time
value which is set by the TRIGger:TIMeout:TIME command.
LOW Trigger when the waveform has been low for a period time longer than the time
value which is set by the TRIGger:TIMeout:TIME command.
UNCHanged Trigger when the waveform has not changed state for a period time longer than
the time value which is set by the TRIGger:TIMeout:TIME command.
Query :TRIGger:TIMeout:CONDition?
The query returns the currently defined trigger condition for the timeout trigger.
Returned Format [:TRIGger:TIMeout:CONDition] {HIGH | LOW | UNCHanged}<NL>
History Legacy command (existed before version 3.10).
1304 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:TIMeout:SOURce
Command :TRIGger:TIMeout[{1 | 2}]:SOURce CHANnel<N>
This command specifies the channel source used to trigger the oscilloscope with
the timeout trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:TIMeout:SOURce?
The query returns the currently defined channel source for the timeout trigger.
Returned Format [:TRIGger:TIMeout:SOURce] CHANnel<N><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1305
:TRIGger:TIMeout:TIME
Command :TRIGger:TIMeout[{1 | 2}]:TIME <time>
This command lets you look for transition violations that are greater than or less
than the time specified.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> The time for the timeout trigger, in seconds.
Query :TRIGger:TIMeout:TIME?
The query returns the currently defined time for the trigger trigger.
Returned Format [:TRIGger:TIMeout:TIME] <time><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1307
:TRIGger:TRANsition:DIRection
Command :TRIGger:TRANsition[{1 | 2}]:DIRection {GTHan | LTHan}
This command lets you look for transition violations that are greater than or less
than the time specified by the :TRIGger:TRANsition:TIME command.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:TRANsition:DIRection?
The query returns the currently defined direction for the trigger transition violation.
Returned Format [:TRIGger:TRANsition:DIRection] {GTHan | LTHan}]<NL>
History Legacy command (existed before version 3.10).
1308 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:TRANsition:SOURce
Command :TRIGger:TRANsition[{1 | 2}]:SOURce CHANnel<N>
The transition source command lets you find any edge in your waveform that
violates a rise time or fall time specification. The oscilloscope finds a transition
violation trigger by looking for any pulses in your waveform with rising or falling
edges that do not cross two voltage levels in the amount of time you have
specified.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:TRANsition:SOURce?
The query returns the currently defined transition source for the trigger transition
violation.
Returned Format [:TRIGger:TRANsition:SOURce] CHANnel<N><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1309
:TRIGger:TRANsition:TIME
Command :TRIGger:TRANsition[{1 | 2}]:TIME <time>
This command lets you look for transition violations that are greater than or less
than the time specified.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> The time for the trigger violation transition, in seconds.
Query :TRIGger:TRANsition:TIME?
The query returns the currently defined time for the trigger transition violation.
Returned Format [:TRIGger:TRANsition:TIME] <time><NL>
History Legacy command (existed before version 3.10).
1310 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:TRANsition:TYPE
Command :TRIGger:TRANsition[{1 | 2}]:TYPE {RISetime | FALLtime}
This command lets you select either a rise time or fall time transition violation
trigger event.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:TRANsition:TYPE?
The query returns the currently defined transition type for the trigger transition
violation.
Returned Format [:TRIGger:TRANsition:TYPE] {RISetime | FALLtime}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1311
TV Trigger Commands
•":TRIGger:TV:LINE" on page 1312
•":TRIGger:TV:MODE" on page 1313
•":TRIGger:TV:POLarity" on page 1314
•":TRIGger:TV:SOURce" on page 1315
•":TRIGger:TV:STANdard" on page 1316
•":TRIGger:TV:UDTV:ENUMber" on page 1317
•":TRIGger:TV:UDTV:HSYNc" on page 1318
•":TRIGger:TV:UDTV:HTIMe" on page 1319
•":TRIGger:TV:UDTV:PGTHan" on page 1320
•":TRIGger:TV:UDTV:POLarity" on page 1321
1312 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:TV:LINE
Command :TRIGger:TV:LINE <line_number>
The :TRIGger:TV:LINE command selects the horizontal line that you want to
examine. The allowable line number entry depends on the :TRIGger:TV:MODE
selected. Once the vertical sync pulse of the selected field is received, the trigger
is delayed by the number of lines specified.
<line_number> Horizontal line number as shown below.
Query :TRIGger:TV:LINE?
The query returns the current line number.
Returned Format [:TRIGger:TV:LINE] <line_number><NL>
History Legacy command (existed before version 3.10).
Video Standard Field 1 Field 2 Alternate Field
NTSC/PAL-M 1 to 263 1 to 262 1 to 262
PAL/SECAM 1 to 313 314 to 625 1 to 312
EDTV/HDTV Line numbers
EDTV 480p/60 1 to 525
EDTV 576p/50 1 to 625
HDTV 720p/60 1 to 750
HDTV 720p/50 1 to 750
HDTV 1080i/60 1 to 1125
HDTV 1080i/50 1 to 1125
HDTV1080p/60 1 to 1125
HDTV 1080p/50 1 to 1125
HDTV 1080p/30 1 to 1125
HDTV 1080p/25 1 to 1125
HDTV 1080p/24 1 to 1125
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1313
:TRIGger:TV:MODE
Command :TRIGger:TV:MODE {AFIelds | ALINes | ALTernate | FIElds1 | FIElds2 | LIN
E}
The :TRIGger:TV:MODE command determines which portion of the video waveform
is used to trigger.
Query :TRIGger:TV:MODE?
The query returns the current TV trigger mode.
Returned Format [:TRIGger:TV:MODE] {AFIelds | ALINes | ALTernate | FIElds1 | FIElds2 | L
INE}<NL>
History Legacy command (existed before version 3.10).
1314 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:TV:POLarity
Command :TRIGger:TV:POLarity {NEGative | POSitive}
The :TRIGger:TV:POLarity command specifies the vertical sync pulse polarity for
the selected field used during TV mode triggering.
Query :TRIGger:TV:POLarity?
The query returns the currently selected sync pulse polarity.
Returned Format [:TRIGger:TV:POLarity] {NEGative | POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1315
:TRIGger:TV:SOURce
Command :TRIGger:TV:SOURce CHANnel<N>
The :TRIGger:TV:SOURce command selects the source for the TV mode triggering.
This is the source that will be used for subsequent :TRIGger:TV commands and
queries.
<N> An integer, 1-4.
Query :TRIGger:TV:SOURce?
The query returns the currently selected standard TV trigger mode source.
Returned Format [:TRIGger:TV:SOURce] CHANnel<N>NL>
History Legacy command (existed before version 3.10).
1316 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:TV:STANdard
Command :TRIGger:TV:STANdard {I1080L60HZ | I1080L50HZ | L525 | L625 | P480L60HZ
| P576L50HZ | P720L60HZ | P720L50HZ | P1080L60HZ | P1080L50HZ
| P1080L30HZ | P1080L25HZ | P1080L24HZ | UDTV}
The TRIGger:TV:STANdard command sets triggering to one of the standard video
types. There is also a user defined TV type that can be used to set the triggering to
one of the non-standard types of video.
Query :TRIGger:TV:STANdard?
The query returns the currently selected video standard.
Returned Format [:TRIGger:TV:STANdard] {I1080L60HZ | I1080L50HZ | L525 | L625
| P480L60HZ | P576L50HZ | P720L60HZ | P720L50HZ | P1080L60HZ
| P1080L50HZ | P1080L40HZ | P1080L30HZ | P1080L25HZ | P1080L24HZ
| UDTV}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1317
:TRIGger:TV:UDTV:ENUMber
Command :TRIGger:TV:UDTV:ENUMber <count>
The :TRIGger:TV:UDTV:ENUMber command specifies the number of events
(horizontal sync pulses) to delay after arming the trigger before looking for the
trigger event. Specify conditions for arming the trigger using:
TRIGger:TV:UDTV:PGTHan, and
TRIGger:TV:UDTV:POLarity.
<count> An integer for the number of events to delay. Allowable values range from 1 to
16,000,000.
Query :TRIGger:TV:UDTV:ENUMber?
The query returns the currently programmed count value.
Returned Format [:TRIGger:TV:UDTV:ENUMber] <count><NL>
History Legacy command (existed before version 3.10).
1318 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:TV:UDTV:HSYNc
Command :TRIGger:TV:UDTV:HSYNc {ON | 1} | {OFF | 0}}
This command enables the horizontal sync mode of triggering.
Query :TRIGger:TV:UDTV:HSYNc?
The query returns the current state of the horizontal sync mode of triggering.
Returned Format [:TRIGger:TV:UDTV:HSYNc] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1319
:TRIGger:TV:UDTV:HTIMe
Command :TRIGger:TV:UDTV:HTIMe <time>
The :TRIGger:TV:UDTV:HTIMe command sets the time that a sync pulse must be
present to be considered a valid sync pulse.
<time> A real number that is the time width for the sync pulse.
Query :TRIGger:TV:UDTV:HTIMe?
The query returns the currently defined time for the sync pulse width.
Returned Format [:TRIGger:TV:UDTV:HTIMe] <time><NL>
History Legacy command (existed before version 3.10).
1320 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:TV:UDTV:PGTHan
Command :TRIGger:TV:UDTV:PGTHan <lower_limit>
The :TRIGger:TV:UDTV:PGTHan (Present Greater THan) command specifies the
minimum pulse width of the waveform used to arm the trigger used during
user-defined trigger mode.
<lower_limit> Minimum pulse width (time >), from 5 ns to 9.9999999 s.
Query :TRIGger:TV:UDTV:PGTHan?
The query returns the currently selected minimum pulse width.
Returned Format [:TRIGger:TV:UDTV:PGTHan] <lower_limit><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1321
:TRIGger:TV:UDTV:POLarity
Command :TRIGger:TV:UDTV:POLarity {NEGative | POSitive}
The :TRIGger:TV:UDTV:POLarity command specifies the polarity for the sync pulse
used to arm the trigger in the user-defined trigger mode.
Query :TRIGger:TV:UDTV:POLarity?
The query returns the currently selected UDTV sync pulse polarity.
Returned Format [:TRIGger:TV:UDTV:POLarity] {NEGative | POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1323
:TRIGger:WINDow:CONDition
Command :TRIGger:WINDow[{1 | 2}]:CONDition {ENTer | EXIT
| INSide [,{GTHan | LTHan}]
| OUTSide [,{GTHan | LTHan}]}
This command describes the condition applied to the trigger window to actually
generate a trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:WINDow:CONDition?
The query returns the currently defined trigger condition.
Returned Format [:TRIGger:WINDow:CONDition] {ENTer | EXIT
| INSide,{GTHan | LTHan}
| OUTSide,{GTHan | LTHan}}<NL>
History Legacy command (existed before version 3.10).
1324 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:WINDow:SOURce
Command :TRIGger:WINDow[{1 | 2}]:SOURce CHANnel<N>
This command specifies the channel source used to trigger the oscilloscope with
the window trigger.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<N> An integer, 1-4.
Query :TRIGger:WINDow:SOURce?
The query returns the currently defined channel source for the window trigger.
Returned Format [:TRIGger:WINDow:SOURce] CHANnel<N><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1325
:TRIGger:WINDow:TIME
Command :TRIGger:WINDow[{1 | 2}]:TIME <time>
This command lets you look for transition violations that are greater than or less
than the time specified.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
<time> The time for the trigger violation transition, in seconds.
Query :TRIGger:WINDow:TIME?
The query returns the currently defined time for the trigger window timeout.
Returned Format [:TRIGger:WINDow:TIME] <time><NL>
History Legacy command (existed before version 3.10).
1326 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:WINDow:TPOint
Command :TRIGger:WINDow[{1 | 2}]:TPOint {BOUNdary | TIMeout}
This command specifies whether the window trigger should occur at the boundary
of the window or at a specified timeout period.
The optional [{1 | 2}] parameter sets whether the trigger mode goes with the
TERM1 or TERM2 state if sequential triggering is being used. Sequential triggering
is available on 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and
Z-Series oscilloscopes.
Query :TRIGger:WINDow:TPOint?
The query returns the currently defined trigger on point for the pulse width trigger.
Returned Format [:TRIGger:PWIDth:TPOint] {BOUNdary | TIMeout}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1327
Advanced Comm Trigger Commands
Use the COMM Trigger Mode to find a serial pattern of bits in a waveform. The
COMM Trigger Mode is primarily used to find an isolated logically one bit in a
waveform for mask testing applications. The pattern is defined by the standards
used by the telecommunication and data communication industries. Mask testing
is used to verify a waveform meets industrial standards which guarantees that
equipment made by different manufacturers will work together.
Set the Mode
Before Executing
Commands
Before you can execute the :TRIGger:ADVanced:COMMunications commands,
mask testing must be enabled at least one time. The :MTESt:ENABle command
enables or disables mask testing. Then you can set the mode by entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE COMM
To query the oscilloscope for the advanced trigger mode, enter:
:TRIGger:ADVanced:MODE?
The :TRIGger:ADVanced:COMM commands define the Communications Trigger
Mode. As described in the following commands, you set up the
:TRIGger:ADVanced:COMM commands with the following commands and queries.
•":TRIGger:ADVanced:COMM:BWIDth" on page 1328
•":TRIGger:ADVanced:COMM:ENCode" on page 1329
•":TRIGger:ADVanced:COMM:LEVel" on page 1330
•":TRIGger:ADVanced:COMM:PATTern" on page 1331
•":TRIGger:ADVanced:COMM:POLarity" on page 1332
•":TRIGger:ADVanced:COMM:SOURce" on page 1333
1328 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:COMM:BWIDth
Command :TRIGger:ADVanced:COMM:BWIDth <bwidth_value>
The :TRIGger:ADVanced:COMM:BWIDth command is used to set the width of a bit
for your waveform. The bit width is usually defined in the mask standard for your
waveform.
<bwidth_value> A real number that represents the width of a bit.
Query :TRIGger:ADVanced:COMM:BWIDth?
The query returns the current bit width.
Returned Format [:TRIGger:ADVanced:COMM:BWIDth] <bwidth_value><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1329
:TRIGger:ADVanced:COMM:ENCode
Command :TRIGger:ADVanced:COMM:ENCode {RZ | NRZ}
This :TRIGger:ADVanced:COMM:ENCode command sets the type of waveform
encoding for your waveform. You should use NRZ for CMI type waveforms and RZ
for all other type of waveforms.
Query :TRIGger:ADVanced:COMM:ENCode?
The :TRIGger:ADVanced:COMM:ENCode? query returns the current value of
encoding
Returned Format [:TRIGger:ADVanced:COMM:ENCode] {RZ | NRZ}<NL>
History Legacy command (existed before version 3.10).
1330 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:COMM:LEVel
Command :TRIGger:ADVanced:COMM:LEVel CHANnel<N>,<level>
The :TRIGger:ADVanced:COMM:LEVel command sets the voltage level used to
determine a logic 1 from a logic 0 for the communication pattern.
<N> An integer, 1-4.
<level> A real number which is the logic level voltage.
Query :TRIGger:ADVanced:COMM:LEVel? CHANnel<N>
The :TRIGger:ADVanced:COMM:LEVel? query returns the current level for the
communication pattern.
Returned Format [:TRIGger:ADVanced:COMM:LEVel CHANnel<N>,]<level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1331
:TRIGger:ADVanced:COMM:PATTern
Command :TRIGger:ADVanced:COMM:PATTern <bit>[,<bit[,<bit[,<bit[,<bit[,<bit]]]]]
The :TRIGger:ADVanced:COMM:PATTern command sets the pattern used for
triggering the oscilloscope when in communication trigger mode. The pattern can
be up to 6 bits long. For NRZ type waveforms with positive polarity, there must be
at least one logic 0 to logic 1 transition in the pattern. For NRZ waveforms with
negative polarity there must be at least one logic 1 to logic 0 transition in the
pattern. For RZ type waveforms the pattern must have at least one logic 1 bit for
positive polarity. For RZ type waveforms the pattern must have at least one logic
-1 bit for negative polarity.
<bit> A 1, -1, or 0.
Query :TRIGger:ADVanced:COMM:PATTern?
The :TRIGger:ADVanced:COMM:PATTern? query returns the current
communication trigger pattern.
Returned Format [:TRIGger:ADVanced:COMM:PATTern] <pattern><NL>
<pattern> A string of up to 6 characters.
History Legacy command (existed before version 3.10).
1332 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:COMM:POLarity
Command :TRIGger:ADVanced:COMM:POLarity {POSitive | NEGative}
The :TRIGger:ADVanced:COMM:POLarity command directly controls the trigger
slope used for communication trigger. When set to a positive value, the rising
edge of a pulse or waveform is used to trigger the oscilloscope. When set to a
negative value, the falling edge of a pulse or waveform is used.
The polarity setting is also used to check for valid patterns. If you are trying to
trigger on an isolated 1 pattern, you should set the polarity to positive. If you are
trying to trigger on an isolated -1 pattern, you should set the polarity to negative.
Query :TRIGger:ADVanced:COMM:POLarity?
The :TRIGger:ADVanced:COMM:POLarity? query returns the current setting for
polarity.
Returned Format [:TRIGger:ADVanced:COMM:POLarity} {1|0}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1333
:TRIGger:ADVanced:COMM:SOURce
Command :TRIGger:ADVanced:COMM:SOURce CHANnel<N>
The :TRIGger:ADVanced:COMM:SOURce command selects the channel used for
the communication trigger.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:COMM:SOURce?
The :TRIGger:ADVanced:COMM:SOURce? query returns the currently selected
communication trigger source.
Returned Format [:TRIGger:ADVanced:COMM:SOURce] CHANnel<N><NL>
History Legacy command (existed before version 3.10).
1334 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced Pattern Trigger Commands
Logic triggering is similar to the way that a logic analyzer captures data. This mode
is useful when you are looking for a particular set of ones and zeros on a computer
bus or control lines. You determine which channels the oscilloscope uses to form
the trigger pattern. Because you can set the voltage level that determines a logic 1
or a logic 0, any logic family that you are probing can be captured.
There are two types of logic triggering: Pattern and State. The difference between
pattern and state triggering modes is that state triggering uses one of the
oscilloscope channels as a clock.
Use pattern triggering to trigger the oscilloscope using more than one channel as
the trigger source. You can also use pattern triggering to trigger on a pulse of a
given width.
The Pattern Trigger Mode identifies a trigger condition by looking for a specified
pattern. A pattern is a logical combination of the channels. Each channel can have
a value of High (H), Low (L) or Don't Care (X). A value is considered a High when
your waveform's voltage level is greater than its trigger level, and a Low when the
voltage level is less than its trigger level. If a channel is set to Don't Care, it is not
used as part of the pattern criteria.
One additional qualifying condition determines when the oscilloscope triggers
once the pattern is found. The :PATTern:CONDition command has five possible
ways to qualify the trigger:
Entered The oscilloscope will trigger on the edge of the source that makes the pattern true.
Exited The oscilloscope will trigger on the edge of the source that makes the pattern
false.
Present > The oscilloscope will trigger when the pattern is present for greater than the time
that you specify. An additional parameter allows the oscilloscope to trigger when
the pattern goes away or when the time expires.
Present < The oscilloscope will trigger when the pattern is present for less than the time that
you specify.
Range The oscilloscope will trigger on the edge of the waveform that makes the pattern
invalid as long as the pattern is present within the range of times that you specify.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
Set the Mode
Before Executing
Commands
Before you can execute the :TRIGger:ADVanced:PATTern commands, set the mode
by entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE PATTern
To query the oscilloscope for the advanced trigger mode, enter:
:TRIGger:ADVanced:MODE?
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1335
The :TRIGger:ADVanced:PATTern commands define the conditions for the Pattern
Trigger Mode. As described in the following commands, you set up the
:TRIGger:ADVanced:PATTern commands with the following commands and
queries:
•":TRIGger:ADVanced:PATTern:CONDition" on page 1336
•":TRIGger:ADVanced:PATTern:LOGic" on page 1337
•":TRIGger:ADVanced:PATTern:THReshold:LEVel" on page 1338
•":TRIGger:ADVanced:PATTern:THReshold:POD<N>" on page 1339
1336 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:PATTern:CONDition
Command :TRIGger:ADVanced:PATTern:CONDition {ENTered | EXITed
| {GT,<time>[,PEXits|TIMeout]}
| {LT,<time>}
| {RANGe,<gt_time>,<lt_time>}
| OR}
This command describes the condition applied to the trigger pattern to actually
generate a trigger.
<gt_time> The minimum time (greater than time) for the trigger pattern, from 10 ns to
9.9999999 s.
<lt_time> The maximum time (less than time) for the trigger pattern, from 15 ns to 10 s.
<time> The time condition, in seconds, for the pattern trigger, from 1.5 ns to 10 s.
When using the GT (Present >) parameter, the PEXits (Pattern Exits) or the
TIMeout parameter controls when the trigger is generated.
Query :TRIGger:ADVanced:PATTern:CONDition?
The query returns the currently defined trigger condition.
Returned Format [:TRIGger:ADVanced:PATTern:CONDition] {ENTered | EXITed
| {GT,<time>[,PEXits|TIMeout]}
| {LT,<time>}
| {RANGe,<gt_time>, <lt_time>}
| OR}<NL>
History Legacy command (existed before version 3.10).
Version 6.20: The OR parameter has been added.
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1337
:TRIGger:ADVanced:PATTern:LOGic
Command :TRIGger:ADVanced:PATTern:LOGic {{CHANnel<N> | <channel_list> | DIGital<
M>},{HIGH|LOW|DONTcare|RISing|FALLing}}
This command defines the logic criteria for a selected channel.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
<channel_list> The channel range is from 0 to 15 in the following format.
Query :TRIGger:ADVanced:PATTern:LOGic? {CHANnel<N> | <channel_list> | DIGital<
M>}
The query returns the current logic criteria for a selected channel.
Returned Format [:TRIGger:ADVanced:PATTern:LOGic {CHANnel<N>|<channel_list> | DIGital<M>
},] {HIGH|LOW|DONTcare|RISing|FALLing}<NL>
History Legacy command (existed before version 3.10).
(@1,5,7,9) channels 1, 5, 7, and 9 are turned on.
(@1:15) channels 1 through 15 are turned on.
(@1:5,8,14) channels 1 through 5, channel 8, and channel 14
are turned on.
1338 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:PATTern:THReshold:LEVel
Command :TRIGger:ADVanced:PATTern:THReshold:LEVel {CHANnel<N>},<level>
The :TRIGger:ADVanced:PATTern:THReshold:LEVel command specifies the trigger
level on the specified channel for the trigger source. Only one trigger level is
stored in the oscilloscope for each channel. This level applies to the channel
throughout the trigger dialogs (Edge, Glitch, and Advanced). This level also
applies to all the High Threshold (HTHReshold) values in the Advanced Violation
menus.
<N> An integer, 1-4.
<level> A real number for the trigger level on the specified channel, External Trigger, or
Auxiliary Trigger Input.
Query :TRIGger:ADVanced:PATTern:THReshold:LEVel? {CHANnel<N>}
The query returns the specified channel's trigger level.
Returned Format [:TRIGger:ADVanced:PATTern:THReshold:LEVel {CHANnel<N>},] <level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1339
:TRIGger:ADVanced:PATTern:THReshold:POD<N>
Command :TRIGger:ADVanced:PATTern:THReshold:POD<N> {CMOS50 | CMOS30 | CMOS25
| ECL | PECL | TTL | <value>}
The TRIGger:ADVanced:PATTern:THReshold:POD<N> command sets the logic
threshold value for the selected pod. POD1 is digital channels D0 through D7 and
POD2 is digital channels D8 through D15. The threshold is used for triggering
purposes and for displaying the digital data as high (above the threshold) or low
(below the threshold). The voltage values for the predefined thresholds are:
• CMOS50=2.5 V
• CMOS30=1.65 V
• CMOS25=1.25 V
• ECL=-1.3 V
• PECL=3.7 V
• TTL=1.4 V
<N> An integer, 1-2.
<value> A real number representing the voltage value which distinguishes a 1 logic level
from a 0 logic level. Waveform voltages greater than the threshold are 1 logic
levels while waveform voltages less than the threshold are 0 logic levels.
Query :TRIGger:ADVanced:PATTern:THReshold:POD<N>?
The :TRIGger:ADVanced:PATTern:THReshold:POD<N>? query returns the
threshold value for the specified pod.
Returned Format [:TRIGger:ADVanced:PATTern:THReshold:POD<N>] {CMOS50 | CMOS30 | CMOS25
| ECL | PECL | TTL | <value>}<NL>
History Legacy command (existed before version 3.10).
NOTE
This command is only valid for the MSO oscilloscopes.
1340 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced State Trigger Commands
Logic triggering is similar to the way that a logic analyzer captures data. This mode
is useful when you are looking for a particular set of ones and zeros on a computer
bus or control lines. You determine which channels the oscilloscope uses to form
the trigger pattern. Because you can set the voltage level that determines a logic 1
or a logic 0, any logic family that you are probing can be captured.
There are two types of logic triggering: Pattern and State. The difference between
pattern and state triggering modes is that state triggering uses one of the
oscilloscope channels as a clock.
Use state triggering when you want the oscilloscope to use several channels as
the trigger source, with one of the channels being used as a clock waveform.
The State trigger identifies a trigger condition by looking for a clock edge on one
channel and a pattern on the remaining channels. A pattern is a logical
combination of the remaining channels. Each channel can have a value of High
(H), Low (L) or Don't Care (X). A value is considered a High when your waveform's
voltage level is greater than the trigger level and a Low when the voltage level is
less than the trigger level. If a channel is set to Don't Care, it is not used as part of
the pattern criteria. You can select the clock edge as either rising or falling.
The logic type control determines whether or not the oscilloscope will trigger
when the specified pattern is found on a clock edge. When AND is selected, the
oscilloscope will trigger on a clock edge when input waveforms match the
specified pattern. When NAND is selected, the oscilloscope will trigger when the
input waveforms are different from the specified pattern and a clock edge occurs.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
Set the Mode
Before Executing
Commands
Before you can execute the :TRIGger:ADVanced:STATe commands, set the mode
by entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE STATe
To query the oscilloscope for the advanced trigger mode, enter:
:TRIGger:ADVanced:MODE?
The :TRIGger:ADVanced:STATe commands define the conditions for the State
Trigger Mode. As described in the following commands, you set up the
:TRIGger:ADVanced:STATe commands with the following commands and queries:
•":TRIGger:ADVanced:STATe:CLOCk" on page 1341
•":TRIGger:ADVanced:STATe:LOGic" on page 1342
•":TRIGger:ADVanced:STATe:LTYPe" on page 1343
•":TRIGger:ADVanced:STATe:SLOPe" on page 1344
•":TRIGger:ADVanced:STATe:THReshold:LEVel" on page 1345
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1341
:TRIGger:ADVanced:STATe:CLOCk
Command :TRIGger:ADVanced:STATe:CLOCk {CHANnel<N> | DIGital<M> | DONTcare
| <digital_channel>}
This command selects the source for the clock waveform in the State Trigger
Mode.
<N> An integer, 1-2, for two channel Infiniium Oscilloscope. An integer, 1-4, for all
other Infiniium Oscilloscope models.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
Query :TRIGger:ADVanced:STATe:CLOCk?
The query returns the currently selected clock source.
Returned Format [:TRIGger:ADVanced:STATe:CLOCk] {CHANnel<N> | DIGital<M>}<NL>
History Legacy command (existed before version 3.10).
1342 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:STATe:LOGic
Command :TRIGger:ADVanced:STATe:LOGic {{CHANnel<N> | <channel_list>
| DIGital<M>},{LOW|HIGH|DONTcare|RISing| FALLing}}
This command defines the logic state of the specified source for the state pattern.
The command produces a settings conflict on a channel that has been defined as
the clock.
<N> An integer, 1-2, for two channel Infiniium Oscilloscope. An integer, 1-4, for all
other Infiniium Oscilloscope models.
<channel_list> The channel range is from 0 to 15 in the following format.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
Query :TRIGger:ADVanced:STATe:LOGic? {CHANnel<N> | <channel_list> | DIGital<M
>}
The query returns the logic state definition for the specified source.
<N> N is the channel number, an integer in the range of 1 - 4.
Returned Format [:TRIGger:ADVanced:STATe:LOGic {CHANnel<N> | <channel_list> | DIGital<M>
},]
{LOW | HIGH | DONTcare | RISing | FALLing}<NL>
History Legacy command (existed before version 3.10).
(@1,5,7,9) channels 1, 5, 7, and 9 are turned on.
(@1:15) channels 1 through 15 are turned on.
(@1:5,8,14) channels 1 through 5, channel 8, and channel 14 are turned on.
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1343
:TRIGger:ADVanced:STATe:LTYPe
Command :TRIGger:ADVanced:STATe:LTYPe {AND | NAND}
This command defines the state trigger logic type. If the logic type is set to AND,
then a trigger is generated on the edge of the clock when the input waveforms
match the pattern specified by the :TRIGger:ADVanced:STATe:LOGic command. If
the logic type is set to NAND, then a trigger is generated on the edge of the clock
when the input waveforms do not match the specified pattern.
Query :TRIGger:ADVanced:STATe:LTYPe?
The query returns the currently specified state trigger logic type.
Returned Format [:TRIGger:ADVanced:STATe:LTYPe] {AND | NAND}<NL>
History Legacy command (existed before version 3.10).
1344 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:STATe:SLOPe
Command :TRIGger:ADVanced:STATe:SLOPe {{RISing | POSitive} | {FALLing | NEGative
}}
This command specifies the edge of the clock that is used to generate a trigger.
The waveform source used for the clock is selected by using the
:TRIGger:ADVanced:STATe:CLOCk command.
Query :TRIGger:ADVanced:STATe:SLOPe?
The query returns the currently defined slope for the clock in State Trigger Mode.
Returned Format [:TRIGger:ADVanced:STATe:SLOPe] {RIS | FALL}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1345
:TRIGger:ADVanced:STATe:THReshold:LEVel
Command :TRIGger:ADVanced:STATe:THReshold:LEVel {CHANnel<N> | DIGital<M>},<leve
l>
The :TRIGger:ADVanced:STATe:THReshold:LEVel command specifies the trigger
level on the specified channel for the trigger source. Only one trigger level is
stored in the oscilloscope for each channel. This level applies to the channel
throughout the trigger dialogs (Edge, Glitch, and Advanced). This level also
applies to all the High Threshold (HTHReshold) values in the Advanced Violation
menus.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
<level> A real number for the trigger level on the specified channel, External Trigger, or
Auxiliary Trigger Input.
Query :TRIGger:ADVanced:STATe:THReshold:LEVel? {CHANnel<N> | DIGital<M>}
The query returns the specified channel's trigger level.
Returned Format [:TRIGger:ADVanced:STATe:THReshold:LEVel {CHANnel<N> | DIGital<M>},] <le
vel><NL>
History Legacy command (existed before version 3.10).
1346 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced Delay By Event Trigger Commands
You can set the delay mode to delay by events or time. Use Delay By Event mode
to view pulses in your waveform that occur a number of events after a specified
waveform edge. Infiniium Oscilloscopes identify a trigger by arming on the edge
you specify, counting a number of events, then triggering on the specified edge.
•":TRIGger:ADVanced:DELay:EDLY:ARM:SOURce" on page 1348
•":TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe" on page 1349
•":TRIGger:ADVanced:DELay:EDLY:EVENt:DELay" on page 1350
•":TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce" on page 1351
•":TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe" on page 1352
•":TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce" on page 1353
•":TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe" on page 1354
Arm On Use Arm On to set the source, level, and slope for arming the trigger circuitry.
When setting the arm level for your waveform, it is usually best to choose a
voltage value that is equal to the voltage value at the mid point of your waveform.
For example, if you have a waveform with a minimum value of 0 (zero) volts and a
maximum value of 5 volts, then 2.5 volts is the best place to set your arm level.
The reason this is the best choice is that there may be some ringing or noise at
both the 0volt and 5volt levels that can cause false triggers.
When you adjust the arm level control, a horizontal dashed line with a T on the
right-hand side appears showing you where the arm level is with respect to your
waveform. After a period of time the dashed line will disappear. To redisplay the
line, adjust the arm level control again, or activate the Trigger dialog.
Delay By Event Use Delay By Event to set the source, level, and edge to define an event. When
setting the event level for your waveform, it is usually best to choose a voltage
value that is equal to the voltage value at the mid point of your waveform. For
example, if you have a waveform with a minimum value of 0 (zero) volts and a
maximum value of 5 volts, then 2.5 volts is the best place to set your event level.
The reason this is the best choice is that there may be some ringing or noise at
both the 0volt and 5volt levels that can cause false triggers.
Event Use Event to set the number of events (edges) that must occur after the
oscilloscope is armed until it starts to look for the trigger edge.
Trigger On Use Trigger On to set the trigger source and trigger slope required to trigger the
oscilloscope. Each source can have only one level, so if you are arming and
triggering on the same source, only one level is used.
Set the Mode
Before Executing
Commands
Before you can execute the :TRIGger:ADVanced:DELay commands, set the mode
by entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE DELay
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1347
The ADVanced DELay commands define the conditions for the Delay Trigger
Mode. The Delay By Events Mode lets you view pulses in your waveform that occur
a number of events after a specified waveform edge. After entering the commands
above, to select Delay By Events Mode, enter:
:TRIGger:ADVanced:DELay:MODE EDLY
Then you can use the Event Delay (EDLY) commands and queries for ARM, EVENt,
and TRIGger on the following pages.
To query the oscilloscope for the advanced trigger mode or the advanced trigger
delay mode, enter:
:TRIGger:ADVanced:MODE? or
:TRIGger:ADVanced:DELay:MODE?
1348 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:DELay:EDLY:ARM:SOURce
Command :TRIGger:ADVanced:DELay:EDLY:ARM:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Arm On source for arming the trigger circuitry when the
oscilloscope is in the Delay By Event trigger mode.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:EDLY:ARM:SOURce?
The query returns the currently defined Arm On source for the Delay By Event
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:ARM:SOURce] {CHANnel<N>| DIGital<M>}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1349
:TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe
Command :TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe {NEGative|POSitive}
This command sets a positive or negative slope for arming the trigger circuitry
when the oscilloscope is in the Delay By Event trigger mode.
Query :TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe?
The query returns the currently defined slope for the Delay By Event trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe] {NEGative|POSitive}<NL>
History Legacy command (existed before version 3.10).
1350 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:DELay:EDLY:EVENt:DELay
Command :TRIGger:ADVanced:DELay:EDLY:EVENt:DELay <edge_number>
This command sets the event count for a Delay By Event trigger event.
<edge_num> An integer from 0 to 16,000,000 specifying the number of edges to delay.
Query :TRIGger:ADVanced:DELay:EDLY:EVENt:DELay?
The query returns the currently defined number of events to delay before
triggering on the next Trigger On condition in the Delay By Event trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:EVENt:DELay] <edge_number><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1351
:TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce
Command :TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Event source for a Delay By Event trigger event.
<N> An integer, 1-2, for two channel Infiniium Oscilloscope. An integer, 1-4, for all
other Infiniium Oscilloscope models.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce?
The query returns the currently defined Event source in the Delay By Event trigger
mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:EVENt:SOURce] {CHANnel<N> | DIGital<M>}<NL
>
History Legacy command (existed before version 3.10).
1352 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe
Command :TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe
{NEGative|POSitive}
This command sets the trigger slope for the Delay By Event trigger event.
Query :TRIGger:ADVanced:DELay:EDLY:EVENt:SLOPe?
The query returns the currently defined slope for an event in the Delay By Event
trigger mode.
Returned Format [:TRIGger:ADVanced:EDLY:EVENt:SLOPe] {NEGative|POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1353
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce
Command :TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Trigger On source for a Delay By Event trigger event.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce?
The query returns the currently defined Trigger On source for the event in the
Delay By Event trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:TRIGger:SOURce] {CHANnel<N> | DIGital<M>}<
NL>
History Legacy command (existed before version 3.10).
1354 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe
Command :TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe
{NEGative|POSitive}
This command sets the trigger slope for the Delay By Event trigger event.
Query :TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe?
The query returns the currently defined slope for an event in the Delay By Event
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:EDLY:TRIGger:SLOPe] {NEGative|POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1355
Advanced Delay By Time Trigger Commands
You can set the delay mode to delay by events or time. Use Delay By Time mode to
view pulses in your waveform that occur a long time after a specified waveform
edge. The Delay by Time identifies a trigger condition by arming on the edge you
specify, waiting a specified amount of time, then triggering on a specified edge.
This can be thought of as two-edge triggering, where the two edges are separated
by a selectable amount of time.
It is also possible to use the Horizontal Position control to view a pulse some
period of time after the trigger has occurred. The problem with this method is that
the further the pulse is from the trigger, the greater the possibility that jitter will
make it difficult to view. Delay by Time eliminates this problem by triggering on the
edge of interest.
•":TRIGger:ADVanced:DELay:TDLY:ARM:SOURce" on page 1357
•":TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe" on page 1358
•":TRIGger:ADVanced:DELay:TDLY:DELay" on page 1359
•":TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce" on page 1360
•":TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe" on page 1361
Arm On Use Arm On to set the source, level, and slope for the arming condition. When
setting the arm level for your waveform, it is usually best to choose a voltage value
that is equal to the voltage value at the mid point of your waveform. For example,
if you have a waveform with a minimum value of 0 (zero) volts and a maximum
value of 5 volts, then 2.5 volts is the best place to set your arm level. The reason
this is the best choice is that there may be some ringing or noise at both the 0-volt
and 5-volt levels that can cause false triggers.
When you adjust the arm level control, a horizontal dashed line with a T on the
right-hand side appears showing you where the arm level is with respect to your
waveform. After a period of time the dashed line will disappear. To redisplay the
line, adjust the arm level control again, or activate the Trigger dialog.
Delay By Time Use Delay By Time to set the amount of delay time from when the oscilloscope is
armed until it starts to look for the trigger edge. The range is from 30 ns to 160 ms.
Trigger On Use Trigger On to set the source and slope required to trigger the oscilloscope.
Trigger On Level is slaved to Arm On Level.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
Set the Mode
Before Executing
Commands
Before you can execute the :TRIGger:ADVanced:DELay commands, set the mode
by entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE DELay
1356 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
The ADVanced DELay commands define the conditions for the Delay Trigger
Mode. The Delay By Time Mode lets you view pulses in your waveform that occur a
specified time after a specified waveform edge. After entering the commands
above, to select Delay By Time Mode, enter:
:TRIGger:ADVanced:DELay:MODE TDLY
Then you can use the Time Delay (TDLY) commands and queries for ARM, DELay,
and TRIGger on the following pages.
To query the oscilloscope for the advanced trigger mode or the advanced trigger
delay mode, enter:
:TRIGger:ADVanced:MODE? or
:TRIGger:ADVanced:DELay:MODE?
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1357
:TRIGger:ADVanced:DELay:TDLY:ARM:SOURce
Command :TRIGger:ADVanced:DELay:TDLY:ARM:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Arm On source for arming the trigger circuitry when the
oscilloscope is in the Delay By Time trigger mode.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:TDLY:ARM:SOURce?
The query returns the currently defined channel source for the Delay By Time
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:ARM:SOURce] {CHANnel<N> | DIGital<M>}<NL>
History Legacy command (existed before version 3.10).
1358 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe
Command :TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe {NEGative|POSitive}
This command sets a positive or negative slope for arming the trigger circuitry
when the oscilloscope is in the Delay By Time trigger mode.
Query :TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe?
The query returns the currently defined slope for the Delay By Time trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe] {NEGative|POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1359
:TRIGger:ADVanced:DELay:TDLY:DELay
Command :TRIGger:ADVanced:DELay:TDLY:DELay <delay>
This command sets the delay for a Delay By Time trigger event.
<delay> Time, in seconds, set for the delay trigger, from 5 ns to 10 s.
Query :TRIGger:ADVanced:DELay:TDLY:DELay?
The query returns the currently defined time delay before triggering on the next
Trigger On condition in the Delay By Time trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:DELay] <delay><NL>
History Legacy command (existed before version 3.10).
1360 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce
Command :TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce {CHANnel<N> | DIGital<M>}
This command sets the Trigger On source for a Delay By Time trigger event.
<N> An integer, 1-4.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
Query :TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce?
The query returns the currently defined Trigger On source in the Delay By Time
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:TRIGger:SOURce] {CHANnel<N> | DIGital<M>}<
NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1361
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe
Command :TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe
{NEGative|POSitive}
This command sets the trigger slope for the Delay By Time trigger event.
Query :TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe?
The query returns the currently defined slope for an event in the Delay By Time
trigger mode.
Returned Format [:TRIGger:ADVanced:DELay:TDLY:TRIGger:SLOPe] {NEGative|POSitive}<NL>
History Legacy command (existed before version 3.10).
1362 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced Standard TV Trigger Commands
Use TV trigger mode to trigger on one of the standard television waveforms. Also,
use this mode to trigger on a custom television waveform that you define, as
described in the next section.
There are four types of television (TV) trigger modes: 525 (NTSC or PAL-M), 625
(PAL), and User Defined. The 525 and 625 are predefined video standards used
throughout the world. The User Defined TV trigger, described in the next section,
lets you trigger on nonstandard TV waveforms.
525 and 625 TV
Trigger Modes
Source Use the Source control to select one of the oscilloscope channels as the trigger
source.
Level Use to set the trigger voltage level. When setting the trigger level for your
waveform, it is usually best to choose a voltage value that is just below the bottom
of burst.
When you adjust the trigger level control, a horizontal dashed line with a T on the
right-hand side appears showing you where the trigger level is with respect to your
waveform. After a period of time the dashed line will disappear. To redisplay the
line, adjust the trigger level control again, or activate the Trigger dialog.
Positive or
Negative Sync
Use the Positive and Negative Sync controls to select either a positive sync pulse
or a negative sync pulse as the trigger.
Field Use the Field control to select video field 1 or video field 2 as the trigger.
Line Use the Line control to select the horizontal line you want to view within the
chosen video field.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
STV Commands These commands set the conditions for the TV trigger mode using standard,
predefined parameters (in STV mode), or user-defined parameters (in UDTV
mode). The STV commands are used for triggering on television waveforms, and
let you select one of the TV waveform frames and one of the lines within that
frame.
Set the Mode
Before Executing
Commands
Before executing the :TRIGger:ADVanced:STV commands, set the mode by
entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE TV and
:TRIGger:ADVanced:TV:MODE L525 or
:TRIGger:ADVanced:TV:MODE L625
To query the oscilloscope for the advanced trigger mode or the advanced trigger
TV mode, enter:
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1363
:TRIGger:ADVanced:MODE? or
:TRIGger:ADVanced:TV:MODE?
You set up the :TRIGger:ADVanced:TV:STV commands with the following
commands and queries:
•":TRIGger:ADVanced:TV:STV:FIELd" on page 1364
•":TRIGger:ADVanced:TV:STV:LINE" on page 1365
•":TRIGger:ADVanced:TV:STV:SOURce" on page 1366
•":TRIGger:ADVanced:TV:STV:SPOLarity" on page 1367
1364 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:TV:STV:FIELd
Command :TRIGger:ADVanced:TV:STV:FIELd {1|2}
This command is available in standard TV trigger modes L525 and L626.
The :TRIGger:ADVanced:TV:STV:FIELd command selects which TV waveform field
is used during standard TV trigger mode. The line within the selected field is
specified using the :TRIGger:ADVanced:TV:STV:LINE <line_number> command.
Query :TRIGger:ADVanced:TV:STV:FIELd?
The query returns the current television waveform field.
Returned Format [:TRIGger:ADVanced:TV:STV:FIELd] {1|2}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1365
:TRIGger:ADVanced:TV:STV:LINE
Command :TRIGger:ADVanced:TV:STV:LINE <line_number>
This command is available in standard TV trigger modes L525 and L626.
The :TRIGger:ADVanced:TV:STV:LINE command selects the horizontal line that the
instrument will trigger on. Allowable line_number entry depends on the
:TRIGger:ADVanced:TV:STV:FIELd selected. Once the vertical sync pulse of the
selected field is received, the trigger is delayed by the number of lines specified.
<line_number> Horizontal line number. Allowable values range from 1 to 625, depending on
:TRIGger:ADVanced:TV:STV:FIELd settings as shown below.
Query :TRIGger:ADVanced:TV:STV:LINE?
The query returns the current line number.
Returned Format [:TRIGger:ADVanced:TV:STV:LINE] <line_number><NL>
History Legacy command (existed before version 3.10).
STV Modes
525 625
Field 1 1 to 263 1 to 313
Field 2 1 to 262 314 to 625
1366 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:TV:STV:SOURce
Command :TRIGger:ADVanced:TV:STV:SOURce {CHANnel<N>}
This command is available in standard TV trigger modes L525 and L626.
The :TRIGger:ADVanced:TV:STV:SOURce command selects the source for
standard TV mode triggering. This is the source that will be used for subsequent
:TRIGger:ADVanced:TV:STV commands and queries.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:TV:STV:SOURce?
The query returns the currently selected standard TV trigger mode source.
Returned Format [:TRIGger:ADVanced:TV:STV:SOURce] {CHANnel<N>|EXTernal}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1367
:TRIGger:ADVanced:TV:STV:SPOLarity
Command :TRIGger:ADVanced:TV:STV:SPOLarity {NEGative|POSitive}
This command is available in standard TV trigger modes L525 and L626.
The :TRIGger:ADVanced:TV:STV:SPOLarity (Sync POLarity) command specifies the
vertical sync pulse polarity for the selected field used during standard TV mode
triggering.
Query :TRIGger:ADVanced:TV:STV:SPOLarity?
The query returns the currently selected sync pulse polarity.
Returned Format [:TRIGger:ADVanced:TV:STV:SPOLarity] {NEGative|POSitive}<NL>
History Legacy command (existed before version 3.10).
1368 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced User Defined TV Mode and Commands
Use TV trigger mode to trigger on one of the standard television waveforms, as
described in the previous section, and to trigger on a custom television waveform
that you define. The User Defined TV trigger lets you trigger on nonstandard TV
waveforms.
User Defined TV
Trigger
Source Use the Source control to select one of the oscilloscope channels as the trigger
source.
Level Use the Level control to set the trigger voltage level.
When setting the trigger level for your waveform, it is usually best to choose a
voltage value that is just below the bottom of burst.
When you adjust the trigger level control, a horizontal dashed line with a T on the
right-hand side appears showing you where the trigger level is with respect to your
waveform. After a period of time the dashed line will disappear. To redisplay the
line, adjust the trigger level control again, or activate the Trigger dialog. A
permanent icon with arrow (either T, TL, or TH) is also displayed on the right side of
the waveform area, showing the trigger level.
Pos or Neg Use the Pos and Neg controls to select either a positive pulse or a negative pulse
to arm the trigger circuitry.
Time > Use the Time > control to set the minimum time that the pulse must be present to
be considered a valid sync pulse.
Edge Number Use the Edge Number control to select the number of edges you want the
oscilloscope to count before triggering.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
UDTV Commands These commands set the conditions for the TV trigger mode using user-defined
parameters. They are used for triggering on non-standard television waveforms,
and let you define the conditions that must be met before a trigger occurs.
Set the Mode
Before Executing
Commands
Before executing the :TRIGger:ADVanced:TV:UDTV commands, set the mode by
entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE TV and
:TRIGger:ADVanced:TV:MODE UDTV
To query the oscilloscope for the advanced trigger mode or the advanced trigger
TV mode, enter:
:TRIGger:ADVanced:MODE? or
:TRIGger:ADVanced:TV:MODE?
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1369
You set up the :TRIGger:ADVanced:TV:UDTV commands with the following
commands and queries:
•":TRIGger:ADVanced:TV:UDTV:ENUMber" on page 1370
•":TRIGger:ADVanced:TV:UDTV:PGTHan" on page 1371
•":TRIGger:ADVanced:TV:UDTV:POLarity" on page 1372
•":TRIGger:ADVanced:TV:UDTV:SOURce" on page 1373
When triggering for User Defined TV mode:
• Set the channel or trigger source for the trigger using:
:TRIGger:ADVanced:TV:UDTV:SOURce
• Set the conditions for arming the trigger using:
:TRIGger:ADVanced:TV:UDTV:PGTHan, and
:TRIGger:ADVanced:TV:UDTV:POLarity.
• Set the number of events to delay after the trigger is armed using:
:TRIGger:ADVanced:TV:UDTV:ENUMber
• Set the waveform edge that causes the trigger to occur after arming and delay
using:
:TRIGger:ADVanced:TV:UDTV:EDGE
1370 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:TV:UDTV:ENUMber
Command :TRIGger:ADVanced:TV:UDTV:ENUMber <count>
The :TRIGger:ADVanced:TV:UDTV:ENUMber command specifies the number of
events (horizontal sync pulses) to delay after arming the trigger before looking for
the trigger event. Specify conditions for arming the trigger using:
TRIGger:ADVanced:TV:UDTV:PGTHan, and
TRIGger:ADVanced:TV:UDTV:POLarity.
<count> An integer for the number of events to delay. Allowable values range from 1 to
16,000,000.
Query :TRIGger:ADVanced:TV:UDTV:ENUMber?
The query returns the currently programmed count value.
Returned Format [:TRIGger:ADVanced:TV:UDTV:ENUMber] <count><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1371
:TRIGger:ADVanced:TV:UDTV:PGTHan
Command :TRIGger:ADVanced:TV:UDTV:PGTHan <lower_limit>
The :TRIGger:ADVanced:TV:UDTV:PGTHan (Present Greater THan) command
specifies the minimum pulse width of the waveform used to arm the trigger used
during user-defined trigger mode.
<lower_limit> Minimum pulse width (time >), from 5 ns to 9.9999999 s.
Query :TRIGger:ADVanced:TV:UDTV:PGTHan?
The query returns the currently selected minimum pulse width.
Returned Format [:TRIGger:ADVanced:TV:UDTV:PGTHan] <lower_limit><NL>
History Legacy command (existed before version 3.10).
1372 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:TV:UDTV:POLarity
Command :TRIGger:ADVanced:TV:UDTV:POLarity {NEGative|POSitive}
The :TRIGger:ADVanced:TV:UDTV:POLarity command specifies the polarity for the
sync pulse used to arm the trigger in the user-defined trigger mode.
Query :TRIGger:ADVanced:TV:UDTV:POLarity?
The query returns the currently selected UDTV sync pulse polarity.
Returned Format [:TRIGger:ADVanced:TV:UDTV:POLarity] {NEGative|POSitive}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1373
:TRIGger:ADVanced:TV:UDTV:SOURce
Command :TRIGger:ADVanced:TV:UDTV:SOURce {CHANnel<N>}
The :TRIGger:ADVanced:TV:UDTV:SOURce command selects the source for
user-defined TV mode triggering. This is the source that will be used for
subsequent :TRIGger:ADVanced:TV:UDTV commands and queries.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:TV:UDTV:SOURce?
The query returns the currently selected user-defined TV trigger mode source.
Returned Format [:TRIGger:ADVanced:TV:UDTV:SOURce] {CHANnel<N>}<NL>
History Legacy command (existed before version 3.10).
1374 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced Violation Trigger Modes
Violation triggering helps you find conditions within your circuit that violate the
design rules. There are four types of violation triggering: Pulse Width, Setup and
Hold Time, and Transition.
•":TRIGger:ADVanced:VIOLation:MODE" on page 1375
PWIDth This mode lets you find pulses that are wider than the rest of the pulses in your
waveform. It also lets you find pulses that are narrower than the rest of the pulses
in the waveform.
SETup This mode lets you find violations of setup and hold times in your circuit. Use this
mode to select setup time triggering, hold time triggering, or both setup and hold
time triggering.
TRANsition This mode lets you find any edge in your waveform that violates a rise time or fall
time specification. The Infiniium oscilloscope can be set to trigger on rise times or
fall times that are too slow or too fast.
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1375
:TRIGger:ADVanced:VIOLation:MODE
Command :TRIGger:ADVanced:VIOLation:MODE {PWIDth | SETup | TRANsition}
After you have selected the advanced trigger mode with the commands
:TRIGger:MODE ADVanced and :TRIGger:ADVanced:MODE VIOLation, the
:TRIGger:ADVanced:VIOLation:MODE <violation_mode> command specifies the
mode for trigger violations. The <violation_mode> is either PWIDth, SETup, or
TRANsition.
Query :TRIGger:ADVanced:VIOLation:MODE?
The query returns the currently defined mode for trigger violations.
Returned Format [:TRIGger:ADVanced:VIOLation:MODE] {PWIDth | SETup | TRANsition}<NL>
History Legacy command (existed before version 3.10).
1376 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced Pulse Width Violation Trigger Commands
Use Pulse Width Violation Mode to find pulses that are wider than the rest of the
pulses in your waveform. You can also use this mode to find pulses that are
narrower than the rest of the pulses in the waveform.
The oscilloscope identifies a pulse width trigger by looking for a pulse that is either
wider than or narrower than other pulses in your waveform. You specify the pulse
width and pulse polarity (positive or negative) that the oscilloscope uses to
determine a pulse width violation. For a positive polarity pulse, the oscilloscope
triggers when the falling edge of a pulse crosses the trigger level. For a negative
polarity pulse, the oscilloscope triggers when the rising edge of a pulse crosses
the trigger level.
When looking for narrower pulses, pulse width less than (Width <) trigger is the
same as glitch trigger.
•":TRIGger:ADVanced:VIOLation:PWIDth:DIRection" on page 1378
•":TRIGger:ADVanced:VIOLation:PWIDth:POLarity" on page 1379
•":TRIGger:ADVanced:VIOLation:PWIDth:SOURce" on page 1380
•":TRIGger:ADVanced:VIOLation:PWIDth:WIDTh" on page 1381
Source Use Source to select the oscilloscope channel used to trigger the oscilloscope.
Level Use the Level control to set the voltage level through which the pulse must pass
before the oscilloscope will trigger.
When setting the trigger level for your waveform, it is usually best to choose a
voltage value that is equal to the voltage value at the mid point of your waveform.
For example, if you have a waveform with a minimum value of 0 (zero) volts and a
maximum value of 5 volts, then 2.5 volts is the best place to set your trigger level.
The reason this is the best choice is that there may be some ringing or noise at
both the 0-volt and 5-volt levels that can cause false triggers.
When you adjust the trigger level control, a horizontal dashed line with a T on the
right-hand side appears showing you where the trigger level is with respect to your
waveform. After a period of time the dashed line will disappear. To redisplay the
line, adjust the trigger level control again, or activate the Trigger dialog. A
permanent icon with arrow (either T, TL, or TH) is also displayed on the right side of
the waveform area, showing the trigger level.
Polarity Use the Polarity control to specify positive or negative pulses.
Direction Use Direction to set whether a pulse must be wider (Width >) or narrower
(Width <) than the width value to trigger the oscilloscope.
Width Use the Width control to define how wide of a pulse will trigger the oscilloscope.
The glitch width range is from 1.5 ns to 10 s.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1377
Set the Mode
Before Executing
Commands
Before executing the :TRIGger:ADVanced:VIOLation:PWIDth commands, set the
mode by entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE VIOLation and
:TRIGger:ADVanced:VIOLation:MODE PWIDth
To query the oscilloscope for the advanced trigger violation mode, enter:
:TRIGger:ADVanced:VIOLation:MODE?
1378 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:PWIDth:DIRection
Command :TRIGger:ADVanced:VIOLation:PWIDth:DIRection {GTHan | LTHan}
This command specifies whether a pulse must be wider or narrower than the width
value to trigger the oscilloscope.
Query :TRIGger:ADVanced:VIOLation:PWIDth:DIRection?
The query returns the currently defined direction for the pulse width trigger.
Returned Format [:TRIGger:ADVanced:VIOLation:PWIDth:DIRection] {GTHan | LTHan}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1379
:TRIGger:ADVanced:VIOLation:PWIDth:POLarity
Command :TRIGger:ADVanced:VIOLation:PWIDth:POLarity {NEGative | POSitive}
This command specifies the pulse polarity that the oscilloscope uses to determine
a pulse width violation. For a negative polarity pulse, the oscilloscope triggers
when the rising edge of a pulse crosses the trigger level. For a positive polarity
pulse, the oscilloscope triggers when the falling edge of a pulse crosses the
trigger level.
Query :TRIGger:ADVanced:VIOLation:PWIDth:POLarity?
The query returns the currently defined polarity for the pulse width trigger.
Returned Format [:TRIGger:ADVanced:VIOLation:PWIDth:POLarity] {NEGative | POSitive}<NL>
History Legacy command (existed before version 3.10).
1380 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:PWIDth:SOURce
Command :TRIGger:ADVanced:VIOLation:PWIDth:SOURce {CHANnel<N> | DIGital<M>}
This command specifies the channel source used to trigger the oscilloscope with
the pulse width trigger.
<N> An integer, 1-2, for two channel Infiniium Oscilloscope. An integer, 1-4, for all
other Infiniium Oscilloscope models.
<level> A real number for the voltage through which the pulse must pass before the
oscilloscope will trigger.
<M> An integer, 0-15. The digital channels are only available on the MSO oscilloscopes
or DSO models with the MSO license installed.
Query :TRIGger:ADVanced:VIOLation:PWIDth:SOURce?
The query returns the currently defined channel source for the pulse width trigger.
Returned Format [:TRIGger:ADVanced:VIOLation:PWIDth:SOURce] {CHANnel<N> | DIGital<M>}<NL
>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1381
:TRIGger:ADVanced:VIOLation:PWIDth:WIDTh
Command :TRIGger:ADVanced:VIOLation:PWIDth:WIDTh <width>
This command specifies how wide a pulse must be to trigger the oscilloscope.
<width> Pulse width, which can range from 1.5 ns to 10 s.
Query :TRIGger:ADVanced:VIOLation:PWIDth:WIDTh?
The query returns the currently defined width for the pulse.
Returned Format [:TRIGger:ADVanced:VIOLation:PWIDth:WIDTh] <width><NL>
History Legacy command (existed before version 3.10).
1382 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced Setup Violation Trigger Commands
Use Setup Violation Mode to find violations of setup and hold times in your circuit.
•":TRIGger:ADVanced:VIOLation:SETup:MODE" on page 1385
•":TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce" on page 1386
•":TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel" on page 1387
•":TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE" on page 1388
•":TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce" on page 1389
•":TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold" on
page 1390
•":TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold" on
page 1391
•":TRIGger:ADVanced:VIOLation:SETup:SETup:TIME" on page 1392
•":TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce" on page 1393
•":TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel" on page 1394
•":TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE" on page 1395
•":TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce" on page 1396
•":TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold" on
page 1397
•":TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold" on
page 1398
•":TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME" on page 1399
•":TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce" on page 1400
•":TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel" on page 1401
•":TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE" on page 1402
•":TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce" on page 1403
•":TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold" on
page 1404
•":TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold" on
page 1405
•":TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe (STIMe)" on
page 1406
•":TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe (HTIMe)" on
page 1407
Mode Use MODE to select Setup, Hold, or both Setup and Hold time triggering.
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1383
You can have the oscilloscope trigger on violations of setup time, hold time, or
both setup and hold time. To use Setup Violation Type, the oscilloscope needs a
clock waveform, used as the reference, and a data waveform for the trigger source.
Setup Time Mode When using the Setup Time Mode, a time window is defined where the right edge
is the clock edge and the left edge is the selected time before the clock edge. The
waveform must stay outside of the thresholds during this time window. If the
waveform crosses a threshold within the time window, a violation event occurs and
the oscilloscope triggers.
Hold Time Mode When using Hold Time Mode, the waveform must not cross the threshold voltages
after the specified clock edge for at least the hold time you have selected.
Otherwise, a violation event occurs and the oscilloscope triggers.
Setup and Hold
Time Mode
When using the Setup and Hold Time Mode, if the waveform violates either a
setup time or hold time, the oscilloscope triggers.
Data Source Use the data source (DSOurce) command to select the channel used as the data,
the low-level data threshold, and the high-level data threshold. For data to be
considered valid, it must be below the lower threshold or above the upper
threshold during the time of interest.
DSOurce Use DSOurce to select the channel you want to use for the data source.
Low Threshold Use the low threshold (LTHReshold) to set the minimum threshold for your data.
Data is valid below this threshold.
High Threshold Use the high threshold (HTHReshold) to set the maximum threshold for your data.
Data is valid above this threshold.
Clock Source Use the clock source (CSOurce) command to select the clock source, trigger level,
and edge polarity for your clock. Before the trigger circuitry looks for a setup or
hold time violation, the clock must pass through the voltage level you have set.
CSOurce Use CSOurce to select the channel you want to use for the clock source.
LEVel Use LEVel to set voltage level on the clock waveform as given in the data book for
your logic family.
RISing or FALLing Use RISing or FALLing to select the edge of the clock the oscilloscope uses as a
reference for the setup or hold time violation trigger.
Time
Setup Time Use SETup to set the amount of setup time used to test for a violation. The setup
time is the amount of time that the data has to be stable and valid prior to a clock
edge. The minimum is 1.5 ns; the maximum is 20 ns.
Hold Time Use HOLD to set the amount of hold time used to test for a violation. The hold time
is the amount of time that the data has to be stable and valid after a clock edge.
The minimum is 1.5 ns; the maximum is 20 ns.
Setup and Hold Use SHOLd (Setup and Hold) to set the amount of setup and hold time used to
test for a violation.
1384 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
The setup time is the amount of time that the data has to be stable and valid prior
to a clock edge. The hold time is the amount of time that the data waveform has to
be stable and valid after a clock edge.
The setup time plus hold time equals 20 ns maximum. So, if the setup time is
1.5 ns, the maximum hold time is 18.5 ns.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
Set the Mode
Before Executing
Commands
Before executing the :TRIGger:ADVanced:VIOLation:SETup commands, set the
mode by entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE VIOLation and
:TRIGger:ADVanced:VIOLation:MODE SETup and
:TRIGger:ADVanced:VIOLation:SETup:MODE <setup_mode>
Where <setup_mode> includes SETup, HOLD, and SHOLd.
To query the oscilloscope for the advanced trigger violation setup mode, enter:
:TRIGger:ADVanced:VIOLation:SETup:MODE?
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1385
:TRIGger:ADVanced:VIOLation:SETup:MODE
Command :TRIGger:ADVanced:VIOLation:SETup:MODE {SETup | HOLD | SHOLd}
SETup When using the setup time mode, a time window is defined where the right edge is
the clock edge and the left edge is the selected time before the clock edge. The
waveform must stay outside of the trigger level thresholds during this time
window. If the waveform crosses a threshold during this time window, a violation
event occurs and the oscilloscope triggers.
HOLD When using the hold time mode, the waveform must not cross the threshold
voltages after the specified clock edge for at least the hold time you have selected.
Otherwise, a violation event occurs and the oscilloscope triggers.
SHOLd When using the setup and hold time mode, if the waveform violates either a setup
time or hold time, the oscilloscope triggers. The total time allowed for the sum of
setup time plus hold time is 20 ns maximum.
Query :TRIGger:ADVanced:VIOLation:SETup:MODE?
The query returns the currently selected trigger setup violation mode.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:MODE] {SETup | HOLD | SHOLd}<NL>
History Legacy command (existed before version 3.10).
1386 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce {CHANnel<N>}
This command specifies the clock source for the clock used for the trigger setup
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce?
The query returns the currently defined clock source for the trigger setup violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce]
{CHANnel<N>}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1387
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel {{CHANnel<N>},<lev
el>}
This command specifies the level for the clock source used for the trigger setup
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
<N> An integer, 1-4.
<level> A real number for the voltage level for the trigger setup violation clock waveform,
and depends on the type of circuitry logic you are using.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel? {CHANnel<N>}
The query returns the specified clock source level for the trigger setup violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:LEVel
{CHANnel<N>},] <level><NL>
History Legacy command (existed before version 3.10).
1388 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE {RISing | FALLing}
This command specifies the edge for the clock source used for the trigger setup
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE?
The query returns the currently defined clock source edge for the trigger setup
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:CSOurce:EDGE] {RIS | FALL}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1389
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce {CHANnel<N>}
The data source commands specify the data source for the trigger setup violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce?
The query returns the currently defined data source for the trigger setup violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce] {CHANnel<N>}<NL>
History Legacy command (existed before version 3.10).
1390 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold {{CHANnel<N>}
,<level>}
This command specifies the data source for the trigger setup violation, and the
high-level data threshold for the selected data source. Data is valid when it is
above the high-level data threshold, and when it is below the low-level data
threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger setup violation, and is
used with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce: HTHReshold? {CHANnel<N>
}
The query returns the specified data source for the trigger setup violation, and the
high data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:HTHReshold {CHANnel<N>}
,] <level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1391
:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold {{CHANnel<N>}
,<level>}
This command specifies the data source for the trigger setup violation, and the
low-level data threshold for the selected data source. Data is valid when it is above
the high-level data threshold, and when it is below the low-level data threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger setup violation, and is
used with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce: LTHReshold? {CHANnel<N>
}
The query returns the specified data source for the trigger setup violation, and the
low data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:DSOurce:LTHReshold {CHANnel<N>}
,] <level><NL>
History Legacy command (existed before version 3.10).
1392 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:SETup:TIME
Command :TRIGger:ADVanced:VIOLation:SETup:SETup:TIME <time>
This command specifies the amount of setup time used to test for a trigger
violation. The setup time is the amount of time that the data must be stable and
valid prior to a clock edge.
<time> Setup time, in seconds.
Query :TRIGger:ADVanced:VIOLation:SETup:SETup:TIME?
The query returns the currently defined setup time for the trigger violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SETup:TIME] <time><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1393
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce {CHANnel<N>}
This command specifies the clock source for the clock used for the trigger hold
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce?
The query returns the currently defined clock source for the trigger hold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce] {CHANnel<N>}<NL>
History Legacy command (existed before version 3.10).
1394 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel {{CHANnel<N>},<leve
l>}
This command specifies the level for the clock source used for the trigger hold
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
<N> An integer, 1-4.
<level> A real number for the voltage level for the trigger hold violation clock waveform,
and depends on the type of circuitry logic you are using.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel? {CHANnel<N>}
The query returns the specified clock source level for the trigger hold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:LEVel {CHANnel<N>},] <le
vel><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1395
:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE {RISing | FALLing}
This command specifies the edge for the clock source used for the trigger hold
violation. The clock must pass through the voltage level you have set before the
trigger circuitry looks for a setup or hold time violation.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE?
The query returns the currently defined clock source edge for the trigger hold
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:CSOurce:EDGE] {RIS | FALL}<NL>
History Legacy command (existed before version 3.10).
1396 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce {CHANnel<N>}
The data source commands specify the data source for the trigger hold violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce?
The query returns the currently defined data source for the trigger hold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce] {CHANnel<N>}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1397
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold {{CHANnel<N>},
<level>}
This command specifies the data source for the trigger hold violation, and the
high-level data threshold for the selected data source. Data is valid when it is
above the high-level data threshold, and when it is below the low-level data
threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger hold violation, and is used
with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold? {CHANnel<N>}
The query returns the specified data source for the trigger hold violation, and the
high data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:HTHReshold {CHANnel<N>},
] <level><NL>
History Legacy command (existed before version 3.10).
1398 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold {{CHANnel<N>},
<level>}
This command specifies the data source for the trigger hold violation, and the
low-level data threshold for the selected data source. Data is valid when it is above
the high-level data threshold, and when it is below the low-level data threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger hold violation, and is used
with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold? {CHANnel<N>}
The query returns the specified data source for the trigger hold violation, and the
low data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:DSOurce:LTHReshold {CHANnel<N>},
] <level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1399
:TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME
Command :TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME <time>
This command specifies the amount of hold time used to test for a trigger
violation. The hold time is the amount of time that the data must be stable and
valid after a clock edge.
<time> Hold time, in seconds.
Query :TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME?
The query returns the currently defined hold time for the trigger violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:HOLD:TIME] <time><NL>
History Legacy command (existed before version 3.10).
1400 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce: {CHANnel<N>}
This command specifies the clock source for the clock used for the trigger setup
and hold violation. The clock must pass through the voltage level you have set
before the trigger circuitry looks for a setup and hold time violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce?
The query returns the currently defined clock source for the trigger setup and hold
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce] {CHANnel<N>}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1401
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel {{CHANnel<N>},<lev
el>}
This command specifies the clock source trigger level for the clock used for the
trigger setup and hold violation. The clock must pass through the voltage level you
have set before the trigger circuitry looks for a setup and hold time violation.
<N> An integer, 1-4.
<level> A real number for the voltage level for the trigger setup and hold violation clock
waveform, and depends on the type of circuitry logic you are using.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel? {CHANnel<N>}
The query returns the specified clock source level for the trigger setup and hold
violation level for the clock source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:LEVel {CHANnel<N>},] <l
evel><NL>
History Legacy command (existed before version 3.10).
1402 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE {RISing | FALLing}
This command specifies the clock source trigger edge for the clock used for the
trigger setup and hold violation. The clock must pass through the voltage level you
have set before the trigger circuitry looks for a setup and hold time violation.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE?
The query returns the currently defined clock source edge for the trigger setup and
hold violation level for the clock source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:CSOurce:EDGE] {RIS | FALL}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1403
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce {CHANnel<N>}
The data source commands specify the data source for the trigger setup and hold
violation.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce?
The query returns the currently defined data source for the trigger setup and hold
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce] {CHANnel<N>}<NL>
History Legacy command (existed before version 3.10).
1404 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold {{CHANnel<N>}
,<level>}
This command specifies the data source for the trigger setup and hold violation,
and the high-level data threshold for the selected data source. Data is valid when
it is above the high-level data threshold, and when it is below the low-level data
threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger setup and hold violation,
and is used with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold? {CHANnel<N>}
The query returns the specified data source for the trigger setup and hold
violation, and the high data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:HTHReshold {CHANnel<N>}
,] <level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1405
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold {{CHANnel<N>}
,<level>}
This command specifies the data source for the trigger setup and hold violation,
and the low-level data threshold for the selected data source. Data is valid when it
is above the high-level data threshold, and when it is below the low-level data
threshold.
<N> An integer, 1-4.
<level> A real number for the data threshold level for the trigger setup and hold violation,
and is used with the high and low threshold data source commands.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold? {CHANnel<N>}
The query returns the specified data source for the setup and trigger hold
violation, and the low data threshold for the data source.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:DSOurce:LTHReshold {CHANnel<N>}
,] <level><NL>
History Legacy command (existed before version 3.10).
1406 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe (STIMe)
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe <time>
This command specifies the amount of setup time used to test for both a setup
and hold trigger violation. The setup time is the amount of time that the data must
be stable and valid before a clock edge.
<time> Setup time, in seconds.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe?
The query returns the currently defined setup time for the setup and hold trigger
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLd:SetupTIMe] <time><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1407
:TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe (HTIMe)
Command :TRIGger:ADVanced:VIOLation:SETup:SHOLd:HoldTIMe <time>
This command specifies the amount of hold time used to test for both a setup and
hold trigger violation. The hold time is the amount of time that the data must be
stable and valid after a clock edge.
<time> Hold time, in seconds.
Query :TRIGger:ADVanced:VIOLation:SETup:SHOLD:HoldTIMe?
The query returns the currently defined hold time for the setup and hold trigger
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:SETup:SHOLD:HoldTIMe] <time><NL>
History Legacy command (existed before version 3.10).
1408 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
Advanced Transition Violation Trigger Commands
Use Transition Violation Mode to find any edge in your waveform that violates a
rise time or fall time specification. Infiniium Oscilloscopes find a transition violation
trigger by looking for any pulses in your waveform with rising or falling edges that
do not cross two voltage levels in the amount of time you have specified.
The rise time is measured from the time that your waveform crosses the low
threshold until it crosses the high threshold. The fall time is measured from the
time that the waveform crosses the high threshold until it crosses the low
threshold.
•":TRIGger:ADVanced:VIOLation:TRANsition" on page 1409
•":TRIGger:ADVanced:VIOLation:TRANsition:SOURce" on page 1410
•":TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold" on
page 1411
•":TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold" on
page 1412
•":TRIGger:ADVanced:VIOLation:TRANsition:TYPE" on page 1413
Source Use Source to select the channel used for a transition violation trigger.
Low Threshold Use Low Threshold to set the low voltage threshold.
High Threshold Use High Threshold to set the high voltage threshold.
Type Use Type to select Rise Time or Fall Time violation.
Trigger On Trigger On parameters include > Time and < Time.
> Time Use > Time to look for transition violations that are longer than the time specified.
< Time Use < Time to look for transition violations that are less than the time specified.
Time Use Time to set the amount of time to determine a rise time or fall time violation.
Available trigger conditioning includes HOLDoff and HYSTeresis (Noise Reject).
Set the Mode
Before Executing
Commands
Before executing the :TRIGger:ADVanced:VIOLation:TRANsition commands, set
the mode by entering:
:TRIGger:MODE ADVanced and
:TRIGger:ADVanced:MODE VIOLation and
:TRIGger:ADVanced:VIOLation:MODE TRANsition
To query the oscilloscope for the advanced trigger violation mode, enter:
:TRIGger:ADVanced:VIOLation:MODE?
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1409
:TRIGger:ADVanced:VIOLation:TRANsition
Command :TRIGger:ADVanced:VIOLation:TRANsition:{GTHan | LTHan} <time>
This command lets you look for transition violations that are greater than or less
than the time specified.
<time> The time for the trigger violation transition, in seconds.
Query :TRIGger:ADVanced:VIOLation:TRANsition:{GTHan | LTHan}?
The query returns the currently defined time for the trigger transition violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:{GTHan | LTHan}] <time><NL>
History Legacy command (existed before version 3.10).
1410 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce
Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce {CHANnel<N>}
The transition source command lets you find any edge in your waveform that
violates a rise time or fall time specification. The oscilloscope finds a transition
violation trigger by looking for any pulses in your waveform with rising or falling
edges that do not cross two voltage levels in the amount of time you have
specified.
<N> An integer, 1-4.
Query :TRIGger:ADVanced:VIOLation:TRANsition:SOURce?
The query returns the currently defined transition source for the trigger transition
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:SOURce] {CHANnel<N>}<NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1411
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold
Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold {{CHANnel<N>},<
level>}
This command lets you specify the source and high threshold for the trigger
violation transition. The oscilloscope finds a transition violation trigger by looking
for any pulses in your waveform with rising or falling edges that do not cross two
voltage levels in the amount of time you have specified.
<N> An integer, 1-4.
<level> A real number for the voltage threshold level for the trigger transition violation,
and is used with the high and low threshold transition source commands.
Query :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:
HTHReshold? {CHANnel<N>}
The query returns the specified transition source for the trigger transition high
threshold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:HTHReshold {CHANnel<N>},]
<level><NL>
History Legacy command (existed before version 3.10).
1412 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold
Command :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold {{CHANnel<N>},<
level>}
This command lets you specify the source and low threshold for the trigger
violation transition. The oscilloscope finds a transition violation trigger by looking
for any pulses in your waveform with rising or falling edges that do not cross two
voltage levels in the amount of time you have specified.
<N> An integer, 1-4.
<level> A real number for the voltage threshold level for the trigger transition violation,
and is used with the high and low threshold transition source commands.
Query :TRIGger:ADVanced:VIOLation:TRANsition:SOURce:
LTHReshold? {CHANnel<N>}
The query returns the currently defined transition source for the trigger transition
low threshold violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:SOURce:LTHReshold {CHANnel<N>},]
<level><NL>
History Legacy command (existed before version 3.10).
Trigger Commands 36
Keysight Infiniium Oscilloscopes Programmer's Guide 1413
:TRIGger:ADVanced:VIOLation:TRANsition:TYPE
Command :TRIGger:ADVanced:VIOLation:TRANsition:TYPE {RISetime | FALLtime}
This command lets you select either a rise time or fall time transition violation
trigger event.
Query :TRIGger:ADVanced:VIOLation:TRANsition:TYPE?
The query returns the currently defined transition type for the trigger transition
violation.
Returned Format [:TRIGger:ADVanced:VIOLation:TRANsition:TYPE] {RISetime | FALLtime}<NL>
History Legacy command (existed before version 3.10).
1414 Keysight Infiniium Oscilloscopes Programmer's Guide
36 Trigger Commands
1415
Keysight Infiniium Oscilloscopes
Programmer's Guide
37 Waveform Commands
:WAVeform:BANDpass? / 1418
:WAVeform:BYTeorder / 1419
:WAVeform:CGRade:HEIGht? / 1420
:WAVeform:CGRade:WIDTh? / 1421
:WAVeform:COMPlete? / 1422
:WAVeform:COUNt? / 1423
:WAVeform:COUPling? / 1424
:WAVeform:DATA? / 1425
:WAVeform:FORMat / 1447
:WAVeform:POINts? / 1450
:WAVeform:PREamble? / 1451
:WAVeform:SEGMented:ALL / 1455
:WAVeform:SEGMented:COUNt? / 1456
:WAVeform:SEGMented:TTAG? / 1457
:WAVeform:SEGMented:XLISt? / 1458
:WAVeform:SOURce / 1459
:WAVeform:STReaming / 1461
:WAVeform:TYPE? / 1462
:WAVeform:VIEW / 1463
:WAVeform:XDISplay? / 1466
:WAVeform:XINCrement? / 1467
:WAVeform:XORigin? / 1468
:WAVeform:XRANge? / 1469
:WAVeform:XREFerence? / 1470
:WAVeform:XUNits? / 1471
:WAVeform:YDISplay? / 1472
:WAVeform:YINCrement? / 1473
:WAVeform:YORigin? / 1474
:WAVeform:YRANge? / 1475
:WAVeform:YREFerence? / 1476
:WAVeform:YUNits? / 1477
1416 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
The WAVeform subsystem is used to transfer waveform data between a computer
and the oscilloscope. It contains commands to set up the waveform transfer and to
send or receive waveform records to or from the oscilloscope.
Data Acquisition When data is acquired using the DIGitize command, the data is placed in the
channel or function memory of the specified source. After the DIGitize command
executes, the oscilloscope is stopped. If the oscilloscope is restarted by your
program or from the front panel, the data acquired with the DIGitize command is
overwritten.
You can query the preamble, elements of the preamble, or waveform data while
the oscilloscope is running, but the data will reflect only the current acquisition,
and subsequent queries will not reflect consistent data. For example, if the
oscilloscope is running and you query the X origin, the data is queried in a
separate command, it is likely that the first point in the data will have a different
time than that of the X origin. This is due to data acquisitions that may have
occurred between the queries. For this reason, Keysight Technologies does not
recommend this mode of operation. Instead, you should use the DIGitize
command to stop the oscilloscope so that all subsequent queries will be
consistent.
Waveform Data
and Preamble
The waveform record consists of two parts: the preamble and the waveform data.
The waveform data is the actual sampled data acquired for the specified source.
The preamble contains the information for interpreting the waveform data,
including the number of points acquired, the format of the acquired data, and the
type of acquired data. The preamble also contains the X and Y increments, origins,
and references for the acquired data.
The values in the preamble are set when you execute the DIGitize command. The
preamble values are based on the current settings of the oscilloscope's controls.
Data Conversion Data sent from the oscilloscope must be scaled for useful interpretation. The
values used to interpret the data are the X and Y origins and X and Y increments.
These values can be read using the :WAVeform:XORigin?, WAVeform:YORigin?,
WAVeform:XINCrement?, and WAVeform:YINCreament? queries.
Conversion from
Data Values to
Units
To convert the waveform data values (essentially A/D counts) to real-world units,
such as volts, use the following scaling formulas:
Y-axis Units = data value x Yincrement + Yorigin (analog channels) X-axis Units =
data index x Xincrement + Xorigin, where the data index starts at zero: 0, 1, 2,
..., n-1.
The first data point for the time (X-axis units) must be zero, so the time of the first
data point is the X origin.
NOTE
Function and channel data are volatile and must be read following a DIGitize command or the
data will be lost when the oscilloscope is turned off.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1417
Data Format for
Data Transfer
There are four types of data formats that you can select using the
:WAVeform:FORMat command: ASCii, BYTE, WORD, and BINary. Refer to the
FORMat command in this chapter for more information on data formats.
1418 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:BANDpass?
Query :WAVeform:BANDpass?
The :WAVeform:BANDpass? query returns an estimate of the maximum and
minimum bandwidth limits of the source waveform. The bandwidth limits are
computed as a function of the coupling and the selected filter mode. The cutoff
frequencies are derived from the acquisition path and software filtering.
Returned Format [:WAVeform:BANDpass]<lower_cutoff>,<upper_cutoff><NL>
<lower_cutoff> Minimum frequency passed by the acquisition system.
<upper_cutoff> Maximum frequency passed by the acquisition system.
Example This example places the estimated maximum and minimum bandwidth limits of
the source waveform in the string variable, strBandwidth, then prints the contents
of the variable to the computer's screen.
Dim strBandwidth As String ' Dimension variable.
myScope.WriteString ":WAVeform:BANDpass?"
strBandwidth = myScope.ReadString
Debug.Print strBandwidth
History Legacy command (existed before version 3.10).
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1419
:WAVeform:BYTeorder
Command :WAVeform:BYTeorder {MSBFirst | LSBFirst}
The :WAVeform:BYTeorder command selects the order in which bytes are
transferred to and from the oscilloscope using WORD and LONG formats. If
MSBFirst is selected, the most significant byte is transferred first. Otherwise, the
least significant byte is transferred first. The default setting is MSBFirst.
Example This example sets up the oscilloscope to send the most significant byte first during
data transmission.
myScope.WriteString ":WAVeform:BYTeorder MSBFirst"
Query :WAVeform:BYTeorder?
The :WAVeform:BYTeorder? query returns the current setting for the byte order.
Returned Format [:WAVeform:BYTeorder] {MSBFirst | LSBFirst}<NL>
Example This example places the current setting for the byte order in the string variable,
strSetting, then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":WAVeform:BYTeorder?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
NOTE
The data transfer rate is faster using the LSBFirst byte order.
MSBFirst is for microprocessors, where the most significant byte resides at the lower address.
LSBFirst is for microprocessors, where the least significant byte resides at the lower address.
1420 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:CGRade:HEIGht?
Query :WAVeform:CGRade:HEIGht?
When the CGRade waveform view is selected (:WAVeform:VIEW CGRade), the
:WAVeform:CGRade:HEIGht? query returns the color grade (pixel) database data
height.
Returned Format <height><NL>
<height> ::= integer in NR1 format
See Also •"Getting Color Grade (Pixel) Database Count Values" on page 1464
•":WAVeform:VIEW" on page 1463
•":WAVeform:FORMat" on page 1447
•":WAVeform:CGRade:WIDTh?" on page 1421
History New in version 6.00.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1421
:WAVeform:CGRade:WIDTh?
Query :WAVeform:CGRade:WIDTh?
When the CGRade waveform view is selected (:WAVeform:VIEW CGRade), the
:WAVeform:CGRade:WIDTh? query returns the color grade (pixel) database data
width.
Returned Format <width><NL>
<width> ::= integer in NR1 format
See Also •"Getting Color Grade (Pixel) Database Count Values" on page 1464
•":WAVeform:VIEW" on page 1463
•":WAVeform:FORMat" on page 1447
•":WAVeform:CGRade:HEIGht?" on page 1420
History New in version 6.00.
1422 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:COMPlete?
Query :WAVeform:COMPlete?
The :WAVeform:COMPlete? query returns the percent of time buckets that are
complete for the currently selected waveform.
For the NORMal, RAW, and INTerpolate waveform types, the percent complete is
the percent of the number of time buckets that have data in them, compared to
the memory depth.
For the AVERage waveform type, the percent complete is the number of time
buckets that have had the specified number of hits divided by the memory depth.
The hits are specified by the :ACQuire:AVERage:COUNt command.
For the VERSus waveform type, percent complete is the least complete of the
X-axis and Y-axis waveforms.
Returned Format [:WAVeform:COMPlete] <criteria><NL>
<criteria> 0 to 100 percent, rounded down to the closest integer.
Example This example places the current completion criteria in the string variable,
strCriteria, then prints the contents of the variable to the computer's screen.
Dim strCriteria As String ' Dimension variable.
myScope.WriteString ":WAVeform:COMPlete?"
strCriteria = myScope.ReadString
Debug.Print strCriteria
History Legacy command (existed before version 3.10).
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1423
:WAVeform:COUNt?
Query :WAVeform:COUNt?
The :WAVeform:COUNt? query returns the fewest number of hits in all of the time
buckets for the currently selected waveform. For the AVERage waveform type, the
count value is the fewest number of hits for all time buckets. This value may be
less than or equal to the value specified with the :ACQuire:AVERage:COUNt
command.
For the NORMal, RAW, INTerpolate, and VERSus waveform types, the count value
returned is one, unless the data contains holes (sample points where no data is
acquired). If the data contains holes, zero is returned.
Returned Format [:WAVeform:COUNt] <number><NL>
<number> An integer. Values range from 0 to 1 for NORMal, RAW, or INTerpolate types, and
VERSus type. If averaging is on values range from 0 to 65536.
Example This example places the current count field value in the string variable, strCount,
then prints the contents of the variable to the computer's screen.
Dim strCount As String ' Dimension variable.
myScope.WriteString ":WAVeform:COUNt?"
strCount = myScope.ReadString
Debug.Print strCount
History Legacy command (existed before version 3.10).
1424 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:COUPling?
Query :WAVeform:COUPling?
The :WAVeform:COUPling? query returns the input coupling of the currently
selected source.
Returned Format [:WAVeform:COUPling] {AC | DC | DCFifty | LFReject} <NL>
On 9000 Series, 9000H Series, and Z-Series oscilloscopes, this query can return:
•AC.
•DC.
•DCFifty.
• LFReject.
On 90000A Series, 90000 X-Series, V-Series, 90000 Q-Series, and Z-Series
oscilloscopes, this query always returns:
• DC — (and is provided for compatibility with other Infiniium oscilloscopes).
Example This example places the current input coupling of the selected waveform in the
string variable, strSetting, then prints the contents of the variable.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":WAVeform:COUPling?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also The :CHANnel<N>:INPut command sets the coupling for a particular channel.
You can use the :WAVeform:SOURce command to set the source for the coupling
query.
History Legacy command (existed before version 3.10).
Source Return Value
CGRade Coupling of the lowest numbered channel that is on.
HISTogram The coupling of the selected channel. For functions, the coupling of the
lowest numbered channel in the function.
CHANnel The coupling of the channel number
FUNCtion The coupling of the lowest numbered channel in the function
WMEMory The coupling value of the source that was loaded into the waveform
memory. If channel 1 was loaded, it would be the channel 1 coupling
value.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1425
:WAVeform:DATA?
Query :WAVeform:DATA? [<start>[,<size>]]
The :WAVeform:DATA? query outputs waveform data to the computer over the
remote interface. The data is copied from a waveform memory, function, channel,
bus, pod, or digital channel previously specified with the :WAVeform:SOURce
command.
The preamble queries, such as :WAVeform:XINCrement, can be used to determine
the vertical scaling, the horizontal scaling, and so on.
<start> An integer value which is the starting point in the source memory which is the first
waveform point to transfer.
<size> An integer value which is the number of points in the source memory to transfer. If
the size specified is greater than the amount of available data then the size is
adjusted to be the maximum available memory depth minus the <start> value.
Streaming Off The returned waveform data response depends upon the setting of the
:WAVeform:STReaming command. When the data format is BYTE and streaming is
off, the number of waveform points must be less than 1,000,000,000 or an error
occurs and only 999,999,999 bytes of data are sent. When the data format is
WORD and streaming is off, the number of waveform points must be less than
500,000,000 or an error occurs and only 499,999,999 words of data are sent.
The returned waveform data in response to the :WAVeform:DATA? query is in the
following order.
NOTE
The data's returned response depends upon the setting of the :WAVeform:STReaming
command. See "Streaming Off" on page 1425 or "Streaming On" on page 1426 for more
detail.
NOTE
If the waveform data is ASCII formatted, no header information indicating the number of bytes
being downloaded is included, and the waveform data is separated by commas.
NOTE
When an acquisition is made on multiple channels, the data for each channel has the same
X origin and the same number of points.
1426 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
Streaming On When streaming is on there is no limit on the number of waveform data points that
are returned. It is recommended that any new programs use streaming on to send
waveform data points. The waveform data response when streaming is on is as
follows.
Returned Format [:WAVeform:DATA] <block_data>[,<block_data>]<NL>
Example This example places the current waveform data from channel 1 into the
varWavData array in the word format.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:SOURce CHANnel1 ' Select source.
myScope.WriteString ":WAVeform:FORMat WORD" ' Select word format.
myScope.WriteString ":WAVeform:DATA?"
varWavData = myScope.ReadIEEEBlock(BinaryType_I2)
Figure 5 Streaming Off
# N L (N bytes) 0 1 2 ... L-1 End
Start of response
2nd byte of BYTE, WORD, or BINary
format waveform data
1st byte of BYTE, WORD, or BINary
format waveform data
Number of bytes of waveform data to follow
Number of bytes in Length block
Termination character
Last byte of BYTE, WORD, or
BINary format waveform data
Figure 6 Streaming On
#0
B1 B2 B3
...
L-1 End
Start of response
2nd byte of BYTE, WORD, or BINary
format waveform data
1st byte of BYTE, WORD, or BINary
format waveform data
Number is zero
Termination character
Last byte of BYTE, WORD, or
BINary format waveform data
3rd byte of BYTE, WORD, or BINary
format waveform data
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1427
The format of the waveform data must match the format previously specified by
the :WAVeform:FORMat and :WAVeform:BYTeorder commands.
DATA? Example for
Analog Channels
The following C example shows how to transfer WORD formatted waveform data
for analog channels to a computer.
/* readdata. c */
/* Reading Word format example. This program demonstrates the order
* of commands suggested for operation of the Infiniium oscilloscope
* via LAN. This program initializes the oscilloscope, acquires data,
* transfers data in WORD format, converts the data into time and
* voltage values, and stores the data in a file as comma-separated
* ascii values. This format is useful for spreadsheet and MATLAB
* applications. It requires a waveform which is connected to Channel 1.
*/
#include <stdio.h> /* location of: printf() */
#include <stdlib.h> /* location of: atof(), atoi() */
#include <string.h> /* location of: strlen() */
#include "sicl.h"
/* Prototypes */
int InitIO( void );
void WriteIO( char *buffer );
unsigned long ReadByte( char *buffer, unsigned long BytesToRead);
unsigned long ReadWord( char *buffer, int *reason,
unsigned long BytesToRead);
void ReadDouble( double *buffer );
void CloseIO( void );
void AcquireData( void );
void GetVoltageConversionFactors( double *yInc, double *yOrg );
void GetTimeConversionFactors( double *xInc, double *xOrg );
void WriteCsvToFile( unsigned long ByteToRead );
void SetupDataTransfer( void );
/* Defines */
#define MAX_LENGTH 10000000
#define INTERFACE "lan[130.29.70.247]:inst0"
#define TRUE 1
#define FALSE 0
#define IO_TIMEOUT 20000
/* Globals */
INST bus;
INST scope;
char buffer[MAX_LENGTH]; /* Buffer for reading data */
double xOrg=0L, xInc=0L; /* Values used to create time data */
double yOrg=0L, yInc=0L; /* Values used to convert data to volts */
void main( void )
{
unsigned long BytesToRead;
if ( !InitIO() )
1428 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
{
exit( 1 );
}
AcquireData();
WriteIO( ":WAVeform:FORMat WORD" ); /* Setup transfer format */
WriteIO( ":WAVeform:BYTeorder LSBFirst" ); /* Setup transfer of
LSB first */
WriteIO( ":WAVeform:SOURce CHANnel1" ); /* Waveform data source
channel 1 */
WriteIO( ":WAVeform:STReaming 1" ); /* Turn on waveform
streaming of data */
GetVoltageConversionFactors( &yInc, &yOrg );
GetTimeConversionFactors( &xInc, &xOrg );
BytesToRead = MAX_LENGTH;
SetupDataTransfer();
WriteCsvToFile( BytesToRead );
CloseIO( );
}
/*****************************************************************
* Function name: InitIO
* Parameters: none
* Return value: TRUE if successful otherwise FALSE
* Description: This routine initializes the SICL environment.
* It sets up error handling, opens both an interface
* and device session, sets timeout values, clears
* the LAN interface card, and clears the
* oscilloscope's LAN interface by performing a
* Selected Device Clear.
***********************************************************************/
int InitIO( void )
{
ionerror( I_ERROR_EXIT ); /* set-up interface error handling */
bus = iopen( INTERFACE ); /* open interface session */
if ( bus == 0 )
{
printf( "Bus session invalid\n" );
return FALSE;
}
itimeout( bus, IO_TIMEOUT ); /* set bus timeout */
iclear( bus ); /* clear the interface */
scope = bus; /* open the scope device session */
return TRUE;
}
/********************************************************************
* Function name: WriteIO
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1429
* Parameters: char *buffer which is a pointer to the character
* string to be output
* Return value: none
* Description: This routine outputs strings to the oscilloscope
* device session using SICL commands.
*********************************************************************/
void WriteIO( char *buffer )
{
unsigned long actualcnt;
unsigned long BytesToRead;
int send_end = 1;
BytesToRead = strlen( buffer );
iwrite( scope, buffer, BytesToRead, send_end, &actualcnt );
}
/*******************************************************************
* Function name: ReadByte
* Parameters: char *buffer which is a pointer to the array to
* store the read bytes
* unsigned long BytesToRead which indicates the
* maximum number of bytes to read
* Return value: integer which indicates the actual number of bytes
* read
* Description: This routine inputs strings from the scope device
* session using SICL commands.
********************************************************************/
unsigned long ReadByte( char *buffer, unsigned long BytesToRead )
{
unsigned long BytesRead;
int reason;
BytesRead = BytesToRead;
iread( scope, buffer, BytesToRead, &reason, &BytesRead );
return BytesRead;
}
/********************************************************************
* Function name: ReadWord
* Parameters: short *buffer which is a pointer to the word array
* to store the bytes read
* int reason which is the reason that the read
* terminated
* unsigned long BytesToRead which indicates the
* maximum number of bytes to read
* Return value: integer which indicates the actual number of
* bytes read
* Description: This routine inputs an array of short values from
* the oscilloscope device session using SICL commands.
*********************************************************************/
1430 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
unsigned long ReadWord( char *buffer, int *reason,
unsigned long BytesToRead )
{
long BytesRead;
iread( scope, buffer, BytesToRead, reason, &BytesRead );
return BytesRead;
}
/********************************************************************
* Function name: ReadDouble
* Parameters: double *buffer which is a pointer to the float
* value to read
* Return value: none
* Description: This routine inputs a float value from the
* oscilloscope device session using SICL commands.
*********************************************************************/
void ReadDouble( double *buffer )
{
iscanf( scope, "%lf", buffer );
}
/********************************************************************
* Function name: close_IO
* Parameters: none
* Return value: none
* Description: This routine closes device and interface sessions
* for the SICL environment, and calls the routine
* _siclcleanup which de-allocates resources
* used by the SICL environment.
*********************************************************************/
void CloseIO( void )
{
iclose( scope ); /* close device session */
iclose( bus ); /* close interface session */
_siclcleanup(); /* required for 16-bit applications */
}
/********************************************************************
* Function name: AcquireData
* Parameters: none
* Return value: none
* Description: This routine acquires data using the current
* oscilloscope settings.
*********************************************************************/
void AcquireData( void )
{
/*
* The root level :DIGitize command is recommended for
* acquiring new waveform data. It initializes the
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1431
* oscilloscope's data buffers, acquires new data,
* and ensures that acquisition criteria are met before the
* acquisition is stopped. Note that the display is
* automatically turned off when you use this form of the
* :DIGitize command and must be turned on to view the
* captured data on screen.
*/
WriteIO(":DIGitize CHANnel1");
WriteIO(":CHANnel1:DISPlay ON");
}
/********************************************************************
* Function name: GetVoltageConversionFactors
* Parameters: double yInc which is the voltage difference
* represented by adjacent waveform data digital codes
.
* double yOrg which is the voltage value of digital
* code 0.
* Return value: none
* Description: This routine reads the conversion factors used to
* convert waveform data to volts.
*********************************************************************/
void GetVoltageConversionFactors( double *yInc, double *yOrg )
{
/* Read values which are used to convert data to voltage values */
WriteIO(":WAVeform:YINCrement?");
ReadDouble( yInc );
WriteIO(":WAVeform:YORigin?");
ReadDouble( yOrg );
}
/*******************************************************************
* Function name: SetupDataTransfer
* Parameters: none
* Return value: none
* Description: This routine sets up the waveform data transfer and
* removes the # and 0 characters.
********************************************************************/
void SetupDataTransfer( void )
{
char cData;
WriteIO( ":WAVeform:DATA?" ); /* Request waveform data */
/* Find the # character */
do
{
ReadByte( &cData, 1L );
1432 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
} while ( cData != '#' );
/* Find the 0 character */
do
{
ReadByte( &cData, 1L );
} while ( cData != '0' );
}
/*******************************************************************
* Function name: GetTimeConversionFactors
* Parameters: double xInc which is the time between consecutive
* sample points.
* double xOrg which is the time value of the first
* data point.
* Return value: none
* Description: This routine transfers the waveform conversion
* factors for the time values.
********************************************************************/
void GetTimeConversionFactors( double *xInc, double *xOrg )
{
/* Read values which are used to create time values */
WriteIO(":WAVeform:XINCrement?");
ReadDouble( xInc );
WriteIO(":WAVeform:XORigin?");
ReadDouble( xOrg );
}
/*******************************************************************
* Function name: WriteCsvToFile
* Parameters: unsigned long BytesToRead which is the number of
* data points to read
* Return value: none
* Description: This routine stores the time and voltage
* information about the waveform as time and
* voltage separated by commas to a file.
********************************************************************/
void WriteCsvToFile( unsigned long BytesToRead )
{
FILE *fp;
int done = FALSE;
int reason = 0;
unsigned long i;
unsigned long j = 0;
unsigned long BytesRead = 0L;
double Time;
double Volts;
short *buff;
fp = fopen( "pairs.csv", "wb" ); /* Open file in binary mode - clear
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1433
file if it already exists */
if (fp != NULL)
{
while( !done )
{
BytesRead = ReadWord( buffer, &reason, BytesToRead );
switch( reason )
{
case I_TERM_MAXCNT:
done = FALSE;
break;
case I_TERM_END:
done = TRUE;
break;
case I_TERM_CHR:
done = TRUE;
break;
default:
done = TRUE;
break;
};
buff = (short *) buffer;
for(i=0;i<((BytesRead - 1)/2); i++)
{
Time = (j * xInc) + xOrg; /* calculate time */
j=j+1;
Volts = (buff[i] * yInc) + yOrg;/* calculate voltage */
fprintf( fp, "%e,%f\n", Time, Volts );
}
}
fclose( fp );
}
else
{
printf("Unable to open file 'pairs.csv'\n");
}
}
DATA? Example for
Digital Channels
The following C example shows how to transfer both BYTE and WORD formatted
waveform data for digital channels to a computer. There is a file on the Infiniium
Oscilloscope Example Programs disk called readdig.c in the c directory that
contains this program.
/* readdig. c */
/* Reading Byte and Word format Example. This program demonstrates the
order of
commands suggested for operation of the Infiniium oscilloscope by LAN o
r GPIB.
1434 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
This program initializes the scope, acquires data, transfers data in bo
th the
BYTE and WORD formats, converts the data into hex, octal, binary and ti
me values,
and stores the data in a file as comma-separated values. This format i
s useful
for spreadsheet applications.
*/
#include <stdio.h> /* location of: printf() */
#include <stdlib.h> /* location of: atof(), atoi() */
#include <string.h> /* location of: strlen() */
#include "sicl.h"
/* Prototypes */
int InitIO( void );
void WriteIO( char *buffer );
unsigned long ReadByte( char *buffer, unsigned long BytesToRead);
unsigned long ReadWord( short *buffer, unsigned long BytesToRead);
void ReadDouble( double *buffer );
void CloseIO( void );
void AcquireData( void );
void GetTimeConversionFactors( void );
void CreateTimeData( unsigned long AcquiredLength,
double *TimeValues );
void WriteCsvToFile( double *TimeValues, unsigned short *wordData,
unsigned char *byteData, unsigned long AcquiredLeng
th);
unsigned long SetupDataTransfer( double lTime, double rTime );
int Round( double number );
/* Defines */
#define MAX_LENGTH 8192000
#define LAN
#ifdef LAN
#define INTERFACE "lan[130.29.71.202]:hpib7,7"
#else
#define INTERFACE "hpib7"
#endif
#define DEVICE_ADDR "hpib7,7"
#define TRUE 1
#define FALSE 0
#define IO_TIMEOUT 20000
/* Globals */
INST bus;
INST scope;
double TimeValues[MAX_LENGTH]; /* Time value of data */
unsigned short wordData[MAX_LENGTH/2];/* Buffer for reading word format
data */
unsigned char byteData[MAX_LENGTH]; /* Buffer for reading byte format
data */
double xOrg, xInc; /* Values necessary to create time
data */
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1435
int Start;
void main( void )
{
char Term;
unsigned long BytesToRead;
if ( !InitIO() ) {
exit( 1 );
}
AcquireData();
WriteIO( ":SYSTem:HEADer OFF" );
WriteIO( ":SYSTem:LONGform OFF" );
WriteIO( ":WAVeform:BYTEorder LSBFirst" ); /* Setup byte order */
WriteIO( ":WAVeform:FORMat WORD" ); /* Setup transfer format *
/
WriteIO( ":WAVeform:SOURce POD1" ); /* Waveform data source pod
1*/
GetTimeConversionFactors( );
BytesToRead = SetupDataTransfer( -25E-6, 25E-6);
ReadWord( wordData, BytesToRead );
ReadByte( &Term, 1L ); /* Read termination character *
/
WriteIO(":WAVeform:FORMat BYTE"); /* Setup transfer format */
BytesToRead = SetupDataTransfer( -25E-6, 25E-6);
ReadByte( byteData, BytesToRead );
ReadByte( &Term, 1L ); /* Read termination character *
/
CreateTimeData( BytesToRead, TimeValues );
WriteCsvToFile( TimeValues, wordData, byteData, BytesToRead );
CloseIO( );
}
/***********************************************************************
********
* Function name: InitIO
* Parameters: none
* Return value: none
* Description: This routine initializes the SICL environment. It se
ts up
* errorhandling, opens both an interface and device ses
sion,
* sets timeout values, clears the GPIB interface card,
and
* clears the oscilloscope's GPIB card by performing a
* Selected Device Clear.
1436 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
************************************************************************
*******/
int InitIO( void )
{
ionerror( I_ERROR_EXIT ); /* set-up interface error handling */
bus = iopen( INTERFACE ); /* open interface session */
if(bus==0){
printf( "Bus session invalid\n" );
return FALSE;
}
itimeout( bus, IO_TIMEOUT ); /* set bus timeout */
iclear( bus ); /* clear the interface */
#ifdef LAN
scope = bus;
#else
scope = iopen( DEVICE_ADDR ); /* open the scope device session *
/
if ( scope == 0) {
printf( "Scope session invalid\n" );
iclose( bus ); /* close interface session */
_siclcleanup(); /* required for 16-bit applications */
return FALSE;
}
itimeout( scope, IO_TIMEOUT ); /* set device timeout */
iclear( scope ); /* perform Selected Device Clear on oscilloscop
e*/
#endif
return TRUE;
}
/***********************************************************************
********
* Function name: WriteIO
* Parameters: char *buffer which is a pointer to the character stri
ng to
* be output
* Return value: none
* Description: This routine outputs strings to the oscilloscope device
* session using SICL commands.
************************************************************************
*******/
void WriteIO( char *buffer )
{
unsigned long actualcnt;
unsigned long BytesToWrite;
int send_end = 1;
BytesToWrite = strlen( buffer );
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1437
iwrite( scope, buffer, BytesToWrite, send_end, &actualcnt );
}
/***********************************************************************
*******
* Function name: ReadByte
* Parameters: char *buffer which is a pointer to the array to store
* the read bytes unsigned long BytesToRead which indica
tes
* the maximum number of bytes to read
* Return value: integer which indicates the actual number of bytes re
ad
* Description: This routine inputs strings from the scope device sessi
on
* using SICL commands.
************************************************************************
******/
unsigned long ReadByte( char *buffer, unsigned long BytesToRead )
{
unsigned long BytesRead=0L;
int reason;
BytesRead = BytesToRead;
iread( scope, buffer, BytesToRead, &reason, &BytesRead );
return BytesRead;
}
/***********************************************************************
*******
* Function name: ReadWord
* Parameters: short *buffer which is a pointer to the word array to
store
* the bytes read unsigned long BytesToRead which indica
tes
* the maximum number of bytes to read
* Return value: integer which indicates the actual number of bytes re
ad
* Description: This routine inputs an array of short values from the
* oscilloscope device session using SICL commands.
************************************************************************
******/
unsigned long ReadWord( short *buffer, unsigned long BytesToRead )
{
long BytesRead=0L;
int reason;
BytesRead = BytesToRead;
iread( scope, (char *) buffer, BytesToRead, &reason, &BytesRead );
return BytesRead;
}
1438 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
/***********************************************************************
*******
* Function name: ReadDouble
* Parameters: double *buffer which is a pointer to the float value
to read
* Return value: none
* Description: This routine inputs a float value from the oscillosco
pe
* device session using SICL commands.
************************************************************************
*******/
void ReadDouble( double *buffer )
{
int error;
error = iscanf( scope, "%lf", buffer );
}
/***********************************************************************
*******
* Function name: close_IO
* Parameters: none
* Return value: none
* Description: This routine closes device and interface sessions for
* the SICL environment, and calls the routine _siclclean
up
* which de-allocates resources used by the SICL environm
ent.
************************************************************************
******/
void CloseIO( void )
{
iclose( scope ); /* close device session */
iclose( bus ); /* close interface session */
_siclcleanup(); /* required for 16-bit applications */
}
/***********************************************************************
*******
* Function name: AcquireData
* Parameters: none
* Return value: none
* Description: This routine acquires data using the current
* oscilloscope settings.
************************************************************************
******/
void AcquireData( void )
{
/*
* The root level :DIGitize command is recommended for acquiring ne
w
* waveform data. It initializes the oscilloscope's data buffers,
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1439
* acquires new data, and ensures that acquisition criteria are met
* before the acquisition is stopped. Note that the display is
* automatically turned off when you use this form of the
* :DIGitize command and must be turned on to view the captured dat
a
* on screen.
*/
WriteIO(":DIGitize POD1");
WriteIO(":POD1:DISPlay ON");
}
/***********************************************************************
*******
* Function name: SetupDataTransfer
* Parameters: double lTime which is the time value of the first
* waveform memory location of data.
* double rTime which is the time value of the last
* waveform memory location of data.
* Return value: Number of bytes of waveform data to read.
* Description: This routine sets up the waveform data transfer and get
s
* the number of bytes to be read. The beginning of data
* starts with the # character followed by a number which
* tells how many bytes to read for the integer which is t
he
* total number of data bytes that are being transfered.
* Following this is the waveform data. For example, if 1
024
* bytes of waveform data is being transfered then this
* information will be as follows:
* #41024 <1024 data bytes>
************************************************************************
******/
unsigned long SetupDataTransfer( double lTime, double rTime )
{
unsigned long BytesToRead;
char header_str[8];
char cData;
unsigned long BytesRead;
int Size;
char Range[100];
/* Find the index value of the first data memory location */
Start = Round((lTime - xOrg)/xInc);
if (Start < 1) {
Start = 1;
}
/* Find the number of data bytes that you want */
Size = Round((rTime - lTime)/xInc);
sprintf( Range, ":WAVeform:DATA? %d,%d", Start, Size);
1440 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
WriteIO( Range ); /* Request waveform data */
/* Find the # character */
do {
ReadByte( &cData, 1L );
} while ( cData != '#' );
/* Read the next byte which tells how many bytes to read for the numb
er
* of waveform data bytes to transfer value.
*/
ReadByte( &cData, 1L );
BytesToRead = cData - '0'; /* Convert to a number */
/* Reads the number of data bytes that will be transfered */
BytesRead = ReadByte( header_str, BytesToRead );
header_str[BytesRead] = '\0';
BytesToRead = atoi( header_str );
return BytesToRead;
}
/***********************************************************************
*******
* Function name: GetTimeConversionFactors
* Parameters: none
* Return value: none
* Description: This routine transfers the waveform conversion
* factors for the time values.
************************************************************************
*****/
Void GetTimeConversionFactors( void )
{
/* Read values which are used to create time values */
WriteIO(":WAVeform:XINCrement?");
ReadDouble( &xInc );
WriteIO(":WAVeform:XORigin?");
ReadDouble( &xOrg );
}
/***********************************************************************
*******
* Function name: CreateTimeData
* Parameters: unsigned long AcquiredLength which is the number of d
ata
* points
* double TimeValues is a pointer to the array where tim
e
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1441
* values are stored
* Return value: none
* Description: This routine converts the data to time values using
* the values that describe the waveform. These values ar
e stored
* in global variables.
************************************************************************
*****/
void CreateTimeData( unsigned long AcquiredLength, double *TimeValues )
{
unsigned long i;
for(i=0;i<AcquiredLength; i++) {
TimeValues[i] =((Start + i) * xInc) + xOrg; /* calculate time va
lues */
}
}
/***********************************************************************
*******
* Function name: WriteCsvToFile
* Parameters: double *TimeValues which is a pointer to an array of
* calculated time values
* unsigned short *wordData which is a pointer to an arr
ay of
* word format digital values
* unsigned char *byteData which is a pointer to an arra
yof
* byte format digital values
* unsigned long AcquiredLength which is the number of d
ata
* points read
* Return value: none
* Description: This routine stores the time and digital information
about
* the waveform as time, word format, and byte format
* separated by commas to a file.
************************************************************************
******/
void WriteCsvToFile( double *TimeValues, unsigned short *wordData,
unsigned char *byteData, unsigned long AcquiredLength )
{
FILE *fp;
char Binary[9];
unsigned long i;
int j;
int k;
fp = fopen( "digital.csv", "wb" ); /* Open file in binary mode - clear
file
if it already exists */
if (fp != NULL) {
1442 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
fprintf( fp, "Time,Decimal Word Data,Hex Word Data,Hex Byte Data,Bi
nary Byte Data\n");
Binary[8] = '\0';
for ( i = 0; i < AcquiredLength; i++ ) {
// Create the binary formated byte data
for(j=7,k=0;j>=0;j--, k++ ) {
Binary[k] = ((byteData[i] & ( 1 << j )) >> j) + '0';
}
fprintf( fp, "%e,%d,%04X,%02X,%s\
n", TimeValues[i], wordData[i], wordData[i],
byteData[i], Binary );
}
fclose( fp );
}
else {
printf("Unable to open file 'digital.csv'\n");
}
}
/***********************************************************************
*******
* Function name: Round
* Parameters: double number which is a floating point number
* to be converted.
* Return value: The rounded integer value for the number parameter.
* Description: This routine takes a floating point number and create
san
* integer.
************************************************************************
*****/
int Round( double number )
{
if (number < 0.0f ) {
return ( (int) (number - 0.5f) );
}
else {
return ( (int) (number + 0.5f) );
}
}
Understanding
WORD and BYTE
Formats
Before you can understand how the WORD and BYTE downloads work, it is
necessary to understand how Infiniium creates waveform data.
Analog-to-digital
Conversion Basics
The input channel of every digital sampling oscilloscope contains an
analog-to-digital converter (ADC) as shown in Figure 7. The 8-bit ADC in some
Infiniium oscilloscope models consists of 256 voltage comparators. Each
comparator has two inputs. One input is connected to a reference dc voltage level
and the other input is connected to the channel input. When the voltage of the
waveform on the channel input is greater than the dc level, then the comparator
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1443
output is a 1 otherwise the output is a 0. Each of the comparators has a different
reference dc voltage. The output of the comparators is converted into an 8-bit
integer by the encoder.
All ADCs have non-linearity errors which, if not corrected, can give less accurate
vertical measurement results. For example, the non-linearity error for a 3-bit ADC
is shown in the following figure.
Figure 7 Block Diagram of an ADC
@
@
..
.. ..
@
@
&ODPEFS
$IBOOFM*OQVU
7SF
G
CJUT
7S
F
G
1444 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
The graph on the left shows an ADC which has no non-linearity errors. All of the
voltage levels are evenly spaced producing output codes that represent evenly
spaced voltages. In the graph on the right, the voltages are not evenly spaced with
some being wider and some being narrower than the others.
When you calibrate your Infiniium, the input to each channel, in turn, is connected
to the Aux Out connector. The Aux Out is connected to a 16-bit digital-to-analog
converter (DAC) whose input is controlled by Infiniium's CPU. There are 65,536 dc
voltage levels that are produced by the 16-bit DAC at the Aux Out. At each dc
voltage value, the output of the ADC is checked to see if a new digital code is
produced. When this happens, a 16-bit correction factor is calculated for that
digital code and this correction factor is stored in a Calibration Look-up Table.
Figure 8 ADC Non-linearity Errors for a 3-bit ADC
/PSNBMJ[FE"OBMPH*OQVU
'4
'4
'4
'4
'4
'4
'4
'4
0VUQVU%JHJUBM/VNCFS
*EFBM"%$$POWFSTJPO
/PSNBMJ[FE"OBMPH*OQVU
'4
'4
'4
'4
'4
'4
'4
'4
0VUQVU%JHJUBM/VNCFS
/POMJOFBSJUZ
&SSPST
/POJEFBM"%$$POWFSTJPO
FS = the full scale
voltage of the ADC
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1445
This process continues until all 256 digital codes are calibrated. The calibration
process removes most of the non-linearity error of the ADC which yields more
accurate vertical voltage values.
During normal operation of the oscilloscope, the output of the ADC is used as an
address to the Calibration Look-up Table which produces 16-bit data for the
oscilloscope to process and display. The output of the ADC is a signed 8-bit
integer and the output of the Calibration Look-up Table is a signed 16-bit integer.
If the amplitude of the input waveform is larger than the maximum dc reference
level of the ADC, the ADC will output the maximum 8-bit value that it can (255).
This condition is called ADC clipping. When the 255 digital code is applied to the
Calibration Look-up Table, a 16-bit value, such as 30720 could be produced which
represents an ADC clipped value.
Data values for clipped portions of waveforms are the maximum and minimum Q
(quantization) values. For 16-bit waveform data, the maximum Q value is 30720
and the minimum Q value is -32736.
WORD and BYTE
Data Formats
When downloading the waveform data in WORD format, the 16-bit signed integer
value for each data point is sent in two consecutive 8-bit bytes over the remote
interface. Whether the least significant byte (LSB) or the most significant byte
(MSB) is sent first depends on the byte order determined by the BYTeorder
command.
Figure 9 Data Flow in Infiniium
%
%
%
%
%
%
%
%
$BMJCSBUJPO
%JHJUBM
UP
"OBMPH
$POWFSUFS
$16
"VY0VU
$IBOOFM*O
"OBMPH
UP
%JHJUBM
$POWFSUFS
$BMJCSBUJPO
-PPLVQ
5BCMF CJUT
CJUT
CJUT
CJUT
"4$**
'PSNBU
803%
'PSNBU
#:5&
'PSNBU
4USFBNPG
CJU
$IBSBDUFST
1446 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
Before downloading the waveform data in BYTE format, each 16-bit signed integer
is converted into an 8-bit signed integer. Because there are more possible 16-bit
integers than there are 8-bit integers, a range of 16-bit integers is converted into
single 8-bit numbers. For example, the following 16-bit numbers are all converted
into one 8-bit number.
This conversion is what makes the BYTE download format less accurate than the
WORD format.
History Legacy command (existed before version 3.10).
16-Bit Integers 8-Bit Integer
Decimal Hex Hex Decimal
26,240 0x6680 Truncated to >> 0x66 102
26,200 0x6658
26,160 0x6630
26,120 0x6608
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1447
:WAVeform:FORMat
Command :WAVeform:FORMat {ASCii | BINary | BYTE | WORD | FLOat}
The :WAVeform:FORMat command sets the data transmission mode for waveform
data output. This command controls how the data is formatted when it is sent from
the oscilloscope, and pertains to all waveforms.
The default format is ASCii.
ASCii ASCii-formatted data consists of waveform data values converted to the currently
selected units, such as volts, and are output as a string of ASCII characters with
each value separated from the next value by a comma. The values are formatted in
floating point engineering notation. For example:
8.0836E+2,8.1090E+2,...,-3.1245E-3
Table 18 Selecting a Format
Type Advantages Disad vantages
ASCii •Data is returned as voltage values
and does not need to be converted.
•Is as accurate as WORD format.
•Supports HISTogram SOURce.
•Very slow data download rate.
BYTE •Data download rate is twice as fast
as the WORD format.
•Data is less accurate than the
WORD format for analog channels.
•Not compatible with digital bus
and pod data.
WORD •Data is the most accurate for
analog channels.
•Data download rate takes twice as
long as the BYTE format.
BINary •Supports HISTogram SOURce.
•Can be used for analog channels.
•Can be used for color grade
waveform views.
•Data download rate takes twice as
long as the BYTE format for analog
channels.
FLOat •Supports color grade waveform
view only (:WAVeform:VIEW
CGRade).
•Supports larger pixel count
numbers than BINary with fewer
data bytes.
•None.
NOTE
The ASCii format does not send out the header information indicating the number of bytes
being downloaded.
1448 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
In ASCii format:
• The value "99.999E+36" represents a hole value. A hole can occur when you are
using the equivalent time sampling mode when during a single acquisition not
all of the acquisition memory locations contain sampled waveform data. It can
take several acquisitions in the equivalent time sampling mode to fill all of the
memory locations.
BYTE BYTE-formatted data is formatted as signed 8-bit integers. Depending on your
programming language and IO library, you may need to create a function to
convert these signed bytes to signed integers. In BYTE format:
• The value 125 represents a hole value. A hole can occur when you are using the
equivalent time sampling mode when during a single acquisition not all of the
acquisition memory locations contain sampled waveform data. It can take
several acquisitions in the equivalent time sampling mode to fill all of the
memory locations.
The waveform data values are converted from 16-bit integers to 8-bit integers
before being downloaded to the computer. For more information, see
"Understanding WORD and BYTE Formats" on page 1442.
WORD WORD-formatted data is transferred as signed 16-bit integers in two bytes. If
:WAVeform:BYTeorder is set to MSBFirst, the most significant byte of each word is
sent first. If the BYTeorder is LSBFirst, the least significant byte of each word is
sent first. In WORD format:
• The value 31232 represents a hole level. A hole can occur when you are using
the equivalent time sampling mode when during a single acquisition not all of
the acquisition memory locations contain sampled waveform data. It can take
several acquisitions in the equivalent time sampling mode to fill all of the
memory locations.
For more information, see "Understanding WORD and BYTE Formats" on
page 1442.
BINary BINary-formatted data can be used with any SOURce. When a source is any valid
source except for histogram, the data is returned in WORD format.
When the source is set to HISTogram, the data is transferred as signed 64-bit
integers in 8 bytes. The are no hole values in the histogram data.
If :WAVeform:BYTeorder is set to MSBFirst, the most significant byte of each long
word is sent first. If the BYTeorder is LSBFirst, the least significant byte of each
long word is sent first.
FLOat When the color grade waveform view is selected (:WAVeform:VIEW CGRade), the
color grade (pixel) database count values can be queried using these formats only:
• BINary — the :WAVeform:DATA? query will return a binary block of (8-byte)
uint64 values.
• FLOat — the :WAVeform:DATA? query will return a binary block of (4-byte)
single-precision floating-point values.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1449
Example This example selects the WORD format for waveform data transmission.
myScope.WriteString ":WAVeform:FORMat WORD"
Query :WAVeform:FORMat?
The :WAVeform:FORMat? query returns the current output format for transferring
waveform data.
Returned Format [:WAVeform:FORMat] {ASCii | BINary | BYTE | WORD}<NL>
Example This example places the current output format for data transmission in the string
variable, strMode, then prints the contents of the variable to the computer's
screen.
Dim strMode As String ' Dimension variable.
myScope.WriteString ":WAVeform:FORMat?"
strMode = myScope.ReadString
Debug.Print strMode
See Also •":WAVeform:VIEW" on page 1463
•":WAVeform:DATA?" on page 1425
•":WAVeform:CGRade:WIDTh?" on page 1421
•":WAVeform:CGRade:HEIGht?" on page 1420
History Legacy command (existed before version 3.10).
Version 6.00: Added the FLOat option for getting the color grade (pixel) database
data as single-precision floating-point values.
1450 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:POINts?
Query :WAVeform:POINts?
The :WAVeform:POINts? query returns the points value in the current waveform
preamble. The points value is the number of time buckets contained in the
waveform selected with the :WAVeform:SOURce command. If the Sin(x)/x
interpolation filter is enabled, the number of points can be larger than the
oscilloscope's memory depth setting because the waveform includes the
interpolated points.
With ":WAVeform:VIEW CGRade", the :WAVeform:POINts? query returns the
number of count values in the color grade (pixel) database. See "Getting Color
Grade (Pixel) Database Count Values" on page 1464.
Returned Format [:WAVeform:POINts] <points><NL>
<points> An integer. See the :ACQuire:POINts command for a table of possible values.
Example This example places the current acquisition length in the numeric variable,
varLength, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:POINts?"
varLength = myScope.ReadNumber
Debug.Print FormatNumber(varLength, 0)
See Also •":ACQuire:POINts[:ANALog] — Memory depth" on page 225
•":WAVeform:VIEW" on page 1463
History Legacy command (existed before version 3.10).
NOTE
When an acquisition is made on multiple channels, the data for each channel has the same
X origin and the same number of points.
NOTE
Turn Headers Off
When you are receiving numeric data into numeric variables, you should turn the headers off.
Otherwise, the headers may cause misinterpretation of returned data.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1451
:WAVeform:PREamble?
Query :WAVeform:PREamble?
The :WAVeform:PREamble? query outputs a waveform preamble to the computer
from the waveform source, which can be a waveform memory or channel buffer.
Returned Format [:WAVeform:PREamble] <preamble_data><NL>
The preamble can be used to translate raw data into time and voltage values. The
following lists the elements in the preamble.
<preamble_ data> <format>, <type>, <points>, <count> , <X increment>, <X origin>, <X reference>,
<Y increment>, <Y origin>, <Y reference>, <coupling>, <X display range>,
<X display origin>, <Y display range>, <Y display origin>, <date>, <time>,
<frame model #>, <acquisition mode>, <completion>, <X units>, <Y units>,
<max bandwidth limit>, <min bandwidth limit>[,<segment count>]
Table 19 Waveform Preamble Elements
Element Description
<format> Returned format values can be:
•0 — ASCii format
•1 — BYTE format
•2 — WORD format
•3 — LONG format
•4 — LONGLONG format
•5 — FLOat format
The format value describes the data transmission mode for waveform data
output. This command controls how the data is formatted when it is sent
from the oscilloscope. (See ":WAVeform:FORMat" on page 1447.)
<type> Returned type values can be:
•1 — RAW
•2 — AVERage
•3 — VHIStogram
•4 — HHIStogram
•5 — not used
•6 — INTerpolate
•7 — not used
•8 — not used
•9 — DIGITAL
•10 — PDETect
This value describes how the waveform was acquired. (See also the
":WAVeform:TYPE?" on page 1462 query.)
1452 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
<points> The number of data points or data pairs contained in the waveform data.
(See ":ACQuire:POINts[:ANALog] — Memory depth" on page 225.)
<count> For the AVERAGE waveform type, the count value is the fewest number of
hits for all time buckets. This value may be less than or equal to the value
requested with the :ACQuire:AVERage:COUNt command. For RAW and
INTerpolate waveform types, this value is 0 or 1. The count value is ignored
when it is sent to the oscilloscope in the preamble. (See
":WAVeform:TYPE?" on page 1462 and
":ACQuire[:AVERage]:COUNt" on page 212.)
<X increment> The X increment is the duration between data points on the X axis. For time
domain waveforms, this is the time between points. If the value is zero then
no data has been acquired. (See the ":WAVeform:XINCrement?" on
page 1467 query.)
<X origin> The X origin is the X-axis value of the first data point in the data record. For
time domain waveforms, it is the time of the first point. This value is treated
as a double-precision 64-bit floating-point number. If the value is zero,
then no data has been acquired. (See the ":WAVeform:XORigin?" on
page 1468 query.)
<X reference> The X reference is the data point associated with the X origin. It is at this
data point that the X origin is defined. In this oscilloscope, the value is
always zero. (See the ":WAVeform:XREFerence?" on page 1470
query.)
<Y increment> The Y increment is the duration between Y-axis levels. For voltage
waveforms, it is the voltage corresponding to one level. If the value is zero,
then no data has been acquired. (See the ":WAVeform:YINCrement?"
on page 1473 query.)
<Y origin> The Y origin is the Y-axis value at level zero. For voltage waveforms, it is
the voltage at level zero. If the value is zero, then no data has been
acquired. (See the ":WAVeform:YORigin?" on page 1474 query.)
<Y reference> The Y reference is the level associated with the Y origin. It is at this level
that the Y origin is defined. In this oscilloscope, this value is always zero.
(See the ":WAVeform:YREFerence?" on page 1476 query.)
<coupling> Returned coupling values can be:
•0 — AC coupling
•1 — DC coupling
•2 — DCFIFTY coupling
•3 — LFREJECT coupling
The input coupling of the waveform. The coupling value is ignored when
sent to the oscilloscope in the preamble. (See the
":WAVeform:COUPling?" on page 1424 query.)
Table 19 Waveform Preamble Elements (continued)
Element Description
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1453
<X display range> The X display range is the X-axis duration of the waveform that is
displayed. For time domain waveforms, it is the duration of time across the
display. If the value is zero, then no data has been acquired. (See the
":WAVeform:XRANge?" on page 1469 query.)
<X display origin> The X display origin is the X-axis value at the left edge of the display. For
time domain waveforms, it is the time at the start of the display. This value
is treated as a double precision 64-bit floating-point number. If the value is
zero, then no data has been acquired. (See the ":WAVeform:XDISplay?"
on page 1466 query.)
<Y display range> The Y display range is the Y-axis duration of the waveform which is
displayed. For voltage waveforms, it is the amount of voltage across the
display. If the value is zero, then no data has been acquired. (See the
":WAVeform:YRANge?" on page 1475 query.)
<Y display origin> The Y-display origin is the Y-axis value at the center of the display. For
voltage waveforms, it is the voltage at the center of the display. If the
value is zero, then no data has been acquired. (See the
":WAVeform:YDISplay?" on page 1472 query.)
<date> A string containing the date in the format DD MMM YYYY, where DD is the
day, 1 to 31; MMM is the month; and YYYY is the year.
<time> A string containing the time in the format HH:MM:SS:TT, where HH is the
hour, 0 to 23, MM is the minutes, 0 to 59, SS is the seconds, 0 to 59, and
TT is the hundreds of seconds, 0 to 99.
<frame model #> A string containing the model number and serial number of the
oscilloscope in the format of MODEL#:SERIAL#. The frame model number
is ignored when it is sent to an oscilloscope in the preamble.
<acquisition mode> Returned acquisition mode values can be:
•0 — RTIMe or HRESolution mode
•1 — ETIMe mode
•2 — SEGMented or SEGHres mode
•3 — PDETect or SEGPdetect mode
The acquisition sampling mode of the waveform. (See ":ACQuire:MODE"
on page 223.)
<completion> The completion value is the percent of time buckets that are complete. The
completion value is ignored when it is sent to the oscilloscope in the
preamble. (See the ":WAVeform:COMPlete?" on page 1422 query.)
Table 19 Waveform Preamble Elements (continued)
Element Description
1454 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
With ":WAVeform:VIEW CGRade", the X increment, X origin, Y increment, and Y
origin information returned by the :WAVeform:PREamble? query have different
meanings for the color grade (pixel) database count values. See "Getting Color
Grade (Pixel) Database Count Values" on page 1464.
Example This example outputs the current waveform preamble for the selected source to
the string variable, strPreamble.
Dim strPreamble As String ' Dimension variable.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:PREamble?"
strPreamble = myScope.ReadString
See Also •":WAVeform:DATA?" on page 1425
•":WAVeform:VIEW" on page 1463
History Legacy command (existed before version 3.10).
<X units> <Y units> Returned type values can be:
•0 — UNKNOWN units
•1 — VOLT units
•2 — SECOND units
•3 — CONSTANT units
•4 — AMP units
•5 — DECIBEL units
The X-axis and Y-axis units of the waveform. (See the
":WAVeform:XUNits?" on page 1471 query and the
":WAVeform:YUNits?" on page 1477 query.)
<max bandwidth limit
>
<min bandwidth limit
>
The band pass consists of two values that are an estimation of the
maximum and minimum bandwidth limits of the source waveform. The
bandwidth limit is computed as a function of the selected coupling and
filter mode. (See the ":WAVeform:BANDpass?" on page 1418 query.)
<segment count> When segmented memory acquisitions are turned on, the
":WAVeform:SEGMented:ALL ON" command has been sent, and the
waveform source is a channel or pod and has segmented acquisitions, this
additional preamble value is returned. It specifies the number of segments
in the returned waveform data. (See the
":WAVeform:SEGMented:COUNt?" on page 1456 query.)
Table 19 Waveform Preamble Elements (continued)
Element Description
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1455
:WAVeform:SEGMented:ALL
Command :WAVeform:SEGMented:ALL {{ON | 1} | {OFF | 0}}
The :WAVeform:SEGmented:ALL command configures the DATA query for rapidly
downloading all segments in one query.
The <start> and <size> optional parameters for the DATA query are still supported
and represent the start and size of the data for each segment.
Powering on the oscilloscope or performing a Default Setup sets this command to
OFF.
There is complete backwards compatibility when this command is set to OFF.
The ON setting applies when channel or pod sources have segmented memory
acquisitions. For other sources, such as functions, the DATA query returns the data
that corresponds to the current segment.
In segmented acquisition mode, with this command set to ON, the number of
segments is appended to end of the waveform preamble.
Example This example turns on this command.
myScope.WriteString ":WAVeform:SEGMented:ALL ON"
Query :WAVeform:SEGMented:ALL?
This query returns the status of this command.
History Legacy command (existed before version 3.10).
1456 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:SEGMented:COUNt?
Query :WAVeform:SEGMented:COUNt?
The :WAVeform:SEGMented:COUNt? query returns the index number of the last
captured segment. A return value of zero indicates that the :ACQuire:MODE is not
set to SEGMented.
The signal that is queried for the count is the signal set by the :WAVeform:SOURce
command.
If you query the COUNt while the segmented acquisition is occurring, it will return
the number of segments acquired so far.
<index_number> An integer number representing the index value of the last segment.
Returned Format [:WAVeform:SEGMented:COUNt] <index_number><NL>
Example This example returns the number of the last segment that was captured in the
variable varIndex and prints it to the computer screen.
myScope.WriteString ":WAVeform:SEGMented:COUNt?"
varIndex = myScope.ReadNumber
Debug.Print FormatNumber(varIndex, 0)
See Also •":WAVeform:SOURce" on page 1459
•":ACQuire:SEGMented:INDex" on page 234
•":WAVeform:SEGMented:TTAG?" on page 1457
•":WAVeform:SEGMented:ALL" on page 1455
•":WAVeform:SEGMented:XLISt?" on page 1458
History Legacy command (existed before version 3.10).
Version 6.20: The signal that is queried for the count is the signal set by the
:WAVeform:SOURce command. If you query the COUNt while the segmented
acquisition is occurring, it will return the number of segments acquired so far.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1457
:WAVeform:SEGMented:TTAG?
Query :WAVeform:SEGMented:TTAG?
The :WAVeform:SEGMented:TTAG? query returns the time difference between the
first segment's trigger point and the trigger point of the currently displayed
segment.
The signal that is queried for the time tag is the signal set by the
:WAVeform:SOURce command.
<delta_time> A real number in exponential format representing the time value difference
between the first segment's trigger point and the currently displayed segment.
Returned Format [:WAVeform:SEGMented:TTAG] <delta_time><NL>
Example This example returns the time from the first segment's trigger point and the
currently displayed segment's trigger point in the variable varDtime and prints it to
the computer screen.
myScope.WriteString ":WAVeform:SEGMented:TTAG?"
varDtime = myScope.ReadNumber
Debug.Print FormatNumber(varDtime, 0)
See Also •":WAVeform:SOURce" on page 1459
•":ACQuire:SEGMented:INDex" on page 234
•":WAVeform:SEGMented:COUNt?" on page 1456
•":WAVeform:SEGMented:ALL" on page 1455
•":WAVeform:SEGMented:XLISt?" on page 1458
History Legacy command (existed before version 3.10).
Version 6.20: The signal that is queried for the time tag is the signal set by the
:WAVeform:SOURce command.
1458 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:SEGMented:XLISt?
Query :WAVeform:SEGMented:XLISt? {RELXorigin | ABSXorigin | TTAG}
The :WAVeform:SEGMented:XLISt? query rapidly downloads x-parameter values
for all segments.
RELXorigin = relative X origin for each segment.
ABSXorigin = relative origin + time tag for each segment
TTAG = time tag for each segment
This query uses the DATA query format for the returned data and supports all
waveform command options including: BYTeorder, FORmat (only ASCii or BINary
(float64 with 8 bytes per value)), SOURce (only CHANnel<N> or POD<N>),
STReaming, VIEW.
History Legacy command (existed before version 3.10).
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1459
:WAVeform:SOURce
Command :WAVeform:SOURce {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| HISTogram | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized
| BUS<B> | POD1 | POD2 | PODALL}
The :WAVeform:SOURce command selects a channel, function, waveform
memory, or histogram as the waveform source.
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
POD1 is the activated digital channels in the D0-D7 set while POD2 is the
activated digital channels in the D8-D15 set. PODALL is all the activated digital
channels.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
<B> An integer, 1-4.
Example This example selects channel 1 as the waveform source.
myScope.WriteString ":WAVeform:SOURce CHANnel1"
Query :WAVeform:SOURce?
The :WAVeform:SOURce? query returns the currently selected waveform source.
Returned Format [:WAVeform:SOURce] {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| HISTogram | WMEMory<R> | CLOCk | MTRend | MSPectrum | EQUalized
| BUS<B> | POD1 | POD2 | PODALL}<NL>
1460 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
Example This example places the current selection for the waveform source in the string
variable, strSelection, then prints the contents of the variable to the computer's
screen.
Dim strSelection As String ' Dimension variable.
myScope.WriteString ":WAVeform:SOURce?"
strSelection = myScope.ReadString
Debug.Print strSelection
History Legacy command (existed before version 3.10).
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1461
:WAVeform:STReaming
Command :WAVeform:STReaming {{ON | 1} | {OFF | 0}}
When enabled, :WAVeform:STReaming allows more than 999,999,999 bytes of
data to be transfered from the Infiniium oscilloscope to a PC when using the
:WAVeform:DATA? query. See the :WAVeform:DATA? query for information on
receiving this much data.
Example This example turns on the streaming feature.
myScope.WriteString ":WAVeform:STReaming ON"
Query :WAVeform:STReaming?
The :WAVeform:STReaming? query returns the status of the streaming feature.
Returned Format [:WAVeform:STReaming] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
1462 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:TYPE?
Query :WAVeform:TYPE?
The :WAVeform:TYPE? query returns the current acquisition data type for the
currently selected source. The type returned describes how the waveform was
acquired. The waveform type may be:
• RAW — data consists of one data point in each time bucket with no
interpolation.
• AVERage — data consists of the average of the first n hits in a time bucket,
where n is the value in the count portion of the preamble. Time buckets that
have fewer than n hits return the average of the data they contain. If the
:ACQuire:COMPlete parameter is set to 100%, then each time bucket must
contain the number of data hits specified with the :ACQuire:AVERage:COUNt
command.
• VHIStogram — data is a vertical histogram. Histograms are transferred using
the LONGLONG format. They can be generated using the Histogram subsystem
commands.
• HHIStogram — data is a horizontal histogram. Histograms are transferred using
the LONGLONG format. They can be generated using the Histogram subsystem
commands.
• INTerpolate — In the INTerpolate acquisition type, the last data point in each
time bucket is stored, and additional data points between the acquired data
points are filled by interpolation.
• DIGITAL — data consists of digital pod or bus values for each time bucket.
• PDETect — data consists of two data points in each time bucket: the minimum
values and the maximum values.
Returned Format [:WAVeform:TYPE] {RAW | AVER | VHIS | HHIS | INT | DIGITAL | PDET}<NL>
Example This example places the current acquisition data type in the string variable,
strType, then prints the contents of the variable to the computer's screen.
Dim strType As String ' Dimension variable.
myScope.WriteString ":WAVeform:TYPE?"
strType = myScope.ReadString
Debug.Print strType
History Legacy command (existed before version 3.10).
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1463
:WAVeform:VIEW
Command :WAVeform:VIEW {ALL | MAIN | WINDow | CGRade}
The :WAVeform:VIEW command selects the view of the waveform that is selected
for data and preamble queries. You can set the command to ALL, MAIN, WINDow,
or CGRade.
The view has different meanings depending upon the waveform source selected.
The default setting for this command is ALL.
The following table summarizes the parameters for this command for each source.
Channels For channels, you may select ALL, MAIN, or WINDow views. If you select ALL, all of
the data in the waveform record is referenced. If you select MAIN, only the data in
the main time base range is referenced. The first value corresponds to the first time
bucket in the main time base range, and the last value corresponds to the last time
bucket in the main time base range. If WINDow is selected, only data in the
delayed view is referenced. The first value corresponds to the first time bucket in
the delayed view and the last value corresponds to the last time bucket in the
delayed view.
Memories For memories, if you specify ALL, all the data in the waveform record is referenced.
WINDow and MAIN refer to the data contained in the memory time base range for
the particular memory. The first value corresponds to the first time bucket in the
memory time base range, and the last value corresponds to the last time bucket in
the memory time base range.
Functions For functions, ALL, MAIN, and WINDow refer to all of the data in the waveform
record.
Example This example sets up the oscilloscope to view all of the data.
myScope.WriteString ":WAVeform:VIEW ALL"
Table 20 Waveform View Parameters
Source/Paramet
er
ALL MAIN WINDow CGRade
CHANnel<N> All data Main time base Zoom Color grade
(pixel) database
WMEMory<R> All data Memory time
base
Memory time
base
Color grade
(pixel) database
FUNCtion<F> All data All data All data Color grade
(pixel) database
1464 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
Getting Color
Grade (Pixel)
Database Count
Values
Before you can select the CGRade waveform view, you must enable color grade
persistence, color grade view, or a real-time eye for the source waveform.
After you select the CGRade waveform view, color grade (pixel) database
information is available from the following queries:
To get the color grade (pixel) database count values:
1Use the :WAVeform:FORMat command to specify the format you in which want
the database count values returned:
•Use the ":WAVeform:FORMat BINary" command to get (8-byte) uint64
values.
•Use the ":WAVeform:FORMat FLOat" command to get (4-byte)
single-precision floating-point values.
When getting color grade database values, the only valid formats are BINary
and FLOat.
2Send the :WAVeform:DATA? query.
A binary block of values in the selected format is returned.
NOTE
Getting color grade (pixel) database count values is not supported when segmented memory
acquisitions are enabled.
Command Description
:WAVeform:CGRade:HEIGht?
(see page 1420)
Returns the color grade (pixel) database data height.
:WAVeform:CGRade:WIDTh?
(see page 1421)
Returns the color grade (pixel) database data width.
:WAVeform:POINts? (see
page 1450)
The number of count values in the database (should be the width
times the height).
:WAVeform:XINCrement? (see
page 1467)
The time per column of the color grade database.
:WAVeform:XORigin? (see
page 1468)
The time at column 0 of the color grade database.
:WAVeform:YINCrement? (see
page 1473)
The volts per row of the color grade database.
:WAVeform:YORigin? (see
page 1474)
The volts at row 0 of the color grade database.
:WAVeform:PREamble? (see
page 1451)
Returns the same points, X increment, X origin, Y increment, and Y
origin information as the individual queries.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1465
The order of the returned values is:
•From the row at the top of the display to the bottom of the display (with
"height" number of rows).
•Within a row, values are returned from the left of the display to the right
of the display (with "width" number of columns).
Query :WAVeform:VIEW?
The :WAVeform:VIEW? query returns the currently selected view.
Returned Format [:WAVeform:VIEW] {ALL | MAIN | WIND | CGR}<NL>
Example This example returns the current view setting to the string variable, strSetting,
then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":WAVeform:VIEW?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":WAVeform:FORMat" on page 1447
•":WAVeform:DATA?" on page 1425
•":WAVeform:CGRade:WIDTh?" on page 1421
•":WAVeform:CGRade:HEIGht?" on page 1420
•":WAVeform:POINts?" on page 1450
•":WAVeform:XINCrement?" on page 1467
•":WAVeform:XORigin?" on page 1468
•":WAVeform:YINCrement?" on page 1473
•":WAVeform:YORigin?" on page 1474
•":WAVeform:PREamble?" on page 1451
History Legacy command (existed before version 3.10).
Version 6.00: Added the CGRade option for getting the color grade (pixel)
database data.
1466 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:XDISplay?
Query :WAVeform:XDISplay?
The :WAVeform:XDISplay? query returns the X-axis value at the left edge of the
display. For time domain waveforms, it is the time at the start of the display. For
VERSus type waveforms, it is the value at the center of the X-axis of the display.
This value is treated as a double precision 64-bit floating point number.
Returned Format [:WAVeform:XDISplay] <value><NL>
<value> A real number representing the X-axis value at the left edge of the display.
Example This example returns the X-axis value at the left edge of the display to the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XDISplay"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
NOTE
A "Waveform data is not valid" error occurs when there is no data available for a channel.
When this occurs, a zero value is returned.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1467
:WAVeform:XINCrement?
Query :WAVeform:XINCrement?
The :WAVeform:XINCrement? query returns the duration between consecutive
data points for the currently specified waveform source. For time domain
waveforms, this is the time difference between consecutive data points. For
VERSus type waveforms, this is the duration between levels on the X axis. For
voltage waveforms, this is the voltage corresponding to one level.
With ":WAVeform:VIEW CGRade", the :WAVeform:XINCrement? query returns the
time per column of the color grade (pixel) database. See "Getting Color Grade
(Pixel) Database Count Values" on page 1464.
Returned Format [:WAVeform:XINCrement] <value><NL>
<value> A real number representing the duration between data points on the X axis.
Example This example places the current X-increment value for the currently specified
source in the numeric variable, varValue, then prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XINCrement?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also • You can also obtain the X-increment value through the :WAVeform:PREamble?
query. See ":WAVeform:PREamble?" on page 1451.
•":WAVeform:VIEW" on page 1463
History Legacy command (existed before version 3.10).
NOTE
A "Waveform data is not valid" error occurs when there is no data available for a channel.
When this occurs, a zero value is returned.
1468 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:XORigin?
Query :WAVeform:XORigin?
The :WAVeform:XORigin? query returns the X-axis value of the first data point in
the data record. For time domain waveforms, it is the time of the first point. For
VERSus type waveforms, it is the X-axis value at level zero. For voltage waveforms,
it is the voltage at level zero. The value returned by this query is treated as a
double precision 64-bit floating point number.
With ":WAVeform:VIEW CGRade", the :WAVeform:XORigin? query returns the time
at column 0 of the color grade (pixel) database. See "Getting Color Grade (Pixel)
Database Count Values" on page 1464.
Returned Format [:WAVeform:XORigin] <value><NL>
<value> A real number representing the X-axis value of the first data point in the data
record.
Example This example places the current X-origin value for the currently specified source in
the numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XORigin?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also • You can also obtain the X-origin value through the :WAVeform:PREamble?
query. See ":WAVeform:PREamble?" on page 1451.
•":WAVeform:VIEW" on page 1463
History Legacy command (existed before version 3.10).
NOTE
A "Waveform data is not valid" error occurs when there is no data available for a channel.
When this occurs, a zero value is returned.
NOTE
When an acquisition is made on multiple channels, the data for each channel has the same
X origin and the same number of points.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1469
:WAVeform:XRANge?
Query :WAVeform:XRANge?
The :WAVeform:XRANge? query returns the X-axis duration of the displayed
waveform. For time domain waveforms, it is the duration of the time across the
display. For VERSus type waveforms, it is the duration of the waveform that is
displayed on the X axis.
Returned Format [:WAVeform:XRANge] <value><NL>
<value> A real number representing the X-axis duration of the displayed waveform.
Example This example returns the X-axis duration of the displayed waveform to the numeric
variable, varValue, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XRANge?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
NOTE
A "Waveform data is not valid" error occurs when there is no data available for a channel.
When this occurs, a zero value is returned.
1470 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:XREFerence?
Query :WAVeform:XREFerence?
The :WAVeform:XREFerence? query returns the data point or level associated with
the X-origin data value. It is at this data point or level that the X origin is defined.
In this oscilloscope, the value is always zero.
Returned Format [:WAVeform:XREFerence] 0<NL>
Example This example places the current X-reference value for the currently specified
source in the numeric variable, varValue, then prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:XREFerence?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also You can obtain the X-reference value through the :WAVeform:PREamble? query.
History Legacy command (existed before version 3.10).
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1471
:WAVeform:XUNits?
Query :WAVeform:XUNits?
The :WAVeform:XUNits? query returns the X-axis units of the currently selected
waveform source. The currently selected source may be a channel, function, or
waveform memory.
Returned Format [:WAVeform:XUNits] {UNKNown | VOLT | SECond | CONStant | AMP | DECibels
| HERTz | WATT}<NL>
Example This example returns the X-axis units of the currently selected waveform source to
the string variable, strUnit, then prints the contents of the variable to the
computer's screen.
Dim strUnit As String ' Dimension variable.
myScope.WriteString ":WAVeform:XUNits?"
strUnit = myScope.ReadString
Debug.Print strUnit
History Legacy command (existed before version 3.10).
1472 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:YDISplay?
Query :WAVeform:YDISplay?
The :WAVeform:YDISplay? query returns the Y-axis value at the center of the
display. For voltage waveforms, it is the voltage at the center of the display.
Returned Format [:WAVeform:YDISplay] <value><NL>
<value> A real number representing the Y-axis value at the center of the display.
Example This example returns the current Y-display value to the numeric variable, varValue,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":":WAVeform:YDISplay?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
NOTE
A "Waveform data is not valid" error occurs when there is no data available for a channel.
When this occurs, a zero value is returned.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1473
:WAVeform:YINCrement?
Query :WAVeform:YINCrement?
The :WAVeform:YINCrement? query returns the y-increment voltage value for the
currently specified source. This voltage value is the voltage difference between
two adjacent waveform data digital codes. Adjacent digital codes are codes that
differ by one least significant bit. For example, the digital codes 24680 and 24681
vary by one least significant bit.
• For BYTE and WORD data, and voltage waveforms, it is the voltage
corresponding to one least significant bit change.
• For ASCii data format, the YINCrement is the full scale voltage range covered
by the A/D converter.
With ":WAVeform:VIEW CGRade", the :WAVeform:YINCrement? query returns the
volts per row of the color grade (pixel) database. See "Getting Color Grade (Pixel)
Database Count Values" on page 1464.
Returned Format [:WAVeform:YINCrement] <real_value><NL>
<real_value> A real number in exponential format.
Example This example places the current Y-increment value for the currently specified
source in the numeric variable, varValue, then prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:YINCrement?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also • For more information on BYTE and WORD formats, see "Understanding WORD
and BYTE Formats" on page 1442.
• You can also obtain the Y-increment value through the :WAVeform:PREamble?
query. See ":WAVeform:PREamble?" on page 1451.
•":WAVeform:VIEW" on page 1463
History Legacy command (existed before version 3.10).
NOTE
A "Waveform data is not valid" error occurs when there is no data available for a channel.
When this occurs, a zero value is returned.
1474 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:YORigin?
Query :WAVeform:YORigin?
The :WAVeform:YORigin? query returns the y-origin voltage value for the currently
specified source. The voltage value returned is the voltage value represented by
the waveform data digital code 00000.
• For BYTE and WORD data, and voltage waveforms, it is the voltage at digital
code zero.
• For ASCii data format, the YORigin is the Y-axis value at the center of the data
range. Data range is returned in the Y increment.
With ":WAVeform:VIEW CGRade", the :WAVeform:YORigin? query returns the volts
at row 0 of the color grade (pixel) database. See "Getting Color Grade (Pixel)
Database Count Values" on page 1464.
Returned Format [:WAVeform:YORigin] <real_value><NL>
<real_value> A real number in exponential format.
Example This example places the current Y-origin value in the numeric variable, varCenter,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:YORigin?"
varCenter = myScope.ReadNumber
Debug.Print FormatNumber(varCenter, 0)
See Also • For more information on BYTE and WORD formats, see "Understanding WORD
and BYTE Formats" on page 1442.
• You can also obtain the Y-origin value through the :WAVeform:PREamble?
query. See ":WAVeform:PREamble?" on page 1451.
•":WAVeform:VIEW" on page 1463
History Legacy command (existed before version 3.10).
NOTE
A "Waveform data is not valid" error occurs when there is no data available for a channel.
When this occurs, a zero value is returned.
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1475
:WAVeform:YRANge?
Query :WAVeform:YRANge?
The :WAVeform:YRANge? query returns the Y-axis duration of the displayed
waveform. For voltage waveforms, it is the voltage across the entire display.
Returned Format [:WAVeform:YRANge] <value><NL>
<value> A real number representing the Y-axis duration of the displayed waveform.
Example This example returns the current Y-range value to the numeric variable, varValue,
then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:YRANge?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
NOTE
A "Waveform data is not valid" error occurs when there is no data available for a channel.
When this occurs, a zero value is returned.
1476 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
:WAVeform:YREFerence?
Query :WAVeform:YREFerence?
The :WAVeform:YREFerence? query returns the y-reference voltage value for the
currently specified source. It is at this level that the Y origin is defined. In this
oscilloscope, the value is always zero.
Returned Format [:WAVeform:YREFerence] 0<NL>
Example This example places the current Y-reference value for the currently specified
source in the numeric variable, varValue, then prints the contents of the variable to
the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":WAVeform:YREFerence?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
See Also For more information on BYTE and WORD formats, see "Understanding WORD
and BYTE Formats" on page 1442.
You can obtain the Y-reference value through the :WAVeform:PREamble? query.
History Legacy command (existed before version 3.10).
Waveform Commands 37
Keysight Infiniium Oscilloscopes Programmer's Guide 1477
:WAVeform:YUNits?
Query :WAVeform:YUNits?
The :WAVeform:YUNits? query returns the Y-axis units of the currently selected
waveform source. The currently selected source may be a channel, function, or
waveform memory.
Returned Format [:WAVeform:YUNits] {UNKNown | VOLT | SECond | HITS | DECibels | CONStant
| AMP}<NL>
Example This example returns the Y-axis units of the currently selected waveform source to
the string variable, strUnit, then prints the contents of the variable to the
computer's screen.
Dim strUnit As String ' Dimension variable.
myScope.WriteString ":WAVeform:YUNits?"
strUnit = myScope.ReadString
Debug.Print strUnit
History Legacy command (existed before version 3.10).
1478 Keysight Infiniium Oscilloscopes Programmer's Guide
37 Waveform Commands
1479
Keysight Infiniium Oscilloscopes
Programmer's Guide
38 Waveform Memory
Commands
:WMEMory:TIETimebase / 1480
:WMEMory<R>:CLEar / 1481
:WMEMory<R>:DISPlay / 1482
:WMEMory<R>:LOAD / 1483
:WMEMory<R>:SAVE / 1484
:WMEMory<R>:SEGMented:COUNt? / 1485
:WMEMory<R>:SEGMented:INDex / 1486
:WMEMory<R>:SEGMented:PLAY / 1487
:WMEMory<R>:XOFFset / 1488
:WMEMory<R>:XRANge / 1489
:WMEMory<R>:YOFFset / 1490
:WMEMory<R>:YRANge / 1491
The Waveform Memory Subsystem commands let you save and display
waveforms, memories, and functions.
NOTE
<N> in WMEMory<R> Indicates the Waveform Memory Number
In Waveform Memory commands, the <N> in WMEMory<R> represents the waveform memory
number (1-4).
1480 Keysight Infiniium Oscilloscopes Programmer's Guide
38 Waveform Memory Commands
:WMEMory:TIETimebase
Command :WMEMory:TIETimebase {{ON | 1} | {OFF | 0}}
The :WMEMory:TIETimebase command specifies whether the waveform memory
horizontal scale is tied to the main horizontal time/div setting or can be adjusted
separately.
Example This example ties the waveform memory horizontal scale to the main horizontal
time/div setting.
myScope.WriteString ":WMEMory:TIETimebase ON"
Query :WMEMory:TIETimebase?
The :WMEMory:TIETimebase? query returns the state of the "tie to timebase"
control.
Returned Format [:WMEMory:TIETimebase] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
Waveform Memory Commands 38
Keysight Infiniium Oscilloscopes Programmer's Guide 1481
:WMEMory<R>:CLEar
Command :WMEMory<R>:CLEar
The :WMEMory<R>:CLEar clears the associated wave memory.
<R> The memory number is an integer from 1 to 4.
Example This example clears the waveform memory 1.
myScope.WriteString ":WMEMory1:CLEar"
History Legacy command (existed before version 3.10).
1482 Keysight Infiniium Oscilloscopes Programmer's Guide
38 Waveform Memory Commands
:WMEMory<R>:DISPlay
Command :WMEMory<R>:DISPlay {{ON | 1} | {OFF | 0}}
The :WMEMory<R>:DISPlay command enables or disables the viewing of the
selected waveform memory.
<R> The memory number is an integer from 1 to 4.
Example This example turns on the waveform memory 1 display.
myScope.WriteString ":WMEMory1:DISPlay ON"
Query :WMEMory<R>:DISPlay?
The :WMEMory<R>:DISPlay? query returns the state of the selected waveform
memory.
Returned Format [:WMEMory<R>:DISPlay] {1 | 0}<NL>
History Legacy command (existed before version 3.10).
Waveform Memory Commands 38
Keysight Infiniium Oscilloscopes Programmer's Guide 1483
:WMEMory<R>:LOAD
Command :WMEMory<R>:LOAD <file_name>
The :WMEMory<R>:LOAD command loads an oscilloscope waveform memory
location with a waveform from a file that has an internal waveform format
(extension .wfm), comma separated xypairs, (extension .csv), tab separated xypairs
(extension .tsv), and yvalues text (extension .txt). You can load the file from either
the c: or a: drive, or any lan connected drive. See the examples below.
The oscilloscope assumes that the default path for waveforms is C:\Users\Public\
Documents\Infiniium. To use a different path, specify the path and file name
completely.
<R> The memory number is an integer from 1 to 4.
<file_name> A quoted string which specifies the file to load, and has a .wfm, .csv, .tsv, or .txt
extension.
Examples This example loads waveform memory 4 with a file.
myScope.WriteString _
":WMEMory4:LOAD ""C:\Users\Public\Documents\Infiniium\waveform.wfm"""
This example loads waveform memory 3 with a file that has the internal waveform
format and is stored on drive U:.
myScope.WriteString ":WMEMory3:LOAD ""U:\waveform.wfm"""
Related
Commands
:DISK:LOAD
:DISK:STORe
See Also •":DISK:LOAD" on page 448
•":DISK:SAVE:SETup" on page 457
•":DISK:SAVE:WAVeform" on page 458
History Legacy command (existed before version 3.10).
1484 Keysight Infiniium Oscilloscopes Programmer's Guide
38 Waveform Memory Commands
:WMEMory<R>:SAVE
Command :WMEMory<R>:SAVE {CHANnel<N> | DIFF<D> | COMMonmode<C> | CLOCk
| FUNCtion<F> | MTRend | MSPectrum | WMEMory<R>}
The :WMEMory<R>:SAVE command stores the specified channel, waveform
memory, or function to the waveform memory. You can save waveforms to
waveform memories regardless of whether the waveform memory is displayed or
not.
The :WAVeform:VIEW command determines the view of the data being saved.
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example saves channel 1 to waveform memory 4.
myScope.WriteString ":WMEMory4:SAVE CHANnel1"
History Legacy command (existed before version 3.10).
Waveform Memory Commands 38
Keysight Infiniium Oscilloscopes Programmer's Guide 1485
:WMEMory<R>:SEGMented:COUNt?
Query :WMEMory<R>:SEGMented:COUNt?
When segmented memory acquisitions are saved to waveform memory, the
:WMEMory<R>:SEGMented:COUNt? query returns the number of segments in the
waveform memory.
Returned Format <#segments><NL>
<#segments> ::= integer in NR1 format
See Also •":WMEMory<R>:SEGMented:COUNt?" on page 1485
•":WMEMory<R>:SEGMented:INDex" on page 1486
•":WMEMory<R>:SEGMented:PLAY" on page 1487
History New in version 6.00.
1486 Keysight Infiniium Oscilloscopes Programmer's Guide
38 Waveform Memory Commands
:WMEMory<R>:SEGMented:INDex
Command :WMEMory<R>:SEGMented:INDex <number>
When segmented memory acquisitions are saved to waveform memory, the
:WMEMory<R>:SEGMented:INDex command displays the waveform segment at
the specified index.
<number> Segment number in NR1 format.
Query :WMEMory<R>:SEGMented:INDex?
The :WMEMory<R>:SEGMented:INDex? query returns the index of the waveform
segment that is currently being displayed.
Returned Format <number><NL>
<number> ::= segment number in NR1 format
See Also •":WMEMory<R>:SEGMented:COUNt?" on page 1485
•":WMEMory<R>:SEGMented:INDex" on page 1486
•":WMEMory<R>:SEGMented:PLAY" on page 1487
History New in version 6.00.
Waveform Memory Commands 38
Keysight Infiniium Oscilloscopes Programmer's Guide 1487
:WMEMory<R>:SEGMented:PLAY
Command :WMEMory<R>:SEGMented:PLAY {{0 | OFF} | {1 | ON}}
When segmented memory acquisitions are saved to waveform memory, the
":WMEMory<R>:SEGMented:PLAY" command plays (or stops) acquired segments.
• ON — is the similar to clicking the Play button in the graphical user interface,
except that the display is not updated while segments are played.
• OFF — is the same as clicking the Stop button in the graphical user interface.
Playing waveform memory segments can take a while depending on the analysis
taking place. You can query to determine when playing is complete.
The play rate is the same rate set by :ACQuire:SEGMented:PRATe command.
Query :WMEMory<R>:SEGMented:PLAY?
The :WMEMory<R>:SEGMented:PLAY? query returns whether segments are
currently being played (1) or are stopped (0).
Returned Format [:WMEMory<R>:SEGMented:PLAY] <status><NL>
<status> ::= {0 | 1}
See Also •":ACQuire:SEGMented:PRATe" on page 236
•":WMEMory<R>:SEGMented:COUNt?" on page 1485
•":WMEMory<R>:SEGMented:INDex" on page 1486
History New in version 6.00.
NOTE
The :WMEMory<R>:SEGMented:PLAY? query is different than the :ACQuire:SEGMented:PLAY?
query in that it waits until all segments are played before it returns.
1488 Keysight Infiniium Oscilloscopes Programmer's Guide
38 Waveform Memory Commands
:WMEMory<R>:XOFFset
Command :WMEMory<R>:XOFFset <offset_value>
The :WMEMory<R>:XOFFset command sets thex-axis, horizontal position for the
selected waveform memory's display scale. The position is referenced to center
screen.
<R> The memory number is an integer from 1 to 4.
<offset_value> A real number for the horizontal offset (position) value.
Example This example sets the X-axis, horizontal position for waveform memory 3 to 0.1
seconds (100 ms).
myScope.WriteString ":WMEMory3:XOFFset 0.1"
Query :WMEMory<R>:XOFFset?
The :WMEMory<R>:XOFFset? query returns the current X-axis, horizontal position
for the selected waveform memory.
Returned Format [:WMEMory<R>:XOFFset] <offset_value><NL>
History Legacy command (existed before version 3.10).
Waveform Memory Commands 38
Keysight Infiniium Oscilloscopes Programmer's Guide 1489
:WMEMory<R>:XRANge
Command :WMEMory<R>:XRANge <range_value>
The :WMEMory<R>:XRANge command sets theX-axis, horizontal range for the
selected waveform memory's display scale. The horizontal scale is the horizontal
range divided by 10.
<R> The memory number is an integer from 1 to 4.
<range_value> A real number for the horizontal range value.
Example This example sets the X-axis, horizontal range of waveform memory 2 to
435 microseconds.
myScope.WriteString ":WMEMory2:XRANge 435E-6"
Query :WMEMory<R>:XRANge?
The :WMEMory<R>:XRANge? query returns the current X-axis, horizontal range
for the selected waveform memory.
Returned Format [:WMEMory<R>:XRANge] <range_value><NL>
History Legacy command (existed before version 3.10).
1490 Keysight Infiniium Oscilloscopes Programmer's Guide
38 Waveform Memory Commands
:WMEMory<R>:YOFFset
Command :WMEMory<R>:YOFFset <offset_value>
The :WMEMory<R>:YOFFset command sets the Y-axis (vertical axis) offset for the
selected waveform memory.
<R> The memory number is an integer from 1 to 4.
<offset_value> A real number for the vertical offset value.
Example This example sets the Y-axis (vertical) offset of waveform memory 2 to 0.2V.
myScope.WriteString ":WMEMory2:YOFFset 0.2"
Query :WMEMory<R>:YOFFset?
The :WMEMory<R>:YOFFset? query returns the current Y-axis (vertical) offset for
the selected waveform memory.
Returned Format [:WMEMory<R>:YOFFset] <offset_value><NL>
History Legacy command (existed before version 3.10).
Waveform Memory Commands 38
Keysight Infiniium Oscilloscopes Programmer's Guide 1491
:WMEMory<R>:YRANge
Command :WMEMory<R>:YRANge <range_value>
The :WMEMory<R>:YRANge command sets the Y-axis, vertical range for the
selected memory. The vertical scale is the vertical range divided by 8.
<R> The memory number is an integer from 1 to 4.
<range_value> A real number for the vertical range value.
Example This example sets the Y-axis (vertical) range of waveform memory 3 to 0.2 volts.
myScope.WriteString ":WMEMory3:YRANge 0.2"
Query :WMEMory<R>:YRANge?
The :WMEMory<R>:YRANge? query returns the Y-axis, vertical range for the
selected memory.
Returned Format [:WMEMory<R>:YRANge]<range_value><NL>
History Legacy command (existed before version 3.10).
1492 Keysight Infiniium Oscilloscopes Programmer's Guide
38 Waveform Memory Commands
1493
Keysight Infiniium Oscilloscopes
Programmer's Guide
39 Xtalk (Crosstalk Analysis)
Commands
:XTALk:ENABle / 1495
:XTALk:PAADeskew / 1497
:XTALk:PAIFilter / 1498
:XTALk:PAISi / 1499
:XTALk:PASLimit / 1500
:XTALk:PAXFilter / 1501
:XTALk:PAXSi / 1502
:XTALk:PJADeskew / 1503
:XTALk:PJIFilter / 1504
:XTALk:PJISi / 1505
:XTALk:PJSLimit / 1506
:XTALk:PJXFilter / 1507
:XTALk:PJXSi / 1508
:XTALk:RESults? / 1509
:XTALk:SAADeskew / 1511
:XTALk:SAIFilter / 1512
:XTALk:SAISi / 1513
:XTALk:SASLimit / 1514
:XTALk:SAXFilter / 1515
:XTALk:SAXSi / 1516
:XTALk<X>:AENable<X> / 1517
:XTALk<X>:ENABle / 1518
:XTALk<X>:IAGGressor / 1519
:XTALk<X>:IVICtim / 1520
:XTALk<X>:PAUTo / 1521
:XTALk<X>:PLENgth / 1522
:XTALk<X>:PTYPe / 1523
:XTALk<X>:RIDeal / 1524
:XTALk<X>:RISI / 1525
:XTALk<X>:ROTHer / 1526
1494 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk<X>:SOURce / 1527
:XTALk<X>:STYPe / 1528
The XTALk commands and queries control the Crosstalk Analysis application. This
application helps you troubleshoot and characterize crosstalk on up to four
simultaneously-acquired signals.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1495
:XTALk:ENABle
Command :XTALk:ENABle {{0 | OFF} | {1 | ON}}
The :XTALk:ENABle command enables or disables crosstalk analysis.
Query :XTALk:ENABle?
The :XTALk:ENABle? query returns whether crosstalk analysis is enabled or
disabled.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:RESults?" on page 1509
•":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:SAADeskew" on page 1511
•":XTALk:SASLimit" on page 1514
•":XTALk:SAISi" on page 1513
•":XTALk:SAIFilter" on page 1512
•":XTALk:SAXSi" on page 1516
•":XTALk:SAXFilter" on page 1515
•":XTALk:PAADeskew" on page 1497
•":XTALk:PASLimit" on page 1500
•":XTALk:PAISi" on page 1499
•":XTALk:PAIFilter" on page 1498
•":XTALk:PAXSi" on page 1502
•":XTALk:PAXFilter" on page 1501
•":XTALk:PJADeskew" on page 1503
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1497
:XTALk:PAADeskew
Command :XTALk:PAADeskew {{0 | OFF} | {1 | ON}}
The :XTALk:PAADeskew command is an advanced configuration option for power
supply aggressors (amplitude) that specifies whether auto deskew is enabled or
disabled.
When auto deskew is enabled, the Crosstalk Analysis application uses a
proprietary cross-correlation method for aligning the waveforms in time. The
algorithm searches over a finite range of delays to find the best possible
alignment. The search range corresponds to about 1 m of difference in cable
length, which is sufficient for most situations.
When auto deskew is disabled, the deskew time limit is specified by the
:XTALk:PASLimit command.
Query :XTALk:PAADeskew?
The :XTALk:PAADeskew? query returns the "auto deskew" setting for power supply
aggressors (amplitude).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:PASLimit" on page 1500
•":XTALk:PAISi" on page 1499
•":XTALk:PAIFilter" on page 1498
•":XTALk:PAXSi" on page 1502
•":XTALk:PAXFilter" on page 1501
History New in version 5.70.
1498 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:PAIFilter
Command :XTALk:PAIFilter <time_span>
<time_span> ::= time span in seconds in NR3 format.
The :XTALk:PAIFilter command is an advanced configuration option for power
supply aggressors (amplitude) that, when auto limit ISI filter time is disabled
(:XTALk:PAISi OFF), lets you specify the ISI filter time span.
Query :XTALk:PAIFilter?
The :XTALk:PAIFilter? query returns the specified ISI filter time span.
Returned Format <time_span><NL>
<time_span> ::= time span in seconds in NR3 format.
See Also •":XTALk:PAISi" on page 1499
•":XTALk:PAADeskew" on page 1497
•":XTALk:PASLimit" on page 1500
•":XTALk:PAXSi" on page 1502
•":XTALk:PAXFilter" on page 1501
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1499
:XTALk:PAISi
Command :XTALk:PAISi {{0 | OFF} | {1 | ON}}
The :XTALk:PAISi command is an advanced configuration option for power supply
aggressors (amplitude) that specifies whether auto limit ISI filter time is enabled or
disabled.
The ISI filter represents the channel model and can therefore convert an ideal input
waveform into the one that is band-limited and containing reflections.
• When auto limit ISI filter time is enabled, the Crosstalk Analysis application
uses a proprietary algorithm to automatically determine an ideal ISI filter length
for a given situation. The application further tries to optimize the shape of the
filter by adaptively placing more taps in areas that are needed.
• When auto limit ISI filter time is disabled, the ISI filter time span is specified by
the :XTALk:PAIFilter command.
Query :XTALk:PAISi?
The :XTALk:PAISi? query returns the "auto limit ISI filter time" setting for power
supply aggressors (amplitude).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:PAIFilter" on page 1498
•":XTALk:PAADeskew" on page 1497
•":XTALk:PASLimit" on page 1500
•":XTALk:PAXSi" on page 1502
•":XTALk:PAXFilter" on page 1501
History New in version 5.70.
1500 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:PASLimit
Command :XTALk:PASLimit <time_limit>
<time_limit> ::= time limit in seconds in NR3 format.
The :XTALk:PASLimit command is an advanced configuration option for power
supply aggressors (amplitude) that, when auto deskew is disabled
(:XTALk:PAADeskew OFF), lets you specify the deskew time limit (search range).
Notice that the default deskew time limit value is larger for a power supply than for
serial data transmission lines. This is because buffers and other circuit
components can create delays much larger than the propagation distance. These
delays may vary greatly from one circuit to another, so keep in mind that changing
the default value may produce better results.
Query :XTALk:PASLimit?
The :XTALk:PASLimit? query returns the specified deskew time limit.
Returned Format <time_limit><NL>
<time_limit> ::= time limit in seconds in NR3 format.
See Also •":XTALk:PAADeskew" on page 1497
•":XTALk:PAISi" on page 1499
•":XTALk:PAIFilter" on page 1498
•":XTALk:PAXSi" on page 1502
•":XTALk:PAXFilter" on page 1501
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1501
:XTALk:PAXFilter
Command :XTALk:PAXFilter <time_span>
<time_span> ::= time span in seconds in NR3 format.
The :XTALk:PAXFilter command is an advanced configuration option for power
supply aggressors (amplitude) that, when auto limit XSI filter time is disabled
(:XTALk:PAXSi OFF), lets you specify the XSI (crosstalk) filter time span.
Query :XTALk:PAXFilter?
The :XTALk:PAXFilter? query returns the specified XSI (crosstalk) filter time span.
Returned Format <time_span><NL>
<time_span> ::= time span in seconds in NR3 format.
See Also •":XTALk:PAXSi" on page 1502
•":XTALk:PAADeskew" on page 1497
•":XTALk:PASLimit" on page 1500
•":XTALk:PAISi" on page 1499
•":XTALk:PAIFilter" on page 1498
History New in version 5.70.
1502 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:PAXSi
Command :XTALk:PAXSi {{0 | OFF} | {1 | ON}}
The :XTALk:PAXSi command is an advanced configuration option for power supply
aggressors (amplitude) that specifies whether auto limit XSI filter time is enabled
or disabled
Crosstalk filters describe how an aggressor signal is transformed into a crosstalk
signal (such as NEXT or FEXT), and what magnitude it will have.
• When auto limit XSI filter time is enabled, the Crosstalk Analysis application
uses a proprietary algorithm to automatically determine an ideal crosstalk filter
length for a given situation. The application further tries to optimize the shape
of the filter by adaptively placing more taps in areas that are needed.
• When auto limit XSI filter time is disabled, the XSI (crosstalk) filter time span is
specified by the :XTALk:PAXFilter command.
A FEXT filter length should be at least as long as an edge rise time, and a NEXT
filter length should be at least twice the propagation delay of the channel.
Query :XTALk:PAXSi?
The :XTALk:PAXSi? query returns the "auto limit XSI filter time" setting for power
supply aggressors (amplitude).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:PAXFilter" on page 1501
•":XTALk:PAADeskew" on page 1497
•":XTALk:PASLimit" on page 1500
•":XTALk:PAISi" on page 1499
•":XTALk:PAIFilter" on page 1498
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1503
:XTALk:PJADeskew
Command :XTALk:PJADeskew {{0 | OFF} | {1 | ON}}
The :XTALk:PJADeskew command is an advanced configuration option for power
supply aggressors (jitter) that specifies whether auto deskew is enabled or
disabled.
When auto deskew is enabled, the Crosstalk Analysis application uses a
proprietary cross-correlation method for aligning the waveforms in time. The
algorithm searches over a finite range of delays to find the best possible
alignment. The search range corresponds to about 1 m of difference in cable
length, which is sufficient for most situations.
When auto deskew is disabled, the deskew time limit is specified by the
:XTALk:PJSLimit command.
Query :XTALk:PJADeskew?
The :XTALk:PJADeskew? query returns the "auto deskew" setting for power supply
aggressors (jitter).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:PJSLimit" on page 1506
•":XTALk:PJISi" on page 1505
•":XTALk:PJIFilter" on page 1504
•":XTALk:PJXSi" on page 1508
•":XTALk:PJXFilter" on page 1507
History New in version 5.70.
1504 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:PJIFilter
Command :XTALk:PJIFilter <time_span>
<time_span> ::= time span in seconds in NR3 format.
The :XTALk:PJIFilter command is an advanced configuration option for power
supply aggressors (amplitude) that, when auto limit ISI filter time is disabled
(:XTALk:PJISi OFF), lets you specify the ISI filter time span.
Query :XTALk:PJIFilter?
The :XTALk:PJIFilter? query returns the specified ISI filter time span.
Returned Format <time_span><NL>
<time_span> ::= time span in seconds in NR3 format.
See Also •":XTALk:PJISi" on page 1505
•":XTALk:PJADeskew" on page 1503
•":XTALk:PJSLimit" on page 1506
•":XTALk:PJXSi" on page 1508
•":XTALk:PJXFilter" on page 1507
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1505
:XTALk:PJISi
Command :XTALk:PJISi {{0 | OFF} | {1 | ON}}
The :XTALk:PJISi command is an advanced configuration option for power supply
aggressors (jitter) that specifies whether auto limit ISI filter time is enabled or
disabled.
The ISI filter represents the channel model and can therefore convert an ideal input
waveform into the one that is band-limited and containing reflections.
• When auto limit ISI filter time is enabled, the Crosstalk Analysis application
uses a proprietary algorithm to automatically determine an ideal ISI filter length
for a given situation. The application further tries to optimize the shape of the
filter by adaptively placing more taps in areas that are needed.
• When auto limit ISI filter time is disabled, the ISI filter time span is specified by
the :XTALk:PJIFilter command.
Query :XTALk:PJISi?
The :XTALk:PJISi? query returns the "auto limit ISI filter time" setting for power
supply aggressors (jitter).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:PJIFilter" on page 1504
•":XTALk:PJADeskew" on page 1503
•":XTALk:PJSLimit" on page 1506
•":XTALk:PJXSi" on page 1508
•":XTALk:PJXFilter" on page 1507
History New in version 5.70.
1506 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:PJSLimit
Command :XTALk:PJSLimit <time_limit>
<time_limit> ::= time limit in seconds in NR3 format.
The :XTALk:PJSLimit command is an advanced configuration option for power
supply aggressors (jitter) that, when auto deskew is disabled (:XTALk:PJADeskew
OFF), lets you specify the deskew time limit (search range).
Notice that the default deskew time limit value is larger for a power supply than for
serial data transmission lines. This is because buffers and other circuit
components can create delays much larger than the propagation distance. These
delays may vary greatly from one circuit to another, so keep in mind that changing
the default value may produce better results.
Query :XTALk:PJSLimit?
The :XTALk:PJSLimit? query returns the specified deskew time limit.
Returned Format <time_limit><NL>
<time_limit> ::= time limit in seconds in NR3 format.
See Also •":XTALk:PJADeskew" on page 1503
•":XTALk:PJISi" on page 1505
•":XTALk:PJIFilter" on page 1504
•":XTALk:PJXSi" on page 1508
•":XTALk:PJXFilter" on page 1507
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1507
:XTALk:PJXFilter
Command :XTALk:PJXFilter <time_span>
<time_span> ::= time span in seconds in NR3 format.
The :XTALk:PJXFilter command is an advanced configuration option for power
supply aggressors (amplitude) that, when auto limit XSI filter time is disabled
(:XTALk:PJXSi OFF), lets you specify the XSI (crosstalk) filter time span.
Query :XTALk:PJXFilter?
The :XTALk:PJXFilter? query returns the specified XSI (crosstalk) filter time span.
Returned Format <opt><NL>
<time_span> ::= time span in seconds in NR3 format.
See Also •":XTALk:PJXSi" on page 1508
•":XTALk:PJADeskew" on page 1503
•":XTALk:PJSLimit" on page 1506
•":XTALk:PJISi" on page 1505
•":XTALk:PJIFilter" on page 1504
History New in version 5.70.
1508 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:PJXSi
Command :XTALk:PJXSi {{0 | OFF} | {1 | ON}}
The :XTALk:PJXSi command is an advanced configuration option for power supply
aggressors (jitter) that specifies whether auto limit XSI filter time is enabled or
disabled
Crosstalk filters describe how an aggressor signal is transformed into a crosstalk
signal (such as NEXT or FEXT), and what magnitude it will have.
• When auto limit XSI filter time is enabled, the Crosstalk Analysis application
uses a proprietary algorithm to automatically determine an ideal crosstalk filter
length for a given situation. The application further tries to optimize the shape
of the filter by adaptively placing more taps in areas that are needed.
• When auto limit XSI filter time is disabled, the XSI (crosstalk) filter time span is
specified by the :XTALk:PJXFilter command.
A FEXT filter length should be at least as long as an edge rise time, and a NEXT
filter length should be at least twice the propagation delay of the channel.
Query :XTALk:PJXSi?
The :XTALk:PJXSi? query returns the "auto limit XSI filter time" setting for power
supply aggressors (jitter).
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:PJXFilter" on page 1507
•":XTALk:PJADeskew" on page 1503
•":XTALk:PJSLimit" on page 1506
•":XTALk:PJISi" on page 1505
•":XTALk:PJIFilter" on page 1504
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1509
:XTALk:RESults?
Query :XTALk:RESults?
The :XTALk:RESults? query returns the crosstalk analysis results in a
comma-separated list of values. The values returned for each victim:aggressor pair
in the results are:
Returned Format <results_list><NL>
Value Format Exampl
e
Label: string c1:c2
Amplitude skew: floating-point number string in scientific
notation
0.0E+00
Jitter skew: floating-point number string in scientific
notation
0.0E+00
Volt, Error(rms), for the non victim:victim
lines:
floating-point number string in scientific
notation
0.0E+00
Volt, Error(p-p), for the non victim:victim
lines:
floating-point number string in scientific
notation
0.0E+00
Time, Error(rms), for the non victim:victim
lines:
floating-point number string in scientific
notation
0.0E+00
Time Error(p-p), for the non victim:victim
lines:
floating-point number string in scientific
notation
0.0E+00
V high, Error(rms): floating-point number string in scientific
notation
0.0E+00
V high, Error(p-p): floating-point number string in scientific
notation
0.0E+00
V low, Error(rms): floating-point number string in scientific
notation
0.0E+00
V low, Error(p-p): floating-point number string in scientific
notation
0.0E+00
Volt, Error(rms), for the victim:victim line: floating-point number string in scientific
notation
0.0E+00
Volt, Error(p-p), for the victim:victim line: floating-point number string in scientific
notation
0.0E+00
Time, Error(rms), for the victim:victim line: floating-point number string in scientific
notation
0.0E+00
Time, Error(p-p), for the victim:victim line: floating-point number string in scientific
notation
0.0E+00
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1511
:XTALk:SAADeskew
Command :XTALk:SAADeskew {{0 | OFF} | {1 | ON}}
The :XTALk:SAADeskew command is an advanced configuration option for serial
data aggressors that specifies whether auto deskew is enabled or disabled.
When auto deskew is enabled, the Crosstalk Analysis application uses a
proprietary cross-correlation method for aligning the waveforms in time. The
algorithm searches over a finite range of delays to find the best possible
alignment. The search range corresponds to about 1 m of difference in cable
length, which is sufficient for most situations.
When auto deskew is disabled, the deskew time limit is specified by the
:XTALk:SASLimit command.
Query :XTALk:SAADeskew?
The :XTALk:SAADeskew? query returns the "auto deskew" setting for serial data
aggressors.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:SASLimit" on page 1514
•":XTALk:SAISi" on page 1513
•":XTALk:SAIFilter" on page 1512
•":XTALk:SAXSi" on page 1516
•":XTALk:SAXFilter" on page 1515
History New in version 5.70.
1512 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:SAIFilter
Command :XTALk:SAIFilter <time_span>
<time_span> ::= time span in seconds in NR3 format.
The :XTALk:SAIFilter command is an advanced configuration option for serial data
aggressors that, when auto limit ISI filter time is disabled (:XTALk:SAISi OFF), lets
you specify the ISI filter time span.
Query :XTALk:SAIFilter?
The :XTALk:SAIFilter? query returns the specified ISI filter time span.
Returned Format <time_span><NL>
<time_span> ::= time span in seconds in NR3 format.
See Also •":XTALk:SAISi" on page 1513
•":XTALk:SAADeskew" on page 1511
•":XTALk:SASLimit" on page 1514
•":XTALk:SAXSi" on page 1516
•":XTALk:SAXFilter" on page 1515
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1513
:XTALk:SAISi
Command :XTALk:SAISi {{0 | OFF} | {1 | ON}}
The :XTALk:SAISi command is an advanced configuration option for serial data
aggressors that specifies whether auto limit ISI filter time is enabled or disabled.
The ISI filter represents the channel model and can therefore convert an ideal input
waveform into the one that is band-limited and containing reflections.
• When auto limit ISI filter time is enabled, the Crosstalk Analysis application
uses a proprietary algorithm to automatically determine an ideal ISI filter length
for a given situation. The application further tries to optimize the shape of the
filter by adaptively placing more taps in areas that are needed.
• When auto limit ISI filter time is disabled, the ISI filter time span is specified by
the :XTALk:SAIFilter command.
Query :XTALk:SAISi?
The :XTALk:SAISi? query returns the "auto limit ISI filter time" setting for serial data
aggressors.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:SAIFilter" on page 1512
•":XTALk:SAADeskew" on page 1511
•":XTALk:SASLimit" on page 1514
•":XTALk:SAXSi" on page 1516
•":XTALk:SAXFilter" on page 1515
History New in version 5.70.
1514 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:SASLimit
Command :XTALk:SASLimit <time_limit>
<time_limit> ::= time limit in seconds in NR3 format.
The :XTALk:SASLimit command is an advanced configuration option for serial data
aggressors that, when auto deskew is disabled (:XTALk:SAADeskew OFF), lets you
specify the deskew time limit (search range).
Notice that the default deskew time limit value is larger for a power supply than for
serial data transmission lines. This is because buffers and other circuit
components can create delays much larger than the propagation distance. These
delays may vary greatly from one circuit to another, so keep in mind that changing
the default value may produce better results.
Query :XTALk:SASLimit?
The :XTALk:SASLimit? query returns the specified deskew time limit.
Returned Format <time_limit><NL>
<time_limit> ::= time limit in seconds in NR3 format.
See Also •":XTALk:SAADeskew" on page 1511
•":XTALk:SAISi" on page 1513
•":XTALk:SAIFilter" on page 1512
•":XTALk:SAXSi" on page 1516
•":XTALk:SAXFilter" on page 1515
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1515
:XTALk:SAXFilter
Command :XTALk:SAXFilter <time_span>
<time_span> ::= time span in seconds in NR3 format.
The :XTALk:SAXFilter command is an advanced configuration option for serial data
aggressors that, when auto limit XSI filter time is disabled (:XTALk:SAXSi OFF), lets
you specify the XSI (crosstalk) filter time span.
Query :XTALk:SAXFilter?
The :XTALk:SAXFilter? query returns the specified XSI (crosstalk) filter time span.
Returned Format <time_span><NL>
<time_span> ::= time span in seconds in NR3 format.
See Also •":XTALk:SAXSi" on page 1516
•":XTALk:SAADeskew" on page 1511
•":XTALk:SASLimit" on page 1514
•":XTALk:SAISi" on page 1513
•":XTALk:SAIFilter" on page 1512
History New in version 5.70.
1516 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk:SAXSi
Command :XTALk:SAXSi {{0 | OFF} | {1 | ON}}
The :XTALk:SAXSi command is an advanced configuration option for serial data
aggressors that specifies whether auto limit XSI filter time is enabled or disabled
Crosstalk filters describe how an aggressor signal is transformed into a crosstalk
signal (such as NEXT or FEXT), and what magnitude it will have.
• When auto limit XSI filter time is enabled, the Crosstalk Analysis application
uses a proprietary algorithm to automatically determine an ideal crosstalk filter
length for a given situation. The application further tries to optimize the shape
of the filter by adaptively placing more taps in areas that are needed.
• When auto limit XSI filter time is disabled, the XSI (crosstalk) filter time span is
specified by the :XTALk:SAXFilter command.
A FEXT filter length should be at least as long as an edge rise time, and a NEXT
filter length should be at least twice the propagation delay of the channel.
Query :XTALk:SAXSi?
The :XTALk:SAXSi? query returns the "auto limit XSI filter time" setting for serial
data aggressors.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk:SAXFilter" on page 1515
•":XTALk:SAADeskew" on page 1511
•":XTALk:SASLimit" on page 1514
•":XTALk:SAISi" on page 1513
•":XTALk:SAIFilter" on page 1512
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1517
:XTALk<X>:AENable<X>
Command :XTALk<X>:AENable<X> {{0 | OFF} | {1 | ON}}
When the crosstalk analysis signal is a victim (:XTALk<X>:IVICtim ON), the
:XTALk<X>:AENable<X> command specifies whether to remove the crosstalk from
another signal in the crosstalk analysis.
<X> An integer from 1-4.
Example For example if crosstalk signal1 is a victim, you can specify to remove the crosstalk
from the signal3 aggressor with the command:
myScope.WriteString ":XTALk1:AENable3 ON"
See Also •":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
1518 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk<X>:ENABle
Command :XTALk<X>:ENABle {{0 | OFF} | {1 | ON}}
The :XTALk<X>:ENABle command adds or removes a signal from the crosstalk
analysis.
Crosstalk analysis can be performed on up to four simultaneously acquired
signals.
<X> An integer from 1-4.
Query :XTALk<X>:ENABle?
The :XTALk<X>:ENABle? query returns whether the signal has been added to the
crosstalk analysis.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1519
:XTALk<X>:IAGGressor
Command :XTALk<X>:IAGGressor {{0 | OFF} | {1 | ON}}
The :XTALk<X>:IAGGressor command specifies whether the signal is an aggressor.
<X> An integer from 1-4.
Query :XTALk<X>:IAGGressor?
The :XTALk<X>:IAGGressor? query returns the "is aggressor" setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
1520 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk<X>:IVICtim
Command :XTALk<X>:IVICtim {{0 | OFF} | {1 | ON}}
The :XTALk<X>:IVICtim command specifies whether the signal is a victim.
<X> An integer from 1-4.
Query :XTALk<X>:IVICtim?
The :XTALk<X>:IVICtim? query returns the "is victim" setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1521
:XTALk<X>:PAUTo
Command :XTALk<X>:PAUTo {{0 | OFF} | {1 | ON}}
When the crosstalk analysis signal type is DIGital (serial data), the
:XTALk<X>:PAUTo command specifies whether the pattern length is automatically
determined.
<X> An integer from 1-4.
Query :XTALk<X>:PAUTo?
The :XTALk<X>:PAUTo? query returns the auto length setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
1522 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk<X>:PLENgth
Command :XTALk<X>:PLENgth <number_of_bits>
<number_of_bits> ::= integer from 2-1024.
When the crosstalk analysis signal type is DIGital (serial data) and the pattern
length is not automatically determined (:XTALk<X>:PAUTo OFF), the
:XTALk<X>:PLENgth command specifies the pattern length.
<X> An integer from 1-4.
Query :XTALk<X>:PLENgth?
The :XTALk<X>:PLENgth? query returns the pattern length setting.
Returned Format <number_of_bits><NL>
<number_of_bits> ::= integer from 2-1024.
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1523
:XTALk<X>:PTYPe
Command :XTALk<X>:PTYPe <pattern_type>
<pattern_type> ::= {PERiodic | ARBitrary}
When the crosstalk analysis signal type is DIGital (serial data), the
:XTALk<X>:PTYPe command specifies whether the pattern is periodic or arbitrary.
<X> An integer from 1-4.
Query :XTALk<X>:PTYPe?
The :XTALk<X>:PTYPe? query returns the pattern type setting.
Returned Format <pattern_type><NL>
<pattern_type> ::= {PERiodic | ARBitrary}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
1524 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk<X>:RIDeal
Command :XTALk<X>:RIDeal {{0 | OFF} | {1 | ON}}
When the crosstalk analysis signal is a victim (:XTALk<X>:IVICtim ON), the
:XTALk<X>:RIDeal command specifies whether to remove the signal's ideal
waveform contribution should be removed from the crosstalk-removed waveform.
<X> An integer from 1-4.
Query :XTALk<X>:RIDeal?
The :XTALk<X>:RIDeal? query returns the "remove ideal waveform" setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1525
:XTALk<X>:RISI
Command :XTALk<X>:RISI {{0 | OFF} | {1 | ON}}
When the crosstalk analysis signal is a victim (:XTALk<X>:IVICtim ON), the
:XTALk<X>:RISI command specifies whether to remove the signal's ISI
(inter-symbol interference) contribution should be removed from the
crosstalk-removed waveform.
<X> An integer from 1-4.
Query :XTALk<X>:RISI?
The :XTALk<X>:RISI? query returns the "remove ISI" setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
1526 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk<X>:ROTHer
Command :XTALk<X>:ROTHer {{0 | OFF} | {1 | ON}}
When the crosstalk analysis signal is a victim (:XTALk<X>:IVICtim ON), the
:XTALk<X>:ROTHer command specifies whether to remove the signal's unknown
crosstalk and noise contribution should be removed from the crosstalk-removed
waveform.
<X> An integer from 1-4.
Query :XTALk<X>:ROTHer?
The :XTALk<X>:ROTHer? query returns the "remove unknown crosstalk and noise"
setting.
Returned Format <setting><NL>
<setting> ::= {0 | 1}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:STYPe" on page 1528
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1527
:XTALk<X>:SOURce
Command :XTALk<X>:SOURce <source>
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F>
| WMEMory<N> | EQUalized | MTRend}
The :XTALk<X>:SOURce command specifies the source of the crosstalk signal.
<X> An integer from 1-4.
<N> An integer from 1-4.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
<F> An integer from 1-16.
Query :XTALk<X>:SOURce?
The :XTALk<X>:SOURce? query returns the specified source of the crosstalk signal.
Returned Format <source><NL>
<source> ::= {CHAN<N> | FUNC<F> | WMEM<N> | EQU | MTR}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:STYPe" on page 1528
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
1528 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
:XTALk<X>:STYPe
Command :XTALk<X>:STYPe <signal_type>
<signal_type> ::= {POWer | ANALog | DIGital}
The :XTALk<X>:STYPe command specifies the crosstalk analysis signal type:
• POWer — Tells the application to use the specialized algorithms for power
supply analysis.
• ANALog — For increased accuracy, it is recommended to use clock recovery
(DIGital) for all data waveforms whenever possible; however, aggressors that
are too noisy for clock recovery can be specified as ANALog, which tells the
algorithm to skip clock recovery.
If a victim signal is too noisy for clock recovery, another option is to perform
equalization on the waveform before sending it to the Crosstalk Analysis
application. This can be done directly on the oscilloscope using the Infiniium
Equalization application and then selecting FFE as the signal source for
crosstalk analysis.
• DIGital — Tells the application that the input signal represents a digital bit
stream (serial data), and that it needs to do a clock recovery.
When the signal type is data DIGital, you need to specify the type of pattern
(periodic or arbitrary) and whether the pattern length should be automatically
determined or specified with :XTALk<X>:PLENgth.
<X> An integer from 1-4.
Query :XTALk<X>:STYPe?
The :XTALk<X>:STYPe? query returns the specified signal type.
Returned Format <signal_type><NL>
<signal_type> ::= {POW | ANAL | DIG}
See Also •":XTALk<X>:AENable<X>" on page 1517
•":XTALk<X>:ENABle" on page 1518
•":XTALk<X>:IAGGressor" on page 1519
•":XTALk<X>:IVICtim" on page 1520
•":XTALk<X>:PAUTo" on page 1521
•":XTALk<X>:PLENgth" on page 1522
•":XTALk<X>:PTYPe" on page 1523
NOTE
You cannot have both a power supply victim and a power supply aggressor in the same setup
because these require different algorithms.
Xtalk (Crosstalk Analysis) Commands 39
Keysight Infiniium Oscilloscopes Programmer's Guide 1529
•":XTALk<X>:RIDeal" on page 1524
•":XTALk<X>:RISI" on page 1525
•":XTALk<X>:ROTHer" on page 1526
•":XTALk<X>:SOURce" on page 1527
•":XTALk:ENABle" on page 1495
•":XTALk:RESults?" on page 1509
History New in version 5.70.
1530 Keysight Infiniium Oscilloscopes Programmer's Guide
39 Xtalk (Crosstalk Analysis) Commands
1531
Keysight Infiniium Oscilloscopes
Programmer's Guide
40 Obsolete and Discontinued
Commands
Obsolete commands are deprecated, older forms of commands that still work but
have been replaced by newer commands.
Obsolete Command Current Command Equivalent Behavior Differences
:ANALyze:CLOCk:METHod:PAM:
B03 (see page 1535)
None The command works and as
before, but changing its default
(ON) is not necessary.
:ANALyze:CLOCk:METHod:PAM:
B12 (see page 1537)
None The command works and as
before, but changing its default
(ON) is not necessary.
:ANALyze:CLOCk:METHod:PAM:
NONSymmetric (see
page 1539)
None The command works and as
before, but changing its default
(OFF) is not necessary.
:DISPlay:COLumn (see
page 1541)
:DISPlay:BOOKmark<N>:XPOSi
tion (see page 467)
Bookmarks are now the
method used to place text
strings or annotations on
screen.
:DISPlay:LINE (see
page 1542)
:DISPlay:BOOKmark<N>:SET
(see page 464)
:DISPlay:ROW (see
page 1543)
:DISPlay:BOOKmark<N>:YPOSi
tion (see page 468)
:DISPlay:STRing (see
page 1544)
:DISPlay:BOOKmark<N>:SET
(see page 464)
:DISPlay:TAB (see page 1545) None This command is not supported
in version 5.00 or higher. The
query now returns only NONE.
:DISPlay:TEXT (see
page 1546)
:DISPlay:BOOKmark<N>:DELet
e (see page 463)
Bookmarks are now the
method used to place text
strings or annotations on
screen.
1532 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:HOSTed:CALibrate:ALIGn (see
page 1547)
None Acquired data is now always
aligned, and this command has
no effect.
:MEASure:CLOCk:METHod (see
page 1551)
•:MEASure:CLOCk:METHod
(see page 1549)
•:MEASure:CLOCk:METHod:JTF
(see page 1558)
•:MEASure:CLOCk:METHod:OJ
TF (see page 1560)
The command options for
specifying clock recovery PLL
options have been moved to
the new commands
:MEASure:CLOCk:METHod:JTF
and
:MEASure:CLOCk:METHod:OJT
F.
:MEASure:CLOCk (see
page 1548)
:ANALyze:CLOCk (see
page 246)
There are no differences in
behavior. This is just a
remapping of commands into a
new subsystem.
:MEASure:CLOCk:METHod (see
page 1549)
:ANALyze:CLOCk:METHod (see
page 247)
:MEASure:CLOCk:METHod:ALIG
n (see page 1553)
:ANALyze:CLOCk:METHod:ALIG
n (see page 250)
:MEASure:CLOCk:METHod:DEE
Mphasis (see page 1555)
:ANALyze:CLOCk:METHod:DEE
Mphasis (see page 252)
:MEASure:CLOCk:METHod:EDG
E (see page 1556)
:ANALyze:CLOCk:METHod:EDG
E (see page 253)
:MEASure:CLOCk:METHod:JTF
(see page 1558)
:ANALyze:CLOCk:METHod:JTF
(see page 256)
:MEASure:CLOCk:METHod:OJT
F (see page 1560)
:ANALyze:CLOCk:METHod:OJTF
(see page 259)
:MEASure:CLOCk:METHod:PLLT
rack (see page 1562)
:ANALyze:CLOCk:METHod:PLLT
rack (see page 262)
:MEASure:CLOCk:METHod:SOU
Rce (see page 1563)
:ANALyze:CLOCk:METHod:SOU
Rce (see page 264)
:MEASure:CLOCk:VERTical (see
page 1564)
:ANALyze:CLOCk:VERTical (see
page 265)
:MEASure:CLOCk:VERTical:OFF
Set (see page 1565)
:ANALyze:CLOCk:VERTical:OFF
Set (see page 266)
:MEASure:CLOCk:VERTical:RAN
Ge (see page 1566)
:ANALyze:CLOCk:VERTical:RAN
Ge (see page 267)
:MEASure:DDPWS (see
page 1567)
:MEASure:RJDJ:ALL? (see
page 898)
The :MEASure:RJDJ:ALL? query
returns all of the RJDJ jitter
measurements.
Obsolete Command Current Command Equivalent Behavior Differences
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1533
Discontinued
Commands
Discontinued commands are commands that were supported in previous versions
of the Infiniium oscilloscope software, but are not supported by this version of the
Infiniium oscilloscope software. Listed below are the Discontinued commands and
the nearest equivalent command available (if any).
:MEASure:FFT:PEAK1 (see
page 1569)
:MEASure:FFT:DFRequency
(see page 792)
:MEASure:FFT:DMAGnitude
(see page 794)
Peak numbers and threshold
levels are now specified in the
:MEASure:FFT:DFRequency and
:MEASure:FFT:DMAGnitude
command/query parameters.
:MEASure:FFT:PEAK2 (see
page 1570)
:MEASure:FFT:THReshold (see
page 1571)
:MEASure:JITTer:STATistics
(see page 1572)
:ANALyze:AEDGes (see
page 245)
The :ANALyze:AEDGes
command maps to the
"Measure All Edges" control in
the user interface's
Measurement Setup dialog box
only. It does not affect jitter
modes or statistics.
:MEASure:TIEData (see
page 1573)
:MEASure:TIEData2 (see
page 977)
Clock recovery options have
been removed (clock recovery
as specified with the
:ANALyze:CLOCk:METHod is
used).
When the signal type is PAM-4,
an additional <threshold>
parameter is used to specify
the threshold at which to make
the TIE measurements.
:MTESt:FOLDing:COUNt? (see
page 1575)
:MTESt:FOLDing:COUNt:UI?
(see page 695)
:MTESt:FOLDing:COUNt:WAVef
orms? (see page 697)
The :MTESt:FOLDing:COUNt?
query returns two values for UI
count and waveform count.
Now, there are separate
queries that return those
values individually.
The UI count returned by
:MTESt:FOLDing:COUNt? is
now a floating-point value
instead of an integer value.
:SPRocessing:CTLequalizer:ZE
Ro (see page 1577)
•:SPRocessing:CTLequalizer:Z1
(see page 1149)
•:SPRocessing:CTLequalizer:Z2
(see page 1150)
Now that you can specify up to
two zeros for a 3-pole CTLE,
this command has been
replaced by two new
commands.
Obsolete Command Current Command Equivalent Behavior Differences
1534 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
Discontinued Command Current Command Equivalent Comments
:DISK:STORe ":DISK:SAVE:SETup" on
page 457
":DISK:SAVE:WAVeform"
on page 458
For saving setups and
waveforms to disk.
:DISPlay:GRATicule:SIZE None Graticule sizing is different in
the version 5.00
next-generation Infiniium user
interface software.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1535
:ANALyze:CLOCk:METHod:PAM:B03
Command :ANALyze:CLOCk:METHod:PAM:B03 {{0 | OFF} | {1 | ON}}
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:ANALyze:CLOCk:METHod:PAM:B03 command specifies whether edges from the 0
level to the 3 level and from the 3 level to the 0 level are are included in the clock
recovery.
Remember, with PAM-4 signals, clock recovery is performed individually for each
signal source; therefore, this setting applies to the source specified with the
:ANALyze:CLOCk:METHod:SOURce command.
Query :ANALyze:CLOCk:METHod:PAM:B03?
The :ANALyze:CLOCk:METHod:PAM:B03? query returns whether 03,30 edges are
included in the clock recovery.
Returned Format [:ANALyze:CLOCk:METHod:PAM:B03] <setting><NL>
<setting> ::= {0 | 1}
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod:PAM:B12" on page 1537
•":ANALyze:CLOCk:METHod:PAM:NONSymmetric" on page 1539
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
1536 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
History New in version 5.50.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1537
:ANALyze:CLOCk:METHod:PAM:B12
Command :ANALyze:CLOCk:METHod:PAM:B12 {{0 | OFF} | {1 | ON}}
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:ANALyze:CLOCk:METHod:PAM:B12 command specifies whether edges from the 1
level to the 2 level and from the 2 level to the 1 level are are included in the clock
recovery.
Remember, with PAM-4 signals, clock recovery is performed individually for each
signal source; therefore, this setting applies to the source specified with the
:ANALyze:CLOCk:METHod:SOURce command.
Query :ANALyze:CLOCk:METHod:PAM:B12?
The :ANALyze:CLOCk:METHod:PAM:B12? query returns whether 12,21 edges are
included in the clock recovery.
Returned Format [:ANALyze:CLOCk:METHod:PAM:B12] <setting><NL>
<setting ::= {0 | 1}
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod:PAM:B03" on page 1535
•":ANALyze:CLOCk:METHod:PAM:NONSymmetric" on page 1539
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
•":MEASure:TIEData2" on page 977
1538 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
History New in version 5.50.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1539
:ANALyze:CLOCk:METHod:PAM:NONSymmetric
Command :ANALyze:CLOCk:METHod:PAM:NONSymmetric {{0 | OFF} | {1 | ON}}
When the signal type is PAM-4 (see :ANALyze:SIGNal:TYPE), the
:ANALyze:CLOCk:METHod:PAM:NONSymmetric command specifies whether
edges that are non-symmetric about the middle threshold (for example, from the 1
level to the 3 level or from the 2 level to the 0 level) are included in the clock
recovery.
Remember, with PAM-4 signals, clock recovery is performed individually for each
signal source; therefore, this setting applies to the source specified with the
:ANALyze:CLOCk:METHod:SOURce command.
Query :ANALyze:CLOCk:METHod:PAM:NONSymmetric?
The :ANALyze:CLOCk:METHod:PAM:NONSymmetric? query returns whether
non-symmetric edges are included in the clock recovery.
Returned Format [:ANALyze:CLOCk:METHod:PAM:NONSymmetric] <setting><NL>
<setting> ::= {0 | 1}
See Also •":ANALyze:CLOCk:METHod:SOURce" on page 264
•":ANALyze:CLOCk:METHod:PAM:B03" on page 1535
•":ANALyze:CLOCk:METHod:PAM:B12" on page 1537
•":ANALyze:SIGNal:DATarate" on page 268
•":ANALyze:SIGNal:SYMBolrate" on page 270
•":ANALyze:SIGNal:TYPE" on page 282
•":MEASure:CGRade:EWIDth" on page 757
•":MEASure:CGRade:EHEight" on page 755
•":MEASure:FALLtime" on page 789
•":MEASure:PAM:ELEVel" on page 861
•":MEASure:PAM:ESKew" on page 864
•":MEASure:PAM:LEVel" on page 872
•":MEASure:PAM:LRMS" on page 874
•":MEASure:PAM:LTHickness" on page 876
•":MEASure:RISetime" on page 896
•":MEASure:THResholds:GENeral:METHod" on page 937
•":MEASure:THResholds:GENeral:PAMCustom" on page 939
•":MEASure:THResholds:GENeral:PAMAutomatic" on page 941
•":MEASure:THResholds:RFALl:METHod" on page 954
•":MEASure:THResholds:RFALl:PAMAutomatic" on page 956
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1541
:DISPlay:COLumn
Command
:DISPlay:COLumn <column_number>
The :DISPlay:COLumn command specifies the starting column for subsequent
:DISPlay:STRing and :DISPlay:LINE commands.
<column
_number>
An integer representing the starting column for subsequent :DISPlay:STRing and
:DISPlay:LINE commands. The range of values is 0 to 90.
Example This example sets the starting column for subsequent :DISPlay:STRing and
:DISPlay:LINE commands to column 10.
myScope.WriteString ":DISPlay:COLUMN 10"
Query :DISPlay:COLumn?
The :DISPlay:COLumn? query returns the column where the next :DISPlay:LINE or
:DISPlay:STRing starts.
Returned Format [:DISPlay:COLumn] <value><NL>
Example This example returns the current column setting to the string variable, strSetting,
then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:COLUMN?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Obsoleted in version 5.00.
NOTE
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:XPOSition" on page 467.
1542 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:DISPlay:LINE
Command
:DISPlay:LINE "<string_argument>"
The :DISPlay:LINE command writes a quoted string to the screen, starting at the
location specified by the :DISPlay:ROW and :DISPlay:COLumn commands.
<string
_argument>
Any series of ASCII characters enclosed in quotation marks.
Example This example writes the message "Infiniium Test" to the screen, starting at the
current row and column location.
myScope.WriteString ":DISPlay:LINE ""Infiniium Test"""
When using the C programming language, quotation marks within a string are
escaped using the backslash (\) character as shown in the next example. This
example writes the message "Infiniium Test" to the screen.
printf("\"Infiniium Test\"");
You may write text up to column 94. If the characters in the string do not fill the
line, the rest of the line is blanked. If the string is longer than the space available
on the current line, the excess characters are discarded.
In any case, the ROW is incremented and the COLumn remains the same. The next
:DISPlay:LINE command will write on the next line of the display. After writing the
last line in the display area, the ROW is reset to 0.
History Legacy command (existed before version 3.10).
Obsoleted in version 5.00.
NOTE
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:SET" on page 464.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1543
:DISPlay:ROW
Command
:DISPlay:ROW <row_number>
The :DISPlay:ROW command specifies the starting row on the screen for
subsequent :DISPlay:STRing and :DISPlay:LINE commands. The row number
remains constant until another :DISPlay:ROW command is received, or the row is
incremented by the :DISPlay:LINE command.
<row_number> An integer representing the starting row for subsequent :DISPlay:STRing and
:DISPlay:LINE commands. The range of values is 9 to 23.
Example This example sets the starting row for subsequent :DISPlay:STRing and
:DISPlay:LINE commands to 10.
myScope.WriteString ":DISPlay:ROW 10"
Query :DISPlay:ROW?
The :DISPlay:ROW? query returns the current value of the row.
Returned Format [:DISPlay:ROW] <row_number><NL>
Example This example places the current value for row in the string variable, strSetting,
then prints the contents of the variable to the computer's screen.
Dim strSetting As String ' Dimension variable.
myScope.WriteString ":DISPlay:ROW?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Obsoleted in version 5.00.
NOTE
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:YPOSition" on page 468.
1544 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:DISPlay:STRing
Command
:DISPlay:STRing "<string_argument>"
The :DISPlay:STRing command writes text to the oscilloscope screen. The text is
written starting at the current row and column settings. If the column limit is
reached, the excess text is discarded. The :DISPlay:STRing command does not
increment the row value, but :DISPlay:LINE does.
<string
_argument>
Any series of ASCII characters enclosed in quotation marks.
Example This example writes the message "Example 1" to the oscilloscope's display starting
at the current row and column settings.
myScope.WriteString ":DISPlay:STRING ""Example 1"""
History Legacy command (existed before version 3.10).
Obsoleted in version 5.00.
NOTE
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:SET" on page 464.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1545
:DISPlay:TAB
Command :DISPlay:TAB <tab>
The :DISPlay:TAB command displays the corresponding tab indicated by the <tab>
parameter.
<tab> MEASurement | MARKer | LIMittest | JITTer | NOISe | HISTogram | MASKtest | EYE |
COLorgrade | NAVigation | STATus | SCALe
Example This example sets the Status tab as the displayed one.
myScope.WriteString ":DISPlay:TAB STATus"
Query :DISPlay:TAB?
The :DISPlay:TAB? query returns the tab that is currently displayed.
Returned Format [:DISPlay:TAB] {MEAS | MARK | LIM | JITT | NOIS | HIST | MASK | EYE
| COL | NAV | STAT | SCAL}<NL>
Example This example places the currently displayed tab into the string variable, strTab,
then prints the contents of the variable to the computer's screen.
Dim strTab As String ' Dimension variable.
myScope.WriteString ":DISPlay:TAB?"
strTab = myScope.ReadString
Debug.Print strTab
History Legacy command (existed before version 3.10).
Obsoleted in version 5.00.
1546 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:DISPlay:TEXT
Command
:DISPlay:TEXT BLANk
The :DISPlay:TEXT command blanks the user text area of the screen.
Example This example blanks the user text area of the oscilloscope's screen.
myScope.WriteString ":DISPlay:TEXT BLANK"
History Legacy command (existed before version 3.10).
Obsoleted in version 5.00.
NOTE
This command is deprecated. It is accepted but ignored. Bookmarks are now the method used
to place text strings or annotations on screen. The closest command equivalent is
":DISPlay:BOOKmark<N>:DELete" on page 463.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1547
:HOSTed:CALibrate:ALIGn (MultiScope)
Command :HOSTed:CALibrate:ALIGn {{0 | OFF} | {1 | ON}}
The :HOSTed:CALibrate:ALIGn command lets you align acquired data in the
MultiScope system. When ON, a unique time-shifting FIR filter is applied to each
output waveform and the waveforms are truncated so that all of them have the
same X origin and number of points values.
Setting ":HOSTed:CALibrate:ALIGn ON" causes longer acquisition times.
Query :HOSTed:CALibrate:ALIGn?
The :HOSTed:CALibrate:ALIGn? query returns the align acquired data setting.
Returned Format [:HOSTed:CALibrate:ALIGn] <setting><NL>
<setting> ::= {0 | 1}
See Also •":HOSTed:CALibrate:CALibrate" on page 587
•":HOSTed:CALibrate:CHANnel" on page 588
•":HOSTed:CALibrate:DESKew:FRAMes" on page 590
•":HOSTed:CALibrate:DESKew:CHANnels" on page 589
•":HOSTed:CALibrate:DESKew:SIGNals" on page 591
•":HOSTed:CALibrate:DESKew:ZERO" on page 592
•":HOSTed:CALibrate:LEVel" on page 593
•":HOSTed:CALibrate:PROMpt" on page 595
•":HOSTed:CALibrate:STATus:CHANnels?" on page 596
•":HOSTed:CALibrate:STATus:FRAMes?" on page 597
•":HOSTed:CALibrate:STATus:LEVel?" on page 598
•":HOSTed:CALibrate:STATus:SIGNals?" on page 599
•":HOSTed:CALibrate:TREF:DETect" on page 600
History New in version 5.50.
Version 5.60: Acquired data is now always aligned, and this command has no
effect.
NOTE
As of software version 5.60, acquired data is always aligned, and this command has no effect.
1548 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:CLOCk
Command
:MEASure:CLOCk {{{ON|1},CHANnel<N>} | {OFF|0}}
The :MEASure:CLOCk command turns the recovered clock display on or off and
sets the clock recovery channel source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
Example This example turns the recovered clock display on for channel 1.
myScope.WriteString ":MEASure:CLOCk ON,CHANnel1"
Query :MEASure:CLOCk?
The :MEASure :CLOCk? query returns the state of the recovered clock display.
Returned Format [:MEASure:CLOCk] {1 | 0}<NL>
Example This example places the current setting of the recovered clock display in the
variable varSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
Version 5.30: This command is deprecated, replaced by ":ANALyze:CLOCk" on
page 246.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1549
:MEASure:CLOCk:METHod
Command
:MEASure:CLOCk:METHod
{FC,{FC1063 | FC2125 | FC425}}
| {EXPlicit,<source>,{RISing | FALLing | BOTH}[,<multiplier>]}
| {FIXed,{AUTO | {SEMI[,<data_rate>]} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
The :MEASure:CLOCk:METHod command sets the clock recovery method to:
• FC (Fibre Channel).
• EXPlicit (Explicit Clock).
• FIXed (Constant Frequency).
• FLEXR (FlexRay Receiver).
• FLEXT (FlexRay Transmitter).
This command applies to the clock recovery method being set up for the waveform
source selected by the :MEASure:CLOCk:METHod:SOURce command.
For setting phase-locked loop (PLL) clock recovery methods in terms of the
Observed Jitter Transfer Function (OJTF), see ":MEASure:CLOCk:METHod:OJTF"
on page 1560.
For setting phase-locked loop (PLL) clock recovery methods in terms of the Jitter
Transfer Function (JTF), see ":MEASure:CLOCk:METHod:JTF" on page 1558.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
<data_rate> A real number for the base data rate in Hertz.
<multiplier> An integer used as the multiplication factor.
<baud_rate> A real number used for the baud rate.
Example This example sets the explicit clock recovery method on channel 1, rising edge,
with a multiplier of 2.
myScope.WriteString ":MEASure:CLOCk:METHod EXPlicit,CHANnel1,RISing,2"
Query :MEASure:CLOCk:METHod?
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
1550 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
The :MEASure:CLOCk:METHod? query returns the state of the clock recovery
method.
Returned Format [:MEASure:CLOCk:METHod]
{FC,{FC1063 | FC2125 | FC425}}
| {EXPlicit,<source>,{RISing | FALLing | BOTH},<multiplier>}
| {FIXed,{AUTO | {SEMI,<data_rate>} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCk:METHod?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MEASure:CLOCk:METHod:SOURce" on page 1563
•":MEASure:CLOCk:METHod:OJTF" on page 1560
•":MEASure:CLOCk:METHod:JTF" on page 1558
•":MEASure:CLOCk:METHod:DEEMphasis" on page 1555
•":MEASure:CLOCk:METHod:ALIGn" on page 1553
•":MEASure:CLOCk:METHod:PLLTrack" on page 1562
•":MEASure:CLOCk:METHod:EDGE" on page 1556
History Legacy command (existed before version 3.10).
Version 4.20: The command options for specifying clock recovery PLL options
moved to the new commands :MEASure:CLOCk:METHod:JTF and
:MEASure:CLOCk:METHod:OJTF.
Version 5.10: The PCIE clock recovery method has been removed.
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:METHod" on page 247.
NOTE
You can use the :MEASure:CLOCk:METHod? query when phase-locked loop (PLL) clock
recovery methods are set up. The format returned will be that of the
:MEASure:CLOCk:METHod:OJTF? query. See ":MEASure:CLOCk:METHod:OJTF" on
page 1560.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1551
:MEASure:CLOCk:METHod (deprecated)
Command
:MEASure:CLOCk:METHod {FOPLL,<data_rate>,<loop_bandwidth>}
| {EQFOPLL,<data_rate>,<loop_bandwidth>}
| {SOPLL,<data_rate>,<loop_bandwidth>, <damping_factor>}
| {EQSOPLL,<data_rate>,<loop_bandwidth>, <damping_factor>}
| {FC,{FC1063 | FC2125 | FC425}}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<loop_bandwidth>,<damping_fact>}
| {EXPlicit,<source>,{RISing | FALLing | BOTH}[,<multiplier>]}
| {FIXed,{AUTO | {SEMI[,<data_rate>]} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
The :MEASure:CLOCk:METHod command sets the clock recovery method to:
• FOPLL (first order phase-locked loop).
• SOPLL (second order phase-locked loop).
• EQFOPLL (equalized first order phase-locked loop).
• EQSOPLL (equalized second order phase-locked loop).
• FC (Fibre Channel).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
• EXPlicit (Explicit Clock).
• FIXed (Constant Frequency).
• FLEXR (FlexRay Receiver).
• FLEXT (FlexRay Transmitter).
The EQUalized clock recovery methods are only available if the oscilloscope has
the High Speed Serial option and the Serial Data Equalization option installed and
the features are enabled.
<source> {CHANnel<N> | FUNCtion<N> | WMEMory<R>}
NOTE
Some of these command options have been deprecated — options for specifying clock
recovery PLL options have been moved to the new commands
":MEASure:CLOCk:METHod:JTF" on page 1558 and
":MEASure:CLOCk:METHod:OJTF" on page 1560. See also
":MEASure:CLOCk:METHod" on page 1549.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
1552 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
FUNCtion<N> and WMEMory<R> are:
An integer, 1-4, representing the selected function or waveform memory.
<data_rate> A real number for the base data rate in Hertz.
<damping_ factor> A real number for the damping factor of the PLL in bits per second.
<loop_
bandwidth>
A real number for the cutoff frequency for the PLL to track.
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
<track_freq> A real number used for the tracking frequency of the PLL.
<damping_fact> A real number used for the damping factor of the PLL.
<baud_rate> A real number used for the baud rate.
Example This example sets the clock recovery method to phase-locked loop.
myScope.WriteString ":MEASure:CLOCK:METHOD FOPLL,2E9,1.19E6"
Query :MEASure:CLOCk:METHod?
The :MEASure:CLOCk:METHod? query returns the state of the clock recovery
method.
Returned Format [:MEASure:CLOCk:METHod] {FOPLL,<data_rate>,<loop_bandwidth>}
| {EQFOPLL,<data_rate>,<loop_bandwidth>}
| {SOPLL,<data_rate>,<loop_bandwidth>,<damping_factor>}
| {EQSOPLL,<data_rate>,<loop_bandwidth>,<damping_factor>}
| {FC,{FC1063 | FC2125 | FC425}}
| {EXPFOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<track_freq>}
| {EXPSOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<track_freq>,<damping_fact>}
| {EXPlicit,<source>,{RISing | FALLing | BOTH},<multiplier>}
| {FIXed,{AUTO | {SEMI,<data_rate>} | <data_rate>}}
| {FLEXR,<baud_rate>}
| {FLEXT,<baud_rate>}
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:METHOD?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Version 5.10: The PCIE clock recovery method has been removed.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1553
:MEASure:CLOCk:METHod:ALIGn
Command
:MEASure:CLOCK:METHod:ALIGn {CENTer | EDGE}
When using an explicit method of clock recovery, the
:MEASure:CLOCk:METHod:ALIGn command specifies how the clock is aligned with
data:
• CENTer — Clock edges are aligned with the center of data.
• EDGE — Clock edges are aligned with data edges. In this case, Time Interval
Error (TIE) is measured directly from the data edge to the clock edge.
This command applies to the clock recovery method being set up for the waveform
source selected by the :MEASure:CLOCk:METHod:SOURce command.
Example When using an explicit method of clock recovery, this example specifies that clock
edges are aligned with the center of data.
myScope.WriteString ":MEASure:CLOCK:METHOD:ALIGn CENTer"
Query :MEASure:CLOCK:METHod:ALIGn?
The :MEASure:CLOCk:METHod:ALIGn? query returns the clock recovery method's
edge alignment setting.
Returned Format [:MEASure:CLOCk:METHod:ALIGn] {CENT | EDGE}
Example This example places the current edge alignment setting of the clock recovery
method in the variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:METHOD:ALIGn?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MEASure:CLOCk:METHod:SOURce" on page 1563
•":MEASure:CLOCk:METHod" on page 1549
•":MEASure:CLOCk:METHod:OJTF" on page 1560
•":MEASure:CLOCk:METHod:JTF" on page 1558
•":MEASure:CLOCk:METHod:DEEMphasis" on page 1555
•":MEASure:CLOCk:METHod:PLLTrack" on page 1562
•":MEASure:CLOCk:METHod:EDGE" on page 1556
History New in version 3.20.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1555
:MEASure:CLOCk:METHod:DEEMphasis
Command
:MEASure:CLOCk:METHod:DEEMphasis {OFF | ON}
The :MEASure:CLOCk:METHod:DEEMphasis command turns de-emphasis on or
off.
This command applies to the clock recovery method being set up for the waveform
source selected by the :MEASure:CLOCk:METHod:SOURce command.
See the help system for more information on de-emphasis.
Example This example enables de-emphasis.
myScope.WriteString ":MEASure:CLOCk:METHod:DEEMphasis ON"
Query :MEASure:CLOCk:METHod:DEEMphasis?
The :MEASure:CLOCk:METHod:DEEMphasis? query returns whether or not
de-emphasis is turned on.
Returned Format [:MEASure:CLOCk:METHod:DEEMphasis] {OFF | ON}
Example This example places the current setting of the de-emphasis mode in the string
variable strDeemph, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:METHod:DEEMphasis?"
strDeemph = myScope.ReadString
Debug.Print strDeemph
See Also •":MEASure:CLOCk:METHod:SOURce" on page 1563
•":MEASure:CLOCk:METHod" on page 1549
•":MEASure:CLOCk:METHod:OJTF" on page 1560
•":MEASure:CLOCk:METHod:JTF" on page 1558
•":MEASure:CLOCk:METHod:ALIGn" on page 1553
•":MEASure:CLOCk:METHod:PLLTrack" on page 1562
•":MEASure:CLOCk:METHod:EDGE" on page 1556
History Legacy command (existed before version 3.10).
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:METHod:DEEMphasis" on page 252.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
1556 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:CLOCk:METHod:EDGE
Command
:MEASure:CLOCk:METHod:EDGE {RISing | FALLing | BOTH}
The :MEASure:CLOCk:METHod:EDGE command specifies which edge(s) of the
data are used to recover a clock. (In the front panel GUI, this control appears in the
Advanced Clock Recovery dialog box.) Normally, both edges are used. However, if
you are performing clock recovery on a low duty cycle clock signal, for example,
you may want to use just the rising or falling edge.
This command applies to the clock recovery method being set up for the waveform
source selected by the :MEASure:CLOCk:METHod:SOURce command.
This command applies to the following clock recovery methods:
• FIXed (Constant Frequency).
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• EXPlicit (Explicit Clock).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
To measure jitter on only rising (or falling) edges of a clock, you must also set
:MEASure:RJDJ:EDGE to the same RISing or FALLing option, and you must set
:MEASure:RJDJ:CLOCk ON to force the pattern to be a clock and set the jitter for
edges not examined to zero (0).
Example This example specifies that both rising and falling edges of the data are used to
recover a clock.
myScope.WriteString ":MEASure:CLOCk:METHod:EDGE BOTH"
Query :MEASure:CLOCK:METHod:EDGE?
The :MEASure:CLOCk:METHod:EDGE? query returns the clock recovery method's
edge setting.
Returned Format [:MEASure:CLOCk:METHod:EDGE] {RIS | FALL | BOTH}
Example This example places the current edge setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1557
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCk:METHod:EDGE?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MEASure:CLOCk:METHod:SOURce" on page 1563
•":MEASure:CLOCk:METHod" on page 1549
•":MEASure:CLOCk:METHod:OJTF" on page 1560
•":MEASure:CLOCk:METHod:JTF" on page 1558
•":MEASure:CLOCk:METHod:DEEMphasis" on page 1555
•":MEASure:CLOCk:METHod:ALIGn" on page 1553
•":MEASure:CLOCk:METHod:PLLTrack" on page 1562
•":MEASure:RJDJ:EDGE" on page 905
•":MEASure:RJDJ:CLOCk" on page 904
History New in version 4.30.
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:METHod:EDGE" on page 253.
1558 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:CLOCk:METHod:JTF
Command
:MEASure:CLOCk:METHod:JTF
{FOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EQSOPLL,<data_rate>,<jtf_loop_bandwidth>, <peaking>}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>,<peaking>}
The :MEASure:CLOCk:METHod:JTF command specifies the clock recovery PLL's
response in terms of the Jitter Transfer Function's (JTF) 3 dB bandwidth.
This command applies to the clock recovery method being set up for the waveform
source selected by the :MEASure:CLOCk:METHod:SOURce command.
You can set these types of PLL clock recovery methods:
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
The EQUalized clock recovery methods are only available if the oscilloscope has
the High Speed Serial option and the Serial Data Equalization option installed and
the features are enabled.
For setting phase-locked loop (PLL) clock recovery methods in terms of the
Observed Jitter Transfer Function (OJTF), see ":MEASure:CLOCk:METHod:OJTF"
on page 1560.
For setting other clock recovery methods, see ":MEASure:CLOCk:METHod" on
page 1549.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1559
<data_rate> A real number for the base data rate in bits per second.
<peaking> The peaking value in dB.
<jtf_loop_
bandwidth>
A real number for the cutoff frequency for the PLL to track.
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a peaking value of 1.25 dB.
myScope.WriteString ":MEASure:CLOCk:METHod:JTF SOPLL,4E9,3.822E6,1.25"
Query :MEASure:CLOCk:METHod:JTF?
The :MEASure:CLOCk:METHod:JTF? query returns the state of the clock recovery
method.
Returned Format [:MEASure:CLOCk:METHod:JTF]
{FOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<jtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<jtf_loop_bandwidth>,<peaking>}
| {EQSOPLL,<data_rate>,<jtf_loop_bandwidth>,<peaking>}
| {EXPFOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>}
| {EXPSOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<jtf_loop_bandwidth>,<peaking>}
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCk:METHod:JTF?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MEASure:CLOCk:METHod:SOURce" on page 1563
•":MEASure:CLOCk:METHod" on page 1549
•":MEASure:CLOCk:METHod:OJTF" on page 1560
•":MEASure:CLOCk:METHod:DEEMphasis" on page 1555
•":MEASure:CLOCk:METHod:ALIGn" on page 1553
•":MEASure:CLOCk:METHod:PLLTrack" on page 1562
•":MEASure:CLOCk:METHod:EDGE" on page 1556
History New in version 4.20.
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:METHod:JTF" on page 256.
1560 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:CLOCk:METHod:OJTF
Command
:MEASure:CLOCk:METHod:OJTF
{FOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {EQSOPLL,<data_rate>,<ojtf_loop_bandwidth>, <damping_factor>}
| {EXPFOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>}
| {EXPSOPLL,<source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>,<damping_factor>}
The :MEASure:CLOCk:METHod:OJTF command specifies the clock recovery PLL's
response in terms of the Observed Jitter Transfer Function's (OJTF) 3 dB
bandwidth.
This command applies to the clock recovery method being set up for the waveform
source selected by the :MEASure:CLOCk:METHod:SOURce command.
You can set these types of PLL clock recovery methods:
• FOPLL (First Order PLL).
• SOPLL (Second Order PLL).
• EQFOPLL (Equalized First Order PLL).
• EQSOPLL (Equalized Second Order PLL).
• EXPFOPLL (Explicit First Order PLL).
• EXPSOPLL (Explicit Second Order PLL).
The EQUalized clock recovery methods are only available if the oscilloscope has
the High Speed Serial option and the Serial Data Equalization option installed and
the features are enabled.
For setting phase-locked loop (PLL) clock recovery methods in terms of the Jitter
Transfer Function (JTF), see ":MEASure:CLOCk:METHod:JTF" on page 1558.
For setting other clock recovery methods, see ":MEASure:CLOCk:METHod" on
page 1549.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R>}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1561
<data_rate> A real number for the base data rate in bits per second.
<damping_ factor> A real number for the damping factor of the PLL.
<ojtf_loop_
bandwidth>
A real number for the cutoff frequency for the PLL to track.
<multiplier> An integer used as the multiplication factor.
<clock_freq> A real number used for the clock frequency of the PLL.
Example This example sets the clock recovery method to Second Order PLL, a nominal data
rate of 4 Gb/s, and a damping factor of 1.0.
myScope.WriteString ":MEASure:CLOCk:METHod:OJTF SOPLL,4E9,2.4E6,1.0"
Query :MEASure:CLOCk:METHod:OJTF?
The :MEASure:CLOCk:METHod:OJTF? query returns the state of the clock recovery
method.
Returned Format [:MEASure:CLOCk:METHod:OJTF]
{FOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {EQFOPLL,<data_rate>,<ojtf_loop_bandwidth>}
| {SOPLL,<data_rate>,<ojtf_loop_bandwidth>,<damping_factor>}
| {EQSOPLL,<data_rate>,<ojtf_loop_bandwidth>,<damping_factor>}
| {EXPFOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>}
| {EXPSOPLL <source>,{RISing | FALLing | BOTH},
<multiplier>,<clock_freq>,<ojtf_loop_bandwidth>,<damping_fact>}
Example This example places the current setting of the clock recovery method in the
variable strSetting, then prints the contents of the variable to the computer's
screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCk:METHod:OJTF?"
strSetting = myScope.ReadString
Debug.Print strSetting
See Also •":MEASure:CLOCk:METHod:SOURce" on page 1563
•":MEASure:CLOCk:METHod" on page 1549
•":MEASure:CLOCk:METHod:JTF" on page 1558
•":MEASure:CLOCk:METHod:DEEMphasis" on page 1555
•":MEASure:CLOCk:METHod:ALIGn" on page 1553
•":MEASure:CLOCk:METHod:PLLTrack" on page 1562
•":MEASure:CLOCk:METHod:EDGE" on page 1556
History New in version 4.20.
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:METHod:OJTF" on page 259.
1562 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:CLOCk:METHod:PLLTrack
Command
:MEASure:CLOCk:METHod:PLLTrack {OFF | ON}
The :MEASure:CLOCk:METHod:PLLTrack command turns transition density
dependence on or off. See the help system for more information on the Transition
Density Dependent setting.
This command applies to the clock recovery method being set up for the waveform
source selected by the :MEASure:CLOCk:METHod:SOURce command.
Example This example enables the Transition Density Dependent setting.
myScope.WriteString ":MEASure:CLOCk:METHod:PLLTrack ON"
Query :MEASure:CLOCk:METHod:PLLTrack?
The :MEASure:CLOCk:METHod:PLLTrack? query returns whether or not the
Transition Density Dependent setting is turned on.
Returned Format [:MEASure:CLOCk:METHod:PLLTrack] {OFF | ON}
Example This example places the current setting of the Transition Density Dependent
setting in the string variable strTDD, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:METHod:PLLTrack?"
strTDD = myScope.ReadString
Debug.Print strTDD
See Also •":MEASure:CLOCk:METHod:SOURce" on page 1563
•":MEASure:CLOCk:METHod" on page 1549
•":MEASure:CLOCk:METHod:OJTF" on page 1560
•":MEASure:CLOCk:METHod:JTF" on page 1558
•":MEASure:CLOCk:METHod:DEEMphasis" on page 1555
•":MEASure:CLOCk:METHod:ALIGn" on page 1553
•":MEASure:CLOCk:METHod:EDGE" on page 1556
History New in version 4.20.
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:METHod:PLLTrack" on page 262.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1563
:MEASure:CLOCk:METHod:SOURce
Command :MEASure:CLOCk:METHod:SOURce {ALL | <source>}
<source> ::= {CHANnel<N> | DIFF<D> | COMMonmode<C>
| FUNCtion<F> | WMEMory<R> | MTRend | MSPectrum | EQUalized
| DIGital<M>}
The :MEASure:CLOCk:METHod:SOURce command selects the waveform source
(or ALL sources) to which other clock recovery method setup commands apply.
Clock recovery methods can be set up for each waveform source (or for all
waveform sources).
Query :MEASure:CLOCk:METHod:SOURce?
The :MEASure:CLOCk:METHod:SOURce? query returns the waveform source to
which other clock recovery method commands currently apply.
Returned Format [:MEASure:CLOCk:METHod:SOURce] <source><NL>
<source> ::= {ALL | CHAN<N> | FUNC<F> | WMEM<N> | MTR | MSP | EQU
| DIG<M>}
See Also •":MEASure:CLOCk:METHod" on page 1549
•":MEASure:CLOCk:METHod:OJTF" on page 1560
•":MEASure:CLOCk:METHod:JTF" on page 1558
•":MEASure:CLOCk:METHod:DEEMphasis" on page 1555
•":MEASure:CLOCk:METHod:ALIGn" on page 1553
•":MEASure:CLOCk:METHod:PLLTrack" on page 1562
•":MEASure:CLOCk:METHod:EDGE" on page 1556
History New in version 5.20.
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:METHod:SOURce" on page 264.
1564 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:CLOCk:VERTical
Command
:MEASure:CLOCk:VERTical {AUTO | MANual}
The :MEASure:CLOCk:VERTical command sets the recovered clock vertical scale
mode to automatic or manual. In automatic mode, the oscilloscope automatically
selects the vertical scaling and offset. In manual mode, you can set your own
scaling and offset values.
Example This example sets the recovered clock vertical scale mode to automatic.
myScope.WriteString ":MEASure:CLOCk:VERTical AUTO"
Query :MEASure:CLOCk:VERTical?
The :MEASure:CLOCk:VERTical? query returns the current recovered clock vertical
scale mode setting.
Returned Format [:MEASure:CLOCk:VERTical] {AUTO | MANual}
Example This example places the current setting of the recovered clock vertical scale mode
in the string variable strSetting, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:CLOCK:VERTICAL?"
strSetting = myScope.ReadString
Debug.Print strSetting
History Legacy command (existed before version 3.10).
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:VERTical" on page 265.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1565
:MEASure:CLOCk:VERTical:OFFSet
Command
:MEASure:CLOCk:VERTical:OFFSet <offset>
The :MEASure:CLOCk:VERTical:OFFSet command sets the recovered clock vertical
offset.
<offset> A real number for the recovered clock vertical offset.
Example This example sets the clock recovery vertical offset to 1 volt.
myScope.WriteString ":MEASure:CLOCK:VERTICAL:OFFSET 1"
Query :MEASure:CLOCk:VERTical:OFFSet?
The :MEASure:CLOCk:VERTical:OFFSet? query returns the clock recovery vertical
offset setting.
Returned Format [:MEASure:CLOCk:VERTical:OFFSet] <value><NL>
<value> The clock recovery vertical offset setting.
Example This example places the current value of recovered clock vertical offset in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CLOCK:VERTICAL:OFFSET?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:VERTical:OFFSet" on page 266.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
1566 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:CLOCk:VERTical:RANGe
Command
:MEASure:CLOCk:VERTical:RANGe <range>
The :MEASure:CLOCk:VERTical:RANGe command sets the recovered clock vertical
range.
<range> A real number for the full-scale recovered clock vertical range.
Example This example sets the recovered clock vertical range to 16 volts (2 volts times 8
divisions.)
myScope.WriteString ":MEASure:CLOCK:VERTICAL:RANGE 16"
Query :MEASure:CLOCk:VERTical:RANGe?
The :MEASure:CLOCk:VERTical:RANGe? query returns the recovered clock vertical
range setting.
Returned Format [:MEASure:CLOCk:VERTical:RANGe] <value><NL>
<value> The recovered clock vertical range setting.
Example This example places the current value of recovered clock vertical range in the
numeric variable, varValue, then prints the contents of the variable to the
computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:CLOCK:VERTICAL:RANGE?"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History Legacy command (existed before version 3.10).
Version 5.30: This command is deprecated, replaced by
":ANALyze:CLOCk:VERTical:RANGe" on page 267.
NOTE
:MEASure:CLOCk commands are available when clock recovery is used by licensed software
(like the E2688A High Speed Serial software or the N5400A/N5401A EZJIT Plus jitter analysis
software).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1567
:MEASure:DDPWS — Data Dependent Pulse Width Shrinkage
Command
:MEASure:DDPWS <source>
The :MEASure:DDPWS command measures the data dependent pulse width
shrinkage for the selected source.
<source> {CHANnel<N> | FUNCtion<F> | WMEMory<R> | CLOCk | MTRend | MSPectrum |
EQUalized}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<R> An integer, 1-4.
Example This example measures the data rate of channel 1.
myScope.WriteString ":MEASure:DDPWS CHANnel1"
Query :MEASure:DDPWS? <source>
The :MEASure:DDPWS? query returns the measured data dependent pulse width
shrinkage.
Returned Format [:MEASure:DDPWS] <value><NL>
<value> Data dependent pulse width shrinkage in seconds for the selected source.
Example This example places the current data dependent pulse width shrinkage value of
the channel 1 waveform in the numeric variable, varValue, then prints the contents
of the variable to the computer's screen.
NOTE
This command is deprecated. In its place, use the query ":MEASure:RJDJ:ALL?" on
page 898 which returns all of the RJDJ jitter measurements.
NOTE
This command is only available when the E2681A Jitter Analysis Software or the
N5400A/N5401A Software is installed.
1568 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
myScope.WriteString ":SYSTem:HEADer OFF" ' Response headers off.
myScope.WriteString ":MEASure:DDPWS? CHANnel1"
varValue = myScope.ReadNumber
Debug.Print FormatNumber(varValue, 0)
History New in version 3.10.
Version 4.20: Obsoleted, replaced by the :MEASure:RJDJ:ALL? query which
returns all of the RJDJ jitter measurements.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1569
:MEASure:FFT:PEAK1
Command :MEASure:FFT:PEAK1 <1st_peak_number>
The :MEASure:FFT:PEAK1command sets the peak number of the first peak for FFT
measurements. The source is specified with the :MEASure:SOURce command as
FUNCtion<F> or WMEMory<R>.
<1st_peak
_number>
An integer, 1 to 100 specifying the number of the first peak.
<N> An integer, 1-4.
<F> An integer, 1-16.
<R> An integer, 1-4.
Query :MEASure:FFT:PEAK1?
The :MEASure:FFT:PEAK1? query returns the peak number currently set as the first
peak.
Returned Format [:MEASure:FFT:PEAK1] <1st_peak_number><NL>
See Also •":MEASure:FFT:THReshold" on page 1571
History Legacy command (existed before version 3.10).
1570 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:FFT:PEAK2
Command :MEASure:FFT:PEAK2 <2nd_peak_number>
The :MEASure:FFT:PEAK2 command sets the peak number of the second peak for
FFT measurements. The source is specified with the :MEASure:SOURce command
as FUNCtion<F> or WMEMory<R>.
<2nd_peak
_number>
An integer, 1 to 100 specifying the number of the second peak.
<N> An integer, 1-4.
<F> An integer, 1-16.
<R> An integer, 1-4.
Query :MEASure:FFT:PEAK2?
The :MEASure:FFT:PEAK2? query returns the peak number currently set as the
second peak.
Returned Format [:MEASure:FFT:PEAK1] <2nd_peak_number><NL>
See Also •":MEASure:FFT:THReshold" on page 1571
History Legacy command (existed before version 3.10).
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1571
:MEASure:FFT:THReshold
Command :MEASure:FFT:THReshold <threshold_value>
The :MEASure:FFT:THReshold command sets the peak search threshold value in
dB. The dB after the threshold value is optional.
<threshold _value> A real number specifying the threshold for peaks.
Query :MEASure:FFT:THReshold?
The :MEASure:FFT:THReshold? query returns the peak search threshold value.
Returned Format [:MEASure:FFT:THReshold] <threshold_value><NL>
These :MEASure commands also operate on FFT functions:
See Also •":MEASure:FFT:PEAK1" on page 1569
•":MEASure:FFT:PEAK2" on page 1570
History Legacy command (existed before version 3.10).
Measure Command Measurement Performed
:TMAX The frequency of the maximum value in the spectrum.
:TMIN The frequency of the minimum value in the spectrum.
:VMAX The maximum value in the spectrum.
:VMIN The minimum value in the spectrum.
:VPP The range of values in the spectrum.
:VTIM The value at a specified frequency.
1572 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
:MEASure:JITTer:STATistics
Command :MEASure:JITTer:STATistics {{ON|1} | {OFF|0}}
The :MEASure:JITTer:STATistics command enables or disables jitter mode and
allows you to view: measurement histogram (:MEASure:JITTer:HISTogram),
measurement trend (:MEASure:JITTer:TRENd), and jitter spectrum
(:MEASure:JITTer:SPsECtrum) if they are enabled.
The :MEASure:JITTer:STATistics command also turns on or off the ability to
measure all edges in the waveform; not just the first edge on screen.
Example This example turns the jitter measurement statistics and the "Measure All Edges"
mode on.
myScope.WriteString ":MEASure:JITTer:STATistics ON"
Query :MEASure:JITTer:STATistics?
The :MEASure:JITTer:STATistics? query returns the state of jitter statistics.
Returned Format [:MEASure:JITTer:STATistics] {1 | 0}
Example This example places the current setting of the jitter statistics mode in the variable
varSetting, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:JITTer:STATistics?"
varSetting = myScope.ReadNumber
Debug.Print FormatNumber(varSetting, 0)
History Legacy command (existed before version 3.10).
Version 5.30: This command is deprecated, replaced by ":ANALyze:AEDGes" on
page 245.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1573
:MEASure:TIEData
Command
:MEASure:TIEData <source>,{SECond | UNITinterval}, {AUTO
| CUSTOM,<data_rate> | VARiable,<data_rate>,<bandwidth>
| CLOCk}
The :MEASure:TIEData command measures data time interval error. You can set
the units of the measurement by selecting SECond (seconds) or UNITinterval.
If AUTO is selected, the oscilloscope selects the ideal data rate. If CUSTom is
selected, you can enter your own ideal constant data rate. If VARiable is selected,
a first order PLL clock recovery is used at a given data rate and loop bandwidth. If
CLOCk is given, clock recovery as specified with the :MEASure:CLOCk:METHod is
used.
<source> {CHANnel<N> | FUNCtion<F> | DIGital<M> | WMEMory<R> | CLOCk | MTRend |
MSPectrum | EQUalized}
MTRend and MSPectrum sources are only available if the oscilloscope has the
EZJIT option installed and the feature is enabled.
The CLOCk source is only available if the oscilloscope has the High Speed Serial
option installed and the feature is enabled.
The EQUalized source is only available if the oscilloscope has the High Speed
Serial option and the Serial Data Equalization option installed and the features are
enabled. This command uses the Feed-Forward Equalized (FFE) signal as the
source.
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<F> An integer, 1-16.
<M> An integer, 0-15. Digital channels are only available on MSO models.
<R> An integer, 1-4.
<data_rate> A real number for the ideal data rate for clock recovery.
<bandwidth> A real number for the loop bandwidth of the PLL clock recovery method.
Example This example measures the data time interval error on channel 1, ideal data rate
set to automatic, units set to seconds.
myScope.WriteString ":MEASure:TIEData CHANnel1,SECond,AUTO"
Query :MEASure:TIEData? <source>,(SECond | UNITinterval},
{AUTO | CUSTom,<frequency> | VARiable,<frequency>,<bandwidth> | CLOCk}
NOTE
This command is only available when the E2681A Jitter Analysis Software, Serial Data
Analysis, or the N5400A/5401A Software is installed.
1574 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
The :MEASure:TIEData? query returns the current value of the data time interval
error.
Returned Format [:MEASure:TIEData] <value>[,<result_state>]<NL>
<value> The data time interval error value.
<result_state> If SENDvalid is ON, the result state is returned with the measurement result. See
the :MEASure:RESults table in this chapter for a list of the result states.
Example This example places the current value of the data time interval error in the variable
strValue, then prints the contents of the variable to the computer's screen.
myScope.WriteString ":SYSTem:HEADer OFF"
myScope.WriteString ":MEASure:TIEData? CHANnel1,SECond,CUSTOM,1E9"
strValue = myScope.ReadString
Debug.Print strValue
History Legacy command (existed before version 3.10).
Version 5.50: This command is deprecated, replaced by ":MEASure:TIEData2" on
page 977.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1575
:MTESt:FOLDing:COUNt?
Query :MTESt:FOLDing:COUNt? [<source>]
The :MTESt:FOLDing:COUNt? query returns the number of waveforms and unit
intervals in the real time eye.
<source> {CHANnel<N> | DIFF<D> | COMMonmode<C> | FUNCtion<F> | WMEMory<R> |
EQUalized}
<N> An integer, 1-4 in a single oscilloscope, 1-40 in a MultiScope system.
<D>, <C> <D> is an integer, 1-2. <C> is an integer, 3-4.
The DIFF and COMMonmode sources are just aliases that can be used in place of
the channel names to apply to differential or common mode signals. These are just
aliases - no state change occurs if you refer to a differential channel and you are
not in differential mode. DIFF1 refers to the differential signal between channels 1
and 3 (and COMMonmode3 refers to the common mode channel between these
same channels). DIFF2 refers to the differential signal between channels 2 and 4
(and COMMonmode4 refers to the common mode channel between these same
channels).
If the <source> is not specified, the :MTESt:FOLDing:COUNt? query returns the
results of the first real-time eye that is on. Sources are ordered by channels,
memories, and then functions.
<F> An integer, 1-16.
<R> An integer, 1-4.
Returned Format [:MTESt:FOLDing:COUNt] Real Time Eye<NL>
<N> UI<NL>
<N> Wfm<NL>
The UI count returned is a floating-point value. The Wfm count returned is an
integer.
Example myScope.WriteString ":MTESt:FOLDing:COUNt? CHANnel1"
strRteCount = myScope.ReadString
Debug.Print strRteCount
See Also •":MTESt:FOLDing (Clock Recovery software only)" on page 691
•":MTESt:FOLDing:BITS" on page 693
•":MTESt:FOLDing:FAST" on page 699
•":MTESt:FOLDing:POSition" on page 701
•":MTESt:FOLDing:TPOSition" on page 705
•":MTESt:FOLDing:SCALe" on page 703
•":MTESt:FOLDing:TSCale" on page 707
History New in version 5.00.
1576 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
Version 5.50: The UI count returned is now a floating-point value instead of an
integer value. This command is deprecated, replaced by
":MTESt:FOLDing:COUNt:UI?" on page 695 and
":MTESt:FOLDing:COUNt:WAVeforms?" on page 697.
Version 5.52: The <source> parameter is now optional.
Obsolete and Discontinued Commands 40
Keysight Infiniium Oscilloscopes Programmer's Guide 1577
:SPRocessing:CTLequalizer:ZERo
Command :SPRocessing:CTLequalizer:ZERo <zero_freq>
The :CTLequalizer:ZERo command sets the zero frequency for the Continuous
Time Linear Equalization.
<zero_freq> A real number.
Example This example sets the CTLE zero frequency to 900 MHz.
myScope.WriteString ":SPRocessing:CTLequalizer:ZERo 9e6"
Query :SPRocessing:CTLequalizer:ZERo?
The :SPRocessing:CTLequalizer:ZERo? query returns the CTLE's zero frequency.
History Legacy command (existed before version 3.10).
Version 5.75: Now that you can specify up to two zeros for a 3-pole CTLE, this
command has been replaced by ":SPRocessing:CTLequalizer:Z1" on page 1149
and ":SPRocessing:CTLequalizer:Z2" on page 1150.
1578 Keysight Infiniium Oscilloscopes Programmer's Guide
40 Obsolete and Discontinued Commands
1579
Keysight Infiniium Oscilloscopes
Programmer's Guide
41 Error Messages
Error Queue / 1580
Error Numbers / 1581
Command Error / 1582
Execution Error / 1583
Device- or Oscilloscope-Specific Error / 1584
Query Error / 1585
List of Error Messages / 1586
This chapter describes the error messages and how they are generated. The
possible causes for the generation of the error messages are also listed in the
following table.
1580 Keysight Infiniium Oscilloscopes Programmer's Guide
41 Error Messages
Error Queue
As errors are detected, they are placed in an error queue. This queue is first in, first
out. If the error queue overflows, the last error in the queue is replaced with error
-350,"Queue overflow". Any time the error queue overflows, the oldest errors
remain in the queue, and the most recent error is discarded. The length of the
oscilloscope's error queue is 30 (29 positions for the error messages, and 1
position for the "Queue overflow" message).
Reading an error from the head of the queue removes that error from the queue,
and opens a position at the tail of the queue for a new error. When all errors have
been read from the queue, subsequent error queries return 0,"No error".
The error queue is cleared when any of the following occur:
• the instrument is powered up,
• a *CLS command is sent,
• the last item from the queue is read, or
• the instrument is switched from talk only to addressed mode on the front panel.
Error Messages 41
Keysight Infiniium Oscilloscopes Programmer's Guide 1581
Error Numbers
The error numbers are grouped according to the type of error that is detected.
• +0 indicates no errors were detected.
• -100 to -199 indicates a command error was detected
• -200 to -299 indicates an execution error was detected.
• -300 to -399 indicates a device-specific error was detected.
• -400 to-499 indicates a query error was detected.
• +1 to +32767 indicates an oscilloscope specific error has been detected.
1582 Keysight Infiniium Oscilloscopes Programmer's Guide
41 Error Messages
Command Error
An error number in the range -100 to -199 indicates that an IEEE 488.2 syntax
error has been detected by the instrument's parser. The occurrence of any error in
this class sets the command error bit (bit 5) in the event status register and
indicates that one of the following events occurred:
• An IEEE 488.2 syntax error was detected by the parser. That is, a
computer-to-oscilloscope message was received that is in violation of the IEEE
488.2 standard. This may be a data element that violates the oscilloscope's
listening formats, or a data type that is unacceptable to the oscilloscope.
• An unrecognized header was received. Unrecognized headers include incorrect
oscilloscope-specific headers and incorrect or unimplemented IEEE 488.2
common commands.
• A Group Execute Trigger (GET) was entered into the input buffer inside of an
IEEE 488.2 program message.
Events that generate command errors do not generate execution errors,
oscilloscope-specific errors, or query errors.
Error Messages 41
Keysight Infiniium Oscilloscopes Programmer's Guide 1583
Execution Error
An error number in the range -200 to -299 indicates that an error was detected by
the instrument's execution control block. The occurrence of any error in this class
causes the execution error bit (bit 4) in the event status register to be set. It also
indicates that one of the following events occurred:
• The program data following a header is outside the legal input range or is
inconsistent with the oscilloscope's capabilities.
• A valid program message could not be properly executed due to some
oscilloscope condition.
Execution errors are reported by the oscilloscope after expressions are evaluated
and rounding operations are completed. For example, rounding a numeric data
element will not be reported as an execution error. Events that generate execution
errors do not generate command errors, oscilloscope specific errors, or query
errors.
1584 Keysight Infiniium Oscilloscopes Programmer's Guide
41 Error Messages
Device- or Oscilloscope-Specific Error
An error number in the range of -300 to -399 or +1 to +32767 indicates that the
instrument has detected an error caused by an oscilloscope operation that did not
properly complete. This may be due to an abnormal hardware or firmware
condition. For example, this error may be generated by a self-test response error,
or a full error queue. The occurrence of any error in this class causes the
oscilloscope-specific error bit (bit 3) in the event status register to be set.
Error Messages 41
Keysight Infiniium Oscilloscopes Programmer's Guide 1585
Query Error
An error number in the range -400 to -499 indicates that the output queue control
of the instrument has detected a problem with the message exchange protocol. An
occurrence of any error in this class should cause the query error bit (bit 2) in the
event status register to be set. An occurrence of an error also means one of the
following is true:
• An attempt is being made to read data from the output queue when no output
is either present or pending.
• Data in the output queue has been lost.
1586 Keysight Infiniium Oscilloscopes Programmer's Guide
41 Error Messages
List of Error Messages
Table 21 a list of the error messages that are returned by the parser on this
oscilloscope.
Table 21 Error Messages
Error # Error String Description
25 This entry isn't a valid selection.
The control has not been modified.
This error occurs when a command tries to perform a setting that isn't a
valid.
0 No error The error queue is empty. Every error in the queue has been read
(:SYSTem:ERRor? query) or the queue was cleared by power-up or *CLS.
-100 Command error This is the generic syntax error used if the oscilloscope cannot detect
more specific errors.
-101 Invalid character A syntactic element contains a character that is invalid for that type.
-102 Syntax error An unrecognized command or data type was encountered.
-103 Invalid separator The parser was expecting a separator and encountered an illegal
character.
-104 Data type error The parser recognized a data element different than one allowed. For
example, numeric or string data was expected but block data was
received.
-105 GET not allowed A Group Execute Trigger was received within a program message.
-108 Parameter not allowed More parameters were received than expected for the header.
-109 Missing parameter Fewer parameters were received than required for the header.
-112 Program mnemonic too long The header or character data element contains more than twelve
characters.
-113 Undefined header The header is syntactically correct, but it is undefined for the oscilloscope.
For example, *XYZ is not defined for the oscilloscope.
-121 Invalid character in number An invalid character for the data type being parsed was encountered. For
example, a "9" in octal data.
-123 Numeric overflow Number is too large or too small to be represented internally.
-124 Too many digits The mantissa of a decimal numeric data element contained more than 255
digits excluding leading zeros.
-128 Numeric data not allowed A legal numeric data element was received, but the oscilloscope does not
accept one in this position for the header.
-131 Invalid suffix The suffix does not follow the syntax described in IEEE 488.2 or the suffix
is inappropriate for the oscilloscope.
-138 Suffix not allowed A suffix was encountered after a numeric element that does not allow
suffixes.
Error Messages 41
Keysight Infiniium Oscilloscopes Programmer's Guide 1587
-141 Invalid character data Either the character data element contains an invalid character or the
particular element received is not valid for the header.
-144 Character data too long
-148 Character data not allowed A legal character data element was encountered where prohibited by the
oscilloscope.
-150 String data error This error can be generated when parsing a string data element. This
particular error message is used if the oscilloscope cannot detect a more
specific error.
-151 Invalid string data A string data element was expected, but was invalid for some reason. For
example, an END message was received before the terminal quote
character.
-158 String data not allowed A string data element was encountered but was not allowed by the
oscilloscope at this point in parsing.
-160 Block data error This error can be generated when parsing a block data element. This
particular error message is used if the oscilloscope cannot detect a more
specific error.
-161 Invalid block data
-168 Block data not allowed A legal block data element was encountered but was not allowed by the
oscilloscope at this point in parsing.
-170 Expression error This error can be generated when parsing an expression data element. It is
used if the oscilloscope cannot detect a more specific error.
-171 Invalid expression
-178 Expression data not allowed Expression data was encountered but was not allowed by the oscilloscope
at this point in parsing.
-200 Execution error This is a generic syntax error which is used if the oscilloscope cannot
detect more specific errors.
-212 Arm ignored
-213 Init ignored
-214 Trigger deadlock
-215 Arm deadlock
-220 Parameter error
-221 Settings conflict
-222 Data out of range Indicates that a legal program data element was parsed but could not be
executed because the interpreted value is outside the legal range defined
by the oscilloscope.
Table 21 Error Messages (continued)
Error # Error String Description
1588 Keysight Infiniium Oscilloscopes Programmer's Guide
41 Error Messages
-223 Too much data Indicates that a legal program data element of block, expression, or string
type was received that contained more data than the oscilloscope could
handle due to memory or related oscilloscope-specific requirements.
-224 Illegal parameter value
-230 Data corrupt or stale
-231 Data questionable
-240 Hardware error
-241 Hardware missing
-250 Mass storage error
-251 Missing mass storage
-252 Missing media
-253 Corrupt media
-254 Media full
-255 Directory full
-256 File name not found
-257 File name error
-258 Media protected
-260 Expression error
-261 Math error in expression
-300 Device specific error
-310 System error Indicates that a system error occurred.
-311 Memory error
-312 PUD memory error
-313 Calibration memory lost
-314 Save/recall memory lost
-315 Configuration memory lost
-321 Out of memory
-330 Self-test failed
-350 Queue overflow Indicates that there is no room in the error queue and an error occurred
but was not recorded.
-370 No sub tests are defined for the
selected self test
Table 21 Error Messages (continued)
Error # Error String Description
Error Messages 41
Keysight Infiniium Oscilloscopes Programmer's Guide 1589
-371 Self Test status is corrupt or no
self test has been executed
-372 This product configuration does not
support the requested self test
-373 This product configuration does not
support the requested source
-374 The requested self test log file
could not be found
-375 Attenuator relay actuation counts
can only be modified during factory
service
-400 Query error This is the generic query error.
-410 Query INTERRUPTED
-420 Query UNTERMINATED
-430 Query DEADLOCKED
-440 Query UNTERMINATED after
indefinite response
Table 21 Error Messages (continued)
Error # Error String Description
1590 Keysight Infiniium Oscilloscopes Programmer's Guide
41 Error Messages
1592 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
VISA COM Examples
•"VISA COM Example in Visual Basic" on page 1592
•"VISA COM Example in C#" on page 1603
•"VISA COM Example in Visual Basic .NET" on page 1613
•"VISA COM Example in Python" on page 1622
VISA COM Example in Visual Basic
To run this example in Visual Basic for Applications (VBA):
1Start the application that provides Visual Basic for Applications (for example,
Microsoft Excel).
2Press ALT+F11 to launch the Visual Basic editor.
3Reference the Keysight VISA COM library:
aChoose Tools>References... from the main menu.
bIn the References dialog, check:
•VISA COM 5.5 Type Library
•Microsoft Scripting Runtime
cClick OK.
4Choose Insert > Module.
5Cut-and-paste the code that follows into the editor.
6Edit the program to use the VISA address of your oscilloscope, and save the
changes.
7Run the program.
'
' Keysight VISA COM Example in Visual Basic
' -------------------------------------------------------------------
' This program illustrates a few commonly-used programming
' features of your Keysight Infiniium Series oscilloscope.
' -------------------------------------------------------------------
Option Explicit
Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String
' For Sleep subroutine.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'
' Main Program
' -------------------------------------------------------------------
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1593
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::141.121.237.226::hislip0::INSTR")
myScope.IO.Timeout = 15000 ' Set I/O communication timeout.
myScope.IO.Clear ' Clear the interface.
' Initialize - start from a known state.
Initialize
' Capture data.
Capture
' Analyze the captured waveform.
Analyze
Exit Sub
VisaComError:
MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End
End Sub
'
' Initialize the oscilloscope to a known state.
' -------------------------------------------------------------------
Private Sub Initialize()
On Error GoTo VisaComError
' Clear status.
DoCommand "*CLS"
' Get and display the device's *IDN? string.
strQueryResult = DoQueryString("*IDN?")
Debug.Print "Identification string:"+strQueryResult
' Load the default setup.
DoCommand "*RST"
Exit Sub
VisaComError:
MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End
End Sub
'
1594 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
' Capture the waveform.
' -------------------------------------------------------------------
Private Sub Capture()
On Error GoTo VisaComError
' Set probe attenuation factor.
DoCommand ":CHANnel1:PROBe 1.0"
Debug.Print "Channel 1 probe attenuation factor: " + _
DoQueryString(":CHANnel1:PROBe?")
' Use auto-scale to automatically set up oscilloscope.
' -----------------------------------------------------------------
Debug.Print "Autoscale."
DoCommand ":AUToscale"
' Set trigger mode.
DoCommand ":TRIGger:MODE EDGE"
Debug.Print "Trigger mode: " + _
DoQueryString(":TRIGger:MODE?")
' Set EDGE trigger parameters.
DoCommand ":TRIGger:EDGE:SOURCe CHANnel1"
Debug.Print "Trigger edge source: " + _
DoQueryString(":TRIGger:EDGE:SOURce?")
DoCommand ":TRIGger:LEVel CHANnel1,-2E-3"
Debug.Print "Trigger level, channel 1: " + _
DoQueryString(":TRIGger:LEVel? CHANnel1")
DoCommand ":TRIGger:EDGE:SLOPe POSitive"
Debug.Print "Trigger edge slope: " + _
DoQueryString(":TRIGger:EDGE:SLOPe?")
' Save oscilloscope setup.
' -----------------------------------------------------------------
varQueryResult = DoQueryIEEEBlock_UI1(":SYSTem:SETup?")
' Output setup string to a file:
Dim strPath As String
strPath = "c:\scope\config\setup.dat"
Dim hFile As Long
hFile = FreeFile
Open strPath For Binary Access Write Lock Write As hFile
Put hFile, , varQueryResult ' Write data.
Close hFile ' Close file.
Debug.Print "Setup bytes saved: " + CStr(LenB(varQueryResult))
' Change oscilloscope settings with individual commands:
' -----------------------------------------------------------------
' Set vertical scale and offset.
DoCommand ":CHANnel1:SCALe 0.1"
Debug.Print "Channel 1 vertical scale: " + _
DoQueryString(":CHANnel1:SCALe?")
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1595
DoCommand ":CHANnel1:OFFSet 0.0"
Debug.Print "Channel 1 vertical offset: " + _
DoQueryString(":CHANnel1:OFFSet?")
' Set horizontal scale and offset.
DoCommand ":TIMebase:SCALe 200E-6"
Debug.Print "Timebase scale:"+_
DoQueryString(":TIMebase:SCALe?")
DoCommand ":TIMebase:POSition 0.0"
Debug.Print "Timebase position: " + _
DoQueryString(":TIMebase:POSition?")
' Set the acquisition mode.
DoCommand ":ACQuire:MODE RTIMe"
Debug.Print "Acquire mode: " + _
DoQueryString(":ACQuire:MODE?")
' Or, configure by loading a previously saved setup.
' -----------------------------------------------------------------
Dim varSetupString As Variant
strPath = "c:\scope\config\setup.dat"
Open strPath For Binary Access Read As hFile ' Open file for input.
Get hFile, , varSetupString ' Read data.
Close hFile ' Close file.
' Write learn string back to oscilloscope using ":SYSTem:SETup"
' command:
DoCommandIEEEBlock ":SYSTem:SETup", varSetupString
Debug.Print "Setup bytes restored: " + CStr(LenB(varSetupString))
' Set the desired number of waveform points,
' and capture an acquisition.
' -----------------------------------------------------------------
DoCommand ":ACQuire:POINts 32000"
DoCommand ":DIGitize"
Exit Sub
VisaComError:
MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End
End Sub
'
' Analyze the captured waveform.
' -------------------------------------------------------------------
Private Sub Analyze()
On Error GoTo VisaComError
' Make measurements.
' -----------------------------------------------------------------
DoCommand ":MEASure:SOURce CHANnel1"
Debug.Print "Measure source:"+_
DoQueryString(":MEASure:SOURce?")
1596 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
DoCommand ":MEASure:FREQuency"
varQueryResult = DoQueryNumber(":MEASure:FREQuency?")
MsgBox "Frequency:" + vbCrLf + _
FormatNumber(varQueryResult / 1000, 4) + " kHz"
DoCommand ":MEASure:VAMPlitude"
varQueryResult = DoQueryNumber(":MEASure:VAMPlitude?")
MsgBox "Vertical amplitude:" + vbCrLf + _
FormatNumber(varQueryResult, 4)+"V"
' Download the screen image.
' -----------------------------------------------------------------
' Get screen image.
Dim byteData() As Byte
byteData = DoQueryIEEEBlock_UI1(":DISPlay:DATA? PNG")
' Save screen image to a file.
Dim strPath As String
strPath = "c:\scope\data\screen.png"
If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists.
End If
Dim hFile As Long
hFile = FreeFile
Open strPath For Binary Access Write Lock Write As hFile
Put hFile, , byteData ' Write data.
Close hFile ' Close file.
MsgBox "Screen image (" + CStr(UBound(byteData) + 1) + _
" bytes) written to " + strPath
' Download waveform data.
' -----------------------------------------------------------------
' Get the waveform type.
Debug.Print "Waveform type:"+_
DoQueryString(":WAVeform:TYPE?")
' Get the number of waveform points.
Debug.Print "Waveform points available: " + _
DoQueryString(":WAVeform:POINts?")
' Set the waveform source.
DoCommand ":WAVeform:SOURce CHANnel1"
Debug.Print "Waveform source: " + _
DoQueryString(":WAVeform:SOURce?")
' Choose the format of the data returned:
DoCommand ":WAVeform:FORMat WORD"
Debug.Print "Waveform format: " + _
DoQueryString(":WAVeform:FORMat?")
' Display the waveform settings from preamble:
Dim Preamble()
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1597
Dim intFormat As Integer
Dim intType As Integer
Dim lngPoints As Long
Dim lngCount As Long
Dim dblXIncrement As Double
Dim dblXOrigin As Double
Dim lngXReference As Long
Dim sngYIncrement As Single
Dim sngYOrigin As Single
Dim lngYReference As Long
Dim intCoupling As Integer
Dim dblXDispRange As Double
Dim dblXDispOrigin As Double
Dim dblYDispRange As Double
Dim dblYDispOrigin As Double
Dim strDate As String
Dim strTime As String
Dim strFrameModel As String
Dim intAcqMode As Integer
Dim intCompletion As Integer
Dim intXUnits As Integer
Dim intYUnits As Integer
Dim dblMaxBwLimit As Double
Dim dblMinBwLimit As Double
Dim dctWavFormat As Scripting.Dictionary
Set dctWavFormat = New Scripting.Dictionary
dctWavFormat.Add 0, "ASCii"
dctWavFormat.Add 1, "BYTE"
dctWavFormat.Add 2, "WORD"
dctWavFormat.Add 3, "LONG"
dctWavFormat.Add 4, "LONGLONG"
Dim dctAcqType As Scripting.Dictionary
Set dctAcqType = New Scripting.Dictionary
dctAcqType.Add 1, "RAW"
dctAcqType.Add 2, "AVERage"
dctAcqType.Add 3, "VHIStogram"
dctAcqType.Add 4, "HHIStogram"
dctAcqType.Add 6, "INTerpolate"
dctAcqType.Add 10, "PDETect"
Dim dctAcqMode As Scripting.Dictionary
Set dctAcqMode = New Scripting.Dictionary
dctAcqMode.Add 0, "RTIMe"
dctAcqMode.Add 1, "ETIMe"
dctAcqMode.Add 3, "PDETect"
Dim dctCoupling As Scripting.Dictionary
Set dctCoupling = New Scripting.Dictionary
dctCoupling.Add 0, "AC"
dctCoupling.Add 1, "DC"
dctCoupling.Add 2, "DCFIFTY"
dctCoupling.Add 3, "LFREJECT"
Dim dctUnits As Scripting.Dictionary
Set dctUnits = New Scripting.Dictionary
1598 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
dctUnits.Add 0, "UNKNOWN"
dctUnits.Add 1, "VOLT"
dctUnits.Add 2, "SECOND"
dctUnits.Add 3, "CONSTANT"
dctUnits.Add 4, "AMP"
dctUnits.Add 5, "DECIBEL"
Preamble() = DoQueryNumbers(":WAVeform:PREamble?")
intFormat = Preamble(0)
intType = Preamble(1)
lngPoints = Preamble(2)
lngCount = Preamble(3)
dblXIncrement = Preamble(4)
dblXOrigin = Preamble(5)
lngXReference = Preamble(6)
sngYIncrement = Preamble(7)
sngYOrigin = Preamble(8)
lngYReference = Preamble(9)
intCoupling = Preamble(10)
dblXDispRange = Preamble(11)
dblXDispOrigin = Preamble(12)
dblYDispRange = Preamble(13)
dblYDispOrigin = Preamble(14)
strDate = Preamble(15)
strTime = Preamble(16)
strFrameModel = Preamble(17)
intAcqMode = Preamble(18)
intCompletion = Preamble(19)
intXUnits = Preamble(20)
intYUnits = Preamble(21)
dblMaxBwLimit = Preamble(22)
dblMinBwLimit = Preamble(23)
Debug.Print "Waveform format: " + dctWavFormat.Item(intFormat)
Debug.Print "Acquisition type: " + dctAcqType.Item(intType)
Debug.Print "Waveform points desired: " + _
FormatNumber(lngPoints, 0)
Debug.Print "Waveform average count:"+_
FormatNumber(lngCount, 0)
Debug.Print "Waveform X increment: " + _
Format(dblXIncrement, "Scientific")
Debug.Print "Waveform X origin: " + _
Format(dblXOrigin, "Scientific")
Debug.Print "Waveform X reference: " + _
FormatNumber(lngXReference, 0)
Debug.Print "Waveform Y increment: " + _
Format(sngYIncrement, "Scientific")
Debug.Print "Waveform Y origin: " + _
FormatNumber(sngYOrigin, 0)
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1599
Debug.Print "Waveform Y reference: " + _
FormatNumber(lngYReference, 0)
Debug.Print "Coupling: " + dctCoupling.Item(intCoupling)
Debug.Print "Waveform X display range: " + _
Format(dblXDispRange, "Scientific")
Debug.Print "Waveform X display origin: " + _
Format(dblXDispOrigin, "Scientific")
Debug.Print "Waveform Y display range: " + _
Format(dblYDispRange, "Scientific")
Debug.Print "Waveform Y display origin: " + _
Format(dblYDispOrigin, "Scientific")
Debug.Print "Date: " + strDate
Debug.Print "Time: " + strTime
Debug.Print "Frame model: " + strFrameModel
Debug.Print "Acquire mode: " + dctAcqMode.Item(intAcqMode)
Debug.Print "Completion pct:"+_
FormatNumber(intCompletion, 0)
Debug.Print "Waveform X units: " + dctUnits.Item(intXUnits)
Debug.Print "Waveform Y units: " + dctUnits.Item(intYUnits)
Debug.Print "Max BW limit: " + _
Format(dblMaxBwLimit, "Scientific")
Debug.Print "Min BW limit: " + _
Format(dblMinBwLimit, "Scientific")
' Get the waveform data.
DoCommand ":WAVeform:STReaming OFF"
varQueryResult = DoQueryIEEEBlock_I2(":WAVeform:DATA?")
Debug.Print "Number of data values:"+_
CStr(UBound(varQueryResult) + 1)
' Set up output file:
strPath = "c:\scope\data\waveform_data.csv"
' Open file for output.
Open strPath For Output Access Write Lock Write As hFile
' Output waveform data in CSV format.
Dim lngDataValue As Long
Dim lngI As Long
For lngI = 0 To UBound(varQueryResult)
lngDataValue = varQueryResult(lngI)
' Write time value, voltage value.
Print #hFile, _
FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _
1600 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
", " + _
FormatNumber((lngDataValue * sngYIncrement) + sngYOrigin)
Next lngI
' Close output file.
Close hFile ' Close file.
MsgBox "Waveform format WORD data written to"+_
"c:\scope\data\waveform_data.csv."
Exit Sub
VisaComError:
MsgBox "VISA COM Error:" + vbCrLf + Err.Description
End
End Sub
Private Sub DoCommand(command As String)
On Error GoTo VisaComError
myScope.WriteString command
CheckInstrumentErrors
Exit Sub
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ","+_
Err.Description, vbExclamation, "VISA COM Error"
End
End Sub
Private Sub DoCommandIEEEBlock(command As String, data As Variant)
On Error GoTo VisaComError
Dim strErrors As String
myScope.WriteIEEEBlock command, data
CheckInstrumentErrors
Exit Sub
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ","+_
Err.Description, vbExclamation, "VISA COM Error"
End
End Sub
Private Function DoQueryString(query As String) As String
On Error GoTo VisaComError
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1601
myScope.WriteString query
DoQueryString = myScope.ReadString
CheckInstrumentErrors
Exit Function
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ","+_
Err.Description, vbExclamation, "VISA COM Error"
End
End Function
Private Function DoQueryNumber(query As String) As Variant
On Error GoTo VisaComError
myScope.WriteString query
DoQueryNumber = myScope.ReadNumber
CheckInstrumentErrors
Exit Function
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ","+_
Err.Description, vbExclamation, "VISA COM Error"
End
End Function
Private Function DoQueryNumbers(query As String) As Variant()
On Error GoTo VisaComError
Dim strErrors As String
myScope.WriteString query
DoQueryNumbers = myScope.ReadList
CheckInstrumentErrors
Exit Function
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ","+_
Err.Description, vbExclamation, "VISA COM Error"
End
End Function
Private Function DoQueryIEEEBlock_UI1(query As String) As Variant
On Error GoTo VisaComError
1602 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
myScope.WriteString query
DoQueryIEEEBlock_UI1 = myScope.ReadIEEEBlock(BinaryType_UI1)
CheckInstrumentErrors
Exit Function
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ","+_
Err.Description, vbExclamation, "VISA COM Error"
End
End Function
Private Function DoQueryIEEEBlock_I2(query As String) As Variant
On Error GoTo VisaComError
myScope.WriteString query
DoQueryIEEEBlock_I2 = myScope.ReadIEEEBlock(BinaryType_I2)
CheckInstrumentErrors
Exit Function
VisaComError:
MsgBox "VISA COM Error: " + vbCrLf + CStr(Err.Number) + ", " + _
Err.Source + ","+_
Err.Description, vbExclamation, "VISA COM Error"
End
End Function
Private Sub CheckInstrumentErrors()
On Error GoTo VisaComError
Dim strErrVal As String
Dim strOut As String
myScope.WriteString ":SYSTem:ERRor? STRing" ' Query any errors data.
strErrVal = myScope.ReadString ' Read: Errnum,"Error String".
While Val(strErrVal) <> 0 ' End if find: 0,"No Error".
strOut = strOut + "INST Error: " + strErrVal
myScope.WriteString ":SYSTem:ERRor? STRing" ' Request error message.
strErrVal = myScope.ReadString ' Read error message.
Wend
If Not strOut = "" Then
MsgBox strOut, vbExclamation, "INST Error Messages"
myScope.FlushWrite (False)
myScope.FlushRead
End If
Exit Sub
VisaComError:
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1603
MsgBox "VISA COM Error: " + vbCrLf + Err.Description
End Sub
VISA COM Example in C#
To compile and run this example in Microsoft Visual Studio 2008:
1Open Visual Studio.
2Create a new Visual C#, Windows, Console Application project.
3Cut-and-paste the code that follows into the C# source file.
4Edit the program to use the VISA address of your oscilloscope.
5Add a reference to the VISA COM 3.0 Type Library:
aRight-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment.
bChoose Add Reference....
cIn the Add Reference dialog, select the COM tab.
dSelect VISA COM 5.5 Type Library; then click OK.
6Build and run the program.
For more information, see the VISA COM Help that comes with Keysight IO
Libraries Suite 15.
/*
* Keysight VISA COM Example in C#
* -------------------------------------------------------------------
* This program illustrates a few commonly used programming
* features of your Keysight Infiniium Series oscilloscope.
* -------------------------------------------------------------------
*/
using System;
using System.IO;
using System.Text;
using System.Collections.Generic;
using Ivi.Visa.Interop;
using System.Runtime.InteropServices;
namespace Infiniium
{
class VisaComInstrumentApp
{
private static VisaComInstrument myScope;
public static void Main(string[] args)
{
try
{
myScope = new
VisaComInstrument("TCPIP0::141.121.237.226::hislip0::INSTR");
1604 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
myScope.SetTimeoutSeconds(10);
// Initialize - start from a known state.
Initialize();
// Capture data.
Capture();
// Analyze the captured waveform.
Analyze();
Console.WriteLine("Press any key to exit");
Console.ReadKey();
}
catch (System.ApplicationException err)
{
Console.WriteLine("*** VISA COM Error:"+err.Message);
}
catch (System.SystemException err)
{
Console.WriteLine("*** System Error Message : " + err.Message);
}
catch (System.Exception err)
{
System.Diagnostics.Debug.Fail("Unexpected Error");
Console.WriteLine("*** Unexpected Error:"+err.Message);
}
finally
{
myScope.Close();
}
}
/*
* Initialize the oscilloscope to a known state.
* --------------------------------------------------------------
*/
private static void Initialize()
{
string strResults;
// Clear status.
myScope.DoCommand("*CLS");
// Get and display the device's *IDN? string.
strResults = myScope.DoQueryString("*IDN?");
Console.WriteLine("*IDN? result is: {0}", strResults);
// Load the default setup.
myScope.DoCommand("*RST");
}
/*
* Capture the waveform.
* --------------------------------------------------------------
*/
private static void Capture()
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1605
{
// Set probe attenuation factor.
myScope.DoCommand(":CHANnel1:PROBe 1.0");
Console.WriteLine("Channel 1 probe attenuation factor: {0}",
myScope.DoQueryString(":CHANnel1:PROBe?"));
// Use auto-scale to automatically set up oscilloscope.
myScope.DoCommand(":AUToscale");
// Set trigger mode.
myScope.DoCommand(":TRIGger:MODE EDGE");
Console.WriteLine("Trigger mode: {0}",
myScope.DoQueryString(":TRIGger:MODE?"));
// Set EDGE trigger parameters.
myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1");
Console.WriteLine("Trigger edge source: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SOURce?"));
myScope.DoCommand(":TRIGger:LEVel CHANnel1,-2E-3");
Console.WriteLine("Trigger level, channel 1: {0}",
myScope.DoQueryString(":TRIGger:LEVel? CHANnel1"));
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive");
Console.WriteLine("Trigger edge slope: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"));
// Save oscilloscope setup.
byte[] ResultsArray; // Results array.
int nLength; // Number of bytes returned from instrument.
string strPath;
// Query and read setup string.
ResultsArray = myScope.DoQueryIEEEBlock_UI1(":SYSTem:SETup?");
nLength = ResultsArray.Length;
// Write setup string to file.
strPath = "c:\\scope\\config\\setup.stp";
FileStream fStream = File.Open(strPath, FileMode.Create);
fStream.Write(ResultsArray, 0, nLength);
fStream.Close();
Console.WriteLine("Setup bytes saved: {0}", nLength);
// Change settings with individual commands:
// Set vertical scale and offset.
myScope.DoCommand(":CHANnel1:SCALe 0.1");
Console.WriteLine("Channel 1 vertical scale: {0}",
myScope.DoQueryString(":CHANnel1:SCALe?"));
myScope.DoCommand(":CHANnel1:OFFSet 0.0");
Console.WriteLine("Channel 1 vertical offset: {0}",
myScope.DoQueryString(":CHANnel1:OFFSet?"));
// Set horizontal scale and offset.
myScope.DoCommand(":TIMebase:SCALe 0.0002");
Console.WriteLine("Timebase scale: {0}",
1606 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
myScope.DoQueryString(":TIMebase:SCALe?"));
myScope.DoCommand(":TIMebase:POSition 0.0");
Console.WriteLine("Timebase position: {0}",
myScope.DoQueryString(":TIMebase:POSition?"));
// Set the acquisition mode.
myScope.DoCommand(":ACQuire:MODE RTIMe");
Console.WriteLine("Acquire mode: {0}",
myScope.DoQueryString(":ACQuire:MODE?"));
// Or, configure by loading a previously saved setup.
byte[] DataArray;
int nBytesWritten;
// Read setup string from file.
strPath = "c:\\scope\\config\\setup.stp";
DataArray = File.ReadAllBytes(strPath);
nBytesWritten = DataArray.Length;
// Restore setup string.
myScope.DoCommandIEEEBlock(":SYSTem:SETup", DataArray);
Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);
// Set the desired number of waveform points,
// and capture an acquisition.
myScope.DoCommand(":ACQuire:POINts 32000");
myScope.DoCommand(":DIGitize");
}
/*
* Analyze the captured waveform.
* --------------------------------------------------------------
*/
private static void Analyze()
{
byte[] ResultsArray; // Results array.
int nLength; // Number of bytes returned from instrument.
string strPath;
// Make measurements.
// -----------------------------------------------------------
myScope.DoCommand(":MEASure:SOURce CHANnel1");
Console.WriteLine("Measure source: {0}",
myScope.DoQueryString(":MEASure:SOURce?"));
double fResult;
myScope.DoCommand(":MEASure:FREQuency");
fResult = myScope.DoQueryNumber(":MEASure:FREQuency?");
Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000);
myScope.DoCommand(":MEASure:VAMPlitude");
fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?");
Console.WriteLine("Vertical amplitude: {0:F2} V", fResult);
// Download the screen image.
// -----------------------------------------------------------
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1607
// Get the screen data.
ResultsArray =
myScope.DoQueryIEEEBlock_UI1(":DISPlay:DATA? PNG");
nLength = ResultsArray.Length;
// Store the screen data to a file.
strPath = "c:\\scope\\data\\screen.png";
FileStream fStream = File.Open(strPath, FileMode.Create);
fStream.Write(ResultsArray, 0, nLength);
fStream.Close();
Console.WriteLine("Screen image ({0} bytes) written to {1}",
nLength, strPath);
// Download waveform data.
// -----------------------------------------------------------
// Get the waveform points mode.
Console.WriteLine("Waveform type: {0}",
myScope.DoQueryString(":WAVeform:TYPE?"));
// Get the number of waveform points.
Console.WriteLine("Waveform points: {0}",
myScope.DoQueryString(":WAVeform:POINts?"));
// Set the waveform source.
myScope.DoCommand(":WAVeform:SOURce CHANnel1");
Console.WriteLine("Waveform source: {0}",
myScope.DoQueryString(":WAVeform:SOURce?"));
// Choose the format of the data returned:
myScope.DoCommand(":WAVeform:FORMat WORD");
Console.WriteLine("Waveform format: {0}",
myScope.DoQueryString(":WAVeform:FORMat?"));
// Display the waveform settings from preamble:
Dictionary<string, string> dctWavFormat =
new Dictionary<string, string>()
{
{"0", "ASCii"},
{"1", "BYTE"},
{"2", "WORD"},
{"3", "LONG"},
{"4", "LONGLONG"},
};
Dictionary<string, string> dctAcqType =
new Dictionary<string, string>()
{
{"1", "RAW"},
{"2", "AVERage"},
{"3", "VHIStogram"},
{"4", "HHIStogram"},
{"6", "INTerpolate"},
{"10", "PDETect"},
};
Dictionary<string, string> dctAcqMode =
new Dictionary<string, string>()
1608 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
{
{"0", "RTIMe"},
{"1", "ETIMe"},
{"3", "PDETect"},
};
Dictionary<string, string> dctCoupling =
new Dictionary<string, string>()
{
{"0", "AC"},
{"1", "DC"},
{"2", "DCFIFTY"},
{"3", "LFREJECT"},
};
Dictionary<string, string> dctUnits =
new Dictionary<string, string>()
{
{"0", "UNKNOWN"},
{"1", "VOLT"},
{"2", "SECOND"},
{"3", "CONSTANT"},
{"4", "AMP"},
{"5", "DECIBEL"},
};
string strPreamble;
string[] strsPreamble;
strPreamble = myScope.DoQueryString(":WAVeform:PREamble?");
strsPreamble = strPreamble.Split(',');
Console.WriteLine("Waveform format: {0}",
dctWavFormat[strsPreamble[0]]);
Console.WriteLine("Acquire type: {0}",
dctAcqType[strsPreamble[1]]);
Console.WriteLine("Waveform points: {0}", strsPreamble[2]);
Console.WriteLine("Waveform average count: {0}", strsPreamble[3]);
Console.WriteLine("Waveform X increment: {0}", strsPreamble[4]);
Console.WriteLine("Waveform X origin: {0}", strsPreamble[5]);
Console.WriteLine("Waveform X reference: {0}", strsPreamble[6]);
Console.WriteLine("Waveform Y increment: {0}", strsPreamble[7]);
Console.WriteLine("Waveform Y origin: {0}", strsPreamble[8]);
Console.WriteLine("Waveform Y reference: {0}", strsPreamble[9]);
Console.WriteLine("Coupling: {0}", dctCoupling[strsPreamble[10]]);
Console.WriteLine("Waveform X display range: {0}",
strsPreamble[11]);
Console.WriteLine("Waveform X display origin: {0}",
strsPreamble[12]);
Console.WriteLine("Waveform Y display range: {0}",
strsPreamble[13]);
Console.WriteLine("Waveform Y display origin: {0}",
strsPreamble[14]);
Console.WriteLine("Date: {0}", strsPreamble[15]);
Console.WriteLine("Time: {0}", strsPreamble[16]);
Console.WriteLine("Frame model: {0}", strsPreamble[17]);
Console.WriteLine("Acquire mode: {0}",
dctAcqMode[strsPreamble[18]]);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1609
Console.WriteLine("Completion pct: {0}", strsPreamble[19]);
Console.WriteLine("Waveform X inits: {0}",
dctUnits[strsPreamble[20]]);
Console.WriteLine("Waveform Y units: {0}",
dctUnits[strsPreamble[21]]);
Console.WriteLine("Max BW limit: {0}", strsPreamble[22]);
Console.WriteLine("Min BW limit: {0}", strsPreamble[23]);
// Get numeric values for later calculations.
double fXincrement;
fXincrement = myScope.DoQueryNumber(":WAVeform:XINCrement?");
double fXorigin;
fXorigin = myScope.DoQueryNumber(":WAVeform:XORigin?");
double fYincrement;
fYincrement = myScope.DoQueryNumber(":WAVeform:YINCrement?");
double fYorigin;
fYorigin = myScope.DoQueryNumber(":WAVeform:YORigin?");
// Get the waveform data.
myScope.DoCommand(":WAVeform:STReaming OFF");
short[] WordDataArray; // Results array.
WordDataArray = myScope.DoQueryIEEEBlock_I2(":WAVeform:DATA?");
nLength = WordDataArray.Length;
Console.WriteLine("Number of data values: {0}", nLength);
// Set up output file:
strPath = "c:\\scope\\data\\waveform_data.csv";
if (File.Exists(strPath)) File.Delete(strPath);
// Open file for output.
StreamWriter writer = File.CreateText(strPath);
// Output waveform data in CSV format.
for(inti=0;i<nLength - 1; i++)
writer.WriteLine("{0:f9}, {1:f6}",
fXorigin + ((float)i * fXincrement),
(((float)WordDataArray[i])
* fYincrement) + fYorigin);
// Close output file.
writer.Close();
Console.WriteLine("Waveform format WORD data written to {0}",
strPath);
}
}
class VisaComInstrument
{
private ResourceManagerClass m_ResourceManager;
private FormattedIO488Class m_IoObject;
private string m_strVisaAddress;
// Constructor.
public VisaComInstrument(string strVisaAddress)
{
// Save VISA address in member variable.
m_strVisaAddress = strVisaAddress;
1610 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
// Open the default VISA COM IO object.
OpenIo();
// Clear the interface.
m_IoObject.IO.Clear();
}
public void DoCommand(string strCommand)
{
// Send the command.
m_IoObject.WriteString(strCommand, true);
// Check for inst errors.
CheckInstrumentErrors(strCommand);
}
public void DoCommandIEEEBlock(string strCommand,
byte[] DataArray)
{
// Send the command to the device.
m_IoObject.WriteIEEEBlock(strCommand, DataArray, true);
// Check for inst errors.
CheckInstrumentErrors(strCommand);
}
public string DoQueryString(string strQuery)
{
// Send the query.
m_IoObject.WriteString(strQuery, true);
// Get the result string.
string strResults;
strResults = m_IoObject.ReadString();
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return results string.
return strResults;
}
public double DoQueryNumber(string strQuery)
{
// Send the query.
m_IoObject.WriteString(strQuery, true);
// Get the result number.
double fResult;
fResult = (double)m_IoObject.ReadNumber(
IEEEASCIIType.ASCIIType_R8, true);
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return result number.
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1611
return fResult;
}
public double[] DoQueryNumbers(string strQuery)
{
// Send the query.
m_IoObject.WriteString(strQuery, true);
// Get the result numbers.
double[] fResultsArray;
fResultsArray = (double[])m_IoObject.ReadList(
IEEEASCIIType.ASCIIType_R8, ",;");
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return result numbers.
return fResultsArray;
}
public byte[] DoQueryIEEEBlock_UI1(string strQuery)
{
// Send the query.
m_IoObject.WriteString(strQuery, true);
// Get the results array.
System.Threading.Thread.Sleep(2000); // Delay before reading.
byte[] ResultsArray;
ResultsArray = (byte[])m_IoObject.ReadIEEEBlock(
IEEEBinaryType.BinaryType_UI1, false, true);
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return results array.
return ResultsArray;
}
public short[] DoQueryIEEEBlock_I2(string strQuery)
{
// Send the query.
m_IoObject.WriteString(strQuery, true);
// Get the results array.
System.Threading.Thread.Sleep(2000); // Delay before reading.
short[] ResultsArray;
ResultsArray = (short[])m_IoObject.ReadIEEEBlock(
IEEEBinaryType.BinaryType_I2, false, true);
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return results array.
return ResultsArray;
}
private void CheckInstrumentErrors(string strCommand)
1612 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
{
// Check for instrument errors.
string strInstrumentError;
bool bFirstError = true;
do // While not "0,No error".
{
m_IoObject.WriteString(":SYSTem:ERRor? STRing", true);
strInstrumentError = m_IoObject.ReadString();
if (!strInstrumentError.ToString().StartsWith("0,"))
{
if (bFirstError)
{
Console.WriteLine("ERROR(s) for command '{0}': ",
strCommand);
bFirstError = false;
}
Console.Write(strInstrumentError);
}
} while (!strInstrumentError.ToString().StartsWith("0,"));
}
private void OpenIo()
{
m_ResourceManager = new ResourceManagerClass();
m_IoObject = new FormattedIO488Class();
// Open the default VISA COM IO object.
try
{
m_IoObject.IO =
(IMessage)m_ResourceManager.Open(m_strVisaAddress,
AccessMode.NO_LOCK, 0, "");
}
catch (Exception e)
{
Console.WriteLine("An error occurred: {0}", e.Message);
}
}
public void SetTimeoutSeconds(int nSeconds)
{
m_IoObject.IO.Timeout = nSeconds * 1000;
}
public void Close()
{
try
{
m_IoObject.IO.Close();
}
catch { }
try
{
Marshal.ReleaseComObject(m_IoObject);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1613
}
catch { }
try
{
Marshal.ReleaseComObject(m_ResourceManager);
}
catch { }
}
}
}
VISA COM Example in Visual Basic .NET
To compile and run this example in Microsoft Visual Studio 2008:
1Open Visual Studio.
2Create a new Visual Basic, Windows, Console Application project.
3Cut-and-paste the code that follows into the Visual Basic source file.
4Edit the program to use the VISA address of your oscilloscope.
5Add a reference to the VISA COM 3.0 Type Library:
aRight-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment.
bChoose Add Reference....
cIn the Add Reference dialog, select the COM tab.
dSelect VISA COM 5.5 Type Library; then click OK.
eRight-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment and choose
Properties; then, select "Infiniium.VisaComInstrumentApp" as the Startup
object.
6Build and run the program.
For more information, see the VISA COM Help that comes with Keysight IO
Libraries Suite 15.
'
' Keysight VISA COM Example in Visual Basic .NET
' -------------------------------------------------------------------
' This program illustrates a few commonly used programming
' features of your Keysight Infiniium Series oscilloscope.
' -------------------------------------------------------------------
Imports System
Imports System.IO
Imports System.Text
Imports System.Collections.Generic
Imports Ivi.Visa.Interop
Imports System.Runtime.InteropServices
1614 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Namespace Infiniium
Class VisaComInstrumentApp
Private Shared myScope As VisaComInstrument
Public Shared Sub Main(ByVal args As String())
Try
myScope = New _
VisaComInstrument("TCPIP0::141.121.237.226::hislip0::INSTR")
myScope.SetTimeoutSeconds(10)
' Initialize - start from a known state.
Initialize()
' Capture data.
Capture()
' Analyze the captured waveform.
Analyze()
Catch err As System.ApplicationException
Console.WriteLine("*** VISA Error Message : " + err.Message)
Catch err As System.SystemException
Console.WriteLine("*** System Error Message : " + err.Message)
Catch err As System.Exception
System.Diagnostics.Debug.Fail("Unexpected Error")
Console.WriteLine("*** Unexpected Error:"+err.Message)
Finally
myScope.Close()
End Try
End Sub
' Initialize the oscilloscope to a known state.
' --------------------------------------------------------------
Private Shared Sub Initialize()
Dim strResults As String
' Clear status.
myScope.DoCommand("*CLS")
' Get and display the device's *IDN? string.
strResults = myScope.DoQueryString("*IDN?")
Console.WriteLine("*IDN? result is: {0}", strResults)
' Load the default setup.
myScope.DoCommand("*RST")
End Sub
' Capture the waveform.
' --------------------------------------------------------------
Private Shared Sub Capture()
' Set probe attenuation factor.
myScope.DoCommand(":CHANnel1:PROBe 1.0")
Console.WriteLine("Channel 1 probe attenuation factor: {0}", _
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1615
myScope.DoQueryString(":CHANnel1:PROBe?"))
' Use auto-scale to automatically configure oscilloscope.
myScope.DoCommand(":AUToscale")
' Set trigger mode.
myScope.DoCommand(":TRIGger:MODE EDGE")
Console.WriteLine("Trigger mode: {0}", _
myScope.DoQueryString(":TRIGger:MODE?"))
' Set EDGE trigger parameters.
myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1")
Console.WriteLine("Trigger edge source: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SOURce?"))
myScope.DoCommand(":TRIGger:LEVel CHANnel1,-2E-3")
Console.WriteLine("Trigger level, channel 1: {0}", _
myScope.DoQueryString(":TRIGger:LEVel? CHANnel1"))
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive")
Console.WriteLine("Trigger edge slope: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"))
' Save oscilloscope configuration.
Dim ResultsArray As Byte() ' Results array.
Dim nLength As Integer ' Number of bytes returned from inst.
Dim strPath As String
Dim fStream As FileStream
' Query and read setup string.
ResultsArray = myScope.DoQueryIEEEBlock_UI1(":SYSTem:SETup?")
nLength = ResultsArray.Length
' Write setup string to file.
strPath = "c:\scope\config\setup.stp"
fStream = File.Open(strPath, FileMode.Create)
fStream.Write(ResultsArray, 0, nLength)
fStream.Close()
Console.WriteLine("Setup bytes saved: {0}", nLength)
' Change settings with individual commands:
' Set vertical scale and offset.
myScope.DoCommand(":CHANnel1:SCALe 0.1")
Console.WriteLine("Channel 1 vertical scale: {0}", _
myScope.DoQueryString(":CHANnel1:SCALe?"))
myScope.DoCommand(":CHANnel1:OFFSet 0.0")
Console.WriteLine("Channel 1 vertical offset: {0}", _
myScope.DoQueryString(":CHANnel1:OFFSet?"))
' Set horizontal scale and offset.
myScope.DoCommand(":TIMebase:SCALe 0.0002")
Console.WriteLine("Timebase scale: {0}", _
myScope.DoQueryString(":TIMebase:SCALe?"))
myScope.DoCommand(":TIMebase:POSition 0.0")
1616 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Console.WriteLine("Timebase position: {0}", _
myScope.DoQueryString(":TIMebase:POSition?"))
' Set the acquisition mode.
myScope.DoCommand(":ACQuire:MODE RTIMe")
Console.WriteLine("Acquire mode: {0}", _
myScope.DoQueryString(":ACQuire:MODE?"))
' Or, configure by loading a previously saved setup.
Dim DataArray As Byte()
Dim nBytesWritten As Integer
' Read setup string from file.
strPath = "c:\scope\config\setup.stp"
DataArray = File.ReadAllBytes(strPath)
nBytesWritten = DataArray.Length
' Restore setup string.
myScope.DoCommandIEEEBlock(":SYSTem:SETup", DataArray)
Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)
' Set the desired number of waveform points,
' and capture an acquisition.
myScope.DoCommand(":ACQuire:POINts 32000")
myScope.DoCommand(":DIGitize")
End Sub
' Analyze the captured waveform.
' --------------------------------------------------------------
Private Shared Sub Analyze()
Dim fResult As Double
Dim ResultsArray As Byte() ' Results array.
Dim nLength As Integer ' Number of bytes returned from inst.
Dim strPath As String
' Make measurements.
' ------------------------------------------------------------
myScope.DoCommand(":MEASure:SOURce CHANnel1")
Console.WriteLine("Measure source: {0}", _
myScope.DoQueryString(":MEASure:SOURce?"))
myScope.DoCommand(":MEASure:FREQuency")
fResult = myScope.DoQueryNumber(":MEASure:FREQuency?")
Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000)
myScope.DoCommand(":MEASure:VAMPlitude")
fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?")
Console.WriteLine("Vertical amplitude: {0:F2} V", fResult)
' Download the screen image.
' ------------------------------------------------------------
' Get the screen data.
ResultsArray = myScope.DoQueryIEEEBlock_UI1(":DISPlay:DATA? PNG")
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1617
nLength = ResultsArray.Length
' Store the screen data to a file.
strPath = "c:\scope\data\screen.png"
Dim fStream As FileStream
fStream = File.Open(strPath, FileMode.Create)
fStream.Write(ResultsArray, 0, nLength)
fStream.Close()
Console.WriteLine("Screen image ({0} bytes) written to {1}", _
nLength, strPath)
' Download waveform data.
' ------------------------------------------------------------
' Get the waveform type.
Console.WriteLine("Waveform type: {0}", _
myScope.DoQueryString(":WAVeform:TYPE?"))
' Get the number of waveform points.
Console.WriteLine("Waveform points: {0}", _
myScope.DoQueryString(":WAVeform:POINts?"))
' Set the waveform source.
myScope.DoCommand(":WAVeform:SOURce CHANnel1")
Console.WriteLine("Waveform source: {0}", _
myScope.DoQueryString(":WAVeform:SOURce?"))
' Choose the format of the data returned:
myScope.DoCommand(":WAVeform:FORMat WORD")
Console.WriteLine("Waveform format: {0}", _
myScope.DoQueryString(":WAVeform:FORMat?"))
' Display the waveform settings from preamble:
Dim dctWavFormat As New Dictionary(Of String, String)
dctWavFormat.Add("0", "ASCii")
dctWavFormat.Add("1", "BYTE")
dctWavFormat.Add("2", "WORD")
dctWavFormat.Add("3", "LONG")
dctWavFormat.Add("4", "LONGLONG")
Dim dctAcqType As New Dictionary(Of String, String)
dctAcqType.Add("1", "RAW")
dctAcqType.Add("2", "AVERage")
dctAcqType.Add("3", "VHIStogram")
dctAcqType.Add("4", "HHIStogram")
dctAcqType.Add("6", "INTerpolate")
dctAcqType.Add("10", "PDETect")
Dim dctAcqMode As New Dictionary(Of String, String)()
dctAcqMode.Add("0", "RTIMe")
dctAcqMode.Add("1", "ETIMe")
dctAcqMode.Add("3", "PDETect")
Dim dctCoupling As New Dictionary(Of String, String)()
dctCoupling.Add("0", "AC")
dctCoupling.Add("1", "DC")
dctCoupling.Add("2", "DCFIFTY")
1618 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
dctCoupling.Add("3", "LFREJECT")
Dim dctUnits As New Dictionary(Of String, String)()
dctUnits.Add("0", "UNKNOWN")
dctUnits.Add("1", "VOLT")
dctUnits.Add("2", "SECOND")
dctUnits.Add("3", "CONSTANT")
dctUnits.Add("4", "AMP")
dctUnits.Add("5", "DECIBEL")
Dim strPreamble As String
Dim strsPreamble As String()
strPreamble = myScope.DoQueryString(":WAVeform:PREamble?")
strsPreamble = strPreamble.Split(","c)
Console.WriteLine("Waveform format: {0}", _
dctWavFormat(strsPreamble(0)))
Console.WriteLine("Acquire type: {0}", _
dctAcqType(strsPreamble(1)))
Console.WriteLine("Waveform points: {0}", strsPreamble(2))
Console.WriteLine("Waveform average count: {0}", strsPreamble(3))
Console.WriteLine("Waveform X increment: {0}", strsPreamble(4))
Console.WriteLine("Waveform X origin: {0}", strsPreamble(5))
Console.WriteLine("Waveform X reference: {0}", strsPreamble(6))
Console.WriteLine("Waveform Y increment: {0}", strsPreamble(7))
Console.WriteLine("Waveform Y origin: {0}", strsPreamble(8))
Console.WriteLine("Waveform Y reference: {0}", strsPreamble(9))
Console.WriteLine("Coupling: {0}", dctCoupling(strsPreamble(10)))
Console.WriteLine("Waveform X display range: {0}", _
strsPreamble(11))
Console.WriteLine("Waveform X display origin: {0}", _
strsPreamble(12))
Console.WriteLine("Waveform Y display range: {0}", _
strsPreamble(13))
Console.WriteLine("Waveform Y display origin: {0}", _
strsPreamble(14))
Console.WriteLine("Date: {0}", strsPreamble(15))
Console.WriteLine("Time: {0}", strsPreamble(16))
Console.WriteLine("Frame model: {0}", strsPreamble(17))
Console.WriteLine("Acquire mode: {0}", _
dctAcqMode(strsPreamble(18)))
Console.WriteLine("Completion pct: {0}", strsPreamble(19))
Console.WriteLine("Waveform X inits: {0}", _
dctUnits(strsPreamble(20)))
Console.WriteLine("Waveform Y units: {0}", _
dctUnits(strsPreamble(21)))
Console.WriteLine("Max BW limit: {0}", strsPreamble(22))
Console.WriteLine("Min BW limit: {0}", strsPreamble(23))
' Get numeric values for later calculations.
Dim fXincrement As Double
fXincrement = myScope.DoQueryNumber(":WAVeform:XINCrement?")
Dim fXorigin As Double
fXorigin = myScope.DoQueryNumber(":WAVeform:XORigin?")
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1619
Dim fYincrement As Double
fYincrement = myScope.DoQueryNumber(":WAVeform:YINCrement?")
Dim fYorigin As Double
fYorigin = myScope.DoQueryNumber(":WAVeform:YORigin?")
' Get the waveform data.
myScope.DoCommand(":WAVeform:STReaming OFF")
Dim WordDataArray As Short()
WordDataArray = myScope.DoQueryIEEEBlock_I2(":WAVeform:DATA?")
nLength = WordDataArray.Length
Console.WriteLine("Number of data values: {0}", nLength)
' Set up output file:
strPath = "c:\scope\data\waveform_data.csv"
If File.Exists(strPath) Then
File.Delete(strPath)
End If
' Open file for output.
Dim writer As StreamWriter = File.CreateText(strPath)
' Output waveform data in CSV format.
For index As Integer = 0 To nLength - 1
' Write time value, voltage value.
writer.WriteLine("{0:f9}, {1:f6}", _
fXorigin + (CSng(index) * fXincrement), _
(CSng(WordDataArray(index)) * fYincrement) + fYorigin)
Next
' Close output file.
writer.Close()
Console.WriteLine("Waveform format WORD data written to {0}", _
strPath)
End Sub
End Class
Class VisaComInstrument
Private m_ResourceManager As ResourceManagerClass
Private m_IoObject As FormattedIO488Class
Private m_strVisaAddress As String
' Constructor.
Public Sub New(ByVal strVisaAddress As String)
' Save VISA address in member variable.
m_strVisaAddress = strVisaAddress
' Open the default VISA COM IO object.
OpenIo()
' Clear the interface.
m_IoObject.IO.Clear()
End Sub
1620 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Public Sub DoCommand(ByVal strCommand As String)
' Send the command.
m_IoObject.WriteString(strCommand, True)
' Check for inst errors.
CheckInstrumentErrors(strCommand)
End Sub
Public Sub DoCommandIEEEBlock(ByVal strCommand As String, _
ByVal DataArray As Byte())
' Send the command to the device.
m_IoObject.WriteIEEEBlock(strCommand, DataArray, True)
' Check for inst errors.
CheckInstrumentErrors(strCommand)
End Sub
Public Function DoQueryString(ByVal strQuery As String) As String
' Send the query.
m_IoObject.WriteString(strQuery, True)
' Get the result string.
Dim strResults As String
strResults = m_IoObject.ReadString()
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return results string.
Return strResults
End Function
Public Function DoQueryNumber(ByVal strQuery As String) As Double
' Send the query.
m_IoObject.WriteString(strQuery, True)
' Get the result number.
Dim fResult As Double
fResult = _
CDbl(m_IoObject.ReadNumber(IEEEASCIIType.ASCIIType_R8, True))
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return result number.
Return fResult
End Function
Public Function DoQueryNumbers(ByVal strQuery As String) As _
Double()
' Send the query.
m_IoObject.WriteString(strQuery, True)
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1621
' Get the result numbers.
Dim fResultsArray As Double()
fResultsArray = _
m_IoObject.ReadList(IEEEASCIIType.ASCIIType_R8, ",;")
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return result numbers.
Return fResultsArray
End Function
Public _
Function _
DoQueryIEEEBlock_UI1(ByVal strQuery As String) As Byte()
' Send the query.
m_IoObject.WriteString(strQuery, True)
' Get the results array.
System.Threading.Thread.Sleep(2000) ' Delay before reading data.
Dim ResultsArray As Byte()
ResultsArray = _
m_IoObject.ReadIEEEBlock(IEEEBinaryType.BinaryType_UI1, _
False, True)
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return results array.
Return ResultsArray
End Function
Public _
Function _
DoQueryIEEEBlock_I2(ByVal strQuery As String) As Short()
' Send the query.
m_IoObject.WriteString(strQuery, True)
' Get the results array.
System.Threading.Thread.Sleep(2000) ' Delay before reading data.
Dim ResultsArray As Short()
ResultsArray = _
m_IoObject.ReadIEEEBlock(IEEEBinaryType.BinaryType_I2, _
False, True)
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return results array.
Return ResultsArray
End Function
Private Sub CheckInstrumentErrors(ByVal strCommand As String)
' Check for instrument errors.
Dim strInstrumentError As String
Dim bFirstError As Boolean = True
Do ' While not "0,No error".
1622 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
m_IoObject.WriteString(":SYSTem:ERRor? STRing", True)
strInstrumentError = m_IoObject.ReadString()
If Not strInstrumentError.ToString().StartsWith("0,") Then
If bFirstError Then
Console.WriteLine("ERROR(s) for command '{0}': ", _
strCommand)
bFirstError = False
End If
Console.Write(strInstrumentError)
End If
Loop While Not strInstrumentError.ToString().StartsWith("0,")
End Sub
Private Sub OpenIo()
m_ResourceManager = New ResourceManagerClass()
m_IoObject = New FormattedIO488Class()
' Open the default VISA COM IO object.
Try
m_IoObject.IO = _
DirectCast(m_ResourceManager.Open(m_strVisaAddress, _
AccessMode.NO_LOCK, 0, ""), IMessage)
Catch e As Exception
Console.WriteLine("An error occurred: {0}", e.Message)
End Try
End Sub
Public Sub SetTimeoutSeconds(ByVal nSeconds As Integer)
m_IoObject.IO.Timeout = nSeconds * 1000
End Sub
Public Sub Close()
Try
m_IoObject.IO.Close()
Catch
End Try
Try
Marshal.ReleaseComObject(m_IoObject)
Catch
End Try
Try
Marshal.ReleaseComObject(m_ResourceManager)
Catch
End Try
End Sub
End Class
End Namespace
VISA COM Example in Python
You can use the Python programming language with the "comtypes" package to
control Keysight oscilloscopes.
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1623
The Python language and "comtypes" package can be downloaded from the web
at http://www.python.org/ and
http://starship.python.net/crew/theller/comtypes/, respectively.
To run this example with Python and "comtypes":
1Cut-and-paste the code that follows into a file named "example.py".
2Edit the program to use the VISA address of your oscilloscope.
3If "python.exe" can be found via your PATH environment variable, open a
Command Prompt window; then, change to the folder that contains the
"example.py" file, and enter:
python example.py
#
# Keysight VISA COM Example in Python using "comtypes"
# *********************************************************
# This program illustrates a few commonly used programming
# features of your Keysight Infiniium Series oscilloscope.
# *********************************************************
# Import Python modules.
# ---------------------------------------------------------
import string
import time
import sys
import array
from comtypes.client import GetModule
from comtypes.client import CreateObject
# Run GetModule once to generate comtypes.gen.VisaComLib.
if not hasattr(sys, "frozen"):
GetModule("C:\Program Files (x86)\IVI Foundation\VISA\VisaCom\
GlobMgr.dll")
import comtypes.gen.VisaComLib as VisaComLib
# Global variables (booleans:0=False, 1 = True).
# ---------------------------------------------------------
# =========================================================
# Initialize:
# =========================================================
def initialize():
# Get and display the device's *IDN? string.
idn_string = do_query_string("*IDN?")
print "Identification string '%s'" % idn_string
# Clear status and load the default setup.
do_command("*CLS")
do_command("*RST")
1624 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
# =========================================================
# Capture:
# =========================================================
def capture():
# Set probe attenuation factor.
do_command(":CHANnel1:PROBe 1.0")
qresult = do_query_string(":CHANnel1:PROBe?")
print "Channel 1 probe attenuation factor: %s" % qresult
# Use auto-scale to automatically set up oscilloscope.
print "Autoscale."
do_command(":AUToscale")
# Set trigger mode.
do_command(":TRIGger:MODE EDGE")
qresult = do_query_string(":TRIGger:MODE?")
print "Trigger mode: %s" % qresult
# Set EDGE trigger parameters.
do_command(":TRIGger:EDGE:SOURCe CHANnel1")
qresult = do_query_string(":TRIGger:EDGE:SOURce?")
print "Trigger edge source: %s" % qresult
do_command(":TRIGger:LEVel CHANnel1,-2E-3")
qresult = do_query_string(":TRIGger:LEVel? CHANnel1")
print "Trigger level, channel 1: %s" % qresult
do_command(":TRIGger:EDGE:SLOPe POSitive")
qresult = do_query_string(":TRIGger:EDGE:SLOPe?")
print "Trigger edge slope: %s" % qresult
# Save oscilloscope setup.
setup_bytes = do_query_ieee_block_UI1(":SYSTem:SETup?")
nLength = len(setup_bytes)
f = open("setup.stp", "wb")
f.write(bytearray(setup_bytes))
f.close()
print "Setup bytes saved: %d" % nLength
# Change oscilloscope settings with individual commands:
# Set vertical scale and offset.
do_command(":CHANnel1:SCALe 0.1")
qresult = do_query_number(":CHANnel1:SCALe?")
print "Channel 1 vertical scale: %f" % qresult
do_command(":CHANnel1:OFFSet 0.0")
qresult = do_query_number(":CHANnel1:OFFSet?")
print "Channel 1 offset: %f" % qresult
# Set horizontal scale and offset.
do_command(":TIMebase:SCALe 200e-6")
qresult = do_query_string(":TIMebase:SCALe?")
print "Timebase scale: %s" % qresult
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1625
do_command(":TIMebase:POSition 0.0")
qresult = do_query_string(":TIMebase:POSition?")
print "Timebase position: %s" % qresult
# Set the acquisition mode.
do_command(":ACQuire:MODE RTIMe")
qresult = do_query_string(":ACQuire:MODE?")
print "Acquire mode: %s" % qresult
# Or, configure by loading a previously saved setup.
f = open("setup.stp", "rb")
setup_bytes = f.read()
f.close()
do_command_ieee_block(":SYSTem:SETup", array.array('B', setup_bytes))
print "Setup bytes restored: %d" % len(setup_bytes)
# Set the desired number of waveform points,
# and capture an acquisition.
do_command(":ACQuire:POINts 32000")
do_command(":DIGitize")
# =========================================================
# Analyze:
# =========================================================
def analyze():
# Make measurements.
# --------------------------------------------------------
do_command(":MEASure:SOURce CHANnel1")
qresult = do_query_string(":MEASure:SOURce?")
print "Measure source: %s" % qresult
do_command(":MEASure:FREQuency")
qresult = do_query_string(":MEASure:FREQuency?")
print "Measured frequency on channel 1: %s" % qresult
do_command(":MEASure:VAMPlitude")
qresult = do_query_string(":MEASure:VAMPlitude?")
print "Measured vertical amplitude on channel 1: %s" % qresult
# Download the screen image.
# --------------------------------------------------------
image_bytes = do_query_ieee_block_UI1(":DISPlay:DATA? PNG")
nLength = len(image_bytes)
f = open("screen_image.png", "wb")
f.write(bytearray(image_bytes))
f.close()
print "Screen image written to 'screen_image.png'."
# Download waveform data.
# --------------------------------------------------------
# Get the waveform type.
qresult = do_query_string(":WAVeform:TYPE?")
print "Waveform type: %s" % qresult
1626 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
# Get the number of waveform points.
qresult = do_query_string(":WAVeform:POINts?")
print "Waveform points: %s" % qresult
# Set the waveform source.
do_command(":WAVeform:SOURce CHANnel1")
qresult = do_query_string(":WAVeform:SOURce?")
print "Waveform source: %s" % qresult
# Choose the format of the data returned:
do_command(":WAVeform:FORMat WORD")
print "Waveform format: %s" % do_query_string(":WAVeform:FORMat?")
# Display the waveform settings from preamble:
wav_form_dict = {
0 : "ASCii",
1 : "BYTE",
2 : "WORD",
3 : "LONG",
4 : "LONGLONG",
}
acq_type_dict = {
1 : "RAW",
2 : "AVERage",
3 : "VHIStogram",
4 : "HHIStogram",
6 : "INTerpolate",
10 : "PDETect",
}
acq_mode_dict = {
0 : "RTIMe",
1 : "ETIMe",
3 : "PDETect",
}
coupling_dict = {
0 : "AC",
1 : "DC",
2 : "DCFIFTY",
3 : "LFREJECT",
}
units_dict = {
0 : "UNKNOWN",
1 : "VOLT",
2 : "SECOND",
3 : "CONSTANT",
4 : "AMP",
5 : "DECIBEL",
}
preamble_string = do_query_string(":WAVeform:PREamble?")
(
wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin,
x_reference, y_increment, y_origin, y_reference, coupling,
x_display_range, x_display_origin, y_display_range,
y_display_origin, date, time, frame_model, acq_mode,
completion, x_units, y_units, max_bw_limit, min_bw_limit
) = string.split(preamble_string, ",")
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1627
print "Waveform format: %s" % wav_form_dict[int(wav_form)]
print "Acquire type: %s" % acq_type_dict[int(acq_type)]
print "Waveform points desired: %s" % wfmpts
print "Waveform average count: %s" % avgcnt
print "Waveform X increment: %s" % x_increment
print "Waveform X origin: %s" % x_origin
print "Waveform X reference: %s" % x_reference # Always 0.
print "Waveform Y increment: %s" % y_increment
print "Waveform Y origin: %s" % y_origin
print "Waveform Y reference: %s" % y_reference # Always 0.
print "Coupling: %s" % coupling_dict[int(coupling)]
print "Waveform X display range: %s" % x_display_range
print "Waveform X display origin: %s" % x_display_origin
print "Waveform Y display range: %s" % y_display_range
print "Waveform Y display origin: %s" % y_display_origin
print "Date: %s" % date
print "Time: %s" % time
print "Frame model #: %s" % frame_model
print "Acquire mode: %s" % acq_mode_dict[int(acq_mode)]
print "Completion pct: %s" % completion
print "Waveform X units: %s" % units_dict[int(x_units)]
print "Waveform Y units: %s" % units_dict[int(y_units)]
print "Max BW limit: %s" % max_bw_limit
print "Min BW limit: %s" % min_bw_limit
# Get numeric values for later calculations.
x_increment = do_query_number(":WAVeform:XINCrement?")
x_origin = do_query_number(":WAVeform:XORigin?")
y_increment = do_query_number(":WAVeform:YINCrement?")
y_origin = do_query_number(":WAVeform:YORigin?")
# Get the waveform data.
do_command(":WAVeform:STReaming OFF")
data_words = do_query_ieee_block_I2(":WAVeform:DATA?")
nLength = len(data_words)
print "Number of data values: %d" % nLength
# Open file for output.
strPath = "waveform_data.csv"
f = open(strPath, "w")
# Output waveform data in CSV format.
for i in xrange(0, nLength - 1):
time_val = x_origin + (i * x_increment)
voltage = (data_words[i] * y_increment) + y_origin
f.write("%E, %f\n" % (time_val, voltage))
# Close output file.
f.close()
print "Waveform format WORD data written to %s." % strPath
# =========================================================
# Send a command and check for errors:
# =========================================================
def do_command(command):
1628 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
myScope.WriteString("%s" % command, True)
check_instrument_errors(command)
# =========================================================
# Send a command and check for errors:
# =========================================================
def do_command_ieee_block(command, data):
myScope.WriteIEEEBlock(command, data, True)
check_instrument_errors(command)
# =========================================================
# Send a query, check for errors, return string:
# =========================================================
def do_query_string(query):
myScope.WriteString("%s" % query, True)
result = myScope.ReadString()
check_instrument_errors(query)
return result
# =========================================================
# Send a query, check for errors, return string:
# =========================================================
def do_query_ieee_block_UI1(query):
myScope.WriteString("%s" % query, True)
result = myScope.ReadIEEEBlock(VisaComLib.BinaryType_UI1, \
False, True)
check_instrument_errors(query)
return result
# =========================================================
# Send a query, check for errors, return string:
# =========================================================
def do_query_ieee_block_I2(query):
myScope.WriteString("%s" % query, True)
result = myScope.ReadIEEEBlock(VisaComLib.BinaryType_I2, \
False, True)
check_instrument_errors(query)
return result
# =========================================================
# Send a query, check for errors, return values:
# =========================================================
def do_query_number(query):
myScope.WriteString("%s" % query, True)
result = myScope.ReadNumber(VisaComLib.ASCIIType_R8, True)
check_instrument_errors(query)
return result
# =========================================================
# Send a query, check for errors, return values:
# =========================================================
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1629
def do_query_numbers(query):
myScope.WriteString("%s" % query, True)
result = myScope.ReadList(VisaComLib.ASCIIType_R8, ",;")
check_instrument_errors(query)
return result
# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(command):
while True:
myScope.WriteString(":SYSTem:ERRor? STRing", True)
error_string = myScope.ReadString()
if error_string: # If there is an error string value.
if error_string.find("0,", 0, 2) == -1: # Not "No error".
print "ERROR: %s, command: '%s'" % (error_string, command)
print "Exited because of error."
sys.exit(1)
else: # "No error"
break
else: # :SYSTem:ERRor? STRing should always return string.
print "ERROR: :SYSTem:ERRor? STRing returned nothing, command: '%s'"
\
% command
print "Exited because of error."
sys.exit(1)
# =========================================================
# Main program:
# =========================================================
rm = CreateObject("VISA.GlobalRM", \
interface=VisaComLib.IResourceManager)
myScope = CreateObject("VISA.BasicFormattedIO", \
interface=VisaComLib.IFormattedIO488)
myScope.IO = \
rm.Open("TCPIP0::141.121.237.226::hislip0::INSTR")
# Clear the interface.
myScope.IO.Clear
print "Interface cleared."
# Set the Timeout to 15 seconds.
myScope.IO.Timeout = 15000 # 15 seconds.
print "Timeout set to 15000 milliseconds."
# Initialize the oscilloscope, capture data, and analyze.
initialize()
capture()
analyze()
print "End of program"
1630 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
VISA Examples
•"VISA Example in C" on page 1630
•"VISA Example in Visual Basic" on page 1639
•"VISA Example in C#" on page 1649
•"VISA Example in Visual Basic .NET" on page 1661
•"VISA Example in Python (PyVISA 1.5 and older)" on page 1673
•"VISA Example in Python (PyVISA 1.6 and newer)" on page 1679
VISA Example in C
To compile and run this example in Microsoft Visual Studio 2008:
1Open Visual Studio.
2Create a new Visual C++, Win32, Win32 Console Application project.
3In the Win32 Application Wizard, click Next >. Then, check Empty project, and
click Finish.
4Cut-and-paste the code that follows into a file named "example.c" in the
project directory.
5In Visual Studio 2008, right-click the Source Files folder, choose Add > Add
Existing Item..., select the example.c file, and click Add.
6Edit the program to use the VISA address of your oscilloscope.
7Choose Project > Properties.... In the Property Pages dialog, update these project
settings:
aUnder Configuration Properties, Linker, Input, add "visa32.lib" to the
Additional Dependencies field.
bUnder Configuration Properties, C/C++, Code Generation, select
Multi-threaded DLL for the Runtime Library field.
cClick OK to close the Property Pages dialog.
8Add the include files and library files search paths:
aChoose Tools > Options....
bIn the Options dialog, under Projects and Solutions, select VC++ Directories.
cShow directories for Include files, and add the include directory (for example,
Program Files (x86)\IVI Foundation\VISA\WinNT\Include).
dShow directories for Library files, and add the library files directory (for
example, Program Files (x86)\IVI Foundation\VISA\WinNT\lib\msc).
eClick OK to close the Options dialog.
9Build and run the program.
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1631
/*
* Keysight VISA Example in C
* ------------------------------------------------------------------
* This program illustrates a few commonly-used programming
* features of your Keysight Infiniium Series oscilloscope.
*/
#include <stdio.h> /* For printf(). */
#include <string.h> /* For strcpy(), strcat(). */
#include <time.h> /* For clock(). */
#include <visa.h> /* Keysight VISA routines. */
#define VISA_ADDRESS "TCPIP0::141.121.237.226::hislip0::INSTR"
#define IEEEBLOCK_SPACE 5000000
/* Function prototypes */
void initialize(void); /* Initialize to known state. */
void capture(void); /* Capture the waveform. */
void analyze(void); /* Analyze the captured waveform. */
void do_command(char *command); /* Send command. */
int do_command_ieeeblock(char *command); /* Command w/IEEE block. */
void do_query_string(char *query); /* Query for string. */
void do_query_number(char *query); /* Query for number. */
void do_query_numbers(char *query); /* Query for numbers. */
int do_query_ieeeblock(char *query); /* Query for IEEE byte block. */
int do_query_ieeeblock_words(char *query); /* Query for word block. */
void check_instrument_errors(); /* Check for inst errors. */
void error_handler(); /* VISA error handler. */
/* Global variables */
ViSession defaultRM, vi; /* Device session ID. */
ViStatus err; /* VISA function return value. */
char str_result[256] = {0}; /* Result from do_query_string(). */
double num_result; /* Result from do_query_number(). */
unsigned char ieeeblock_data[IEEEBLOCK_SPACE]; /* Result from
do_query_ieeeblock(). */
signed short ieeeblock_data_words[IEEEBLOCK_SPACE]; /* Result from
do_query_ieeeblock_words(). */
double dbl_results[10]; /* Result from do_query_numbers(). */
/* Main Program
* --------------------------------------------------------------- */
void main(void)
{
/* Open the default resource manager session. */
err = viOpenDefaultRM(&defaultRM);
if (err != VI_SUCCESS) error_handler();
/* Open the session using the oscilloscope's VISA address. */
err = viOpen(defaultRM, VISA_ADDRESS, VI_NULL, VI_NULL, &vi);
if (err != VI_SUCCESS) error_handler();
/* Set the I/O timeout to fifteen seconds. */
err = viSetAttribute(vi, VI_ATTR_TMO_VALUE, 15000);
if (err != VI_SUCCESS) error_handler();
1632 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
/* Clear the interface. */
err = viClear(vi);
if (err != VI_SUCCESS) error_handler();
/* Initialize - start from a known state. */
initialize();
/* Capture data. */
capture();
/* Analyze the captured waveform. */
analyze();
/* Close the vi session and the resource manager session. */
viClose(vi);
viClose(defaultRM);
}
/* Initialize the oscilloscope to a known state.
* --------------------------------------------------------------- */
void initialize (void)
{
/* Clear status. */
do_command("*CLS");
/* Get and display the device's *IDN? string. */
do_query_string("*IDN?");
printf("Oscilloscope *IDN? string: %s\n", str_result);
/* Load the default setup. */
do_command("*RST");
}
/* Capture the waveform.
* --------------------------------------------------------------- */
void capture (void)
{
int num_values;
FILE *fp;
/* Set probe attenuation factor. */
do_command(":CHANnel1:PROBe 1.0");
do_query_string(":CHANnel1:PROBe?");
printf("Channel 1 probe attenuation factor: %s\n", str_result);
/* Use auto-scale to automatically configure oscilloscope. */
do_command(":AUToscale");
/* Set trigger mode. */
do_command(":TRIGger:MODE EDGE");
do_query_string(":TRIGger:MODE?");
printf("Trigger mode: %s\n", str_result);
/* Set EDGE trigger parameters. */
do_command(":TRIGger:EDGE:SOURCe CHANnel1");
do_query_string(":TRIGger:EDGE:SOURce?");
printf("Trigger edge source: %s\n", str_result);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1633
do_command(":TRIGger:LEVel CHANnel1,-2E-3");
do_query_string(":TRIGger:LEVel? CHANnel1");
printf("Trigger level, channel 1: %s\n", str_result);
do_command(":TRIGger:EDGE:SLOPe POSitive");
do_query_string(":TRIGger:EDGE:SLOPe?");
printf("Trigger edge slope: %s\n", str_result);
/* Save oscilloscope setup. */
/* Read system setup. */
num_values = do_query_ieeeblock(":SYSTem:SETup?");
printf("Read setup string query (%d bytes).\n", num_values);
/* Write setup string to file. */
fp = fopen ("c:\\scope\\config\\setup.stp", "wb");
num_values = fwrite(ieeeblock_data, sizeof(unsigned char), num_values,
fp);
fclose (fp);
printf("Wrote setup string (%d bytes) to ", num_values);
printf("c:\\scope\\config\\setup.stp.\n");
/* Change settings with individual commands:
/* Set vertical scale and offset. */
do_command(":CHANnel1:SCALe 0.1");
do_query_string(":CHANnel1:SCALe?");
printf("Channel 1 vertical scale: %s\n", str_result);
do_command(":CHANnel1:OFFSet 0.0");
do_query_string(":CHANnel1:OFFSet?");
printf("Channel 1 offset: %s\n", str_result);
/* Set horizontal scale and offset. */
do_command(":TIMebase:SCALe 0.0002");
do_query_string(":TIMebase:SCALe?");
printf("Timebase scale: %s\n", str_result);
do_command(":TIMebase:POSition 0.0");
do_query_string(":TIMebase:POSition?");
printf("Timebase position: %s\n", str_result);
/* Set the acquisition mode. */
do_command(":ACQuire:MODE RTIMe");
do_query_string(":ACQuire:MODE?");
printf("Acquire mode: %s\n", str_result);
/* Or, set up by loading a previously saved setup. */
/* Read setup string from file. */
fp = fopen ("c:\\scope\\config\\setup.stp", "rb");
num_values = fread (ieeeblock_data, sizeof(unsigned char),
IEEEBLOCK_SPACE, fp);
fclose (fp);
printf("Read setup string (%d bytes) from file ", num_values);
printf("c:\\scope\\config\\setup.stp.\n");
1634 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
/* Restore setup string. */
num_values = do_command_ieeeblock(":SYSTem:SETup", num_values);
printf("Restored setup string (%d bytes).\n", num_values);
/* Set the desired number of waveform points,
* and capture an acquisition. */
do_command(":ACQuire:POINts 32000");
do_command(":DIGitize");
}
/* Analyze the captured waveform.
* --------------------------------------------------------------- */
void analyze (void)
{
double wav_format;
double acq_type;
double wav_points;
double avg_count;
double x_increment;
double x_origin;
double y_increment;
double y_origin;
FILE *fp;
int num_values; /* Number of bytes returned from instrument. */
int i;
/* Make measurements.
* ------------------------------------------------------------- */
do_command(":MEASure:SOURce CHANnel1");
do_query_string(":MEASure:SOURce?");
printf("Measure source: %s\n", str_result);
do_command(":MEASure:FREQuency");
do_query_number(":MEASure:FREQuency?");
printf("Frequency: %.4f kHz\n", num_result / 1000);
do_command(":MEASure:VAMPlitude");
do_query_number(":MEASure:VAMPlitude?");
printf("Vertical amplitude: %.2f V\n", num_result);
/* Download the screen image.
* ------------------------------------------------------------- */
/* Read screen image. */
num_values = do_query_ieeeblock(":DISPlay:DATA? PNG");
printf("Screen image bytes: %d\n", num_values);
/* Write screen image bytes to file. */
fp = fopen ("c:\\scope\\data\\screen.png", "wb");
num_values = fwrite(ieeeblock_data, sizeof(unsigned char), num_values,
fp);
fclose (fp);
printf("Wrote screen image (%d bytes) to ", num_values);
printf("c:\\scope\\data\\screen.bmp.\n");
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1635
/* Download waveform data.
* ------------------------------------------------------------- */
/* Get the waveform type. */
do_query_string(":WAVeform:TYPE?");
printf("Waveform type: %s\n", str_result);
/* Get the number of waveform points. */
do_query_string(":WAVeform:POINts?");
printf("Waveform points: %s\n", str_result);
/* Set the waveform source. */
do_command(":WAVeform:SOURce CHANnel1");
do_query_string(":WAVeform:SOURce?");
printf("Waveform source: %s\n", str_result);
/* Choose the format of the data returned: */
do_command(":WAVeform:FORMat WORD");
do_query_string(":WAVeform:FORMat?");
printf("Waveform format: %s\n", str_result);
/* Display the waveform settings: */
do_query_number(":WAVeform:XINCrement?");
x_increment = num_result;
printf("Waveform X increment: %e\n", x_increment);
do_query_number(":WAVeform:XORigin?");
x_origin = num_result;
printf("Waveform X origin: %e\n", x_origin);
do_query_number(":WAVeform:YINCrement?");
y_increment = num_result;
printf("Waveform Y increment: %e\n", y_increment);
do_query_number(":WAVeform:YORigin?");
y_origin = num_result;
printf("Waveform Y origin: %e\n", y_origin);
/* Read waveform data. */
num_values = do_query_ieeeblock_words(":WAVeform:DATA?");
printf("Number of data values: %d\n", num_values);
/* Open file for output. */
fp = fopen("c:\\scope\\data\\waveform_data.csv", "wb");
/* Output waveform data in CSV format. */
for(i=0;i<num_values - 1; i++)
{
/* Write time value, voltage value. */
fprintf(fp, "%9f, %6f\n",
x_origin + ((float)i * x_increment),
((float)ieeeblock_data_words[i] * y_increment) + y_origin);
}
/* Close output file. */
fclose(fp);
printf("Waveform format WORD data written to ");
1636 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
printf("c:\\scope\\data\\waveform_data.csv.\n");
}
/* Send a command to the instrument.
* --------------------------------------------------------------- */
void do_command(command)
char *command;
{
char message[80];
strcpy(message, command);
strcat(message, "\n");
err = viPrintf(vi, message);
if (err != VI_SUCCESS) error_handler();
check_instrument_errors();
}
/* Command with IEEE definite-length block.
* --------------------------------------------------------------- */
int do_command_ieeeblock(command, num_bytes)
char *command;
int num_bytes;
{
char message[80];
int data_length;
strcpy(message, command);
strcat(message, " #8%08d");
err = viPrintf(vi, message, num_bytes);
if (err != VI_SUCCESS) error_handler();
err = viBufWrite(vi, ieeeblock_data, num_bytes, &data_length);
if (err != VI_SUCCESS) error_handler();
check_instrument_errors();
return(data_length);
}
/* Query for a string result.
* --------------------------------------------------------------- */
void do_query_string(query)
char *query;
{
char message[80];
strcpy(message, query);
strcat(message, "\n");
err = viPrintf(vi, message);
if (err != VI_SUCCESS) error_handler();
err = viScanf(vi, "%t", str_result);
if (err != VI_SUCCESS) error_handler();
check_instrument_errors();
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1637
}
/* Query for a number result.
* --------------------------------------------------------------- */
void do_query_number(query)
char *query;
{
char message[80];
strcpy(message, query);
strcat(message, "\n");
err = viPrintf(vi, message);
if (err != VI_SUCCESS) error_handler();
err = viScanf(vi, "%lf", &num_result);
if (err != VI_SUCCESS) error_handler();
check_instrument_errors();
}
/* Query for numbers result.
* --------------------------------------------------------------- */
void do_query_numbers(query)
char *query;
{
char message[80];
strcpy(message, query);
strcat(message, "\n");
err = viPrintf(vi, message);
if (err != VI_SUCCESS) error_handler();
err = viScanf(vi, "%,10lf\n", dbl_results);
if (err != VI_SUCCESS) error_handler();
check_instrument_errors();
}
/* Query for an IEEE definite-length byte block result.
* --------------------------------------------------------------- */
int do_query_ieeeblock(query)
char *query;
{
char message[80];
int data_length;
strcpy(message, query);
strcat(message, "\n");
err = viPrintf(vi, message);
if (err != VI_SUCCESS) error_handler();
data_length = IEEEBLOCK_SPACE;
err = viScanf(vi, "%#b\n", &data_length, ieeeblock_data);
if (err != VI_SUCCESS) error_handler();
1638 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
if (data_length == IEEEBLOCK_SPACE )
{
printf("IEEE block buffer full: ");
printf("May not have received all data.\n");
}
check_instrument_errors();
return(data_length);
}
/* Query for an IEEE definite-length word block result.
* --------------------------------------------------------------- */
int do_query_ieeeblock_words(query)
char *query;
{
char message[80];
int data_length;
strcpy(message, query);
strcat(message, "\n");
err = viPrintf(vi, message);
if (err != VI_SUCCESS) error_handler();
data_length = IEEEBLOCK_SPACE;
err = viScanf(vi, "%#hb\n", &data_length, ieeeblock_data_words);
if (err != VI_SUCCESS) error_handler();
if (data_length == IEEEBLOCK_SPACE )
{
printf("IEEE block buffer full: ");
printf("May not have received all data.\n");
}
check_instrument_errors();
return(data_length);
}
/* Check for instrument errors.
* --------------------------------------------------------------- */
void check_instrument_errors()
{
char str_err_val[256] = {0};
char str_out[800] = "";
err = viQueryf(vi, ":SYSTem:ERRor? STRing\n", "%t", str_err_val);
if (err != VI_SUCCESS) error_handler();
while(strncmp(str_err_val, "0,", 2) != 0 )
{
strcat(str_out, ", ");
strcat(str_out, str_err_val);
err = viQueryf(vi, ":SYSTem:ERRor? STRing\n", "%t", str_err_val);
if (err != VI_SUCCESS) error_handler();
}
if (strcmp(str_out, "") != 0)
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1639
{
printf("INST Error%s\n", str_out);
err = viFlush(vi, VI_READ_BUF);
if (err != VI_SUCCESS) error_handler();
err = viFlush(vi, VI_WRITE_BUF);
if (err != VI_SUCCESS) error_handler();
}
}
/* Handle VISA errors.
* --------------------------------------------------------------- */
void error_handler()
{
char err_msg[1024] = {0};
viStatusDesc(vi, err, err_msg);
printf("VISA Error: %s\n", err_msg);
if (err < VI_SUCCESS)
{
exit(1);
}
}
VISA Example in Visual Basic
To run this example in Visual Basic for Applications:
1Start the application that provides Visual Basic for Applications (for example,
Microsoft Excel).
2Press ALT+F11 to launch the Visual Basic editor.
3Add the visa32.bas file to your project:
aChoose File > Import File....
bNavigate to the header file, visa32.bas (installed with Keysight IO Libraries
Suite and found in the Program Files (x86)\IVI Foundation\VISA\WinNT\
Include), select it, and click Open.
4Choose Insert > Module.
5Cut-and-paste the code that follows into the editor.
6Edit the program to use the VISA address of your oscilloscope, and save the
changes.
7Run the program.
'
' Keysight VISA Example in Visual Basic
' -------------------------------------------------------------------
' This program illustrates a few commonly-used programming
' features of your Keysight Infiniium Series oscilloscope.
' -------------------------------------------------------------------
Option Explicit
1640 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Public err As Long ' Error returned by VISA function calls.
Public drm As Long ' Session to Default Resource Manager.
Public vi As Long ' Session to instrument.
' Declare variables to hold numeric values returned by
' viVScanf/viVQueryf.
Public dblQueryResult As Double
Public Const ByteArraySize = 5000000
Public Const WordArraySize = 5000000
Public retCount As Long
Public byteArray(ByteArraySize) As Byte
Public wordArray(WordArraySize) As Integer
Public paramsArray(2) As Long
Public Const DblArraySize = 20
Public dblArray(DblArraySize) As Double
' Declare fixed length string variable to hold string value returned
' by viVScanf/viVQueryf.
Public strQueryResult As String * 200
' For Sleep subroutine.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'
' Main Program
' -------------------------------------------------------------------
Sub Main()
' Open the default resource manager session.
err = viOpenDefaultRM(drm)
If (err <> VI_SUCCESS) Then HandleVISAError drm
' Open the session using the oscilloscope's VISA address.
err = viOpen(drm, _
"TCPIP0::141.121.237.226::hislip0::INSTR", 0, 15000, vi)
If (err <> VI_SUCCESS) Then HandleVISAError drm
' Set the I/O timeout to ten seconds.
err = viSetAttribute(vi, VI_ATTR_TMO_VALUE, 10000)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' Clear the interface.
err = viClear(vi)
If Not (err = VI_SUCCESS) Then HandleVISAError vi
' Initialize - start from a known state.
Initialize
' Capture data.
Capture
' Analyze the captured waveform.
Analyze
' Close the vi session and the resource manager session.
err = viClose(vi)
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1641
err = viClose(drm)
End Sub
'
' Initialize the oscilloscope to a known state.
' -------------------------------------------------------------------
Private Sub Initialize()
' Clear status.
DoCommand "*CLS"
' Get and display the device's *IDN? string.
strQueryResult = DoQueryString("*IDN?")
MsgBox "*IDN? string: " + strQueryResult, vbOKOnly, "*IDN? Result"
' Load the default setup.
DoCommand "*RST"
End Sub
'
' Capture the waveform.
' -------------------------------------------------------------------
Private Sub Capture()
' Set probe attenuation factor.
DoCommand ":CHANnel1:PROBe 1.0"
Debug.Print "Channel 1 probe attenuation factor: " + _
DoQueryString(":CHANnel1:PROBe?")
' Use auto-scale to automatically configure oscilloscope.
' -----------------------------------------------------------------
DoCommand ":AUToscale"
' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source.
DoCommand ":TRIGger:MODE EDGE"
Debug.Print "Trigger mode: " + _
DoQueryString(":TRIGger:MODE?")
' Set EDGE trigger parameters.
DoCommand ":TRIGger:EDGE:SOURCe CHANnel1"
Debug.Print "Trigger edge source: " + _
DoQueryString(":TRIGger:EDGE:SOURce?")
DoCommand ":TRIGger:LEVel CHANnel1,-2E-3"
Debug.Print "Trigger level, channel 1: " + _
DoQueryString(":TRIGger:LEVel? CHANnel1")
DoCommand ":TRIGger:EDGE:SLOPe POSitive"
Debug.Print "Trigger edge slope: " + _
DoQueryString(":TRIGger:EDGE:SLOPe?")
' Save oscilloscope configuration.
' -----------------------------------------------------------------
1642 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Dim lngSetupStringSize As Long
lngSetupStringSize = DoQueryIEEEBlock_Bytes(":SYSTem:SETup?")
Debug.Print "Setup bytes saved: " + CStr(lngSetupStringSize)
' Output setup string to a file:
Dim strPath As String
strPath = "c:\scope\config\setup.dat"
If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists.
End If
' Open file for output.
Dim hFile As Long
hFile = FreeFile
Open strPath For Binary Access Write Lock Write As hFile
Dim lngI As Long
For lngI = 0 To lngSetupStringSize - 1
Put hFile, , byteArray(lngI) ' Write data.
Next lngI
Close hFile ' Close file.
' Change settings with individual commands:
' -----------------------------------------------------------------
' Set vertical scale and offset.
DoCommand ":CHANnel1:SCALe 0.1"
Debug.Print "Channel 1 vertical scale: " + _
DoQueryString(":CHANnel1:SCALe?")
DoCommand ":CHANnel1:OFFSet 0.0"
Debug.Print "Channel 1 vertical offset: " + _
DoQueryString(":CHANnel1:OFFSet?")
' Set horizontal scale and position.
DoCommand ":TIMebase:SCALe 0.0002"
Debug.Print "Timebase scale:"+_
DoQueryString(":TIMebase:SCALe?")
DoCommand ":TIMebase:POSition 0.0"
Debug.Print "Timebase position: " + _
DoQueryString(":TIMebase:POSition?")
' Set the acquisition mode.
DoCommand ":ACQuire:MODE RTIMe"
Debug.Print "Acquire mode: " + _
DoQueryString(":ACQuire:MODE?")
' Or, configure by loading a previously saved setup.
' -----------------------------------------------------------------
strPath = "c:\scope\config\setup.dat"
Open strPath For Binary Access Read As hFile ' Open file for input.
Dim lngSetupFileSize As Long
lngSetupFileSize = LOF(hFile) ' Length of file.
Get hFile, , byteArray ' Read data.
Close hFile ' Close file.
' Write learn string back to oscilloscope using ":SYSTem:SETup"
' command:
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1643
Dim lngRestored As Long
lngRestored = DoCommandIEEEBlock(":SYSTem:SETup", lngSetupFileSize)
Debug.Print "Setup bytes restored: " + CStr(lngRestored)
' Set the desired number of waveform points,
' and capture an acquisition.
' -----------------------------------------------------------------
DoCommand ":ACQuire:POINts 32000"
DoCommand ":DIGitize"
End Sub
'
' Analyze the captured waveform.
' -------------------------------------------------------------------
Private Sub Analyze()
' Make a couple of measurements.
' -----------------------------------------------------------------
DoCommand ":MEASure:SOURce CHANnel1"
Debug.Print "Measure source:"+_
DoQueryString(":MEASure:SOURce?")
DoCommand ":MEASure:FREQuency"
dblQueryResult = DoQueryNumber(":MEASure:FREQuency?")
MsgBox "Frequency:" + vbCrLf + _
FormatNumber(dblQueryResult / 1000, 4) + " kHz"
DoCommand ":MEASure:VAMPlitude"
dblQueryResult = DoQueryNumber(":MEASure:VAMPlitude?")
MsgBox "Vertical amplitude:" + vbCrLf + _
FormatNumber(dblQueryResult, 4)+"V"
' Download the screen image.
' -----------------------------------------------------------------
' Get screen image.
Dim lngBlockSize As Long
lngBlockSize = DoQueryIEEEBlock_Bytes(":DISPlay:DATA? PNG")
Debug.Print "Screen image bytes: " + CStr(lngBlockSize)
' Save screen image to a file:
Dim strPath As String
strPath = "c:\scope\data\screen.png"
If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists.
End If
Dim hFile As Long
hFile = FreeFile
Open strPath For Binary Access Write Lock Write As hFile
Dim lngI As Long
For lngI = 0 To lngBlockSize - 1
Put hFile, , byteArray(lngI) ' Write data.
Next lngI
Close hFile ' Close file.
1644 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
MsgBox "Screen image written to " + strPath
' Download waveform data.
' -----------------------------------------------------------------
' Get the waveform type.
Debug.Print "Waveform type:"+_
DoQueryString(":WAVeform:TYPE?")
' Get the number of waveform points.
Debug.Print "Waveform points: " + _
DoQueryString(":WAVeform:POINts?")
' Set the waveform source.
DoCommand ":WAVeform:SOURce CHANnel1"
Debug.Print "Waveform source: " + _
DoQueryString(":WAVeform:SOURce?")
' Choose the format of the data returned:
DoCommand ":WAVeform:FORMat WORD"
Debug.Print "Waveform format: " + _
DoQueryString(":WAVeform:FORMat?")
' Display the waveform settings:
Dim dblXIncrement As Double
Dim dblXOrigin As Double
Dim dblYIncrement As Double
Dim dblYOrigin As Double
dblXIncrement = DoQueryNumber(":WAVeform:XINCrement?")
Debug.Print "Waveform X increment: " + _
Format(dblXIncrement, "Scientific")
dblXOrigin = DoQueryNumber(":WAVeform:XORigin?")
Debug.Print "Waveform X origin: " + _
Format(dblXOrigin, "Scientific")
dblYIncrement = DoQueryNumber(":WAVeform:YINCrement?")
Debug.Print "Waveform Y increment: " + _
Format(dblYIncrement, "Scientific")
dblYOrigin = DoQueryNumber(":WAVeform:YORigin?")
Debug.Print "Waveform Y origin: " + _
FormatNumber(dblYOrigin, 0)
' Get the waveform data
DoCommand ":WAVeform:STReaming OFF"
Dim lngNumWords As Long
lngNumWords = DoQueryIEEEBlock_Words(":WAVeform:DATA?")
Debug.Print "Number of data values:"+CStr(lngNumWords)
' Set up output file:
strPath = "c:\scope\data\waveform_data.csv"
' Open file for output.
Open strPath For Output Access Write Lock Write As hFile
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1645
' Output waveform data in CSV format.
For lngI = 0 To lngNumWords - 1
' Write time value, voltage value.
Print #hFile, _
FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _
", " + _
FormatNumber((wordArray(lngI) * dblYIncrement) + dblYOrigin)
Next lngI
' Close output file.
Close hFile ' Close file.
MsgBox "Waveform format WORD data written to"+_
"c:\scope\data\waveform_data.csv."
End Sub
Private Sub DoCommand(command As String)
err = viVPrintf(vi, command + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
CheckInstrumentErrors
End Sub
Private Function DoCommandIEEEBlock(command As String, _
lngBlockSize As Long)
retCount = lngBlockSize
Dim strCommandAndLength As String
strCommandAndLength = command + " %#" + _
Format(lngBlockSize) + "b"
err = viVPrintf(vi, strCommandAndLength + vbLf, paramsArray(1))
If (err <> VI_SUCCESS) Then HandleVISAError vi
DoCommandIEEEBlock = retCount
CheckInstrumentErrors
End Function
Private Function DoQueryString(query As String) As String
Dim strResult As String * 200
err = viVPrintf(vi, query + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viVScanf(vi, "%t", strResult)
If (err <> VI_SUCCESS) Then HandleVISAError vi
DoQueryString = strResult
1646 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
CheckInstrumentErrors
End Function
Private Function DoQueryNumber(query As String) As Variant
Dim dblResult As Double
err = viVPrintf(vi, query + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viVScanf(vi, "%lf" + vbLf, VarPtr(dblResult))
If (err <> VI_SUCCESS) Then HandleVISAError vi
DoQueryNumber = dblResult
CheckInstrumentErrors
End Function
Private Function DoQueryNumbers(query As String) As Long
Dim dblResult As Double
' Send query.
err = viVPrintf(vi, query + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' Set up paramsArray for multiple parameter query returning array.
paramsArray(0) = VarPtr(retCount)
paramsArray(1) = VarPtr(dblArray(0))
' Set retCount to max number of elements array can hold.
retCount = DblArraySize
' Read numbers.
err = viVScanf(vi, "%,#lf" + vbLf, paramsArray(0))
If (err <> VI_SUCCESS) Then HandleVISAError vi
' retCount is now actual number of values returned by query.
DoQueryNumbers = retCount
CheckInstrumentErrors
End Function
Private Function DoQueryIEEEBlock_Bytes(query As String) As Long
' Send query.
err = viVPrintf(vi, query + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' Set up paramsArray for multiple parameter query returning array.
paramsArray(0) = VarPtr(retCount)
paramsArray(1) = VarPtr(byteArray(0))
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1647
' Set retCount to max number of elements array can hold.
retCount = ByteArraySize
' Get unsigned integer bytes.
err = viVScanf(vi, "%#b" + vbLf, paramsArray(0))
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_READ_BUF)
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_WRITE_BUF)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' retCount is now actual number of bytes returned by query.
DoQueryIEEEBlock_Bytes = retCount
CheckInstrumentErrors
End Function
Private Function DoQueryIEEEBlock_Words(query As String) As Long
' Send query.
err = viVPrintf(vi, query + vbLf, 0)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' Set up paramsArray for multiple parameter query returning array.
paramsArray(0) = VarPtr(retCount)
paramsArray(1) = VarPtr(wordArray(0))
' Set retCount to max number of elements array can hold.
retCount = WordArraySize
' Get signed integer words.
err = viVScanf(vi, "%#hb" + vbLf, paramsArray(0))
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_READ_BUF)
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_WRITE_BUF)
If (err <> VI_SUCCESS) Then HandleVISAError vi
' retCount is now actual number of bytes returned by query.
DoQueryIEEEBlock_Words = retCount
CheckInstrumentErrors
End Function
Private Sub CheckInstrumentErrors()
On Error GoTo ErrorHandler
Dim strErrVal As String * 200
Dim strOut As String
1648 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
err = viVPrintf(vi, ":SYSTem:ERRor? STRing" + vbLf, 0) ' Query any err
ors.
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viVScanf(vi, "%t", strErrVal) ' Read: Errnum,"Error String".
If (err <> VI_SUCCESS) Then HandleVISAError vi
While Val(strErrVal) <> 0 ' End if find: 0,"No Error".
strOut = strOut + "INST Error: " + strErrVal
err = viVPrintf(vi, ":SYSTem:ERRor? STRing" + vbLf, 0) ' Request err
or.
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viVScanf(vi, "%t", strErrVal) ' Read error message.
If (err <> VI_SUCCESS) Then HandleVISAError vi
Wend
If Not strOut = "" Then
MsgBox strOut, vbExclamation, "INST Error Messages"
err = viFlush(vi, VI_READ_BUF)
If (err <> VI_SUCCESS) Then HandleVISAError vi
err = viFlush(vi, VI_WRITE_BUF)
If (err <> VI_SUCCESS) Then HandleVISAError vi
End If
Exit Sub
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Sub
Private Sub HandleVISAError(session As Long)
Dim strVisaErr As String * 200
Call viStatusDesc(session, err, strVisaErr)
MsgBox "*** VISA Error : " + strVisaErr, vbExclamation
' If the error is not a warning, close the session.
If err < VI_SUCCESS Then
If session <> 0 Then Call viClose(session)
End
End If
End Sub
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1649
VISA Example in C#
To compile and run this example in Microsoft Visual Studio 2008:
1Open Visual Studio.
2Create a new Visual C#, Windows, Console Application project.
3Cut-and-paste the code that follows into the C# source file.
4Edit the program to use the VISA address of your oscilloscope.
5Add Keysight's VISA header file to your project:
aRight-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment.
bClick Add and then click Add Existing Item...
cNavigate to the header file, visa32.cs (installed with Keysight IO Libraries
Suite and found in the Program Files (x86)\IVI Foundation\VISA\WinNT\
Include directory), select it, but do not click the Open button.
dClick 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.
6Build and run the program.
For more information, see the tutorial on using VISA in Microsoft .NET in the VISA
Help that comes with Keysight IO Libraries Suite 15.
/*
* Keysight VISA Example in C#
* -------------------------------------------------------------------
* This program illustrates a few commonly used programming
* features of your Keysight Infiniium Series oscilloscope.
* -------------------------------------------------------------------
*/
using System;
using System.IO;
using System.Text;
using System.Collections.Generic;
namespace Infiniium
{
class VisaInstrumentApp
{
private static VisaInstrument myScope;
public static void Main(string[] args)
{
try
{
myScope = new
VisaInstrument("TCPIP0::141.121.237.226::hislip0::INSTR");
1650 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
myScope.SetTimeoutSeconds(10);
// Initialize - start from a known state.
Initialize();
// Capture data.
Capture();
// Analyze the captured waveform.
Analyze();
}
catch (System.ApplicationException err)
{
Console.WriteLine("*** VISA Error Message : " + err.Message);
}
catch (System.SystemException err)
{
Console.WriteLine("*** System Error Message : " + err.Message);
}
catch (System.Exception err)
{
System.Diagnostics.Debug.Fail("Unexpected Error");
Console.WriteLine("*** Unexpected Error:"+err.Message);
}
finally
{
myScope.Close();
}
}
/*
* Initialize the oscilloscope to a known state.
* --------------------------------------------------------------
*/
private static void Initialize()
{
StringBuilder strResults;
// Clear status.
myScope.DoCommand("*CLS");
// Get and display the device's *IDN? string.
strResults = myScope.DoQueryString("*IDN?");
Console.WriteLine("*IDN? result is: {0}", strResults);
// Load the default setup.
myScope.DoCommand("*RST");
}
/*
* Capture the waveform.
* --------------------------------------------------------------
*/
private static void Capture()
{
// Set probe attenuation factor.
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1651
myScope.DoCommand(":CHANnel1:PROBe 1.0");
Console.WriteLine("Channel 1 probe attenuation factor: {0}",
myScope.DoQueryString(":CHANnel1:PROBe?"));
// Use auto-scale to automatically set up oscilloscope.
myScope.DoCommand(":AUToscale");
// Set trigger mode.
myScope.DoCommand(":TRIGger:MODE EDGE");
Console.WriteLine("Trigger mode: {0}",
myScope.DoQueryString(":TRIGger:MODE?"));
// Set EDGE trigger parameters.
myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1");
Console.WriteLine("Trigger edge source: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SOURce?"));
myScope.DoCommand(":TRIGger:LEVel CHANnel1,-2E-3");
Console.WriteLine("Trigger level, channel 1: {0}",
myScope.DoQueryString(":TRIGger:LEVel? CHANnel1"));
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive");
Console.WriteLine("Trigger edge slope: {0}",
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"));
// Save oscilloscope configuration.
byte[] ResultsArray; // Results array.
int nLength; // Number of bytes returned from instrument.
string strPath;
// Query and read setup string.
nLength = myScope.DoQueryIEEEBlock_Bytes(":SYSTem:SETup?",
out ResultsArray);
// Write setup string to file.
strPath = "c:\\scope\\config\\setup.stp";
FileStream fStream = File.Open(strPath, FileMode.Create);
fStream.Write(ResultsArray, 0, nLength);
fStream.Close();
Console.WriteLine("Setup bytes saved: {0}", nLength);
// Change settings with individual commands:
// Set vertical scale and offset.
myScope.DoCommand(":CHANnel1:SCALe 0.1");
Console.WriteLine("Channel 1 vertical scale: {0}",
myScope.DoQueryString(":CHANnel1:SCALe?"));
myScope.DoCommand(":CHANnel1:OFFSet 0.0");
Console.WriteLine("Channel 1 vertical offset: {0}",
myScope.DoQueryString(":CHANnel1:OFFSet?"));
// Set horizontal scale and position.
myScope.DoCommand(":TIMebase:SCALe 0.0002");
Console.WriteLine("Timebase scale: {0}",
myScope.DoQueryString(":TIMebase:SCALe?"));
1652 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
myScope.DoCommand(":TIMebase:POSition 0.0");
Console.WriteLine("Timebase position: {0}",
myScope.DoQueryString(":TIMebase:POSition?"));
// Set the acquisition mode.
myScope.DoCommand(":ACQuire:MODE RTIMe");
Console.WriteLine("Acquire mode: {0}",
myScope.DoQueryString(":ACQuire:MODE?"));
// Or, set up by loading a previously saved setup.
byte[] DataArray;
int nBytesWritten;
// Read setup string from file.
strPath = "c:\\scope\\config\\setup.stp";
DataArray = File.ReadAllBytes(strPath);
// Restore setup string.
nBytesWritten = myScope.DoCommandIEEEBlock(":SYSTem:SETup",
DataArray);
Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);
// Set the desired number of waveform points,
// and capture an acquisition.
myScope.DoCommand(":ACQuire:POINts 32000");
myScope.DoCommand(":DIGitize");
}
/*
* Analyze the captured waveform.
* --------------------------------------------------------------
*/
private static void Analyze()
{
byte[] ResultsArray; // Results array.
short[] WordResultsArray; // Results array for WORD data.
int nLength; // Number of bytes returned from instrument.
string strPath;
// Make measurements.
// -----------------------------------------------------------
myScope.DoCommand(":MEASure:SOURce CHANnel1");
Console.WriteLine("Measure source: {0}",
myScope.DoQueryString(":MEASure:SOURce?"));
double fResult;
myScope.DoCommand(":MEASure:FREQuency");
fResult = myScope.DoQueryNumber(":MEASure:FREQuency?");
Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000);
myScope.DoCommand(":MEASure:VAMPlitude");
fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?");
Console.WriteLine("Vertical amplitude: {0:F2} V", fResult);
// Download the screen image.
// -----------------------------------------------------------
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1653
// Get the screen data.
nLength = myScope.DoQueryIEEEBlock_Bytes(":DISPlay:DATA? PNG",
out ResultsArray);
// Store the screen data to a file.
strPath = "c:\\scope\\data\\screen.png";
FileStream fStream = File.Open(strPath, FileMode.Create);
fStream.Write(ResultsArray, 0, nLength);
fStream.Close();
Console.WriteLine("Screen image ({0} bytes) written to {1}",
nLength, strPath);
// Download waveform data.
// -----------------------------------------------------------
// Get the waveform type.
Console.WriteLine("Waveform type: {0}",
myScope.DoQueryString(":WAVeform:TYPE?"));
// Get the number of waveform points.
Console.WriteLine("Waveform points: {0}",
myScope.DoQueryString(":WAVeform:POINts?"));
// Set the waveform source.
myScope.DoCommand(":WAVeform:SOURce CHANnel1");
Console.WriteLine("Waveform source: {0}",
myScope.DoQueryString(":WAVeform:SOURce?"));
// Choose the format of the data returned:
myScope.DoCommand(":WAVeform:FORMat WORD");
Console.WriteLine("Waveform format: {0}",
myScope.DoQueryString(":WAVeform:FORMat?"));
// Display the waveform settings from preamble:
Dictionary<string, string> dctWavFormat =
new Dictionary<string, string>()
{
{"0", "ASCii"},
{"1", "BYTE"},
{"2", "WORD"},
{"3", "LONG"},
{"4", "LONGLONG"},
};
Dictionary<string, string> dctAcqType =
new Dictionary<string, string>()
{
{"1", "RAW"},
{"2", "AVERage"},
{"3", "VHIStogram"},
{"4", "HHIStogram"},
{"6", "INTerpolate"},
{"10", "PDETect"},
};
Dictionary<string, string> dctAcqMode =
new Dictionary<string, string>()
{
{"0", "RTIMe"},
1654 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
{"1", "ETIMe"},
{"3", "PDETect"},
};
Dictionary<string, string> dctCoupling =
new Dictionary<string, string>()
{
{"0", "AC"},
{"1", "DC"},
{"2", "DCFIFTY"},
{"3", "LFREJECT"},
};
Dictionary<string, string> dctUnits =
new Dictionary<string, string>()
{
{"0", "UNKNOWN"},
{"1", "VOLT"},
{"2", "SECOND"},
{"3", "CONSTANT"},
{"4", "AMP"},
{"5", "DECIBEL"},
};
string strPreamble;
string[] strsPreamble;
strPreamble =
myScope.DoQueryString(":WAVeform:PREamble?").ToString();
strsPreamble = strPreamble.Split(',');
Console.WriteLine("Waveform format: {0}",
dctWavFormat[strsPreamble[0]]);
Console.WriteLine("Acquire type: {0}",
dctAcqType[strsPreamble[1]]);
Console.WriteLine("Waveform points: {0}", strsPreamble[2]);
Console.WriteLine("Waveform average count: {0}", strsPreamble[3]);
Console.WriteLine("Waveform X increment: {0}", strsPreamble[4]);
Console.WriteLine("Waveform X origin: {0}", strsPreamble[5]);
Console.WriteLine("Waveform X reference: {0}", strsPreamble[6]);
Console.WriteLine("Waveform Y increment: {0}", strsPreamble[7]);
Console.WriteLine("Waveform Y origin: {0}", strsPreamble[8]);
Console.WriteLine("Waveform Y reference: {0}", strsPreamble[9]);
Console.WriteLine("Coupling: {0}", dctCoupling[strsPreamble[10]]);
Console.WriteLine("Waveform X display range: {0}",
strsPreamble[11]);
Console.WriteLine("Waveform X display origin: {0}",
strsPreamble[12]);
Console.WriteLine("Waveform Y display range: {0}",
strsPreamble[13]);
Console.WriteLine("Waveform Y display origin: {0}",
strsPreamble[14]);
Console.WriteLine("Date: {0}", strsPreamble[15]);
Console.WriteLine("Time: {0}", strsPreamble[16]);
Console.WriteLine("Frame model: {0}", strsPreamble[17]);
Console.WriteLine("Acquire mode: {0}",
dctAcqMode[strsPreamble[18]]);
Console.WriteLine("Completion pct: {0}", strsPreamble[19]);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1655
Console.WriteLine("Waveform X inits: {0}",
dctUnits[strsPreamble[20]]);
Console.WriteLine("Waveform Y units: {0}",
dctUnits[strsPreamble[21]]);
Console.WriteLine("Max BW limit: {0}", strsPreamble[22]);
Console.WriteLine("Min BW limit: {0}", strsPreamble[23]);
// Get numeric values for later calculations.
double fXincrement;
fXincrement = myScope.DoQueryNumber(":WAVeform:XINCrement?");
double fXorigin;
fXorigin = myScope.DoQueryNumber(":WAVeform:XORigin?");
double fYincrement;
fYincrement = myScope.DoQueryNumber(":WAVeform:YINCrement?");
double fYorigin;
fYorigin = myScope.DoQueryNumber(":WAVeform:YORigin?");
// Get the waveform data.
myScope.DoCommand(":WAVeform:STReaming OFF");
nLength = myScope.DoQueryIEEEBlock_Words(":WAVeform:DATA?",
out WordResultsArray);
Console.WriteLine("Number of data values: {0}", nLength);
// Set up output file:
strPath = "c:\\scope\\data\\waveform_data.csv";
if (File.Exists(strPath)) File.Delete(strPath);
// Open file for output.
StreamWriter writer = File.CreateText(strPath);
// Output waveform data in CSV format.
for(inti=0;i<nLength - 1; i++)
writer.WriteLine("{0:f9}, {1:f6}",
fXorigin + ((float)i * fXincrement),
((float)WordResultsArray[i] * fYincrement) + fYorigin);
// Close output file.
writer.Close();
Console.WriteLine("Waveform format WORD data written to {0}",
strPath);
}
}
class VisaInstrument
{
private int m_nResourceManager;
private int m_nSession;
private string m_strVisaAddress;
// Constructor.
public VisaInstrument(string strVisaAddress)
{
// Save VISA address in member variable.
m_strVisaAddress = strVisaAddress;
// Open the default VISA resource manager.
OpenResourceManager();
1656 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
// Open a VISA resource session.
OpenSession();
// Clear the interface.
int nViStatus;
nViStatus = visa32.viClear(m_nSession);
}
public void DoCommand(string strCommand)
{
// Send the command.
VisaSendCommandOrQuery(strCommand);
// Check for inst errors.
CheckInstrumentErrors(strCommand);
}
public int DoCommandIEEEBlock(string strCommand,
byte[] DataArray)
{
// Send the command to the device.
string strCommandAndLength;
int nViStatus, nLength, nBytesWritten;
nLength = DataArray.Length;
strCommandAndLength = String.Format("{0} #8%08d",
strCommand);
// Write first part of command to formatted I/O write buffer.
nViStatus = visa32.viPrintf(m_nSession, strCommandAndLength,
nLength);
CheckVisaStatus(nViStatus);
// Write the data to the formatted I/O write buffer.
nViStatus = visa32.viBufWrite(m_nSession, DataArray, nLength,
out nBytesWritten);
CheckVisaStatus(nViStatus);
// Check for inst errors.
CheckInstrumentErrors(strCommand);
return nBytesWritten;
}
public StringBuilder DoQueryString(string strQuery)
{
// Send the query.
VisaSendCommandOrQuery(strQuery);
// Get the result string.
StringBuilder strResults = new StringBuilder(1000);
strResults = VisaGetResultString();
// Check for inst errors.
CheckInstrumentErrors(strQuery);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1657
// Return string results.
return strResults;
}
public double DoQueryNumber(string strQuery)
{
// Send the query.
VisaSendCommandOrQuery(strQuery);
// Get the result string.
double fResults;
fResults = VisaGetResultNumber();
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return string results.
return fResults;
}
public double[] DoQueryNumbers(string strQuery)
{
// Send the query.
VisaSendCommandOrQuery(strQuery);
// Get the result string.
double[] fResultsArray;
fResultsArray = VisaGetResultNumbers();
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return string results.
return fResultsArray;
}
public int DoQueryIEEEBlock_Bytes(string strQuery,
out byte[] ResultsArray)
{
// Send the query.
VisaSendCommandOrQuery(strQuery);
// Get the result string.
int length; // Number of bytes returned from instrument.
length = VisaGetResultIEEEBlock_Bytes(out ResultsArray);
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return string results.
return length;
}
public int DoQueryIEEEBlock_Words(string strQuery,
out short[] ResultsArray)
{
// Send the query.
1658 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
VisaSendCommandOrQuery(strQuery);
// Get the result string.
int length; // Number of bytes returned from instrument.
length = VisaGetResultIEEEBlock_Words(out ResultsArray);
// Check for inst errors.
CheckInstrumentErrors(strQuery);
// Return string results.
return length;
}
private void VisaSendCommandOrQuery(string strCommandOrQuery)
{
// Send command or query to the device.
string strWithNewline;
strWithNewline = String.Format("{0}\n", strCommandOrQuery);
int nViStatus;
nViStatus = visa32.viPrintf(m_nSession, strWithNewline);
CheckVisaStatus(nViStatus);
}
private StringBuilder VisaGetResultString()
{
StringBuilder strResults = new StringBuilder(1000);
// Read return value string from the device.
int nViStatus;
nViStatus = visa32.viScanf(m_nSession, "%1000t", strResults);
CheckVisaStatus(nViStatus);
return strResults;
}
private double VisaGetResultNumber()
{
double fResults = 0;
// Read return value string from the device.
int nViStatus;
nViStatus = visa32.viScanf(m_nSession, "%lf", out fResults);
CheckVisaStatus(nViStatus);
return fResults;
}
private double[] VisaGetResultNumbers()
{
double[] fResultsArray;
fResultsArray = new double[10];
// Read return value string from the device.
int nViStatus;
nViStatus = visa32.viScanf(m_nSession, "%,10lf\n",
fResultsArray);
CheckVisaStatus(nViStatus);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1659
return fResultsArray;
}
private int VisaGetResultIEEEBlock_Bytes(out byte[] ResultsArray)
{
// Results array, big enough to hold a PNG.
ResultsArray = new byte[5000000];
int length; // Number of bytes returned from instrument.
// Set the default number of bytes that will be contained in
// the ResultsArray to 5,000,000.
length = 5000000;
// Read return value string from the device.
int nViStatus;
nViStatus = visa32.viScanf(m_nSession, "%#b", ref length,
ResultsArray);
CheckVisaStatus(nViStatus);
// Write and read buffers need to be flushed after IEEE block?
nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF);
CheckVisaStatus(nViStatus);
nViStatus = visa32.viFlush(m_nSession, visa32.VI_READ_BUF);
CheckVisaStatus(nViStatus);
return length;
}
private int VisaGetResultIEEEBlock_Words(out short[] ResultsArray)
{
// Results array, big enough to hold a PNG.
ResultsArray = new short[5000000];
int length; // Number of words returned from instrument.
// Set the default number of words that will be contained in
// the ResultsArray to 5,000,000.
length = 5000000;
// Read return value string from the device.
int nViStatus;
nViStatus = visa32.viScanf(m_nSession, "%#hb", ref length,
ResultsArray);
CheckVisaStatus(nViStatus);
// Write and read buffers need to be flushed after IEEE block?
nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF);
CheckVisaStatus(nViStatus);
nViStatus = visa32.viFlush(m_nSession, visa32.VI_READ_BUF);
CheckVisaStatus(nViStatus);
return length;
}
private void CheckInstrumentErrors(string strCommand)
1660 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
{
// Check for instrument errors.
StringBuilder strInstrumentError = new StringBuilder(1000);
bool bFirstError = true;
do // While not "0,No error"
{
VisaSendCommandOrQuery(":SYSTem:ERRor? STRing");
strInstrumentError = VisaGetResultString();
if (!strInstrumentError.ToString().StartsWith("0,"))
{
if (bFirstError)
{
Console.WriteLine("ERROR(s) for command '{0}': ",
strCommand);
bFirstError = false;
}
Console.Write(strInstrumentError);
}
} while (!strInstrumentError.ToString().StartsWith("0,"));
}
private void OpenResourceManager()
{
int nViStatus;
nViStatus =
visa32.viOpenDefaultRM(out this.m_nResourceManager);
if (nViStatus < visa32.VI_SUCCESS)
throw new
ApplicationException("Failed to open Resource Manager");
}
private void OpenSession()
{
int nViStatus;
nViStatus = visa32.viOpen(this.m_nResourceManager,
this.m_strVisaAddress, visa32.VI_NO_LOCK,
visa32.VI_TMO_IMMEDIATE, out this.m_nSession);
CheckVisaStatus(nViStatus);
}
public void SetTimeoutSeconds(int nSeconds)
{
int nViStatus;
nViStatus = visa32.viSetAttribute(this.m_nSession,
visa32.VI_ATTR_TMO_VALUE, nSeconds * 1000);
CheckVisaStatus(nViStatus);
}
public void CheckVisaStatus(int nViStatus)
{
// If VISA error, throw exception.
if (nViStatus < visa32.VI_SUCCESS)
{
StringBuilder strError = new StringBuilder(256);
visa32.viStatusDesc(this.m_nResourceManager, nViStatus,
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1661
strError);
throw new ApplicationException(strError.ToString());
}
}
public void Close()
{
if (m_nSession != 0)
visa32.viClose(m_nSession);
if (m_nResourceManager != 0)
visa32.viClose(m_nResourceManager);
}
}
}
VISA Example in Visual Basic .NET
To compile and run this example in Microsoft Visual Studio 2008:
1Open Visual Studio.
2Create a new Visual Basic, Windows, Console Application project.
3Cut-and-paste the code that follows into the Visual Basic .NET source file.
4Edit the program to use the VISA address of your oscilloscope.
5Add Keysight's VISA header file to your project:
aRight-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment.
bChoose Add and then choose Add Existing Item...
cNavigate to the header file, visa32.vb (installed with Keysight IO Libraries
Suite and found in the Program Files (x86)\IVI Foundation\VISA\WinNT\
Include directory), select it, but do not click the Open button.
dClick 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.
eRight-click the project again and choose Properties; then, select
"Infiniium.VisaInstrumentApp" as the Startup object.
6Build and run the program.
For more information, see the tutorial on using VISA in Microsoft .NET in the VISA
Help that comes with Keysight IO Libraries Suite 15.
'
' Keysight VISA Example in Visual Basic .NET
' -------------------------------------------------------------------
' This program illustrates a few commonly-used programming
' features of your Keysight Infiniium Series oscilloscope.
' -------------------------------------------------------------------
1662 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Imports System
Imports System.IO
Imports System.Text
Namespace Infiniium
Class VisaInstrumentApp
Private Shared myScope As VisaInstrument
Public Shared Sub Main(ByVal args As String())
Try
myScope = _
New VisaInstrument("TCPIP0::141.121.237.226::hislip0::INSTR")
myScope.SetTimeoutSeconds(10)
' Initialize - start from a known state.
Initialize()
' Capture data.
Capture()
' Analyze the captured waveform.
Analyze()
Catch err As System.ApplicationException
Console.WriteLine("*** VISA Error Message : " + err.Message)
Catch err As System.SystemException
Console.WriteLine("*** System Error Message : " + err.Message)
Catch err As System.Exception
Debug.Fail("Unexpected Error")
Console.WriteLine("*** Unexpected Error:"+err.Message)
Finally
myScope.Close()
End Try
End Sub
'
' Initialize the oscilloscope to a known state.
' --------------------------------------------------------------
Private Shared Sub Initialize()
Dim strResults As StringBuilder
' Clear status.
myScope.DoCommand("*CLS")
' Get and display the device's *IDN? string.
strResults = myScope.DoQueryString("*IDN?")
Console.WriteLine("*IDN? result is: {0}", strResults)
' Load the default setup.
myScope.DoCommand("*RST")
End Sub
'
' Capture the waveform.
' --------------------------------------------------------------
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1663
Private Shared Sub Capture()
' Set probe attenuation factor.
myScope.DoCommand(":CHANnel1:PROBe 1.0")
Console.WriteLine("Channel 1 probe attenuation factor: {0}", _
myScope.DoQueryString(":CHANnel1:PROBe?"))
' Use auto-scale to automatically set up oscilloscope.
myScope.DoCommand(":AUToscale")
' Set trigger mode.
myScope.DoCommand(":TRIGger:MODE EDGE")
Console.WriteLine("Trigger mode: {0}", _
myScope.DoQueryString(":TRIGger:MODE?"))
' Set EDGE trigger parameters.
myScope.DoCommand(":TRIGger:EDGE:SOURCe CHANnel1")
Console.WriteLine("Trigger edge source: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SOURce?"))
myScope.DoCommand(":TRIGger:LEVel CHANnel1,-2E-3")
Console.WriteLine("Trigger edge level: {0}", _
myScope.DoQueryString(":TRIGger:LEVel? CHANnel1"))
myScope.DoCommand(":TRIGger:EDGE:SLOPe POSitive")
Console.WriteLine("Trigger edge slope: {0}", _
myScope.DoQueryString(":TRIGger:EDGE:SLOPe?"))
' Save oscilloscope setup.
Dim ResultsArray As Byte() ' Results array.
Dim nLength As Integer ' Number of bytes returned from inst.
Dim strPath As String
Dim fStream As FileStream
' Query and read setup string.
nLength = myScope.DoQueryIEEEBlock_Bytes(":SYSTem:SETup?", _
ResultsArray)
' Write setup string to file.
strPath = "c:\scope\config\setup.stp"
fStream = File.Open(strPath, FileMode.Create)
fStream.Write(ResultsArray, 0, nLength)
fStream.Close()
Console.WriteLine("Setup bytes saved: {0}", nLength)
' Change settings with individual commands:
' Set vertical scale and offset.
myScope.DoCommand(":CHANnel1:SCALe 0.1")
Console.WriteLine("Channel 1 vertical scale: {0}", _
myScope.DoQueryString(":CHANnel1:SCALe?"))
myScope.DoCommand(":CHANnel1:OFFSet 0.0")
Console.WriteLine("Channel 1 vertical offset: {0}", _
myScope.DoQueryString(":CHANnel1:OFFSet?"))
1664 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
' Set horizontal scale and position.
myScope.DoCommand(":TIMebase:SCALe 0.0002")
Console.WriteLine("Timebase scale: {0}", _
myScope.DoQueryString(":TIMebase:SCALe?"))
myScope.DoCommand(":TIMebase:POSition 0.0")
Console.WriteLine("Timebase position: {0}", _
myScope.DoQueryString(":TIMebase:POSition?"))
' Set the acquisition mode.
myScope.DoCommand(":ACQuire:MODE RTIMe")
Console.WriteLine("Acquire mode: {0}", _
myScope.DoQueryString(":ACQuire:MODE?"))
' Or, set up by loading a previously saved setup.
Dim DataArray As Byte()
Dim nBytesWritten As Integer
' Read setup string from file.
strPath = "c:\scope\config\setup.stp"
DataArray = File.ReadAllBytes(strPath)
' Restore setup string.
nBytesWritten = myScope.DoCommandIEEEBlock(":SYSTem:SETup", _
DataArray)
Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)
' Set the desired number of waveform points,
' and capture an acquisition.
myScope.DoCommand(":ACQuire:POINts 32000")
myScope.DoCommand(":DIGitize")
End Sub
'
' Analyze the captured waveform.
' --------------------------------------------------------------
Private Shared Sub Analyze()
Dim fResult As Double
Dim ResultsArray As Byte() ' Results array.
Dim WordResultsArray As Short() ' Results array for WORD data.
Dim nLength As Integer ' Number of bytes returned from inst.
Dim strPath As String
' Make measurements.
' ------------------------------------------------------------
myScope.DoCommand(":MEASure:SOURce CHANnel1")
Console.WriteLine("Measure source: {0}", _
myScope.DoQueryString(":MEASure:SOURce?"))
myScope.DoCommand(":MEASure:FREQuency")
fResult = myScope.DoQueryNumber(":MEASure:FREQuency?")
Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000)
myScope.DoCommand(":MEASure:VAMPlitude")
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1665
fResult = myScope.DoQueryNumber(":MEASure:VAMPlitude?")
Console.WriteLine("Vertical amplitude: {0:F2} V", fResult)
' Download the screen image.
' ------------------------------------------------------------
' Get the screen data.
nLength = myScope.DoQueryIEEEBlock_Bytes(":DISPlay:DATA? PNG", _
ResultsArray)
' Store the screen data to a file.
strPath = "c:\scope\data\screen.png"
Dim fStream As FileStream
fStream = File.Open(strPath, FileMode.Create)
fStream.Write(ResultsArray, 0, nLength)
fStream.Close()
Console.WriteLine("Screen image ({0} bytes) written to {1}", _
nLength, strPath)
' Download waveform data.
' ------------------------------------------------------------
' Get the waveform type.
Console.WriteLine("Waveform type: {0}", _
myScope.DoQueryString(":WAVeform:TYPE?"))
' Get the number of waveform points.
Console.WriteLine("Waveform points: {0}", _
myScope.DoQueryString(":WAVeform:POINts?"))
' Set the waveform source.
myScope.DoCommand(":WAVeform:SOURce CHANnel1")
Console.WriteLine("Waveform source: {0}", _
myScope.DoQueryString(":WAVeform:SOURce?"))
' Choose the format of the data returned:
myScope.DoCommand(":WAVeform:FORMat WORD")
Console.WriteLine("Waveform format: {0}", _
myScope.DoQueryString(":WAVeform:FORMat?"))
' Display the waveform settings from preamble:
Dim dctWavFormat As New Dictionary(Of String, String)
dctWavFormat.Add("0", "ASCii")
dctWavFormat.Add("1", "BYTE")
dctWavFormat.Add("2", "WORD")
dctWavFormat.Add("3", "LONG")
dctWavFormat.Add("4", "LONGLONG")
Dim dctAcqType As New Dictionary(Of String, String)
dctAcqType.Add("1", "RAW")
dctAcqType.Add("2", "AVERage")
dctAcqType.Add("3", "VHIStogram")
dctAcqType.Add("4", "HHIStogram")
dctAcqType.Add("6", "INTerpolate")
dctAcqType.Add("10", "PDETect")
Dim dctAcqMode As New Dictionary(Of String, String)()
1666 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
dctAcqMode.Add("0", "RTIMe")
dctAcqMode.Add("1", "ETIMe")
dctAcqMode.Add("3", "PDETect")
Dim dctCoupling As New Dictionary(Of String, String)()
dctCoupling.Add("0", "AC")
dctCoupling.Add("1", "DC")
dctCoupling.Add("2", "DCFIFTY")
dctCoupling.Add("3", "LFREJECT")
Dim dctUnits As New Dictionary(Of String, String)()
dctUnits.Add("0", "UNKNOWN")
dctUnits.Add("1", "VOLT")
dctUnits.Add("2", "SECOND")
dctUnits.Add("3", "CONSTANT")
dctUnits.Add("4", "AMP")
dctUnits.Add("5", "DECIBEL")
Dim strPreamble As String
Dim strsPreamble As String()
strPreamble = _
myScope.DoQueryString(":WAVeform:PREamble?").ToString()
strsPreamble = strPreamble.Split(","c)
Console.WriteLine("Waveform format: {0}", _
dctWavFormat(strsPreamble(0)))
Console.WriteLine("Acquire type: {0}", _
dctAcqType(strsPreamble(1)))
Console.WriteLine("Waveform points: {0}", strsPreamble(2))
Console.WriteLine("Waveform average count: {0}", strsPreamble(3))
Console.WriteLine("Waveform X increment: {0}", strsPreamble(4))
Console.WriteLine("Waveform X origin: {0}", strsPreamble(5))
Console.WriteLine("Waveform X reference: {0}", strsPreamble(6))
Console.WriteLine("Waveform Y increment: {0}", strsPreamble(7))
Console.WriteLine("Waveform Y origin: {0}", strsPreamble(8))
Console.WriteLine("Waveform Y reference: {0}", strsPreamble(9))
Console.WriteLine("Coupling: {0}", dctCoupling(strsPreamble(10)))
Console.WriteLine("Waveform X display range: {0}", _
strsPreamble(11))
Console.WriteLine("Waveform X display origin: {0}", _
strsPreamble(12))
Console.WriteLine("Waveform Y display range: {0}", _
strsPreamble(13))
Console.WriteLine("Waveform Y display origin: {0}", _
strsPreamble(14))
Console.WriteLine("Date: {0}", strsPreamble(15))
Console.WriteLine("Time: {0}", strsPreamble(16))
Console.WriteLine("Frame model: {0}", strsPreamble(17))
Console.WriteLine("Acquire mode: {0}", _
dctAcqMode(strsPreamble(18)))
Console.WriteLine("Completion pct: {0}", strsPreamble(19))
Console.WriteLine("Waveform X inits: {0}", _
dctUnits(strsPreamble(20)))
Console.WriteLine("Waveform Y units: {0}", _
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1667
dctUnits(strsPreamble(21)))
Console.WriteLine("Max BW limit: {0}", strsPreamble(22))
Console.WriteLine("Min BW limit: {0}", strsPreamble(23))
' Get numeric values for later calculations.
Dim fXincrement As Double
fXincrement = myScope.DoQueryNumber(":WAVeform:XINCrement?")
Dim fXorigin As Double
fXorigin = myScope.DoQueryNumber(":WAVeform:XORigin?")
Dim fYincrement As Double
fYincrement = myScope.DoQueryNumber(":WAVeform:YINCrement?")
Dim fYorigin As Double
fYorigin = myScope.DoQueryNumber(":WAVeform:YORigin?")
' Get the waveform data.
myScope.DoCommand(":WAVeform:STReaming OFF")
nLength = myScope.DoQueryIEEEBlock_Words(":WAVeform:DATA?", _
WordResultsArray)
Console.WriteLine("Number of data values: {0}", nLength)
' Set up output file:
strPath = "c:\scope\data\waveform_data.csv"
If File.Exists(strPath) Then
File.Delete(strPath)
End If
' Open file for output.
Dim writer As StreamWriter = File.CreateText(strPath)
' Output waveform data in CSV format.
For index As Integer = 0 To nLength - 1
' Write time value, voltage value.
writer.WriteLine("{0:f9}, {1:f6}", _
fXorigin + (CSng(index) * fXincrement), _
(CSng(WordResultsArray(index)) * fYincrement) + _
fYorigin)
Next
' Close output file.
writer.Close()
Console.WriteLine("Waveform format WORD data written to {0}", _
strPath)
End Sub
End Class
Class VisaInstrument
Private m_nResourceManager As Integer
Private m_nSession As Integer
Private m_strVisaAddress As String
' Constructor.
Public Sub New(ByVal strVisaAddress As String)
' Save VISA address in member variable.
m_strVisaAddress = strVisaAddress
1668 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
' Open the default VISA resource manager.
OpenResourceManager()
' Open a VISA resource session.
OpenSession()
' Clear the interface.
Dim nViStatus As Integer
nViStatus = visa32.viClear(m_nSession)
End Sub
Public Sub DoCommand(ByVal strCommand As String)
' Send the command.
VisaSendCommandOrQuery(strCommand)
' Check for inst errors.
CheckInstrumentErrors(strCommand)
End Sub
Public Function DoCommandIEEEBlock(ByVal strCommand As String, _
ByVal DataArray As Byte()) As Integer
' Send the command to the device.
Dim strCommandAndLength As String
Dim nViStatus As Integer
Dim nLength As Integer
Dim nBytesWritten As Integer
nLength = DataArray.Length
strCommandAndLength = [String].Format("{0} #8{1:D8}", _
strCommand, nLength)
' Write first part of command to formatted I/O write buffer.
nViStatus = visa32.viPrintf(m_nSession, strCommandAndLength)
CheckVisaStatus(nViStatus)
' Write the data to the formatted I/O write buffer.
nViStatus = visa32.viBufWrite(m_nSession, DataArray, nLength, _
nBytesWritten)
CheckVisaStatus(nViStatus)
' Check for inst errors.
CheckInstrumentErrors(strCommand)
Return nBytesWritten
End Function
Public Function DoQueryString(ByVal strQuery As String) _
As StringBuilder
' Send the query.
VisaSendCommandOrQuery(strQuery)
' Get the result string.
Dim strResults As New StringBuilder(1000)
strResults = VisaGetResultString()
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1669
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return string results.
Return strResults
End Function
Public Function DoQueryNumber(ByVal strQuery As String) As Double
' Send the query.
VisaSendCommandOrQuery(strQuery)
' Get the result string.
Dim fResults As Double
fResults = VisaGetResultNumber()
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return string results.
Return fResults
End Function
Public Function DoQueryNumbers(ByVal strQuery As String) _
As Double()
' Send the query.
VisaSendCommandOrQuery(strQuery)
' Get the result string.
Dim fResultsArray As Double()
fResultsArray = VisaGetResultNumbers()
' Check for instrument errors (another command and result).
CheckInstrumentErrors(strQuery)
' Return string results.
Return fResultsArray
End Function
Public Function DoQueryIEEEBlock_Bytes(ByVal strQuery As String, _
ByRef ResultsArray As Byte()) As Integer
' Send the query.
VisaSendCommandOrQuery(strQuery)
' Get the result string.
Dim length As Integer
' Number of bytes returned from instrument.
length = VisaGetResultIEEEBlock_Bytes(ResultsArray)
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return string results.
Return length
End Function
Public Function DoQueryIEEEBlock_Words(ByVal strQuery As String, _
1670 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
ByRef ResultsArray As Short()) As Integer
' Send the query.
VisaSendCommandOrQuery(strQuery)
' Get the result string.
Dim length As Integer
' Number of bytes returned from instrument.
length = VisaGetResultIEEEBlock_Words(ResultsArray)
' Check for inst errors.
CheckInstrumentErrors(strQuery)
' Return string results.
Return length
End Function
Private Sub VisaSendCommandOrQuery(ByVal strCommandOrQuery _
As String)
' Send command or query to the device.
Dim strWithNewline As String
strWithNewline = [String].Format("{0}" & Chr(10) & "", _
strCommandOrQuery)
Dim nViStatus As Integer
nViStatus = visa32.viPrintf(m_nSession, strWithNewline)
CheckVisaStatus(nViStatus)
End Sub
Private Function VisaGetResultString() As StringBuilder
Dim strResults As New StringBuilder(1000)
' Read return value string from the device.
Dim nViStatus As Integer
nViStatus = visa32.viScanf(m_nSession, "%1000t", strResults)
CheckVisaStatus(nViStatus)
Return strResults
End Function
Private Function VisaGetResultNumber() As Double
Dim fResults As Double = 0
' Read return value string from the device.
Dim nViStatus As Integer
nViStatus = visa32.viScanf(m_nSession, "%lf", fResults)
CheckVisaStatus(nViStatus)
Return fResults
End Function
Private Function VisaGetResultNumbers() As Double()
Dim fResultsArray As Double()
fResultsArray = New Double(9) {}
' Read return value string from the device.
Dim nViStatus As Integer
nViStatus = visa32.viScanf(m_nSession, _
"%,10lf" & Chr(10) & "", fResultsArray)
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1671
CheckVisaStatus(nViStatus)
Return fResultsArray
End Function
Private Function VisaGetResultIEEEBlock_Bytes(ByRef ResultsArray _
As Byte()) As Integer
' Results array, big enough to hold a PNG.
ResultsArray = New Byte(4999999) {}
Dim length As Integer
' Number of bytes returned from instrument.
' Set the default number of bytes that will be contained in
' the ResultsArray to 5,000,000.
length = 5000000
' Read return value string from the device.
Dim nViStatus As Integer
nViStatus = visa32.viScanf(m_nSession, "%#b", length, _
ResultsArray)
CheckVisaStatus(nViStatus)
' Write and read buffers need to be flushed after IEEE block?
nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF)
CheckVisaStatus(nViStatus)
nViStatus = visa32.viFlush(m_nSession, visa32.VI_READ_BUF)
CheckVisaStatus(nViStatus)
Return length
End Function
Private Function VisaGetResultIEEEBlock_Words(ByRef ResultsArray _
As Short()) As Integer
' Results array, big enough to hold a PNG.
ResultsArray = New Short(4999999) {}
Dim length As Integer
' Number of bytes returned from instrument.
' Set the default number of bytes that will be contained in
' the ResultsArray to 5,000,000.
length = 5000000
' Read return value string from the device.
Dim nViStatus As Integer
nViStatus = visa32.viScanf(m_nSession, "%#hb", length, _
ResultsArray)
CheckVisaStatus(nViStatus)
' Write and read buffers need to be flushed after IEEE block?
nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF)
CheckVisaStatus(nViStatus)
nViStatus = visa32.viFlush(m_nSession, visa32.VI_READ_BUF)
CheckVisaStatus(nViStatus)
Return length
End Function
1672 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Private Sub CheckInstrumentErrors(ByVal strCommand As String)
' Check for instrument errors.
Dim strInstrumentError As New StringBuilder(1000)
Dim bFirstError As Boolean = True
Do ' While not "0,No error"
VisaSendCommandOrQuery(":SYSTem:ERRor? STRing")
strInstrumentError = VisaGetResultString()
If Not strInstrumentError.ToString().StartsWith("0,") Then
If bFirstError Then
Console.WriteLine("ERROR(s) for command '{0}': ", _
strCommand)
bFirstError = False
End If
Console.Write(strInstrumentError)
End If
Loop While Not strInstrumentError.ToString().StartsWith("0,")
End Sub
Private Sub OpenResourceManager()
Dim nViStatus As Integer
nViStatus = visa32.viOpenDefaultRM(Me.m_nResourceManager)
If nViStatus < visa32.VI_SUCCESS Then
Throw New _
ApplicationException("Failed to open Resource Manager")
End If
End Sub
Private Sub OpenSession()
Dim nViStatus As Integer
nViStatus = visa32.viOpen(Me.m_nResourceManager, _
Me.m_strVisaAddress, visa32.VI_NO_LOCK, _
visa32.VI_TMO_IMMEDIATE, Me.m_nSession)
CheckVisaStatus(nViStatus)
End Sub
Public Sub SetTimeoutSeconds(ByVal nSeconds As Integer)
Dim nViStatus As Integer
nViStatus = visa32.viSetAttribute(Me.m_nSession, _
visa32.VI_ATTR_TMO_VALUE, nSeconds * 1000)
CheckVisaStatus(nViStatus)
End Sub
Public Sub CheckVisaStatus(ByVal nViStatus As Integer)
' If VISA error, throw exception.
If nViStatus < visa32.VI_SUCCESS Then
Dim strError As New StringBuilder(256)
visa32.viStatusDesc(Me.m_nResourceManager, nViStatus, strError)
Throw New ApplicationException(strError.ToString())
End If
End Sub
Public Sub Close()
If m_nSession <> 0 Then
visa32.viClose(m_nSession)
End If
If m_nResourceManager <> 0 Then
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1673
visa32.viClose(m_nResourceManager)
End If
End Sub
End Class
End Namespace
VISA Example in Python (PyVISA 1.5 and older)
You can use the Python programming language with the PyVISA package to
control Keysight Infiniium Series oscilloscopes.
The Python language and PyVISA package can be downloaded from the web at
http://www.python.org/ and http://pyvisa.sourceforge.net/, respectively.
To run this example with Python and PyVISA:
1Cut-and-paste the code that follows into a file named "example.py".
2Edit the program to use the VISA address of your oscilloscope.
3If "python.exe" can be found via your PATH environment variable, open a
Command Prompt window; then, change to the folder that contains the
"example.py" file, and enter:
python example.py
# *********************************************************
# This program illustrates a few commonly-used programming
# features of your Keysight Infiniium Series oscilloscope.
# *********************************************************
# Import modules.
# ---------------------------------------------------------
import visa
import string
import struct
import sys
# Global variables (booleans:0=False, 1 = True).
# ---------------------------------------------------------
debug = 0
# =========================================================
# Initialize:
# =========================================================
def initialize():
# Clear status.
do_command("*CLS")
# Get and display the device's *IDN? string.
idn_string = do_query_string("*IDN?")
print "Identification string: '%s'" % idn_string
# Load the default setup.
do_command("*RST")
1674 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
# =========================================================
# Capture:
# =========================================================
def capture():
# Set probe attenuation factor.
do_command(":CHANnel1:PROBe 1.0")
qresult = do_query_string(":CHANnel1:PROBe?")
print "Channel 1 probe attenuation factor: %s" % qresult
# Use auto-scale to automatically set up oscilloscope.
print "Autoscale."
do_command(":AUToscale")
# Set trigger mode.
do_command(":TRIGger:MODE EDGE")
qresult = do_query_string(":TRIGger:MODE?")
print "Trigger mode: %s" % qresult
# Set EDGE trigger parameters.
do_command(":TRIGger:EDGE:SOURCe CHANnel1")
qresult = do_query_string(":TRIGger:EDGE:SOURce?")
print "Trigger edge source: %s" % qresult
do_command(":TRIGger:LEVel CHANnel1,-2E-3")
qresult = do_query_string(":TRIGger:LEVel? CHANnel1")
print "Trigger level, channel 1: %s" % qresult
do_command(":TRIGger:EDGE:SLOPe POSitive")
qresult = do_query_string(":TRIGger:EDGE:SLOPe?")
print "Trigger edge slope: %s" % qresult
# Save oscilloscope setup.
sSetup = do_query_string(":SYSTem:SETup?")
sSetup = get_definite_length_block_data(sSetup)
f = open("setup.stp", "wb")
f.write(sSetup)
f.close()
print "Setup bytes saved: %d" % len(sSetup)
# Change oscilloscope settings with individual commands:
# Set vertical scale and offset.
do_command(":CHANnel1:SCALe 0.1")
qresult = do_query_values(":CHANnel1:SCALe?")[0]
print "Channel 1 vertical scale: %f" % qresult
do_command(":CHANnel1:OFFSet 0.0")
qresult = do_query_values(":CHANnel1:OFFSet?")[0]
print "Channel 1 offset: %f" % qresult
# Set horizontal scale and offset.
do_command(":TIMebase:SCALe 200e-6")
qresult = do_query_string(":TIMebase:SCALe?")
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1675
print "Timebase scale: %s" % qresult
do_command(":TIMebase:POSition 0.0")
qresult = do_query_string(":TIMebase:POSition?")
print "Timebase position: %s" % qresult
# Set the acquisition mode.
do_command(":ACQuire:MODE RTIMe")
qresult = do_query_string(":ACQuire:MODE?")
print "Acquire mode: %s" % qresult
# Or, set up oscilloscope by loading a previously saved setup.
sSetup = ""
f = open("setup.stp", "rb")
sSetup = f.read()
f.close()
do_command(":SYSTem:SETup #8%08d%s" % (len(sSetup), sSetup), hide_param
s=True)
print "Setup bytes restored: %d" % len(sSetup)
# Set the desired number of waveform points,
# and capture an acquisition.
do_command(":ACQuire:POINts 32000")
do_command(":DIGitize")
# =========================================================
# Analyze:
# =========================================================
def analyze():
# Make measurements.
# --------------------------------------------------------
do_command(":MEASure:SOURce CHANnel1")
qresult = do_query_string(":MEASure:SOURce?")
print "Measure source: %s" % qresult
do_command(":MEASure:FREQuency")
qresult = do_query_string(":MEASure:FREQuency?")
print "Measured frequency on channel 1: %s" % qresult
do_command(":MEASure:VAMPlitude")
qresult = do_query_string(":MEASure:VAMPlitude?")
print "Measured vertical amplitude on channel 1: %s" % qresult
# Download the screen image.
# --------------------------------------------------------
sDisplay = do_query_string(":DISPlay:DATA? PNG")
sDisplay = get_definite_length_block_data(sDisplay)
# Save display data values to file.
f = open("screen_image.png", "wb")
f.write(sDisplay)
f.close()
print "Screen image written to screen_image.png."
# Download waveform data.
1676 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
# --------------------------------------------------------
# Get the waveform type.
qresult = do_query_string(":WAVeform:TYPE?")
print "Waveform type: %s" % qresult
# Get the number of waveform points.
qresult = do_query_string(":WAVeform:POINts?")
print "Waveform points: %s" % qresult
# Set the waveform source.
do_command(":WAVeform:SOURce CHANnel1")
qresult = do_query_string(":WAVeform:SOURce?")
print "Waveform source: %s" % qresult
# Choose the format of the data returned:
do_command(":WAVeform:FORMat BYTE")
print "Waveform format: %s" % do_query_string(":WAVeform:FORMat?")
# Display the waveform settings from preamble:
wav_form_dict = {
0 : "ASCii",
1 : "BYTE",
2 : "WORD",
3 : "LONG",
4 : "LONGLONG",
}
acq_type_dict = {
1 : "RAW",
2 : "AVERage",
3 : "VHIStogram",
4 : "HHIStogram",
6 : "INTerpolate",
10 : "PDETect",
}
acq_mode_dict = {
0 : "RTIMe",
1 : "ETIMe",
3 : "PDETect",
}
coupling_dict = {
0 : "AC",
1 : "DC",
2 : "DCFIFTY",
3 : "LFREJECT",
}
units_dict = {
0 : "UNKNOWN",
1 : "VOLT",
2 : "SECOND",
3 : "CONSTANT",
4 : "AMP",
5 : "DECIBEL",
}
preamble_string = do_query_string(":WAVeform:PREamble?")
(
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1677
wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin,
x_reference, y_increment, y_origin, y_reference, coupling,
x_display_range, x_display_origin, y_display_range,
y_display_origin, date, time, frame_model, acq_mode,
completion, x_units, y_units, max_bw_limit, min_bw_limit
) = string.split(preamble_string, ",")
print "Waveform format: %s" % wav_form_dict[int(wav_form)]
print "Acquire type: %s" % acq_type_dict[int(acq_type)]
print "Waveform points desired: %s" % wfmpts
print "Waveform average count: %s" % avgcnt
print "Waveform X increment: %s" % x_increment
print "Waveform X origin: %s" % x_origin
print "Waveform X reference: %s" % x_reference # Always 0.
print "Waveform Y increment: %s" % y_increment
print "Waveform Y origin: %s" % y_origin
print "Waveform Y reference: %s" % y_reference # Always 0.
print "Coupling: %s" % coupling_dict[int(coupling)]
print "Waveform X display range: %s" % x_display_range
print "Waveform X display origin: %s" % x_display_origin
print "Waveform Y display range: %s" % y_display_range
print "Waveform Y display origin: %s" % y_display_origin
print "Date: %s" % date
print "Time: %s" % time
print "Frame model #: %s" % frame_model
print "Acquire mode: %s" % acq_mode_dict[int(acq_mode)]
print "Completion pct: %s" % completion
print "Waveform X units: %s" % units_dict[int(x_units)]
print "Waveform Y units: %s" % units_dict[int(y_units)]
print "Max BW limit: %s" % max_bw_limit
print "Min BW limit: %s" % min_bw_limit
# Get numeric values for later calculations.
x_increment = do_query_values(":WAVeform:XINCrement?")[0]
x_origin = do_query_values(":WAVeform:XORigin?")[0]
y_increment = do_query_values(":WAVeform:YINCrement?")[0]
y_origin = do_query_values(":WAVeform:YORigin?")[0]
# Get the waveform data.
do_command(":WAVeform:STReaming OFF")
sData = do_query_string(":WAVeform:DATA?")
sData = get_definite_length_block_data(sData)
# Unpack signed byte data.
values = struct.unpack("%db" % len(sData), sData)
print "Number of data values: %d" % len(values)
# Save waveform data values to CSV file.
f = open("waveform_data.csv", "w")
for i in xrange(0, len(values) - 1):
time_val = x_origin + (i * x_increment)
voltage = (values[i] * y_increment) + y_origin
f.write("%E, %f\n" % (time_val, voltage))
f.close()
print "Waveform format BYTE data written to waveform_data.csv."
1678 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
# =========================================================
# Send a command and check for errors:
# =========================================================
def do_command(command, hide_params=False):
if hide_params:
(header, data) = string.split(command, " ", 1)
if debug:
print "\nCmd = '%s'" % header
else:
if debug:
print "\nCmd = '%s'" % command
Infiniium.write("%s\n" % command)
if hide_params:
check_instrument_errors(header)
else:
check_instrument_errors(command)
# =========================================================
# Send a query, check for errors, return string:
# =========================================================
def do_query_string(query):
if debug:
print "Qys = '%s'" % query
result = Infiniium.ask("%s\n" % query)
check_instrument_errors(query)
return result
# =========================================================
# Send a query, check for errors, return values:
# =========================================================
def do_query_values(query):
if debug:
print "Qyv = '%s'" % query
results = Infiniium.ask_for_values("%s\n" % query)
check_instrument_errors(query)
return results
# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(command):
while True:
error_string = Infiniium.ask(":SYSTem:ERRor? STRing\n")
if error_string: # If there is an error string value.
if error_string.find("0,", 0, 2) == -1: # Not "No error".
print "ERROR: %s, command: '%s'" % (error_string, command)
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1679
print "Exited because of error."
sys.exit(1)
else: # "No error"
break
else: # :SYSTem:ERRor? STRing should always return string.
print "ERROR: :SYSTem:ERRor? STRing returned nothing, command: '%s'"
% command
print "Exited because of error."
sys.exit(1)
# =========================================================
# Returns data from definite-length block.
# =========================================================
def get_definite_length_block_data(sBlock):
# First character should be "#".
pound = sBlock[0:1]
if pound != "#":
print "PROBLEM: Invalid binary block format, pound char is '%s'." % po
und
print "Exited because of problem."
sys.exit(1)
# Second character is number of following digits for length value.
digits = sBlock[1:2]
# Get the data out of the block and return it.
sData = sBlock[int(digits) + 2:]
return sData
# =========================================================
# Main program:
# =========================================================
Infiniium = visa.instrument("TCPIP0::141.121.237.226::hislip0::INSTR")
Infiniium.timeout = 20
Infiniium.term_chars = ""
Infiniium.clear()
# Initialize the oscilloscope, capture data, and analyze.
initialize()
capture()
analyze()
print "End of program."
VISA Example in Python (PyVISA 1.6 and newer)
You can use the Python programming language with the PyVISA package to
control Keysight Infiniium Series oscilloscopes.
1680 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
The Python language and PyVISA package can be downloaded from the web at
http://www.python.org/ and http://pyvisa.readthedocs.org/, respectively.
To run this example with Python and PyVISA:
1Cut-and-paste the code that follows into a file named "example.py".
2Edit the program to use the VISA address of your oscilloscope.
3If "python.exe" can be found via your PATH environment variable, open a
Command Prompt window; then, change to the folder that contains the
"example.py" file, and enter:
python example.py
# *********************************************************
# This program illustrates a few commonly-used programming
# features of your Keysight Infiniium Series oscilloscope.
# *********************************************************
# Import modules.
# ---------------------------------------------------------
import visa
import string
import struct
import sys
# Global variables (booleans:0=False, 1 = True).
# ---------------------------------------------------------
debug = 0
# =========================================================
# Initialize:
# =========================================================
def initialize():
# Clear status.
do_command("*CLS")
# Get and display the device's *IDN? string.
idn_string = do_query_string("*IDN?")
print "Identification string: '%s'" % idn_string
# Load the default setup.
do_command("*RST")
# =========================================================
# Capture:
# =========================================================
def capture():
# Set probe attenuation factor.
do_command(":CHANnel1:PROBe 1.0")
qresult = do_query_string(":CHANnel1:PROBe?")
print "Channel 1 probe attenuation factor: %s" % qresult
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1681
# Use auto-scale to automatically set up oscilloscope.
print "Autoscale."
do_command(":AUToscale")
# Set trigger mode.
do_command(":TRIGger:MODE EDGE")
qresult = do_query_string(":TRIGger:MODE?")
print "Trigger mode: %s" % qresult
# Set EDGE trigger parameters.
do_command(":TRIGger:EDGE:SOURCe CHANnel1")
qresult = do_query_string(":TRIGger:EDGE:SOURce?")
print "Trigger edge source: %s" % qresult
do_command(":TRIGger:LEVel CHANnel1,330E-3")
qresult = do_query_string(":TRIGger:LEVel? CHANnel1")
print "Trigger level, channel 1: %s" % qresult
do_command(":TRIGger:EDGE:SLOPe POSitive")
qresult = do_query_string(":TRIGger:EDGE:SLOPe?")
print "Trigger edge slope: %s" % qresult
# Save oscilloscope setup.
sSetup = do_query_ieee_block(":SYSTem:SETup?")
f = open("setup.stp", "wb")
f.write(sSetup)
f.close()
print "Setup bytes saved: %d" % len(sSetup)
# Change oscilloscope settings with individual commands:
# Set vertical scale and offset.
do_command(":CHANnel1:SCALe 0.1")
qresult = do_query_number(":CHANnel1:SCALe?")
print "Channel 1 vertical scale: %f" % qresult
do_command(":CHANnel1:OFFSet 0.0")
qresult = do_query_number(":CHANnel1:OFFSet?")
print "Channel 1 offset: %f" % qresult
# Set horizontal scale and offset.
do_command(":TIMebase:SCALe 200e-6")
qresult = do_query_string(":TIMebase:SCALe?")
print "Timebase scale: %s" % qresult
do_command(":TIMebase:POSition 0.0")
qresult = do_query_string(":TIMebase:POSition?")
print "Timebase position: %s" % qresult
# Set the acquisition mode.
do_command(":ACQuire:MODE RTIMe")
qresult = do_query_string(":ACQuire:MODE?")
print "Acquire mode: %s" % qresult
# Or, set up oscilloscope by loading a previously saved setup.
sSetup = ""
1682 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
f = open("setup.stp", "rb")
sSetup = f.read()
f.close()
do_command_ieee_block(":SYSTem:SETup", sSetup)
print "Setup bytes restored: %d" % len(sSetup)
# Set the desired number of waveform points,
# and capture an acquisition.
do_command(":ACQuire:POINts 32000")
do_command(":DIGitize")
# =========================================================
# Analyze:
# =========================================================
def analyze():
# Make measurements.
# --------------------------------------------------------
do_command(":MEASure:SOURce CHANnel1")
qresult = do_query_string(":MEASure:SOURce?")
print "Measure source: %s" % qresult
do_command(":MEASure:FREQuency")
qresult = do_query_string(":MEASure:FREQuency?")
print "Measured frequency on channel 1: %s" % qresult
do_command(":MEASure:VAMPlitude")
qresult = do_query_string(":MEASure:VAMPlitude?")
print "Measured vertical amplitude on channel 1: %s" % qresult
# Download the screen image.
# --------------------------------------------------------
sDisplay = do_query_ieee_block(":DISPlay:DATA? PNG")
# Save display data values to file.
f = open("screen_image.png", "wb")
f.write(sDisplay)
f.close()
print "Screen image written to screen_image.png."
# Download waveform data.
# --------------------------------------------------------
# Get the waveform type.
qresult = do_query_string(":WAVeform:TYPE?")
print "Waveform type: %s" % qresult
# Get the number of waveform points.
qresult = do_query_string(":WAVeform:POINts?")
print "Waveform points: %s" % qresult
# Set the waveform source.
do_command(":WAVeform:SOURce CHANnel1")
qresult = do_query_string(":WAVeform:SOURce?")
print "Waveform source: %s" % qresult
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1683
# Choose the format of the data returned:
do_command(":WAVeform:FORMat BYTE")
print "Waveform format: %s" % do_query_string(":WAVeform:FORMat?")
# Display the waveform settings from preamble:
wav_form_dict = {
0 : "ASCii",
1 : "BYTE",
2 : "WORD",
3 : "LONG",
4 : "LONGLONG",
}
acq_type_dict = {
1 : "RAW",
2 : "AVERage",
3 : "VHIStogram",
4 : "HHIStogram",
6 : "INTerpolate",
10 : "PDETect",
}
acq_mode_dict = {
0 : "RTIMe",
1 : "ETIMe",
3 : "PDETect",
}
coupling_dict = {
0 : "AC",
1 : "DC",
2 : "DCFIFTY",
3 : "LFREJECT",
}
units_dict = {
0 : "UNKNOWN",
1 : "VOLT",
2 : "SECOND",
3 : "CONSTANT",
4 : "AMP",
5 : "DECIBEL",
}
preamble_string = do_query_string(":WAVeform:PREamble?")
(
wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin,
x_reference, y_increment, y_origin, y_reference, coupling,
x_display_range, x_display_origin, y_display_range,
y_display_origin, date, time, frame_model, acq_mode,
completion, x_units, y_units, max_bw_limit, min_bw_limit
) = string.split(preamble_string, ",")
print "Waveform format: %s" % wav_form_dict[int(wav_form)]
print "Acquire type: %s" % acq_type_dict[int(acq_type)]
print "Waveform points desired: %s" % wfmpts
print "Waveform average count: %s" % avgcnt
print "Waveform X increment: %s" % x_increment
print "Waveform X origin: %s" % x_origin
print "Waveform X reference: %s" % x_reference # Always 0.
print "Waveform Y increment: %s" % y_increment
1684 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
print "Waveform Y origin: %s" % y_origin
print "Waveform Y reference: %s" % y_reference # Always 0.
print "Coupling: %s" % coupling_dict[int(coupling)]
print "Waveform X display range: %s" % x_display_range
print "Waveform X display origin: %s" % x_display_origin
print "Waveform Y display range: %s" % y_display_range
print "Waveform Y display origin: %s" % y_display_origin
print "Date: %s" % date
print "Time: %s" % time
print "Frame model #: %s" % frame_model
print "Acquire mode: %s" % acq_mode_dict[int(acq_mode)]
print "Completion pct: %s" % completion
print "Waveform X units: %s" % units_dict[int(x_units)]
print "Waveform Y units: %s" % units_dict[int(y_units)]
print "Max BW limit: %s" % max_bw_limit
print "Min BW limit: %s" % min_bw_limit
# Get numeric values for later calculations.
x_increment = do_query_number(":WAVeform:XINCrement?")
x_origin = do_query_number(":WAVeform:XORigin?")
y_increment = do_query_number(":WAVeform:YINCrement?")
y_origin = do_query_number(":WAVeform:YORigin?")
# Get the waveform data.
do_command(":WAVeform:STReaming OFF")
sData = do_query_ieee_block(":WAVeform:DATA?")
# Unpack signed byte data.
values = struct.unpack("%db" % len(sData), sData)
print "Number of data values: %d" % len(values)
# Save waveform data values to CSV file.
f = open("waveform_data.csv", "w")
for i in xrange(0, len(values) - 1):
time_val = x_origin + (i * x_increment)
voltage = (values[i] * y_increment) + y_origin
f.write("%E, %f\n" % (time_val, voltage))
f.close()
print "Waveform format BYTE data written to waveform_data.csv."
# =========================================================
# Send a command and check for errors:
# =========================================================
def do_command(command, hide_params=False):
if hide_params:
(header, data) = string.split(command, " ", 1)
if debug:
print "\nCmd = '%s'" % header
else:
if debug:
print "\nCmd = '%s'" % command
Infiniium.write("%s" % command)
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1685
if hide_params:
check_instrument_errors(header)
else:
check_instrument_errors(command)
# =========================================================
# Send a command and binary values and check for errors:
# =========================================================
def do_command_ieee_block(command, values):
if debug:
print "Cmb = '%s'" % command
Infiniium.write_binary_values("%s " % command, values, datatype='c')
check_instrument_errors(command)
# =========================================================
# Send a query, check for errors, return string:
# =========================================================
def do_query_string(query):
if debug:
print "Qys = '%s'" % query
result = Infiniium.query("%s" % query)
check_instrument_errors(query)
return result
# =========================================================
# Send a query, check for errors, return floating-point value:
# =========================================================
def do_query_number(query):
if debug:
print "Qyn = '%s'" % query
results = Infiniium.query("%s" % query)
check_instrument_errors(query)
return float(results)
# =========================================================
# Send a query, check for errors, return binary values:
# =========================================================
def do_query_ieee_block(query):
if debug:
print "Qyb = '%s'" % query
result = Infiniium.query_binary_values("%s" % query, datatype='s')
check_instrument_errors(query)
return result[0]
# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(command):
while True:
error_string = Infiniium.query(":SYSTem:ERRor? STRing")
1686 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
if error_string: # If there is an error string value.
if error_string.find("0,", 0, 2) == -1: # Not "No error".
print "ERROR: %s, command: '%s'" % (error_string, command)
print "Exited because of error."
sys.exit(1)
else: # "No error"
break
else: # :SYSTem:ERRor? STRing should always return string.
print "ERROR: :SYSTem:ERRor? STRing returned nothing, command: '%s'"
% command
print "Exited because of error."
sys.exit(1)
# =========================================================
# Main program:
# =========================================================
rm = visa.ResourceManager()
Infiniium = rm.open_resource("TCPIP0::141.121.237.226::hislip0::INSTR")
Infiniium.timeout = 20000
Infiniium.clear()
# Initialize the oscilloscope, capture data, and analyze.
initialize()
capture()
analyze()
print "End of program."
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1687
SICL Examples
•"SICL Example in C" on page 1687
•"SICL Example in Visual Basic" on page 1696
SICL Example in C
To compile and run this example in Microsoft Visual Studio 2008:
1Open Visual Studio.
2Create a new Visual C++, Win32, Win32 Console Application project.
3In the Win32 Application Wizard, click Next >. Then, check Empty project, and
click Finish.
4Cut-and-paste the code that follows into a file named "example.c" in the
project directory.
5In Visual Studio 2008, right-click the Source Files folder, choose Add > Add
Existing Item..., select the example.c file, and click Add.
6Edit the program to use the SICL address of your oscilloscope.
7Choose Project > Properties.... In the Property Pages dialog, update these project
settings:
aUnder Configuration Properties, Linker, Input, add "sicl32.lib" to the
Additional Dependencies field.
bUnder Configuration Properties, C/C++, Code Generation, select
Multi-threaded DLL for the Runtime Library field.
cClick OK to close the Property Pages dialog.
8Add the include files and library files search paths:
aChoose Tools > Options....
bIn the Options dialog, under Projects and Solutions, select VC++ Directories.
cShow directories for Include files, and add the include directory (for example,
Program Files\Agilent\ IO Libraries Suite\include).
dShow directories for Library files, and add the library files directory (for
example, Program Files\Agilent\IO Libraries Suite\lib).
eClick OK to close the Options dialog.
9Build and run the program.
/*
* Keysight SICL Example in C
* ------------------------------------------------------------------
* This program illustrates a few commonly-used programming
* features of your Keysight Infiniium Series oscilloscope.
*/
#include <stdio.h> /* For printf(). */
1688 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
#include <string.h> /* For strcpy(), strcat(). */
#include <time.h> /* For clock(). */
#include <sicl.h> /* Keysight SICL routines. */
#define SICL_ADDRESS "lan,4880;hislip[141.121.237.226]:hislip0"
#define TIMEOUT 15000
#define IEEEBLOCK_SPACE 5000000
/* Function prototypes */
void initialize(void); /* Initialize to known state. */
void capture(void); /* Capture the waveform. */
void analyze(void); /* Analyze the captured waveform. */
void do_command(char *command); /* Send command. */
int do_command_ieeeblock(char *command); /* Command w/IEEE block. */
void do_query_string(char *query); /* Query for string. */
void do_query_number(char *query); /* Query for number. */
void do_query_numbers(char *query); /* Query for numbers. */
int do_query_ieeeblock(char *query); /* Query for IEEE block. */
int do_query_ieeeblock_words(char *query); /* Query for word data. */
void check_instrument_errors(); /* Check for inst errors. */
/* Global variables */
INST id; /* Device session ID. */
char str_result[256] = {0}; /* Result from do_query_string(). */
double num_result; /* Result from do_query_number(). */
unsigned char ieeeblock_data[IEEEBLOCK_SPACE]; /* Result from
do_query_ieeeblock(). */
signed short ieeeblock_data_words[IEEEBLOCK_SPACE]; /* Result from
do_query_ieeeblock_words(). */
double dbl_results[10]; /* Result from do_query_numbers(). */
/* Main Program
* --------------------------------------------------------------- */
void main(void)
{
/* Install a default SICL error handler that logs an error message
* and exits. On Windows 98SE or Windows Me, view messages with
* the SICL Message Viewer. For Windows 2000 or XP, use the Event
* Viewer.
*/
ionerror(I_ERROR_EXIT);
/* Open a device session using the SICL_ADDRESS */
id = iopen(SICL_ADDRESS);
if (id == 0)
{
printf ("Oscilloscope iopen failed!\n");
}
else
{
printf ("Oscilloscope session opened!\n");
}
/* Set the I/O timeout value for this session to 5 seconds. */
itimeout(id, TIMEOUT);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1689
/* Clear the interface. */
iclear(id);
/* Initialize - start from a known state. */
initialize();
/* Capture data. */
capture();
/* Analyze the captured waveform. */
analyze();
/* Close the device session to the instrument. */
iclose(id);
printf ("Program execution is complete...\n");
/* For WIN16 programs, call _siclcleanup before exiting to release
* resources allocated by SICL for this application. This call is
* a no-op for WIN32 programs.
*/
_siclcleanup();
}
/* Initialize the oscilloscope to a known state.
* --------------------------------------------------------------- */
void initialize (void)
{
/* Clear status. */
do_command("*CLS");
/* Get and display the device's *IDN? string. */
do_query_string("*IDN?");
printf("Oscilloscope *IDN? string: %s\n", str_result);
/* Load the default setup. */
do_command("*CLS");
do_command("*RST");
}
/* Capture the waveform.
* --------------------------------------------------------------- */
void capture (void)
{
int num_values;
FILE *fp;
/* Set probe attenuation factor. */
do_command(":CHANnel1:PROBe 1.0");
do_query_string(":CHANnel1:PROBe?");
printf("Channel 1 probe attenuation factor: %s\n", str_result);
/* Use auto-scale to automatically configure oscilloscope.
* ------------------------------------------------------------- */
do_command(":AUToscale");
/* Set trigger mode. */
1690 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
do_command(":TRIGger:MODE EDGE");
do_query_string(":TRIGger:MODE?");
printf("Trigger mode: %s\n", str_result);
/* Set EDGE trigger parameters. */
do_command(":TRIGger:EDGE:SOURCe CHANnel1");
do_query_string(":TRIGger:EDGE:SOURce?");
printf("Trigger edge source: %s\n", str_result);
do_command(":TRIGger:LEVel CHANnel1,-2E-3");
do_query_string(":TRIGger:LEVel? CHANnel1");
printf("Trigger level, channel 1: %s\n", str_result);
do_command(":TRIGger:EDGE:SLOPe POSitive");
do_query_string(":TRIGger:EDGE:SLOPe?");
printf("Trigger edge slope: %s\n", str_result);
/* Save oscilloscope configuration.
* ------------------------------------------------------------- */
/* Read system setup. */
num_values = do_query_ieeeblock(":SYSTem:SETup?");
printf("Read setup string query (%d bytes).\n", num_values);
/* Write setup string to file. */
fp = fopen ("c:\\scope\\config\\setup.stp", "wb");
num_values = fwrite(ieeeblock_data, sizeof(unsigned char), num_values,
fp);
fclose (fp);
printf("Wrote setup string (%d bytes) to ", num_values);
printf("c:\\scope\\config\\setup.stp.\n");
/* Change settings with individual commands:
* ------------------------------------------------------------- */
/* Set vertical scale and offset. */
do_command(":CHANnel1:SCALe 0.1");
do_query_string(":CHANnel1:SCALe?");
printf("Channel 1 vertical scale: %s\n", str_result);
do_command(":CHANnel1:OFFSet 0.0");
do_query_string(":CHANnel1:OFFSet?");
printf("Channel 1 offset: %s\n", str_result);
/* Set horizontal scale and position. */
do_command(":TIMebase:SCALe 0.0002");
do_query_string(":TIMebase:SCALe?");
printf("Timebase scale: %s\n", str_result);
do_command(":TIMebase:POSition 0.0");
do_query_string(":TIMebase:POSition?");
printf("Timebase position: %s\n", str_result);
/* Set the acquisition mode. */
do_command(":ACQuire:MODE RTIMe");
do_query_string(":ACQuire:MODE?");
printf("Acquire mode: %s\n", str_result);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1691
/* Or, configure by loading a previously saved setup.
* ------------------------------------------------------------- */
/* Read setup string from file. */
fp = fopen ("c:\\scope\\config\\setup.stp", "rb");
num_values = fread (ieeeblock_data, sizeof(unsigned char),
IEEEBLOCK_SPACE, fp);
fclose (fp);
printf("Read setup string (%d bytes) from file ", num_values);
printf("c:\\scope\\config\\setup.stp.\n");
/* Restore setup string. */
num_values = do_command_ieeeblock(":SYSTem:SETup", num_values);
printf("Restored setup string (%d bytes).\n", num_values);
/* Set the desired number of waveform points,
* and capture an acquisition. */
do_command(":ACQuire:POINts 32000");
do_command(":DIGitize");
}
/* Analyze the captured waveform.
* --------------------------------------------------------------- */
void analyze (void)
{
double wav_format;
double acq_type;
double wav_points;
double avg_count;
double x_increment;
double x_origin;
double y_increment;
double y_origin;
FILE *fp;
int num_values; /* Number of bytes returned from instrument. */
int i;
/* Make measurements.
* ------------------------------------------------------------- */
do_command(":MEASure:SOURce CHANnel1");
do_query_string(":MEASure:SOURce?");
printf("Measure source: %s\n", str_result);
do_command(":MEASure:FREQuency");
do_query_number(":MEASure:FREQuency?");
printf("Frequency: %.4f kHz\n", num_result / 1000);
do_command(":MEASure:VAMPlitude");
do_query_number(":MEASure:VAMPlitude?");
printf("Vertical amplitude: %.2f V\n", num_result);
/* Download the screen image.
* ------------------------------------------------------------- */
/* Read screen image. */
1692 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
num_values = do_query_ieeeblock(":DISPlay:DATA? PNG");
printf("Screen image bytes: %d\n", num_values);
/* Write screen image bytes to file. */
fp = fopen ("c:\\scope\\data\\screen.png", "wb");
num_values = fwrite(ieeeblock_data, sizeof(unsigned char), num_values,
fp);
fclose (fp);
printf("Wrote screen image (%d bytes) to ", num_values);
printf("c:\\scope\\data\\screen.png.\n");
/* Download waveform data.
* ------------------------------------------------------------- */
/* Get the waveform type. */
do_query_string(":WAVeform:TYPE?");
printf("Waveform type: %s\n", str_result);
/* Get the number of waveform points. */
do_query_string(":WAVeform:POINts?");
printf("Waveform points: %s\n", str_result);
/* Set the waveform source. */
do_command(":WAVeform:SOURce CHANnel1");
do_query_string(":WAVeform:SOURce?");
printf("Waveform source: %s\n", str_result);
/* Choose the format of the data returned: */
do_command(":WAVeform:FORMat WORD");
do_query_string(":WAVeform:FORMat?");
printf("Waveform format: %s\n", str_result);
/* Display the waveform settings: */
do_query_number(":WAVeform:XINCrement?");
x_increment = num_result;
printf("Waveform X increment: %e\n", x_increment);
do_query_number(":WAVeform:XORigin?");
x_origin = num_result;
printf("Waveform X origin: %e\n", x_origin);
do_query_number(":WAVeform:YINCrement?");
y_increment = num_result;
printf("Waveform Y increment: %e\n", y_increment);
do_query_number(":WAVeform:YORigin?");
y_origin = num_result;
printf("Waveform Y origin: %e\n", y_origin);
/* Read waveform data. */
num_values = do_query_ieeeblock_words(":WAVeform:DATA?");
printf("Number of data values: %d\n", num_values);
/* Open file for output. */
fp = fopen("c:\\scope\\data\\waveform_data.csv", "wb");
/* Output waveform data in CSV format. */
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1693
for(i=0;i<num_values - 1; i++)
{
/* Write time value, voltage value. */
fprintf(fp, "%9f, %6f\n",
x_origin + ((float)i * x_increment),
((float)ieeeblock_data_words[i] * y_increment) + y_origin);
}
/* Close output file. */
fclose(fp);
printf("Waveform format WORD data written to ");
printf("c:\\scope\\data\\waveform_data.csv.\n");
}
/* Send a command to the instrument.
* --------------------------------------------------------------- */
void do_command(command)
char *command;
{
char message[80];
strcpy(message, command);
strcat(message, "\n");
iprintf(id, message);
check_instrument_errors();
}
/* Command with IEEE definite-length block.
* --------------------------------------------------------------- */
int do_command_ieeeblock(command, num_bytes)
char *command;
int num_bytes;
{
char message[80];
int data_length;
strcpy(message, command);
strcat(message, " #8%08d");
iprintf(id, message, num_bytes);
ifwrite(id, ieeeblock_data, num_bytes, 1, &data_length);
check_instrument_errors();
return(data_length);
}
/* Query for a string result.
* --------------------------------------------------------------- */
void do_query_string(query)
char *query;
{
char message[80];
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
1694 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
iscanf(id, "%t\n", str_result);
check_instrument_errors();
}
/* Query for a number result.
* --------------------------------------------------------------- */
void do_query_number(query)
char *query;
{
char message[80];
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
iscanf(id, "%lf", &num_result);
check_instrument_errors();
}
/* Query for numbers result.
* --------------------------------------------------------------- */
void do_query_numbers(query)
char *query;
{
char message[80];
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
iscanf(id, "%,10lf\n", dbl_results);
check_instrument_errors();
}
/* Query for an IEEE definite-length block result.
* --------------------------------------------------------------- */
int do_query_ieeeblock(query)
char *query;
{
char message[80];
int data_length;
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
data_length = IEEEBLOCK_SPACE;
iscanf(id, "%#b", &data_length, ieeeblock_data);
if (data_length == IEEEBLOCK_SPACE )
{
printf("IEEE block buffer full: ");
printf("May not have received all data.\n");
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1695
}
check_instrument_errors();
return(data_length);
}
/* Query for an IEEE definite-length block word data result.
* --------------------------------------------------------------- */
int do_query_ieeeblock_words(query)
char *query;
{
char message[80];
int data_length;
strcpy(message, query);
strcat(message, "\n");
iprintf(id, message);
data_length = IEEEBLOCK_SPACE;
iscanf(id, "%#wb", &data_length, ieeeblock_data_words);
if (data_length == IEEEBLOCK_SPACE )
{
printf("IEEE block buffer full: ");
printf("May not have received all data.\n");
}
check_instrument_errors();
return(data_length);
}
/* Check for instrument errors.
* --------------------------------------------------------------- */
void check_instrument_errors()
{
char str_err_val[256] = {0};
char str_out[800] = "";
ipromptf(id, ":SYSTem:ERRor? STRing\n", "%t", str_err_val);
while(strncmp(str_err_val, "0,", 2) != 0 )
{
strcat(str_out, ", ");
strcat(str_out, str_err_val);
ipromptf(id, ":SYSTem:ERRor? STRing\n", "%t", str_err_val);
}
if (strcmp(str_out, "") != 0)
{
printf("INST Error%s\n", str_out);
iflush(id, I_BUF_READ | I_BUF_WRITE);
}
}
1696 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
SICL Example in Visual Basic
To run this example in Visual Basic for Applications:
1Start the application that provides Visual Basic for Applications (for example,
Microsoft Excel).
2Press ALT+F11 to launch the Visual Basic editor.
3Add the sicl32.bas file to your project:
aChoose File > Import File....
bNavigate to the header file, sicl32.bas (installed with Keysight IO Libraries
Suite and found in the Program Files\Agilent\IO Libraries Suite\include
directory), select it, and click Open.
4Choose Insert > Module.
5Cut-and-paste the code that follows into the editor.
6Edit the program to use the SICL address of your oscilloscope, and save the
changes.
7Run the program.
'
' Keysight SICL Example in Visual Basic
' -------------------------------------------------------------------
' This program illustrates a few commonly-used programming
' features of your Keysight Infiniium Series oscilloscope.
' -------------------------------------------------------------------
Option Explicit
Public id As Integer ' Session to instrument.
' Declare variables to hold numeric values returned by
' ivscanf/ifread.
Public dblQueryResult As Double
Public Const ByteArraySize = 5000000
Public retCount As Long
Public byteArray(ByteArraySize) As Byte
' Declare fixed length string variable to hold string value returned
' by ivscanf.
Public strQueryResult As String * 200
' For Sleep subroutine.
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
'
' Main Program
' -------------------------------------------------------------------
Sub Main()
On Error GoTo ErrorHandler
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1697
' Open a device session using the SICL_ADDRESS.
id = iopen("lan,4880;hislip[141.121.237.226]:hislip0")
Call itimeout(id, 15000)
' Clear the interface.
Call iclear(id)
' Initialize - start from a known state.
Initialize
' Capture data.
Capture
' Analyze the captured waveform.
Analyze
' Close the vi session and the resource manager session.
Call iclose(id)
Exit Sub
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Sub
'
' Initialize the oscilloscope to a known state.
' -------------------------------------------------------------------
Private Sub Initialize()
On Error GoTo ErrorHandler
' Clear status.
DoCommand "*CLS"
' Get and display the device's *IDN? string.
strQueryResult = DoQueryString("*IDN?")
MsgBox "Result is: " + RTrim(strQueryResult), vbOKOnly, "*IDN? Result"
' Load the default setup.
DoCommand "*RST"
Exit Sub
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Sub
'
' Capture the waveform.
1698 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
' -------------------------------------------------------------------
Private Sub Capture()
On Error GoTo ErrorHandler
' Set probe attenuation factor.
DoCommand ":CHANnel1:PROBe 1.0"
Debug.Print "Channel 1 probe attenuation factor: " + _
DoQueryString(":CHANnel1:PROBe?")
' Use auto-scale to automatically configure oscilloscope.
' -----------------------------------------------------------------
DoCommand ":AUToscale"
' Set trigger mode.
DoCommand ":TRIGger:MODE EDGE"
Debug.Print "Trigger mode: " + _
DoQueryString(":TRIGger:MODE?")
' Set EDGE trigger parameters.
DoCommand ":TRIGger:EDGE:SOURCe CHANnel1"
Debug.Print "Trigger edge source: " + _
DoQueryString(":TRIGger:EDGE:SOURce?")
DoCommand ":TRIGger:LEVel CHANnel1,-2E-3"
Debug.Print "Trigger level, channel 1: " + _
DoQueryString(":TRIGger:LEVel? CHANnel1")
DoCommand ":TRIGger:EDGE:SLOPe POSitive"
Debug.Print "Trigger edge slope: " + _
DoQueryString(":TRIGger:EDGE:SLOPe?")
' Save oscilloscope configuration.
' -----------------------------------------------------------------
Dim lngSetupStringSize As Long
lngSetupStringSize = DoQueryIEEEBlock_Bytes(":SYSTem:SETup?")
Debug.Print "Setup bytes saved: " + CStr(lngSetupStringSize)
' Output setup string to a file:
Dim strPath As String
strPath = "c:\scope\config\setup.dat"
If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists.
End If
' Open file for output.
Dim hFile As Long
hFile = FreeFile
Open strPath For Binary Access Write Lock Write As hFile
Dim lngI As Long
For lngI = 0 To lngSetupStringSize - 1
Put hFile, , byteArray(lngI) ' Write data.
Next lngI
Close hFile ' Close file.
' Change settings with individual commands:
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1699
' -----------------------------------------------------------------
' Set vertical scale and offset.
DoCommand ":CHANnel1:SCALe 0.1"
Debug.Print "Channel 1 vertical scale: " + _
DoQueryString(":CHANnel1:SCALe?")
DoCommand ":CHANnel1:OFFSet 0.0"
Debug.Print "Channel 1 vertical offset: " + _
DoQueryString(":CHANnel1:OFFSet?")
' Set horizontal scale and position.
DoCommand ":TIMebase:SCALe 0.0002"
Debug.Print "Timebase scale:"+_
DoQueryString(":TIMebase:SCALe?")
DoCommand ":TIMebase:POSition 0.0"
Debug.Print "Timebase position: " + _
DoQueryString(":TIMebase:POSition?")
' Set the acquisition mode.
DoCommand ":ACQuire:MODE RTIMe"
Debug.Print "Acquire mode: " + _
DoQueryString(":ACQuire:MODE?")
' Or, configure by loading a previously saved setup.
' -----------------------------------------------------------------
strPath = "c:\scope\config\setup.dat"
Open strPath For Binary Access Read As hFile ' Open file for input.
Dim lngSetupFileSize As Long
lngSetupFileSize = LOF(hFile) ' Length of file.
Get hFile, , byteArray ' Read data.
Close hFile ' Close file.
' Write setup string back to oscilloscope using ":SYSTem:SETup"
' command:
Dim lngRestored As Long
lngRestored = DoCommandIEEEBlock(":SYSTem:SETup", lngSetupFileSize)
Debug.Print "Setup bytes restored: " + CStr(lngRestored)
' Set the desired number of waveform points,
' and capture an acquisition.
' -----------------------------------------------------------------
DoCommand ":ACQuire:POINts 32000"
DoCommand ":DIGitize"
Exit Sub
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Sub
'
' Analyze the captured waveform.
' -------------------------------------------------------------------
1700 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Private Sub Analyze()
On Error GoTo ErrorHandler
' Make measurements.
' -----------------------------------------------------------------
DoCommand ":MEASure:SOURce CHANnel1"
Debug.Print "Measure source:"+_
DoQueryString(":MEASure:SOURce?")
DoCommand ":MEASure:FREQuency"
dblQueryResult = DoQueryNumber(":MEASure:FREQuency?")
MsgBox "Frequency:" + vbCrLf + _
FormatNumber(dblQueryResult / 1000, 4) + " kHz"
DoCommand ":MEASure:VAMPlitude"
dblQueryResult = DoQueryNumber(":MEASure:VAMPlitude?")
MsgBox "Vertical amplitude:" + vbCrLf + _
FormatNumber(dblQueryResult, 4)+"V"
' Download the screen image.
' -----------------------------------------------------------------
' Get screen image.
Dim lngBlockSize As Long
lngBlockSize = DoQueryIEEEBlock_Bytes(":DISPlay:DATA? PNG")
Debug.Print "Screen image bytes: " + CStr(lngBlockSize)
' Save screen image to a file:
Dim strPath As String
strPath = "c:\scope\data\screen.png"
If Len(Dir(strPath)) Then
Kill strPath ' Remove file if it exists.
End If
Dim hFile As Long
hFile = FreeFile
Open strPath For Binary Access Write Lock Write As hFile
Dim lngI As Long
' Skip past header.
For lngI = CInt(Chr(byteArray(1))) + 2 To lngBlockSize - 1
Put hFile, , byteArray(lngI) ' Write data.
Next lngI
Close hFile ' Close file.
MsgBox "Screen image written to " + strPath
' Download waveform data.
' -----------------------------------------------------------------
' Get the waveform type.
Debug.Print "Waveform type:"+_
DoQueryString(":WAVeform:TYPE?")
' Get the number of waveform points.
Debug.Print "Waveform points: " + _
DoQueryString(":WAVeform:POINts?")
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1701
' Set the waveform source.
DoCommand ":WAVeform:SOURce CHANnel1"
Debug.Print "Waveform source: " + _
DoQueryString(":WAVeform:SOURce?")
' Choose the format of the data returned:
DoCommand ":WAVeform:FORMat BYTE"
Debug.Print "Waveform format: " + _
DoQueryString(":WAVeform:FORMat?")
' Display the waveform settings:
Dim dblXIncrement As Double
Dim dblXOrigin As Double
Dim dblYIncrement As Double
Dim dblYOrigin As Double
dblXIncrement = DoQueryNumber(":WAVeform:XINCrement?")
Debug.Print "Waveform X increment: " + _
Format(dblXIncrement, "Scientific")
dblXOrigin = DoQueryNumber(":WAVeform:XORigin?")
Debug.Print "Waveform X origin: " + _
Format(dblXOrigin, "Scientific")
dblYIncrement = DoQueryNumber(":WAVeform:YINCrement?")
Debug.Print "Waveform Y increment: " + _
Format(dblYIncrement, "Scientific")
dblYOrigin = DoQueryNumber(":WAVeform:YORigin?")
Debug.Print "Waveform Y origin: " + _
FormatNumber(dblYOrigin, 0)
' Get the waveform data
DoCommand ":WAVeform:STReaming OFF"
Dim lngNumBytes As Long
lngNumBytes = DoQueryIEEEBlock_Bytes(":WAVeform:DATA?")
Debug.Print "Number of data values:"+_
CStr(lngNumBytes - CInt(Chr(byteArray(1))) - 2)
' Set up output file:
strPath = "c:\scope\data\waveform_data.csv"
' Open file for output.
Open strPath For Output Access Write Lock Write As hFile
' Output waveform data in CSV format.
Dim lngDataValue As Long
Dim byteUnsigned As Byte
' Skip past header.
For lngI = CInt(Chr(byteArray(1))) + 2 To lngNumBytes - 2
byteUnsigned = byteArray(lngI)
' Oscilloscope BYTE format sends signed bytes. VBA Byte is
' interpreted as unsigned, so convert the bits to signed value.
lngDataValue = byteUnsigned - ((byteUnsigned And &H80) * 2)
' Write time value, voltage value.
1702 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Print #hFile, _
FormatNumber(dblXOrigin + (lngI * dblXIncrement), 9) + _
", " + _
FormatNumber((lngDataValue * dblYIncrement) + dblYOrigin)
Next lngI
' Close output file.
Close hFile ' Close file.
MsgBox "Waveform format BYTE data written to"+_
"c:\scope\data\waveform_data.csv."
Exit Sub
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Sub
Private Sub DoCommand(command As String)
On Error GoTo ErrorHandler
Call ivprintf(id, command + vbLf)
CheckInstrumentErrors
Exit Sub
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Sub
Private Function DoCommandIEEEBlock(command As String, _
lngBlockSize As Long)
On Error GoTo ErrorHandler
' Send command part.
Call ivprintf(id, command + " ")
' Write definite-length block bytes.
Call ifwrite(id, byteArray(), lngBlockSize, vbNull, retCount)
' retCount is now actual number of bytes written.
DoCommandIEEEBlock = retCount
CheckInstrumentErrors
Exit Function
ErrorHandler:
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1703
MsgBox "*** Error :"+Error, vbExclamation
End
End Function
Private Function DoQueryString(query As String) As String
Dim actual As Long
On Error GoTo ErrorHandler
Dim strResult As String * 200
Call ivprintf(id, query + vbLf)
Call ivscanf(id, "%200t", strResult)
DoQueryString = strResult
CheckInstrumentErrors
Exit Function
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Function
Private Function DoQueryNumber(query As String) As Double
On Error GoTo ErrorHandler
Dim dblResult As Double
Call ivprintf(id, query + vbLf)
Call ivscanf(id, "%lf" + vbLf, dblResult)
DoQueryNumber = dblResult
CheckInstrumentErrors
Exit Function
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Function
Private Function DoQueryNumbers(query As String) As Double()
On Error GoTo ErrorHandler
Dim dblResults(10) As Double
Call ivprintf(id, query + vbLf)
1704 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
Call ivscanf(id, "%,10lf" + vbLf, dblResults)
DoQueryNumbers = dblResults
CheckInstrumentErrors
Exit Function
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Function
Private Function DoQueryIEEEBlock_Bytes(query As String) As Long
On Error GoTo ErrorHandler
' Send query.
Call ivprintf(id, query + vbLf)
' Read definite-length block bytes.
Call ifread(id, byteArray(), ByteArraySize, vbNull, retCount)
' Get number of block length digits.
Dim intLengthDigits As Integer
intLengthDigits = CInt(Chr(byteArray(1)))
' Get block length from those digits.
Dim strBlockLength As String
strBlockLength = ""
Dim i As Integer
Fori=2TointLengthDigits + 1
strBlockLength = strBlockLength + Chr(byteArray(i))
Next
' Return number of bytes in block plus header.
DoQueryIEEEBlock_Bytes = CLng(strBlockLength) + intLengthDigits + 2
CheckInstrumentErrors
Exit Function
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Function
Private Sub CheckInstrumentErrors()
On Error GoTo ErrorHandler
Dim strErrVal As String * 200
Dim strOut As String
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1705
Call ivprintf(id, ":SYSTem:ERRor? STRing" + vbLf) ' Query any errors d
ata.
Call ivscanf(id, "%200t", strErrVal) ' Read: Errnum,"Error String".
While Val(strErrVal) <> 0 ' End if find: 0,"No Error".
strOut = strOut + "INST Error: " + strErrVal
Call ivprintf(id, ":SYSTem:ERRor? STRing" + vbLf) ' Request error me
ssage.
Call ivscanf(id, "%200t", strErrVal) ' Read error message.
Wend
If Not strOut = "" Then
MsgBox strOut, vbExclamation, "INST Error Messages"
Call iflush(id, I_BUF_READ Or I_BUF_WRITE)
End If
Exit Sub
ErrorHandler:
MsgBox "*** Error :"+Error, vbExclamation
End
End Sub
1706 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
SCPI.NET Examples
These programming examples show how to use the SCPI.NET drivers that come
with Keysight's free Command Expert software.
While you can write code manually using SCPI.NET drivers (as described in this
section), you can also use the Command Expert software to:
• Connect to instruments and control them interactively using SCPI command
sets.
• Quickly prototype and test command sequences.
• Generate C#, VB.NET, or C/C++ code for command sequences.
• Find, download, and install SCPI command sets.
• Browse command trees, search for commands, and view command
descriptions.
The Command Expert suite also comes with Add-ons for easy instrument control
and measurement data retrieval in NI LabVIEW, Microsoft Excel, Keysight VEE, and
Keysight SystemVue.
For more information on Keysight Command Expert, and to download the
software, see: http://www.keysight.com/find/commandexpert
•"SCPI.NET Example in C#" on page 1706
•"SCPI.NET Example in Visual Basic .NET" on page 1713
•"SCPI.NET Example in IronPython" on page 1720
SCPI.NET Example in C#
To compile and run this example in Microsoft Visual Studio 2008:
1Install the Keysight Command Expert software and the command set for the
oscilloscope.
2Open Visual Studio.
3Create a new Visual C#, Windows, Console Application project.
4Cut-and-paste the code that follows into the C# source file.
5Edit the program to use the address of your oscilloscope.
6Add a reference to the SCPI.NET driver:
aRight-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment.
bChoose Add Reference....
cIn the Add Reference dialog, select the Browse tab, and navigate to the
ScpiNetDrivers folder.
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1707
•Windows XP: C:\Documents and Settings\All Users\Agilent\Command
Expert\ScpiNetDrivers
•Windows 7: C:\ProgramData\Agilent\Command Expert\ScpiNetDrivers
dSelect the .dll file for your oscilloscope, for example
AgInfiniiumAHQSXZ_05_20.dll; then, click OK.
7Build and run the program.
For more information, see the SCPI.NET driver help that comes with Keysight
Command Expert.
/*
* Keysight SCPI.NET Example in C#
* -------------------------------------------------------------------
* This program illustrates a few commonly used programming
* features of your Keysight oscilloscope.
* -------------------------------------------------------------------
*/
using System;
using System.IO;
using System.Text;
using System.Collections.Generic;
using Agilent.CommandExpert.ScpiNet.AgInfiniiumAHQSXZ_05_20;
namespace Infiniium
{
class ScpiNetInstrumentApp
{
private static AgInfiniiumAHQSXZ myScope;
static void Main(string[] args)
{
try
{
string strScopeAddress;
//strScopeAddress = "141.121.237.226";
strScopeAddress =
"TCPIP0::141.121.237.226::hislip0::INSTR";
Console.WriteLine("Connecting to oscilloscope...");
Console.WriteLine();
myScope = new AgInfiniiumAHQSXZ(strScopeAddress);
myScope.Transport.DefaultTimeout.Set(10000);
// Initialize - start from a known state.
Initialize();
// Capture data.
Capture();
// Analyze the captured waveform.
Analyze();
Console.WriteLine("Press any key to exit");
Console.ReadKey();
1708 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
}
catch (System.ApplicationException err)
{
Console.WriteLine("*** SCPI.NET Error:"+err.Message);
}
catch (System.SystemException err)
{
Console.WriteLine("*** System Error Message : " + err.Message);
}
catch (System.Exception err)
{
System.Diagnostics.Debug.Fail("Unexpected Error");
Console.WriteLine("*** Unexpected Error:"+err.Message);
}
finally
{
//myScope.Dispose();
}
}
/*
* Initialize the oscilloscope to a known state.
* --------------------------------------------------------------
*/
private static void Initialize()
{
string strResults;
// Get and display the device's *IDN? string.
myScope.SCPI.IDN.Query(out strResults);
Console.WriteLine("*IDN? result is: {0}", strResults);
// Clear status and load the default setup.
myScope.SCPI.CLS.Command();
myScope.SCPI.RST.Command();
}
/*
* Capture the waveform.
* --------------------------------------------------------------
*/
private static void Capture()
{
string strResults;
double fResult;
// Use auto-scale to automatically configure oscilloscope.
myScope.SCPI.AUToscale.Command();
// Set trigger mode.
myScope.SCPI.TRIGger.MODE.Command("EDGE");
myScope.SCPI.TRIGger.MODE.Query(out strResults);
Console.WriteLine("Trigger mode: {0}", strResults);
// Set EDGE trigger parameters.
myScope.SCPI.TRIGger.EDGE.SOURce.Command(1, "CHANnel1");
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1709
myScope.SCPI.TRIGger.EDGE.SOURce.Query(1, out strResults);
Console.WriteLine("Trigger edge source: {0}", strResults);
myScope.SCPI.TRIGger.LEVel.Command("CHANnel1", -0.002);
myScope.SCPI.TRIGger.LEVel.Query("CHANnel1", out fResult);
Console.WriteLine("Trigger edge level: {0:F2}", fResult);
myScope.SCPI.TRIGger.EDGE.SLOPe.Command(1, "POSitive");
myScope.SCPI.TRIGger.EDGE.SLOPe.Query(1, out strResults);
Console.WriteLine("Trigger edge slope: {0}", strResults);
// Save oscilloscope setup.
byte[] byteResultsArray; // Results array.
int nLength; // Number of bytes returned from instrument.
string strPath;
// Query and read setup string.
myScope.SCPI.SYSTem.SETup.Query(out byteResultsArray);
nLength = byteResultsArray.Length;
// Write setup string to file.
strPath = "c:\\scope\\config\\setup.stp";
File.WriteAllBytes(strPath, byteResultsArray);
Console.WriteLine("Setup bytes saved: {0}", nLength);
// Change settings with individual commands:
// Set vertical scale and offset.
myScope.SCPI.CHANnel.SCALe.Command(1, 0.1);
myScope.SCPI.CHANnel.SCALe.Query(1, out fResult);
Console.WriteLine("Channel 1 vertical scale: {0:F4}", fResult);
myScope.SCPI.CHANnel.OFFSet.Command(1, 0.0);
myScope.SCPI.CHANnel.OFFSet.Query(1, out fResult);
Console.WriteLine("Channel 1 vertical offset: {0:F4}", fResult);
// Set horizontal scale and offset.
myScope.SCPI.TIMebase.SCALe.Command(0.0002);
myScope.SCPI.TIMebase.SCALe.Query(out fResult);
Console.WriteLine("Timebase scale: {0:F4}", fResult);
myScope.SCPI.TIMebase.POSition.Command(0.0);
myScope.SCPI.TIMebase.POSition.Query(out fResult);
Console.WriteLine("Timebase position: {0:F2}", fResult);
// Set the acquisition mode.
myScope.SCPI.ACQuire.MODE.Command("RTIMe");
myScope.SCPI.ACQuire.MODE.Query(out strResults);
Console.WriteLine("Acquire mode: {0}", strResults);
// Or, configure by loading a previously saved setup.
byte[] DataArray;
int nBytesWritten;
// Read setup string from file.
strPath = "c:\\scope\\config\\setup.stp";
DataArray = File.ReadAllBytes(strPath);
1710 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
nBytesWritten = byteResultsArray.Length;
// Restore setup string.
myScope.SCPI.SYSTem.SETup.Command(DataArray);
Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);
// Set the desired number of waveform points,
// and capture an acquisition.
myScope.SCPI.ACQuire.POINts.ANALog.Command(32000);
myScope.SCPI.DIGitize.Command(null);
}
/*
* Analyze the captured waveform.
* --------------------------------------------------------------
*/
private static void Analyze()
{
string strResults;
double fResult;
// Make measurements.
// -----------------------------------------------------------
myScope.SCPI.MEASure.SOURce.Command("CHANnel1", null);
myScope.SCPI.MEASure.SOURce.Query(out strResults);
Console.WriteLine("Measure source: {0}", strResults);
myScope.SCPI.MEASure.FREQuency.Command("CHANnel1", null);
myScope.SCPI.MEASure.FREQuency.QuerySendValidOff("CHANnel1",
null, out fResult);
Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000);
// Use direct command/query when commands not in command set.
myScope.Transport.Command.Invoke(":MEASure:VAMPlitude CHANnel1");
myScope.Transport.Query.Invoke(":MEASure:VAMPlitude? CHANnel1",
out strResults);
Console.WriteLine("Vertical amplitude: {0} V", strResults);
// Download the screen image.
// -----------------------------------------------------------
// Get the screen data.
byte[] byteResultsArray; // Results array.
myScope.SCPI.DISPlay.DATA.Query("PNG", null, null, null,
out byteResultsArray);
int nLength; // Number of bytes returned from instrument.
nLength = byteResultsArray.Length;
// Store the screen data to a file.
string strPath;
strPath = "c:\\scope\\data\\screen.png";
FileStream fStream = File.Open(strPath, FileMode.Create);
fStream.Write(byteResultsArray, 0, nLength);
fStream.Close();
Console.WriteLine("Screen image ({0} bytes) written to {1}",
nLength, strPath);
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1711
// Download waveform data.
// -----------------------------------------------------------
// Get the waveform points mode.
myScope.SCPI.WAVeform.TYPE.Query(out strResults);
Console.WriteLine("Waveform points mode: {0}", strResults);
// Get the number of waveform points.
int nPointsAvail;
myScope.SCPI.WAVeform.POINts.Query(out nPointsAvail);
Console.WriteLine("Waveform points: {0}", nPointsAvail);
// Set the waveform source.
myScope.SCPI.WAVeform.SOURce.Command("CHANnel1");
myScope.SCPI.WAVeform.SOURce.Query(out strResults);
Console.WriteLine("Waveform source: {0}", strResults);
// Choose the format of the data returned:
myScope.SCPI.WAVeform.FORMat.Command("WORD");
myScope.SCPI.WAVeform.FORMat.Query(out strResults);
Console.WriteLine("Waveform format: {0}", strResults);
myScope.SCPI.WAVeform.BYTeorder.Command("LSBFirst");
myScope.SCPI.WAVeform.BYTeorder.Query(out strResults);
Console.WriteLine("Waveform byte order: {0}", strResults);
// Display the waveform settings from preamble:
Dictionary<string, string> dctWavFormat =
new Dictionary<string, string>()
{
{"0", "ASCii"},
{"1", "BYTE"},
{"2", "WORD"},
{"3", "LONG"},
{"4", "LONGLONG"},
};
Dictionary<string, string> dctAcqType =
new Dictionary<string, string>()
{
{"1", "RAW"},
{"2", "AVERage"},
{"3", "VHIStogram"},
{"4", "HHIStogram"},
{"6", "INTerpolate"},
{"10", "PDETect"},
};
Dictionary<string, string> dctAcqMode =
new Dictionary<string, string>()
{
{"0", "RTIMe"},
{"1", "ETIMe"},
{"3", "PDETect"},
};
Dictionary<string, string> dctCoupling =
new Dictionary<string, string>()
{
{"0", "AC"},
1712 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
{"1", "DC"},
{"2", "DCFIFTY"},
{"3", "LFREJECT"},
};
Dictionary<string, string> dctUnits =
new Dictionary<string, string>()
{
{"0", "UNKNOWN"},
{"1", "VOLT"},
{"2", "SECOND"},
{"3", "CONSTANT"},
{"4", "AMP"},
{"5", "DECIBEL"},
};
string strPreamble;
string[] strsPreamble;
myScope.SCPI.WAVeform.PREamble.Query(out strPreamble);
strsPreamble = strPreamble.Split(',');
Console.WriteLine("Waveform format: {0}",
dctWavFormat[strsPreamble[0]]);
Console.WriteLine("Acquire type: {0}",
dctAcqType[strsPreamble[1]]);
Console.WriteLine("Waveform points: {0}", strsPreamble[2]);
Console.WriteLine("Waveform average count: {0}", strsPreamble[3]);
Console.WriteLine("Waveform X increment: {0}", strsPreamble[4]);
Console.WriteLine("Waveform X origin: {0}", strsPreamble[5]);
Console.WriteLine("Waveform X reference: {0}", strsPreamble[6]);
Console.WriteLine("Waveform Y increment: {0}", strsPreamble[7]);
Console.WriteLine("Waveform Y origin: {0}", strsPreamble[8]);
Console.WriteLine("Waveform Y reference: {0}", strsPreamble[9]);
Console.WriteLine("Coupling: {0}", dctCoupling[strsPreamble[10]]);
Console.WriteLine("Waveform X display range: {0}",
strsPreamble[11]);
Console.WriteLine("Waveform X display origin: {0}",
strsPreamble[12]);
Console.WriteLine("Waveform Y display range: {0}",
strsPreamble[13]);
Console.WriteLine("Waveform Y display origin: {0}",
strsPreamble[14]);
Console.WriteLine("Date: {0}", strsPreamble[15]);
Console.WriteLine("Time: {0}", strsPreamble[16]);
Console.WriteLine("Frame model: {0}", strsPreamble[17]);
Console.WriteLine("Acquire mode: {0}",
dctAcqMode[strsPreamble[18]]);
Console.WriteLine("Completion pct: {0}", strsPreamble[19]);
Console.WriteLine("Waveform X inits: {0}",
dctUnits[strsPreamble[20]]);
Console.WriteLine("Waveform Y units: {0}",
dctUnits[strsPreamble[21]]);
Console.WriteLine("Max BW limit: {0}", strsPreamble[22]);
Console.WriteLine("Min BW limit: {0}", strsPreamble[23]);
// Get numeric values for later calculations.
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1713
double fXincrement;
myScope.SCPI.WAVeform.XINCrement.Query(out fXincrement);
double fXorigin;
myScope.SCPI.WAVeform.XORigin.Query(out fXorigin);
double fYincrement;
myScope.SCPI.WAVeform.YINCrement.Query(out fYincrement);
double fYorigin;
myScope.SCPI.WAVeform.YORigin.Query(out fYorigin);
// Get the waveform data.
myScope.SCPI.WAVeform.STReaming.Command(false);
short[] WordDataArray; // Results array.
myScope.SCPI.WAVeform.DATA.QueryWord(null, null, out WordDataArray
);
nLength = WordDataArray.Length;
Console.WriteLine("Number of data values: {0}", nLength);
// Set up output file:
strPath = "c:\\scope\\data\\waveform_data.csv";
if (File.Exists(strPath)) File.Delete(strPath);
// Open file for output.
StreamWriter writer = File.CreateText(strPath);
// Output waveform data in CSV format.
for(inti=0;i<nLength - 1; i++)
writer.WriteLine("{0:f9}, {1:f6}",
fXorigin + ((float)i * fXincrement),
(((float)WordDataArray[i])
* fYincrement) + fYorigin);
// Close output file.
writer.Close();
Console.WriteLine("Waveform format WORD data written to {0}",
strPath);
}
}
}
SCPI.NET Example in Visual Basic .NET
To compile and run this example in Microsoft Visual Studio 2008:
1Install the Keysight Command Expert software and the command set for the
oscilloscope.
2Open Visual Studio.
3Create a new Visual Basic, Windows, Console Application project.
4Cut-and-paste the code that follows into the Visual Basic .NET source file.
5Edit the program to use the VISA address of your oscilloscope.
1714 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
6Add a reference to the SCPI.NET 3.0 driver:
aRight-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment.
bChoose Add Reference....
cIn the Add Reference dialog, select the Browse tab, and navigate to the
ScpiNetDrivers folder.
•Windows XP: C:\Documents and Settings\All Users\Agilent\Command
Expert\ScpiNetDrivers
•Windows 7: C:\ProgramData\Agilent\Command Expert\ScpiNetDrivers
dSelect the .dll file for your oscilloscope, for example
AgInfiniiumAHQSXZ_05_20.dll; then, click OK.
eRight-click the project you wish to modify (not the solution) in the Solution
Explorer window of the Microsoft Visual Studio environment and choose
Properties; then, select "Infiniium.ScpiNetInstrumentApp" as the Startup
object.
7Build and run the program.
For more information, see the SCPI.NET driver help that comes with Keysight
Command Expert.
'
' Keysight SCPI.NET Example in Visual Basic .NET
' -------------------------------------------------------------------
' This program illustrates a few commonly used programming
' features of your Keysight oscilloscope.
' -------------------------------------------------------------------
Imports System
Imports System.IO
Imports System.Text
Imports System.Collections.Generic
Imports Agilent.CommandExpert.ScpiNet.AgInfiniiumAHQSXZ_05_20
Namespace Infiniium
Class ScpiNetInstrumentApp
Private Shared myScope As AgInfiniiumAHQSXZ
Public Shared Sub Main(ByVal args As String())
Try
Dim strScopeAddress As String
'strScopeAddress = "141.121.237.226";
strScopeAddress = _
"TCPIP0::141.121.237.226::hislip0::INSTR"
Console.WriteLine("Connecting to oscilloscope...")
Console.WriteLine()
myScope = New AgInfiniiumAHQSXZ(strScopeAddress)
myScope.Transport.DefaultTimeout.[Set](10000)
' Initialize - start from a known state.
Initialize()
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1715
' Capture data.
Capture()
' Analyze the captured waveform.
Analyze()
Console.WriteLine("Press any key to exit")
Console.ReadKey()
Catch err As System.ApplicationException
Console.WriteLine("*** SCPI.NET Error:"&err.Message)
Catch err As System.SystemException
Console.WriteLine("*** System Error Message : " & err.Message)
Catch err As System.Exception
System.Diagnostics.Debug.Fail("Unexpected Error")
Console.WriteLine("*** Unexpected Error:"&err.Message)
'myScope.Dispose();
Finally
End Try
End Sub
' Initialize the oscilloscope to a known state.
' --------------------------------------------------------------
Private Shared Sub Initialize()
Dim strResults As String
' Get and display the device's *IDN? string.
myScope.SCPI.IDN.Query(strResults)
Console.WriteLine("*IDN? result is: {0}", strResults)
' Clear status and load the default setup.
myScope.SCPI.CLS.Command()
myScope.SCPI.RST.Command()
End Sub
' Capture the waveform.
' --------------------------------------------------------------
Private Shared Sub Capture()
Dim strResults As String
Dim fResult As Double
' Use auto-scale to automatically configure oscilloscope.
myScope.SCPI.AUToscale.Command()
' Set trigger mode.
myScope.SCPI.TRIGger.MODE.Command("EDGE")
myScope.SCPI.TRIGger.MODE.Query(strResults)
Console.WriteLine("Trigger mode: {0}", strResults)
' Set EDGE trigger parameters.
myScope.SCPI.TRIGger.EDGE.SOURce.Command(1, "CHANnel1")
myScope.SCPI.TRIGger.EDGE.SOURce.Query(1, strResults)
Console.WriteLine("Trigger edge source: {0}", strResults)
1716 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
myScope.SCPI.TRIGger.LEVel.Command("CHANnel1", -0.002)
myScope.SCPI.TRIGger.LEVel.Query("CHANnel1", fResult)
Console.WriteLine("Trigger edge level: {0:F2}", fResult)
myScope.SCPI.TRIGger.EDGE.SLOPe.Command(1, "POSitive")
myScope.SCPI.TRIGger.EDGE.SLOPe.Query(1, strResults)
Console.WriteLine("Trigger edge slope: {0}", strResults)
' Save oscilloscope setup.
Dim byteResultsArray As Byte()
' Results array.
Dim nLength As Integer
' Number of bytes returned from instrument.
Dim strPath As String
' Query and read setup string.
myScope.SCPI.SYSTem.SETup.Query(byteResultsArray)
nLength = byteResultsArray.Length
' Write setup string to file.
strPath = "c:\scope\config\setup.stp"
File.WriteAllBytes(strPath, byteResultsArray)
Console.WriteLine("Setup bytes saved: {0}", nLength)
' Change settings with individual commands:
' Set vertical scale and offset.
myScope.SCPI.CHANnel.SCALe.Command(1, 0.1)
myScope.SCPI.CHANnel.SCALe.Query(1, fResult)
Console.WriteLine("Channel 1 vertical scale: {0:F4}", fResult)
myScope.SCPI.CHANnel.OFFSet.Command(1, 0.0)
myScope.SCPI.CHANnel.OFFSet.Query(1, fResult)
Console.WriteLine("Channel 1 vertical offset: {0:F4}", fResult)
' Set horizontal scale and offset.
myScope.SCPI.TIMebase.SCALe.Command(0.0002)
myScope.SCPI.TIMebase.SCALe.Query(fResult)
Console.WriteLine("Timebase scale: {0:F4}", fResult)
myScope.SCPI.TIMebase.POSition.Command(0.0)
myScope.SCPI.TIMebase.POSition.Query(fResult)
Console.WriteLine("Timebase position: {0:F2}", fResult)
' Set the acquisition mode.
myScope.SCPI.ACQuire.MODE.Command("RTIMe")
myScope.SCPI.ACQuire.MODE.Query(strResults)
Console.WriteLine("Acquire mode: {0}", strResults)
' Or, configure by loading a previously saved setup.
Dim DataArray As Byte()
Dim nBytesWritten As Integer
' Read setup string from file.
strPath = "c:\scope\config\setup.stp"
DataArray = File.ReadAllBytes(strPath)
nBytesWritten = DataArray.Length
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1717
' Restore setup string.
myScope.SCPI.SYSTem.SETup.Command(DataArray)
Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)
' Set the desired number of waveform points,
' and capture an acquisition.
myScope.SCPI.ACQuire.POINts.ANALog.Command(32000)
myScope.SCPI.DIGitize.Command(DBNull.Value)
End Sub
' Analyze the captured waveform.
' --------------------------------------------------------------
Private Shared Sub Analyze()
'Dim strResultsArray As String()
' Results array.
Dim strResults As String
Dim fResult As Double
' Make measurements.
' -----------------------------------------------------------
myScope.SCPI.MEASure.SOURce.Command("CHANnel1", DBNull.Value)
myScope.SCPI.MEASure.SOURce.Query(strResults)
Console.WriteLine("Measure source: {0}", strResults)
myScope.SCPI.MEASure.FREQuency.Command("CHANnel1", DBNull.Value)
myScope.SCPI.MEASure.FREQuency.QuerySendValidOff("CHANnel1", _
DBNull.Value, fResult)
Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000)
' Use direct command/query when commands not in command set.
myScope.Transport.Command.Invoke(":MEASure:VAMPlitude CHANnel1")
myScope.Transport.Query.Invoke(":MEASure:VAMPlitude? CHANnel1", _
strResults)
Console.WriteLine("Vertical amplitude: {0} V", strResults)
' Download the screen image.
' -----------------------------------------------------------
' Get the screen data.
Dim byteResultsArray As Byte()
' Results array.
myScope.SCPI.DISPlay.DATA.Query("PNG", DBNull.Value, _
DBNull.Value, DBNull.Value, byteResultsArray)
Dim nLength As Integer
' Number of bytes returned from instrument.
nLength = byteResultsArray.Length
' Store the screen data to a file.
Dim strPath As String
strPath = "c:\scope\data\screen.png"
Dim fStream As FileStream = File.Open(strPath, FileMode.Create)
fStream.Write(byteResultsArray, 0, nLength)
fStream.Close()
Console.WriteLine("Screen image ({0} bytes) written to {1}", _
nLength, strPath)
1718 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
' Download waveform data.
' -----------------------------------------------------------
' Get the waveform points mode.
myScope.SCPI.WAVeform.TYPE.Query(strResults)
Console.WriteLine("Waveform points mode: {0}", strResults)
' Get the number of waveform points.
Dim nPointsAvail As Integer
myScope.SCPI.WAVeform.POINts.Query(nPointsAvail)
Console.WriteLine("Waveform points: {0}", nPointsAvail)
' Set the waveform source.
myScope.SCPI.WAVeform.SOURce.Command("CHANnel1")
myScope.SCPI.WAVeform.SOURce.Query(strResults)
Console.WriteLine("Waveform source: {0}", strResults)
' Choose the format of the data returned:
myScope.SCPI.WAVeform.FORMat.Command("WORD")
myScope.SCPI.WAVeform.FORMat.Query(strResults)
Console.WriteLine("Waveform format: {0}", strResults)
myScope.SCPI.WAVeform.BYTeorder.Command("LSBFirst")
myScope.SCPI.WAVeform.BYTeorder.Query(strResults)
Console.WriteLine("Waveform byte order: {0}", strResults)
' Display the waveform settings from preamble:
Dim dctWavFormat As New Dictionary(Of String, String)
dctWavFormat.Add("0", "ASCii")
dctWavFormat.Add("1", "BYTE")
dctWavFormat.Add("2", "WORD")
dctWavFormat.Add("3", "LONG")
dctWavFormat.Add("4", "LONGLONG")
Dim dctAcqType As New Dictionary(Of String, String)
dctAcqType.Add("1", "RAW")
dctAcqType.Add("2", "AVERage")
dctAcqType.Add("3", "VHIStogram")
dctAcqType.Add("4", "HHIStogram")
dctAcqType.Add("6", "INTerpolate")
dctAcqType.Add("10", "PDETect")
Dim dctAcqMode As New Dictionary(Of String, String)()
dctAcqMode.Add("0", "RTIMe")
dctAcqMode.Add("1", "ETIMe")
dctAcqMode.Add("3", "PDETect")
Dim dctCoupling As New Dictionary(Of String, String)()
dctCoupling.Add("0", "AC")
dctCoupling.Add("1", "DC")
dctCoupling.Add("2", "DCFIFTY")
dctCoupling.Add("3", "LFREJECT")
Dim dctUnits As New Dictionary(Of String, String)()
dctUnits.Add("0", "UNKNOWN")
dctUnits.Add("1", "VOLT")
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1719
dctUnits.Add("2", "SECOND")
dctUnits.Add("3", "CONSTANT")
dctUnits.Add("4", "AMP")
dctUnits.Add("5", "DECIBEL")
Dim strPreamble As String
Dim strsPreamble As String()
myScope.SCPI.WAVeform.PREamble.Query(strPreamble)
strsPreamble = strPreamble.Split(","c)
Console.WriteLine("Waveform format: {0}", _
dctWavFormat(strsPreamble(0)))
Console.WriteLine("Acquire type: {0}", _
dctAcqType(strsPreamble(1)))
Console.WriteLine("Waveform points: {0}", strsPreamble(2))
Console.WriteLine("Waveform average count: {0}", strsPreamble(3))
Console.WriteLine("Waveform X increment: {0}", strsPreamble(4))
Console.WriteLine("Waveform X origin: {0}", strsPreamble(5))
Console.WriteLine("Waveform X reference: {0}", strsPreamble(6))
Console.WriteLine("Waveform Y increment: {0}", strsPreamble(7))
Console.WriteLine("Waveform Y origin: {0}", strsPreamble(8))
Console.WriteLine("Waveform Y reference: {0}", strsPreamble(9))
Console.WriteLine("Coupling: {0}", dctCoupling(strsPreamble(10)))
Console.WriteLine("Waveform X display range: {0}", _
strsPreamble(11))
Console.WriteLine("Waveform X display origin: {0}", _
strsPreamble(12))
Console.WriteLine("Waveform Y display range: {0}", _
strsPreamble(13))
Console.WriteLine("Waveform Y display origin: {0}", _
strsPreamble(14))
Console.WriteLine("Date: {0}", strsPreamble(15))
Console.WriteLine("Time: {0}", strsPreamble(16))
Console.WriteLine("Frame model: {0}", strsPreamble(17))
Console.WriteLine("Acquire mode: {0}", _
dctAcqMode(strsPreamble(18)))
Console.WriteLine("Completion pct: {0}", strsPreamble(19))
Console.WriteLine("Waveform X inits: {0}", _
dctUnits(strsPreamble(20)))
Console.WriteLine("Waveform Y units: {0}", _
dctUnits(strsPreamble(21)))
Console.WriteLine("Max BW limit: {0}", strsPreamble(22))
Console.WriteLine("Min BW limit: {0}", strsPreamble(23))
' Get numeric values for later calculations.
Dim fXincrement As Double
myScope.SCPI.WAVeform.XINCrement.Query(fXincrement)
Dim fXorigin As Double
myScope.SCPI.WAVeform.XORigin.Query(fXorigin)
Dim fYincrement As Double
myScope.SCPI.WAVeform.YINCrement.Query(fYincrement)
Dim fYorigin As Double
myScope.SCPI.WAVeform.YORigin.Query(fYorigin)
1720 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
' Get the waveform data.
myScope.SCPI.WAVeform.STReaming.Command(False)
Dim WordDataArray As Short()
' Results array.
myScope.SCPI.WAVeform.DATA.QueryWord(DBNull.Value, _
DBNull.Value, WordDataArray)
nLength = WordDataArray.Length
Console.WriteLine("Number of data values: {0}", nLength)
' Set up output file:
strPath = "c:\scope\data\waveform_data.csv"
If File.Exists(strPath) Then
File.Delete(strPath)
End If
' Open file for output.
Dim writer As StreamWriter = File.CreateText(strPath)
' Output waveform data in CSV format.
For i As Integer=0TonLength - 2
writer.WriteLine("{0:f9}, {1:f6}", _
fXorigin + (CSng(i) * fXincrement), _
(CSng(WordDataArray(i)) * fYincrement) + fYorigin)
Next
' Close output file.
writer.Close()
Console.WriteLine("Waveform format WORD data written to {0}", _
strPath)
End Sub
End Class
End Namespace
SCPI.NET Example in IronPython
You can also control Keysight oscilloscopes using the SCPI.NET library and Python
programming language on the .NET platform using:
• IronPython (http://ironpython.codeplex.com/) which is an implementation of
the Python programming language running under .NET.
To run this example with IronPython:
1Install the Keysight Command Expert software and the command set for the
oscilloscope.
2Cut-and-paste the code that follows into a file named "example.ipy".
3Edit the program to use the address of your oscilloscope.
4If the IronPython "ipy.exe" can be found via your PATH environment variable,
open a Command Prompt window; then, change to the folder that contains the
"example.ipy" file, and enter:
ipy example.ipy
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1721
#
# Keysight SCPI.NET Example in IronPython
# *********************************************************
# This program illustrates a few commonly used programming
# features of your Keysight oscilloscope.
# *********************************************************
# Import Python modules.
# ---------------------------------------------------------
import sys
sys.path.append("C:\Python27\Lib") # Python Standard Library.
sys.path.append("C:\ProgramData\Agilent\Command Expert\ScpiNetDrivers")
import string
# Import .NET modules.
# ---------------------------------------------------------
from System import *
from System.IO import *
from System.Text import *
from System.Runtime.InteropServices import *
import clr
clr.AddReference("AgInfiniiumAHQSXZ_05_20")
from Agilent.CommandExpert.ScpiNet.AgInfiniiumAHQSXZ_05_20 import *
# =========================================================
# Initialize:
# =========================================================
def initialize():
# Get and display the device's *IDN? string.
idn_string = scope.SCPI.IDN.Query()
print "Identification string '%s'" % idn_string
# Clear status and load the default setup.
scope.SCPI.CLS.Command()
scope.SCPI.RST.Command()
# =========================================================
# Capture:
# =========================================================
def capture():
# Use auto-scale to automatically set up oscilloscope.
print "Autoscale."
scope.SCPI.AUToscale.Command()
# Set trigger mode.
scope.SCPI.TRIGger.MODE.Command("EDGE")
qresult = scope.SCPI.TRIGger.MODE.Query()
print "Trigger mode: %s" % qresult
# Set EDGE trigger parameters.
scope.SCPI.TRIGger.EDGE.SOURce.Command(1, "CHANnel1")
qresult = scope.SCPI.TRIGger.EDGE.SOURce.Query(1)
print "Trigger edge source: %s" % qresult
1722 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
scope.SCPI.TRIGger.LEVel.Command("CHANnel1", -0.002)
qresult = scope.SCPI.TRIGger.LEVel.Query("CHANnel1")
print "Trigger edge level: %s" % qresult
scope.SCPI.TRIGger.EDGE.SLOPe.Command(1, "POSitive")
qresult = scope.SCPI.TRIGger.EDGE.SLOPe.Query(1)
print "Trigger edge slope: %s" % qresult
# Save oscilloscope setup.
setup_bytes = scope.SCPI.SYSTem.SETup.Query()
nLength = len(setup_bytes)
File.WriteAllBytes("setup.stp", setup_bytes)
print "Setup bytes saved: %d" % nLength
# Change settings with individual commands:
# Set vertical scale and offset.
scope.SCPI.CHANnel.SCALe.Command(1, 0.1)
qresult = scope.SCPI.CHANnel.SCALe.Query(1)
print "Channel 1 vertical scale: %f" % qresult
scope.SCPI.CHANnel.OFFSet.Command(1, 0.0)
qresult = scope.SCPI.CHANnel.OFFSet.Query(1)
print "Channel 1 offset: %f" % qresult
# Set horizontal scale and offset.
scope.SCPI.TIMebase.SCALe.Command(0.0002)
qresult = scope.SCPI.TIMebase.SCALe.Query()
print "Timebase scale: %f" % qresult
scope.SCPI.TIMebase.POSition.Command(0.0)
qresult = scope.SCPI.TIMebase.POSition.Query()
print "Timebase position: %f" % qresult
# Set the acquisition mode.
scope.SCPI.ACQuire.MODE.Command("RTIMe")
qresult = scope.SCPI.ACQuire.MODE.Query()
print "Acquire mode: %s" % qresult
# Or, set up oscilloscope by loading a previously saved setup.
setup_bytes = File.ReadAllBytes("setup.stp")
scope.SCPI.SYSTem.SETup.Command(setup_bytes)
print "Setup lines restored: %d" % len(setup_bytes)
# Set the desired number of waveform points,
# and capture an acquisition.
scope.SCPI.ACQuire.POINts.ANALog.Command(32000)
scope.SCPI.DIGitize.Command(None)
# =========================================================
# Analyze:
# =========================================================
def analyze():
# Make measurements.
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1723
# --------------------------------------------------------
scope.SCPI.MEASure.SOURce.Command("CHANnel1", None)
qresult = scope.SCPI.MEASure.SOURce.Query()
print "Measure source: %s" % qresult
scope.SCPI.MEASure.FREQuency.Command("CHANnel1", None)
qresult = scope.SCPI.MEASure.FREQuency.QuerySendValidOff("CHANnel1", No
ne)
print "Measured frequency on channel 1: %f" % qresult
# Use direct command/query when commands not in command set.
scope.Transport.Command.Invoke(":MEASure:VAMPlitude CHANnel1")
qresult = scope.Transport.Query.Invoke(":MEASure:VAMPlitude? CHANnel1")
print "Measured vertical amplitude on channel 1: %s" % qresult
# Download the screen image.
# --------------------------------------------------------
image_bytes = scope.SCPI.DISPlay.DATA.Query("PNG", None, None, None)
nLength = len(image_bytes)
fStream = File.Open("screen_image.png", FileMode.Create)
fStream.Write(image_bytes, 0, nLength)
fStream.Close()
print "Screen image written to screen_image.png."
# Download waveform data.
# --------------------------------------------------------
# Get the waveform points mode.
qresult = scope.SCPI.WAVeform.TYPE.Query()
print "Waveform points mode: %s" % qresult
# Get the number of waveform points.
qresult = scope.SCPI.WAVeform.POINts.Query()
print "Waveform points: %s" % qresult
# Set the waveform source.
scope.SCPI.WAVeform.SOURce.Command("CHANnel1")
qresult = scope.SCPI.WAVeform.SOURce.Query()
print "Waveform source: %s" % qresult
# Choose the format of the data returned:
scope.SCPI.WAVeform.FORMat.Command("WORD")
qresult = scope.SCPI.WAVeform.FORMat.Query()
print "Waveform format: %s" % qresult
scope.SCPI.WAVeform.BYTeorder.Command("LSBFirst")
qresult = scope.SCPI.WAVeform.BYTeorder.Query()
print "Waveform byte order: %s" % qresult
# Display the waveform settings from preamble:
wav_form_dict = {
0 : "ASCii",
1 : "BYTE",
2 : "WORD",
3 : "LONG",
4 : "LONGLONG",
}
1724 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
acq_type_dict = {
1 : "RAW",
2 : "AVERage",
3 : "VHIStogram",
4 : "HHIStogram",
6 : "INTerpolate",
10 : "PDETect",
}
acq_mode_dict = {
0 : "RTIMe",
1 : "ETIMe",
3 : "PDETect",
}
coupling_dict = {
0 : "AC",
1 : "DC",
2 : "DCFIFTY",
3 : "LFREJECT",
}
units_dict = {
0 : "UNKNOWN",
1 : "VOLT",
2 : "SECOND",
3 : "CONSTANT",
4 : "AMP",
5 : "DECIBEL",
}
preamble_string = scope.SCPI.WAVeform.PREamble.Query()
(
wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin,
x_reference, y_increment, y_origin, y_reference, coupling,
x_display_range, x_display_origin, y_display_range,
y_display_origin, date, time, frame_model, acq_mode,
completion, x_units, y_units, max_bw_limit, min_bw_limit
) = string.split(preamble_string, ",")
print "Waveform format: %s" % wav_form_dict[int(wav_form)]
print "Acquire type: %s" % acq_type_dict[int(acq_type)]
print "Waveform points desired: %s" % wfmpts
print "Waveform average count: %s" % avgcnt
print "Waveform X increment: %s" % x_increment
print "Waveform X origin: %s" % x_origin
print "Waveform X reference: %s" % x_reference # Always 0.
print "Waveform Y increment: %s" % y_increment
print "Waveform Y origin: %s" % y_origin
print "Waveform Y reference: %s" % y_reference # Always 0.
print "Coupling: %s" % coupling_dict[int(coupling)]
print "Waveform X display range: %s" % x_display_range
print "Waveform X display origin: %s" % x_display_origin
print "Waveform Y display range: %s" % y_display_range
print "Waveform Y display origin: %s" % y_display_origin
print "Date: %s" % date
print "Time: %s" % time
print "Frame model #: %s" % frame_model
print "Acquire mode: %s" % acq_mode_dict[int(acq_mode)]
print "Completion pct: %s" % completion
Sample Programs 42
Keysight Infiniium Oscilloscopes Programmer's Guide 1725
print "Waveform X units: %s" % units_dict[int(x_units)]
print "Waveform Y units: %s" % units_dict[int(y_units)]
print "Max BW limit: %s" % max_bw_limit
print "Min BW limit: %s" % min_bw_limit
# Get numeric values for later calculations.
x_increment = scope.SCPI.WAVeform.XINCrement.Query()
x_origin = scope.SCPI.WAVeform.XORigin.Query()
y_increment = scope.SCPI.WAVeform.YINCrement.Query()
y_origin = scope.SCPI.WAVeform.YORigin.Query()
# Get the waveform data.
scope.SCPI.WAVeform.STReaming.Command(False)
data_words = scope.SCPI.WAVeform.DATA.QueryWord(None, None)
nLength = len(data_words)
print "Number of data values: %d" % nLength
# Open file for output.
strPath = "waveform_data.csv"
writer = File.CreateText(strPath)
# Output waveform data in CSV format.
for i in xrange(0, nLength - 1):
time_val = x_origin+i*x_increment
voltage = data_words[i] * y_increment + y_origin
writer.WriteLine("%E, %f" % (time_val, voltage))
# Close output file.
writer.Close()
print "Waveform format WORD data written to %s." % strPath
# =========================================================
# Main program:
# =========================================================
#addr = "141.121.237.226"
addr = "TCPIP0::141.121.237.226::hislip0::INSTR"
scope = AgInfiniiumAHQSXZ(addr)
scope.Transport.DefaultTimeout.Set(10000)
# Initialize the oscilloscope, capture data, and analyze.
initialize()
capture()
analyze()
print "End of program."
# Wait for a key press before exiting.
print "Press any key to exit..."
Console.ReadKey(True)
1726 Keysight Infiniium Oscilloscopes Programmer's Guide
42 Sample Programs
1728 Keysight Infiniium Oscilloscopes Programmer's Guide
43 Reference
HDF5 Example
Here is an example of a captured HDF5 file.
Channel 1(6576)
Group Size = 1
Number of Attributes = 17
Waveform Type = 1
Start = 1
NumPoints = 1000000
NumSegments = 0
Count = 1
XDispRange = 1.0E-6
XDispOrigin = -5.0E-7
XInc = 5.0E-11
XOrg = -2.4999999E-5
XUnits = Second
YDispRange = 8.0
YDispOrigin = 0.0
YInc = 1.327218738E-4
YOrg = 0.11645629362732
YUnits = Volt
MinBandwidth = 0.0
MaxBandwidth = 6.0E9
Reference 43
Keysight Infiniium Oscilloscopes Programmer's Guide 1729
CSV and TSV Header Format
Revision Always 0 (zero).
Type How the waveform was acquired: normal, raw, interpolate, average, or versus.
When this field is read back into the scope, all modes, except versus, are
converted to raw. The default value is raw.
Start Starting point in the waveform of the first data point in the file. This is usually zero.
Points The number of points in the waveform record. The number of points is set by the
Memory Depth control. The default value is 1.
Count or
Segments
For count, it is the number of hits at each time bucket in the waveform record
when the waveform was created using an acquisition mode like averaging. For
example, when averaging, a count of four would mean every waveform data point
in the waveform record has been averaged at least four times. Count is ignored
when it is read back into the scope. The default value is 0.
Segments is used instead of Count when the data is acquired using the
Segmented acquisition mode. This number is the total number of segments that
were acquired.
XDispRange The number of X display range columns (n) depends on the number of sources
being stored. The X display range is the X-axis duration of the waveform that is
displayed. For time domain waveforms, it is the duration of time across the display.
If the value is zero then no data has been acquired.
XDispOrg The number of X display origin columns (n) depends on the number of sources
being stored. The X display origin is the X-axis value at the left edge of the display.
For time domain waveforms, it is the time at the start of the display. This value is
treated as a double precision 64-bit floating point number. If the value is zero then
no data has been acquired.
XInc The number of X increment columns (n) depends on the number of sources being
store. The X increment is the duration between data points on the X axis. For time
domain waveforms, this is the time between points. If the value is zero then no
data has been acquired.
XOrg The number of X origin columns (n) depends on the number of sources being store.
The X origin is the X-axis value of the first data point in the data record. For time
domain waveforms, it is the time of the first point. This value is treated as a double
precision 64-bit floating point number. If the value is zero then no data has been
acquired.
XUnits The number of X units columns (n) depends on the number of sources being store.
The X units is the unit of measure for each time value of the acquired data.
1730 Keysight Infiniium Oscilloscopes Programmer's Guide
43 Reference
YDispRange The number of Y display range columns (n) depends on the number of sources
being store. The Y display range is the Y-axis duration of the waveform which is
displayed. For voltage waveforms, it is the amount of voltage across the display. If
the value is zero then no data has been acquired.
YDispOrg The number of Y display origin columns (n) depends on the number of sources
being store. The Y-display origin is the Y-axis value at the center of the display. For
voltage waveforms, it is the voltage at the center of the display. If the value is zero
then no data has been acquired.
YInc The number of Y increment columns (n) depends on the number of sources being
store. The Y increment is the duration between Y-axis levels. For voltage
waveforms, it is the voltage corresponding to one level. If the value is zero then no
data has been acquired.
YOrg The number of Y origin columns (n) depends on the number of sources being store.
The Y origin is the Y-axis value at level zero. For voltage waveforms, it is the
voltage at level zero. If the value is zero then no data has been acquired.
YUnits The number of Y units columns (n) depends on the number of sources being
stored. The Y units is the unit of measure of each voltage value of the acquired
waveform.
Frame A string containing the model number and serial number of the scope in the
format of MODEL#:SERIAL#.
Date The date when the waveform was acquired. The default value is 27 DEC 1996.
Time The time when the waveform was acquired. The default value is 01:00:00:00.
Max bandwidth An estimation of the maximum bandwidth of the waveform. The default value is 0.
Min bandwidth An estimation of the minimum bandwidth of the waveform. The default value is 0.
Time Tags The Time Tags only occur when the data was acquired using the Segmented
acquisition mode with time tags enabled and the file format is YValues. The
number of columns depends on the number of Segments being saved.
Data The data values follow this header entry.
Reference 43
Keysight Infiniium Oscilloscopes Programmer's Guide 1731
BIN Header Format
•"File Header" on page 1731
•"Waveform Header" on page 1731
•"Waveform Data Header" on page 1733
•"Example Program for Reading Binary Data" on page 1733
File Header
There is only one file header in a binary file. The file header consists of the
following information.
Cookie Two byte characters, AG, which indicates that the file is in the Keysight Binary
Data file format.
Version Two bytes which represent the file version.
File Size An integer (4 byte signed) which is the number of bytes that are in the file.
Number of
Waveforms
An integer (4 byte signed) which is the number of waveforms that are stored in the
file.
Waveform Header
The waveform header contains information about the type of waveform data that is
stored following the waveform data header which is located after each waveform
header. Because it is possible to store more than one waveform in the file, there
will be a waveform header and a waveform data header for each waveform.
Header Size An integer (4 byte signed) which is the number of bytes in the header.
Waveform Type An integer (4 byte signed) which is the type of waveform that is stored in the file.
The follow shows what each value means.
0 = Unknown
1 = Normal
2 = Peak Detect
3 = Average
4 = Horizontal Histogram
5 = Vertical Histogram
6 = Logic
Number of
Waveform Buffers
An integer (4 byte signed) which is the number of waveform buffers required to
read the data. This value is one except for peak detect data and digital data.
1732 Keysight Infiniium Oscilloscopes Programmer's Guide
43 Reference
Count An integer (4 byte signed) which is the number of hits at each time bucket in the
waveform record when the waveform was created using an acquisition mode like
averaging. For example, when averaging, a count of four would mean every
waveform data point in the waveform record has been averaged at least four
times. The default value is 0.
X Display Range A float (4 bytes) which is the X-axis duration of the waveform that is displayed. For
time domain waveforms, it is the duration of time across the display. If the value is
zero then no data has been acquired.
X Display Origin A double (8 bytes) which is the X-axis value at the left edge of the display. For time
domain waveforms, it is the time at the start of the display. This value is treated as
a double precision 64-bit floating point number. If the value is zero then no data
has been acquired.
X Increment A double (8 bytes) which is the duration between data points on the X axis. For
time domain waveforms, this is the time between points. If the value is zero then
no data has been acquired.
X Origin A double (8 bytes) which is the X-axis value of the first data point in the data
record. For time domain waveforms, it is the time of the first point. This value is
treated as a double precision 64-bit floating point number. If the value is zero then
no data has been acquired.
X Units An integer (4 byte signed) which is the number of X units columns (n) depends on
the number of sources being stored. The X units is the unit of measure for each
time value of the acquired data. X unit definitions are:
0 = Unknown
1 = Volt
2 = Second
3 = Constant
4 = Amp
5 = Decibel
Y Units An integer (4 byte signed) which is the number of Y units columns (n) depends on
the number of sources being stored. The Y units is the unit of measure of each
voltage value of the acquired waveform. Y units definitions are:
0 = Unknown
1 = Volt
2 = Second
3 = Constant
4 = Amp
5 = Decibel
Reference 43
Keysight Infiniium Oscilloscopes Programmer's Guide 1733
Date A 16 character array which is the date when the waveform was acquired. The
default value is 27 DEC 1996.
Time A 16 character array which is the time when the waveform was acquired. The
default value is 01:00:00:00.
Frame A 24 character array which is the model number and serial number of the scope in
the format of MODEL#:SERIAL#.
Waveform Label A 16 character array which is the waveform label.
Time Tags A double (8 bytes) which is the time tag value of the segment being saved.
Segment Index An unsigned integer (4 byte signed) which is the segment index of the data that
follows the waveform data header.
Waveform Data Header
The waveform data header consists of information about the waveform data points
that are stored immediately after the waveform data header.
Waveform Data
Header Size
An integer (4 byte signed) which is the size of the waveform data header.
Buffer Type A short (2 byte signed) which is the type of waveform data that is stored in the file.
The following shows what each value means.
0 = Unknown data
1 = Normal 32 bit float data
2 = Maximum float data
3 = Minimum float data
4 = Time float data
5 = Counts 32 bit float data
6 = Digital unsigned 8 bit char data
Bytes Per Point A short (2 byte signed) which is the number of bytes per data point.
Buffer Size An integer (4 byte signed) which is the size of the buffer required to hold the data
bytes.
Example Program for Reading Binary Data
The following is a programming example of reading a Binary Data (.bin) file and
converting it to a CSV (.csv) file without a file header.
/* bintoascii.c */
/* Reads the binary file format.
This program demonstrates how to import the Infiniium
1734 Keysight Infiniium Oscilloscopes Programmer's Guide
43 Reference
oscilloscope binary file format and how to export it to an
ascii comma separated file format.
*/
#pragma pack(4)
#include <stdio.h> /* location of: printf() */
#include <stdlib.h> /* location of: atof(), atoi() */
#include <string.h> /* location of: strlen() */
#include "sicl.h"
/* Defines */
#define MAX_LENGTH 10000000
#define INTERFACE "lan[130.29.70.247]:inst0" /* Change the IP address
* to the one found in
* the Remote Setup
* dialog box.
*/
#define TRUE 1
#define FALSE 0
#define IO_TIMEOUT 20000
/* Type definitions */
typedef unsigned _int64 UINT64; /* This defines a 64-bit unsigned
* integer for Microsoft platforms.
*/
/* Structure and Union definitions */
union DATATYPE
{
char buffer[MAX_LENGTH]; /* Buffer for reading word format data */
char byte[MAX_LENGTH];
unsigned short word[MAX_LENGTH/2];
UINT64 longlong[MAX_LENGTH/4];
};
typedef struct
{
char Cookie[2];
char Version[2];
int FileSize;
int NumberOfWaveforms;
} FileHeader;
const char COOKIE[2] = {'A', 'G'};
const char VERSION[2] = {'1', '0'};
#define DATE_TIME_STRING_LENGTH 16
#define FRAME_STRING_LENGTH 24
#define SIGNAL_STRING_LENGTH 16
typedef struct
{
int HeaderSize;
int WaveformType;
int NWaveformBuffers;
int Points;
Reference 43
Keysight Infiniium Oscilloscopes Programmer's Guide 1735
int Count;
float XDisplayRange;
double XDisplayOrigin;
double XIncrement;
double XOrigin;
int XUnits;
int YUnits;
char Date[DATE_TIME_STRING_LENGTH];
char Time[DATE_TIME_STRING_LENGTH];
char Frame[FRAME_STRING_LENGTH];
char WaveformLabel[SIGNAL_STRING_LENGTH];
double TimeTag;
unsigned int SegmentIndex;
} WaveformHeader;
typedef struct
{
int HeaderSize;
short BufferType;
short BytesPerPoint;
int BufferSize;
} WaveformDataHeader;
typedef enum
{
PB_UNKNOWN,
PB_NORMAL,
PB_PEAK_DETECT,
PB_AVERAGE,
PB_HORZ_HISTOGRAM,
PB_VERT_HISTOGRAM,
PB_LOGIC
} WaveformType;
typedef enum
{
PB_DATA_UNKNOWN,
PB_DATA_NORMAL,
PB_DATA_MAX,
PB_DATA_MIN,
PB_DATA_TIME,
PB_DATA_COUNTS,
PB_DATA_LOGIC
} DataType;
/* Prototypes */
void GetTimeConversionFactors( WaveformHeader waveformHeader,
double *xInc, double *xOrg );
void OutputNormalWaveform( WaveformHeader waveformHeader );
void OutputPeakDetectWaveform( WaveformHeader waveformHeader );
void OutputHistogramWaveform( WaveformHeader waveformHeader );
void OutputData( FILE *PeakFile,
WaveformDataHeader waveformDataHeader );
/* Globals */
double xOrg=0L, xInc=0L; /* Values necessary to create time data */
union DATATYPE WaveFormData; /* Used to input and output data */
1736 Keysight Infiniium Oscilloscopes Programmer's Guide
43 Reference
FILE *InputFile = NULL;
FILE *OutputFile;
errno_t err;
char *buffer;
float Volts[MAX_LENGTH];
float MaxVolts[MAX_LENGTH];
float MinVolts[MAX_LENGTH];
UINT64 HistogramData[MAX_LENGTH];
int main( int argc, char **argv )
{
FileHeader fileHeader;
WaveformHeader waveformHeader;
if( argc > 1 )
{
InputFile = fopen( argv[1], "rb" );
if( InputFile )
{
OutputFile = fopen( argv[2], "wb" );
if( OutputFile )
{
/* Read the File Header */
fread( &fileHeader, 1, sizeof( FileHeader ), InputFile );
/* Make sure that this is a Keysight Binary File */
if( (fileHeader.Cookie[0] == COOKIE[0]) &&
(fileHeader.Cookie[1] == COOKIE[1]) )
{
fread( &waveformHeader, 1,
sizeof( WaveformHeader ), InputFile );
switch( waveformHeader.WaveformType )
{
case PB_NORMAL:
case PB_AVERAGE:
OutputNormalWaveform( waveformHeader );
break;
case PB_PEAK_DETECT:
OutputPeakDetectWaveform( waveformHeader );
break;
case PB_HORZ_HISTOGRAM:
case PB_VERT_HISTOGRAM:
OutputHistogramWaveform( waveformHeader );
break;
default:
case PB_UNKNOWN:
printf( "Unknown waveform type: %d\n" );
break;
}
}
}
else
{
printf( "Unable to open output file %s\n", OutputFile);
Reference 43
Keysight Infiniium Oscilloscopes Programmer's Guide 1737
}
}
else
{
printf( "Unable to open input file %s\n", argv[1] );
}
fclose( InputFile );
fclose( OutputFile );
}
else
{
printf( "Usage: bintoascii inputfile outputfile\n" );
}
}
/*********************************************************************
* Function name: GetTimeConversionFactors
* Parameters: double xInc which is the time between consecutive
* sample points.
* double xOrg which is the time value of the first
* data point.
* Return value: none
* Description: This routine transfers the waveform conversion
* factors for the time values.
*********************************************************************/
void GetTimeConversionFactors( WaveformHeader waveformHeader,
double *xInc, double *xOrg )
{
/* Read values which are used to create time values */
*xInc = waveformHeader.XIncrement;
*xOrg = waveformHeader.XOrigin;
}
/*******************************************************************
* Function name: OutputNormalWaveform
* Parameters: WaveformHeader *waveformHeader which is a structure
* that contains the waveform header information.
* Return value: none
* Description: This routine stores the time and voltage information
* about the waveform as time and voltage separated by
* commas to a file.
********************************************************************/
void OutputNormalWaveform( WaveformHeader waveformHeader )
{
WaveformDataHeader waveformDataHeader;
int done = FALSE;
unsigned long i;
unsigned long j = 0;
size_t BytesRead = 0L;
double Time;
BytesRead = fread( &waveformDataHeader, 1,
1738 Keysight Infiniium Oscilloscopes Programmer's Guide
43 Reference
sizeof( WaveformDataHeader ), InputFile );
GetTimeConversionFactors( waveformHeader, &xInc, &xOrg );
while( !done )
{
BytesRead = fread( (char *) Volts, 1, MAX_LENGTH, InputFile );
for( i = 0; i < (BytesRead/waveformDataHeader.BytesPerPoint); i++)
{
Time = (j * xInc) + xOrg; /* calculate time */
j=j+1;
fprintf( OutputFile, "%e,%f\n", Time, Volts[i] );
}
if( BytesRead < MAX_LENGTH )
{
done = TRUE;
}
}
}
/*********************************************************************
* Function name: OutputHistogramWaveform
* Parameters: WaveformHeader *waveformHeader which is a structure
* that contains the waveform header information.
* Return value: none
* Description: This routine stores the time and hits information
* as time and hits separated by commas to a file.
**********************************************************************/
void OutputHistogramWaveform( WaveformHeader waveformHeader )
{
WaveformDataHeader waveformDataHeader;
int done = FALSE;
unsigned long i;
unsigned long j = 0;
size_t BytesRead = 0L;
fread( &waveformDataHeader, 1,
sizeof( WaveformDataHeader ), InputFile );
GetTimeConversionFactors( waveformHeader, &xInc, &xOrg );
while( !done )
{
BytesRead = fread( (char *) HistogramData, 1, MAX_LENGTH,
InputFile );
for( i = 0; i < (BytesRead/waveformDataHeader.BytesPerPoint); i++)
{
fprintf( OutputFile, "%d,%u64l\n", j, HistogramData[i] );
j=j+1;
}
if( BytesRead < MAX_LENGTH )
{
done = TRUE;
}
}
}
/*********************************************************************
* Function name: OutputData
* Parameters: FILE *PeakFile which is the pointer to the file
Reference 43
Keysight Infiniium Oscilloscopes Programmer's Guide 1739
* to be written.
* WaveformDataHeader waveformDataHeader
* which is a structure that contains the waveform
* header information.
* Return value: none
* Description: This routine stores the time, minimum voltage, and
* maximum voltage for the peak detect waveform as comma
* separated values to a file.
**********************************************************************/
void OutputData( FILE *PeakFile, WaveformDataHeader waveformDataHeader )
{
int done = FALSE;
size_t BytesRead = 0L;
int NumberToRead;
NumberToRead = waveformDataHeader.BufferSize;
while( !done )
{
BytesRead = fread( (char *) Volts, 1, NumberToRead, InputFile ) +
BytesRead;
fwrite( Volts, 1, BytesRead, PeakFile );
if( BytesRead <= NumberToRead )
{
done = TRUE;
}
}
}
/*********************************************************************
* Function name: OutputPeakDetectWaveform
* Parameters: WaveformHeader waveformHeader which is a
* structure that contains the waveform header
* information.
* Return value: none
* Description: This routine stores the time, minimum voltage, and
* maximum voltage for the peak detect waveform as comma
* separated values to a file.
**********************************************************************/
void OutputPeakDetectWaveform( WaveformHeader waveformHeader )
{
WaveformDataHeader waveformDataHeader;
int done = FALSE;
unsigned long i;
unsigned long j = 0;
size_t BytesRead = 0L;
double Time;
FILE *MaxFile;
FILE *MinFile;
fread( &waveformDataHeader, 1,
sizeof( WaveformDataHeader ), InputFile );
GetTimeConversionFactors( waveformHeader, &xInc, &xOrg );
MaxFile = fopen( "maxdata.bin", "wb" );
1740 Keysight Infiniium Oscilloscopes Programmer's Guide
43 Reference
MinFile = fopen( "mindata.bin", "wb" );
if( MaxFile && MinFile )
{
if( waveformDataHeader.BufferType == PB_DATA_MAX )
{
OutputData( MaxFile, waveformDataHeader );
OutputData( MinFile, waveformDataHeader );
}
else
{
OutputData( MinFile, waveformDataHeader );
OutputData( MaxFile, waveformDataHeader );
}
fclose( MaxFile );
fclose( MinFile );
MaxFile = fopen( "maxdata.bin", "rb" );
MinFile = fopen( "mindata.bin", "rb" );
while( !done )
{
BytesRead = fread( (char *) MaxVolts, 1, MAX_LENGTH, MaxFile );
fread( (char *) MinVolts, 1, MAX_LENGTH, MinFile );
for(i=0;i<BytesRead/4; i++)
{
Time = (j * xInc) + xOrg; /* calculate time */
j=j+1;
fprintf( OutputFile, "%9.5e,%f,%f\n", Time, MinVolts[i],
MaxVolts[i] );
}
if( BytesRead < MAX_LENGTH )
{
done = TRUE;
}
}
fclose( MaxFile );
fclose( MinFile );
}
}
Keysight Infiniium Oscilloscopes Programmer's Guide 1741
Index
Symbols
:ACQuire:AVERage command/query, 211
:ACQuire:AVERage:COUNt
command/query, 212
:ACQuire:BANDwidth,
command/query, 213
:ACQuire:BANDwidth:FRAMe? query, 215
:ACQuire:BANDwidth:TESTLIMITS?
query, 216
:ACQuire:COMPlete command/query, 217
:ACQuire:COMPlete:STATe
command/query, 219
:ACQuire:HRESolution
command/query, 220
:ACQuire:INTerpolate command/query, 222
:ACQuire:MODE command/query, 223
:ACQuire:POINts:ANALog
command/query, 225
:ACQuire:POINts:AUTO
command/query, 227
:ACQuire:POINts:DIGital? query, 228
:ACQuire:POINts:TESTLIMITS? query, 229
:ACQuire:REDGe command/query, 230
:ACQuire:RESPonse command/query, 231
:ACQuire:SEGMented:AUToplay
command/query, 232
:ACQuire:SEGMented:COUNt
command/query, 233
:ACQuire:SEGMented:INDex
command/query, 234
:ACQuire:SEGMented:PLAY
command/query, 235
:ACQuire:SEGMented:PRATe
command/query, 236
:ACQuire:SEGMented:TTAGs
command/query, 237
:ACQuire:SRATe:ANALog
command/query, 238
:ACQuire:SRATe:ANALog:AUTO
command/query, 239
:ACQuire:SRATe:DIGital
command/query, 240
:ACQuire:SRATe:DIGital:AUTO
command/query, 241
:ACQuire:SRATe:TESTLIMITS? query, 242
:ADER? query, 1017
:AER? query, 1018
:ANALyze:AEDGes command/query, 245
:ANALyze:CLOCk command/query, 246
:ANALyze:CLOCk:METHod
command/query, 247
:ANALyze:CLOCk:METHod:ALIGn
command/query, 250
:ANALyze:CLOCk:METHod:DEEMphasis
command/query, 252
:ANALyze:CLOCk:METHod:EDGE
command/query, 253
:ANALyze:CLOCk:METHod:IDLe
command/query, 255
:ANALyze:CLOCk:METHod:JTF
command/query, 256
:ANALyze:CLOCk:METHod:OJTF
command/query, 259
:ANALyze:CLOCk:METHod:PAM:B03
command/query, 1535
:ANALyze:CLOCk:METHod:PAM:B12
command/query, 1537
:ANALyze:CLOCk:METHod:PAM:NONSymmet
ric command/query, 1539
:ANALyze:CLOCk:METHod:PLLTrack
command/query, 262
:ANALyze:CLOCk:METHod:SKEW
command/query, 263
:ANALyze:CLOCk:METHod:SOURce
command/query, 264
:ANALyze:CLOCk:VERTical
command/query, 265
:ANALyze:CLOCk:VERTical:OFFSet
command/query, 266
:ANALyze:CLOCk:VERTical:RANGe
command/query, 267
:ANALyze:SIGNal:DATarate
command/query, 268
:ANALyze:SIGNal:MIXer:CABLeloss
command/query, 272
:ANALyze:SIGNal:MMWave:CALibrate
command, 273
:ANALyze:SIGNal:MMWave:CFRequency
command/query, 274
:ANALyze:SIGNal:MMWave:CONNect
command/query, 275
:ANALyze:SIGNal:MMWave:LOADdress
command/query, 276
:ANALyze:SIGNal:MMWave:MBANdwidth
command/query, 277
:ANALyze:SIGNal:PATTern:CLEar
command, 278
:ANALyze:SIGNal:PATTern:LOAD
command, 279
:ANALyze:SIGNal:PATTern:PLENgth
command/query, 280
:ANALyze:SIGNal:PATTern:SMAP
command/query, 281
:ANALyze:SIGNal:SYMBolrate
command/query, 270
:ANALyze:SIGNal:TYPE
command/query, 282
:ANALyze:VIEW command/query, 285
:ASTate? query, 1019
:ATER? query, 1020
:AUToscale command, 1021
:AUToscale:CHANnels command, 1022
:AUToscale:PLACement
command/query, 1023
:AUToscale:VERTical command, 1024
:BEEP command, 1025
:BLANk command, 1026
:BUS:B<N>:TYPE command/query, 288
:BUS<B>:BIT<M> command/query, 290
:BUS<B>:BITS command/query, 291
:BUS<B>:CLEar command/query, 292
:BUS<B>:CLOCk command/query, 293
:BUS<B>:CLOCk:SLOPe
command/query, 294
:BUS<B>:DISPlay command/query, 295
:BUS<B>:LABel command/query, 296
:BUS<B>:READout command/query, 297
:CALibrate:DATE? query, 301
:CALibrate:OUTPut command/query, 302
:CALibrate:OUTPut:AUX
command/query, 304
:CALibrate:OUTPut:AUX:RTIMe
command/query, 305
:CALibrate:OUTPut:CAL
command/query, 306
:CALibrate:SKEW command/query, 307
:CALibrate:STATus? query, 308
:CALibrate:TEMP? query, 309
:CDISplay command, 1027
:CHANnel<N>:BWLimit
command/query, 314
:CHANnel<N>:COMMonmode
command/query, 315
:CHANnel<N>:DIFFerential
command/query, 316
:CHANnel<N>:DIFFerential:SKEW
command/query, 317
:CHANnel<N>:DISPlay
command/query, 318
:CHANnel<N>:DISPlay:AUTO
command/query, 319
:CHANnel<N>:DISPlay:OFFSet
command/query, 321
:CHANnel<N>:DISPlay:RANGe
command/query, 323
1742 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
:CHANnel<N>:DISPlay:SCALe
command/query, 325
:CHANnel<N>:INPut command/query, 327
:CHANnel<N>:INVert command/query, 328
:CHANnel<N>:ISIM:APPLy
command/query, 329
:CHANnel<N>:ISIM:BANDwidth
command/query, 330
:CHANnel<N>:ISIM:BWLimit
command/query, 332
:CHANnel<N>:ISIM:BWLimit:TYPE
command/query, 334
:CHANnel<N>:ISIM:CONVolve
command/query, 335
:CHANnel<N>:ISIM:CORRection
command/query, 336
:CHANnel<N>:ISIM:DEConvolve
command/query, 338
:CHANnel<N>:ISIM:DELay
command/query, 339
:CHANnel<N>:ISIM:NORMalize
command/query, 340
:CHANnel<N>:ISIM:PEXTraction
command/query, 341
:CHANnel<N>:ISIM:SPAN
command/query, 343
:CHANnel<N>:ISIM:STATe
command/query, 344
:CHANnel<N>:LABel command/query, 345
:CHANnel<N>:OFFSet
command/query, 346
:CHANnel<N>:PROBe
command/query, 347
:CHANnel<N>:PROBe:ACCAL
command/query, 348
:CHANnel<N>:PROBe:ATTenuation
command/query, 349
:CHANnel<N>:PROBe:AUTozero
command/query, 350
:CHANnel<N>:PROBe:COUPling
command/query, 351
:CHANnel<N>:PROBe:EADapter
command/query, 352
:CHANnel<N>:PROBe:ECOupling
command/query, 355
:CHANnel<N>:PROBe:EXTernal
command/query, 356
:CHANnel<N>:PROBe:EXTernal:GAIN
command/query, 357
:CHANnel<N>:PROBe:EXTernal:OFFSet
command/query, 358
:CHANnel<N>:PROBe:EXTernal:UNITs
command/query, 359
:CHANnel<N>:PROBe:GAIN
command/query, 360
:CHANnel<N>:PROBe:HEAD:ADD
command, 361
:CHANnel<N>:PROBe:HEAD:DELete
command, 362
:CHANnel<N>:PROBe:HEAD:SELect
command/query, 363
:CHANnel<N>:PROBe:HEAD:VTERm
command/query, 364
:CHANnel<N>:PROBe:ID? query, 365
:CHANnel<N>:PROBe:INFO? query, 366
:CHANnel<N>:PROBe:MODE
command/query, 367
:CHANnel<N>:PROBe:PRECprobe:BANDwidt
h command, 368
:CHANnel<N>:PROBe:PRECprobe:CALibratio
n command, 369
:CHANnel<N>:PROBe:PRECprobe:DELay
command, 370
:CHANnel<N>:PROBe:PRECprobe:MODE
command, 371
:CHANnel<N>:PROBe:PRECprobe:ZSRC
command, 372
:CHANnel<N>:PROBe:PRIMary
command/query, 374
:CHANnel<N>:PROBe:SKEW
command/query, 375
:CHANnel<N>:PROBe:STYPe
command/query, 376
:CHANnel<N>:RANGe
command/query, 377
:CHANnel<N>:SCALe command/query, 378
:CHANnel<N>:SIMulation:AMPLitude
command/query, 379
:CHANnel<N>:SIMulation:DATA:LENGth
command/query, 380
:CHANnel<N>:SIMulation:DATA:ODD
command/query, 381
:CHANnel<N>:SIMulation:DATA:PAM
command/query, 382
:CHANnel<N>:SIMulation:DATA:RESeed
command/query, 383
:CHANnel<N>:SIMulation:DATA:SELection
command/query, 384
:CHANnel<N>:SIMulation:DRATe
command/query, 385
:CHANnel<N>:SIMulation:FILTer:ISIM:ADDR
ess command/query, 386
:CHANnel<N>:SIMulation:FILTer:ISIM:PEXTr
action command/query, 387
:CHANnel<N>:SIMulation:FILTer:SELection
command/query, 388
:CHANnel<N>:SIMulation:FLOad:ADDRess
command/query, 389
:CHANnel<N>:SIMulation:FLOad:LOOP
command/query, 390
:CHANnel<N>:SIMulation:FREQuency
command/query, 391
:CHANnel<N>:SIMulation:FUNCtion:SELecti
on command/query, 392
:CHANnel<N>:SIMulation:FUNCtion:SQUare:
DCYCle command/query, 393
:CHANnel<N>:SIMulation:FUNCtion:SQUare:
FTIMe command/query, 394
:CHANnel<N>:SIMulation:FUNCtion:SQUare:
RTIMe command/query, 395
:CHANnel<N>:SIMulation:JITTer
command/query, 396
:CHANnel<N>:SIMulation:JITTer:ABUJ
command/query, 397
:CHANnel<N>:SIMulation:JITTer:PERiodic<
M>:ENABle command/query, 398
:CHANnel<N>:SIMulation:JITTer:PERiodic<
M>:FREQuency command/query, 399
:CHANnel<N>:SIMulation:JITTer:PERiodic<
M>:MAGNitude command/query, 400
:CHANnel<N>:SIMulation:JITTer:PERiodic<
M>:SHAPe command/query, 401
:CHANnel<N>:SIMulation:JITTer:RANDom
command/query, 402
:CHANnel<N>:SIMulation:NOISe
command/query, 403
:CHANnel<N>:SIMulation:NOISe:BWLimit
command/query, 404
:CHANnel<N>:SIMulation:NOISe:PERiodic<
M>:ENABle command/query, 405
:CHANnel<N>:SIMulation:NOISe:PERiodic<
M>:FREQuency command/query, 406
:CHANnel<N>:SIMulation:NOISe:PERiodic<
M>:MAGNitude command/query, 407
:CHANnel<N>:SIMulation:NOISe:PERiodic<
M>:SHAPe command/query, 408
:CHANnel<N>:SIMulation:NOISe:RANDom
command/query, 409
:CHANnel<N>:SIMulation:OFFSet
command/query, 410
:CHANnel<N>:SIMulation:WAVeform
command/query, 411
:CHANnel<N>:UNITs command/query, 412
:DIGital<N>:DISPlay command/query, 438
:DIGital<N>:LABel command/query, 439
:DIGital<N>:SIZE command/query, 440
:DIGital<N>:THReshold
command/query, 441
:DIGitize command, 1028
:DISable DIGital command, 1030
:DISK:CDIRectory command, 444
:DISK:COPY command, 445
:DISK:DELete command, 446
:DISK:DIRectory? query, 447
:DISK:LOAD command, 448
:DISK:MDIRectory command, 449
:DISK:PWD? query, 450
:DISK:SAVE:COMPosite command, 451
:DISK:SAVE:IMAGe command, 452
:DISK:SAVE:JITTer command, 453
:DISK:SAVE:LISTing command, 454
:DISK:SAVE:MEASurements command, 455
:DISK:SAVE:PRECprobe command, 456
:DISK:SAVE:SETup command, 457
:DISK:SAVE:WAVeform command, 458
:DISK:SEGMented command/query, 460
:DISK:STORe command, 1534
:DISPlay: ROW command query, 1543
:DISPlay:BOOKmark<N>:DELete
command, 463
:DISPlay:BOOKmark<N>:SET
command, 464
:DISPlay:BOOKmark<N>:VERTical?
query, 466
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1743
:DISPlay:BOOKmark<N>:XPOSition
command/query, 467
:DISPlay:BOOKmark<N>:YPOSition
command/query, 468
:DISPlay:CGRade command/query, 469
:DISPlay:CGRade:LEVels? query, 471
:DISPlay:CGRade:SCHeme
command/query, 473
:DISPlay:COLumn command/query, 1541
:DISPlay:CONNect command/query, 475
:DISPlay:DATA? query, 476
:DISPlay:GRATicule command/query, 477
:DISPlay:GRATicule:AREA<N>:STATe
command/query, 478
:DISPlay:GRATicule:INTensity
command/query, 479
:DISPlay:GRATicule:NUMBer
command/query, 480
:DISPlay:GRATicule:SETGrat
command, 481
:DISPlay:GRATicule:SIZE command, 76,
1534
:DISPlay:ISIM:GCOunt
command/query, 482
:DISPlay:ISIM:SELectgraph command, 483
:DISPlay:ISIM:SOURce command, 484
:DISPlay:JITTer:GCOunt
command/query, 485
:DISPlay:JITTer:SELectgraph
command, 486
:DISPlay:JITTer:THReshold command, 488
:DISPlay:LABel command/query, 489
:DISPlay:LAYout command/query, 490
:DISPlay:LINE command, 1542
:DISPlay:MAIN command/query, 491
:DISPlay:NOISe:LEVel command, 492
:DISPlay:PERSistence
command/query, 493
:DISPlay:PRECprobe:GCOunt
command/query, 497
:DISPlay:PRECprobe:SELectgraph
command, 498
:DISPlay:PRECprobe:SOURce
command, 499
:DISPlay:PROPortion command/query, 495
:DISPlay:PROPortion:RESults
command/query, 496
:DISPlay:SCOLor command/query, 500
:DISPlay:STATus:COL command query, 502
:DISPlay:STATus:ROW command
query, 503
:DISPlay:STRing command, 1544
:DISPlay:TAB command/query, 1545
:DISPlay:TEXT command, 1546
:DISPlay:WINDow:MAXimize
command, 504
:ENABle DIGital command, 1031
:FUNCtion<F>:ABSolute command, 509
:FUNCtion<F>:ADD command, 510
:FUNCtion<F>:ADEMod command, 511
:FUNCtion<F>:AVERage command, 512
:FUNCtion<F>:COMMonmode
command, 513
:FUNCtion<F>:DELay command, 514
:FUNCtion<F>:DIFF command, 515
:FUNCtion<F>:DISPlay
command/query, 516
:FUNCtion<F>:DIVide command, 517
:FUNCtion<F>:FFT:DETector:POINts
command/query, 518
:FUNCtion<F>:FFT:DETector:TYPE
command/query, 519
:FUNCtion<F>:FFT:FREQuency
command/query, 520
:FUNCtion<F>:FFT:REFerence
command/query, 521
:FUNCtion<F>:FFT:RESolution
command/query, 522
:FUNCtion<F>:FFT:SPAN
command/query, 524
:FUNCtion<F>:FFT:STOP
command/query, 525
:FUNCtion<F>:FFT:TDELay
command/query, 526
:FUNCtion<F>:FFT:VUNits
command/query, 527
:FUNCtion<F>:FFT:WINDow
command/query, 528
:FUNCtion<F>:FFTMagnitude
command, 530
:FUNCtion<F>:FFTPhase command, 531
:FUNCtion<F>:GATing command, 532
:FUNCtion<F>:GATing:STARt
command, 533
:FUNCtion<F>:GATing:STOP command, 534
:FUNCtion<F>:HIGHpass command, 535
:FUNCtion<F>:HORizontal
command/query, 536
:FUNCtion<F>:HORizontal:POSition
command/query, 537
:FUNCtion<F>:HORizontal:RANGe
command/query, 539
:FUNCtion<F>:INTegrate command, 541
:FUNCtion<F>:INVert command, 542
:FUNCtion<F>:LOWPass command, 543
:FUNCtion<F>:MAGNify command, 544
:FUNCtion<F>:MATLab command, 545
:FUNCtion<F>:MATLab:CONTrol<N>
command/query, 546
:FUNCtion<F>:MATLab:OPERator
command/query, 547
:FUNCtion<F>:MAXimum command, 548
:FUNCtion<F>:MHIStogram command, 549
:FUNCtion<F>:MINimum command, 550
:FUNCtion<F>:MLOG command/query, 551
:FUNCtion<F>:MTRend command, 552
:FUNCtion<F>:MULTiply command, 553
:FUNCtion<F>:OFFSet
command/query, 554
:FUNCtion<F>:RANGe
command/query, 555
:FUNCtion<F>:SMOoth command, 556
:FUNCtion<F>:SQRT command, 557
:FUNCtion<F>:SQUare command, 558
:FUNCtion<F>:SUBTract command, 559
:FUNCtion<F>:VERSus command, 560
:FUNCtion<F>:VERTical
command/query, 561
:FUNCtion<F>:VERTical:OFFSet
command/query, 562
:FUNCtion<F>:VERTical:RANGe
command/query, 563
:FUNCtion<F>? query, 508
:HARDcopy:AREA command/query, 566
:HARDcopy:DPRinter command/query, 567
:HARDcopy:FACTors command/query, 568
:HARDcopy:IMAGe command/query, 569
:HARDcopy:PRINters? query, 570
:HISTogram:AXIS command/query, 573
:HISTogram:HORizontal:BINS
command/query, 574
:HISTogram:MEASurement:BINS
command/query, 575
:HISTogram:MODE command/query, 576
:HISTogram:SCALe:SIZE
command/query, 577
:HISTogram:VERTical:BINS
command/query, 578
:HISTogram:WINDow:BLIMit
command/query, 583
:HISTogram:WINDow:DEFault
command, 579
:HISTogram:WINDow:LLIMit
command/query, 581
:HISTogram:WINDow:RLIMit
command/query, 582
:HISTogram:WINDow:SOURce
command/query, 580
:HISTogram:WINDow:TLIMit
command/query, 584
:HOSTed:CALibrate:ALIGn
command/query, 1547
:HOSTed:CALibrate:CALibrate
command, 587
:HOSTed:CALibrate:CHANnel
command/query, 588
:HOSTed:CALibrate:DESKew:CHANnels
command, 589
:HOSTed:CALibrate:DESKew:FRAMes
command, 590
:HOSTed:CALibrate:DESKew:SIGNals
command, 591
:HOSTed:CALibrate:DESKew:ZERO
command, 592
:HOSTed:CALibrate:LEVel
command/query, 593
:HOSTed:CALibrate:PROMpt
command/query, 595
:HOSTed:CALibrate:STATus:CHANnels?
query, 596
:HOSTed:CALibrate:STATus:FRAMes?
query, 597
:HOSTed:CALibrate:STATus:LEVel?
query, 598
1744 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
:HOSTed:CALibrate:STATus:SIGNals?
query, 599
:HOSTed:CALibrate:TREF:DETect
command, 600
:HOSTed:FOLLower<N>:ACHannels?
query, 601
:HOSTed:FOLLower<N>:CONFigure
command, 602
:HOSTed:FOLLower<N>:CONNect
command, 603
:HOSTed:FOLLower<N>:DISConnect
command, 604
:HOSTed:LEADer:ACHannels? query, 605
:HOSTed:LEADer:CONFigure
command, 606
:HOSTed:LEADer:CONNect command, 607
:HOSTed:LEADer:DISConnect
command, 608
:HOSTed:NCONnected? query, 609
:HOSTed:PERiodic command/query, 610
:ISCan:DELay command/query, 612
:ISCan:MEASurement
command/query, 615
:ISCan:MEASurement:FAIL
command/query, 613
:ISCan:MEASurement:LLIMit
command/query, 614
:ISCan:MEASurement:ULIMit
command/query, 616
:ISCan:MODE command/query, 617
:ISCan:NONMonotonic:EDGE
command/query, 618
:ISCan:NONMonotonic:HYSTeresis
command/query, 619
:ISCan:NONMonotonic:SOURce
command/query, 620
:ISCan:RUNT:HYSTeresis
command/query, 621
:ISCan:RUNT:LLEVel command/query, 622
:ISCan:RUNT:SOURce
command/query, 623
:ISCan:RUNT:ULEVel command/query, 624
:ISCan:SERial:PATTern
command/query, 625
:ISCan:SERial:SOURce
command/query, 626
:ISCan:ZONE:HIDE command/query, 627
:ISCan:ZONE:SOURce
command/query, 628
:ISCan:ZONE<Z>:MODE
command/query, 629
:ISCan:ZONE<Z>:PLACement
command/query, 630
:ISCan:ZONE<Z>:SOURce
command/query, 631
:ISCan:ZONE<Z>:STATe
command/query, 632
:LISTer:DATA? query, 644
:LISTer:DISPlay command/query, 645
:LTESt:ADDStats command/query, 634
:LTESt:FAIL command/query, 635
:LTESt:LLIMit command/query, 637
:LTESt:MEASurement command/query, 638
:LTESt:RESults? query, 639
:LTESt:RUMode:SOFailure
command/query, 640
:LTESt:TEST command/query, 641
:LTESt:ULIMit command/query, 642
:MARKer:CURSor? query, 648
:MARKer:DELTa command/query, 649
:MARKer:MEASurement:MEASurement
command, 650
:MARKer:MODE command/query, 651
:MARKer:TSTArt command/query, 652
:MARKer:TSTOp command/query, 653
:MARKer:VSTArt command/query, 654
:MARKer:VSTOp command/query, 655
:MARKer:X1Position command/query, 656
:MARKer:X1Y1source command/query, 658
:MARKer:X2Position command/query, 657
:MARKer:X2Y2source command/query, 660
:MARKer:XDELta? query, 662
:MARKer:Y1Position command/query, 663
:MARKer:Y2Position command/query, 664
:MARKer:YDELta? query, 665
:MEASure:AREA command/query, 745
:MEASure:BER command/query, 747
:MEASure:BERPeracq
command/query, 748
:MEASure:BINTerval command/query, 749
:MEASure:BPERiod command/query, 750
:MEASure:BWIDth command/query, 751
:MEASure:CDRRate command, 752
:MEASure:CGRade:CROSsing
command/query, 753
:MEASure:CGRade:DCDistortion
command/query, 754
:MEASure:CGRade:EHEight
command/query, 755
:MEASure:CGRade:EWIDth
command/query, 757
:MEASure:CGRade:EWINdow
command/query, 759
:MEASure:CGRade:JITTer
command/query, 761
:MEASure:CGRade:OLEVel
command/query, 762
:MEASure:CGRade:QFACtor
command/query, 763
:MEASure:CGRade:ZLEVel
command/query, 764
:MEASure:CHARge command/query, 765
:MEASure:CLEar command, 766
:MEASure:CLOCk command/query, 1548
:MEASure:CLOCk:METHod
command/query, 1549, 1551
:MEASure:CLOCk:METHod:ALIGn
command/query, 1553
:MEASure:CLOCk:METHod:DEEMphasis
command/query, 1555
:MEASure:CLOCk:METHod:EDGE
command/query, 1556
:MEASure:CLOCk:METHod:JTF
command/query, 1558
:MEASure:CLOCk:METHod:OJTF
command/query, 1560
:MEASure:CLOCk:METHod:PLLTrack
command/query, 1562
:MEASure:CLOCk:METHod:SOURce
command/query, 1563
:MEASure:CLOCk:VERTical
command/query, 1564
:MEASure:CLOCk:VERTical:OFFSet
command/query, 1565
:MEASure:CLOCk:VERTical:RANGe
command/query, 1566
:MEASure:CROSsing command/query, 767
:MEASure:CTCDutycycle
command/query, 768
:MEASure:CTCJitter command/query, 770
:MEASure:CTCNwidth
command/query, 772
:MEASure:CTCPwidth
command/query, 774
:MEASure:DATarate command/query, 776
:MEASure:DDPWS command/query, 80,
1567
:MEASure:DEEMphasis
command/query, 778
:MEASure:DELTatime command/query, 780
:MEASure:DELTatime:DEFine
command/query, 782
:MEASure:DUTYcycle command/query, 784
:MEASure:EDGE command/query, 785
:MEASure:ERATio command/query, 786
:MEASure:ETOedge command, 787
:MEASure:FALLtime command/query, 789
:MEASure:FFT:CPOWer
command/query, 791
:MEASure:FFT:DFRequency
command/query, 792
:MEASure:FFT:DMAGnitude
command/query, 794
:MEASure:FFT:FREQuency
command/query, 796
:MEASure:FFT:MAGNitude
command/query, 798
:MEASure:FFT:OBW command/query, 800
:MEASure:FFT:PEAK1
command/query, 1569
:MEASure:FFT:PEAK2
command/query, 1570
:MEASure:FFT:PSD command/query, 801
:MEASure:FFT:THReshold
command/query, 1571
:MEASure:FREQuency
command/query, 802
:MEASure:HISTogram:FWHM
command/query, 804
:MEASure:HISTogram:HITS
command/query, 805
:MEASure:HISTogram:M1S
command/query, 806
:MEASure:HISTogram:M2S
command/query, 807
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1745
:MEASure:HISTogram:M3S
command/query, 808
:MEASure:HISTogram:MAX
command/query, 809
:MEASure:HISTogram:MEAN
command/query, 810
:MEASure:HISTogram:MEDian
command/query, 811
:MEASure:HISTogram:MIN
command/query, 812
:MEASure:HISTogram:MODE
command/query, 813
:MEASure:HISTogram:PEAK
command/query, 814
:MEASure:HISTogram:PP
command/query, 815
:MEASure:HISTogram:RESolution
command/query, 816
:MEASure:HISTogram:STDDev
command/query, 817
:MEASure:HOLDtime command/query, 818
:MEASure:JITTer:HISTogram
command/query, 820
:MEASure:JITTer:MEASurement
command/query, 821
:MEASure:JITTer:SPECtrum
command/query, 822
:MEASure:JITTer:SPECtrum:HORizontal
command/query, 823
:MEASure:JITTer:SPECtrum:HORizontal:POS
ition command/query, 824
:MEASure:JITTer:SPECtrum:HORizontal:RAN
Ge command/query, 825
:MEASure:JITTer:SPECtrum:RESolution?
query, 826
:MEASure:JITTer:SPECtrum:VERTical
command/query, 827
:MEASure:JITTer:SPECtrum:VERTical:OFFSe
t command/query, 828
:MEASure:JITTer:SPECtrum:VERTical:RANGe
command/query, 829
:MEASure:JITTer:SPECtrum:VERTical:TYPE
command/query, 830
:MEASure:JITTer:SPECtrum:WINDow
command/query, 831
:MEASure:JITTer:STATistics
command/query, 1572
:MEASure:JITTer:TRENd
command/query, 832
:MEASure:JITTer:TRENd:SMOoth
command/query, 833
:MEASure:JITTer:TRENd:SMOoth:POINts
command/query, 834
:MEASure:JITTer:TRENd:VERTical
command/query, 835
:MEASure:JITTer:TRENd:VERTical:OFFSet
command/query, 836
:MEASure:JITTer:TRENd:VERTical:RANGe
command/query, 837
:MEASure:NAME command/query, 838
:MEASure:NCJitter command/query, 839
:MEASure:NOISe command/query, 841
:MEASure:NOISe:ALL? query, 843
:MEASure:NOISe:BANDwidth
command/query, 845
:MEASure:NOISe:LOCation
command/query, 846
:MEASure:NOISe:METHod
command/query, 847
:MEASure:NOISe:REPort
command/query, 848
:MEASure:NOISe:RN command/query, 849
:MEASure:NOISe:SCOPe:RN
command/query, 850
:MEASure:NOISe:STATe
command/query, 851
:MEASure:NOISe:UNITs
command/query, 852
:MEASure:NPERiod command/query, 853
:MEASure:NPULses command/query, 854
:MEASure:NUI command/query, 855
:MEASure:NWIDth command/query, 856
:MEASure:OMAMplitude
command/query, 857
:MEASure:OPOWer command/query, 858
:MEASure:OVERshoot
command/query, 859
:MEASure:PAM:ELEVel
command/query, 861
:MEASure:PAM:EOJ command/query, 863
:MEASure:PAM:ESKew
command/query, 864
:MEASure:PAM:EYE:ELMethod
command/query, 866
:MEASure:PAM:EYE:ESTiming
command/query, 867
:MEASure:PAM:EYE:PPERcent
command/query, 868
:MEASure:PAM:EYE:TIME:LTDefinition
command/query, 869
:MEASure:PAM:J4U command/query, 870
:MEASure:PAM:JRMS
command/query, 871
:MEASure:PAM:LEVel command/query, 872
:MEASure:PAM:LRMS
command/query, 874
:MEASure:PAM:LTHickness
command/query, 876
:MEASure:PAMPlitude
command/query, 878
:MEASure:PBASe command/query, 879
:MEASure:PERiod command/query, 880
:MEASure:PHASe command/query, 882
:MEASure:PPContrast
command/query, 884
:MEASure:PPULses command/query, 885
:MEASure:PREShoot command/query, 886
:MEASure:PTOP command/query, 888
:MEASure:PWIDth command/query, 889
:MEASure:QUALifier<M>:CONDition
command/query, 890
:MEASure:QUALifier<M>:SOURce
command/query, 891
:MEASure:QUALifier<M>:STATe
command/query, 892
:MEASure:RESults? query, 893
:MEASure:RISetime command/query, 896
:MEASure:RJDJ:ALL? query, 898
:MEASure:RJDJ:APLength? query, 900
:MEASure:RJDJ:BANDwidth
command/query, 901
:MEASure:RJDJ:BER command/query, 902
:MEASure:RJDJ:CLOCk
command/query, 904
:MEASure:RJDJ:EDGE
command/query, 905
:MEASure:RJDJ:INTerpolate
command/query, 906
:MEASure:RJDJ:METHod
command/query, 907
:MEASure:RJDJ:MODe
command/query, 908
:MEASure:RJDJ:PAMThreshold
command/query, 909
:MEASure:RJDJ:PLENgth
command/query, 910
:MEASure:RJDJ:REPort
command/query, 911
:MEASure:RJDJ:RJ command/query, 912
:MEASure:RJDJ:SCOPe:RJ
command/query, 913
:MEASure:RJDJ:SOURce
command/query, 914
:MEASure:RJDJ:STATe
command/query, 915
:MEASure:RJDJ:TJRJDJ? query, 916
:MEASure:RJDJ:UNITs
command/query, 918
:MEASure:SCRatch command, 919
:MEASure:SENDvalid command/query, 920
:MEASure:SER command/query, 921
:MEASure:SERPeracq
command/query, 922
:MEASure:SETuptime command/query, 923
:MEASure:SLEWrate command/query, 925
:MEASure:SOURce command/query, 927
:MEASure:STATistics command/query, 928
:MEASure:TEDGe command/query, 929
:MEASure:THResholds:ABSolute
command/query, 930
:MEASure:THResholds:DISPlay
command/query, 931
:MEASure:THResholds:GENauto
command, 932
:MEASure:THResholds:GENeral:ABSolute
command/query, 933
:MEASure:THResholds:GENeral:HYSTeresis
command/query, 935
:MEASure:THResholds:GENeral:METHod
command/query, 937
:MEASure:THResholds:GENeral:PAMAutoma
tic command/query, 941
:MEASure:THResholds:GENeral:PAMCustom
command/query, 939
1746 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
:MEASure:THResholds:GENeral:PERCent
command/query, 943
:MEASure:THResholds:GENeral:TOPBase:AB
Solute command/query, 945
:MEASure:THResholds:GENeral:TOPBase:ME
THod command/query, 947
:MEASure:THResholds:HYSTeresis
command/query, 948
:MEASure:THResholds:METHod
command/query, 950
:MEASure:THResholds:PERCent
command/query, 951
:MEASure:THResholds:RFALl:ABSolute
command/query, 952
:MEASure:THResholds:RFALl:HYSTeresis
command, 52
:MEASure:THResholds:RFALl:METHod
command/query, 954
:MEASure:THResholds:RFALl:PAMAutomatic
command/query, 956
:MEASure:THResholds:RFALl:PERCent
command/query, 958
:MEASure:THResholds:RFALl:TOPBase:ABSo
lute command/query, 960
:MEASure:THResholds:RFALl:TOPBase:MET
Hod command/query, 962
:MEASure:THResholds:SERial:ABSolute
command/query, 963
:MEASure:THResholds:SERial:HYSTeresis
command/query, 965
:MEASure:THResholds:SERial:METHod
command/query, 967
:MEASure:THResholds:SERial:PERCent
command/query, 968
:MEASure:THResholds:SERial:TOPBase:ABS
olute command/query, 970
:MEASure:THResholds:SERial:TOPBase:MET
Hod command/query, 972
:MEASure:THResholds:TOPBase:ABSolute
command/query, 973
:MEASure:THResholds:TOPBase:METHod
command/query, 974
:MEASure:TIEClock2 command/query, 975
:MEASure:TIEData command/query, 1573
:MEASure:TIEData2 command/query, 977
:MEASure:TIEFilter:SHAPe
command/query, 979
:MEASure:TIEFilter:STARt
command/query, 980
:MEASure:TIEFilter:STATe
command/query, 981
:MEASure:TIEFilter:STOP
command/query, 982
:MEASure:TIEFilter:TYPE
command/query, 983
:MEASure:TMAX command/query, 984
:MEASure:TMIN command/query, 985
:MEASure:TVOLt command/query, 986
:MEASure:UITouijitter
command/query, 988
:MEASure:UNITinterval
command/query, 989
:MEASure:VAMPlitude
command/query, 991
:MEASure:VAVerage command/query, 992
:MEASure:VBASe command/query, 993
:MEASure:VLOWer command/query, 994
:MEASure:VMAX command/query, 995
:MEASure:VMIDdle command/query, 996
:MEASure:VMIN command/query, 997
:MEASure:VOVershoot
command/query, 998
:MEASure:VPP command/query, 999
:MEASure:VPReshoot
command/query, 1000
:MEASure:VRMS command/query, 1001
:MEASure:VTIMe command/query, 1003
:MEASure:VTOP command/query, 1004
:MEASure:VUPPer command/query, 1005
:MEASure:WINDow command/query, 1006
:MEASurement<N>:NAME
command/query, 1007
:MEASurement<N>:SOURce
command/query, 1008
:MODel? query, 1032
:MTEEnable command/query, 1033
:MTERegister? query, 1034
:MTESt:ALIGn command, 669
:MTESt:AlignFIT command/query, 670
:MTESt:AMASk:CREate command, 672
:MTESt:AMASk:SAVE command, 675
:MTESt:AMASk:SOURce
command/query, 673
:MTESt:AMASk:UNITs
command/query, 676
:MTESt:AMASk:XDELta
command/query, 677
:MTESt:AMASk:YDELta
command/query, 678
:MTESt:AUTO command/query, 679
:MTESt:AVERage command/query, 680
:MTESt:AVERage:COUNt
command/query, 681
:MTESt:COUNt:FAILures? query, 682
:MTESt:COUNt:FUI? query, 683
:MTESt:COUNt:FWAVeforms? query, 684
:MTESt:COUNt:MARGin:FAILures?
query, 685
:MTESt:COUNt:SUI? query, 686
:MTESt:COUNt:UI? query, 687
:MTESt:COUNt:WAVeforms? query, 688
:MTESt:DELete command, 689
:MTESt:ENABle command/query, 690
:MTESt:FOLDing command/query, 691
:MTESt:FOLDing:BITS
command/query, 693
:MTESt:FOLDing:COUNt query, 1575
:MTESt:FOLDing:COUNt:UI query, 695
:MTESt:FOLDing:COUNt:WAVeforms
query, 697
:MTESt:FOLDing:FAST
command/query, 699
:MTESt:FOLDing:POSition
command/query, 701
:MTESt:FOLDing:SCALe
command/query, 703
:MTESt:FOLDing:TPOSition
command/query, 705
:MTESt:FOLDing:TSCale
command/query, 707
:MTESt:HAMPlitude command/query, 709
:MTESt:IMPedance command/query, 710
:MTESt:INVert command/query, 711
:MTESt:LAMPlitude command/query, 712
:MTESt:LOAD command, 713
:MTESt:MARGin:AUTO:HITS
command/query, 714
:MTESt:MARGin:AUTO:HRATio
command/query, 715
:MTESt:MARGin:AUTO:METHod
command/query, 716
:MTESt:MARGin:METHod
command/query, 717
:MTESt:MARGin:PERCent
command/query, 718
:MTESt:MARGin:STATe
command/query, 719
:MTESt:NREGions? query, 720
:MTESt:PROBe:IMPedance? query, 721
:MTESt:RUMode command/query, 722
:MTESt:RUMode:SOFailure
command/query, 723
:MTESt:SCALe:BIND command/query, 724
:MTESt:SCALe:X1 command/query, 725
:MTESt:SCALe:XDELta
command/query, 726
:MTESt:SCALe:Y1 command/query, 727
:MTESt:SCALe:Y2 command/query, 728
:MTESt:SOURce command/query, 729
:MTESt:STARt command, 730
:MTESt:STIMe command/query, 732
:MTESt:STOP command, 731
:MTESt:TITLe? query, 733
:MTESt:TRIGger:SOURce
command/query, 734
:OPEEnable command/query, 1035
:OPERegister? query, 1036
:OVLRegister? query, 1037
:PDER? query, 1038
:POD<N>:DISPlay command/query, 1010
:POD<N>:PSKew command/query, 1011
:POD<N>:THReshold
command/query, 1012
:PRINt command, 1039
:RECall:SETup command, 1040
:RSTate? query, 1041
:RUN command, 1042
:SBUS<N>:CAN:FDSPoint
command/query, 1058
:SBUS<N>:CAN:SAMPlepoint
command/query, 1059
:SBUS<N>:CAN:SIGNal:BAUDrate
command/query, 1060
:SBUS<N>:CAN:SIGNal:DEFinition
command/query, 1061
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1747
:SBUS<N>:CAN:SIGNal:FDBaudrate
command/query, 1062
:SBUS<N>:CAN:SOURce
command/query, 1063
:SBUS<N>:CAN:TRIGger
command/query, 1064
:SBUS<N>:CAN:TRIGger:PATTern:DATA
command/query, 1067
:SBUS<N>:CAN:TRIGger:PATTern:DATA:LEN
Gth command/query, 1068
:SBUS<N>:CAN:TRIGger:PATTern:ID
command/query, 1070
:SBUS<N>:CAN:TRIGger:PATTern:ID:MODE
command/query, 1071
:SBUS<N>:CAN:TYPE
command/query, 1072
:SBUS<N>:FLEXray:BAUDrate
command/query, 1074
:SBUS<N>:FLEXray:CHANnel
command/query, 1075
:SBUS<N>:FLEXray:SOURce
command/query, 1076
:SBUS<N>:FLEXray:TRIGger
command/query, 1077
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE
command/query, 1078
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCBase
command/query, 1079
:SBUS<N>:FLEXray:TRIGger:FRAMe:CCRepe
tition command/query, 1080
:SBUS<N>:FLEXray:TRIGger:FRAMe:ID
command/query, 1081
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYPE
command/query, 1082
:SBUS<N>:GENRaw:SOURce
command/query, 1084
:SBUS<N>:GENRaw:WSIZe
command/query, 1085
:SBUS<N>:HS:DESCramble
command/query, 1087
:SBUS<N>:HS:FORMat
command/query, 1088
:SBUS<N>:HS:IDLE command/query, 1089
:SBUS<N>:HS:SOURce<S>
command/query, 1090
:SBUS<N>:IIC:ASIZe
command/query, 1092
:SBUS<N>:IIC:SOURce:CLOCk
command/query, 1093
:SBUS<N>:IIC:SOURce:DATA
command/query, 1094
:SBUS<N>:IIC:TRIGger:PATTern:ADDRess
command/query, 1095, 1097
:SBUS<N>:IIC:TRIGger:TYPE
command, 1098
:SBUS<N>:LIN:SAMPlepoint
command/query, 1101
:SBUS<N>:LIN:SIGNal:BAUDrate
command/query, 1102
:SBUS<N>:LIN:SOURce
command/query, 1103
:SBUS<N>:LIN:STANdard
command/query, 1104
:SBUS<N>:LIN:TRIGger
command/query, 1105
:SBUS<N>:LIN:TRIGger:ID
command/query, 1106
:SBUS<N>:LIN:TRIGger:PATTern:DATA
command/query, 1107
:SBUS<N>:LIN:TRIGger:PATTern:DATA:LENG
th command/query, 1108
:SBUS<N>:SPI:BITorder
command/query, 1110
:SBUS<N>:SPI:CLOCk:SLOPe
command/query, 1111
:SBUS<N>:SPI:CLOCk:TIMeout
command/query, 1112
:SBUS<N>:SPI:FRAMe:STATe
command/query, 1113
:SBUS<N>:SPI:SOURce:CLOCk
command/query, 1114
:SBUS<N>:SPI:SOURce:DATA
command/query, 1116
:SBUS<N>:SPI:SOURce:FRAMe
command/query, 1118
:SBUS<N>:SPI:SOURce:MISO
command/query, 1119
:SBUS<N>:SPI:SOURce:MOSI
command/query, 1120
:SBUS<N>:SPI:TRIGger:PATTern:DATA
command/query, 1122
:SBUS<N>:SPI:TRIGger:PATTern:WIDTh
command/query, 1124
:SBUS<N>:SPI:TRIGger:TYPE
command/query, 1126
:SBUS<N>:SPI:TYPE
command/query, 1128
:SBUS<N>:SPI:WIDTh
command/query, 1129
:SELFtest:CANCel command, 1132
:SELFtest:SCOPETEST
command/query, 1133
:SERial command/query, 1043
:SINGle command, 1044
:SPRocessing:CTLequalizer:ACGain
command/query, 1137
:SPRocessing:CTLequalizer:DCGain
command/query, 1138
:SPRocessing:CTLequalizer:DISPlay
command/query, 1139
:SPRocessing:CTLequalizer:NUMPoles
command/query, 1140
:SPRocessing:CTLequalizer:P1
command/query, 1141
:SPRocessing:CTLequalizer:P2
command/query, 1142
:SPRocessing:CTLequalizer:P3
command/query, 1143
:SPRocessing:CTLequalizer:RATe
command/query, 1144
:SPRocessing:CTLequalizer:SOURce
command/query, 1145
:SPRocessing:CTLequalizer:VERTical
command/query, 1146
:SPRocessing:CTLequalizer:VERTical:OFFSet
command/query, 1147
:SPRocessing:CTLequalizer:VERTical:RANGe
command/query, 1148
:SPRocessing:CTLequalizer:Z1
command/query, 1149
:SPRocessing:CTLequalizer:Z2
command/query, 1150
:SPRocessing:CTLequalizer:ZERo
command/query, 1577
:SPRocessing:DFEQualizer:NTAPs
command/query, 1151
:SPRocessing:DFEQualizer:SOURce
command/query, 1152
:SPRocessing:DFEQualizer:STATe
command/query, 1153
:SPRocessing:DFEQualizer:TAP
command/query, 1154
:SPRocessing:DFEQualizer:TAP:AUTomatic
command, 1155
:SPRocessing:DFEQualizer:TAP:DELay
command/query, 1156
:SPRocessing:DFEQualizer:TAP:GAIN
command/query, 1157
:SPRocessing:DFEQualizer:TAP:LTARget
command/query, 1158
:SPRocessing:DFEQualizer:TAP:MAX
command/query, 1159
:SPRocessing:DFEQualizer:TAP:MIN
command/query, 1160
:SPRocessing:DFEQualizer:TAP:NORMalize
command/query, 1161
:SPRocessing:DFEQualizer:TAP:UTARget
command/query, 1162
:SPRocessing:DFEQualizer:TAP:WIDTh
command/query, 1163
:SPRocessing:FFEQualizer:BANDwidth
command/query, 1164
:SPRocessing:FFEQualizer:BWMode
command/query, 1165
:SPRocessing:FFEQualizer:DISPlay
command/query, 1166
:SPRocessing:FFEQualizer:NPRecursor
command/query, 1167
:SPRocessing:FFEQualizer:NTAPs
command/query, 1168
:SPRocessing:FFEQualizer:RATe
command/query, 1169
:SPRocessing:FFEQualizer:SOURce
command/query, 1170
:SPRocessing:FFEQualizer:TAP
command/query, 1171
:SPRocessing:FFEQualizer:TAP:AUTomatic
command, 1172
:SPRocessing:FFEQualizer:TAP:DELay
command/query, 1173
:SPRocessing:FFEQualizer:TAP:PLENgth
command, 46
:SPRocessing:FFEQualizer:TAP:WIDTh
command/query, 1174
1748 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
:SPRocessing:FFEQualizer:TDELay
command/query, 1175
:SPRocessing:FFEQualizer:TDMode
command/query, 1176
:SPRocessing:FFEQualizer:VERTical
command/query, 1177
:SPRocessing:FFEQualizer:VERTical:OFFSet
command/query, 1178
:SPRocessing:FFEQualizer:VERTical:RANGe
command/query, 1179
:STATus? query, 1045
:STOP command, 1047
:STORe:JITTer command, 1048
:STORe:SETup command, 1049
:STORe:WAVeform command, 1050
:SYSTem:DATE command/query, 1182
:SYSTem:DEBug command/query, 1183
:SYSTem:DONTtabmeas
command/query, 1185
:SYSTem:DSP command/query, 1186
:SYSTem:ERRor? query, 1187
:SYSTem:GUI command/query, 1188
:SYSTem:HEADer command/query, 1189
:SYSTem:HLED command/query, 1190
:SYSTem:LOCK command/query, 1191
:SYSTem:LONGform
command/query, 1192
:SYSTem:MENU? query, 1193
:SYSTem:PERSona command/query, 1194
:SYSTem:PRESet command, 1195
:SYSTem:SETup command block data, 102
:SYSTem:SETup command/query, 1197
:SYSTem:TIME command/query, 1199
:TERegister? query, 1051
:TIMebase:POSition command/query, 1202
:TIMebase:RANGe command/query, 1203
:TIMebase:REFClock
command/query, 1204
:TIMebase:REFerence
command/query, 1205
:TIMebase:REFerence:PERCent
command/query, 1206
:TIMebase:ROLL:ENABLE
command/query, 1207
:TIMebase:SCALe command/query, 1208
:TIMebase:VIEW command/query, 1209
:TIMebase:WINDow:DELay
command/query, 1210
:TIMebase:WINDow:POSition
command/query, 1211
:TIMebase:WINDow:RANGe
command/query, 1212
:TIMebase:WINDow:SCALe
command/query, 1213
:TRIGger:ADVanced:COMM:BWIDth
command/query, 1328
:TRIGger:ADVanced:COMM:ENCode
command/query, 1329
:TRIGger:ADVanced:COMM:LEVel
command/query, 1330
:TRIGger:ADVanced:COMM:PATTern
command/query, 1331
:TRIGger:ADVanced:COMM:POLarity
command/query, 1332
:TRIGger:ADVanced:COMM:SOURce
command/query, 1333
:TRIGger:ADVanced:DELay:EDLY:ARM:SLOPe
command/query, 1349
:TRIGger:ADVanced:DELay:EDLY:ARM:SOUR
ce command/query, 1348
:TRIGger:ADVanced:DELay:EDLY:EVENt:DELa
y command/query, 1350
:TRIGger:ADVanced:DELay:EDLY:EVENt:SLOP
e command/query, 1352
:TRIGger:ADVanced:DELay:EDLY:EVENt:SOU
Rce command/query, 1351
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SL
OPe command/query, 1354
:TRIGger:ADVanced:DELay:EDLY:TRIGger:SO
URce command/query, 1353
:TRIGger:ADVanced:DELay:TDLY:ARM:SLOPe
command/query, 1358
:TRIGger:ADVanced:DELay:TDLY:ARM:SOUR
ce command/query, 1357
:TRIGger:ADVanced:DELay:TDLY:DELay
command/query, 1359
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SL
OPe command/query, 1361
:TRIGger:ADVanced:DELay:TDLY:TRIGger:SO
URce command/query, 1360
:TRIGger:ADVanced:PATTern:CONDition
command/query, 1336
:TRIGger:ADVanced:PATTern:LOGic
command/query, 1337
:TRIGger:ADVanced:PATTern:THReshold:LEV
el command/query, 1338
:TRIGger:ADVanced:PATTern:THReshold:PO
D<N> command/query, 1339
:TRIGger:ADVanced:STATe:CLOCk
command/query, 1341
:TRIGger:ADVanced:STATe:LOGic
command/query, 1342
:TRIGger:ADVanced:STATe:LTYPe
command/query, 1343
:TRIGger:ADVanced:STATe:SLOPe
command/query, 1344
:TRIGger:ADVanced:STATe:THReshold:LEVel
command/query, 1345
:TRIGger:ADVanced:TV:STV:FIELd
command/query, 1364
:TRIGger:ADVanced:TV:STV:LINE
command/query, 1365
:TRIGger:ADVanced:TV:STV:SOURce
command/query, 1366
:TRIGger:ADVanced:TV:STV:SPOLarity
command/query, 1367
:TRIGger:ADVanced:TV:UDTV:ENUMber
command/query, 1370
:TRIGger:ADVanced:TV:UDTV:PGTHan
command/query, 1371
:TRIGger:ADVanced:TV:UDTV:POLarity
command/query, 1372
:TRIGger:ADVanced:TV:UDTV:SOURce
command/query, 1373
:TRIGger:ADVanced:VIOLation:MODE
command/query, 1375
:TRIGger:ADVanced:VIOLation:PWIDth:DIRe
ction command/query, 1378
:TRIGger:ADVanced:VIOLation:PWIDth:POLa
rity command/query, 1379
:TRIGger:ADVanced:VIOLation:PWIDth:SOU
Rce command/query, 1380
:TRIGger:ADVanced:VIOLation:PWIDth:WIDT
h command/query, 1381
:TRIGger:ADVanced:VIOLation:SETup:HOLD:
CSOurce command/query, 1393
:TRIGger:ADVanced:VIOLation:SETup:HOLD:
CSOurce:EDGE command/query, 1395
:TRIGger:ADVanced:VIOLation:SETup:HOLD:
CSOurce:LEVel command/query, 1394
:TRIGger:ADVanced:VIOLation:SETup:HOLD:
DSOurce command/query, 1396
:TRIGger:ADVanced:VIOLation:SETup:HOLD:
DSOurce:HTHReshold
command/query, 1397
:TRIGger:ADVanced:VIOLation:SETup:HOLD:
DSOurce:LTHReshold
command/query, 1398
:TRIGger:ADVanced:VIOLation:SETup:HOLD:
TIME command/query, 1399
:TRIGger:ADVanced:VIOLation:SETup:MODE
command/query, 1385
:TRIGger:ADVanced:VIOLation:SETup:SETup:
CSOurce command/query, 1386
:TRIGger:ADVanced:VIOLation:SETup:SETup:
CSOurce:EDGE command/query, 1388
:TRIGger:ADVanced:VIOLation:SETup:SETup:
CSOurce:LEVel command/query, 1387
:TRIGger:ADVanced:VIOLation:SETup:SETup:
DSOurce command/query, 1389
:TRIGger:ADVanced:VIOLation:SETup:SETup:
DSOurce:HTHReshold
command/query, 1390
:TRIGger:ADVanced:VIOLation:SETup:SETup:
DSOurce:LTHReshold
command/query, 1391
:TRIGger:ADVanced:VIOLation:SETup:SETup:
TIME command/query, 1392
:TRIGger:ADVanced:VIOLation:SETup:SHOLd
:CSOurce command/query, 1400
:TRIGger:ADVanced:VIOLation:SETup:SHOLd
:CSOurce:EDGE command/query, 1402
:TRIGger:ADVanced:VIOLation:SETup:SHOLd
:CSOurce:LEVel command/query, 1401
:TRIGger:ADVanced:VIOLation:SETup:SHOLd
:DSOurce command/query, 1403
:TRIGger:ADVanced:VIOLation:SETup:SHOLd
:DSOurce:HTHReshold
command/query, 1404
:TRIGger:ADVanced:VIOLation:SETup:SHOLd
:DSOurce:LTHReshold
command/query, 1405
:TRIGger:ADVanced:VIOLation:SETup:SHOLd
:HoldTIMe (HTIMe)
command/query, 1407
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1749
:TRIGger:ADVanced:VIOLation:SETup:SHOLd
:SetupTIMe (STIMe)
command/query, 1406
:TRIGger:ADVanced:VIOLation:TRANsition
command/query, 1409
:TRIGger:ADVanced:VIOLation:TRANsition:S
OURce command/query, 1410
:TRIGger:ADVanced:VIOLation:TRANsition:S
OURce:HTHReshold
command/query, 1411
:TRIGger:ADVanced:VIOLation:TRANsition:S
OURce:LTHReshold
command/query, 1412
:TRIGger:ADVanced:VIOLation:TRANsition:TY
PE command/query, 1413
:TRIGger:AND:ENABle
command/query, 1218
:TRIGger:AND:SOURce
command/query, 1219
:TRIGger:COMM:BWIDth
command/query, 1233
:TRIGger:COMM:ENCode
command/query, 1234
:TRIGger:COMM:PATTern
command/query, 1235
:TRIGger:COMM:POLarity
command/query, 1236
:TRIGger:COMM:SOURce
command/query, 1237
:TRIGger:DELay:ARM:SLOPe
command/query, 1240
:TRIGger:DELay:ARM:SOURce
command/query, 1239
:TRIGger:DELay:EDELay:COUNt
command/query, 1241
:TRIGger:DELay:EDELay:SLOPe
command/query, 1243
:TRIGger:DELay:EDELay:SOURce
command/query, 1242
:TRIGger:DELay:MODE
command/query, 1244
:TRIGger:DELay:TDELay:TIME
command/query, 1245
:TRIGger:DELay:TRIGger:SLOPe
command/query, 1247
:TRIGger:DELay:TRIGger:SOURce
command/query, 1246
:TRIGger:EDGE:COUPling
command/query, 1249
:TRIGger:EDGE:SLOPe
command/query, 1250
:TRIGger:EDGE:SOURce
command/query, 1251
:TRIGger:GBSerial:CLOCk
command/query, 1253
:TRIGger:GBSerial:CLOCk:FREQuency
command/query, 1254
:TRIGger:GBSerial:DRATe
command/query, 1256
:TRIGger:GBSerial:MODE
command/query, 1258
:TRIGger:GBSerial:PATTern
command/query, 1259
:TRIGger:GBSerial:POLarity
command/query, 1260
:TRIGger:GBSerial:PRBS
command/query, 1261
:TRIGger:GBSerial:SOURce
command/query, 1262
:TRIGger:GLITch:POLarity
command/query, 1264
:TRIGger:GLITch:SOURce
command/query, 1265
:TRIGger:GLITch:WIDTh
command/query, 1266
:TRIGger:HOLDoff command/query, 1220
:TRIGger:HOLDoff:MAX
command/query, 1221
:TRIGger:HOLDoff:MIN
command/query, 1222
:TRIGger:HOLDoff:MODE
command/query, 1223
:TRIGger:HTHReshold
command/query, 1224
:TRIGger:HYSTeresis
command/query, 1225
:TRIGger:LEVel command/query, 1226
:TRIGger:LEVel:FIFTy command, 1227
:TRIGger:LTHReshold
command/query, 1228
:TRIGger:MODE command/query, 1229
:TRIGger:PATTern:CONDition
command/query, 1268
:TRIGger:PATTern:LOGic
command/query, 1269
:TRIGger:PWIDth:DIRection
command/query, 1271
:TRIGger:PWIDth:POLarity
command/query, 1272
:TRIGger:PWIDth:SOURce
command/query, 1273
:TRIGger:PWIDth:TPOint
command/query, 1274
:TRIGger:PWIDth:WIDTh
command/query, 1275
:TRIGger:RUNT:POLarity
command/query, 1277
:TRIGger:RUNT:QUALified
command/query, 1278
:TRIGger:RUNT:SOURce
command/query, 1279
:TRIGger:RUNT:TIME
command/query, 1280
:TRIGger:SEQuence:RESet:ENABle
command/query, 1284
:TRIGger:SEQuence:RESet:EVENt
command, 1286
:TRIGger:SEQuence:RESet:TIME
command/query, 1287
:TRIGger:SEQuence:RESet:TYPE
command/query, 1285
:TRIGger:SEQuence:TERM1
command/query, 1282
:TRIGger:SEQuence:TERM2
command/query, 1283
:TRIGger:SEQuence:WAIT:ENABle
command/query, 1288
:TRIGger:SEQuence:WAIT:TIME
command/query, 1289
:TRIGger:SHOLd:CSOurce
command/query, 1291
:TRIGger:SHOLd:CSOurce:EDGE
command/query, 1292
:TRIGger:SHOLd:DSOurce
command/query, 1293
:TRIGger:SHOLd:HoldTIMe (HTIMe)
command/query, 1294
:TRIGger:SHOLd:MODE
command/query, 1295
:TRIGger:SHOLd:SetupTIMe
command/query, 1296
:TRIGger:STATe:CLOCk
command/query, 1298
:TRIGger:STATe:LOGic
command/query, 1299
:TRIGger:STATe:LTYPe
command/query, 1300
:TRIGger:STATe:SLOPe
command/query, 1301
:TRIGger:SWEep command/query, 1231
:TRIGger:TIMeout:CONDition
command/query, 1303
:TRIGger:TIMeout:SOURce
command/query, 1304
:TRIGger:TIMeout:TIME
command/query, 1305
:TRIGger:TRANsition:DIRection
command/query, 1307
:TRIGger:TRANsition:SOURce
command/query, 1308
:TRIGger:TRANsition:TIME
command/query, 1309
:TRIGger:TRANsition:TYPE
command/query, 1310
:TRIGger:TV:LINE command/query, 1312
:TRIGger:TV:MODE command/query, 1313
:TRIGger:TV:POLarity
command/query, 1314
:TRIGger:TV:SOURce
command/query, 1315
:TRIGger:TV:STANdard
command/query, 1316
:TRIGger:TV:UDTV:ENUMber
command/query, 1317
:TRIGger:TV:UDTV:HSYNc
command/query, 1318
:TRIGger:TV:UDTV:HTIMe
command/query, 1319
:TRIGger:TV:UDTV:PGTHan
command/query, 1320
:TRIGger:TV:UDTV:POLarity
command/query, 1321
:TRIGger:WINDow:CONDition
command/query, 1323
1750 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
:TRIGger:WINDow:SOURce
command/query, 1324
:TRIGger:WINDow:TIME
command/query, 1325
:TRIGger:WINDow:TPOint
command/query, 1326
:VIEW command, 1052
:WAVeform:BANDpass? query, 1418
:WAVeform:BYTeorder
command/query, 1419
:WAVeform:CGRade:HEIGht? query, 1420
:WAVeform:CGRade:WIDTh? query, 1421
:WAVeform:COMPlete? query, 1422
:WAVeform:COUNt? query, 1423
:WAVeform:COUPling? query, 1424
:WAVeform:DATA? query, 1425
:WAVeform:FORMat
command/query, 1447
:WAVeform:POINts? query, 1450
:WAVeform:PREamble? query, 1451
:WAVeform:SEGMented:ALL
command/query, 1455
:WAVeform:SEGMented:COUNt?
query, 1456
:WAVeform:SEGMented:TTAG? query, 1457
:WAVeform:SEGMented:XLISt? query, 1458
:WAVeform:SOURce
command/query, 1459
:WAVeform:STReaming
command/query, 1461
:WAVeform:TYPE? query, 1462
:WAVeform:VIEW command/query, 1463
:WAVeform:XDISplay? query, 1466
:WAVeform:XINCrement? query, 1467
:WAVeform:XORigin? query, 1468
:WAVeform:XRANge? query, 1469
:WAVeform:XREFerence? query, 1470
:WAVeform:XUNits? query, 1471
:WAVeform:YDISplay? query, 1472
:WAVeform:YINCrement? query, 1473
:WAVeform:YORigin? query, 1474
:WAVeform:YRANge? query, 1475
:WAVeform:YREFerence? query, 1476
:WAVeform:YUNits? query, 1477
:WMEMory:TIETimebase
command/query, 1480
:WMEMory<R>:CLEar command, 1481
:WMEMory<R>:DISPlay
command/query, 1482
:WMEMory<R>:LOAD command, 1483
:WMEMory<R>:SAVE command, 1484
:WMEMory<R>:SEGMented:COUNt?
query, 1485
:WMEMory<R>:SEGMented:INDex
command/query, 1486
:WMEMory<R>:SEGMented:PLAY
command/query, 1487
:WMEMory<R>:XOFFset
command/query, 1488
:WMEMory<R>:XRANge
command/query, 1489
:WMEMory<R>:YOFFset
command/query, 1490
:WMEMory<R>:YRANge
command/query, 1491
:XTALk:ENABle command/query, 1495
:XTALk:PAADeskew command/query, 1497
:XTALk:PAIFilter command/query, 1498
:XTALk:PAISi command/query, 1499
:XTALk:PASLimit command/query, 1500
:XTALk:PAXFilter command/query, 1501
:XTALk:PAXSi command/query, 1502
:XTALk:PJADeskew command/query, 1503
:XTALk:PJIFilter command/query, 1504
:XTALk:PJISi command/query, 1505
:XTALk:PJSLimit command/query, 1506
:XTALk:PJXFilter command/query, 1507
:XTALk:PJXSi command/query, 1508
:XTALk:RESults? query, 1509
:XTALk:SAADeskew command/query, 1511
:XTALk:SAIFilter command/query, 1512
:XTALk:SAISi command/query, 1513
:XTALk:SASLimit command/query, 1514
:XTALk:SAXFilter command/query, 1515
:XTALk:SAXSi command/query, 1516
:XTALk<X>:AENable<X> command, 1517
:XTALk<X>:ENABle command/query, 1518
:XTALk<X>:IAGGressor
command/query, 1519
:XTALk<X>:IVICtim command/query, 1520
:XTALk<X>:PAUTo command/query, 1521
:XTALk<X>:PLENgth command/query, 1522
:XTALk<X>:PTYPe command/query, 1523
:XTALk<X>:RIDeal command/query, 1524
:XTALk<X>:RISI command/query, 1525
:XTALk<X>:ROTHer command/query, 1526
:XTALk<X>:SOURce command/query, 1527
:XTALk<X>:STYPe command/query, 1528
..., Ellipsis, 106
(Event Status Enable (*ESE)
command/query, 416
*CLS (Clear Status) command, 415
*ESE (Event Status Enable)
command/query, 416
*ESR? (Event Status Register) query, 135,
418
*IDN? (Identification Number) query, 419
*LRN? (Learn) query, 420
*LRN?, and SYSTem SETup?[LRN], 1198
*OP?T (Option) query, 423
*OPC (Operation Complete)
command/query, 422
*OPC (Operation Complete) query, 135
*PSC (Power-on Status Clear)
command/query, 426
*RCL (Recall) command, 427
*RST (Reset) command, 428
*SAV (Save) command, 429
*SRE (Service Request Enable)
command/query, 430
*STB? (Status Byte) query, 432
*TRG (Trigger) command, 434
*TST? (Test) query, 435
*WAI (Wait-to-Continue) command, 436
+width - +width measurement, 774
Numerics
82350A GPIB interface, 4
9.99999E+37, Infinity Representation, 206
A
Aborting a digitize operation, 147
aborting a digitize operation, 127
absolute voltage, and VMAX, 995
absolute voltage, and VMIN, 997
ABSolute, :FUNCtion<F>:ABSolute
command, 509
ABSolute, :MEASure:THResholds:ABSolute
command/query, 930
ABSolute,
:MEASure:THResholds:GENeral:ABSolut
e command/query, 933
ABSolute,
:MEASure:THResholds:GENeral:TOPBas
e:ABSolute command/query, 945
ABSolute,
:MEASure:THResholds:RFALl:ABSolute
command/query, 952
ABSolute,
:MEASure:THResholds:RFALl:TOPBase:A
BSolute command/query, 960
ABSolute,
:MEASure:THResholds:SERial:ABSolute
command/query, 963
ABSolute,
:MEASure:THResholds:SERial:TOPBase:
ABSolute command/query, 970
ABSolute,
:MEASure:THResholds:TOPBase:ABSolu
te command/query, 973
ABUJ,
:CHANnel<N>:SIMulation:JITTer:ABUJ
command/query, 397
ACCAL, :CHANnel<N>:PROBe:ACCAL
command/query, 348
accuracy and probe calibration, 300
ACGain, :SPRocessing:CTLequalizer:ACGain
command/query, 1137
ACHannels,
:HOSTed:FOLLower<N>:ACHannels?
query, 601
ACHannels, :HOSTed:LEADer:ACHannels?
query, 605
Acquire Commands, 209
Acquire Commands, SRATe, 240
acquiring a waveform, 186
acquisition state, 1019
acquisition synchronization, 188
acquisition, ACQuire AVER and
completion, 217
acquisition, points, 225
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1751
acquisition, record length, 225
acquisition, sample rate, 238, 240
ADD, :CHANnel<N>:PROBe:HEAD:ADD
command, 361
ADD, :FUNCtion<F>:ADD command, 510
address field size, IIC serial decode, 1092
ADDRess,
:CHANnel<N>:SIMulation:FILTer:ISIM:A
DDRess command/query, 386
ADDRess,
:CHANnel<N>:SIMulation:FLOad:ADDRe
ss command/query, 389
ADDRess,
:SBUS<N>:IIC:TRIGger:PATTern:ADDRes
s command/query, 1095
address, GPIB default, 143
ADDStats, :LTESt:ADDStats
command/query, 634
ADEMod, :FUNCtion<F>:ADEMod
command, 511
advanced trigger violation modes, 1374
advanced trigger violation modes, pulse
width violation mode, 1376
advanced trigger violation modes, setup
violation mode, 1382
advanced trigger violation modes, transition
violation mode, 1408
ADVanced,
:TRIGger:ADVanced:COMM:BWIDth
command/query, 1328
ADVanced,
:TRIGger:ADVanced:COMM:ENCode
command/query, 1329
ADVanced, :TRIGger:ADVanced:COMM:LEVel
command/query, 1330
ADVanced,
:TRIGger:ADVanced:COMM:PATTern
command/query, 1331
ADVanced,
:TRIGger:ADVanced:COMM:POLarity
command/query, 1332
ADVanced,
:TRIGger:ADVanced:COMM:SOURce
command/query, 1333
ADVanced,
:TRIGger:ADVanced:DELay:EDLY:ARM:SL
OPe command/query, 1349
ADVanced,
:TRIGger:ADVanced:DELay:EDLY:ARM:S
OURce command/query, 1348
ADVanced,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
DELay command/query, 1350
ADVanced,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SLOPe command/query, 1352
ADVanced,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SOURce command/query, 1351
ADVanced,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SLOPe command/query, 1354
ADVanced,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SOURce command/query, 1353
ADVanced,
:TRIGger:ADVanced:DELay:TDLY:ARM:SL
OPe command/query, 1358
ADVanced,
:TRIGger:ADVanced:DELay:TDLY:ARM:S
OURce command/query, 1357
ADVanced,
:TRIGger:ADVanced:DELay:TDLY:DELay
command/query, 1359
ADVanced,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SLOPe command/query, 1361
ADVanced,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SOURce command/query, 1360
ADVanced,
:TRIGger:ADVanced:PATTern:CONDition
command/query, 1336
ADVanced,
:TRIGger:ADVanced:PATTern:LOGic
command/query, 1337
ADVanced,
:TRIGger:ADVanced:PATTern:THReshold
:LEVel command/query, 1338
ADVanced,
:TRIGger:ADVanced:PATTern:THReshold
:POD<N> command/query, 1339
ADVanced,
:TRIGger:ADVanced:STATe:CLOCk
command/query, 1341
ADVanced, :TRIGger:ADVanced:STATe:LOGic
command/query, 1342
ADVanced, :TRIGger:ADVanced:STATe:LTYPe
command/query, 1343
ADVanced,
:TRIGger:ADVanced:STATe:SLOPe
command/query, 1344
ADVanced,
:TRIGger:ADVanced:STATe:THReshold:L
EVel command/query, 1345
ADVanced,
:TRIGger:ADVanced:TV:STV:FIELd
command/query, 1364
ADVanced, :TRIGger:ADVanced:TV:STV:LINE
command/query, 1365
ADVanced,
:TRIGger:ADVanced:TV:STV:SOURce
command/query, 1366
ADVanced,
:TRIGger:ADVanced:TV:STV:SPOLarity
command/query, 1367
ADVanced,
:TRIGger:ADVanced:TV:UDTV:ENUMber
command/query, 1370
ADVanced,
:TRIGger:ADVanced:TV:UDTV:PGTHan
command/query, 1371
ADVanced,
:TRIGger:ADVanced:TV:UDTV:POLarity
command/query, 1372
ADVanced,
:TRIGger:ADVanced:TV:UDTV:SOURce
command/query, 1373
ADVanced,
:TRIGger:ADVanced:VIOLation:MODE
command/query, 1375
ADVanced,
:TRIGger:ADVanced:VIOLation:PWIDth:D
IRection command/query, 1378
ADVanced,
:TRIGger:ADVanced:VIOLation:PWIDth:P
OLarity command/query, 1379
ADVanced,
:TRIGger:ADVanced:VIOLation:PWIDth:S
OURce command/query, 1380
ADVanced,
:TRIGger:ADVanced:VIOLation:PWIDth:
WIDTh command/query, 1381
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce command/query, 1393
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:EDGE
command/query, 1395
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:LEVel
command/query, 1394
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce command/query, 1396
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:HTHReshold
command/query, 1397
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:LTHReshold
command/query, 1398
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:TIME command/query, 1399
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:M
ODE command/query, 1385
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce command/query, 1386
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:EDGE
command/query, 1388
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:LEVel
command/query, 1387
1752 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce command/query, 1389
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:HTHReshold
command/query, 1390
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:LTHReshold
command/query, 1391
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:TIME command/query, 1392
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce command/query, 1400
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:EDGE
command/query, 1402
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:LEVel
command/query, 1401
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce command/query, 1403
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:HTHReshold
command/query, 1404
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:LTHReshold
command/query, 1405
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:HoldTIMe (HTIMe)
command/query, 1407
ADVanced,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:SetupTIMe (STIMe)
command/query, 1406
ADVanced,
:TRIGger:ADVanced:VIOLation:TRANsitio
n command/query, 1409
ADVanced,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce command/query, 1410
ADVanced,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:HTHReshold
command/query, 1411
ADVanced,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:LTHReshold
command/query, 1412
ADVanced,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:TYPE command/query, 1413
advanced, COMM triggering, 1327
advanced, delay trigger modes, 1346,
1355
advanced, delay triggering, 1346, 1355
advanced, logic triggering, 1334, 1340
advanced, pattern triggering, 1334
advanced, state triggering, 1340
advanced, TV commands, 1362, 1368
advisory line, reading and writing to, 1181
AEDGes, :ANALyze:AEDGes
command/query, 245
AENable<X>, :XTALk<X>:AENable<X>
command, 1517
algebraic sum of functions, 510
ALIGn, :ANALyze:CLOCk:METHod:ALIGn
command/query, 250
ALIGn, :HOSTed:CALibrate:ALIGn
command/query, 1547
ALIGn, :MEASure:CLOCk:METHod:ALIGn
command/query, 1553
ALIGn, :MTESt:ALIGn command, 669
AlignFIT, :MTESt:AlignFIT
command/query, 670
all edges, measure, 745, 784, 785, 787,
802, 818, 853, 854, 859, 880, 882,
885, 886, 923, 925, 986, 998, 1000,
1572
ALL, :WAVeform:SEGMented:ALL
command/query, 1455
ALL?, :MEASure:NOISe:ALL? query, 843
ALL?, :MEASure:RJDJ:ALL? query, 898
ALL?, :MEASure:RJDJ:APLength?
query, 900
alphanumeric, characters in embedded
string, 116
alphanumeric, strings, 114
AMASk, :MTESt:AMASk:CREate
command, 672
AMASk, :MTESt:AMASk:SAVE
command, 675
AMASk, :MTESt:AMASk:SOURce
command/query, 673
AMASk, :MTESt:AMASk:UNITs
command/query, 676
AMASk, :MTESt:AMASk:XDELta
command/query, 677
AMASk, :MTESt:AMASk:YDELta
command/query, 678
AMPLitude,
:CHANnel<N>:SIMulation:AMPLitude
command/query, 379
AMPS as vertical units, 359, 412
ANALog, :ACQuire:POINts:ANALog
command/query, 225
ANALog, :ACQuire:SRATe:ANALog
command/query, 238
ANALog, :ACQuire:SRATe:ANALog:AUTO
command/query, 239
Analyze Commands, 243
AND, :TRIGger:AND:ENABle
command/query, 1218
AND, :TRIGger:AND:SOURce
command/query, 1219
APPLy, :CHANnel<N>:ISIM:APPLy
command/query, 329
AREA, :HARDcopy:AREA
command/query, 566
AREA, :MEASure:AREA
command/query, 745
AREA<N>,
:DISPlay:GRATicule:AREA<N>:STATe
command/query, 478
ARM,
:TRIGger:ADVanced:DELay:EDLY:ARM:SL
OPe command/query, 1349
ARM,
:TRIGger:ADVanced:DELay:EDLY:ARM:S
OURce command/query, 1348
ARM,
:TRIGger:ADVanced:DELay:TDLY:ARM:SL
OPe command/query, 1358
ARM,
:TRIGger:ADVanced:DELay:TDLY:ARM:S
OURce command/query, 1357
ARM, :TRIGger:DELay:ARM:SLOPe
command/query, 1240
ARM, :TRIGger:DELay:ARM:SOURce
command/query, 1239
armed status, checking for, 178
Arming the trigger, 147
ASCII, character 32, 104
ASCII, linefeed, 117
ASCII, waveform data FORMat, 1447
ASIZe, :SBUS<N>:IIC:ASIZe
command/query, 1092
attenuation factor for probe, 300, 347
ATTenuation,
:CHANnel<N>:PROBe:ATTenuation
command/query, 349
AUTO, :ACQuire:POINts:AUTO
command/query, 227
AUTO, :ACQuire:SRATe:ANALog:AUTO
command/query, 239
AUTO, :ACQuire:SRATe:DIGital:AUTO
command/query, 241
AUTO, :CHANnel<N>:DISPlay:AUTO
command/query, 319
AUTO, :MTESt:AUTO command/query, 679
AUTO, :MTESt:MARGin:AUTO:HITS
command/query, 714
AUTO, :MTESt:MARGin:AUTO:HRATio
command/query, 715
AUTO, :MTESt:MARGin:AUTO:METHod
command/query, 716
AUTomatic,
:SPRocessing:DFEQualizer:TAP:AUToma
tic command, 1155
AUTomatic,
:SPRocessing:FFEQualizer:TAP:AUTomat
ic command, 1172
AUToplay, :ACQuire:SEGMented:AUToplay
command/query, 232
AUToscale, during initialization, 123
AUTozero, :CHANnel<N>:PROBe:AUTozero
command/query, 350
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1753
Aux Out connector, 302
AUX, :CALibrate:OUTPut:AUX
command/query, 304
AUX, :CALibrate:OUTPut:AUX:RTIMe
command/query, 305
availability of measured data, 153
AVERage, :ACQuire:AVERage
command/query, 211
AVERage, :ACQuire:AVERage:COUNt
command/query, 212
AVERage, :FUNCtion<F>:AVERage
command, 512
AVERage, :MTESt:AVERage
command/query, 680
AVERage, :MTESt:AVERage:COUNt
command/query, 681
AVERage, and acquisition completion, 217
AVERage, and count, 681
AXIS, :HISTogram:AXIS
command/query, 573
B
B<N>, :BUS:B<N>:TYPE
command/query, 288
B03, :ANALyze:CLOCk:METHod:PAM:B03
command/query, 1535
B12, :ANALyze:CLOCk:METHod:PAM:B12
command/query, 1537
BANDpass?, :WAVeform:BANDpass?
query, 1418
bandwidth limit, 1418
BANdwidth, :ACQuire:BANDwidth,
command/query, 213
BANDwidth, :ACQuire:BANDwidth:FRAMe?
query, 215
BANDwidth,
:ACQuire:BANDwidth:TESTLIMITS?
query, 216
BANDwidth, :CHANnel<N>:ISIM:BANDwidth
command/query, 330
BANDwidth,
:CHANnel<N>:PROBe:PRECprobe:BAND
width command, 368
BANDwidth, :MEASure:NOISe:BANDwidth
command/query, 845
BANDwidth, :MEASure:RJDJ:BANDwidth
command/query, 901
BANDwidth,
:SPRocessing:FFEQualizer:BANDwidth
command/query, 1164
basic command structure, 125
basic operations, 100
baud rate, 1060, 1102
BAUDrate, :SBUS<N>:CAN:SIGNal:BAUDrate
command/query, 1060
BAUDrate, :SBUS<N>:FLEXray:BAUDrate
command/query, 1074
BAUDrate, :SBUS<N>:LIN:SIGNal:BAUDrate
command/query, 1102
BER, :MEASure:BER command/query, 747
BER, :MEASure:RJDJ:BER
command/query, 902
BERPeracq, :MEASure:BERPeracq
command/query, 748
BINary, waveform data FORMat, 1448
BIND, :MTESt:SCALe:BIND
command/query, 724
BINS, :HISTogram:HORizontal:BINS
command/query, 574
BINS, :HISTogram:MEASurement:BINS
command/query, 575
BINS, :HISTogram:VERTical:BINS
command/query, 578
BINTerval, :MEASure:BINTerval
command/query, 749
Bit Definitions in Status Reporting, 154
bit order, SPI decode, 1110
BIT<M>, :BUS<B>:BIT<M>
command/query, 290
BITS, :BUS<B>:BITS command/query, 291
BITS, :MTESt:FOLDing:BITS
command/query, 693
blanking the user text area, 1546
BLIMit, :HISTogram:WINDow:BLIMit
command/query, 583
block data, 102, 131
block data, in :SYSTem:SETup
command, 102
Block Diagram, Status Reporting
Overview, 154
blocking commands, 135
blocking synchronization, 188
blocking synchronization example, 189
BOOKmark<N>,
:DISPlay:BOOKmark<N>:DELete
command, 463
BOOKmark<N>,
:DISPlay:BOOKmark<N>:SET
command, 464
BOOKmark<N>,
:DISPlay:BOOKmark<N>:VERTical?
query, 466
BOOKmark<N>,
:DISPlay:BOOKmark<N>:XPOSition
command/query, 467
BOOKmark<N>,
:DISPlay:BOOKmark<N>:YPOSition
command/query, 468
BPERiod, :MEASure:BPERiod
command/query, 750
Braces, 105
Brackets, Square, 107
brickwall filter, TIE, 979
buffer, output, 112, 128
buffered responses, 207
Bus Activity, Halting, 147
Bus Commands, 147
BWIDth, :MEASure:BWIDth
command/query, 751
BWIDth, :TRIGger:ADVanced:COMM:BWIDth
command/query, 1328
BWIDth, :TRIGger:COMM:BWIDth
command/query, 1233
BWLimit, :CHANnel<N>:BWLimit
command/query, 314
BWLimit, :CHANnel<N>:ISIM:BWLimit
command/query, 332
BWLimit, :CHANnel<N>:ISIM:BWLimit:TYPE
command/query, 334
BWLimit,
:CHANnel<N>:SIMulation:NOISe:BWLim
it command/query, 404
BWMode,
:SPRocessing:FFEQualizer:BWMode
command/query, 1165
BYTE, Understanding the format, 1442
BYTE, waveform data FORMat, 1448
BYTeorder, :WAVeform:BYTeorder
command/query, 1419
BYTeorder, and DATA, 1427
C
C Program, DATA? Analog Channels, 1427
C Program, DATA? Digital Channels, 1433
C, SICL library example, 1687
C, VISA library example, 1630
C#, SCPI.NET example, 1706
C#, VISA COM example, 1603
C#, VISA example, 1649
CABLeloss,
:ANALyze:SIGNal:MIXer:CABLeloss
command/query, 272
CAL, :CALibrate:OUTPut:CAL
command/query, 306
CALibrate,
:ANALyze:SIGNal:MMWave:CALibrate
command, 273
CALibrate, :HOSTed:CALibrate:ALIGn
command/query, 1547
CALibrate, :HOSTed:CALibrate:CALibrate
command, 587
CALibrate, :HOSTed:CALibrate:CHANnel
command/query, 588
CALibrate,
:HOSTed:CALibrate:DESKew:CHANnels
command, 589
CALibrate,
:HOSTed:CALibrate:DESKew:FRAMes
command, 590
CALibrate,
:HOSTed:CALibrate:DESKew:SIGNals
command, 591
CALibrate,
:HOSTed:CALibrate:DESKew:ZERO
command, 592
CALibrate, :HOSTed:CALibrate:LEVel
command/query, 593
CALibrate, :HOSTed:CALibrate:PROMpt
command/query, 595
1754 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
CALibrate,
:HOSTed:CALibrate:STATus:CHANnels?
query, 596
CALibrate,
:HOSTed:CALibrate:STATus:FRAMes?
query, 597
CALibrate,
:HOSTed:CALibrate:STATus:LEVel?
query, 598
CALibrate,
:HOSTed:CALibrate:STATus:SIGNals?
query, 599
CALibrate, :HOSTed:CALibrate:TREF:DETect
command, 600
Calibration Commands, 299
calibration status, 308
CALibration,
:CHANnel<N>:PROBe:PRECprobe:CALib
ration command, 369
CAN acknowledge, 1059
CAN baud rate, 1060
CAN serial bus commands, 1057
CAN signal definition, 1061
CAN source, 1063
CAN trigger, 1064, 1068
CAN trigger data pattern, 1067
CAN trigger ID pattern, 1070
CAN trigger pattern id mode, 1071
CAN, :SBUS<N>:CAN:FDSPoint
command/query, 1058
CAN, :SBUS<N>:CAN:SAMPlepoint
command/query, 1059
CAN, :SBUS<N>:CAN:SIGNal:BAUDrate
command/query, 1060
CAN, :SBUS<N>:CAN:SIGNal:DEFinition
command/query, 1061
CAN, :SBUS<N>:CAN:SIGNal:FDBaudrate
command/query, 1062
CAN, :SBUS<N>:CAN:SOURce
command/query, 1063
CAN, :SBUS<N>:CAN:TRIGger
command/query, 1064
CAN, :SBUS<N>:CAN:TRIGger:PATTern:DATA
command/query, 1067
CAN,
:SBUS<N>:CAN:TRIGger:PATTern:DATA:
LENGth command/query, 1068
CAN, :SBUS<N>:CAN:TRIGger:PATTern:ID
command/query, 1070
CAN,
:SBUS<N>:CAN:TRIGger:PATTern:ID:MO
DE command/query, 1071
CAN, :SBUS<N>:CAN:TYPE
command/query, 1072
CANCel, :SELFtest:CANCel command, 1132
CCBase,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC
Base command/query, 1079
CCRepetition,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC
Repetition command/query, 1080
CDIRectory, :DISK:CDIRectory
command, 444
CDRRate, :MEASure:CDRRate
command, 752
center screen voltage, 346, 358
CFRequency,
:ANALyze:SIGNal:MMWave:CFRequency
command/query, 274
CGRade, :DISPlay:CGRade
command/query, 469
CGRade, :DISPlay:CGRade:LEVels?
query, 471
CGRade, :DISPlay:CGRade:SCHeme
command/query, 473
CGRade, :MEASure:CGRade:CROSsing
command/query, 753
CGRade, :MEASure:CGRade:DCDistortion
command/query, 754
CGRade, :MEASure:CGRade:EHEight
command/query, 755
CGRade, :MEASure:CGRade:EWIDth
command/query, 757
CGRade, :MEASure:CGRade:EWINdow
command/query, 759
CGRade, :MEASure:CGRade:JITTer
command/query, 761
CGRade, :MEASure:CGRade:OLEVel
command/query, 762
CGRade, :MEASure:CGRade:QFACtor
command/query, 763
CGRade, :MEASure:CGRade:ZLEVel
command/query, 764
CGRade, :WAVeform:CGRade:HEIGht?
query, 1420
CGRade, :WAVeform:CGRade:WIDTh?
query, 1421
Channel Commands, 311
CHANnel, :HOSTed:CALibrate:CHANnel
command/query, 588
CHANnel, :SBUS<N>:FLEXray:CHANnel
command/query, 1075
CHANnels, :AUToscale:CHANnels
command, 1022
CHANnels,
:HOSTed:CALibrate:DESKew:CHANnels
command, 589
CHANnels,
:HOSTed:CALibrate:STATus:CHANnels?
query, 596
channels, and VIEW, 1463
channel-to-channel skew factor, 307
character program data, 114
CHARge, :MEASure:CHARge
command/query, 765
CLASsic color grade scheme, 473
Clear method, 123
Clear Status (*CLS) command, 415
CLEar, :ANALyze:SIGNal:PATTern:CLEar
command, 278
CLEar, :BUS<B>:CLEar
command/query, 292
CLEar, :MEASure:CLEar command, 766
CLEar, :WMEMory<R>:CLEar
command, 1481
Clearing, Buffers, 147
clearing, DONE bit, 169
clearing, error queue, 173, 1580
Clearing, Pending Commands, 147
clearing, registers and queues, 176
clearing, Standard Event Status
Register, 163, 418
clearing, status data structures, 415
clearing, TRG bit, 162, 171
clipped waveform data values, 1445
clipped waveforms, and measurement
error, 744
clock timeout, SPI, 1112
CLOCk, :ANALyze:CLOCk
command/query, 246
CLOCk, :ANALyze:CLOCk:METHod
command/query, 247
CLOCk, :ANALyze:CLOCk:METHod:ALIGn
command/query, 250
CLOCk,
:ANALyze:CLOCk:METHod:DEEMphasis
command/query, 252
CLOCk, :ANALyze:CLOCk:METHod:EDGE
command/query, 253
CLOCk, :ANALyze:CLOCk:METHod:IDLe
command/query, 255
CLOCk, :ANALyze:CLOCk:METHod:JTF
command/query, 256
CLOCk, :ANALyze:CLOCk:METHod:OJTF
command/query, 259
CLOCk, :ANALyze:CLOCk:METHod:PAM:B03
command/query, 1535
CLOCk, :ANALyze:CLOCk:METHod:PAM:B12
command/query, 1537
CLOCk,
:ANALyze:CLOCk:METHod:PAM:NONSy
mmetric command/query, 1539
CLOCk, :ANALyze:CLOCk:METHod:PLLTrack
command/query, 262
CLOCk, :ANALyze:CLOCk:METHod:SKEW
command/query, 263
CLOCk, :ANALyze:CLOCk:METHod:SOURce
command/query, 264
CLOCk, :ANALyze:CLOCk:VERTical
command/query, 265
CLOCk, :ANALyze:CLOCk:VERTical:OFFSet
command/query, 266
CLOCk, :ANALyze:CLOCk:VERTical:RANGe
command/query, 267
CLOCk, :BUS<B>:CLOCk
command/query, 293
CLOCk, :BUS<B>:CLOCk:SLOPe
command/query, 294
CLOCk, :MEASure:CLOCk
command/query, 1548
CLOCk, :MEASure:CLOCk:METHod
command/query, 1549, 1551
CLOCk, :MEASure:CLOCk:METHod:ALIGn
command/query, 1553
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1755
CLOCk,
:MEASure:CLOCk:METHod:DEEMphasis
command/query, 1555
CLOCk, :MEASure:CLOCk:METHod:EDGE
command/query, 1556
CLOCk, :MEASure:CLOCk:METHod:JTF
command/query, 1558
CLOCk, :MEASure:CLOCk:METHod:OJTF
command/query, 1560
CLOCk, :MEASure:CLOCk:METHod:PLLTrack
command/query, 1562
CLOCk, :MEASure:CLOCk:METHod:SOURce
command/query, 1563
CLOCk, :MEASure:CLOCk:VERTical
command/query, 1564
CLOCk, :MEASure:CLOCk:VERTical:OFFSet
command/query, 1565
CLOCk, :MEASure:CLOCk:VERTical:RANGe
command/query, 1566
CLOCk, :MEASure:RJDJ:CLOCk
command/query, 904
CLOCk, :SBUS<N>:IIC:SOURce:CLOCk
command/query, 1093
CLOCk, :SBUS<N>:SPI:BITorder
command/query, 1110
CLOCk, :SBUS<N>:SPI:CLOCk:SLOPe
command/query, 1111
CLOCk, :SBUS<N>:SPI:CLOCk:TIMeout
command/query, 1112
CLOCk, :SBUS<N>:SPI:SOURce:CLOCk
command/query, 1114
CLOCk, :TRIGger:ADVanced:STATe:CLOCk
command/query, 1341
CLOCk, :TRIGger:GBSerial:CLOCk
command/query, 1253
CLOCk,
:TRIGger:GBSerial:CLOCk:FREQuency
command/query, 1254
CLOCk, :TRIGger:STATe:CLOCk
command/query, 1298
CME bit, 416, 418
code, SCPI.NET library example in
C#, 1706
code, SCPI.NET library example in
IronPython, 1720
code, SCPI.NET library example in Visual
Basic .NET, 1713
code, SICL library example in C, 1687
code, SICL library example in Visual
Basic, 1696
code, VISA COM library example in
C#, 1603
code, VISA COM library example in
Python, 1622
code, VISA COM library example in Visual
Basic, 1592
code, VISA COM library example in Visual
Basic .NET, 1613
code, VISA library example in C, 1630
code, VISA library example in C#, 1649
code, VISA library example in
Python, 1673, 1679
code, VISA library example in Visual
Basic, 1639
code, VISA library example in Visual Basic
.NET, 1661
COL, :DISPlay:STATus:COL command
query, 502
color grade (pixel) database count values,
getting, 1464
COLumn, :DISPlay:COLumn
command/query, 1541
combining compound and simple
commands, 119
combining, commands in same
subsystem, 111
combining, long- and short-form
headers, 113
COMM, :TRIGger:ADVanced:COMM:BWIDth
command/query, 1328
COMM, :TRIGger:ADVanced:COMM:ENCode
command/query, 1329
COMM, :TRIGger:ADVanced:COMM:LEVel
command/query, 1330
COMM, :TRIGger:ADVanced:COMM:PATTern
command/query, 1331
COMM, :TRIGger:ADVanced:COMM:POLarity
command/query, 1332
COMM, :TRIGger:ADVanced:COMM:SOURce
command/query, 1333
COMM, :TRIGger:COMM:BWIDth
command/query, 1233
COMM, :TRIGger:COMM:ENCode
command/query, 1234
COMM, :TRIGger:COMM:PATTern
command/query, 1235
COMM, :TRIGger:COMM:POLarity
command/query, 1236
COMM, :TRIGger:COMM:SOURce
command/query, 1237
Command and Data Concepts, GPIB, 142
Command Error, 1582
Command Error, Status Bit, 154
Command Expert, 1706
Command tree, 203
Command Types, 203
Command, DIGitize, 126
command, execution and order, 151
Command, GPIB Mode, 142
command, structure, 125
Command, TRIGger MODE, 1216
commands embedded in program
messages, 118
commands, obsolete and
discontinued, 1531
commas and spaces, 109
Common Command Header, 111
Common Commands, 413
Common Commands, Reset (*RST), 428
Common Commands, within a program
message, 413
commonmode voltage of operands, 513
COMMonmode,
:CHANnel<N>:COMMonmode
command/query, 315
COMMonmode,
:FUNCtion<F>:COMMonmode
command, 513
Communicating Over the GPIB
Interface, 143
Communicating Over the LAN
Interface, 144
COMPlete, :ACQuire:COMPlete
command/query, 217
COMPlete, :ACQuire:COMPlete:STATe
command/query, 219
COMPlete?, :WAVeform:COMPlete?
query, 1422
COMPosite, :DISK:SAVE:COMPosite
command, 451
compound command header, 110
compound queries, 151
Computer Code and Capability, 141
computer control examples, 1591
concurrent commands, 135
CONDition,
:MEASure:QUALifier<M>:CONDition
command/query, 890
CONDition,
:TRIGger:ADVanced:PATTern:CONDition
command/query, 1336
CONDition, :TRIGger:PATTern:CONDition
command/query, 1268
CONDition, :TRIGger:TIMeout:CONDition
command/query, 1303
CONDition, :TRIGger:WINDow:CONDition
command/query, 1323
CONFigure,
:HOSTed:FOLLower<N>:CONFigure
command, 602
CONFigure, :HOSTed:LEADer:CONFigure
command, 606
connect oscilloscope, 93
CONNect,
:ANALyze:SIGNal:MMWave:CONNect
command/query, 275
CONNect, :DISPlay:CONNect
command/query, 475
CONNect, :HOSTed:FOLLower<N>:CONNect
command, 603
CONNect, :HOSTed:LEADer:CONNect
command, 607
Connection Expert, 94
CONTrol<N>,
:FUNCtion<F>:MATLab:CONTrol<N>
command/query, 546
conventions of programming, 201
converting waveform data, from data value
to Y-axis units, 1416
CONVolve, :CHANnel<N>:ISIM:CONVolve
command/query, 335
COPY, :DISK:COPY command, 445
copying files, 445
copyright, 2
1756 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
CORRection,
:CHANnel<N>:ISIM:CORRection
command/query, 336
COUNt, :ACQuire:AVERage:COUNt
command/query, 212
COUNt, :ACQuire:SEGMented:COUNt
command/query, 233
COUNt, :MTESt:AVERage:COUNt
command/query, 681
COUNt, :MTESt:COUNt:FAILures?
query, 682
COUNt, :MTESt:COUNt:FUI? query, 683
COUNt, :MTESt:COUNt:FWAVeforms?
query, 684
COUNt, :MTESt:COUNt:MARGin:FAILures?
query, 685
COUNt, :MTESt:COUNt:SUI? query, 686
COUNt, :MTESt:COUNt:UI? query, 687
COUNt, :MTESt:COUNt:WAVeforms?
query, 688
COUNt, :MTESt:FOLDing:COUNt
query, 1575
COUNt, :MTESt:FOLDing:COUNt:UI
query, 695
COUNt, :MTESt:FOLDing:COUNt:WAVeforms
query, 697
COUNt, :TRIGger:DELay:EDELay:COUNt
command/query, 1241
COUNt, :WMEMory<R>:SEGMented:COUNt?
query, 1485
COUNt?, :WAVeform:COUNt? query, 1423
COUNt?, :WAVeform:SEGMented:COUNt?
query, 1456
COUPling, :CHANnel<N>:PROBe:COUPling
command/query, 351
COUPling, :TRIGger:EDGE:COUPling
command/query, 1249
coupling, input, 327
COUPling?, :WAVeform:COUPling?
query, 1424
CPOWer, :MEASure:FFT:CPOWer
command/query, 791
CREate, :MTESt:AMASk:CREate
command, 672
CROSsing, :MEASure:CGRade:CROSsing
command/query, 753
CROSsing, :MEASure:CROSsing
command/query, 767
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce command/query, 1393
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:EDGE
command/query, 1395
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:LEVel
command/query, 1394
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce command/query, 1386
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:EDGE
command/query, 1388
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:LEVel
command/query, 1387
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce command/query, 1400
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:EDGE
command/query, 1402
CSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:LEVel
command/query, 1401
CSOurce, :TRIGger:SHOLd:CSOurce
command/query, 1291
CSOurce, :TRIGger:SHOLd:CSOurce:EDGE
command/query, 1292
CTCDutycycle, :MEASure:CTCDutycycle
command/query, 768
CTCJitter, :MEASure:CTCJitter
command/query, 770
CTCNwidth, :MEASure:CTCNwidth
command/query, 772
CTCPwidth, :MEASure:CTCPwidth
command/query, 774
CTLequalizer,
:SPRocessing:CTLequalizer:ACGain
command/query, 1137
CTLequalizer,
:SPRocessing:CTLequalizer:DCGain
command/query, 1138
CTLequalizer,
:SPRocessing:CTLequalizer:DISPlay
command/query, 1139
CTLequalizer,
:SPRocessing:CTLequalizer:NUMPoles
command/query, 1140
CTLequalizer, :SPRocessing:CTLequalizer:P1
command/query, 1141
CTLequalizer, :SPRocessing:CTLequalizer:P2
command/query, 1142
CTLequalizer, :SPRocessing:CTLequalizer:P3
command/query, 1143
CTLequalizer,
:SPRocessing:CTLequalizer:RATe
command/query, 1144
CTLequalizer,
:SPRocessing:CTLequalizer:SOURce
command/query, 1145
CTLequalizer,
:SPRocessing:CTLequalizer:VERTical
command/query, 1146
CTLequalizer,
:SPRocessing:CTLequalizer:VERTical:OF
FSet command/query, 1147
CTLequalizer,
:SPRocessing:CTLequalizer:VERTical:RA
NGe command/query, 1148
CTLequalizer, :SPRocessing:CTLequalizer:Z1
command/query, 1149
CTLequalizer, :SPRocessing:CTLequalizer:Z2
command/query, 1150
CTLequalizer,
:SPRocessing:CTLequalizer:ZERo
command/query, 1577
CURSor?, :MARKer:CURSor? query, 648
D
data in a :SYSTem:SETup command, 102
data in a program, 109
Data Mode, GPIB, 142
data pattern length, 1068
data pattern, CAN trigger, 1067
data source, SPI trigger, 1116
Data Structures, and Status Reporting, 156
data transmission mode, and
FORMat, 1447
DATA,
:CHANnel<N>:SIMulation:DATA:LENGth
command/query, 380
DATA, :CHANnel<N>:SIMulation:DATA:ODD
command/query, 381
DATA, :CHANnel<N>:SIMulation:DATA:PAM
command/query, 382
DATA,
:CHANnel<N>:SIMulation:DATA:RESeed
command/query, 383
DATA,
:CHANnel<N>:SIMulation:DATA:SELecti
on command/query, 384
DATA, :DISPlay:DATA? query, 476
DATA,
:SBUS<N>:CAN:TRIGger:PATTern:DATA
command/query, 1067
DATA,
:SBUS<N>:CAN:TRIGger:PATTern:DATA:
LENGth command/query, 1068
DATA, :SBUS<N>:IIC:SOURce:DATA
command/query, 1094
DATA,
:SBUS<N>:IIC:TRIGger:PATTern:ADDRes
s command/query, 1097
DATA, :SBUS<N>:LIN:TRIGger:PATTern:DATA
command/query, 1107
DATA,
:SBUS<N>:LIN:TRIGger:PATTern:DATA:L
ENGth command/query, 1108
DATA, :SBUS<N>:SPI:SOURce:DATA
command/query, 1116
DATA, :SBUS<N>:SPI:TRIGger:PATTern:DATA
command/query, 1122
data, acquisition, 1416
data, conversion, 1416
DATA?, :LISTer:DATA? query, 644
DATA?, :WAVeform:DATA? query, 1425
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1757
DATA?, Analog Channels C Program, 1427
DATA?, Digital Channels C Program, 1433
DATarate, :ANALyze:SIGNal:DATarate
command/query, 268
DATarate, :MEASure:DATarate
command/query, 776
DATE, :CALibrate:DATE? query, 301
DATE, :SYSTem:DATE
command/query, 1182
DCDistortion,
:MEASure:CGRade:DCDistortion
command/query, 754
DCGain, :SPRocessing:CTLequalizer:DCGain
command/query, 1138
DCYCle,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:DCYCle command/query, 393
DDE bit, 416, 418
DDPWS, :MEASure:DDPWS
command/query, 80, 1567
DEBug, :SYSTem:DEBug
command/query, 1183
decimal 32 (ASCII space), 104
Decision Chart for Status Reporting, 177
decode type, SPI, 1128
DEConvolve,
:CHANnel<N>:ISIM:DEConvolve
command/query, 338
DEEMphasis,
:ANALyze:CLOCk:METHod:DEEMphasis
command/query, 252
DEEMphasis,
:MEASure:CLOCk:METHod:DEEMphasis
command/query, 1555
DEEMphasis, :MEASure:DEEMphasis
command/query, 778
default setup, 1195
Default Setup front panel key, 1195
Default Startup Conditions, 140
DEFault, :HISTogram:WINDow:DEFault
command, 579
Default, GPIB Address, 143
Default, Startup Conditions, 140
DEFine, :MEASure:DELTatime:DEFine
command/query, 782
defining functions, 506
DEFinition,
:SBUS<N>:CAN:SIGNal:DEFinition
command/query, 1061
def-length block response data, 131
delay trigger modes, 1346, 1355
DELay, :CHANnel<N>:ISIM:DELay
command/query, 339
DELay,
:CHANnel<N>:PROBe:PRECprobe:DELay
command, 370
DELay, :FUNCtion<F>:DELay
command, 514
DELay, :ISCan:DELay command/query, 612
DELay,
:SPRocessing:DFEQualizer:TAP:DELay
command/query, 1156
DELay, :SPRocessing:FFEQualizer:TAP:DELay
command/query, 1173
DELay, :TIMebase:WINDow:DELay
command/query, 1210
DELay,
:TRIGger:ADVanced:DELay:EDLY:ARM:SL
OPe command/query, 1349
DELay,
:TRIGger:ADVanced:DELay:EDLY:ARM:S
OURce command/query, 1348
DELay,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
DELay command/query, 1350
DELay,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SLOPe command/query, 1352
DELay,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SOURce command/query, 1351
DELay,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SLOPe command/query, 1354
DELay,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SOURce command/query, 1353
DELay,
:TRIGger:ADVanced:DELay:TDLY:ARM:SL
OPe command/query, 1358
DELay,
:TRIGger:ADVanced:DELay:TDLY:ARM:S
OURce command/query, 1357
DELay,
:TRIGger:ADVanced:DELay:TDLY:DELay
command/query, 1359
DELay,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SLOPe command/query, 1361
DELay,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SOURce command/query, 1360
DELay, :TRIGger:DELay:ARM:SLOPe
command/query, 1240
DELay, :TRIGger:DELay:ARM:SOURce
command/query, 1239
DELay, :TRIGger:DELay:EDELay:COUNt
command/query, 1241
DELay, :TRIGger:DELay:EDELay:SLOPe
command/query, 1243
DELay, :TRIGger:DELay:EDELay:SOURce
command/query, 1242
DELay, :TRIGger:DELay:MODE
command/query, 1244
DELay, :TRIGger:DELay:TDELay:TIME
command/query, 1245
DELay, :TRIGger:DELay:TRIGger:SLOPe
command/query, 1247
DELay, :TRIGger:DELay:TRIGger:SOURce
command/query, 1246
delay, and WINDow DELay, 1210
DELete, :CHANnel<N>:PROBe:HEAD:DELete
command, 362
DELete, :DISK:DELete command, 446
DELete, :DISPlay:BOOKmark<N>:DELete
command, 463
DELete, :MTESt:DELete command, 689
deleting files, 446
DELTa, :MARKer:DELTa
command/query, 649
DELTatime, :MEASure:DELTatime
command/query, 780
DELTatime, :MEASure:DELTatime:DEFine
command/query, 782
derivative function, 515
DESCramble, :SBUS<N>:HS:DESCramble
command/query, 1087
DESKew,
:HOSTed:CALibrate:DESKew:CHANnels
command, 589
DESKew,
:HOSTed:CALibrate:DESKew:FRAMes
command, 590
DESKew,
:HOSTed:CALibrate:DESKew:SIGNals
command, 591
DESKew, :HOSTed:CALibrate:DESKew:ZERO
command, 592
DETect, :HOSTed:CALibrate:TREF:DETect
command, 600
DETector,
:FUNCtion<F>:FFT:DETector:POINts
command/query, 518
DETector, :FUNCtion<F>:FFT:DETector:TYPE
command/query, 519
Device Address, GPIB, 143
Device Address, LAN, 144
Device Clear (DCL), 147
Device Clear Code and Capability, 141
Device Clear to abort a sequential (blocking)
command, 136
Device Dependent Error (DDE), Status
Bit, 154
Device- or Oscilloscope-Specific
Error, 1584
Device Trigger Code and Capability, 141
device-dependent data, 131
DFEQualizer,
:SPRocessing:DFEQualizer:NTAPs
command/query, 1151
DFEQualizer,
:SPRocessing:DFEQualizer:SOURce
command/query, 1152
DFEQualizer,
:SPRocessing:DFEQualizer:STATe
command/query, 1153
DFEQualizer, :SPRocessing:DFEQualizer:TAP
command/query, 1154
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:AUToma
tic command, 1155
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:DELay
command/query, 1156
1758 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:GAIN
command/query, 1157
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:LTARget
command/query, 1158
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:MAX
command/query, 1159
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:MIN
command/query, 1160
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:NORMal
ize command/query, 1161
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:UTARget
command/query, 1162
DFEQualizer,
:SPRocessing:DFEQualizer:TAP:WIDTh
command/query, 1163
DFRequency, :MEASure:FFT:DFRequency
command/query, 792
DIFF, :FUNCtion<F>:DIFF command, 515
DIFFerential, :CHANnel<N>:DIFFerential
command/query, 316
DIFFerential,
:CHANnel<N>:DIFFerential:SKEW
command/query, 317
Digital Commands, 437
DIGital, :ACQuire:POINts:DIGital?
query, 228
DIGital, :ACQuire:SRATe:DIGital
command/query, 240
DIGital, :ACQuire:SRATe:DIGital:AUTO
command/query, 241
Digitize, Aborting, 147
DIGitize, setting up for execution, 210
DIRection,
:TRIGger:ADVanced:VIOLation:PWIDth:D
IRection command/query, 1378
DIRection, :TRIGger:PWIDth:DIRection
command/query, 1271
DIRection, :TRIGger:TRANsition:DIRection
command/query, 1307
DIRectory, :DISK:DIRectory? query, 447
Disabling Serial Poll, 147
DISConnect,
:HOSTed:FOLLower<N>:DISConnect
command, 604
DISConnect, :HOSTed:LEADer:DISConnect
command, 608
discontinued and obsolete
commands, 1531
discrete derivative function, 515
Disk Commands, 443
Disk Commands, SEGMented, 460
display colors, default setup and, 1196
Display Commands, 461
display persistence, 493
DISPlay, :BUS<B>:DISPlay
command/query, 295
DISPlay, :CHANnel<N>:DISPlay
command/query, 318
DISPlay, :CHANnel<N>:DISPlay:AUTO
command/query, 319
DISPlay, :CHANnel<N>:DISPlay:OFFSet
command/query, 321
DISPlay, :CHANnel<N>:DISPlay:RANGe
command/query, 323
DISPlay, :CHANnel<N>:DISPlay:SCALe
command/query, 325
DISPlay, :DIGital<N>:DISPlay
command/query, 438
DISPlay, :FUNCtion<F>:DISPlay
command/query, 516
DISPlay, :LISTer:DISPlay
command/query, 645
DISPlay, :MEASure:THResholds:DISPlay
command/query, 931
DISPlay, :POD<N>:DISPlay
command/query, 1010
DISPlay, :SPRocessing:CTLequalizer:DISPlay
command/query, 1139
DISPlay, :SPRocessing:FFEQualizer:DISPlay
command/query, 1166
DISPlay, :WMEMory<R>:DISPlay
command/query, 1482
display, serial decode bus, 1055
DIVide, :FUNCtion<F>:DIVide
command, 517
dividing functions, 517
DMAGnitude, :MEASure:FFT:DMAGnitude
command/query, 794
DONTtabmeas, :SYSTem:DONTtabmeas
command/query, 1185
DPRinter, :HARDcopy:DPRinter
command/query, 567
DRATe, :CHANnel<N>:SIMulation:DRATe
command/query, 385
DRATe, :TRIGger:GBSerial:DRATe
command/query, 1256
Driver Electronics Code and Capability, 141
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce command/query, 1396
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:HTHReshold
command/query, 1397
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:LTHReshold
command/query, 1398
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce command/query, 1389
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:HTHReshold
command/query, 1390
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:LTHReshold
command/query, 1391
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce command/query, 1403
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:HTHReshold
command/query, 1404
DSOurce,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:LTHReshold
command/query, 1405
DSOurce, :TRIGger:SHOLd:DSOurce
command/query, 1293
DSP, :SYSTem:DSP command/query, 1186
duplicate mnemonics, 111
duty cycle - duty cycle measurement, 768
DUTYcycle, :MEASure:DUTYcycle
command/query, 784
E
EADapter, :CHANnel<N>:PROBe:EADapter
command/query, 352
ECOupling, :CHANnel<N>:PROBe:ECOupling
command/query, 355
EDELay, :TRIGger:DELay:EDELay:COUNt
command/query, 1241
EDELay, :TRIGger:DELay:EDELay:SLOPe
command/query, 1243
EDELay, :TRIGger:DELay:EDELay:SOURce
command/query, 1242
edge trigger slope, default setup, 1195
edge trigger source, default setup, 1195
EDGE, :ANALyze:CLOCk:METHod:EDGE
command/query, 253
EDGE, :ISCan:NONMonotonic:EDGE
command/query, 618
EDGE, :MEASure:CLOCk:METHod:EDGE
command/query, 1556
EDGE, :MEASure:EDGE
command/query, 785
EDGE, :MEASure:RJDJ:EDGE
command/query, 905
EDGE,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:EDGE
command/query, 1395
EDGE,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:EDGE
command/query, 1388
EDGE,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:EDGE
command/query, 1402
EDGE, :TRIGger:EDGE:COUPling
command/query, 1249
EDGE, :TRIGger:EDGE:SLOPe
command/query, 1250
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1759
EDGE, :TRIGger:EDGE:SOURce
command/query, 1251
EDGE, :TRIGger:SHOLd:CSOurce:EDGE
command/query, 1292
edges, measure all, 745, 784, 785, 787,
802, 818, 853, 854, 859, 880, 882,
885, 886, 923, 925, 986, 998, 1000,
1572
EDLY,
:TRIGger:ADVanced:DELay:EDLY:ARM:SL
OPe command/query, 1349
EDLY,
:TRIGger:ADVanced:DELay:EDLY:ARM:S
OURce command/query, 1348
EDLY,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
DELay command/query, 1350
EDLY,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SLOPe command/query, 1352
EDLY,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SOURce command/query, 1351
EDLY,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SLOPe command/query, 1354
EDLY,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SOURce command/query, 1353
EHEight, :MEASure:CGRade:EHEight
command/query, 755
ELEVel, :MEASure:PAM:ELEVel
command/query, 861
Ellipsis, ..., 106
ELMethod, :MEASure:PAM:EYE:ELMethod
command/query, 866
embedded, commands, 118
embedded, strings, 101, 102, 116
Enable Register, 414
ENABle,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:ENABle command/query, 398
ENABle,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:ENABle command/query, 405
ENABle, :MTESt:ENABle
command/query, 690
ENABLE, :TIMebase:ROLL:ENABLE
command/query, 1207
ENABle, :TRIGger:AND:ENABle
command/query, 1218
ENABle, :TRIGger:SEQuence:RESet:ENABle
command/query, 1284
ENABle, :TRIGger:SEQuence:WAIT:ENABle
command/query, 1288
ENABle, :XTALk:ENABle
command/query, 1495
ENABle, :XTALk<X>:ENABle
command/query, 1518
ENCode,
:TRIGger:ADVanced:COMM:ENCode
command/query, 1329
ENCode, :TRIGger:COMM:ENCode
command/query, 1234
End Of String (EOS), 117
End Of Text (EOT), 117
End-Or-Identify (EOI), 117
ENUMber,
:TRIGger:ADVanced:TV:UDTV:ENUMber
command/query, 1370
ENUMber, :TRIGger:TV:UDTV:ENUMber
command/query, 1317
EOI and IEEE 488.2, 208
EOJ, :MEASure:PAM:EOJ
command/query, 863
ERATio, :MEASure:ERATio
command/query, 786
error messages, 1579
Error Messages table, 1586
error queue, 1580
error queue, and status reporting, 173
error queue, overflow, 1580
ERRor,
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE
command/query, 1078
error, in measurements, 743
error, numbers, 1581
error, query interrupt, 112, 128
ERRor?, :SYSTem:ERRor? query, 1187
errors, exceptions to protocol, 151
ESB (Event Status Bit), 155, 430, 432
ESB (Event Summary Bit), 416
ESKew, :MEASure:PAM:ESKew
command/query, 864
ESR (Standard Event Status Register), 163
ESTiming, :MEASure:PAM:EYE:ESTiming
command/query, 867
ETIMe acquisition mode, 223
ETOedge, :MEASure:ETOedge
command, 787
event monitoring, 153
Event Registers Default, 140
Event Status Bit (ESB), 155
Event Status Enable (*ESE), Status
Reporting, 164
Event Status Register (*ESR?) query, 418
Event Summary Bit (ESB), 416
EVENt,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
DELay command/query, 1350
EVENt,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SLOPe command/query, 1352
EVENt,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SOURce command/query, 1351
EVENt, :TRIGger:SEQuence:RESet:EVENt
command, 1286
EWIDth, :MEASure:CGRade:EWIDth
command/query, 757
EWINdow, :MEASure:CGRade:EWINdow
command/query, 759
Example Program, 125
Example Program, in initialization, 125
example programs, 1591
exceptions to protocol, 151
EXE bit, 416, 418
executing DIGITIZE, 210
Execution Error, 1583
Execution Error (EXE), Status Bit, 154
execution errors and command
errors, 1582
execution, of commands and order, 151
exponential notation, 115
exponents, 115
EXTernal, :CHANnel<N>:PROBe:EXTernal
command/query, 356
EXTernal,
:CHANnel<N>:PROBe:EXTernal:GAIN
command/query, 357
EXTernal,
:CHANnel<N>:PROBe:EXTernal:OFFSet
command/query, 358
EXTernal,
:CHANnel<N>:PROBe:EXTernal:UNITs
command/query, 359
eye center location, PAM measurement
definition, 866
eye level width, PAM measurement
definition, 868
EYE, :MEASure:PAM:EYE:ELMethod
command/query, 866
EYE, :MEASure:PAM:EYE:ESTiming
command/query, 867
EYE, :MEASure:PAM:EYE:PPERcent
command/query, 868
EYE, :MEASure:PAM:EYE:TIME:LTDefinition
command/query, 869
F
FACTors, :HARDcopy:FACTors
command/query, 568
FAIL, :ISCan:MEASurement:FAIL
command/query, 613
FAIL, :LTESt:FAIL command/query, 635
FAILures, :MTESt:COUNt:MARGin:FAILures?
query, 685
FAILures?, :MTESt:COUNt:FAILures?
query, 682
fall time measurement setup, 743
FALLtime, :MEASure:FALLtime
command/query, 789
FAST, :MTESt:FOLDing:FAST
command/query, 699
Fast, Worst Case Only option, 78, 699
FDBaudrate,
:SBUS<N>:CAN:SIGNal:FDBaudrate
command/query, 1062
FDSPoint, :SBUS<N>:CAN:FDSPoint
command/query, 1058
FFEQualizer,
:SPRocessing:FFEQualizer:BANDwidth
command/query, 1164
1760 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
FFEQualizer,
:SPRocessing:FFEQualizer:BWMode
command/query, 1165
FFEQualizer,
:SPRocessing:FFEQualizer:DISPlay
command/query, 1166
FFEQualizer,
:SPRocessing:FFEQualizer:NPRecursor
command/query, 1167
FFEQualizer,
:SPRocessing:FFEQualizer:NTAPs
command/query, 1168
FFEQualizer,
:SPRocessing:FFEQualizer:RATe
command/query, 1169
FFEQualizer,
:SPRocessing:FFEQualizer:SOURce
command/query, 1170
FFEQualizer, :SPRocessing:FFEQualizer:TAP
command/query, 1171
FFEQualizer,
:SPRocessing:FFEQualizer:TAP:AUTomat
ic command, 1172
FFEQualizer,
:SPRocessing:FFEQualizer:TAP:DELay
command/query, 1173
FFEQualizer,
:SPRocessing:FFEQualizer:TAP:WIDTh
command/query, 1174
FFEQualizer,
:SPRocessing:FFEQualizer:TDELay
command/query, 1175
FFEQualizer,
:SPRocessing:FFEQualizer:TDMode
command/query, 1176
FFEQualizer,
:SPRocessing:FFEQualizer:VERTical
command/query, 1177
FFEQualizer,
:SPRocessing:FFEQualizer:VERTical:OFF
Set command/query, 1178
FFEQualizer,
:SPRocessing:FFEQualizer:VERTical:RA
NGe command/query, 1179
FFT Commands, 742
FFT resolution, 522
FFT, :FUNCtion<F>:FFT:DETector:POINts
command/query, 518
FFT, :FUNCtion<F>:FFT:DETector:TYPE
command/query, 519
FFT, :FUNCtion<F>:FFT:FREQuency
command/query, 520
FFT, :FUNCtion<F>:FFT:REFerence
command/query, 521
FFT, :FUNCtion<F>:FFT:RESolution
command/query, 522
FFT, :FUNCtion<F>:FFT:SPAN
command/query, 524
FFT, :FUNCtion<F>:FFT:STOP
command/query, 525
FFT, :FUNCtion<F>:FFT:TDELay
command/query, 526
FFT, :FUNCtion<F>:FFT:VUNits
command/query, 527
FFT, :FUNCtion<F>:FFT:WINDow
command/query, 528
FFT, :MEASure:FFT:CPOWer
command/query, 791
FFT, :MEASure:FFT:DFRequency
command/query, 792
FFT, :MEASure:FFT:DMAGnitude
command/query, 794
FFT, :MEASure:FFT:FREQuency
command/query, 796
FFT, :MEASure:FFT:MAGNitude
command/query, 798
FFT, :MEASure:FFT:OBW
command/query, 800
FFT, :MEASure:FFT:PEAK1
command/query, 1569
FFT, :MEASure:FFT:PEAK2
command/query, 1570
FFT, :MEASure:FFT:PSD
command/query, 801
FFT, :MEASure:FFT:THReshold
command/query, 1571
FFTMagnitude, :FUNCtion<F>:FFTMagnitude
command, 530
FFTPhase, :FUNCtion<F>:FFTPhase
command, 531
FIELd, :TRIGger:ADVanced:TV:STV:FIELd
command/query, 1364
FILTer,
:CHANnel<N>:SIMulation:FILTer:ISIM:A
DDRess command/query, 386
FILTer,
:CHANnel<N>:SIMulation:FILTer:ISIM:PE
XTraction command/query, 387
FILTer,
:CHANnel<N>:SIMulation:FILTer:SELecti
on command/query, 388
FLEXray serial bus commands, 1073
FLEXray, :SBUS<N>:FLEXray:BAUDrate
command/query, 1074
FLEXray, :SBUS<N>:FLEXray:CHANnel
command/query, 1075
FLEXray, :SBUS<N>:FLEXray:SOURce
command/query, 1076
FLEXray, :SBUS<N>:FLEXray:TRIGger
command/query, 1077
FLEXray,
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE
command/query, 1078
FLEXray,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC
Base command/query, 1079
FLEXray,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC
Repetition command/query, 1080
FLEXray,
:SBUS<N>:FLEXray:TRIGger:FRAMe:ID
command/query, 1081
FLEXray,
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYP
E command/query, 1082
FLOad,
:CHANnel<N>:SIMulation:FLOad:ADDRe
ss command/query, 389
FLOad,
:CHANnel<N>:SIMulation:FLOad:LOOP
command/query, 390
FLOat, waveform data FORMat, 1448
flow, programming, 184
FOLDing, :MTESt:FOLDing
command/query, 691
FOLDing, :MTESt:FOLDing:BITS
command/query, 693
FOLDing, :MTESt:FOLDing:COUNt
query, 1575
FOLDing, :MTESt:FOLDing:COUNt:UI
query, 695
FOLDing,
:MTESt:FOLDing:COUNt:WAVeforms
query, 697
FOLDing, :MTESt:FOLDing:FAST
command/query, 699
FOLDing, :MTESt:FOLDing:POSition
command/query, 701
FOLDing, :MTESt:FOLDing:SCALe
command/query, 703
FOLDing, :MTESt:FOLDing:TPOSition
command/query, 705
FOLDing, :MTESt:FOLDing:TSCale
command/query, 707
FOLLower<N>,
:HOSTed:FOLLower<N>:ACHannels?
query, 601
FOLLower<N>,
:HOSTed:FOLLower<N>:CONFigure
command, 602
FOLLower<N>,
:HOSTed:FOLLower<N>:CONNect
command, 603
FOLLower<N>,
:HOSTed:FOLLower<N>:DISConnect
command, 604
FORMat, :SBUS<N>:HS:FORMat
command/query, 1088
FORMat, :WAVeform:FORMat
command/query, 1447
FORMat, and DATA, 1427
FormattedIO488 object, 122
formatting query responses, 1181
fractional values, 115
FRAMe, :ACQuire:BANDwidth:FRAMe?
query, 215
FRAMe,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC
Base command/query, 1079
FRAMe,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC
Repetition command/query, 1080
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1761
FRAMe,
:SBUS<N>:FLEXray:TRIGger:FRAMe:ID
command/query, 1081
FRAMe,
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYP
E command/query, 1082
FRAMe, :SBUS<N>:SPI:FRAMe:STATe
command/query, 1113
FRAMe, :SBUS<N>:SPI:SOURce:FRAMe
command/query, 1118
FRAMes,
:HOSTed:CALibrate:DESKew:FRAMes
command, 590
FRAMes,
:HOSTed:CALibrate:STATus:FRAMes?
query, 597
frequency measurement setup, 743
FREQuency,
:CHANnel<N>:SIMulation:FREQuency
command/query, 391
FREQuency,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:FREQuency
command/query, 399
FREQuency,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:FREQuency
command/query, 406
FREQuency, :FUNCtion<F>:FFT:FREQuency
command/query, 520
FREQuency, :MEASure:FFT:FREQuency
command/query, 796
FREQuency, :MEASure:FREQuency
command/query, 802
FREQuency,
:TRIGger:GBSerial:CLOCk:FREQuency
command/query, 1254
FTIMe,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:FTIMe command/query, 394
FUI?, :MTESt:COUNt:FUI? query, 683
full-scale vertical axis, 377
Function Commands, 505
FUNCtion,
:CHANnel<N>:SIMulation:FUNCtion:SEL
ection command/query, 392
FUNCtion,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:DCYCle command/query, 393
FUNCtion,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:FTIMe command/query, 394
FUNCtion,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:RTIMe command/query, 395
function, and vertical scaling, 555
function, time scale, 507
functional elements of protocol, 150
functions, and VIEW, 1463
functions, combining in instructions, 111
FWAVeforms?, :MTESt:COUNt:FWAVeforms?
query, 684
FWHM, :MEASure:HISTogram:FWHM
command/query, 804
G
gain and offset of a probe, 300
gain factor for user-defined probe, 357
GAIN, :CHANnel<N>:PROBe:EXTernal:GAIN
command/query, 357
GAIN, :CHANnel<N>:PROBe:GAIN
command/query, 360
GAIN, :SPRocessing:DFEQualizer:TAP:GAIN
command/query, 1157
GATing, :FUNCtion<F>:GATing
command, 532
GATing, :FUNCtion<F>:GATing:STARt
command, 533
GATing, :FUNCtion<F>:GATing:STOP
command, 534
GBSerial, :TRIGger:GBSerial:CLOCk
command/query, 1253
GBSerial,
:TRIGger:GBSerial:CLOCk:FREQuency
command/query, 1254
GBSerial, :TRIGger:GBSerial:DRATe
command/query, 1256
GBSerial, :TRIGger:GBSerial:MODE
command/query, 1258
GBSerial, :TRIGger:GBSerial:PATTern
command/query, 1259
GBSerial, :TRIGger:GBSerial:POLarity
command/query, 1260
GBSerial, :TRIGger:GBSerial:PRBS
command/query, 1261
GBSerial, :TRIGger:GBSerial:SOURce
command/query, 1262
GCOunt, :DISPlay:ISIM:GCOunt
command/query, 482
GCOunt, :DISPlay:JITTer:GCOunt
command/query, 485
GCOunt, :DISPlay:PRECprobe:GCOunt
command/query, 497
GENauto, :MEASure:THResholds:GENauto
command, 932
general SBUS<N> commands, 1054
GENeral,
:MEASure:THResholds:GENeral:ABSolut
e command/query, 933
GENeral,
:MEASure:THResholds:GENeral:HYSTere
sis command/query, 935
GENeral,
:MEASure:THResholds:GENeral:METHod
command/query, 937
GENeral,
:MEASure:THResholds:GENeral:PAMAut
omatic command/query, 941
GENeral,
:MEASure:THResholds:GENeral:PAMCus
tom command/query, 939
GENeral,
:MEASure:THResholds:GENeral:PERCen
t command/query, 943
GENeral,
:MEASure:THResholds:GENeral:TOPBas
e:ABSolute command/query, 945
GENeral,
:MEASure:THResholds:GENeral:TOPBas
e:METHod command/query, 947
GENRaw serial bus commands, 1083
GENRaw, :SBUS<N>:GENRaw:SOURce
command/query, 1084
GENRaw, :SBUS<N>:GENRaw:WSIZe
command/query, 1085
GLITch, :TRIGger:GLITch:POLarity
command/query, 1264
GLITch, :TRIGger:GLITch:SOURce
command/query, 1265
GLITch, :TRIGger:GLITch:WIDTh
command/query, 1266
GPIB interface, 93
GPIB, Interface Connector, 139
GRATicule, :DISPlay:GRATicule
command, 481
GRATicule, :DISPlay:GRATicule
command/query, 477
GRATicule,
:DISPlay:GRATicule:AREA<N>:STATe
command/query, 478
GRATicule, :DISPlay:GRATicule:INTensity
command/query, 479
GRATicule, :DISPlay:GRATicule:NUMBer
command/query, 480
GRATicule, HARDcopy AREA, 566
grid line intensity, default setup and, 1196
Group Execute Trigger (GET), 147
GUI, :SYSTem:GUI command/query, 1188
H
Halting bus activity, 147
HAMPlitude, :MTESt:HAMPlitude
command/query, 709
Hardcopy Commands, 565
Hardcopy Commands, AREA, 566
hardcopy of the screen, 565
hardcopy output and message
termination, 151
HEAD, :CHANnel<N>:PROBe:HEAD:ADD
command, 361
HEAD, :CHANnel<N>:PROBe:HEAD:DELete
command, 362
HEAD, :CHANnel<N>:PROBe:HEAD:SELect
command/query, 363
HEAD, :CHANnel<N>:PROBe:HEAD:VTERm
command/query, 364
HEADer, :SYSTem:HEADer
command/query, 1189
header, within instruction, 102
headers, 103
headers, types, 110
1762 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
HEIGht, :WAVeform:CGRade:HEIGht?
query, 1420
HIDE, :ISCan:ZONE:HIDE
command/query, 627
HIGHpass, :FUNCtion<F>:HIGHpass
command, 535
HiSLIP protocol, 95
Histogram Commands, 571
HISTogram, :MEASure:HISTogram:FWHM
command/query, 804
HISTogram, :MEASure:HISTogram:HITS
command/query, 805
HISTogram, :MEASure:HISTogram:M1S
command/query, 806
HISTogram, :MEASure:HISTogram:M2S
command/query, 807
HISTogram, :MEASure:HISTogram:M3S
command/query, 808
HISTogram, :MEASure:HISTogram:MAX
command/query, 809
HISTogram, :MEASure:HISTogram:MEAN
command/query, 810
HISTogram, :MEASure:HISTogram:MEDian
command/query, 811
HISTogram, :MEASure:HISTogram:MIN
command/query, 812
HISTogram, :MEASure:HISTogram:MODE
command/query, 813
HISTogram, :MEASure:HISTogram:PEAK
command/query, 814
HISTogram, :MEASure:HISTogram:PP
command/query, 815
HISTogram,
:MEASure:HISTogram:RESolution
command/query, 816
HISTogram, :MEASure:HISTogram:STDDev
command/query, 817
HISTogram, :MEASure:JITTer:HISTogram
command/query, 820
HITS, :MEASure:HISTogram:HITS
command/query, 805
HITS, :MTESt:MARGin:AUTO:HITS
command/query, 714
HLED, :SYSTem:HLED
command/query, 1190
HOLD,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce command/query, 1393
HOLD,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:EDGE
command/query, 1395
HOLD,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:LEVel
command/query, 1394
HOLD,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce command/query, 1396
HOLD,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:HTHReshold
command/query, 1397
HOLD,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:LTHReshold
command/query, 1398
HOLD,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:TIME command/query, 1399
HOLDoff, :TRIGger:HOLDoff
command/query, 1220
HOLDoff, :TRIGger:HOLDoff:MAX
command/query, 1221
HOLDoff, :TRIGger:HOLDoff:MIN
command/query, 1222
HOLDoff, :TRIGger:HOLDoff:MODE
command/query, 1223
HoldTIMe (HTIMe),
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:HoldTIMe (HTIMe)
command/query, 1407
HoldTIMe (HTIMe),
:TRIGger:SHOLd:HoldTIMe (HTIMe)
command/query, 1294
HOLDtime, :MEASure:HOLDtime
command/query, 818
horizontal position, default setup, 1195
horizontal scale, default setup, 1195
horizontal scaling, functions, 506
HORizontal, :FUNCtion<F>:HORizontal
command/query, 536
HORizontal,
:FUNCtion<F>:HORizontal:POSition
command/query, 537
HORizontal,
:FUNCtion<F>:HORizontal:RANGe
command/query, 539
HORizontal, :HISTogram:HORizontal:BINS
command/query, 574
HORizontal,
:MEASure:JITTer:SPECtrum:HORizontal
command/query, 823
HORizontal,
:MEASure:JITTer:SPECtrum:HORizontal:
POSition command/query, 824
HORizontal,
:MEASure:JITTer:SPECtrum:HORizontal:
RANGe command/query, 825
horizontal, functions, controlling, 1201
horizontal, offset, and XOFFset, 1488
horizontal, range, and XRANge, 1489
Host language, 102
Hosted Commands, 585
HRATio, :MTESt:MARGin:AUTO:HRATio
command/query, 715
HRESolution acquisition mode, 223
HRESolution, :ACQuire:HRESolution
command/query, 220
HS serial bus commands, 1086
HS, :SBUS<N>:HS:DESCramble
command/query, 1087
HS, :SBUS<N>:HS:FORMat
command/query, 1088
HS, :SBUS<N>:HS:IDLE
command/query, 1089
HS, :SBUS<N>:HS:SOURce<S>
command/query, 1090
HSYNc, :TRIGger:TV:UDTV:HSYNc
command/query, 1318
HTHReshold,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:HTHReshold
command/query, 1397
HTHReshold,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:HTHReshold
command/query, 1390
HTHReshold,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:HTHReshold
command/query, 1404
HTHReshold,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:HTHReshold
command/query, 1411
HTHReshold, :TRIGger:HTHReshold
command/query, 1224
HTIMe, :TRIGger:TV:UDTV:HTIMe
command/query, 1319
hue, 500
HYSTeresis,
:ISCan:NONMonotonic:HYSTeresis
command/query, 619
HYSTeresis, :ISCan:RUNT:HYSTeresis
command/query, 621
HYSTeresis,
:MEASure:THResholds:GENeral:HYSTere
sis command/query, 935
HYSTeresis,
:MEASure:THResholds:HYSTeresis
command/query, 948
HYSTeresis,
:MEASure:THResholds:SERial:HYSTeresi
s command/query, 965
HYSTeresis, :TRIGger:HYSTeresis
command/query, 1225
I
IAGGressor, :XTALk<X>:IAGGressor
command/query, 1519
id mode, 1071
ID pattern, CAN trigger, 1070
ID, :CHANnel<N>:PROBe:ID? query, 365
ID, :SBUS<N>:CAN:TRIGger:PATTern:ID
command/query, 1070
ID,
:SBUS<N>:CAN:TRIGger:PATTern:ID:MO
DE command/query, 1071
ID, :SBUS<N>:FLEXray:TRIGger:FRAMe:ID
command/query, 1081
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1763
ID, :SBUS<N>:LIN:TRIGger:ID
command/query, 1106
Identification Number (*IDN?) query, 419
IDLe, :ANALyze:CLOCk:METHod:IDLe
command/query, 255
IDLE, :SBUS<N>:HS:IDLE
command/query, 1089
IEEE 488.1, 149
IEEE 488.1, and IEEE 488.2
relationship, 149
IEEE 488.2, 149
IEEE 488.2, compliance, 149
IEEE 488.2, conformity, 100
IEEE 488.2, Standard, 100
IEEE 488.2, Standard Status Data Structure
Model, 154
IIC clock source, 1093
IIC data source, 1094
IIC serial decode address field size, 1092
IIC trigger commands, 1091
IIC, :SBUS<N>:IIC:ASIZe
command/query, 1092
IIC, :SBUS<N>:IIC:SOURce:CLOCk
command/query, 1093
IIC, :SBUS<N>:IIC:SOURce:DATA
command/query, 1094
IIC,
:SBUS<N>:IIC:TRIGger:PATTern:ADDRes
s command/query, 1095, 1097
IIC, :SBUS<N>:IIC:TRIGger:TYPE
command, 1098
IMAGe, :DISK:SAVE:IMAGe command, 452
IMAGe, :HARDcopy:IMAGe
command/query, 569
IMPedance, :MTESt:IMPedance
command/query, 710
impedance, input, 327
IMPedance?, :MTESt:PROBe:IMPedance?
query, 721
INDex, :ACQuire:SEGMented:INDex
command/query, 234
INDex, :WMEMory<R>:SEGMented:INDex
command/query, 1486
individual commands language, 100
InfiniiScan Commands, 611
Infinity Representation, 206
INFO, :CHANnel<N>:PROBe:INFO?
query, 366
initialization, 123
initialization, event status, 153
input buffer, 150
Input Buffer, Clearing, 147
input buffer, default condition, 151
input coupling, and COUPling?, 1424
INPut, :CHANnel<N>:INPut
command/query, 327
instruction headers, 103
Instrument Address, GPIB, 143
instrument status, 133
integer definition, 115
INTegrate, :FUNCtion<F>:INTegrate
command, 541
intensity, 479
INTensity, :DISPlay:GRATicule:INTensity
command/query, 479
Interface, Capabilities, 141
Interface, Clear (IFC), 147
interface, functions, 137
Interface, GPIB Select Code, 143
INTerpolate, :ACQuire:INTerpolate
command/query, 222
INTerpolate, :MEASure:RJDJ:INTerpolate
command/query, 906
interpreting commands, parser, 150
interrupted query, 112, 128
Introduction to Programming, 99
INVert, :CHANnel<N>:INVert
command/query, 328
INVert, :FUNCtion<F>:INVert
command, 542
INVert, :MTESt:INVert
command/query, 711
inverting functions, 542
IO library, referencing, 121
IronPython, SCPI.NET example, 1720
ISIM, :CHANnel<N>:ISIM:APPLy
command/query, 329
ISIM, :CHANnel<N>:ISIM:BANDwidth
command/query, 330
ISIM, :CHANnel<N>:ISIM:BWLimit
command/query, 332
ISIM, :CHANnel<N>:ISIM:BWLimit:TYPE
command/query, 334
ISIM, :CHANnel<N>:ISIM:CONVolve
command/query, 335
ISIM, :CHANnel<N>:ISIM:CORRection
command/query, 336
ISIM, :CHANnel<N>:ISIM:DEConvolve
command/query, 338
ISIM, :CHANnel<N>:ISIM:DELay
command/query, 339
ISIM, :CHANnel<N>:ISIM:NORMalize
command/query, 340
ISIM, :CHANnel<N>:ISIM:PEXTraction
command/query, 341
ISIM, :CHANnel<N>:ISIM:SPAN
command/query, 343
ISIM, :CHANnel<N>:ISIM:STATe
command/query, 344
ISIM,
:CHANnel<N>:SIMulation:FILTer:ISIM:A
DDRess command/query, 386
ISIM,
:CHANnel<N>:SIMulation:FILTer:ISIM:PE
XTraction command/query, 387
ISIM, :DISPlay:ISIM:GCOunt
command/query, 482
ISIM, :DISPlay:ISIM:SELectgraph
command, 483
ISIM, :DISPlay:ISIM:SOURce
command, 484
IVICtim, :XTALk<X>:IVICtim
command/query, 1520
J
J4U, :MEASure:PAM:J4U
command/query, 870
JITTer, :CHANnel<N>:SIMulation:JITTer
command/query, 396
JITTer,
:CHANnel<N>:SIMulation:JITTer:ABUJ
command/query, 397
JITTer,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:ENABle command/query, 398
JITTer,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:FREQuency
command/query, 399
JITTer,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:MAGNitude
command/query, 400
JITTer,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:SHAPe command/query, 401
JITTer,
:CHANnel<N>:SIMulation:JITTer:RANDo
m command/query, 402
JITTer, :DISK:SAVE:JITTer command, 453
JITTer, :DISK:SAVE:LISTing command, 454
JITTer, :DISPlay:JITTer:GCOunt
command/query, 485
JITTer, :DISPlay:JITTer:SELectgraph
command, 486
JITTer, :DISPlay:JITTer:THReshold
command, 488
JITTer, :MEASure:CGRade:JITTer
command/query, 761
JITTer, :MEASure:JITTer:HISTogram
command/query, 820
JITTer, :MEASure:JITTer:MEASurement
command/query, 821
JITTer, :MEASure:JITTer:SPECtrum
command/query, 822
JITTer,
:MEASure:JITTer:SPECtrum:HORizontal
command/query, 823
JITTer,
:MEASure:JITTer:SPECtrum:HORizontal:
POSition command/query, 824
JITTer,
:MEASure:JITTer:SPECtrum:HORizontal:
RANGe command/query, 825
JITTer,
:MEASure:JITTer:SPECtrum:RESolution?
query, 826
JITTer, :MEASure:JITTer:SPECtrum:VERTical
command/query, 827
JITTer,
:MEASure:JITTer:SPECtrum:VERTical:OF
FSet command/query, 828
JITTer,
:MEASure:JITTer:SPECtrum:VERTical:RA
NGe command/query, 829
1764 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
JITTer,
:MEASure:JITTer:SPECtrum:VERTical:TY
PE command/query, 830
JITTer, :MEASure:JITTer:SPECtrum:WINDow
command/query, 831
JITTer, :MEASure:JITTer:STATistics
command/query, 1572
JITTer, :MEASure:JITTer:TRENd
command/query, 832
JITTer, :MEASure:JITTer:TRENd:SMOoth
command/query, 833
JITTer,
:MEASure:JITTer:TRENd:SMOoth:POINts
command/query, 834
JITTer, :MEASure:JITTer:TRENd:VERTical
command/query, 835
JITTer,
:MEASure:JITTer:TRENd:VERTical:OFFSe
t command/query, 836
JITTer,
:MEASure:JITTer:TRENd:VERTical:RANG
e command/query, 837
JITTer, :STORe:JITTer command, 1048
JRMS, :MEASure:PAM:JRMS
command/query, 871
JTF, :ANALyze:CLOCk:METHod:JTF
command/query, 256
JTF, :MEASure:CLOCk:METHod:JTF
command/query, 1558
K
Keysight Interactive IO application, 96
Keysight IO Control icon, 94
Keysight IO Libraries Suite, 4, 91, 95, 121,
123
Keysight IO Libraries Suite, installing, 92
L
LABel, :BUS<B>:LABel
command/query, 296
LABel, :CHANnel<N>:LABel
command/query, 345
LABel, :DIGital<N>:LABel
command/query, 439
LABel, :DISPlay:LABel
command/query, 489
LAMPlitude, :MTESt:LAMPlitude
command/query, 712
LAN instrument, 95
LAN interface, 93, 94
language for program examples, 100
LAYout, :DISPlay:LAYout
command/query, 490
LEADer, :HOSTed:LEADer:ACHannels?
query, 605
LEADer, :HOSTed:LEADer:CONFigure
command, 606
LEADer, :HOSTed:LEADer:CONNect
command, 607
LEADer, :HOSTed:LEADer:DISConnect
command, 608
Learn (*LRN?) query, 420
LENGth,
:CHANnel<N>:SIMulation:DATA:LENGth
command/query, 380
LENGth,
:SBUS<N>:CAN:TRIGger:PATTern:DATA:
LENGth command/query, 1068
LENGth,
:SBUS<N>:LIN:TRIGger:PATTern:DATA:L
ENGth command/query, 1108
LEVel, :DISPlay:NOISe:LEVel
command, 492
LEVel, :HOSTed:CALibrate:LEVel
command/query, 593
LEVel, :HOSTed:CALibrate:STATus:LEVel?
query, 598
LEVel, :MEASure:PAM:LEVel
command/query, 872
LEVel, :TRIGger:ADVanced:COMM:LEVel
command/query, 1330
LEVel,
:TRIGger:ADVanced:PATTern:THReshold
:LEVel command/query, 1338
LEVel,
:TRIGger:ADVanced:STATe:THReshold:L
EVel command/query, 1345
LEVel,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:LEVel
command/query, 1394
LEVel,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:LEVel
command/query, 1387
LEVel,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:LEVel
command/query, 1401
LEVel, :TRIGger:LEVel
command/query, 1226
LEVel, :TRIGger:LEVel:FIFTy
command, 1227
LEVels, :DISPlay:CGRade:LEVels?
query, 471
Limit Test Commands, 633
LIN acknowledge, 1101
LIN baud rate, 1102
LIN serial bus commands, 1100
LIN source, 1103
LIN standard, 1104
LIN, :SBUS<N>:LIN:SAMPlepoint
command/query, 1101
LIN, :SBUS<N>:LIN:SIGNal:BAUDrate
command/query, 1102
LIN, :SBUS<N>:LIN:SOURce
command/query, 1103
LIN, :SBUS<N>:LIN:STANdard
command/query, 1104
LIN, :SBUS<N>:LIN:TRIGger
command/query, 1105
LIN, :SBUS<N>:LIN:TRIGger:ID
command/query, 1106
LIN, :SBUS<N>:LIN:TRIGger:PATTern:DATA
command/query, 1107
LIN,
:SBUS<N>:LIN:TRIGger:PATTern:DATA:L
ENGth command/query, 1108
LINE, :DISPlay:LINE command, 1542
LINE, :TRIGger:ADVanced:TV:STV:LINE
command/query, 1365
LINE, :TRIGger:TV:LINE
command/query, 1312
linefeed, 117
List of Error Messages, 1586
Listener Code and Capability, 141
Listeners, Unaddressing All, 147
Lister Commands, 643
LLEVel, :ISCan:RUNT:LLEVel
command/query, 622
LLIMit, :HISTogram:WINDow:LLIMit
command/query, 581
LLIMit, :ISCan:MEASurement:LLIMit
command/query, 614
LLIMit, :LTESt:LLIMit command/query, 637
LOAD, :ANALyze:SIGNal:PATTern:LOAD
command, 279
LOAD, :DISK:LOAD command, 448
LOAD, :MTESt:LOAD command, 713
LOAD, :WMEMory<R>:LOAD
command, 1483
LOADdress,
:ANALyze:SIGNal:MMWave:LOADdress
command/query, 276
loading and saving, 443
LOCation, :MEASure:NOISe:LOCation
command/query, 846
LOCK, :SYSTem:LOCK
command/query, 1191
LOGic, :TRIGger:ADVanced:PATTern:LOGic
command/query, 1337
LOGic, :TRIGger:ADVanced:STATe:LOGic
command/query, 1342
LOGic, :TRIGger:PATTern:LOGic
command/query, 1269
LOGic, :TRIGger:STATe:LOGic
command/query, 1299
long-form headers, 113
LONGform, :SYSTem:LONGform
command/query, 1192
LOOP,
:CHANnel<N>:SIMulation:FLOad:LOOP
command/query, 390
lowercase, 113
lowercase, headers, 113
LOWPass, :FUNCtion<F>:LOWPass
command, 543
LRMS, :MEASure:PAM:LRMS
command/query, 874
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1765
LTARget,
:SPRocessing:DFEQualizer:TAP:LTARget
command/query, 1158
LTDefinition,
:MEASure:PAM:EYE:TIME:LTDefinition
command/query, 869
LTHickness, :MEASure:PAM:LTHickness
command/query, 876
LTHReshold,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:LTHReshold
command/query, 1398
LTHReshold,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:LTHReshold
command/query, 1391
LTHReshold,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:LTHReshold
command/query, 1405
LTHReshold,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:LTHReshold
command/query, 1412
LTHReshold, :TRIGger:LTHReshold
command/query, 1228
LTYPe, :TRIGger:ADVanced:STATe:LTYPe
command/query, 1343
LTYPe, :TRIGger:STATe:LTYPe
command/query, 1300
luminosity, 501
M
M1S, :MEASure:HISTogram:M1S
command/query, 806
M2S, :MEASure:HISTogram:M2S
command/query, 807
M3S, :MEASure:HISTogram:M3S
command/query, 808
MAGNify, :FUNCtion<F>:MAGNify
command, 544
MAGNitude,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:MAGNitude
command/query, 400
MAGNitude,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:MAGNitude
command/query, 407
MAGNitude, :MEASure:FFT:MAGNitude
command/query, 798
MAIN, :DISPlay:MAIN command/query, 491
making measurements, 743
MARGin, :MTESt:COUNt:MARGin:FAILures?
query, 685
MARGin, :MTESt:MARGin:AUTO:HITS
command/query, 714
MARGin, :MTESt:MARGin:AUTO:HRATio
command/query, 715
MARGin, :MTESt:MARGin:AUTO:METHod
command/query, 716
MARGin, :MTESt:MARGin:METHod
command/query, 717
MARGin, :MTESt:MARGin:PERCent
command/query, 718
MARGin, :MTESt:MARGin:STATe
command/query, 719
Marker Commands, 647
Mask Test Commands, 667
Mask Test Commands, DELete, 689
mask, Service Request Enable
Register, 430
Master Summary Status (MSS), and
*STB, 432
Master Summary Status (MSS), Status
Bit, 155
MATLab, :FUNCtion<F>:MATLab
command, 545
MATLab,
:FUNCtion<F>:MATLab:CONTrol<N>
command/query, 546
MATLab, :FUNCtion<F>:MATLab:OPERator
command/query, 547
MAV (Message Available), 155
MAV (Message Available), bit, 430, 432
MAX, :MEASure:HISTogram:MAX
command/query, 809
MAX, :SPRocessing:DFEQualizer:TAP:MAX
command/query, 1159
MAX, :TRIGger:HOLDoff:MAX
command/query, 1221
MAXimize, :DISPlay:WINDow:MAXimize
command, 504
maximum Q value, 16-bit waveform
data, 1445
MAXimum, :FUNCtion<F>:MAXimum
command, 548
MBANdwidth,
:ANALyze:SIGNal:MMWave:MBANdwidt
h command/query, 277
MDIRectory, :DISK:MDIRectory
command, 449
MEAN, :MEASure:HISTogram:MEAN
command/query, 810
Measure All Edges, 69, 245, 1533
measure all edges, 745, 784, 785, 787,
802, 818, 853, 854, 859, 880, 882,
885, 886, 923, 925, 986, 998, 1000,
1572
Measure Commands, 735
Measure Commands, TMAX, 984
Measure Commands, TMIN, 985
Measure Commands, TVOLt, 986
Measure Commands, VMIDdle, 996
MEASure, RESults and statistics, 928
MEASurement,
:HISTogram:MEASurement:BINS
command/query, 575
MEASurement, :ISCan:MEASurement
command/query, 615
MEASurement, :ISCan:MEASurement:FAIL
command/query, 613
MEASurement, :ISCan:MEASurement:LLIMit
command/query, 614
MEASurement, :ISCan:MEASurement:ULIMit
command/query, 616
MEASurement, :LTESt:MEASurement
command/query, 638
MEASurement,
:MARKer:MEASurement:MEASurement
command, 650
MEASurement,
:MEASure:JITTer:MEASurement
command/query, 821
measurement, error, 743
measurement, setup, 743
measurement, sources, 742
MEASurements, :DISK:SAVE:MEASurements
command, 455
MEDian, :MEASure:HISTogram:MEDian
command/query, 811
memories, and VIEW, 1463
MENU, :SYSTem:MENU?
command/query, 1193
Message (MSG), Status Bit, 155
Message Available (MAV), and *OPC, 422
Message Available (MAV), Status Bit, 155
Message Communications and System
Functions, 149
Message Event Register, 161
message exchange protocols, of IEEE
488.2, 150
message, queue, 175
message, termination with hardcopy, 151
METHod, :ANALyze:CLOCk:METHod
command/query, 247
METHod, :ANALyze:CLOCk:METHod:ALIGn
command/query, 250
METHod,
:ANALyze:CLOCk:METHod:DEEMphasis
command/query, 252
METHod, :ANALyze:CLOCk:METHod:EDGE
command/query, 253
METHod, :ANALyze:CLOCk:METHod:IDLe
command/query, 255
METHod, :ANALyze:CLOCk:METHod:JTF
command/query, 256
METHod, :ANALyze:CLOCk:METHod:OJTF
command/query, 259
METHod,
:ANALyze:CLOCk:METHod:PAM:B03
command/query, 1535
METHod,
:ANALyze:CLOCk:METHod:PAM:B12
command/query, 1537
METHod,
:ANALyze:CLOCk:METHod:PAM:NONSy
mmetric command/query, 1539
METHod,
:ANALyze:CLOCk:METHod:PLLTrack
command/query, 262
1766 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
METHod, :ANALyze:CLOCk:METHod:SKEW
command/query, 263
METHod, :ANALyze:CLOCk:METHod:SOURce
command/query, 264
METHod, :MEASure:CLOCk:METHod
command/query, 1549, 1551
METHod, :MEASure:CLOCk:METHod:ALIGn
command/query, 1553
METHod,
:MEASure:CLOCk:METHod:DEEMphasis
command/query, 1555
METHod, :MEASure:CLOCk:METHod:EDGE
command/query, 1556
METHod, :MEASure:CLOCk:METHod:JTF
command/query, 1558
METHod, :MEASure:CLOCk:METHod:OJTF
command/query, 1560
METHod,
:MEASure:CLOCk:METHod:PLLTrack
command/query, 1562
METHod, :MEASure:CLOCk:METHod:SOURce
command/query, 1563
METHod, :MEASure:NOISe:METHod
command/query, 847
METHod, :MEASure:RJDJ:METHod
command/query, 907
METHod,
:MEASure:THResholds:GENeral:METHod
command/query, 937
METHod,
:MEASure:THResholds:GENeral:TOPBas
e:METHod command/query, 947
METHod, :MEASure:THResholds:METHod
command/query, 950
METHod,
:MEASure:THResholds:RFALl:METHod
command/query, 954
METHod,
:MEASure:THResholds:RFALl:TOPBase:
METHod command/query, 962
METHod,
:MEASure:THResholds:SERial:METHod
command/query, 967
METHod,
:MEASure:THResholds:SERial:TOPBase:
METHod command/query, 972
METHod,
:MEASure:THResholds:TOPBase:METHo
d command/query, 974
METHod, :MTESt:MARGin:AUTO:METHod
command/query, 716
METHod, :MTESt:MARGin:METHod
command/query, 717
MHIStogram, :FUNCtion<F>:MHIStogram
command, 549
MIN, :MEASure:HISTogram:MIN
command/query, 812
MIN, :SPRocessing:DFEQualizer:TAP:MIN
command/query, 1160
MIN, :TRIGger:HOLDoff:MIN
command/query, 1222
minimum Q value, 16-bit waveform
data, 1445
MINimum, :FUNCtion<F>:MINimum
command, 550
MISO data source, SPI, 1119
MISO, :SBUS<N>:SPI:SOURce:MISO
command/query, 1119
MIXer, :ANALyze:SIGNal:MIXer:CABLeloss
command/query, 272
MLOG, :FUNCtion<F>:MLOG
command/query, 551
MMWave,
:ANALyze:SIGNal:MMWave:CALibrate
command, 273
MMWave,
:ANALyze:SIGNal:MMWave:CFRequency
command/query, 274
MMWave,
:ANALyze:SIGNal:MMWave:CONNect
command/query, 275
MMWave,
:ANALyze:SIGNal:MMWave:LOADdress
command/query, 276
MMWave,
:ANALyze:SIGNal:MMWave:MBANdwidt
h command/query, 277
Mnemonic Truncation, 202
MODE, :ACQuire:MODE
command/query, 223
MODE, :CHANnel<N>:PROBe:MODE
command/query, 367
MODE,
:CHANnel<N>:PROBe:PRECprobe:MODE
command, 371
MODE, :HISTogram:MODE
command/query, 576
MODE, :ISCan:MODE command/query, 617
MODE, :ISCan:ZONE<Z>:MODE
command/query, 629
MODE, :MARKer:MODE
command/query, 651
MODE, :MEASure:HISTogram:MODE
command/query, 813
MODe, :MEASure:RJDJ:MODe
command/query, 908
MODE,
:SBUS<N>:CAN:TRIGger:PATTern:ID:MO
DE command/query, 1071
MODE, :TRIGger:ADVanced:VIOLation:MODE
command/query, 1375
MODE,
:TRIGger:ADVanced:VIOLation:SETup:M
ODE command/query, 1385
MODE, :TRIGger:DELay:MODE
command/query, 1244
MODE, :TRIGger:GBSerial:MODE
command/query, 1258
MODE, :TRIGger:HOLDoff:MODE
command/query, 1223
MODE, :TRIGger:MODE
command/query, 1229
MODE, :TRIGger:SHOLd:MODE
command/query, 1295
MODE, :TRIGger:TV:MODE
command/query, 1313
mode, serial decode, 1056
monitoring events, 153
MOSI data source, SPI, 1120
MOSI, :SBUS<N>:SPI:SOURce:MOSI
command/query, 1120
MSG bit, 430, 432
MSG, bit in the status register, 161
MSS bit and *STB, 432
MTRend, :FUNCtion<F>:MTRend
command, 552
Multiple numeric variables, 132
multiple, program commands, 119
multiple, queries, 132
multiple, subsystems, 119
MULTiply, :FUNCtion<F>:MULTiply
command, 553
MultiScope system, :DIGitize
command, 1028
N
N period-period measurement, 839
N2750A probe, 367
N2893A probe, 350
N5444A probe head, 364
N7010A active termination adapter, 364
NAME, :MEASure:NAME
command/query, 838
NAME, :MEASurement<N>:NAME
command/query, 1007
NCJitter, :MEASure:NCJitter
command/query, 839
NCONnected, :HOSTed:NCONnected?
query, 609
Never tab Measurement Results, 1185
NL (New Line), 117
NOISe, :CHANnel<N>:SIMulation:NOISe
command/query, 403
NOISe,
:CHANnel<N>:SIMulation:NOISe:BWLim
it command/query, 404
NOISe,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:ENABle command/query, 405
NOISe,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:FREQuency
command/query, 406
NOISe,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:MAGNitude
command/query, 407
NOISe,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:SHAPe command/query, 408
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1767
NOISe,
:CHANnel<N>:SIMulation:NOISe:RANDo
m command/query, 409
NOISe, :DISPlay:NOISe:LEVel
command, 492
NOISe, :MEASure:NOISe
command/query, 841
NOISe, :MEASure:NOISe:ALL? query, 843
NOISe, :MEASure:NOISe:BANDwidth
command/query, 845
NOISe, :MEASure:NOISe:LOCation
command/query, 846
NOISe, :MEASure:NOISe:METHod
command/query, 847
NOISe, :MEASure:NOISe:REPort
command/query, 848
NOISe, :MEASure:NOISe:RN
command/query, 849
NOISe, :MEASure:NOISe:SCOPe:RN
command/query, 850
NOISe, :MEASure:NOISe:STATe
command/query, 851
NOISe, :MEASure:NOISe:UNITs
command/query, 852
NONMonotonic,
:ISCan:NONMonotonic:EDGE
command/query, 618
NONMonotonic,
:ISCan:NONMonotonic:HYSTeresis
command/query, 619
NONMonotonic,
:ISCan:NONMonotonic:SOURce
command/query, 620
NONSymmetric,
:ANALyze:CLOCk:METHod:PAM:NONSy
mmetric command/query, 1539
NORMalize, :CHANnel<N>:ISIM:NORMalize
command/query, 340
NORMalize,
:SPRocessing:DFEQualizer:TAP:NORMal
ize command/query, 1161
notices, 2
NPERiod, :MEASure:NPERiod
command/query, 853
NPRecursor,
:SPRocessing:FFEQualizer:NPRecursor
command/query, 1167
NPULses, :MEASure:NPULses
command/query, 854
NREGions?, :MTESt:NREGions? query, 720
NTAPs, :SPRocessing:DFEQualizer:NTAPs
command/query, 1151
NTAPs, :SPRocessing:FFEQualizer:NTAPs
command/query, 1168
NTSC TV trigger mode, 1362
NUI, :MEASure:NUI command/query, 855
NUMBer, :DISPlay:GRATicule:NUMBer
command/query, 480
numeric, program data, 115
numeric, variable example, 130
numeric, variables, 130
NUMPoles,
:SPRocessing:CTLequalizer:NUMPoles
command/query, 1140
NWIDth, :MEASure:NWIDth
command/query, 856
O
obsolete and discontinued
commands, 1531
OBW, :MEASure:FFT:OBW
command/query, 800
ODD, :CHANnel<N>:SIMulation:DATA:ODD
command/query, 381
offset and gain of a probe, 300
OFFSet, :ANALyze:CLOCk:VERTical:OFFSet
command/query, 266
OFFSet, :CHANnel<N>:DISPlay:OFFSet
command/query, 321
OFFSet, :CHANnel<N>:OFFSet
command/query, 346
OFFSet,
:CHANnel<N>:PROBe:EXTernal:OFFSet
command/query, 358
OFFSet, :CHANnel<N>:SIMulation:OFFSet
command/query, 410
OFFSet, :FUNCtion<F>:OFFSet
command/query, 554
OFFSet, :FUNCtion<F>:VERTical:OFFSet
command/query, 562
OFFSet, :MEASure:CLOCk:VERTical:OFFSet
command/query, 1565
OFFSet,
:MEASure:JITTer:SPECtrum:VERTical:OF
FSet command/query, 828
OFFSet,
:MEASure:JITTer:TRENd:VERTical:OFFSe
t command/query, 836
OFFSet,
:SPRocessing:CTLequalizer:VERTical:OF
FSet command/query, 1147
OFFSet,
:SPRocessing:FFEQualizer:VERTical:OFF
Set command/query, 1178
OJTF, :ANALyze:CLOCk:METHod:OJTF
command/query, 259
OJTF, :MEASure:CLOCk:METHod:OJTF
command/query, 1560
OLEVel, :MEASure:CGRade:OLEVel
command/query, 762
OMAMplitude, :MEASure:OMAMplitude
command/query, 857
OPC bit, 417, 418
Open method, 122
OPER bit, 430, 432
operands and time scale, 507
operating the disk, 443
Operation Complete (*OPC)
command/query, 422
Operation Complete (*OPC), Status Bit, 155
operation status, 153
OPERator, :FUNCtion<F>:MATLab:OPERator
command/query, 547
OPOWer, :MEASure:OPOWer
command/query, 858
Option (*OPT?) query, 423
Options, Program Headers, 113
order of commands and execution, 151
oscilloscope connection, opening, 122
oscilloscope connection, verifying, 94
Oscilloscope Default GPIB Address, 143
oscilloscope, connecting, 93
oscilloscope, operation, 5
oscilloscope, setting up, 93
oscilloscope, trigger modes and
commands, 1216
output buffer, 112, 128
output queue, 112, 174
Output Queue, Clearing, 147
output queue, default condition, 151
output queue, definition, 150
OUTPut, :CALibrate:OUTPut
command/query, 302
OUTPut, :CALibrate:OUTPut:AUX
command/query, 304
OUTPut, :CALibrate:OUTPut:AUX:RTIMe
command/query, 305
OUTPut, :CALibrate:OUTPut:CAL
command/query, 306
overlapped commands, 135
OVERshoot, :MEASure:OVERshoot
command/query, 859
P
P1, :SPRocessing:CTLequalizer:P1
command/query, 1141
P2, :SPRocessing:CTLequalizer:P2
command/query, 1142
P3, :SPRocessing:CTLequalizer:P3
command/query, 1143
PAADeskew, :XTALk:PAADeskew
command/query, 1497
PAIFilter, :XTALk:PAIFilter
command/query, 1498
PAISi, :XTALk:PAISi command/query, 1499
PAL-M TV trigger mode, 1362
PAM, :ANALyze:CLOCk:METHod:PAM:B03
command/query, 1535
PAM, :ANALyze:CLOCk:METHod:PAM:B12
command/query, 1537
PAM,
:ANALyze:CLOCk:METHod:PAM:NONSy
mmetric command/query, 1539
PAM, :CHANnel<N>:SIMulation:DATA:PAM
command/query, 382
PAM, :MEASure:PAM:ELEVel
command/query, 861
PAM, :MEASure:PAM:EOJ
command/query, 863
PAM, :MEASure:PAM:ESKew
command/query, 864
1768 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
PAM, :MEASure:PAM:EYE:ELMethod
command/query, 866
PAM, :MEASure:PAM:EYE:ESTiming
command/query, 867
PAM, :MEASure:PAM:EYE:PPERcent
command/query, 868
PAM, :MEASure:PAM:EYE:TIME:LTDefinition
command/query, 869
PAM, :MEASure:PAM:J4U
command/query, 870
PAM, :MEASure:PAM:JRMS
command/query, 871
PAM, :MEASure:PAM:LEVel
command/query, 872
PAM, :MEASure:PAM:LRMS
command/query, 874
PAM, :MEASure:PAM:LTHickness
command/query, 876
PAMAutomatic,
:MEASure:THResholds:GENeral:PAMAut
omatic command/query, 941
PAMAutomatic,
:MEASure:THResholds:RFALl:PAMAutom
atic command/query, 956
PAMCustom,
:MEASure:THResholds:GENeral:PAMCus
tom command/query, 939
PAMPlitude, :MEASure:PAMPlitude
command/query, 878
PAMThreshold,
:MEASure:RJDJ:PAMThreshold
command/query, 909
Parallel Poll Code and Capability, 141
parametric measurements, 740
parser, 150
parser, default condition, 151
Parser, Resetting, 147
PASLimit, :XTALk:PASLimit
command/query, 1500
passing values across the bus, 112
pattern length, 1068
PATTern, :ANALyze:SIGNal:PATTern:CLEar
command, 278
PATTern, :ANALyze:SIGNal:PATTern:LOAD
command, 279
PATTern, :ANALyze:SIGNal:PATTern:PLENgth
command/query, 280
PATTern, :ANALyze:SIGNal:PATTern:SMAP
command/query, 281
PATTern, :ISCan:SERial:PATTern
command/query, 625
PATTern,
:SBUS<N>:CAN:TRIGger:PATTern:DATA
command/query, 1067
PATTern,
:SBUS<N>:CAN:TRIGger:PATTern:DATA:
LENGth command/query, 1068
PATTern,
:SBUS<N>:CAN:TRIGger:PATTern:ID
command/query, 1070
PATTern,
:SBUS<N>:CAN:TRIGger:PATTern:ID:MO
DE command/query, 1071
PATTern,
:SBUS<N>:IIC:TRIGger:PATTern:ADDRes
s command/query, 1095, 1097
PATTern,
:SBUS<N>:LIN:TRIGger:PATTern:DATA
command/query, 1107
PATTern,
:SBUS<N>:LIN:TRIGger:PATTern:DATA:L
ENGth command/query, 1108
PATTern,
:SBUS<N>:SPI:TRIGger:PATTern:DATA
command/query, 1122
PATTern,
:SBUS<N>:SPI:TRIGger:PATTern:WIDTh
command/query, 1124
PATTern,
:TRIGger:ADVanced:COMM:PATTern
command/query, 1331
PATTern,
:TRIGger:ADVanced:PATTern:CONDition
command/query, 1336
PATTern, :TRIGger:ADVanced:PATTern:LOGic
command/query, 1337
PATTern,
:TRIGger:ADVanced:PATTern:THReshold
:LEVel command/query, 1338
PATTern,
:TRIGger:ADVanced:PATTern:THReshold
:POD<N> command/query, 1339
PATTern, :TRIGger:COMM:PATTern
command/query, 1235
PATTern, :TRIGger:GBSerial:PATTern
command/query, 1259
PATTern, :TRIGger:PATTern:CONDition
command/query, 1268
PATTern, :TRIGger:PATTern:LOGic
command/query, 1269
PAUTo, :XTALk<X>:PAUTo
command/query, 1521
PAXFilter, :XTALk:PAXFilter
command/query, 1501
PAXSi, :XTALk:PAXSi
command/query, 1502
PBASe, :MEASure:PBASe
command/query, 879
PDETect acquisition mode, 223
PEAK, :MEASure:HISTogram:PEAK
command/query, 814
PEAK1, :MEASure:FFT:PEAK1
command/query, 1569
PEAK2, :MEASure:FFT:PEAK2
command/query, 1570
peak-to-peak contrast, and
PPContrast, 884
peak-to-peak voltage, and VPP, 999
Pending Commands, Clearing, 147
PERCent,
:MEASure:THResholds:GENeral:PERCen
t command/query, 943
PERCent, :MEASure:THResholds:PERCent
command/query, 951
PERCent,
:MEASure:THResholds:RFALl:PERCent
command/query, 958
PERCent,
:MEASure:THResholds:SERial:PERCent
command/query, 968
PERCent, :MTESt:MARGin:PERCent
command/query, 718
PERCent, :TIMebase:REFerence:PERCent
command/query, 1206
period measurement setup, 743
PERiod, :MEASure:PERiod
command/query, 880
PERiodic, :HOSTed:PERiodic
command/query, 610
PERiodic<M>,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:ENABle command/query, 398
PERiodic<M>,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:FREQuency
command/query, 399
PERiodic<M>,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:MAGNitude
command/query, 400
PERiodic<M>,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:SHAPe command/query, 401
PERiodic<M>,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:ENABle command/query, 405
PERiodic<M>,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:FREQuency
command/query, 406
PERiodic<M>,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:MAGNitude
command/query, 407
PERiodic<M>,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:SHAPe command/query, 408
period-period measurement, 770
PERSistence, :DISPlay:PERSistence
command/query, 493
PERSona, :SYSTem:PERSona
command/query, 1194
PEXTraction,
:CHANnel<N>:ISIM:PEXTraction
command/query, 341
PEXTraction,
:CHANnel<N>:SIMulation:FILTer:ISIM:PE
XTraction command/query, 387
PGTHan,
:TRIGger:ADVanced:TV:UDTV:PGTHan
command/query, 1371
PGTHan, :TRIGger:TV:UDTV:PGTHan
command/query, 1320
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1769
PHASe, :MEASure:PHASe
command/query, 882
PJADeskew, :XTALk:PJADeskew
command/query, 1503
PJIFilter, :XTALk:PJIFilter
command/query, 1504
PJISi, :XTALk:PJISi command/query, 1505
PJSLimit, :XTALk:PJSLimit
command/query, 1506
PJXFilter, :XTALk:PJXFilter
command/query, 1507
PJXSi, :XTALk:PJXSi command/query, 1508
PLACement, :AUToscale:PLACement
command/query, 1023
PLACement, :ISCan:ZONE<Z>:PLACement
command/query, 630
PLAY, :ACQuire:SEGMented:PLAY
command/query, 235
PLAY, :WMEMory<R>:SEGMented:PLAY
command/query, 1487
PLENgth, :ANALyze:SIGNal:PATTern:PLENgth
command/query, 280
PLENgth, :MEASure:RJDJ:PLENgth
command/query, 910
PLENgth, :XTALk<X>:PLENgth
command/query, 1522
PLL idle clocks, 255
PLLTrack,
:ANALyze:CLOCk:METHod:PLLTrack
command/query, 262
PLLTrack,
:MEASure:CLOCk:METHod:PLLTrack
command/query, 1562
Pod Commands, 1009
POD<N>,
:TRIGger:ADVanced:PATTern:THReshold
:POD<N> command/query, 1339
POINts, :ACQuire:POINts:ANALog
command/query, 225
POINts, :ACQuire:POINts:AUTO
command/query, 227
POINts, :ACQuire:POINts:DIGital?
query, 228
POINts, :ACQuire:POINts:TESTLIMITS?
query, 229
POINts, :FUNCtion<F>:FFT:DETector:POINts
command/query, 518
POINts,
:MEASure:JITTer:TRENd:SMOoth:POINts
command/query, 834
POINts?, :WAVeform:POINts? query, 1450
POLarity,
:TRIGger:ADVanced:COMM:POLarity
command/query, 1332
POLarity,
:TRIGger:ADVanced:TV:UDTV:POLarity
command/query, 1372
POLarity,
:TRIGger:ADVanced:VIOLation:PWIDth:P
OLarity command/query, 1379
POLarity, :TRIGger:COMM:POLarity
command/query, 1236
POLarity, :TRIGger:GBSerial:POLarity
command/query, 1260
POLarity, :TRIGger:GLITch:POLarity
command/query, 1264
POLarity, :TRIGger:PWIDth:POLarity
command/query, 1272
POLarity, :TRIGger:RUNT:POLarity
command/query, 1277
POLarity, :TRIGger:TV:POLarity
command/query, 1314
POLarity, :TRIGger:TV:UDTV:POLarity
command/query, 1321
polling synchronization example, 189
polling synchronization with timeout, 188
PON bit, 418
POSition,
:FUNCtion<F>:HORizontal:POSition
command/query, 537
POSition,
:MEASure:JITTer:SPECtrum:HORizontal:
POSition command/query, 824
POSition, :MTESt:FOLDing:POSition
command/query, 701
POSition, :TIMebase:POSition
command/query, 1202
POSition, :TIMebase:WINDow:POSition
command/query, 1211
position, and WINDow POSition, 1211
pound sign (#) and block data, 131
Power On (PON) status bit, 154, 416
Power-on Status Clear (*PSC)
command/query, 426
Power-up Condition, 140
PP, :MEASure:HISTogram:PP
command/query, 815
PPContrast, :MEASure:PPContrast
command/query, 884
PPERcent, :MEASure:PAM:EYE:PPERcent
command/query, 868
PPULses, :MEASure:PPULses
command/query, 885
PRATe, :ACQuire:SEGMented:PRATe
command/query, 236
PRBS, :TRIGger:GBSerial:PRBS
command/query, 1261
PREamble, :WAVeform:PREamble?
query, 1451
PRECprobe,
:CHANnel<N>:PROBe:PRECprobe:BAND
width command, 368
PRECprobe,
:CHANnel<N>:PROBe:PRECprobe:CALib
ration command, 369
PRECprobe,
:CHANnel<N>:PROBe:PRECprobe:DELay
command, 370
PRECprobe,
:CHANnel<N>:PROBe:PRECprobe:MODE
command, 371
PRECprobe,
:CHANnel<N>:PROBe:PRECprobe:ZSRC
command, 372
PRECprobe, :DISK:SAVE:PRECprobe
command, 456
PRECprobe, :DISPlay:PRECprobe:GCOunt
command/query, 497
PRECprobe,
:DISPlay:PRECprobe:SELectgraph
command, 498
PRECprobe, :DISPlay:PRECprobe:SOURce
command, 499
PRESet, :SYSTem:PRESet command, 1195
PREShoot, :MEASure:PREShoot
command/query, 886
PRIMary, :CHANnel<N>:PROBe:PRIMary
command/query, 374
PRINters?, :HARDcopy:PRINters?
query, 570
printing, specific screen data, 566
printing, the screen, 565
probe attenuation and gain, default setup
and, 1196
probe attenuation factor, 300
Probe Calibration, 300
probe external adapter, default setup
and, 1196
probe skew, default setup and, 1196
PROBe, :CHANnel<N>:PROBe
command/query, 347
PROBe, :CHANnel<N>:PROBe:ACCAL
command/query, 348
PROBe, :CHANnel<N>:PROBe:ATTenuation
command/query, 349
PROBe, :CHANnel<N>:PROBe:AUTozero
command/query, 350
PROBe, :CHANnel<N>:PROBe:COUPling
command/query, 351
PROBe, :CHANnel<N>:PROBe:EADapter
command/query, 352
PROBe, :CHANnel<N>:PROBe:ECOupling
command/query, 355
PROBe, :CHANnel<N>:PROBe:EXTernal
command/query, 356
PROBe,
:CHANnel<N>:PROBe:EXTernal:GAIN
command/query, 357
PROBe,
:CHANnel<N>:PROBe:EXTernal:OFFSet
command/query, 358
PROBe,
:CHANnel<N>:PROBe:EXTernal:UNITs
command/query, 359
PROBe, :CHANnel<N>:PROBe:GAIN
command/query, 360
PROBe, :CHANnel<N>:PROBe:HEAD:ADD
command, 361
PROBe, :CHANnel<N>:PROBe:HEAD:DELete
command, 362
PROBe, :CHANnel<N>:PROBe:HEAD:SELect
command/query, 363
PROBe, :CHANnel<N>:PROBe:HEAD:VTERm
command/query, 364
PROBe, :CHANnel<N>:PROBe:ID?
query, 365
1770 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
PROBe, :CHANnel<N>:PROBe:INFO?
query, 366
PROBe, :CHANnel<N>:PROBe:MODE
command/query, 367
PROBe,
:CHANnel<N>:PROBe:PRECprobe:BAND
width command, 368
PROBe,
:CHANnel<N>:PROBe:PRECprobe:CALib
ration command, 369
PROBe,
:CHANnel<N>:PROBe:PRECprobe:DELay
command, 370
PROBe,
:CHANnel<N>:PROBe:PRECprobe:MODE
command, 371
PROBe,
:CHANnel<N>:PROBe:PRECprobe:ZSRC
command, 372
PROBe, :CHANnel<N>:PROBe:PRIMary
command/query, 374
PROBe, :CHANnel<N>:PROBe:SKEW
command/query, 375
PROBe, :CHANnel<N>:PROBe:STYPe
command/query, 376
PROBe, :MTESt:PROBe:IMPedance?
query, 721
program data, 109
Program example, 125
Program Header Options, 113
program message, 122
program message terminator, 117
program overview, initialization
example, 125
programming basics, 100
Programming Conventions, 201
programming examples, 1591
programming examples language, 100
Programming Getting Started, 120
PROMpt, :HOSTed:CALibrate:PROMpt
command/query, 595
PROPortion, :DISPlay:PROPortion
command/query, 495
PROPortion, :DISPlay:PROPortion:RESults
command/query, 496
protocol, exceptions and operation, 150
PSD, :MEASure:FFT:PSD
command/query, 801
PSKew, :POD<N>:PSKew
command/query, 1011
PTOP, :MEASure:PTOP
command/query, 888
PTYPe, :XTALk<X>:PTYPe
command/query, 1523
pulse width measurement setup, 743
pulse width violation mode, 1376
PWD, :DISK:PWD? query, 450
PWIDth, :MEASure:PWIDth
command/query, 889
PWIDth,
:TRIGger:ADVanced:VIOLation:PWIDth:D
IRection command/query, 1378
PWIDth,
:TRIGger:ADVanced:VIOLation:PWIDth:P
OLarity command/query, 1379
PWIDth,
:TRIGger:ADVanced:VIOLation:PWIDth:S
OURce command/query, 1380
PWIDth,
:TRIGger:ADVanced:VIOLation:PWIDth:
WIDTh command/query, 1381
PWIDth, :TRIGger:PWIDth:DIRection
command/query, 1271
PWIDth, :TRIGger:PWIDth:POLarity
command/query, 1272
PWIDth, :TRIGger:PWIDth:SOURce
command/query, 1273
PWIDth, :TRIGger:PWIDth:TPOint
command/query, 1274
PWIDth, :TRIGger:PWIDth:WIDTh
command/query, 1275
Python, VISA COM example, 1622
Python, VISA example, 1673, 1679
PyVISA 1.5 and older, 1673
PyVISA 1.6 and newer, 1679
Q
QFACtor, :MEASure:CGRade:QFACtor
command/query, 763
QUALified, :TRIGger:RUNT:QUALified
command/query, 1278
QUALifier<M>,
:MEASure:QUALifier<M>:CONDition
command/query, 890
QUALifier<M>,
:MEASure:QUALifier<M>:SOURce
command/query, 891
QUALifier<M>,
:MEASure:QUALifier<M>:STATe
command/query, 892
Query, 103, 112
Query Error, 1585
Query Error, QYE Status Bit, 155
query interrupt, 128
query, headers, 112
query, interrupt, 112
query, response, 128
query, responses, formatting, 1181
question mark, 112
queue, output, 112
quoted strings, 1542
quotes, with embedded strings, 116
QYE bit, 417, 418
R
random jitter, specified, 912
random noise, specified, 849
RANDom,
:CHANnel<N>:SIMulation:JITTer:RANDo
m command/query, 402
RANDom,
:CHANnel<N>:SIMulation:NOISe:RANDo
m command/query, 409
RANGe, :ANALyze:CLOCk:VERTical:RANGe
command/query, 267
RANGe, :CHANnel<N>:DISPlay:RANGe
command/query, 323
RANGe, :CHANnel<N>:RANGe
command/query, 377
RANGe, :FUNCtion<F>:HORizontal:RANGe
command/query, 539
RANGe, :FUNCtion<F>:RANGe
command/query, 555
RANGe, :FUNCtion<F>:VERTical:RANGe
command/query, 563
RANGe, :MEASure:CLOCk:VERTical:RANGe
command/query, 1566
RANGe,
:MEASure:JITTer:SPECtrum:HORizontal:
RANGe command/query, 825
RANGe,
:MEASure:JITTer:SPECtrum:VERTical:RA
NGe command/query, 829
RANGe,
:MEASure:JITTer:TRENd:VERTical:RANG
e command/query, 837
RANGe,
:SPRocessing:CTLequalizer:VERTical:RA
NGe command/query, 1148
RANGe,
:SPRocessing:FFEQualizer:VERTical:RA
NGe command/query, 1179
RANGe, :TIMebase:RANGe
command/query, 1203
RANGe, :TIMebase:WINDow:RANGe
command/query, 1212
range, and WINDow RANGe, 1212
RATe, :SPRocessing:CTLequalizer:RATe
command/query, 1144
RATe, :SPRocessing:FFEQualizer:RATe
command/query, 1169
ReadIEEEBlock method, 122
ReadList method, 122
ReadNumber method, 122
READout, :BUS<B>:READout
command/query, 297
ReadSTB example, 159
ReadString method, 122
real number definition, 115
real time mode, 223
real time mode, and interpolation, 222
Recall (*RCL) command, 427
receiver sample timing, PAM measurement
definition, 867
Receiving Common Commands, 413
Receiving Information from the
Instrument, 128
REDGe, :ACQuire:REDGe
command/query, 230
REFClock, :TIMebase:REFClock
command/query, 1204
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1771
REFerence, :FUNCtion<F>:FFT:REFerence
command/query, 521
REFerence, :TIMebase:REFerence
command/query, 1205
REFerence, :TIMebase:REFerence:PERCent
command/query, 1206
reference, default setup, 1195
register, save/recall, 427, 429
register, Standard Event Status Enable, 164
reliability of measured data, 153
remote control examples, 1591
Remote Local Code and Capability, 141
remote programming basics, 100
REPort, :MEASure:NOISe:REPort
command/query, 848
REPort, :MEASure:RJDJ:REPort
command/query, 911
representation of infinity, 206
Request Control (RQC), Status Bit, 155
Request Service (RQS), Default, 140
Request Service (RQS), status bit, 155
RESeed,
:CHANnel<N>:SIMulation:DATA:RESeed
command/query, 383
Reset (*RST) command, 428
RESet, :TRIGger:SEQuence:RESet:ENABle
command/query, 1284
RESet, :TRIGger:SEQuence:RESet:EVENt
command, 1286
RESet, :TRIGger:SEQuence:RESet:TIME
command/query, 1287
RESet, :TRIGger:SEQuence:RESet:TYPE
command/query, 1285
Resetting the Parser, 147
RESolution, :FUNCtion<F>:FFT:RESolution
command/query, 522
RESolution,
:MEASure:HISTogram:RESolution
command/query, 816
RESolution,
:MEASure:JITTer:SPECtrum:RESolution?
query, 826
resource session object, 123
ResourceManager object, 122
RESPonse, :ACQuire:RESPonse
command/query, 231
response, data, 131
response, generation, 207
responses, buffered, 207
result state code, and SENDvalid, 920
RESults, :DISPlay:PROPortion:RESults
command/query, 496
RESults, :XTALk:RESults? query, 1509
results, retrieving, 187
RESults?, :LTESt:RESults? query, 639
RESults?, :MEASure:RESults? query, 893
Returning control to system computer, 147
RFALl,
:MEASure:THResholds:RFALl:ABSolute
command/query, 952
RFALl, :MEASure:THResholds:RFALl:METHod
command/query, 954
RFALl,
:MEASure:THResholds:RFALl:PAMAutom
atic command/query, 956
RFALl,
:MEASure:THResholds:RFALl:PERCent
command/query, 958
RFALl,
:MEASure:THResholds:RFALl:TOPBase:A
BSolute command/query, 960
RFALl,
:MEASure:THResholds:RFALl:TOPBase:
METHod command/query, 962
RIDeal, :XTALk<X>:RIDeal
command/query, 1524
rise time measurement setup, 743
RISetime, :MEASure:RISetime
command/query, 896
RISI, :XTALk<X>:RISI
command/query, 1525
RJ, :MEASure:RJDJ:RJ
command/query, 912
RJ, :MEASure:RJDJ:SCOPe:RJ
command/query, 913
RJDJ, :MEASure:RJDJ:ALL? query, 898
RJDJ, :MEASure:RJDJ:APLength?
query, 900
RJDJ, :MEASure:RJDJ:BANDwidth
command/query, 901
RJDJ, :MEASure:RJDJ:BER
command/query, 902
RJDJ, :MEASure:RJDJ:CLOCk
command/query, 904
RJDJ, :MEASure:RJDJ:EDGE
command/query, 905
RJDJ, :MEASure:RJDJ:INTerpolate
command/query, 906
RJDJ, :MEASure:RJDJ:METHod
command/query, 907
RJDJ, :MEASure:RJDJ:MODe
command/query, 908
RJDJ, :MEASure:RJDJ:PAMThreshold
command/query, 909
RJDJ, :MEASure:RJDJ:PLENgth
command/query, 910
RJDJ, :MEASure:RJDJ:REPort
command/query, 911
RJDJ, :MEASure:RJDJ:RJ
command/query, 912
RJDJ, :MEASure:RJDJ:SCOPe:RJ
command/query, 913
RJDJ, :MEASure:RJDJ:SOURce
command/query, 914
RJDJ, :MEASure:RJDJ:STATe
command/query, 915
RJDJ, :MEASure:RJDJ:TJRJDJ? query, 916
RJDJ, :MEASure:RJDJ:UNITs
command/query, 918
RLIMit, :HISTogram:WINDow:RLIMit
command/query, 582
RMS voltage, and VRMS, 1001
RN, :MEASure:NOISe:RN
command/query, 849
RN, :MEASure:NOISe:SCOPe:RN
command/query, 850
ROLL, :TIMebase:ROLL:ENABLE
command/query, 1207
Root level commands, 1015
ROTHer, :XTALk<X>:ROTHer
command/query, 1526
ROW, :DISPlay: ROW command
query, 1543
ROW, :DISPlay:STATus:ROW command
query, 503
RQC (Request Control), 155
RQC (Request Control), bit, 417, 418
RQS (Request Service), 155
RQS (Request Service), and *STB, 432
RQS (Request Service), Default, 140
RQS/MSS bit, 432
RTIMe acquisition mode, 223
RTIMe, :CALibrate:OUTPut:AUX:RTIMe
command/query, 305
RTIMe,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:RTIMe command/query, 395
rule of truncation, 202
rules of traversal, 203
RUMode, :LTESt:RUMode:SOFailure
command/query, 640
RUMode, :MTESt:RUMode
command/query, 722
RUMode, :MTESt:RUMode:SOFailure
command/query, 723
run state, 1041
RUN, and GET relationship, 147
Run/Stop, default setup, 1195
RUNT, :ISCan:RUNT:HYSTeresis
command/query, 621
RUNT, :ISCan:RUNT:LLEVel
command/query, 622
RUNT, :ISCan:RUNT:SOURce
command/query, 623
RUNT, :ISCan:RUNT:ULEVel
command/query, 624
RUNT, :TRIGger:RUNT:POLarity
command/query, 1277
RUNT, :TRIGger:RUNT:QUALified
command/query, 1278
RUNT, :TRIGger:RUNT:SOURce
command/query, 1279
RUNT, :TRIGger:RUNT:TIME
command/query, 1280
S
SAADeskew, :XTALk:SAADeskew
command/query, 1511
SAIFilter, :XTALk:SAIFilter
command/query, 1512
SAISi, :XTALk:SAISi command/query, 1513
SAMPlepoint, :SBUS<N>:CAN:SAMPlepoint
command/query, 1059
1772 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
SAMPlepoint, :SBUS<N>:LIN:SAMPlepoint
command/query, 1101
sampling mode, 223
SASLimit, :XTALk:SASLimit
command/query, 1514
saturation, 500
Save (*SAV) command, 429
SAVE, :DISK:SAVE:COMPosite
command, 451
SAVE, :DISK:SAVE:IMAGe command, 452
SAVE, :DISK:SAVE:JITTer command, 453
SAVE, :DISK:SAVE:LISTing command, 454
SAVE, :DISK:SAVE:MEASurements
command, 455
SAVE, :DISK:SAVE:PRECprobe
command, 456
SAVE, :DISK:SAVE:SETup command, 457
SAVE, :DISK:SAVE:WAVeform
command, 458
SAVE, :MTESt:AMASk:SAVE command, 675
SAVE, :WMEMory<R>:SAVE
command, 1484
save/recall register, 427, 429
saving and loading, 443
SAXFilter, :XTALk:SAXFilter
command/query, 1515
SAXSi, :XTALk:SAXSi
command/query, 1516
SBUS CAN commands, 1057
SBUS FLEXray commands, 1073
SBUS GENRaw commands, 1083
SBUS HS commands, 1086
SBUS LIN commands, 1100
SBUS<N> commands, general, 1054
SCALe, :CHANnel<N>:DISPlay:SCALe
command/query, 325
SCALe, :CHANnel<N>:SCALe
command/query, 378
SCALe, :HISTogram:SCALe:SIZE
command/query, 577
SCALe, :MTESt:FOLDing:SCALe
command/query, 703
SCALe, :MTESt:SCALe:BIND
command/query, 724
SCALe, :MTESt:SCALe:X1
command/query, 725
SCALe, :MTESt:SCALe:XDELta
command/query, 726
SCALe, :MTESt:SCALe:Y1
command/query, 727
SCALe, :MTESt:SCALe:Y2
command/query, 728
SCALe, :TIMebase:SCALe
command/query, 1208
SCALe, :TIMebase:WINDow:SCALe
command/query, 1213
SCHeme, :DISPlay:CGRade:SCHeme
command/query, 473
SCOLor, :DISPlay:SCOLor
command/query, 500
SCOPe, :MEASure:NOISe:SCOPe:RN
command/query, 850
SCOPe, :MEASure:RJDJ:SCOPe:RJ
command/query, 913
SCOPETEST, :SELFtest:SCOPETEST
command/query, 1133
SCPI.NET example in C#, 1706
SCPI.NET example in IronPython, 1720
SCPI.NET example in Visual Basic
.NET, 1713
SCPI.NET examples, 1706
SCRatch, :MEASure:SCRatch
command, 919
SCReen, HARDcopy AREA, 566
SEGHres acquisition mode, 224
SEGMented acquisition mode, 224
SEGMented, :ACQuire:SEGMented:AUToplay
command/query, 232
SEGMented, :ACQuire:SEGMented:COUNt
command/query, 233
SEGMented, :ACQuire:SEGMented:INDex
command/query, 234
SEGMented, :ACQuire:SEGMented:PLAY
command/query, 235
SEGMented, :ACQuire:SEGMented:PRATe
command/query, 236
SEGMented, :ACQuire:SEGMented:TTAGs
command/query, 237
SEGMented, :DISK:SEGMented
command/query, 460
SEGMented, :WAVeform:SEGMented:ALL
command/query, 1455
SEGMented,
:WAVeform:SEGMented:COUNt?
query, 1456
SEGMented, :WAVeform:SEGMented:TTAG?
query, 1457
SEGMented, :WAVeform:SEGMented:XLISt?
query, 1458
SEGMented,
:WMEMory<R>:SEGMented:COUNt?
query, 1485
SEGMented,
:WMEMory<R>:SEGMented:INDex
command/query, 1486
SEGMented,
:WMEMory<R>:SEGMented:PLAY
command/query, 1487
SEGPdetect acquisition mode, 224
SELect, :CHANnel<N>:PROBe:HEAD:SELect
command/query, 363
Selected Device Clear (SDC), 147
SELectgraph, :DISPlay:ISIM:SELectgraph
command, 483
SELectgraph, :DISPlay:JITTer:SELectgraph
command, 486
SELectgraph,
:DISPlay:PRECprobe:SELectgraph
command, 498
Selecting Multiple Subsystems, 119
SELection,
:CHANnel<N>:SIMulation:DATA:SELecti
on command/query, 384
SELection,
:CHANnel<N>:SIMulation:FILTer:SELecti
on command/query, 388
SELection,
:CHANnel<N>:SIMulation:FUNCtion:SEL
ection command/query, 392
self test, 435
Self-Test Commands, 1131
semicolon usage, 111
sending compound queries, 151
SENDvalid, :MEASure:SENDvalid
command/query, 920
separator, 104
SEQuence,
:TRIGger:SEQuence:RESet:ENABle
command/query, 1284
SEQuence, :TRIGger:SEQuence:RESet:EVENt
command, 1286
SEQuence, :TRIGger:SEQuence:RESet:TIME
command/query, 1287
SEQuence, :TRIGger:SEQuence:RESet:TYPE
command/query, 1285
SEQuence, :TRIGger:SEQuence:TERM1
command/query, 1282
SEQuence, :TRIGger:SEQuence:TERM2
command/query, 1283
SEQuence,
:TRIGger:SEQuence:WAIT:ENABle
command/query, 1288
SEQuence, :TRIGger:SEQuence:WAIT:TIME
command/query, 1289
sequential commands, 135
SER, :MEASure:SER command/query, 921
Serial Bus Commands, 1053
Serial Data Equalization Commands, 1135
serial decode bus display, 1055
serial decode mode, 1056
serial poll, (ReadSTB) in example, 159
Serial Poll, Disabling, 147
serial poll, of the Status Byte Register, 159
serial prefix, reading, 419
SERial, :ISCan:SERial:PATTern
command/query, 625
SERial, :ISCan:SERial:SOURce
command/query, 626
SERial,
:MEASure:THResholds:SERial:ABSolute
command/query, 963
SERial,
:MEASure:THResholds:SERial:HYSTeresi
s command/query, 965
SERial,
:MEASure:THResholds:SERial:METHod
command/query, 967
SERial,
:MEASure:THResholds:SERial:PERCent
command/query, 968
SERial,
:MEASure:THResholds:SERial:TOPBase:
ABSolute command/query, 970
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1773
SERial,
:MEASure:THResholds:SERial:TOPBase:
METHod command/query, 972
SERPeracq, :MEASure:SERPeracq
command/query, 922
Service Request Enabl, (*SRE)
command/query, 430
Service Request Enable, Register
(SRE), 160
Service Request Enable, Register Bits, 430
Service Request Enable, Register
Default, 140
Service Request, Code and Capability, 141
set up oscilloscope, 93
SET, :DISPlay:BOOKmark<N>:SET
command, 464
SETGrat, :DISPlay:GRATicule:SETGrat
command, 481
setting up, for programming, 120
setting up, the instrument, 124
setting, bits in the Service Request Enable
Register, 160
setting, horizontal tracking, 536
setting, Standard Event Status Enable
Register bits, 164
setting, time and date, 1199
setting, TRG bit, 162
setting, voltage and time markers, 647
setup recall, 427
setup violation mode, 1382
SETup, :DISK:SAVE:SETup command, 457
SETup, :RECall:SETup command, 1040
SETup, :STORe:SETup command, 1049
SETup, :SYSTem:SETup
command/query, 1197
SETup,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce command/query, 1393
SETup,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:EDGE
command/query, 1395
SETup,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:LEVel
command/query, 1394
SETup,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce command/query, 1396
SETup,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:HTHReshold
command/query, 1397
SETup,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:LTHReshold
command/query, 1398
SETup,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:TIME command/query, 1399
SETup,
:TRIGger:ADVanced:VIOLation:SETup:M
ODE command/query, 1385
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce command/query, 1386
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:EDGE
command/query, 1388
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:LEVel
command/query, 1387
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce command/query, 1389
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:HTHReshold
command/query, 1390
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:LTHReshold
command/query, 1391
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:TIME command/query, 1392
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce command/query, 1400
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:EDGE
command/query, 1402
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:LEVel
command/query, 1401
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce command/query, 1403
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:HTHReshold
command/query, 1404
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:LTHReshold
command/query, 1405
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:HoldTIMe (HTIMe)
command/query, 1407
SETup,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:SetupTIMe (STIMe)
command/query, 1406
SetupTIMe (STIMe),
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:SetupTIMe (STIMe)
command/query, 1406
SETuptime, :MEASure:SETuptime
command/query, 923
SetupTIMe, :TRIGger:SHOLd:SetupTIMe
command/query, 1296
SHAPe,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:SHAPe command/query, 401
SHAPe,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:SHAPe command/query, 408
SHAPe, :MEASure:TIEFilter:SHAPe
command/query, 979
SHOLd,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce command/query, 1400
SHOLd,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:EDGE
command/query, 1402
SHOLd,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:LEVel
command/query, 1401
SHOLd,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce command/query, 1403
SHOLd,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:HTHReshold
command/query, 1404
SHOLd,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:LTHReshold
command/query, 1405
SHOLd,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:HoldTIMe (HTIMe)
command/query, 1407
SHOLd,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:SetupTIMe (STIMe)
command/query, 1406
SHOLd, :TRIGger:SHOLd:CSOurce
command/query, 1291
SHOLd, :TRIGger:SHOLd:CSOurce:EDGE
command/query, 1292
SHOLd, :TRIGger:SHOLd:DSOurce
command/query, 1293
SHOLd, :TRIGger:SHOLd:HoldTIMe (HTIMe)
command/query, 1294
SHOLd, :TRIGger:SHOLd:MODE
command/query, 1295
SHOLd, :TRIGger:SHOLd:SetupTIMe
command/query, 1296
Short form, 113
short-form headers, 113
short-form mnemonics, 202
SICL example in C, 1687
SICL example in Visual Basic, 1696
SICL examples, 1687
SIGNal, :ANALyze:SIGNal:DATarate
command/query, 268
1774 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
SIGNal, :ANALyze:SIGNal:MIXer:CABLeloss
command/query, 272
SIGNal,
:ANALyze:SIGNal:MMWave:CALibrate
command, 273
SIGNal,
:ANALyze:SIGNal:MMWave:CFRequency
command/query, 274
SIGNal,
:ANALyze:SIGNal:MMWave:CONNect
command/query, 275
SIGNal,
:ANALyze:SIGNal:MMWave:LOADdress
command/query, 276
SIGNal,
:ANALyze:SIGNal:MMWave:MBANdwidt
h command/query, 277
SIGNal, :ANALyze:SIGNal:PATTern:CLEar
command, 278
SIGNal, :ANALyze:SIGNal:PATTern:LOAD
command, 279
SIGNal, :ANALyze:SIGNal:PATTern:PLENgth
command/query, 280
SIGNal, :ANALyze:SIGNal:PATTern:SMAP
command/query, 281
SIGNal, :ANALyze:SIGNal:SYMBolrate
command/query, 270
SIGNal, :ANALyze:SIGNal:TYPE
command/query, 282
SIGNal, :SBUS<N>:CAN:SIGNal:BAUDrate
command/query, 1060
SIGNal, :SBUS<N>:CAN:SIGNal:DEFinition
command/query, 1061
SIGNal, :SBUS<N>:CAN:SIGNal:FDBaudrate
command/query, 1062
SIGNal, :SBUS<N>:LIN:SIGNal:BAUDrate
command/query, 1102
SIGNals,
:HOSTed:CALibrate:DESKew:SIGNals
command, 591
SIGNals,
:HOSTed:CALibrate:STATus:SIGNals?
query, 599
simple command header, 110
SIMulation,
:CHANnel<N>:SIMulation:AMPLitude
command/query, 379
SIMulation,
:CHANnel<N>:SIMulation:DATA:LENGth
command/query, 380
SIMulation,
:CHANnel<N>:SIMulation:DATA:ODD
command/query, 381
SIMulation,
:CHANnel<N>:SIMulation:DATA:PAM
command/query, 382
SIMulation,
:CHANnel<N>:SIMulation:DATA:RESeed
command/query, 383
SIMulation,
:CHANnel<N>:SIMulation:DATA:SELecti
on command/query, 384
SIMulation, :CHANnel<N>:SIMulation:DRATe
command/query, 385
SIMulation,
:CHANnel<N>:SIMulation:FILTer:ISIM:A
DDRess command/query, 386
SIMulation,
:CHANnel<N>:SIMulation:FILTer:ISIM:PE
XTraction command/query, 387
SIMulation,
:CHANnel<N>:SIMulation:FILTer:SELecti
on command/query, 388
SIMulation,
:CHANnel<N>:SIMulation:FLOad:ADDRe
ss command/query, 389
SIMulation,
:CHANnel<N>:SIMulation:FLOad:LOOP
command/query, 390
SIMulation,
:CHANnel<N>:SIMulation:FREQuency
command/query, 391
SIMulation,
:CHANnel<N>:SIMulation:FUNCtion:SEL
ection command/query, 392
SIMulation,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:DCYCle command/query, 393
SIMulation,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:FTIMe command/query, 394
SIMulation,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:RTIMe command/query, 395
SIMulation, :CHANnel<N>:SIMulation:JITTer
command/query, 396
SIMulation,
:CHANnel<N>:SIMulation:JITTer:ABUJ
command/query, 397
SIMulation,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:ENABle command/query, 398
SIMulation,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:FREQuency
command/query, 399
SIMulation,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:MAGNitude
command/query, 400
SIMulation,
:CHANnel<N>:SIMulation:JITTer:PERiod
ic<M>:SHAPe command/query, 401
SIMulation,
:CHANnel<N>:SIMulation:JITTer:RANDo
m command/query, 402
SIMulation, :CHANnel<N>:SIMulation:NOISe
command/query, 403
SIMulation,
:CHANnel<N>:SIMulation:NOISe:BWLim
it command/query, 404
SIMulation,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:ENABle command/query, 405
SIMulation,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:FREQuency
command/query, 406
SIMulation,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:MAGNitude
command/query, 407
SIMulation,
:CHANnel<N>:SIMulation:NOISe:PERiod
ic<M>:SHAPe command/query, 408
SIMulation,
:CHANnel<N>:SIMulation:NOISe:RANDo
m command/query, 409
SIMulation,
:CHANnel<N>:SIMulation:OFFSet
command/query, 410
SIMulation,
:CHANnel<N>:SIMulation:WAVeform
command/query, 411
SIZE, :DIGital<N>:SIZE
command/query, 440
SIZE, :HISTogram:SCALe:SIZE
command/query, 577
SKEW, :ANALyze:CLOCk:METHod:SKEW
command/query, 263
SKEW, :CALibrate:SKEW
command/query, 307
SKEW, :CHANnel<N>:DIFFerential:SKEW
command/query, 317
SKEW, :CHANnel<N>:PROBe:SKEW
command/query, 375
SLEWrate, :MEASure:SLEWrate
command/query, 925
SLOPe, :BUS<B>:CLOCk:SLOPe
command/query, 294
SLOPe, :SBUS<N>:SPI:CLOCk:SLOPe
command/query, 1111
SLOPe,
:TRIGger:ADVanced:DELay:EDLY:ARM:SL
OPe command/query, 1349
SLOPe,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SLOPe command/query, 1352
SLOPe,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SLOPe command/query, 1354
SLOPe,
:TRIGger:ADVanced:DELay:TDLY:ARM:SL
OPe command/query, 1358
SLOPe,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SLOPe command/query, 1361
SLOPe, :TRIGger:ADVanced:STATe:SLOPe
command/query, 1344
SLOPe, :TRIGger:DELay:ARM:SLOPe
command/query, 1240
SLOPe, :TRIGger:DELay:EDELay:SLOPe
command/query, 1243
SLOPe, :TRIGger:DELay:TRIGger:SLOPe
command/query, 1247
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1775
SLOPe, :TRIGger:EDGE:SLOPe
command/query, 1250
SLOPe, :TRIGger:STATe:SLOPe
command/query, 1301
SMAP, :ANALyze:SIGNal:PATTern:SMAP
command/query, 281
SMOoth, :FUNCtion<F>:SMOoth
command, 556
SMOoth, :MEASure:JITTer:TRENd:SMOoth
command/query, 833
SMOoth,
:MEASure:JITTer:TRENd:SMOoth:POINts
command/query, 834
SOFailure, :LTESt:RUMode:SOFailure
command/query, 640
SOFailure, :MTESt:RUMode:SOFailure
command/query, 723
software version, reading, 419
source, 1063, 1103
SOURce, :ANALyze:CLOCk:METHod:SOURce
command/query, 264
SOURce, :DISPlay:ISIM:SOURce
command, 484
SOURce, :DISPlay:PRECprobe:SOURce
command, 499
SOURce, :HISTogram:WINDow:SOURce
command/query, 580
SOURce, :ISCan:NONMonotonic:SOURce
command/query, 620
SOURce, :ISCan:RUNT:SOURce
command/query, 623
SOURce, :ISCan:SERial:SOURce
command/query, 626
SOURce, :ISCan:ZONE:SOURce
command/query, 628
SOURce, :ISCan:ZONE<Z>:SOURce
command/query, 631
SOURce, :MEASure:CLOCk:METHod:SOURce
command/query, 1563
SOURce, :MEASure:QUALifier<M>:SOURce
command/query, 891
SOURce, :MEASure:RJDJ:SOURce
command/query, 914
SOURce, :MEASure:SOURce
command/query, 927
SOURce, :MEASurement<N>:SOURce
command/query, 1008
SOURce, :MTESt:AMASk:SOURce
command/query, 673
SOURce, :MTESt:SOURce
command/query, 729
SOURce, :MTESt:TRIGger:SOURce
command/query, 734
SOURce, :SBUS<N>:CAN:SOURce
command/query, 1063
SOURce, :SBUS<N>:FLEXray:SOURce
command/query, 1076
SOURce, :SBUS<N>:GENRaw:SOURce
command/query, 1084
SOURce, :SBUS<N>:IIC:SOURce:CLOCk
command/query, 1093
SOURce, :SBUS<N>:IIC:SOURce:DATA
command/query, 1094
SOURce, :SBUS<N>:LIN:SOURce
command/query, 1103
SOURce, :SBUS<N>:SPI:SOURce:CLOCk
command/query, 1114
SOURce, :SBUS<N>:SPI:SOURce:DATA
command/query, 1116
SOURce, :SBUS<N>:SPI:SOURce:FRAMe
command/query, 1118
SOURce, :SBUS<N>:SPI:SOURce:MISO
command/query, 1119
SOURce, :SBUS<N>:SPI:SOURce:MOSI
command/query, 1120
SOURce,
:SPRocessing:CTLequalizer:SOURce
command/query, 1145
SOURce,
:SPRocessing:DFEQualizer:SOURce
command/query, 1152
SOURce, :SPRocessing:FFEQualizer:SOURce
command/query, 1170
SOURce,
:TRIGger:ADVanced:COMM:SOURce
command/query, 1333
SOURce,
:TRIGger:ADVanced:DELay:EDLY:ARM:S
OURce command/query, 1348
SOURce,
:TRIGger:ADVanced:DELay:EDLY:EVENt:
SOURce command/query, 1351
SOURce,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SOURce command/query, 1353
SOURce,
:TRIGger:ADVanced:DELay:TDLY:ARM:S
OURce command/query, 1357
SOURce,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SOURce command/query, 1360
SOURce,
:TRIGger:ADVanced:TV:STV:SOURce
command/query, 1366
SOURce,
:TRIGger:ADVanced:TV:UDTV:SOURce
command/query, 1373
SOURce,
:TRIGger:ADVanced:VIOLation:PWIDth:S
OURce command/query, 1380
SOURce,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce command/query, 1410
SOURce,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:HTHReshold
command/query, 1411
SOURce,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:LTHReshold
command/query, 1412
SOURce, :TRIGger:AND:SOURce
command/query, 1219
SOURce, :TRIGger:COMM:SOURce
command/query, 1237
SOURce, :TRIGger:DELay:ARM:SOURce
command/query, 1239
SOURce, :TRIGger:DELay:EDELay:SOURce
command/query, 1242
SOURce, :TRIGger:DELay:TRIGger:SOURce
command/query, 1246
SOURce, :TRIGger:EDGE:SOURce
command/query, 1251
SOURce, :TRIGger:GBSerial:SOURce
command/query, 1262
SOURce, :TRIGger:GLITch:SOURce
command/query, 1265
SOURce, :TRIGger:PWIDth:SOURce
command/query, 1273
SOURce, :TRIGger:RUNT:SOURce
command/query, 1279
SOURce, :TRIGger:TIMeout:SOURce
command/query, 1304
SOURce, :TRIGger:TRANsition:SOURce
command/query, 1308
SOURce, :TRIGger:TV:SOURce
command/query, 1315
SOURce, :TRIGger:WINDow:SOURce
command/query, 1324
SOURce, :WAVeform:SOURce
command/query, 1459
SOURce, :XTALk<X>:SOURce
command/query, 1527
SOURce, and measurements, 742
SOURce<S>, :SBUS<N>:HS:SOURce<S>
command/query, 1090
spaces and commas, 109
SPAN, :CHANnel<N>:ISIM:SPAN
command/query, 343
SPAN, :FUNCtion<F>:FFT:SPAN
command/query, 524
specified random jitter, 912
specified random noise, 849
SPECtrum, :MEASure:JITTer:SPECtrum
command/query, 822
SPECtrum,
:MEASure:JITTer:SPECtrum:HORizontal
command/query, 823
SPECtrum,
:MEASure:JITTer:SPECtrum:HORizontal:
POSition command/query, 824
SPECtrum,
:MEASure:JITTer:SPECtrum:HORizontal:
RANGe command/query, 825
SPECtrum,
:MEASure:JITTer:SPECtrum:RESolution?
query, 826
SPECtrum,
:MEASure:JITTer:SPECtrum:VERTical
command/query, 827
SPECtrum,
:MEASure:JITTer:SPECtrum:VERTical:OF
FSet command/query, 828
1776 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
SPECtrum,
:MEASure:JITTer:SPECtrum:VERTical:RA
NGe command/query, 829
SPECtrum,
:MEASure:JITTer:SPECtrum:VERTical:TY
PE command/query, 830
SPECtrum,
:MEASure:JITTer:SPECtrum:WINDow
command/query, 831
spelling of headers, 113
SPI clock slope, 1111
SPI clock source, 1114
SPI clock timeout, 1112
SPI decode bit order, 1110
SPI decode type, 1128
SPI decode word width, 1129
SPI frame source, 1118
SPI frame state, 1113
SPI trigger commands, 1109
SPI trigger data pattern, 1122
SPI trigger pattern width, 1124
SPI trigger type, 1126
SPI, :SBUS<N>:SPI:BITorder
command/query, 1110
SPI, :SBUS<N>:SPI:CLOCk:SLOPe
command/query, 1111
SPI, :SBUS<N>:SPI:CLOCk:TIMeout
command/query, 1112
SPI, :SBUS<N>:SPI:FRAMe:STATe
command/query, 1113
SPI, :SBUS<N>:SPI:SOURce:CLOCk
command/query, 1114
SPI, :SBUS<N>:SPI:SOURce:DATA
command/query, 1116
SPI, :SBUS<N>:SPI:SOURce:FRAMe
command/query, 1118
SPI, :SBUS<N>:SPI:SOURce:MISO
command/query, 1119
SPI, :SBUS<N>:SPI:SOURce:MOSI
command/query, 1120
SPI, :SBUS<N>:SPI:TRIGger:PATTern:DATA
command/query, 1122
SPI, :SBUS<N>:SPI:TRIGger:PATTern:WIDTh
command/query, 1124
SPI, :SBUS<N>:SPI:TRIGger:TYPE
command/query, 1126
SPI, :SBUS<N>:SPI:TYPE
command/query, 1128
SPI, :SBUS<N>:SPI:WIDTh
command/query, 1129
SPOLarity,
:TRIGger:ADVanced:TV:STV:SPOLarity
command/query, 1367
SQRT, :FUNCtion<F>:SQRT command, 557
Square Brackets, 107
SQUare,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:DCYCle command/query, 393
SQUare,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:FTIMe command/query, 394
SQUare,
:CHANnel<N>:SIMulation:FUNCtion:SQ
Uare:RTIMe command/query, 395
SQUare, :FUNCtion<F>:SQUare
command, 558
SRATe, :ACQuire:SRATe:ANALog
command/query, 238
SRATe, :ACQuire:SRATe:ANALog:AUTO
command/query, 239
SRATe, :ACQuire:SRATe:DIGital
command/query, 240
SRATe, :ACQuire:SRATe:DIGital:AUTO
command/query, 241
SRATe, :ACQuire:SRATe:TESTLIMITS?
query, 242
SRE (Service Request Enable
Register), 160
Standard Event Status Enable Register,
(SESER), 164
Standard Event Status Enable Register,
Bits, 416
Standard Event Status Enable Register,
Default, 140
Standard Event Status Register (ESR), 163
Standard Event Status Register, bits, 418
Standard Status Data Structure Model, 154
STANdard, :SBUS<N>:LIN:STANdard
command/query, 1104
STANdard, :TRIGger:TV:STANdard
command/query, 1316
standard, LIN, 1104
STARt, :FUNCtion<F>:GATing:STARt
command, 533
STARt, :MEASure:TIEFilter:STARt
command/query, 980
STARt, :MTESt:STARt command, 730
STATe, :ACQuire:COMPlete:STATe
command/query, 219
STATe, :CHANnel<N>:ISIM:STATe
command/query, 344
STATe, :DISPlay:GRATicule:AREA<N>:STATe
command/query, 478
STATe, :ISCan:ZONE<Z>:STATe
command/query, 632
STATe, :MEASure:NOISe:STATe
command/query, 851
STATe, :MEASure:QUALifier<M>:STATe
command/query, 892
STATe, :MEASure:RJDJ:STATe
command/query, 915
STATe, :MEASure:TIEFilter:STATe
command/query, 981
STATe, :MTESt:MARGin:STATe
command/query, 719
STATe, :SBUS<N>:SPI:FRAMe:STATe
command/query, 1113
STATe, :SPRocessing:DFEQualizer:STATe
command/query, 1153
STATe, :TRIGger:ADVanced:STATe:CLOCk
command/query, 1341
STATe, :TRIGger:ADVanced:STATe:LOGic
command/query, 1342
STATe, :TRIGger:ADVanced:STATe:LTYPe
command/query, 1343
STATe, :TRIGger:ADVanced:STATe:SLOPe
command/query, 1344
STATe,
:TRIGger:ADVanced:STATe:THReshold:L
EVel command/query, 1345
STATe, :TRIGger:STATe:CLOCk
command/query, 1298
STATe, :TRIGger:STATe:LOGic
command/query, 1299
STATe, :TRIGger:STATe:LTYPe
command/query, 1300
STATe, :TRIGger:STATe:SLOPe
command/query, 1301
state, acquisition, 1019
state, run, 1041
STATistics, :MEASure:JITTer:STATistics
command/query, 1572
STATistics, :MEASure:STATistics
command/query, 928
status, 133
Status Byte (*STB?) query, 432
Status Byte Register, 158
Status Byte Register, and serial
polling, 159
Status Byte Register, bits, 432
Status Registers, 133, 414
Status Reporting, 153
Status Reporting Decision Chart, 177
Status Reporting, Bit Definitions, 154
Status Reporting, Data Structures, 156
STATus, :CALibrate:STATus? query, 308
STATus, :DISPlay:STATus:COL command
query, 502
STATus, :DISPlay:STATus:ROW command
query, 503
STATus,
:HOSTed:CALibrate:STATus:CHANnels?
query, 596
STATus,
:HOSTed:CALibrate:STATus:FRAMes?
query, 597
STATus, :HOSTed:CALibrate:STATus:LEVel?
query, 598
STATus,
:HOSTed:CALibrate:STATus:SIGNals?
query, 599
status, of an operation, 153
STDDev, :MEASure:HISTogram:STDDev
command/query, 817
STIMe, :MTESt:STIMe
command/query, 732
STOP, :FUNCtion<F>:FFT:STOP
command/query, 525
STOP, :FUNCtion<F>:GATing:STOP
command, 534
STOP, :MEASure:TIEFilter:STOP
command/query, 982
STOP, :MTESt:STOP command, 731
STReaming, :WAVeform:STReaming
command/query, 1461
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1777
string variables, 129
string variables, example, 129
STRing, :DISPlay:STRing command, 1544
string, quoted, 1542
strings, alphanumeric, 114
STV commands, 1362
STV, :TRIGger:ADVanced:TV:STV:FIELd
command/query, 1364
STV, :TRIGger:ADVanced:TV:STV:LINE
command/query, 1365
STV, :TRIGger:ADVanced:TV:STV:SOURce
command/query, 1366
STV, :TRIGger:ADVanced:TV:STV:SPOLarity
command/query, 1367
STYPe, :CHANnel<N>:PROBe:STYPe
command/query, 376
STYPe, :XTALk<X>:STYPe
command/query, 1528
SUBTract, :FUNCtion<F>:SUBTract
command, 559
suffix multipliers, 115, 151
suffix units, 152
SUI, :MTESt:COUNt:SUI? query, 686
summary bits, 158
SWEep, :TRIGger:SWEep
command/query, 1231
SYMBolrate, :ANALyze:SIGNal:SYMBolrate
command/query, 270
synchronization, acquisition, 188
syntax error, 1582
System Commands, 1181
System Computer, Returning control
to, 147
SYSTem:SETup and *LRN, 421
T
TAB, :DISPlay:TAB command/query, 1545
Talker, Code and Capability, 141
Talker, Unaddressing, 147
TAP, :SPRocessing:DFEQualizer:TAP
command/query, 1154
TAP,
:SPRocessing:DFEQualizer:TAP:AUToma
tic command, 1155
TAP, :SPRocessing:DFEQualizer:TAP:DELay
command/query, 1156
TAP, :SPRocessing:DFEQualizer:TAP:GAIN
command/query, 1157
TAP, :SPRocessing:DFEQualizer:TAP:LTARget
command/query, 1158
TAP, :SPRocessing:DFEQualizer:TAP:MAX
command/query, 1159
TAP, :SPRocessing:DFEQualizer:TAP:MIN
command/query, 1160
TAP,
:SPRocessing:DFEQualizer:TAP:NORMal
ize command/query, 1161
TAP,
:SPRocessing:DFEQualizer:TAP:UTARget
command/query, 1162
TAP, :SPRocessing:DFEQualizer:TAP:WIDTh
command/query, 1163
TAP, :SPRocessing:FFEQualizer:TAP
command/query, 1171
TAP,
:SPRocessing:FFEQualizer:TAP:AUTomat
ic command, 1172
TAP, :SPRocessing:FFEQualizer:TAP:DELay
command/query, 1173
TAP, :SPRocessing:FFEQualizer:TAP:WIDTh
command/query, 1174
TDELay, :FUNCtion<F>:FFT:TDELay
command/query, 526
TDELay, :SPRocessing:FFEQualizer:TDELay
command/query, 1175
TDELay, :TRIGger:DELay:TDELay:TIME
command/query, 1245
TDLY,
:TRIGger:ADVanced:DELay:TDLY:ARM:SL
OPe command/query, 1358
TDLY,
:TRIGger:ADVanced:DELay:TDLY:ARM:S
OURce command/query, 1357
TDLY, :TRIGger:ADVanced:DELay:TDLY:DELay
command/query, 1359
TDLY,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SLOPe command/query, 1361
TDLY,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SOURce command/query, 1360
TDMode, :SPRocessing:FFEQualizer:TDMode
command/query, 1176
TEDGe, :MEASure:TEDGe
command/query, 929
TEMP, :CALibrate:TEMP? query, 309
temperature and calibration, 299
temperature color grade scheme, 473
TERM1, :TRIGger:SEQuence:TERM1
command/query, 1282
TERM2, :TRIGger:SEQuence:TERM2
command/query, 1283
termination of message during
hardcopy, 151
termination voltage for N5444A probe
head, 364
termination voltage for N7010A active
termination adapter, 364
Terminator, 117
Test (*TST?) query, 435
TEST, :LTESt:TEST command/query, 641
TESTLIMITS,
:ACQuire:BANDwidth:TESTLIMITS?
query, 216
TESTLIMITS, :ACQuire:POINts:TESTLIMITS?
query, 229
TESTLIMITS, :ACQuire:SRATe:TESTLIMITS?
query, 242
TEXT, :DISPlay:TEXT command, 1546
THReshold, :DIGital<N>:THReshold
command/query, 441
THReshold, :DISPlay:JITTer:THReshold
command, 488
THReshold, :MEASure:FFT:THReshold
command/query, 1571
THReshold, :POD<N>:THReshold
command/query, 1012
THReshold,
:TRIGger:ADVanced:PATTern:THReshold
:LEVel command/query, 1338
THReshold,
:TRIGger:ADVanced:PATTern:THReshold
:POD<N> command/query, 1339
THReshold,
:TRIGger:ADVanced:STATe:THReshold:L
EVel command/query, 1345
THResholds,
:MEASure:THResholds:ABSolute
command/query, 930
THResholds, :MEASure:THResholds:DISPlay
command/query, 931
THResholds,
:MEASure:THResholds:GENauto
command, 932
THResholds,
:MEASure:THResholds:GENeral:ABSolut
e command/query, 933
THResholds,
:MEASure:THResholds:GENeral:HYSTere
sis command/query, 935
THResholds,
:MEASure:THResholds:GENeral:METHod
command/query, 937
THResholds,
:MEASure:THResholds:GENeral:PAMAut
omatic command/query, 941
THResholds,
:MEASure:THResholds:GENeral:PAMCus
tom command/query, 939
THResholds,
:MEASure:THResholds:GENeral:PERCen
t command/query, 943
THResholds,
:MEASure:THResholds:GENeral:TOPBas
e:ABSolute command/query, 945
THResholds,
:MEASure:THResholds:GENeral:TOPBas
e:METHod command/query, 947
THResholds,
:MEASure:THResholds:HYSTeresis
command/query, 948
THResholds,
:MEASure:THResholds:METHod
command/query, 950
THResholds,
:MEASure:THResholds:PERCent
command/query, 951
THResholds,
:MEASure:THResholds:RFALl:ABSolute
command/query, 952
THResholds,
:MEASure:THResholds:RFALl:METHod
command/query, 954
1778 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
THResholds,
:MEASure:THResholds:RFALl:PAMAutom
atic command/query, 956
THResholds,
:MEASure:THResholds:RFALl:PERCent
command/query, 958
THResholds,
:MEASure:THResholds:RFALl:TOPBase:A
BSolute command/query, 960
THResholds,
:MEASure:THResholds:RFALl:TOPBase:
METHod command/query, 962
THResholds,
:MEASure:THResholds:SERial:ABSolute
command/query, 963
THResholds,
:MEASure:THResholds:SERial:HYSTeresi
s command/query, 965
THResholds,
:MEASure:THResholds:SERial:METHod
command/query, 967
THResholds,
:MEASure:THResholds:SERial:PERCent
command/query, 968
THResholds,
:MEASure:THResholds:SERial:TOPBase:
ABSolute command/query, 970
THResholds,
:MEASure:THResholds:SERial:TOPBase:
METHod command/query, 972
THResholds,
:MEASure:THResholds:TOPBase:ABSolu
te command/query, 973
THResholds,
:MEASure:THResholds:TOPBase:METHo
d command/query, 974
TIEClock2, :MEASure:TIEClock2
command/query, 975
TIEData, :MEASure:TIEData
command/query, 1573
TIEData, :MEASure:TIEData2
command/query, 977
TIEFilter, :MEASure:TIEFilter:SHAPe
command/query, 979
TIEFilter, :MEASure:TIEFilter:STARt
command/query, 980
TIEFilter, :MEASure:TIEFilter:STATe
command/query, 981
TIEFilter, :MEASure:TIEFilter:STOP
command/query, 982
TIEFilter, :MEASure:TIEFilter:TYPE
command/query, 983
TIETimebase, :WMEMory:TIETimebase
command/query, 1480
time and date, setting, 1181
Time Base Commands, 1201
time buckets, and POINts?, 1450
time of level, PAM measurement
definition, 869
time scale, operands and functions, 507
TIME, :MEASure:PAM:EYE:TIME:LTDefinition
command/query, 869
TIME, :SYSTem:TIME
command/query, 1199
TIME,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:TIME command/query, 1399
TIME,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:TIME command/query, 1392
TIME, :TRIGger:DELay:TDELay:TIME
command/query, 1245
TIME, :TRIGger:RUNT:TIME
command/query, 1280
TIME, :TRIGger:SEQuence:RESet:TIME
command/query, 1287
TIME, :TRIGger:SEQuence:WAIT:TIME
command/query, 1289
TIME, :TRIGger:TIMeout:TIME
command/query, 1305
TIME, :TRIGger:TRANsition:TIME
command/query, 1309
TIME, :TRIGger:WINDow:TIME
command/query, 1325
TIMeout, :SBUS<N>:SPI:CLOCk:TIMeout
command/query, 1112
TIMeout, :TRIGger:TIMeout:CONDition
command/query, 1303
TIMeout, :TRIGger:TIMeout:SOURce
command/query, 1304
TIMeout, :TRIGger:TIMeout:TIME
command/query, 1305
timeout, SPI clock, 1112
TITLe?, :MTESt:TITLe? query, 733
TJRJDJ?, :MEASure:RJDJ:TJRJDJ?
query, 916
TLIMit, :HISTogram:WINDow:TLIMit
command/query, 584
TMAX, :MEASure:TMAX
command/query, 984
TMIN, :MEASure:TMIN
command/query, 985
TOPBase,
:MEASure:THResholds:GENeral:TOPBas
e:ABSolute command/query, 945
TOPBase,
:MEASure:THResholds:GENeral:TOPBas
e:METHod command/query, 947
TOPBase,
:MEASure:THResholds:RFALl:TOPBase:A
BSolute command/query, 960
TOPBase,
:MEASure:THResholds:RFALl:TOPBase:
METHod command/query, 962
TOPBase,
:MEASure:THResholds:SERial:TOPBase:
ABSolute command/query, 970
TOPBase,
:MEASure:THResholds:SERial:TOPBase:
METHod command/query, 972
TOPBase,
:MEASure:THResholds:TOPBase:ABSolu
te command/query, 973
TOPBase,
:MEASure:THResholds:TOPBase:METHo
d command/query, 974
TPOint, :TRIGger:PWIDth:TPOint
command/query, 1274
TPOint, :TRIGger:WINDow:TPOint
command/query, 1326
TPOSition, :MTESt:FOLDing:TPOSition
command/query, 705
transferring waveform data, 1416
transition violation mode, 1408
TRANsition,
:TRIGger:ADVanced:VIOLation:TRANsitio
n command/query, 1409
TRANsition,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce command/query, 1410
TRANsition,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:HTHReshold
command/query, 1411
TRANsition,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:LTHReshold
command/query, 1412
TRANsition,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:TYPE command/query, 1413
TRANsition, :TRIGger:TRANsition:DIRection
command/query, 1307
TRANsition, :TRIGger:TRANsition:SOURce
command/query, 1308
TRANsition, :TRIGger:TRANsition:TIME
command/query, 1309
TRANsition, :TRIGger:TRANsition:TYPE
command/query, 1310
transmission mode, and FORMat, 1447
traversal rules, 203
Tree Traversal, Examples, 204
Tree Traversal, Rules, 203
TREF, :HOSTed:CALibrate:TREF:DETect
command, 600
TRENd, :MEASure:JITTer:TRENd
command/query, 832
TRENd, :MEASure:JITTer:TRENd:SMOoth
command/query, 833
TRENd,
:MEASure:JITTer:TRENd:SMOoth:POINts
command/query, 834
TRENd, :MEASure:JITTer:TRENd:VERTical
command/query, 835
TRENd,
:MEASure:JITTer:TRENd:VERTical:OFFSe
t command/query, 836
TRENd,
:MEASure:JITTer:TRENd:VERTical:RANG
e command/query, 837
TRG, bit, 431, 433
TRG, bit in the status byte, 162
TRG, Event Enable Register, 155
Trigger (*TRG) command, 434
trigger armed status, checking for, 178
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1779
Trigger Commands, 1215
Trigger Event Register (TRG), 162
TRIGger IIC commands, 1091
trigger level, default setup, 1195
trigger mode, 1216
trigger mode, ADVanced, 1216
trigger mode, advanced delay, 1346, 1355
trigger mode, advanced TV, 1362, 1368
trigger mode, COMM, 1327
trigger mode, default setup, 1195
trigger mode, delay, 1346, 1355
trigger mode, NTSC TV, 1362
trigger mode, PAL-M TV, 1362
trigger mode, pattern, 1334
trigger mode, state, 1340
trigger mode, User Defined TV, 1368
trigger mode, violation types, 1374
trigger modes, summary, 1216
trigger other instruments, 302
TRIGger SPI commands, 1109
trigger sweep, default setup, 1195
trigger type, SPI, 1126
TRIGger, :MTESt:TRIGger:SOURce
command/query, 734
TRIGger, :SBUS<N>:CAN:TRIGger
command/query, 1064
TRIGger,
:SBUS<N>:CAN:TRIGger:PATTern:DATA
command/query, 1067
TRIGger,
:SBUS<N>:CAN:TRIGger:PATTern:DATA:
LENGth command/query, 1068
TRIGger,
:SBUS<N>:CAN:TRIGger:PATTern:ID
command/query, 1070
TRIGger,
:SBUS<N>:CAN:TRIGger:PATTern:ID:MO
DE command/query, 1071
TRIGger, :SBUS<N>:FLEXray:TRIGger
command/query, 1077
TRIGger,
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE
command/query, 1078
TRIGger,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC
Base command/query, 1079
TRIGger,
:SBUS<N>:FLEXray:TRIGger:FRAMe:CC
Repetition command/query, 1080
TRIGger,
:SBUS<N>:FLEXray:TRIGger:FRAMe:ID
command/query, 1081
TRIGger,
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYP
E command/query, 1082
TRIGger,
:SBUS<N>:IIC:TRIGger:PATTern:ADDRes
s command/query, 1095, 1097
TRIGger, :SBUS<N>:IIC:TRIGger:TYPE
command, 1098
TRIGger, :SBUS<N>:LIN:TRIGger
command/query, 1105
TRIGger, :SBUS<N>:LIN:TRIGger:ID
command/query, 1106
TRIGger,
:SBUS<N>:LIN:TRIGger:PATTern:DATA
command/query, 1107
TRIGger,
:SBUS<N>:LIN:TRIGger:PATTern:DATA:L
ENGth command/query, 1108
TRIGger,
:SBUS<N>:SPI:TRIGger:PATTern:DATA
command/query, 1122
TRIGger,
:SBUS<N>:SPI:TRIGger:PATTern:WIDTh
command/query, 1124
TRIGger, :SBUS<N>:SPI:TRIGger:TYPE
command/query, 1126
TRIGger,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SLOPe command/query, 1354
TRIGger,
:TRIGger:ADVanced:DELay:EDLY:TRIGge
r:SOURce command/query, 1353
TRIGger,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SLOPe command/query, 1361
TRIGger,
:TRIGger:ADVanced:DELay:TDLY:TRIGge
r:SOURce command/query, 1360
TRIGger, :TRIGger:DELay:TRIGger:SLOPe
command/query, 1247
TRIGger, :TRIGger:DELay:TRIGger:SOURce
command/query, 1246
Trigger, *TRG status bit, 155
trigger, CAN, 1064
trigger, CAN pattern data length, 1068
trigger, CAN pattern ID mode, 1071
trigger, CAN sample point, 1059
trigger, CAN signal baudrate, 1060
trigger, CAN signal definition, 1061
trigger, CAN source, 1063
trigger, IIC signal baudrate, 1102
trigger, LIN sample point, 1101
trigger, LIN source, 1103
triggering, for User Defined TV mode, 1369
truncating numbers, 115
Truncation Rule, 202
TSCale, :MTESt:FOLDing:TSCale
command/query, 707
TSTArt, :MARKer:TSTArt
command/query, 652
TSTOp, :MARKer:TSTOp
command/query, 653
TTAG?, :WAVeform:SEGMented:TTAG?
query, 1457
TTAGs, :ACQuire:SEGMented:TTAGs
command/query, 237
TV, :TRIGger:ADVanced:TV:STV:FIELd
command/query, 1364
TV, :TRIGger:ADVanced:TV:STV:LINE
command/query, 1365
TV, :TRIGger:ADVanced:TV:STV:SOURce
command/query, 1366
TV, :TRIGger:ADVanced:TV:STV:SPOLarity
command/query, 1367
TV, :TRIGger:ADVanced:TV:UDTV:ENUMber
command/query, 1370
TV, :TRIGger:ADVanced:TV:UDTV:PGTHan
command/query, 1371
TV, :TRIGger:ADVanced:TV:UDTV:POLarity
command/query, 1372
TV, :TRIGger:ADVanced:TV:UDTV:SOURce
command/query, 1373
TV, :TRIGger:TV:LINE
command/query, 1312
TV, :TRIGger:TV:MODE
command/query, 1313
TV, :TRIGger:TV:POLarity
command/query, 1314
TV, :TRIGger:TV:SOURce
command/query, 1315
TV, :TRIGger:TV:STANdard
command/query, 1316
TV, :TRIGger:TV:UDTV:ENUMber
command/query, 1317
TV, :TRIGger:TV:UDTV:HSYNc
command/query, 1318
TV, :TRIGger:TV:UDTV:HTIMe
command/query, 1319
TV, :TRIGger:TV:UDTV:PGTHan
command/query, 1320
TV, :TRIGger:TV:UDTV:POLarity
command/query, 1321
TVOLt, :MEASure:TVOLt
command/query, 986
TYPE, :ANALyze:SIGNal:TYPE
command/query, 282
TYPE, :BUS:B<N>:TYPE
command/query, 288
TYPE, :CHANnel<N>:ISIM:BWLimit:TYPE
command/query, 334
TYPE, :FUNCtion<F>:FFT:DETector:TYPE
command/query, 519
TYPE,
:MEASure:JITTer:SPECtrum:VERTical:TY
PE command/query, 830
TYPE, :MEASure:TIEFilter:TYPE
command/query, 983
TYPE, :SBUS<N>:CAN:TYPE
command/query, 1072
TYPE,
:SBUS<N>:FLEXray:TRIGger:ERRor:TYPE
command/query, 1078
TYPE,
:SBUS<N>:FLEXray:TRIGger:FRAMe:TYP
E command/query, 1082
TYPE, :SBUS<N>:IIC:TRIGger:TYPE
command, 1098
TYPE, :SBUS<N>:SPI:TRIGger:TYPE
command/query, 1126
TYPE, :SBUS<N>:SPI:TYPE
command/query, 1128
TYPE,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:TYPE command/query, 1413
1780 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
TYPE, :TRIGger:SEQuence:RESet:TYPE
command/query, 1285
TYPE, :TRIGger:TRANsition:TYPE
command/query, 1310
TYPE?, :WAVeform:TYPE? query, 1462
U
UDTV commands, 1368
UDTV,
:TRIGger:ADVanced:TV:UDTV:ENUMber
command/query, 1370
UDTV, :TRIGger:ADVanced:TV:UDTV:PGTHan
command/query, 1371
UDTV, :TRIGger:ADVanced:TV:UDTV:POLarity
command/query, 1372
UDTV, :TRIGger:ADVanced:TV:UDTV:SOURce
command/query, 1373
UDTV, :TRIGger:TV:UDTV:ENUMber
command/query, 1317
UDTV, :TRIGger:TV:UDTV:HSYNc
command/query, 1318
UDTV, :TRIGger:TV:UDTV:HTIMe
command/query, 1319
UDTV, :TRIGger:TV:UDTV:PGTHan
command/query, 1320
UDTV, :TRIGger:TV:UDTV:POLarity
command/query, 1321
UI, :MTESt:FOLDing:COUNt:UI query, 695
UI?, :MTESt:COUNt:UI? query, 687
UITouijitter, :MEASure:UITouijitter
command/query, 988
ULEVel, :ISCan:RUNT:ULEVel
command/query, 624
ULIMit, :ISCan:MEASurement:ULIMit
command/query, 616
ULIMit, :LTESt:ULIMit command/query, 642
Unaddressing all listeners, 147
UNITinterval, :MEASure:UNITinterval
command/query, 989
UNITs, :CHANnel<N>:PROBe:EXTernal:UNITs
command/query, 359
UNITs, :CHANnel<N>:UNITs
command/query, 412
UNITs, :MEASure:NOISe:UNITs
command/query, 852
UNITs, :MEASure:RJDJ:UNITs
command/query, 918
UNITs, :MTESt:AMASk:UNITs
command/query, 676
units, vertical, 359, 412
UNKNown vertical units, 359, 412
uppercase, 113
uppercase, headers, 113
uppercase, letters and responses, 114
URQ bit (User Request), 416
USB (Device) interface, 93
user preferences, default setup and, 1196
User Request (URQ) status bit, 154
User Request Bit (URQ), 416
User's Guide, 5
User-Defined Measurements, 743
Using the Digitize Command, 126
USR bit, 431, 433
UTARget,
:SPRocessing:DFEQualizer:TAP:UTARget
command/query, 1162
V
VAMPlitude, :MEASure:VAMPlitude
command/query, 991
VAVerage, :MEASure:VAVerage
command/query, 992
VBA, 121, 1592
VBASe, :MEASure:VBASe
command/query, 993
version of software, reading, 419
VERSus, :FUNCtion<F>:VERSus
command, 560
vertical axis, full-scale, 377
vertical scaling, functions, 506
vertical units, 359, 412
VERTical, :ANALyze:CLOCk:VERTical
command/query, 265
VERTical, :ANALyze:CLOCk:VERTical:OFFSet
command/query, 266
VERTical, :ANALyze:CLOCk:VERTical:RANGe
command/query, 267
VERTical, :AUToscale:VERTical
command, 1024
VERTical, :DISPlay:BOOKmark<N>:VERTical?
query, 466
VERTical, :FUNCtion<F>:VERTical
command/query, 561
VERTical, :FUNCtion<F>:VERTical:OFFSet
command/query, 562
VERTical, :FUNCtion<F>:VERTical:RANGe
command/query, 563
VERTical, :HISTogram:VERTical:BINS
command/query, 578
VERTical, :MEASure:CLOCk:VERTical
command/query, 1564
VERTical, :MEASure:CLOCk:VERTical:OFFSet
command/query, 1565
VERTical, :MEASure:CLOCk:VERTical:RANGe
command/query, 1566
VERTical,
:MEASure:JITTer:SPECtrum:VERTical
command/query, 827
VERTical,
:MEASure:JITTer:SPECtrum:VERTical:OF
FSet command/query, 828
VERTical,
:MEASure:JITTer:SPECtrum:VERTical:RA
NGe command/query, 829
VERTical,
:MEASure:JITTer:SPECtrum:VERTical:TY
PE command/query, 830
VERTical, :MEASure:JITTer:TRENd:VERTical
command/query, 835
VERTical,
:MEASure:JITTer:TRENd:VERTical:OFFSe
t command/query, 836
VERTical,
:MEASure:JITTer:TRENd:VERTical:RANG
e command/query, 837
VERTical,
:SPRocessing:CTLequalizer:VERTical
command/query, 1146
VERTical,
:SPRocessing:CTLequalizer:VERTical:OF
FSet command/query, 1147
VERTical,
:SPRocessing:CTLequalizer:VERTical:RA
NGe command/query, 1148
VERTical,
:SPRocessing:FFEQualizer:VERTical
command/query, 1177
VERTical,
:SPRocessing:FFEQualizer:VERTical:OFF
Set command/query, 1178
VERTical,
:SPRocessing:FFEQualizer:VERTical:RA
NGe command/query, 1179
vertical, axis control, 313
vertical, axis offset, and YRANge, 1490
vertical, scaling, and YRANge, 1491
VIEW and BLANk, 1026
VIEW, :ANALyze:VIEW
command/query, 285
VIEW, :TIMebase:VIEW
command/query, 1209
VIEW, :WAVeform:VIEW
command/query, 1463
violation modes for trigger, 1374
VIOLation,
:TRIGger:ADVanced:VIOLation:MODE
command/query, 1375
VIOLation,
:TRIGger:ADVanced:VIOLation:PWIDth:D
IRection command/query, 1378
VIOLation,
:TRIGger:ADVanced:VIOLation:PWIDth:P
OLarity command/query, 1379
VIOLation,
:TRIGger:ADVanced:VIOLation:PWIDth:S
OURce command/query, 1380
VIOLation,
:TRIGger:ADVanced:VIOLation:PWIDth:
WIDTh command/query, 1381
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce command/query, 1393
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:EDGE
command/query, 1395
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:CSOurce:LEVel
command/query, 1394
Index
Keysight Infiniium Oscilloscopes Programmer's Guide 1781
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce command/query, 1396
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:HTHReshold
command/query, 1397
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:DSOurce:LTHReshold
command/query, 1398
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:H
OLD:TIME command/query, 1399
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:M
ODE command/query, 1385
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce command/query, 1386
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:EDGE
command/query, 1388
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:CSOurce:LEVel
command/query, 1387
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce command/query, 1389
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:HTHReshold
command/query, 1390
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:DSOurce:LTHReshold
command/query, 1391
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SE
Tup:TIME command/query, 1392
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce command/query, 1400
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:EDGE
command/query, 1402
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:CSOurce:LEVel
command/query, 1401
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce command/query, 1403
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:HTHReshold
command/query, 1404
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:DSOurce:LTHReshold
command/query, 1405
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:HoldTIMe (HTIMe)
command/query, 1407
VIOLation,
:TRIGger:ADVanced:VIOLation:SETup:SH
OLd:SetupTIMe (STIMe)
command/query, 1406
VIOLation,
:TRIGger:ADVanced:VIOLation:TRANsitio
n command/query, 1409
VIOLation,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce command/query, 1410
VIOLation,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:HTHReshold
command/query, 1411
VIOLation,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:SOURce:LTHReshold
command/query, 1412
VIOLation,
:TRIGger:ADVanced:VIOLation:TRANsitio
n:TYPE command/query, 1413
VISA COM example in C#, 1603
VISA COM example in Python, 1622
VISA COM example in Visual Basic, 1592
VISA COM example in Visual Basic
.NET, 1613
VISA example in C, 1630
VISA example in C#, 1649
VISA example in Python, 1673, 1679
VISA example in Visual Basic, 1639
VISA example in Visual Basic .NET, 1661
VISA examples, 1592, 1630
Visual Basic .NET, SCPI.NET example, 1713
Visual Basic .NET, VISA COM
example, 1613
Visual Basic .NET, VISA example, 1661
Visual Basic 6.0, 121
Visual Basic for Applications, 121, 1592
Visual Basic for Applications (VBA), 100
Visual Basic, SICL library example, 1696
Visual Basic, VISA COM example, 1592
Visual Basic, VISA example, 1639
VLOWer, :MEASure:VLOWer
command/query, 994
VMAX, :MEASure:VMAX
command/query, 995
VMIDdle, :MEASure:VMIDdle
command/query, 996
VMIN, :MEASure:VMIN
command/query, 997
voltage at center screen, 346, 358
VOLTS as vertical units, 359, 412
VOVershoot, :MEASure:VOVershoot
command/query, 998
VPP, :MEASure:VPP command/query, 999
VPReshoot, :MEASure:VPReshoot
command/query, 1000
VRMS, :MEASure:VRMS
command/query, 1001
VSTArt, :MARKer:VSTArt
command/query, 654
VSTOp, :MARKer:VSTOp
command/query, 655
VTERm, :CHANnel<N>:PROBe:HEAD:VTERm
command/query, 364
VTIMe, :MEASure:VTIMe
command/query, 1003
VTOP, :MEASure:VTOP
command/query, 1004
VUNits, :FUNCtion<F>:FFT:VUNits
command/query, 527
VUPPer, :MEASure:VUPPer
command/query, 1005
W
WAIT, :TRIGger:SEQuence:WAIT:ENABle
command/query, 1288
WAIT, :TRIGger:SEQuence:WAIT:TIME
command/query, 1289
Wait-to-Continue (*WAI) command, 436
warranty, 2
WATTS as vertical units, 359, 412
Waveform Commands, 1415
waveform data values for clipped
portions, 1445
waveform intensity, default setup
and, 1196
Waveform Memory Commands, 1479
waveform type, and COMPlete?, 1422
waveform type, and COUNt?, 1423
WAVeform,
:CHANnel<N>:SIMulation:WAVeform
command/query, 411
WAVeform, :DISK:SAVE:WAVeform
command, 458
WAVeform, :STORe:WAVeform
command, 1050
waveform, acquiring, 186
waveform, data and preamble, 1416
waveform, saving, 458
waveform, view parameters, 1463
WAVeforms,
:MTESt:FOLDing:COUNt:WAVeforms
query, 697
WAVeforms?, :MTESt:COUNt:WAVeforms?
query, 688
what's new, 43
white space (separator), 104
-width - -width measurement, 772
WIDTh,
:SBUS<N>:SPI:TRIGger:PATTern:WIDTh
command/query, 1124
WIDTh, :SBUS<N>:SPI:WIDTh
command/query, 1129
1782 Keysight Infiniium Oscilloscopes Programmer's Guide
Index
WIDTh,
:SPRocessing:DFEQualizer:TAP:WIDTh
command/query, 1163
WIDTh,
:SPRocessing:FFEQualizer:TAP:WIDTh
command/query, 1174
WIDTh,
:TRIGger:ADVanced:VIOLation:PWIDth:
WIDTh command/query, 1381
WIDTh, :TRIGger:GLITch:WIDTh
command/query, 1266
WIDTh, :TRIGger:PWIDth:WIDTh
command/query, 1275
WIDTh, :WAVeform:CGRade:WIDTh?
query, 1421
Window All Data, 285
WINDow, :DISPlay:WINDow:MAXimize
command, 504
WINDow, :FUNCtion<F>:FFT:WINDow
command/query, 528
WINDow, :HISTogram:WINDow:BLIMit
command/query, 583
WINDow, :HISTogram:WINDow:DEFault
command, 579
WINDow, :HISTogram:WINDow:LLIMit
command/query, 581
WINDow, :HISTogram:WINDow:RLIMit
command/query, 582
WINDow, :HISTogram:WINDow:SOURce
command/query, 580
WINDow, :HISTogram:WINDow:TLIMit
command/query, 584
WINDow,
:MEASure:JITTer:SPECtrum:WINDow
command/query, 831
WINDow, :MEASure:WINDow
command/query, 1006
WINDow, :TIMebase:WINDow:DELay
command/query, 1210
WINDow, :TIMebase:WINDow:POSition
command/query, 1211
WINDow, :TIMebase:WINDow:RANGe
command/query, 1212
WINDow, :TIMebase:WINDow:SCALe
command/query, 1213
WINDow, :TRIGger:WINDow:CONDition
command/query, 1323
WINDow, :TRIGger:WINDow:SOURce
command/query, 1324
WINDow, :TRIGger:WINDow:TIME
command/query, 1325
WINDow, :TRIGger:WINDow:TPOint
command/query, 1326
word width, SPI decode, 1129
WORD, Understanding the format, 1442
WORD, waveform data FORMat, 1448
WriteIEEEBlock method, 122
WriteList method, 122
WriteNumber method, 122
WriteString method, 122
WriteString VISA COM method, 101
writing, text to the screen, 1544
WSIZe, :SBUS<N>:GENRaw:WSIZe
command/query, 1085
X
x axis, controlling, 1201
X vs Y, 560
X1, :MTESt:SCALe:X1 command/query, 725
X1Position, :MARKer:X1Position
command/query, 656
X1Y1source, :MARKer:X1Y1source
command/query, 658
X2Position, :MARKer:X2Position
command/query, 657
X2Y2source, :MARKer:X2Y2source
command/query, 660
x-axis duration, and XRANge?, 1469
x-axis, offset, and XOFFset, 1488
x-axis, range, and XRANge, 1489
x-axis, units and XUNits, 1471
XDELta, :MTESt:AMASk:XDELta
command/query, 677
XDELta, :MTESt:SCALe:XDELta
command/query, 726
XDELta?, :MARKer:XDELta? query, 662
XDISplay?, :WAVeform:XDISplay?
query, 1466
XINCrement?, :WAVeform:XINCrement?
query, 1467
XLISt?, :WAVeform:SEGMented:XLISt?
query, 1458
XOFFset, :WMEMory<R>:XOFFset
command/query, 1488
XORigin?, :WAVeform:XORigin?
query, 1468
XPOSition,
:DISPlay:BOOKmark<N>:XPOSition
command/query, 467
XRANge, :WMEMory<R>:XRANge
command/query, 1489
XRANge?, :WAVeform:XRANge?
query, 1469
XREFerence?, :WAVeform:XREFerence?
query, 1470
XTALk Commands, 1493
XUNits?, :WAVeform:XUNits? query, 1471
Y
Y1, :MTESt:SCALe:Y1 command/query, 727
Y1Position, :MARKer:Y1Position
command/query, 663
Y2, :MTESt:SCALe:Y2 command/query, 728
Y2Position, :MARKer:Y2Position
command/query, 664
Y-axis control, 313
YDELta, :MTESt:AMASk:YDELta
command/query, 678
YDELta?, :MARKer:YDELta? query, 665
YDISplay?, :WAVeform:YDISplay?
query, 1472
YINCrement?, :WAVeform:YINCrement?
query, 1473
YOFFset, :WMEMory<R>:YOFFset
command/query, 1490
YORigin?, :WAVeform:YORigin?
query, 1474
YPOSition,
:DISPlay:BOOKmark<N>:YPOSition
command/query, 468
YRANge, :WMEMory<R>:YRANge
command/query, 1491
YRANge?, :WAVeform:YRANge?
query, 1475
YREFerence?, :WAVeform:YREFerence?
query, 1476
YUNits?, :WAVeform:YUNits? query, 1477
Z
Z1, :SPRocessing:CTLequalizer:Z1
command/query, 1149
Z2, :SPRocessing:CTLequalizer:Z2
command/query, 1150
ZERO, :HOSTed:CALibrate:DESKew:ZERO
command, 592
ZERo, :SPRocessing:CTLequalizer:ZERo
command/query, 1577
ZLEVel, :MEASure:CGRade:ZLEVel
command/query, 764
ZONE, :ISCan:ZONE:HIDE
command/query, 627
ZONE, :ISCan:ZONE:SOURce
command/query, 628
ZONE, :ISCan:ZONE<Z>:SOURce
command/query, 631
ZONE<Z>, :ISCan:ZONE<Z>:MODE
command/query, 629
ZONE<Z>, :ISCan:ZONE<Z>:PLACement
command/query, 630
ZONE<Z>, :ISCan:ZONE<Z>:STATe
command/query, 632
zoom, default setup, 1195
ZSRC,
:CHANnel<N>:PROBe:PRECprobe:ZSRC
command, 372