InfiniiVision HD3-Series Mixed Signal Oscilloscopes

Programmer's Guide

Version 10.30

© Keysight Technologies, Inc. 2005-2026

Legal Notice
Warranty
Technology License
U.S. Government Rights
Safety Notices

March 2026

Table of Contents

In This Book
What's New
What's New in Version 10.30
What's New in Version 10.21
What's New in Version 10.20
What's New in Version 10.15
What's New in Version 10.10
What's New in Version 10.07
What's New in Version 10.06
What's New in Version 10.05
Version 10.00 at Introduction
Command Differences From 3000G X-Series Oscilloscopes
Setting Up
Step 1. Install Keysight IO Libraries Suite software
Step 2. Connect and set up the oscilloscope
Using the USB (Device) Interface
Using the LAN Interface
Step 3. Verify the oscilloscope connection
Getting Started
Basic Oscilloscope Program Structure
Initializing
Capturing Data
Analyzing Captured Data
Programming the Oscilloscope
Referencing the IO Library
Opening the Oscilloscope Connection via the IO Library
Initializing the Interface and the Oscilloscope
Using :AUToscale to Automate Oscilloscope Setup
Using Other Oscilloscope Setup Commands
Capturing Data with the :DIGitize Command
Reading Query Responses from the Oscilloscope
Reading Query Results into String Variables
Reading Query Results into Numeric Variables
Reading Definite-Length Block Query Response Data
Sending Multiple Queries and Reading Results
Checking Instrument Status
Other Ways of Sending Commands
Telnet Sockets
Sending SCPI Commands Using Browser Instrument IO
Sequential (Blocking) vs. Overlapped Commands
Commands Quick Reference
Command Summary
Syntax Elements
Number Format
<NL> (Line Terminator)
[ ] (Optional Syntax Terms)
{ } (Braces)
::= (Defined As)
< > (Angle Brackets)
... (Ellipsis)
n,..,p (Value Ranges)
d (Digits)
Quoted ASCII String
Definite-Length Block Response Data
Common (*) Commands
*CLS (Clear Status) —
*ESE (Standard Event Status Enable) —
*ESR? (Standard Event Status Register) —
*IDN? (Identification Number) —
*LRN? (Learn Device Setup) —
*OPC (Operation Complete) —
*OPT? (Option Identification) —
*RCL (Recall) —
*RST (Reset) —
*SAV (Save) —
*SRE (Service Request Enable) —
*STB? (Read Status Byte) —
*TRG (Trigger) —
*TST? (Self Test) —
*WAI (Wait To Continue) —
Root (:) Commands
:ACTivity —
:AER? (Arm Event Register) —
:AUToscale —
:AUToscale:AMODe —
:AUToscale:CHANnels —
:AUToscale:ENABle —
:AUToscale:FDEBug —
:BLANk —
:DIGitize —
:MODel? —
:RSTate? —
:RUN —
:SERial? —
:SINGle —
:STATus? —
:STOP —
:TER? (Trigger Event Register) —
:VIEW —
:ACQuire Commands
:ACQuire:AALias? —
:ACQuire:COMPlete —
:ACQuire:COUNt —
:ACQuire:DAALias —
:ACQuire:DIGitizer —
:ACQuire:MANual —
:ACQuire:MANual:POINts? —
:ACQuire:MANual:SRATe? —
:ACQuire:MODE —
:ACQuire:POINts[:ANALog] —
:ACQuire:POINts[:ANALog]:AUTO —
:ACQuire:POINts:MAX? —
:ACQuire:SEGMented:ANALyze —
:ACQuire:SEGMented:COUNt —
:ACQuire:SEGMented:INDex —
:ACQuire:SRATe[:ANALog] —
:ACQuire:SRATe[:ANALog]:AUTO —
:ACQuire:TYPE —
:BUS<n> Commands
:BUS<n>:BIT<m> —
:BUS<n>:BITS —
:BUS<n>:CLEar —
:BUS<n>:DISPlay —
:BUS<n>:LABel —
:BUS<n>:MASK —
:CALibrate Commands
:CALibrate:DATE? —
:CALibrate:LABel —
:CALibrate:OUTPut —
:CALibrate:PROTected —
:CALibrate:STARt —
:CALibrate:STATus? —
:CALibrate:TEMPerature? —
:CALibrate:TIME? —
:CGRade Commands
:CGRade:ANALog:ALL —
:CGRade:HALFlife —
:CGRade:INVert —
:CGRade:KEY:SOURce —
:CGRade:LEVels —
:CGRade:LEVels:DISPlay —
:CGRade:MATH:SOURce:STATe —
:CGRade:RESet —
:CGRade:SCHeme —
:CGRade:SOURce —
:CGRade:STATe —
:CHANnel<n> Commands
:CHANnel<n>:BANDwidth —
:CHANnel<n>:COUPling —
:CHANnel<n>:DISPlay —
:CHANnel<n>:IMPedance —
:CHANnel<n>:INVert —
:CHANnel<n>:LABel —
:CHANnel<n>[:MAIN]:OFFSet —
:CHANnel<n>[:MAIN]:SCALe —
:CHANnel<n>:PROBe —
:CHANnel<n>:PROBe:BTN —
:CHANnel<n>:PROBe:CALibration —
:CHANnel<n>:PROBe:CALibration:VALidity —
:CHANnel<n>:PROBe:EXTernal —
:CHANnel<n>:PROBe:EXTernal:GAIN —
:CHANnel<n>:PROBe:EXTernal:OFFSet —
:CHANnel<n>:PROBe:EXTernal:UNITs —
:CHANnel<n>:PROBe:HEAD[:TYPE] —
:CHANnel<n>:PROBe:ID? —
:CHANnel<n>:PROBe:MODE —
:CHANnel<n>:PROBe:RSENse —
:CHANnel<n>:PROBe:SKEW —
:CHANnel<n>:PROBe:STATus? —
:CHANnel<n>:PROBe:STYPe —
:CHANnel<n>:PROBe:ZOOM —
:CHANnel<n>:PROTection —
:CHANnel<n>:RANGe —
:CHANnel<n>:UNITs —
:CHANnel<n>:VERNier —
:CHANnel<n>:WINDow:OFFSet —
:CHANnel<n>:WINDow:SCALe —
:CLOCk Commands
:CLOCk —
:CLOCk:METHod —
:COUNter<c> Commands
:COUNter<c>:CURRent? —
:COUNter<c>:ENABle —
:COUNter<c>:MODE —
:COUNter<c>:NDIGits —
:COUNter<c>:SOURce —
:COUNter<c>:TOTalize:CLEar —
:COUNter<c>:TOTalize:SLOPe —
:DEMO Commands
:DEMO:FUNCtion —
:DEMO:OUTPut —
:DIGital<d> Commands
:DIGital:ORDer:ASCending —
:DIGital:ORDer:DESCending —
:DIGital:ORDer[:SET] —
:DIGital<d>:DISPlay —
:DIGital<d>:LABel —
:DIGital<d>:SETup? —
:DIGital<d>:SIZE —
:DIGital<d>:THReshold —
:DISPlay Commands
:DISPlay:ANNotation<n> —
:DISPlay:ANNotation<n>:BACKground —
:DISPlay:ANNotation<n>:COLor —
:DISPlay:ANNotation<n>:GRID —
:DISPlay:ANNotation<n>:MODE —
:DISPlay:ANNotation<n>:SOURce —
:DISPlay:ANNotation<n>:TEXT —
:DISPlay:ANNotation<n>:XPOSition —
:DISPlay:ANNotation<n>:YPOSition —
:DISPlay:BACKlight —
:DISPlay:CLEar —
:DISPlay:CLOCk:IGRid —
:DISPlay:CLOCk:IGRid:XPOSition —
:DISPlay:CLOCk:IGRid:YPOSition —
:DISPlay:CLOCk[:STATe] —
:DISPlay:DATA? —
:DISPlay:DIALog:CLOSe —
:DISPlay:DIALog:TRANsparent —
:DISPlay:GRATicule:ALABels —
:DISPlay:GRATicule:ALABels:DUAL —
:DISPlay:GRATicule:ALABels:IGRid —
:DISPlay:GRATicule:COUNt —
:DISPlay:GRATicule:FSCReen —
:DISPlay:GRATicule:INTensity —
:DISPlay:GRATicule:LAYout —
:DISPlay:GRATicule:SET —
:DISPlay:GRATicule:SOURce? —
:DISPlay:INTensity:WAVeform —
:DISPlay:LABel —
:DISPlay:LABList —
:DISPlay:MESSage:CLEar —
:DISPlay:PERSistence —
:DISPlay:PERSistence:CLEar —
:DISPlay:RESults:CATalog? —
:DISPlay:RESults:LAYout —
:DISPlay:RESults:LAYout:LIST[:SELect] —
:DISPlay:RESults:LAYout:TAB:LEFT[:SELect] —
:DISPlay:RESults:LAYout:TAB:RIGHt[:SELect] —
:DISPlay:RESults:SIZE —
:DISPlay:TRANsparent —
:DISPlay:VECTors —
:DISPlay:XYColor —
:DVM Commands
:DVM:ARANge —
:DVM:CURRent? —
:DVM:ENABle —
:DVM:MODE —
:DVM:SOURce —
:EXTernal Trigger Commands
:EXTernal:BWLimit —
:EXTernal:PROBe —
:EXTernal:RANGe —
:EXTernal:UNITs —
:FFT Commands
:FFT:AVERage:COUNt —
:FFT:BSIZe? —
:FFT:CENTer —
:FFT:CLEar —
:FFT:DETection:POINts —
:FFT:DETection:TYPE —
:FFT:DISPlay —
:FFT:DMODe —
:FFT:FREQuency:STARt —
:FFT:FREQuency:STOP —
:FFT:GATE —
:FFT:OFFSet —
:FFT:RANGe —
:FFT:RBWidth? —
:FFT:READout —
:FFT:REFerence —
:FFT:SCALe —
:FFT:SOURce —
:FFT:SPAN —
:FFT:SRATe? —
:FFT:VTYPe —
:FFT:WINDow —
:FFTMax:OFFSet —
:FFTMax:RESet —
:FFTMax:SCALe —
:FFTMax:STATe —
:FRANalysis Commands
:FRANalysis:DATA? —
:FRANalysis:ENABle —
:FRANalysis:FREQuency:MODE —
:FRANalysis:FREQuency:SINGle —
:FRANalysis:FREQuency:STARt —
:FRANalysis:FREQuency:STOP —
:FRANalysis:PPDecade —
:FRANalysis:RUN —
:FRANalysis:SOURce:INPut —
:FRANalysis:SOURce:OUTPut —
:FRANalysis:SWEep:POINts —
:FRANalysis:TRACe —
:FRANalysis:WGEN:LOAD —
:FRANalysis:WGEN:VOLTage —
:FRANalysis:WGEN:VOLTage:OFFSet —
:FRANalysis:WGEN:VOLTage:PROFile —
:FUNCtion<m> Commands
:FUNCtion<m>:AUTosetup —
:FUNCtion<m>:AUTosetup:ENABle —
:FUNCtion<m>:AVERage:COUNt —
:FUNCtion<m>:BUS:CLOCk —
:FUNCtion<m>:BUS:SLOPe —
:FUNCtion<m>:BUS:YINCrement —
:FUNCtion<m>:BUS:YORigin —
:FUNCtion<m>:BUS:YUNits —
:FUNCtion<m>:CLEar —
:FUNCtion<m>:DISPlay —
:FUNCtion<m>[:FFT]:BSIZe? —
:FUNCtion<m>[:FFT]:CENTer —
:FUNCtion<m>[:FFT]:DETection:POINts —
:FUNCtion<m>[:FFT]:DETection:TYPE —
:FUNCtion<m>[:FFT]:FREQuency:STARt —
:FUNCtion<m>[:FFT]:FREQuency:STOP —
:FUNCtion<m>:FFT:GATE —
:FUNCtion<m>[:FFT]:PHASe:REFerence —
:FUNCtion<m>[:FFT]:RBWidth? —
:FUNCtion<m>[:FFT]:READout<n> —
:FUNCtion<m>[:FFT]:SPAN —
:FUNCtion<m>[:FFT]:SRATe? —
:FUNCtion<m>[:FFT]:VTYPe —
:FUNCtion<m>[:FFT]:WINDow —
:FUNCtion<m>:FREQuency:BANDpass:CENTer —
:FUNCtion<m>:FREQuency:BANDpass:WIDTh —
:FUNCtion<m>:FREQuency:HIGHpass —
:FUNCtion<m>:FREQuency:LOWPass —
:FUNCtion<m>:GATE —
:FUNCtion<m>:INTegrate:IICondition —
:FUNCtion<m>:INTegrate:IOFFset —
:FUNCtion<m>:LABel —
:FUNCtion<m>:LINear:GAIN —
:FUNCtion<m>:LINear:OFFSet —
:FUNCtion<m>:OFFSet —
:FUNCtion<m>:OPERation —
:FUNCtion<m>:RANGe —
:FUNCtion<m>:REFerence —
:FUNCtion<m>:SCALe —
:FUNCtion<m>:SMOoth:POINts —
:FUNCtion<m>:SOURce1 —
:FUNCtion<m>:SOURce2 —
:FUNCtion<m>:TRENd:NMEasurement —
:HCOPy Commands
:HCOPy:SDUMp:DATA? —
:HCOPy:SDUMp[:DATA]:FORMat —
:HISTogram Commands
:HISTogram:AXIS —
:HISTogram:DISPlay —
:HISTogram:MEASurement —
:HISTogram:MODE —
:HISTogram:RESet —
:HISTogram:SIZE —
:HISTogram:TYPE —
:HISTogram:WINDow:BLIMit —
:HISTogram:WINDow:LLIMit —
:HISTogram:WINDow:RLIMit —
:HISTogram:WINDow:SOURce —
:HISTogram:WINDow:TLIMit —
:JITTer Commands
:JITTer:HISTogram:APPLy —
:JITTer:MEASurement —
:JITTer:SPECtrum:APPLy —
:JITTer:SPECtrum:HORizontal:POSition —
:JITTer:SPECtrum:HORizontal:RANGe —
:JITTer:SPECtrum:VERTical:OFFSet —
:JITTer:SPECtrum:VERTical:RANGe —
:JITTer:SPECtrum:VERTical:TYPE —
:JITTer:SPECtrum:WINDow —
:JITTer:STATe —
:JITTer:TRENd:APPLy —
:JITTer:TRENd:SMOoth:APPLy —
:JITTer:TRENd:SMOoth:POINts —
:JITTer:TRENd:VERTical:OFFSet —
:JITTer:TRENd:VERTical:RANGe —
:LISTer Commands
:LISTer:DATA? —
:LISTer:DISPlay —
:LISTer:REFerence —
:LTESt Commands
:LTESt:COPY —
:LTESt:COPY:ALL —
:LTESt:COPY:MARGin —
:LTESt:ENABle —
:LTESt:FAIL —
:LTESt:LLIMit —
:LTESt:MEASurement —
:LTESt:RESults? —
:LTESt:RUMode:SOFailure —
:LTESt:TEST —
:LTESt:ULIMit —
:MARKer Commands
:MARKer:DYDX? —
:MARKer:MODE —
:MARKer:X1:DISPlay —
:MARKer:X1Position —
:MARKer:X1Y1source —
:MARKer:X2:DISPlay —
:MARKer:X2Position —
:MARKer:X2Y2source —
:MARKer:XDELta? —
:MARKer:XUNits —
:MARKer:XUNits:USE —
:MARKer:Y1:DISPlay —
:MARKer:Y1Position —
:MARKer:Y2:DISPlay —
:MARKer:Y2Position —
:MARKer:YDELta? —
:MARKer:YUNits —
:MARKer:YUNits:USE —
:MEASure Commands
:MEASure:AREA —
:MEASure:BRATe —
:MEASure:BWIDth —
:MEASure:CLEar —
:MEASure:COUNter —
:MEASure:CTCNwidth —
:MEASure:CTCPwidth —
:MEASure:DELay —
:MEASure:DELay:DEFine —
:MEASure:DUTYcycle —
:MEASure:FALLtime —
:MEASure:FFT:ACPR —
:MEASure:FFT:CPOWer —
:MEASure:FFT:OBW —
:MEASure:FFT:THD —
:MEASure:FREQuency —
:MEASure:HISTogram:BWIDth? —
:MEASure:HISTogram:HITS? —
:MEASure:HISTogram:M1S? —
:MEASure:HISTogram:M2S? —
:MEASure:HISTogram:M3S? —
:MEASure:HISTogram:MAXimum? —
:MEASure:HISTogram:MEAN? —
:MEASure:HISTogram:MEDian? —
:MEASure:HISTogram:MINimum? —
:MEASure:HISTogram:MODE? —
:MEASure:HISTogram:PEAK? —
:MEASure:HISTogram:PPEak? —
:MEASure:HISTogram:SDEViation? —
:MEASure:HYSTeresis —
:MEASure:NCJitter —
:MEASure:NDUTy —
:MEASure:NEDGes —
:MEASure:NPERiod —
:MEASure:NPULses —
:MEASure:NWIDth —
:MEASure:OVERshoot —
:MEASure:PEDGes —
:MEASure:PERiod —
:MEASure:PHASe —
:MEASure:PPULses —
:MEASure:PREShoot —
:MEASure:PWIDth —
:MEASure:QUICk —
:MEASure:RESults? —
:MEASure:RISetime —
:MEASure:SDEViation —
:MEASure:SHOW —
:MEASure:SLEWrate —
:MEASure:SOURce —
:MEASure:STATistics —
:MEASure:STATistics:DISPlay —
:MEASure:STATistics:INCRement —
:MEASure:STATistics:MCOunt —
:MEASure:STATistics:RESet —
:MEASure:STATistics:RSDeviation —
:MEASure:TEDGe —
:MEASure:THResholds:ABSolute —
:MEASure:THResholds:METHod —
:MEASure:THResholds:PERCent —
:MEASure:THResholds:STANdard —
:MEASure:TIEClock —
:MEASure:TIEData —
:MEASure:TVALue? —
:MEASure:VAMPlitude —
:MEASure:VAVerage —
:MEASure:VBASe —
:MEASure:VMAX —
:MEASure:VMIN —
:MEASure:VPP —
:MEASure:VRATio —
:MEASure:VRMS —
:MEASure:VTOP —
:MEASure:WINDow —
:MEASure:XMAX —
:MEASure:XMIN —
:MEASure:YATX —
:MEASure Power Commands
:MEASure:ANGLe —
:MEASure:APParent —
:MEASure:CPLoss —
:MEASure:CRESt —
:MEASure:EFFiciency —
:MEASure:ELOSs —
:MEASure:FACTor —
:MEASure:IPOWer —
:MEASure:OFFTime —
:MEASure:ONTime —
:MEASure:OPOWer —
:MEASure:PCURrent —
:MEASure:PLOSs —
:MEASure:RDSon —
:MEASure:REACtive —
:MEASure:REAL —
:MEASure:RIPPle —
:MEASure:TRESponse —
:MEASure:VCESat —
:MTESt Commands
:MTESt:ALL —
:MTESt:AMASk:CREate —
:MTESt:AMASk:SOURce —
:MTESt:AMASk:UNITs —
:MTESt:AMASk:XDELta —
:MTESt:AMASk:YDELta —
:MTESt:COUNt:FWAVeforms? —
:MTESt:COUNt:RESet —
:MTESt:COUNt:TIME? —
:MTESt:COUNt:WAVeforms? —
:MTESt:DATA —
:MTESt:DELete —
:MTESt:ENABle —
:MTESt:LOCK —
:MTESt:RMODe —
:MTESt:RMODe:FACTion:MEASure —
:MTESt:RMODe:FACTion:PRINt —
:MTESt:RMODe:FACTion:SAVE —
:MTESt:RMODe:FACTion:STOP —
:MTESt:RMODe:SIGMa —
:MTESt:RMODe:TIME —
:MTESt:RMODe:WAVeforms —
:MTESt:SCALe:BIND —
:MTESt:SCALe:X1 —
:MTESt:SCALe:XDELta —
:MTESt:SCALe:Y1 —
:MTESt:SCALe:Y2 —
:MTESt:SOURce —
:MTESt:TITLe? —
:POD Commands
:POD<n>:DISPlay —
:POD<n>:NIBBle<n>:THReshold —
:POD<n>:SIZE —
:POD<n>:THReshold —
:POWer Commands
:POWer:CLResponse? —
:POWer:CLResponse:APPLy —
:POWer:CLResponse:DATA? —
:POWer:CLResponse:DATA:GMARgin? —
:POWer:CLResponse:DATA:GMARgin:FREQuency? —
:POWer:CLResponse:DATA:PMARgin? —
:POWer:CLResponse:DATA:PMARgin:FREQuency? —
:POWer:CLResponse:FREQuency:MODE —
:POWer:CLResponse:FREQuency:SINGle —
:POWer:CLResponse:FREQuency:STARt —
:POWer:CLResponse:FREQuency:STOP —
:POWer:CLResponse:PPDecade —
:POWer:CLResponse:SOURce:INPut —
:POWer:CLResponse:SOURce:OUTPut —
:POWer:CLResponse:SWEep:POINts —
:POWer:CLResponse:TRACe —
:POWer:CLResponse:WGEN:LOAD —
:POWer:CLResponse:WGEN:VOLTage —
:POWer:CLResponse:WGEN:VOLTage:PROFile —
:POWer:DESKew —
:POWer:EFFiciency:APPLy —
:POWer:EFFiciency:TYPE —
:POWer:ENABle —
:POWer:HARMonics:APPLy —
:POWer:HARMonics:DATA? —
:POWer:HARMonics:DISPlay —
:POWer:HARMonics:FAILcount? —
:POWer:HARMonics:LINE —
:POWer:HARMonics:POWerfactor? —
:POWer:HARMonics:RPOWer —
:POWer:HARMonics:RPOWer:USER —
:POWer:HARMonics:RUNCount? —
:POWer:HARMonics:STANdard —
:POWer:HARMonics:STATus? —
:POWer:HARMonics:THD? —
:POWer:INRush:APPLy —
:POWer:INRush:EXIT —
:POWer:INRush:NEXT —
:POWer:ITYPe —
:POWer:MODulation:APPLy —
:POWer:MODulation:SOURce —
:POWer:MODulation:TYPE —
:POWer:ONOFf:APPLy —
:POWer:ONOFf:EXIT —
:POWer:ONOFf:NEXT —
:POWer:ONOFf:TEST —
:POWer:ONOFf:THResholds —
:POWer:PSRR? —
:POWer:PSRR:APPLy —
:POWer:PSRR:DATA? —
:POWer:PSRR:FREQuency:MAXimum —
:POWer:PSRR:FREQuency:MINimum —
:POWer:PSRR:FREQuency:MODE —
:POWer:PSRR:FREQuency:SINGle —
:POWer:PSRR:PPDecade —
:POWer:PSRR:SOURce:INPut —
:POWer:PSRR:SOURce:OUTPut —
:POWer:PSRR:TRACe —
:POWer:PSRR:WGEN:LOAD —
:POWer:PSRR:WGEN:VOLTage —
:POWer:PSRR:WGEN:VOLTage:PROFile —
:POWer:QUALity:APPLy —
:POWer:RIPPle:APPLy —
:POWer:SIGNals:AUTosetup —
:POWer:SIGNals:CYCLes:HARMonics —
:POWer:SIGNals:CYCLes:QUALity —
:POWer:SIGNals:DURation:EFFiciency —
:POWer:SIGNals:DURation:MODulation —
:POWer:SIGNals:DURation:ONOFf:OFF —
:POWer:SIGNals:DURation:ONOFf:ON —
:POWer:SIGNals:DURation:RIPPle —
:POWer:SIGNals:DURation:TRANsient —
:POWer:SIGNals:IEXPected —
:POWer:SIGNals:OVERshoot —
:POWer:SIGNals:VMAXimum:INRush —
:POWer:SIGNals:VMAXimum:ONOFf:OFF —
:POWer:SIGNals:VMAXimum:ONOFf:ON —
:POWer:SIGNals:VSTeady:ONOFf:OFF —
:POWer:SIGNals:VSTeady:ONOFf:ON —
:POWer:SIGNals:VSTeady:TRANsient —
:POWer:SIGNals:SOURce:CURRent<i> —
:POWer:SIGNals:SOURce:VOLTage<i> —
:POWer:SLEW:APPLy —
:POWer:SLEW:SOURce —
:POWer:SWITch:APPLy —
:POWer:SWITch:CONDuction —
:POWer:SWITch:IREFerence —
:POWer:SWITch:RDS —
:POWer:SWITch:VCE —
:POWer:SWITch:VREFerence —
:POWer:TRANsient:APPLy —
:POWer:TRANsient:EXIT —
:POWer:TRANsient:IINitial —
:POWer:TRANsient:INEW —
:POWer:TRANsient:NEXT —
:RECall Commands
:RECall:ARBitrary[:STARt] —
:RECall:ARXML:CAN[:STARt] —
:RECall:DBC[:STARt] —
:RECall:FILename —
:RECall:LDF[:STARt] —
:RECall:MASK[:STARt] —
:RECall:PWD —
:RECall:SETup[:STARt] —
:RECall:WMEMory<r>[:STARt] —
:SAVE Commands
:SAVE:ARBitrary[:STARt] —
:SAVE:FILename —
:SAVE:IMAGe[:STARt] —
:SAVE:IMAGe:FACTors —
:SAVE:IMAGe:FORMat —
:SAVE:LISTer[:STARt] —
:SAVE:MASK[:STARt] —
:SAVE:MULTi[:STARt] —
:SAVE:POWer[:STARt] —
:SAVE:PWD —
:SAVE:RESults[:STARt] —
:SAVE:RESults:FORMat:CURSor —
:SAVE:RESults:FORMat:HISTogram —
:SAVE:RESults:FORMat:MASK —
:SAVE:RESults:FORMat:MEASurement —
:SAVE:RESults:FORMat:SEARch —
:SAVE:RESults:FORMat:SEGMented —
:SAVE:SETup[:STARt] —
:SAVE:WAVeform[:STARt] —
:SAVE:WAVeform:FORMat —
:SAVE:WAVeform:LENGth —
:SAVE:WAVeform:LENGth:MAX —
:SAVE:WAVeform:SEGMented —
:SAVE:WMEMory:SOURce —
:SAVE:WMEMory[:STARt] —
:SBUS<n> Commands
General :SBUS<n> Commands
:SBUS<n>:A429 Commands
:SBUS<n>:CAN Commands
:SBUS<n>:IIC Commands
:SBUS<n>:LIN Commands
:SBUS<n>:M1553 Commands
:SBUS<n>:SENT Commands
:SBUS<n>:SPI Commands
:SBUS<n>:UART Commands
:SBUS<n>:USB Commands
:SBUS<n>:USBPd Commands
:SEARch Commands
General :SEARch Commands
:SEARch:EDGE Commands
:SEARch:GLITch Commands
:SEARch:PEAK Commands
:SEARch:RUNT Commands
:SEARch:TRANsition Commands
:SEARch:SERial:A429 Commands
:SEARch:SERial:CAN Commands
:SEARch:SERial:IIC Commands
:SEARch:SERial:LIN Commands
:SEARch:SERial:M1553 Commands
:SEARch:SERial:SENT Commands
:SEARch:SERial:SPI Commands
:SEARch:SERial:UART Commands
:SEARch:SERial:USB Commands
:SEARch:SERial:USBPd Commands
:STATus Commands
General :STATus Commands
:STATus:OPERation Commands
:STATus:OPERation:ARM Commands
:STATus:OPERation:HARDware Commands
:STATus:OPERation:LOCal Commands
:STATus:OPERation:MTESt Commands
:STATus:OPERation:OVERload Commands
:STATus:OPERation:OVERload:PFAult Commands
:STATus:OPERation:POWer Commands
:STATus:TRIGger Commands
:STATus:USER Commands
:SYSTem Commands
:SYSTem:DATE —
:SYSTem:DIDentifier? —
:SYSTem:DSP —
:SYSTem:ERRor:ALL? —
:SYSTem:ERRor:CODE[:NEXT]? —
:SYSTem:ERRor:COUNt? —
:SYSTem:ERRor:EXTended? —
:SYSTem:ERRor[:NEXT]? —
:SYSTem:HELP:HEADers? —
:SYSTem:HID? —
:SYSTem:LOCK —
:SYSTem:LOCK:OWNer? —
:SYSTem:LOCK:RELease —
:SYSTem:LOCK:REQuest? —
:SYSTem:PERSona[:MANufacturer] —
:SYSTem:PERSona[:MANufacturer]:DEFault —
:SYSTem:POWercycle —
:SYSTem:PRECision:LENGth —
:SYSTem:PRECision:PEAK —
:SYSTem:PRESet —
:SYSTem:PRODuction:FRESet —
:SYSTem:PROTection:LOCK —
:SYSTem:RLOGger —
:SYSTem:RLOGger:DESTination —
:SYSTem:RLOGger:DISPlay —
:SYSTem:RLOGger:FNAMe —
:SYSTem:RLOGger:STATe —
:SYSTem:RLOGger:TRANsparent —
:SYSTem:RLOGger:WMODe —
:SYSTem:SETup —
:SYSTem:SHUTdown —
:SYSTem:TIME —
:SYSTem:TIME:DSAVing? —
:SYSTem:TIME:NTPRotocol —
:SYSTem:TIME:ZONE —
:SYSTem:TOUCh —
:SYSTem:VERSion? —
:SYSTem:WINDow:LOCK —
:TIMebase Commands
:TIMebase[:MAIN]:POSition —
:TIMebase[:MAIN]:RANGe —
:TIMebase[:MAIN]:SCALe —
:TIMebase:MODE —
:TIMebase:REFerence —
:TIMebase:REFerence:LOCation —
:TIMebase:VERNier —
:TIMebase:WINDow:POSition —
:TIMebase:WINDow:RANGe —
:TIMebase:WINDow:SCALe —
:TRIGger Commands
General :TRIGger Commands
:TRIGger:DELay Commands
:TRIGger[:EDGE] Commands
:TRIGger:GLITch Commands
:TRIGger:OR Commands
:TRIGger:PATTern Commands
:TRIGger:RUNT Commands
:TRIGger:SHOLd Commands
:TRIGger:TRANsition Commands
:TRIGger:WINDow Commands
:TRIGger:ZONE Commands
:WAVeform Commands
:WAVeform:BYTeorder —
:WAVeform:COUNt? —
:WAVeform:DATA? —
:WAVeform:FORMat —
:WAVeform:POINts —
:WAVeform:POINts:MODE —
:WAVeform:PREamble? —
:WAVeform:SEGMented:ALL —
:WAVeform:SEGMented:COUNt? —
:WAVeform:SEGMented:TTAG? —
:WAVeform:SEGMented:XLISt? —
:WAVeform:SOURce —
:WAVeform:SOURce:SUBSource —
:WAVeform:TYPE? —
:WAVeform:UNSigned —
:WAVeform:VIEW —
:WAVeform:XINCrement? —
:WAVeform:XORigin? —
:WAVeform:XREFerence? —
:WAVeform:YINCrement? —
:WAVeform:YORigin? —
:WAVeform:YREFerence? —
:WGEN<w> Commands
:WGEN<w>:ARBitrary:BYTeorder —
:WGEN<w>:ARBitrary:DATA —
:WGEN<w>:ARBitrary:DATA:ATTRibute:POINts? —
:WGEN<w>:ARBitrary:DATA:CLEar —
:WGEN<w>:ARBitrary:DATA:DAC —
:WGEN<w>:ARBitrary:EDGE —
:WGEN<w>:ARBitrary:INTerpolate —
:WGEN<w>:ARBitrary:LENGth —
:WGEN<w>:ARBitrary:STORe —
:WGEN<w>:DCMode —
:WGEN<w>:FREQuency —
:WGEN<w>:FUNCtion —
:WGEN<w>:FUNCtion:PULSe:WIDTh —
:WGEN<w>:FUNCtion:RAMP:SYMMetry —
:WGEN<w>:FUNCtion:SQUare:DCYCle —
:WGEN<w>:MODulation:AM:DEPTh —
:WGEN<w>:MODulation:AM:FREQuency —
:WGEN<w>:MODulation:FM:DEViation —
:WGEN<w>:MODulation:FM:FREQuency —
:WGEN<w>:MODulation:FUNCtion —
:WGEN<w>:MODulation:NOISe —
:WGEN<w>:MODulation:STATe —
:WGEN<w>:MODulation:TYPE —
:WGEN<w>:OUTPut —
:WGEN<w>:OUTPut:BURSt —
:WGEN<w>:OUTPut:BURSt:COUNt —
:WGEN<w>:OUTPut:LOAD —
:WGEN<w>:OUTPut:MODE —
:WGEN<w>:OUTPut:POLarity —
:WGEN<w>:PERiod —
:WGEN<w>:RST —
:WGEN<w>:VOLTage —
:WGEN<w>:VOLTage:HIGH —
:WGEN<w>:VOLTage:LOW —
:WGEN<w>:VOLTage:OFFSet —
:WMEMory<r> Commands
:WMEMory<r>:CLEar —
:WMEMory<r>:DISPlay —
:WMEMory<r>:LABel —
:WMEMory<r>:SAVE —
:WMEMory<r>:SKEW —
:WMEMory<r>:YOFFset —
:WMEMory<r>:YRANge —
:WMEMory<r>:YSCale —
Obsolete and Discontinued Commands
:CHANnel<n>:BWLimit —
:MEASure:SCRatch —
:SBUS<n>:SPI:SOURce:DATA —
:TIMebase[:MAIN]:DELay —
:TRIGger:DELay:TDELay:TIME —
Error Messages
Status Reporting
Status Reporting Data Structures
Output Queue
Message Queue
Clearing Registers and Queues
Status Reporting Decision Chart
Example: Checking for Armed Status
Example: Waiting for IO Operation Complete
Synchronizing Acquisitions
Synchronization in the Programming Flow
Set Up the Oscilloscope
Acquire a Waveform
Retrieve Results
Blocking Synchronization
Polling Synchronization With Timeout
Synchronizing with a Single-Shot Device Under Test (DUT)
Synchronization with an Averaging Acquisition
Example: Blocking and Polling Synchronization
More About Oscilloscope Commands
Command Classifications
Core Commands
Non-Core Commands
Obsolete Commands
Valid Command/Query Strings
Program Message Syntax
Duplicate Mnemonics
Tree Traversal Rules and Multiple Commands
Query Return Values
Programming Examples
VISA COM Examples
VISA COM Example in Visual Basic
VISA COM Example in C#
VISA COM Example in Visual Basic .NET
VISA COM Example in Python
VISA Examples
VISA Example in C
VISA Example in C#
VISA Example in Visual Basic .NET
VISA Example in Python
VISA.NET Examples
VISA.NET Example in C#
VISA.NET Example in Visual Basic .NET
VISA.NET Example in Python
SICL Examples
SICL Example in C
SCPI.NET Examples


In This Book

This book is your guide to programming the HD3-Series mixed-signal oscilloscopes:

HD3-Series Model Numbers, Bandwidths, Sample Rates:

 | HD302MSO | HD304MSO
Bandwidth | 200 MHz standard, options for 350 MHz, 500 MHz, and 1 GHz
Sample Rate | 3.2 GSa/s | 3.2 GSa/s
Memory Depth | 20 Mpts standard, options for 50 Mpts and 100 Mpts
Analog Channels | 2 | 4
Logic Channels MSO | 16 | 16

The first few chapters describe how to set up and get started:

  • What's New, describes programming command changes in the latest version of oscilloscope software.

  • Setting Up, describes the steps you must take before you can program the oscilloscope.

  • Getting Started, gives a general overview of oscilloscope program structure and shows how to program the oscilloscope using a few simple examples.

  • Sequential (Blocking) vs. Overlapped Commands, describes these command types and how they affect the oscilloscope and synchronization.

  • Commands Quick Reference, is a brief listing of the HD3-Series oscilloscope commands and syntax.

The next chapters provide reference information on common commands, root level commands, other subsystem commands, and error messages:

  • Common (*) Commands, describes commands defined by the IEEE 488.2 standard that are common to all instruments.

  • Root (:) Commands, describes commands that reside at the root level of the command tree and control many of the basic functions of the oscilloscope.

  • :ACQuire Commands, describes commands for setting the parameters used when acquiring and storing data.

  • :BUS<n> Commands, describes commands that control all oscilloscope functions associated with the digital channels bus display.

  • :CALibrate Commands, describes utility commands for determining the state of the calibration factor protection button.

  • :CGRade Commands, describes commands that control the color grade waveform analysis feature.

  • :CHANnel<n> Commands, describes commands that control all oscilloscope functions associated with individual analog channels or groups of channels.

  • :CLOCk Commands, describes clock recovery commands.

  • :COUNter<c> Commands, describes commands that control the counter analysis feature.

  • :DEMO Commands, describes commands that control the training signals that can be output on the oscilloscope's Probe Comp terminal.

  • :DIGital<d> Commands, describes commands that control all oscilloscope functions associated with individual digital channels.

  • :DISPlay Commands, describes commands that control how waveforms, graticule, and text are displayed and written on the screen.

  • :DVM Commands, describes commands that control the digital voltmeter analysis feature.

  • :EXTernal Trigger Commands, describes commands that control the input characteristics of the external trigger input.

  • :FFT Commands, describes commands that control the FFT function in the oscilloscope.

  • :FRANalysis Commands, describes commands that control oscilloscope functions associated with the Frequency Response Analysis (FRA) feature, which is available is with the license-enabled built-in waveform generator).

  • :FUNCtion<m> Commands, describes commands that control math waveforms.

  • :HCOPy Commands, describes commands that set and query the selection of hardcopy device and formatting options.

  • :HISTogram Commands, describes commands that control the histogram analysis feature.

  • :JITTer Commands, describes commands that control the license-enabled jitter analysis feature.

  • :LISTer Commands, describes commands that turn on/off the Lister display for decoded serial data and get the Lister data.

  • :LTESt Commands, describes commands that control the Measurement Limit Test feature.

  • :MARKer Commands, describes commands that set and query the settings of X-axis markers (X1 and X2 cursors) and the Y-axis markers (Y1 and Y2 cursors).

  • :MEASure Commands, describes commands that select automatic measurements (and control markers).

  • :MEASure Power Commands, describes measurement commands that are available when the power measurements and analysis application is licensed and enabled.

  • :MTESt Commands, describes commands that control the mask test feature.

  • :POD Commands, describes commands that control all oscilloscope functions associated with groups of digital channels.

  • :POWer Commands, describes commands that control the license-enabled power measurement application.

  • :RECall Commands, describes commands that recall previously saved oscilloscope setups, reference waveforms, or masks.

  • :SAVE Commands, describes commands that save oscilloscope setups, screen images, and data.

  • :SBUS<n> Commands, describes commands that control oscilloscope functions associated with the serial decode bus and serial triggering.

  • :SEARch Commands, describes commands that control oscilloscope functions associated with searching for waveform events.

  • :STATus Commands, describes commands that interact with status registers.

  • :SYSTem Commands, describes commands that control basic system functions of the oscilloscope.

  • :TIMebase Commands, describes commands that control all horizontal sweep functions.

  • :TRIGger Commands, describes commands that control the trigger modes and parameters for each trigger type.

  • :WAVeform Commands, describes commands that provide access to waveform data.

  • :WGEN<w> Commands, describes commands that control waveform generator (WAVEGEN license) functions and parameters.

  • :WMEMory<r> Commands, describes commands that control reference waveforms.

  • Obsolete and Discontinued Commands, describes obsolete commands which still work but have been replaced by newer commands and discontinued commands which are no longer supported.

  • Error Messages, lists the instrument error messages that can occur while programming the oscilloscope.

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.

Then, there are chapters that describe programming topics and conceptual information in more detail:

  • Status Reporting, describes the oscilloscope's status registers and how to check the status of the instrument.

  • Synchronizing Acquisitions, describes how to wait for acquisitions to complete before querying measurement results or performing other operations with the captured data.

  • More About Oscilloscope Commands, contains additional information about oscilloscope programming commands.

Finally, there is a chapter that contains programming examples:

  • Programming Examples.

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 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/HD3-Series-manual


What's New

What's New in Version 10.30

What's New in Version 10.21

What's New in Version 10.20

What's New in Version 10.15

What's New in Version 10.10

What's New in Version 10.07

What's New in Version 10.06

What's New in Version 10.05

Version 10.00 at Introduction

Command Differences From 3000G X-Series Oscilloscopes


What's New in Version 10.30

New features in version 10.30 of the InfiniiVision HD3-Series oscilloscope software are:

  • The added Window trigger type and its :TRIGger:WINDow commands.

  • Variable color grade waveform persistence.

  • Ability to load CAN symbolic information from ARXML format files.

  • The ability to specify a voltage offset for the waveform generator output during frequency response analysis.

  • "Totalizer" counters for the ARINC 429, CAN, and UART/RS-232 protocol decoders.

  • An increased maximum number of arbitrary waveform data points let you play back waveforms with greater detail and with more distinct features per period. There is also an option for specifying the type of interpolation used to achieve the arbitrary repetition rate.

  • The upper limit for the gain factor associated with External Scaling is now 5000.

  • The error message +116, Probe Not Supported has been added for SCPI commands/queries that support only certain types of probes.

  • The :DEMO commands for enabling and selecting training signals have been added.

More detailed descriptions of the new and changed commands appear below.

New Commands

Command | Description
:AUToscale:ENABle | Disables or enables Autoscale from the oscilloscope's front panel.
:CGRade:HALFlife | When variable persistence is selected for color grade waveforms in the graphical user interface (GUI), this command specifies the half-life time.
:CHANnel<n>:WINDow:OFFSet | In Zoom mode, this command sets the Zoom box center position with respect to the vertical reference location.
:CHANnel<n>:WINDow:SCALe | In Zoom mode, this command sets the Zoom grid vertical units per division. This affects the height of the Zoom box.
:DEMO Commands | These commands enable and select the oscilloscope's training signals.
:FRANalysis:WGEN:VOLTage:OFFSet | Specifies the waveform generator's offset voltage for the frequency response analysis.
:POWer:CLResponse:SWEep:POINts | Specifies the number of points in the Control Loop Response (Bode) power analysis.
:RECall:ARXML:CAN[:STARt] | Loads into the oscilloscope an ARXML symbolic description file for CAN decode.
:SBUS<n>:A429:COUNt:ERRor? | Returns the error count.
:SBUS<n>:A429:COUNt:RESet | Resets the word and error counters.
:SBUS<n>:A429:COUNt:WORD? | Returns the word count.
:SBUS<n>:CAN:COUNt:ERRor? | Returns the error frame count.
:SBUS<n>:CAN:COUNt:RESet | Resets the frame counters.
:SBUS<n>:CAN:COUNt:SPEC? | Returns the Spec error (Ack + Form + Stuff + CRC errors) count.
:SBUS<n>:CAN:COUNt:TOTal? | Returns the total frame count.
:SBUS<n>:CAN:COUNt:UTILization? | Returns the percent utilization.
:SBUS<n>:UART:COUNt:ERRor? | Returns the UART error frame count.
:SBUS<n>:UART:COUNt:RESet | Resets the UART frame counters.
:SBUS<n>:UART:COUNt:RXFRames? | Returns the UART Rx frame count.
:SBUS<n>:UART:COUNt:TXFRames? | Returns the UART Tx frame count.
:SYSTem:WINDow:LOCK | In Zoom mode, this command specifies whether the Lock Zoom Scale & Offset setting is on or off.
:TRIGger:WINDow Commands | Commands for setting up the Window trigger mode.
:WGEN<w>:ARBitrary:EDGE | Specifies the type of interpolation used for arbitrary waveform edges.
:WGEN<w>:ARBitrary:LENGth | Specifies the maximum number of uniformly spaced arbitrary waveform data points.

Changed Commands

Command | Differences
:CHANnel<n>[:MAIN]:OFFSet | You can now include ":MAIN" in the command to clarify that it is for the Main window and not the Zoom window.
:CHANnel<n>[:MAIN]:SCALe | You can now include ":MAIN" in the command to clarify that it is for the Main window and not the Zoom window.
:CHANnel<n>:PROBe:EXTernal:GAIN | The upper limit for the gain factor associated with External Scaling is now 5000.
:TRIGger:MODE | The WINDow option is now available for setting the Window trigger mode. See :TRIGger:WINDow Commands.


What's New in Version 10.21

New features in version 10.21 of the InfiniiVision HD3-Series oscilloscope software are:

  • A new option for detecting peaks when decimating the raw acquisition record into the analysis record.

  • The waveform generator square wave function now offers narrower and wider duty cycles depending on the square wave frequency.

More detailed descriptions of the new and changed commands appear below.

New Commands

Command | Description
:DISPlay:DIALog:CLOSe | Closes all open dialog boxes in the graphical user interface.
:DISPlay:DIALog:TRANsparent | Enables or disables the Transparent Dialogs user preference option.
:SYSTem:PRECision:PEAK | Enables or disables the Analyze Peaks option for the analysis record.

Changed Commands

Command | Differences
:WGEN<w>:FUNCtion:SQUare:DCYCle | The duty cycle percentage can be from 0.5% to 99.5% depending on the square wave frequency.


What's New in Version 10.20

New features in version 10.20 of the InfiniiVision HD3-Series oscilloscope software are:

  • Support for the new HD300QJTA jitter analysis license (including clock recovery).

  • USB PD (Power Delivery) serial decode and triggering with the HD300USBA USB analysis license.

  • USB 2.0 triggering and serial decode and triggering with the HD300USBA USB analysis license.

  • Color grade waveforms.

More detailed descriptions of the new and changed commands appear below.

New Commands

Command | Description
:CHANnel<n>:PROBe:EXTernal:OFFSet | Sets the external vertical value for the probe that is represented at the center of the display for the selected channel.
:CLOCk Commands | Commands for controlling the clock recovery feature.
:CGRade Commands | Commands for controlling the color grade waveform analysis feature.
:FUNCtion<m>:AUTosetup | Automatically sets the Y scale and Y offset to optimum values for the math function waveform.
:FUNCtion<m>:AUTosetup:ENABle | Lets you enable or disable the automatic setup of a math function's scale and offset.
:JITTer Commands | Commands for controlling the license-enabled jitter analysis feature.
:MEASure:CTCNwidth | Returns the -Width to -Width jitter value.
:MEASure:CTCPwidth | Returns the +Width to +Width jitter value.
:MEASure:NCJitter | Returns the N-Period to N-Period jitter value.
:MEASure:NPERiod | Returns the N-Period jitter value.
:MEASure:TIEData | Returns the Data TIE jitter value.
:MEASure:TIEClock | Returns the Clock TIE jitter value.
:SBUS<n>:USB Commands | Commands for using the USB 2.0 triggering and serial decode feature.
:SBUS<n>:USBPd Commands | Commands for using the USB PD triggering and serial decode feature.
:SEARch:SERial:USB Commands | Commands for searching USB 2.0 serial decode events.
:SEARch:SERial:USBPd Commands | Commands for searching USB PD serial decode events.

Changed Commands

Command | Differences
:SBUS<n>:MODE | The USB and USBpd modes are now available with the HD300USBA USB analysis license.

Discontinued Commands

Discontinued Command | Current Command Equivalent | Comments
:CHANnel<n>:PROBe:MMODel | none | Removed because the HD3-Series oscilloscopes do not support these probe model numbers.


What's New in Version 10.15

New features in version 10.15 of the InfiniiVision HD3-Series oscilloscope software are:

  • Support for the new HD300PWRA power measurements and analysis license.

  • Support for the new PS000XA probes.

More detailed descriptions of the new and changed commands appear below.

New Commands

Command | Description
:CHANnel<n>:PROBe:CALibration:VALidity? | PS000XA probes only, this query returns whether the calibration factors for the probe are still valid.
:CHANnel<n>:PROBe:STATus? | PS000XA probes only, this query returns the probe status.
:MEASure Power Commands | :MEASure commands available when the HD300PWRA power measurements and analysis application is licensed and enabled.
:POWer Commands | Commands for the HD300PWRA power measurements and analysis application.
:SAVE:POWer[:STARt] | Saves the power measurement application's current harmonics analysis results to a file.

Changed Commands

Command | Differences
:CHANnel<n>:PROBe:CALibration | This command is now also used with the PS000XA probes.
:CHANnel<n>:PROBe:STYPe | With PS000XA probes, the only valid value is ISOLated.


What's New in Version 10.10

New features in version 10.10 of the InfiniiVision HD3-Series oscilloscope software are:

  • ARINC 429 serial decode and triggering option.

  • MIL-STD 1553 serial decode and triggering option.

  • FFT Max options for enabling/disabling, changing the vertical scale and offset, and resetting the number of waveforms evaluated.

More detailed descriptions of the new and changed commands appear below.

New Commands

Command | Description
:FFTMax:OFFSet | When the FFT Max function is enabled, this command sets its vertical offset (center of grid value).
:FFTMax:RESet | When the FFT Max function is enabled, this command clears the number of waveforms evaluated.
:FFTMax:SCALe | When the FFT Max function is enabled, this command sets its vertical scale.
:FFTMax:STATe | Enables or disables the FFT Max function.
:SBUS<n>:A429 Commands | Commands for using the ARINC 429 protocol decode and triggering decode feature.
:SBUS<n>:M1553 Commands | Commands for using the MIL-STD-1553 protocol decode and triggering decode feature.
:SEARch:SERial:A429 Commands | Commands for searching ARINC 429 protocol decode events.
:SEARch:SERial:M1553 Commands | Commands for searching MIL-STD-1553 protocol decode events.

Changed Commands

Command | Differences
:SBUS<n>:MODE | The A429 (ARINC 429) and M1553 (MIL-STD-1553) modes are now available with the Aerospace Serial Analysis license.


What's New in Version 10.07

New features in version 10.07 of the InfiniiVision HD3-Series oscilloscope software are:

  • The FFT waveform and a math function FFT waveform can now be gated by markers as well as by zoom (which was previously available).

  • All math function waveforms can now be gated by main (none), zoom, main and zoom, or markers.

  • There are now four reference waveforms (:WMEMory<r>) instead of two.

  • Auto versus manual sample rate and memory depth controls are now independent. Before, either both sample rate and memory depth were automatically determined based the time/div setting, or both were manually specified (Digitizer mode).

  • The frequency response analysis amplitude profile now has options for all decade ranges supported by the built-in waveform generator.

  • "PBUS" (protocol decode bus) is now an alias for "SBUS" (serial bus) because terminology has changed in the HD3-Series oscilloscope. The HD3-Series oscilloscope has a [Protocol Decode] front panel key and refers to the feature as "Protocol Decode/Triggering". Previous InfiniiVIsion X-Series oscilloscopes had a [Serial] front panel key and refer to the feature as "Serial Decode/Triggering".

  • The minimum baudrate setting for UART protocol decode is now 200 b/s.

More detailed descriptions of the new and changed commands appear below.

New Commands

Command | Description
:FUNCtion<m>:GATE | Specifies the input waveform data on which the math function is performed.
:MEASure:HYSTeresis | Disable or reenable the minimum signal amplitude limit for making measurements.
:TRIGger:DELay:TDELay:TMAX | Sets the minimum delay time between the arming edge and the trigger edge.
:TRIGger:DELay:TDELay:TMIN | Sets the minimum delay time between the arming edge and the trigger edge.
:TRIGger:HYSTeresis:STATe | Disable or reenable the minimum signal amplitude limit for making measurements.

Changed Commands

Command | Differences
:ACQuire:DIGitizer | This command enables or disables both the :ACQuire:SRATe[:ANALog]:AUTO and :ACQuire:POINts[:ANALog]:AUTO settings at the same time (though those settings are now independent).
:ACQuire:MANual | This command enables or disables both the :ACQuire:SRATe[:ANALog]:AUTO and :ACQuire:POINts[:ANALog]:AUTO settings at the same time (though those settings are now independent).
:ACQuire:POINts[:ANALog]:AUTO | This command enables or disables whether the memory depth is automatically determined or is set by the :ACQuire:POINts[:ANALog] command. Previously, this setting had to match the :ACQuire:SRATe[:ANALog]:AUTO setting, but now it is independent.
:ACQuire:SRATe[:ANALog]:AUTO | This command enables or disables whether the sample rate is automatically determined or is set by the :ACQuire:SRATe[:ANALog] command. Previously, this setting had to match the :ACQuire:POINts[:ANALog]:AUTO setting, but now it is independent.
:BLANk | The PBUS{1 | 2} parameters are now available as equivalents of the SBUS{1 | 2} parameters.
:DIGitize | The PBUS{1 | 2} parameters are now available as equivalents of the SBUS{1 | 2} parameters.
:DISPlay:GRATicule:SET | The PBUS<n> parameter is now available as an equivalent to the SBUS<n> parameter.
:FFT:GATE | The MARKers option has been added for performing the FFT on the input waveform time range between the horizontal markers.
:FRANalysis:WGEN:VOLTage | There are now these <range> options to cover the full range of frequencies available with the built-in waveform generator: F10MILLIHZ, F100MILLIHZ, F1HZ, F10HZ, and F100MHZ.
:FUNCtion<m>:FFT:GATE | The MARKers option has been added for performing the FFT on the input waveform time range between the horizontal markers.
:LISTer:DISPlay | The PBUS1 and PBUS2 parameters are now available as equivalents of the SBUS1 and SBUS2 parameters.
:RECall:DBC[:STARt] | The PBUS<n> parameter is now available as an equivalent to the SBUS<n> parameter.
:RECall:LDF[:STARt] | The PBUS<n> parameter is now available as an equivalent to the SBUS<n> parameter.
:SBUS<n>:UART:BAUDrate | The minimum baudrate setting is now 200 b/s.
:STATus? | The PBUS{1 | 2} parameters are now available as equivalents of the SBUS{1 | 2} parameters.
:SYSTem:TIME:DSAVing? | This is no longer an option that can be set. For the selected time zone, this query returns whether "automatically adjust clock for Daylight Savings Time" is enabled or disabled.
:SYSTem:TIME:ZONE | There are now named time zones to select from as well as UTC offsets.
:TRIGger:MODE | The PBUS{1 | 2} parameters are now available as equivalents of the SBUS{1 | 2} parameters.
:VIEW | The PBUS{1 | 2} parameters are now available as equivalents of the SBUS{1 | 2} parameters.
:WAVeform:SOURce | The PBUS{1 | 2} parameters are now available as equivalents of the SBUS{1 | 2} parameters.

Obsolete Commands

Obsolete Command | Current Command Equivalent | Behavior Differences
:TRIGger:DELay:TDELay:TIME | :TRIGger:DELay:TDELay:TMIN | The obsolete command was a delay time before looking for the trigger edge. The current command equivalent specifies the minimum time of a range in which to look for the trigger edge.

Discontinued Commands

Discontinued Command | Current Command Equivalent | Comments
:TRIGger:DELay:TRIGger:COUNt | none | You cannot trigger on an Nth edge.


What's New in Version 10.06

New features in version 10.06 of the InfiniiVision HD3-Series oscilloscope software are:

  • Edge Then Edge trigger mode.

  • SENT serial decode and triggering option.

  • Search for runt pulses.

  • New command and query for the anti-alias control.

  • New queries for returning the User sample rate and memory depth graphical user interface settings.

  • New command/query for displaying waveforms with lines connecting the sampled data points or just waveform data points.

More detailed descriptions of the new and changed commands appear below.

New Commands

Command | Description
:ACQuire:AALias? | Returns the current state of the oscilloscope acquisition anti-alias control.
:ACQuire:DAALias | Sets the oscilloscope's disable anti-alias mode or queries the setting.
:ACQuire:MANual:POINts? | Returns the User memory depth graphical user interface setting.
:ACQuire:MANual:SRATe? | Returns the User sample rate graphical user interface setting.
:DISPlay:VECTors | Turns vector display on or off.
:DISPlay:XYColor | Specifies the color scheme (and persistence color) used for the XY horizontal time mode waveform.
:FRANalysis:SWEep:POINts | Specifies the number of points in the frequency response analysis.
:SBUS<n>:SENT Commands | Commands for using the SENT protocol decode and triggering decode feature.
:SEARch:RUNT Commands | Commands for searching runt pulses.
:SEARch:SERial:SENT Commands | Commands for searching SENT protocol decode events.
:TRIGger:DELay Commands | Commands for setting up the Edge Then Edge trigger mode.
:WGEN<w>:OUTPut:BURSt | When the BURSt output mode is selected, this command causes the burst count number of cycles of the defined waveform to be output.
:WGEN<w>:OUTPut:BURSt:COUNt | When the BURSt output mode is selected, this command sets the burst count number.
:WGEN<w>:OUTPut:MODE | Specifies whether the defined waveform is output continuously or as a specified number of cycles (burst).

Changed Commands

Command | Differences
:FUNCtion<m>:OPERation | The PEAK operation for the Peak-Peak visualization math function is now available.
:SBUS<n>:MODE | The SENT mode is now available with the Automotive Serial Analysis license.
:SEARch:MODE | The RUNT option has been added to enable searching for runt pulses (see :SEARch:RUNT Commands).
:TRIGger:MODE | The DELay option is now available for setting the Edge Then Edge trigger mode. See :TRIGger:DELay Commands.
:WAVeform:SOURce:SUBSource | You can use FAST (alias for SUB0) to get SENT fast channel data or SLOW (alias for SBUS1) to get SENT slow channel data.


What's New in Version 10.05

New features in version 10.05 of the InfiniiVision HD3-Series oscilloscope software are:

  • New query for the maximum number of points when Manual sampling rates and memory depths are enabled.

  • New command for Factory Reset.

  • Addition of the XY and ROLL time modes.

More detailed descriptions of the new and changed commands appear below.

New Commands

Command | Description
:ACQuire:POINts:MAX? | Returns the oscilloscope's acquisition points maximum limit.
:MODel? | Returns the oscilloscope's model number.
:SYSTem:PRODuction:FRESet | Wipes the oscilloscope's non-volatile storage like Secure Erase, but it does not perform the National Industrial Security Program Operation Manual (NISPOM) Chapter 8 procedure and is much faster.

Changed Commands

Command | Differences
:TIMebase:MODE | The XY and ROLL modes are now available.

Obsolete Commands

Obsolete Command | Current Command Equivalent | Behavior Differences
:CHANnel<n>:BWLimit | :CHANnel<n>:BANDwidth 20E+06 | In earlier versions of the HD3-Series software, the :CHANnel<n>:BWLimit command mapped to a 40 MHz bandwidth limit on the channel. Now that the "global" :ACQuire:BANDwidth command has been replaced by the "per channel" :CHANnel<n>:BANDwidth command, the :CHANnel<n>:BWLimit returns to the legacy 20 MHz limit of previous InfiniiVision oscilloscopes.

Discontinued Commands

Discontinued Command | Current Command Equivalent | Comments
:ACQuire:BANDwidth | :CHANnel<n>:BANDwidth | In earlier versions of the HD3-Series software, the :ACQuire:BANDwidth command was a "global" bandwidth setting. The :CHANnel<n>:BANDwidth command is a "per channel" bandwidth setting (although its 5 MHz and 10 MHz settings are still global and must be applied to all channels).


Version 10.00 at Introduction

The Keysight InfiniiVision HD3-Series mixed signal oscilloscopes were introduced with version 10.00 of oscilloscope operating software.

The command set is most closely related to the InfiniiVision 3000G X-Series oscilloscopes (and the 3000/3000T X-Series, 7000A/B Series, 6000 Series, and 54620/54640 Series oscilloscopes before them). For more information, see Command Differences From 3000G X-Series Oscilloscopes.


Command Differences From 3000G X-Series Oscilloscopes

The Keysight InfiniiVision HD3-Series mixed signal oscilloscopes command set is most closely related to the InfiniiVision 3000G X-Series oscilloscopes (and the 3000/3000T X-Series, 7000A/B Series, 6000 Series, and 54620/54640 Series oscilloscopes before them).

The main differences between the version 10.00 programming command set for the InfiniiVision HD3-Series oscilloscopes and the 7.60 programming command set for the InfiniiVision 3000G X-Series oscilloscopes are related to:

  • Initially, there was no Edge then Edge trigger mode in the HD3-Series oscilloscopes.

  • There is no Nth Edge Burst trigger mode in the HD3-Series oscilloscopes.

  • There is no TV trigger mode in the HD3-Series oscilloscopes.

  • There is no USB 2.0 signal quality analysis feature or USB trigger in the HD3-Series oscilloscopes.

  • There is no power measurements application feature in the HD3-Series oscilloscopes.

  • Up to 20 annotations can be defined in the InfiniiVision HD3-Series oscilloscopes as compared to 10 annotations in the InfiniiVision 3000G X-Series oscilloscopes, and annotations now have a mode and can be assigned to a grid or a waveform source.

  • There can be up to four graticules on the display in the InfiniiVision HD3-Series oscilloscopes as compared to one graticule in the InfiniiVision 3000G X-Series oscilloscopes.

  • There are now commands for displaying the measurement results catalog, layout, and size.

  • Status registers and the commands for interacting with them are now SCPI 99 compliant.

  • There are two counters instead of one.

  • :HARDcopy commands for setting up network printers are not included. Everything you could print in the 3000G X-Series oscilloscopes can be saved to a file on a USB storage device.

  • CAN XL is supported by the CAN protocol decode.

  • The ARINC 429, CXPI, FlexRay, I2S, MIL-STD-1553, Manchester, NRZ, USB, and USB PD protocol decodes are not available in the HD3-Series oscilloscopes.

  • The HD3-Series oscilloscopes have a new SCPI parser with some behavior differences as compared to the SCPI parser in the 3000G X-Series oscilloscopes: see Commands Not Supported in Multiple Program Message Units and Queries Not Supported in Multiple Program Message Units.

More detailed descriptions of the new, changed, obsolete, and discontinued commands appear below.

New Commands

Command | Description
:DIGital:ORDer:ASCending | Displays the digital channels that are turned on in ascending order.
:DIGital:ORDer:DESCending | Displays the digital channels that are turned on in descending order.
:DIGital:ORDer[:SET] | Displays digital channels in the order listed or returns the current order of displayed digital channels.
:DIGital<d>:SETup? | Returns setup information for the specified digital channel.
:DISPlay:ANNotation<n>:GRID | When an annotation's mode is GRID (see :DISPlay:ANNotation<n>:MODE), this command makes the association to a grid.
:DISPlay:ANNotation<n>:MODE | Specifies whether an annotation is associated with a grid or a waveform source.
:DISPlay:ANNotation<n>:SOURce | When an annotation's mode is SOURce (see :DISPlay:ANNotation<n>:MODE), this command makes the association to a waveform source.
:DISPlay:ANNotation<n>:XPOSition | Sets the annotation's horizontal X position.
:DISPlay:ANNotation<n>:YPOSition | Sets the annotation's vertical Y position.
:DISPlay:CLOCk:IGRid | Specifies whether the oscilloscope's clock information is displayed in the first waveform grid (ON) or in the badges bar at the top of the screen (OFF).
:DISPlay:CLOCk:IGRid:XPOSition | Specifies the horizontal X position of the clock information as a percent of the grid width.
:DISPlay:CLOCk:IGRid:YPOSition | Specifies the vertical Y position of the clock information as a percent of the grid height.
:DISPlay:CLOCk[:STATe] | Enables or disables the display of the oscilloscope's clock information.
:DISPlay:GRATicule:COUNt | When the graticule (grid) layout is set to CUSTom (see :DISPlay:GRATicule:LAYout), this command specifies the number of waveform grids.
:DISPlay:GRATicule:ALABels:DUAL | Specifies whether grid scales are shown for two waveforms.
:DISPlay:GRATicule:ALABels:IGRid | Specifies whether graticule (grid) axis labels are displayed in separate scale bars (OFF) or within the grid (ON).
:DISPlay:GRATicule:LAYout | Specifies the layout of waveform display grids.
:DISPlay:GRATicule:SET | When the graticule (grid) layout is set to CUSTom (see :DISPlay:GRATicule:LAYout), this command assigns a waveform source to a particular grid.
:DISPlay:GRATicule:SOURce? | Returns a comma-separated list of the waveforms in the grid.
:DISPlay:RESults:CATalog? | Returns a comma-separated list of the windows in the results area.
:DISPlay:RESults:LAYout | Specifies the layout of windows in the results area (TAB or LIST).
:DISPlay:RESults:LAYout:LIST[:SELect] | Lets you select and highlight a particular window in the results area when windows are listed.
:DISPlay:RESults:LAYout:TAB:LEFT[:SELect] | Lets you select and highlight a particular window in the results area left pane when windows are tabbed.
:DISPlay:RESults:LAYout:TAB:RIGHt[:SELect] | Lets you select and highlight a particular window in the results area right pane when windows are tabbed.
:DISPlay:RESults:SIZE | Specifies the size of the results area.
:FFT:BSIZe? | Returns the FFT's bin size value.
:FFT:DETection:POINts | Specifies the maximum number of points that FFT detectors should decimate to.
:FFT:DETection:TYPE | Lets you set the FFT detector decimation type for FFT (Magnitude) functions or specify that no detector is used.
:FFT:DMODe | Selects the FFT waveform display mode.
:FFT:RBWidth? | Returns the FFT's resolution bandwidth value.
:FFT:READout | Specifies whether the FFT resolution is displayed in the FFT spectrum plot, and if it is, whether the readout shows sample rate, bin size, or resolution bandwidth.
:FFT:SRATe? | Returns the FFT's sample rate value.
:FUNCtion<m>:LABel | Sets or queries a math function's label string.
:MEASure:QUICk | Installs 10 common measurements on an analog input channel source.
:MEASure:THResholds:ABSolute | Sets the upper, middle, and lower measurement thresholds to absolute values.
:MEASure:THResholds:METHod | Specifies whether measurement threshold values are entered as percent levels between Vbase and Vtop or as absolute (static) values.
:MEASure:THResholds:PERCent | Sets the upper, middle, and lower measurement thresholds to user-defined percentages between 5% and 95% of values between Vbase and Vtop.
:MEASure:THResholds:STANdard | Sets the lower, middle, and upper measurement thresholds to 10%, 50%, and 90% values between Vbase and Vtop.
:POD<n>:NIBBle<n>:THReshold | Sets the logic threshold value for a nibble within a pod.
:SBUS<n>:CAN:SIGNal:XLBaudrate | Sets the CAN XL baud rate.
:SBUS<n>:CAN:TRIGger:TYPE | Selects the CAN trigger type.
:SBUS<n>:CAN:TYPE | Selects the CAN protocol decode type.
:SBUS<n>:CAN:XLSPoint | Sets the point during the CAN XL bit time where the bit level is sampled to determine whether the bit is dominant or recessive.
:STATus Commands | Subsystem for controlling status registers.
:SYSTem:ERRor:ALL? | Returns a comma-separated list of all errors from the queue (codes and strings).
:SYSTem:ERRor:CODE[:NEXT]? | Returns the next error (code only) from the queue.
:SYSTem:ERRor:COUNt? | Returns an integer number of errors in the queue.
:SYSTem:ERRor:EXTended? | Returns a comma-separated list of all errors (strings, no codes) of the specified type from the queue.
:SYSTem:HELP:HEADers? | Returns a binary block that contains a newline-separated list of supported SCPI commands and queries.
:SYSTem:HID? | Returns the oscilloscope's Host ID string (the same as :SYSTem:DIDentifier?).
:SYSTem:POWercycle | Powers-down the oscilloscope and restarts it. This is the same as pressing the front panel power button to power-down the oscilloscope and then pressing the power button again to start the oscilloscope.
:SYSTem:SHUTdown | Powers-down the oscilloscope. This is the same as pressing the front panel power button to power-down the oscilloscope.
:SYSTem:TIME:DSAVing | Enables or disables the "automatically adjust clock for Daylight Savings Time" setting.
:SYSTem:TIME:NTPRotocol | Enables or disables automatically setting the oscilloscope's clock using Network Time Protocol.
:SYSTem:TIME:ZONE | Sets the system time zone based on the specified offset from UTC.
:WGEN<w>:DCMode | When the DC waveform type is selected, this command lets you choose between PRECise output levels using a smaller range (±1.00 V) or a WIDerange of voltages (±8.00 V).

Changed Commands

Command | Differences From InfiniiVision 3000G X-Series Oscilloscopes
:ACQuire:TYPE | There is no HRESolution acquisition type. Instead, higher vertical resolutions are achieved by selecting lower bandwidth limits in the :CHANnel<n>:BANDwidth command.
:CALibrate:LABel | The :CALibrate:LABel? query now returns the string within quotes.
:CALibrate:PROTected | There is now a command form that disables or enables the Cal Protect control which allows user calibration to be run or prevents user calibration from being run.
:DISPlay:DATA? | The option for selecting a color or grayscale palette is no longer available. Also, the BMP8bit option is no longer available.
:MTESt:TITLe? | The query now returns the string within quotes.
*RCL | The *RCL command is similar to the :RECall:SETup[:STARt] command and will recall setup files from internal locations under the "/User Files/" folder as well as from external USB storage device locations under the "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" folders depending on the number of storage devices connected.
:RECall:ARBitrary[:STARt] | When recalling from internal locations, quoted ASCII file name strings beginning with "/User Files/" are used instead of internal location numbers.
:RECall:MASK[:STARt] | When recalling from internal locations, quoted ASCII file name strings beginning with "/User Files/" are used instead of internal location numbers.
:RECall:SETup[:STARt] | When recalling from internal locations, quoted ASCII file name strings beginning with "/User Files/" are used instead of internal location numbers.
*SAV | The *SAV command is similar to the :SAVE:SETup[:STARt] command and will save setup files to internal locations under the "/User Files/" folder as well as to external USB storage device locations under the "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" folders depending on the number of storage devices connected.
:SAVE:ARBitrary[:STARt] | When saving to internal locations, quoted ASCII file name strings beginning with "/User Files/" are used instead of internal location numbers.
:SAVE:MASK[:STARt] | When saving to internal locations, quoted ASCII file name strings beginning with "/User Files/" are used instead of internal location numbers.
:SAVE:SETup[:STARt] | When saving to internal locations, quoted ASCII file name strings beginning with "/User Files/" are used instead of internal location numbers.
:SBUS<n>:CAN:TRIGger | Separate FDData and FDMSignal options are no longer necessary with the addition of the :SBUS<n>:CAN:TRIGger:TYPE command.
:SBUS<n>:IIC:TRIGger[:TYPE] | The "READEprom" option has changed to "REPRom".
:SEARch:SERial:IIC:MODE | The "READEprom" option has changed to "REPRom".
:SERial? | The query now returns the string within quotes.
:SYSTem:ERRor[:NEXT]? | The query is the same except the optional [:NEXT] can be included.
:SYSTem:PERSona[:MANufacturer] | The :SYSTem:PERSona[:MANufacturer]? query now returns the string within quotes.

Discontinued Commands

Discontinued commands are commands that were available in InfiniiVision 3000G X-Series oscilloscopes, but are not supported by the InfiniiVision HD3-Series oscilloscopes. Listed below are the Discontinued commands and the nearest equivalent command available (if any).

Discontinued Command | Current Command Equivalent | Comments
:CHANnel2:SKEW | :CHANnel<n>:PROBe:SKEW | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel:ACTivity | :ACTivity | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel:LABel | :CHANnel<n>:LABel or :DIGital<n>:LABel | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel:THReshold | :POD<n>:THReshold or :DIGital<d>:THReshold | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel<n>:INPut | :CHANnel<n>:IMPedance | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel<n>:PMODe | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:DIGital<d>:POSition | :DIGital:ORDer[:SET] | The notion of digital channel position locations is not present in the HD3-Series oscilloscopes. You can, however, order digital channels using the :DIGital:ORDer[:SET] command.
:DISPlay:ANNotation<n>:X1Position | :DISPlay:ANNotation<n>:XPOSition | Discontinued command positioned by pixel position, current command positions by percent of grid width.
:DISPlay:ANNotation<n>:Y1Position | :DISPlay:ANNotation<n>:YPOSition | Discontinued command positioned by pixel position, current command positions by percent of grid height.
:DISPlay:CONNect | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:DISPlay:GRATicule:TYPE | none | This command was for the TV trigger mode which is not available in the HD3-Series oscilloscopes.
:DISPlay:MENU | none | On earlier InfiniiVision oscilloscopes, this command would display a particular softkey menu. The HD3-Series oscilloscopes do not have softkey menus.
:DISPlay:ORDer | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:DISPlay:SIDebar | none | On earlier InfiniiVision oscilloscopes, this command would display a particular sidebar dialog box. The HD3-Series oscilloscopes do not have sidebar dialog boxes.
:DVM:FREQuency? | :COUNter<c>:CURRent? | The :DVM:FREQuency? query has been replaced by the new :COUNter<c> Commands.
:ERASe | :DISplay:CLEar | This was an obsolete command in the 3000G X-Series oscilloscopes.
:EXTernal:PMODe | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:FFT:DMODe | none | FFT display mode options are not available in the HD3-Series oscilloscopes. However, You can enable an FFT Max Function in the user interface.
:FUNCtion:GOFT:OPERation | :FUNCtion1:OPERation | GOFT maps to FUNCtion1. This was an obsolete command in the 3000G X-Series oscilloscopes.
:FUNCtion:GOFT:SOURce1 | :FUNCtion1:SOURce1 | GOFT maps to FUNCtion1. This was an obsolete command in the 3000G X-Series oscilloscopes.
:FUNCtion:GOFT:SOURce2 | :FUNCtion1:SOURce2 | GOFT maps to FUNCtion1. This was an obsolete command in the 3000G X-Series oscilloscopes.
:FUNCtion:SOURce | :FUNCtion:SOURce1 | Obsolete command has ADD, SUBTract, and MULTiply parameters; current command has GOFT parameter. This was an obsolete command in the 3000G X-Series oscilloscopes.
:FUNCtion:VIEW | :FUNCtion:DISPlay | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:DESTination | :RECall:FILename :SAVE:FILename | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:FILename | :RECall:FILename :SAVE:FILename | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:GRAYscale | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:IGColors | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:PDRiver | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HWEenable | :STATus:OPERation:HARDware:ENABle | Status registers now use SCPI standard commands and queries for controlling and reading the registers.
:HWERegister:CONDition? | :STATus:OPERation:HARDware:CONDition?
:HWERegister[:EVENt]? | :STATus:OPERation:HARDware[:EVENt]?
:MEASure:ALL | :MEASure:QUICk | There is no "Snapshot All" feature in the HD3-Series oscilloscopes, but there is a "Quick Measure" that will install 10 common measurements on an analog input channel source.
:MEASure:DEFine | :MEASure:DELay:DEFine :MEASure:THResholds:ABSolute :MEASure:THResholds:METHod :MEASure:THResholds:PERCent :MEASure:THResholds:STANdard | The :MEASure:DEFine functionality is provided by the current command equivalents.
:MEASure:LOWer | :MEASure:THResholds:ABSolute :MEASure:THResholds:METHod :MEASure:THResholds:PERCent :MEASure:THResholds:STANdard | The :MEASure:THResholds commands can define absolute values or percentage. This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TDELta | :MARKer:XDELta | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:THResholds | :MEASure:THResholds:ABSolute :MEASure:THResholds:METHod :MEASure:THResholds:PERCent :MEASure:THResholds:STANdard | The :MEASure:THResholds commands can define absolute values or percentage. This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TMAX | :MEASure:XMAX | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TMIN | :MEASure:XMIN | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TSTArt | :MARKer:X1Position | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TSTOp | :MARKer:X2Position | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TVOLt | :MEASure:TVALue | TVALue measures additional values such as db, Vs, etc. This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:UPPer | :MEASure:THResholds:ABSolute :MEASure:THResholds:METHod :MEASure:THResholds:PERCent :MEASure:THResholds:STANdard | The :MEASure:THResholds commands can define absolute values or percentage. This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:VDELta | :MARKer:YDELta | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:VSTArt | :MARKer:Y1Position | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:VSTOp | :MARKer:Y2Position | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:VTIMe | :MEASure:YATX | With :MEASure:YATX, there is a command for installing the measurement on the oscilloscope's display. :MEASure:VTIMe had no command, only a query.
:MTEenable | :STATus:OPERation:MTESt:ENABle | Status registers now use SCPI standard commands and queries for controlling and reading status registers.
:MTERegister[:EVENt]? | :STATus:OPERation:MTESt[:EVENt]?
:MTESt:AMASk:{SAVE | STORe} | :SAVE:MASK[:STARt] | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:AVERage | :ACQuire:TYPE AVERage | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:AVERage:COUNt | :ACQuire:COUNt | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:LOAD | :RECall:MASK[:STARt] | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:RUMode | :MTESt:RMODe | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:RUMode:SOFailure | :MTESt:RMODe:FACTion:STOP | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:{STARt | STOP} | :RUN or :STOP | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:TRIGger:SOURce | :TRIGger Commands | There are various commands for setting the source with different types of triggers. This was an obsolete command in the 3000G X-Series oscilloscopes.
:OPEE | :STATus:OPERation:ENABle | Status registers now use SCPI standard commands and queries for controlling and reading status registers.
:OPERegister:CONDition? | :STATus:OPERation:CONDition?
:OPERegister[:EVENt]? | :STATus:OPERation[:EVENt]?
:OVLenable | :STATus:OPERation:OVERload:ENABle | Status registers now use SCPI standard commands and queries for controlling and reading status registers.
:OVLRegister? | :STATus:OPERation:OVERload[:EVENt]?
:PRINt | :DISPlay:DATA? | Printers are not supported in the HD3-Series oscilloscopes. Everything you could print in the 3000G X-Series oscilloscopes can be saved to a file on a USB storage device. The :PRINt? query was a obsolete in the 3000G X-Series oscilloscopes.
:SAVE:IMAGe:AREA | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:SAVE:IMAGe:PALette | none | Color images are always saved in the HD3-Series oscilloscopes.
:SBUS<n>:CAN:FDSTandard | none | This is no longer an option. The ISO standard is used when decoding or triggering on FD frames.
:SBUS<n>:LIN:SIGNal:DEFinition | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:SYSTem:MENU | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:SYSTem:PRECision | :SYSTem:PRECision:LENGth | Precision analysis is no longer a feature to be enabled. Instead, you simply choose the desired analysis record length.
:TRIGger:THReshold | :POD<n>:THReshold or :DIGital<d>:THReshold | This was an obsolete command in the 3000G X-Series oscilloscopes.
:TRIGger:ZONE:STATe | none | There is no longer an overall zone trigger feature on/off state.
:WAVeform:VIEW | none | In the HD3-Series oscilloscopes, all captured data is used.


Setting Up

Step 1. Install Keysight IO Libraries Suite software

Step 2. Connect and set up the oscilloscope

Step 3. Verify the oscilloscope connection

This chapter explains how to install the Keysight IO Libraries Suite software, connect the oscilloscope to the controller PC, set up the oscilloscope, and verify the oscilloscope connection.


Step 1. Install Keysight IO Libraries Suite software

  1. Download the Keysight IO Libraries Suite software from the Keysight web site at:

    • http://www.keysight.com/find/iolib

  2. Run the setup file, and follow its installation instructions.


Step 2. Connect and set up the oscilloscope

The HD3-Series oscilloscope has two different interfaces you can use for programming:

  • USB (device port).

  • LAN. To configure the LAN interface, see Using the LAN Interface.

These interfaces are always active.

Figure 1. Control Connectors on Rear Panel

Control Connectors on Rear Panel


Using the USB (Device) Interface

  1. Connect a USB cable from the controller PC's USB port to the "USB DEVICE" port on the back of the oscilloscope.

    This is a USB 2.0 high-speed port.


Using the LAN Interface

  1. If the controller PC is not already connected to the local area network (LAN), do that first.

  2. Contact your network administrator about adding the oscilloscope to the network.

    Find out if automatic configuration via DHCP or AutoIP can be used. Also, find out whether your network supports Dynamic DNS or Multicast DNS.

    If automatic configuration is not supported, get the oscilloscope's network parameters (hostname, domain, IP address, subnet mask, gateway IP, DNS IP, etc.).

  3. Connect the oscilloscope to the local area network (LAN) by inserting LAN cable into the "LAN" port.

  4. Configure the oscilloscope's LAN interface:

    1. From the menu, choose Utilities > I/O....

    2. In the I/O dialog box's LAN Setup tab, select LAN Settings....

    3. In the LAN Settings dialog box:

      • If automatic configuration via DHCP or AutoIP can be used, select Automatic.

      • If your network supports Multicast DNS, select Multicast DNS.

      • If automatic configuration is not supported, clear Automatic. Then, enter the appropriate values in the IP Address, Subnet Mask, Gateway IP, and DNS IP fields.

    4. Enter the oscilloscope's Host Name.

    5. Select Apply.


Step 3. Verify the oscilloscope connection

  1. On the controller PC, click on the Keysight IO Control icon in the taskbar and choose Connection Expert from the popup menu.

  2. In the Keysight Connection Expert application, instruments connected to the controller's USB interface as well as instruments on the same LAN subnet should automatically appear in the Instruments tab.

  3. If your instrument does not appear, you can add it using the Manual Configuration tab.

    For example, to add a device:

    1. Select LAN instrument in the list on the left.

    2. Enter the oscilloscope's Hostname or IP address.

    3. Select the protocol.

    4. Select Instrument under Set Protocol.

    5. Click Test This VISA Address to verify the connection.

    6. If the connection test is successful, click Accept to add the instrument.

      If the connection test is not successful, go back and verify the LAN connections and the oscilloscope setup.

  4. Test some commands on the instrument:

    1. In the Details for the selected instrument, click Send Commands To This Instrument.

    2. In the Keysight Interactive IO application, enter commands in the Command field and press Send Command, Read Response, or Send & Read.

    3. Choose Connect > Exit from the menu to exit the Keysight Interactive IO application.

  5. In the Keysight Connection Expert application, choose File > Exit from the menu to exit the application.


Getting Started

Basic Oscilloscope Program Structure

Programming the Oscilloscope

Other Ways of Sending Commands

This chapter gives you an overview of programming the HD3-Series oscilloscopes. It describes basic oscilloscope program structure and shows how to program the oscilloscope using a few simple examples.

The getting started examples show how to send oscilloscope setup, data capture, and query commands, and they show how to read query results.

[Note] Language for Program Examples

The programming examples in this guide are written in Visual Basic using the Keysight VISA COM library.


Basic Oscilloscope Program Structure

The following figure shows the basic structure of every program you will write for the oscilloscope.


Initializing

To ensure consistent, repeatable performance, you need to start the program, controller, and oscilloscope in a known state. Without correct initialization, your program may run correctly in one instance and not in another. This might be due to changes made in configuration by previous program runs or from the front panel of the oscilloscope.

  • Program initialization defines and initializes variables, allocates memory, or tests system configuration.

  • Controller initialization ensures that the interface to the oscilloscope is properly set up and ready for data transfer.

  • Oscilloscope initialization sets the channel configuration, channel labels, threshold voltages, trigger specification, trigger mode, timebase, and acquisition type.


Capturing Data

Once you initialize the oscilloscope, you can begin capturing data for analysis. Remember that while the oscilloscope is responding to commands from the controller, it is not performing acquisitions. Also, when you change the oscilloscope configuration, any data already captured will most likely be rendered.

To collect data, you use the :DIGitize command. This command clears the waveform buffers and starts the acquisition process. Acquisition continues until acquisition memory is full, then stops. The acquired data is displayed by the oscilloscope, and the captured data can be measured, stored in acquisition memory in the oscilloscope, or transferred to the controller for further analysis. Any additional commands sent while :DIGitize is working are buffered until :DIGitize is complete.

You could also put the oscilloscope into run mode, then use a wait loop in your program to ensure that the oscilloscope has completed at least one acquisition before you make a measurement. Keysight does not recommend this because the needed length of the wait loop may vary, causing your program to fail. :DIGitize, on the other hand, ensures that data capture is complete. Also, :DIGitize, when complete, stops the acquisition process so that all measurements are on displayed data, not on a constantly changing data set.


Analyzing Captured Data

After the oscilloscope has completed an acquisition, you can find out more about the data, either by using the oscilloscope measurements or by transferring the data to the controller for manipulation by your program. Built-in measurements include: frequency, duty cycle, period, positive pulse width, and negative pulse width.

Using the :WAVeform commands, you can transfer the data to your controller. You may want to display the data, compare it to a known good measurement, or simply check logic patterns at various time intervals in the acquisition.


Programming the Oscilloscope

  • Referencing the IO Library

  • Opening the Oscilloscope Connection via the IO Library

  • Using :AUToscale to Automate Oscilloscope Setup

  • Using Other Oscilloscope Setup Commands

  • Capturing Data with the :DIGitize Command

  • Reading Query Responses from the Oscilloscope

  • Reading Query Results into String Variables

  • Reading Query Results into Numeric Variables

  • Reading Definite-Length Block Query Response Data

  • Sending Multiple Queries and Reading Results

  • Checking Instrument Status


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):

  1. Choose Tools > References... from the main menu.

  2. In the References dialog, check the "VISA COM 5.14 Type Library".

  3. Click OK.

To reference the Keysight VISA COM library in Microsoft Visual Basic 6.0:

  1. Choose Project > References... from the main menu.

  2. In the References dialog, check the "VISA COM 5.14 Type Library".

  3. Click OK.


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 Program Message Syntax .


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 20 seconds.
myScope.IO.Clear
myScope.IO.Timeout = 20000

After clearing the interface, initialize the instrument to a preset state:

myScope.WriteString "*RST"
[Note] Information for Initializing the Instrument

The actual commands and syntax for initializing the instrument are discussed in Common (*) Commands.

Refer to the Keysight IO Libraries Suite documentation for information on initializing the interface.


Using :AUToscale to Automate Oscilloscope Setup

The :AUToscale command performs a very useful function for unknown waveforms by setting up the vertical channel, time base, and trigger level of the instrument.

The syntax for the autoscale command is:

myScope.WriteString ":AUToscale"


Using Other Oscilloscope Setup Commands

A typical oscilloscope setup would set the vertical range and offset voltage, the horizontal range, delay time, delay reference, trigger mode, trigger level, and slope. An example of the commands that might be sent to the oscilloscope are:

myScope.WriteString ":CHANnel1:PROBe 10"
myScope.WriteString ":CHANnel1:RANGe 16"
myScope.WriteString ":CHANnel1:OFFSet 1.00"
myScope.WriteString ":TIMebase:MODE MAIN"
myScope.WriteString ":TIMebase:RANGe 1E-3"
myScope.WriteString ":TIMebase:DELay 100E-6"

Vertical is set to 16 V full-scale (2 V/div) with center of screen at 1 V and probe attenuation set to 10. This example sets the time base at 1 ms full-scale (100 ms/div) with a delay of 100 µs.


Example Oscilloscope Setup Code

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 = 20000   ' Set interface timeout to 20 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 50 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 10"     ' Probe attenuation
                                             ' to 10: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:COUPling 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 -0.4"     ' Trigger level to -0.4.
myScope.WriteString ":TRIGger:SLOPe POSitive" ' Trigger on pos. slope.

' Configure the instrument for normal acquisition.
myScope.WriteString ":ACQuire:TYPE NORMal"   ' Normal acquisition.


Capturing Data with the :DIGitize Command

The :DIGitize command captures data that meets the specifications set up by the :ACQuire subsystem. When the digitize process is complete, the acquisition is stopped. The captured data can then be measured by the instrument or transferred to the controller for further analysis. The captured data consists of two parts: the waveform data record, and the preamble.

[Note] Ensure New Data is Collected

When you change the oscilloscope configuration, the waveform buffers are cleared. Before doing a measurement, send the :DIGitize command to the oscilloscope to ensure new data has been collected.

When you send the :DIGitize command to the oscilloscope, the specified channel signal is digitized with the current :ACQuire parameters. To obtain waveform data, you must specify the :WAVeform parameters for the SOURce channel, the FORMat type, and the number of POINts prior to sending the :WAVeform:DATA? query.

[Note] Set :TIMebase:MODE to MAIN when using :DIGitize

:TIMebase:MODE must be set to MAIN to perform a :DIGitize command or to perform any :WAVeform subsystem query. A "Settings conflict" error message will be returned if these commands are executed when MODE is set to ROLL, XY, or WINDow (zoomed). Sending the *RST (reset) command will also set the time base mode to normal.

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 allows you to specify exactly what the digitized information contains.

The following program example shows a typical setup:

myScope.WriteString ":ACQuire:TYPE AVERage"
myScope.WriteString ":ACQuire:COMPlete 100"
myScope.WriteString ":ACQuire:COUNt 8"
myScope.WriteString ":DIGitize CHANnel1"
myScope.WriteString ":WAVeform:SOURce CHANnel1"
myScope.WriteString ":WAVeform:FORMat WORD"
myScope.WriteString ":WAVeform:BYTeorder LSBF"
myScope.WriteString ":WAVeform:POINts 500"
myScope.WriteString ":WAVeform:DATA?"

This setup places the instrument into the averaged mode with eight averages. This means that when the :DIGitize command is received, the command will execute until the signal has been averaged at least eight times.

After receiving the :WAVeform:DATA? query, the instrument will start passing the waveform information.

Digitized waveforms are passed from the instrument to the controller by sending a numerical representation of each digitized point. The format of the numerical representation is controlled with the :WAVeform:FORMat command and may be selected as BYTE, WORD, or ASCii.

The easiest method of transferring a digitized waveform depends on data structures, formatting available and I/O capabilities. You must scale the integers to determine the voltage value of each point. These integers are passed starting with the left most point on the instrument's display.

For more information, see the waveform subsystem commands and corresponding program code examples in :WAVeform Commands.

[Note] Aborting a Digitize Operation Over the Programming Interface

When using the programming interface, you can abort a digitize operation by sending a Device Clear over the bus (for example, myScope.IO.Clear).


Reading Query Responses from the Oscilloscope

After receiving a query (command header followed by a question mark), the instrument interrogates the requested function and places the answer in its output queue. The answer remains in the output queue until it is read or another command is issued. When read, the answer is transmitted across the interface to the designated listener (typically a controller).

The statement for reading a query response message from an instrument's output queue typically has a format specification for handling the response message.

When using the VISA COM library in Visual Basic, you use different read methods (ReadString, ReadNumber, ReadList, or ReadIEEEBlock) for the various query response formats. For example, to read the result of the query command :CHANnel1:COUPling? you would execute the statements:

myScope.WriteString ":CHANnel1:COUPling?"
Dim strQueryResult As String
strQueryResult = myScope.ReadString

This reads the current setting for the channel one coupling into the string variable strQueryResult.

All results for queries (sent in one program message) must be read before another program message is sent.

Sending another command before reading the result of the query clears the output buffer and the current response. This also causes an error to be placed in the error queue.

Executing a read statement before sending a query causes the controller to wait indefinitely.

The format specification for handling response messages depends on the programming language.


Reading Query Results into String Variables

The output of the instrument may be numeric or character data depending on what is queried. Refer to the specific command descriptions for the formats and types of data returned from queries.

[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.

The following example shows numeric data being returned to a string variable:

myScope.WriteString ":CHANnel1:RANGe?"
Dim strQueryResult As String
strQueryResult = myScope.ReadString
MsgBox "Range (string):" + strQueryResult

After running this program, the controller displays:

Range (string): +40.0E+00


Reading Query Results into Numeric Variables

The following example shows numeric data being returned to a numeric variable:

myScope.WriteString ":CHANnel1:RANGe?"
Dim varQueryResult As Variant
varQueryResult = myScope.ReadNumber
MsgBox "Range (variant):" + CStr(varQueryResult)

After running this program, the controller displays:

Range (variant): 40


Reading Definite-Length Block Query Response Data

Definite-length block query 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 1000 bytes of data, the syntax would be:

Figure 2. Definite-length block response data

Definite-length block response data

The "8" states the number of digits that follow, and "00001000" states the number of bytes to be transmitted.

The VISA COM library's ReadIEEEBlock and WriteIEEEBlock methods understand the definite-length block syntax, so you can simply use variables that contain the data:

' Read oscilloscope setup using ":SYSTem:SETup?" query.
myScope.WriteString ":SYSTem:SETup?"
Dim varQueryResult As Variant
varQueryResult = myScope.ReadIEEEBlock(BinaryType_UI1)

' Write learn string back to oscilloscope using ":SYSTem:SETup" command:
myScope.WriteIEEEBlock ":SYSTem:SETup ", varQueryResult


Sending Multiple Queries and Reading Results

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"

See Also

  • Multiple Program Message Units


Checking Instrument Status

Status registers track the current status of the instrument. By checking the instrument status, you can find out whether an operation has been completed, whether the instrument is receiving triggers, and more.

For more information, see Status Reporting which explains how to check the status of the instrument.


Other Ways of Sending Commands

Standard Commands for Programmable Instrumentation (SCPI) can also be sent via a Telnet socket or through the browser Instrument IO:

  • Telnet Sockets

  • Sending SCPI Commands Using Browser Instrument IO


Telnet Sockets

The following information is provided for programmers who wish to control the oscilloscope with SCPI commands in a Telnet session.

To connect to the oscilloscope via a telnet socket, issue the following command:

telnet <hostname> 5024

where <hostname> is the hostname of the oscilloscope. This will give you a command line with prompt.

For a command line without a prompt, use port 5025. For example:

telnet <hostname> 5025


Sending SCPI Commands Using Browser Instrument IO

To send SCPI commands using the browser Instrument IO feature, establish a connection to the oscilloscope via LAN as described in the InfiniiVision HD3-Series Oscilloscopes User's Guide. When you make the connection to the oscilloscope via LAN and the instrument's welcome page is displayed, select the Control Instrument tab, then select Use Instrument IO.


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, finish their task before the execution of the next command starts.

    These oscilloscope commands and queries are sequential (blocking):

    • :AUToscale

    • :DIGitize

    • :WMEMory<r>:SAVE <source>

    • :WAVeform:DATA?

  • Overlapped commands run concurrently. Commands following an overlapped command may be started before the overlapped command is completed.

    Some oscilloscope commands are overlapped. For example, the oscilloscope's save and recall commands are overlapped as well as some commands that perform analysis.

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.

Pausing Execution Between Overlapped Commands

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:

:RECall:SETup "setup.scp";*OPC?;:RECall:ARBitrary "arb_wfm.csv"

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.

Pausing Programs Until Sequential (Blocking) Commands are Complete

Sequential (blocking) commands do 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:

myScope.WriteString ":DIGitize"
Debug.Print "Signal acquired."

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 a sequential (blocking) command is complete, you must wait for a query result after the sequential (blocking) command. For example, in this case:

Public strQueryResult As String
myScope.WriteString ":DIGitize;*OPC?"
strQueryResult = myScope.ReadString
Debug.Print "Signal acquired."

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.

When using a query to wait until a sequential (blocking) command is complete, it is possible for the sequential (blocking) command execution to take longer than the I/O timeout, in which case, there will be a timeout error while waiting for the query results. You can increase the I/O timeout or have your program poll the Status Byte Register using the IO libraries' unblocked ReadSTB function to wait for execution completion.

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)

  • *ESR? (Standard Event Status Register)

  • Synchronizing Acquisitions


InfiniiVision HD3-Series Mixed Signal Oscilloscopes Programmer's Guide

Commands Quick Reference

Command Summary

Syntax Elements


Command Summary

  • Common (*) Commands Summary

  • Root (:) Commands Summary

  • :ACQuire Commands Summary

  • :BUS<n> Commands Summary

  • :CALibrate Commands Summary

  • :CGRade Commands Summary

  • :CHANnel<n> Commands Summary

  • :CLOCk Commands Summary

  • :COUNter Commands Summary

  • :DEMO Commands Summary

  • :DIGital<n> Commands Summary

  • :DISPlay Commands Summary

  • :DVM Commands Summary

  • :EXTernal Trigger Commands Summary

  • :FFT Commands Summary

  • :FRANalysis Commands Summary

  • :FUNCtion Commands Summary

  • :HCOPy Commands Summary

  • :HISTogram Commands Summary

  • :JITTer Commands Summary

  • :LISTer Commands Summary

  • :LTESt Commands Summary

  • :MARKer Commands Summary

  • :MEASure Commands Summary

  • :MEASure Power Commands Summary

  • :MTESt Commands Summary

  • :POD<n> Commands Summary

  • :POWer Commands Summary

  • :RECall Commands Summary

  • :SAVE Commands Summary

  • General :SBUS<n> Commands Summary

  • :SBUS<n>:A429 Commands Summary

  • :SBUS<n>:CAN Commands Summary

  • :SBUS<n>:IIC Commands Summary

  • :SBUS<n>:LIN Commands Summary

  • :SBUS<n>:M1553 Commands Summary

  • :SBUS<n>:SENT Commands Summary

  • :SBUS<n>:SPI Commands Summary

  • :SBUS<n>:UART Commands Summary

  • :SBUS<n>:USB Commands Summary

  • :SBUS<n>:USBPd Commands Summary

  • General :SEARch Commands Summary

  • :SEARch:EDGE Commands Summary

  • :SEARch:GLITch Commands Summary

  • :SEARch:PEAK Commands Summary

  • :SEARch:RUNT Commands Summary

  • :SEARch:TRANsition Commands Summary

  • :SEARch:SERial:A429 Commands Summary

  • :SEARch:SERial:CAN Commands Summary

  • :SEARch:SERial:IIC Commands Summary

  • :SEARch:SERial:LIN Commands Summary

  • :SEARch:SERial:M1553 Commands Summary

  • :SEARch:SERial:SENT Commands Summary

  • :SEARch:SERial:SPI Commands Summary

  • :SEARch:SERial:UART Commands Summary

  • :SEARch:SERial:USB Commands Summary

  • :SEARch:SERial:USBPd Commands Summary

  • General :STATus Commands Summary

  • :STATus:OPERation Commands Summary

  • :STATus:OPERation:ARM Commands Summary

  • :STATus:OPERation:HARDware Commands Summary

  • :STATus:OPERation:LOCal Commands Summary

  • :STATus:OPERation::MTESt Commands Summary

  • :STATus:OPERation:OVERload Commands Summary

  • :STATus:OPERation:OVERload:PFAult Commands Summary

  • :STATus:OPERation::POWer Commands Summary

  • :STATus:TRIGger Commands Summary

  • :STATus:USER Commands Summary

  • :SYSTem Commands Summary

  • :TIMebase Commands Summary

  • General :TRIGger Commands Summary

  • :TRIGger:DELay Commands Summary

  • :TRIGger[:EDGE] Commands Summary

  • :TRIGger:GLITch Commands Summary

  • :TRIGger:OR Commands Summary

  • :TRIGger:PATTern Commands Summary

  • :TRIGger:RUNT Commands Summary

  • :TRIGger:SHOLd Commands Summary

  • :TRIGger:TRANsition Commands Summary

  • :TRIGger:WINDow Commands Summary

  • :TRIGger:ZONE Commands Summary

  • :WAVeform Commands Summary

  • :WGEN Commands Summary

  • :WMEMory<r> Commands Summary

Common (*) Commands Summary:

Command | Query | Options and Query Returns
*CLS | n/a | n/a
*ESE <mask> *ESE?

<mask> ::= 0 to 255; an integer in NR1 format:

Bit Weight Name Enables
--- ------ ---- ----------
 7    128  PON  Power On
 6     64  URQ  User Request
 5     32  CME  Command Error
 4     16  EXE  Execution Error
 3      8  DDE  Dev. Dependent Error
 2      4  QYE  Query Error
 1      2  RQL  Request Control
 0      1  OPC  Operation Complete
n/a | *ESR? | <status> ::= 0 to 255; an integer in NR1 format
n/a *IDN?

KEYSIGHT TECHNOLOGIES,<model>,<serial number>,X.XX.XX

<model> ::= the model number of the instrument

<serial number> ::= the serial number of the instrument

<X.XX.XX> ::= the software revision of the instrument

n/a | *LRN? | <learn_string> ::= current instrument setup as a block of data in IEEE 488.2 # format
*OPC | *OPC? | ASCII "1" is placed in the output queue when all pending device operations have completed.
n/a *OPT?

<return_value> ::= 0,0,<license info>

<license info> ::= <All field>, <reserved>, <Enhanced Security>, <Waveform Generator>, <Automotive Serial>, <Aerospace Serial>, <Embedded Serial>, <USB Serial>, <Power Measurements>, <Jitter Analysis>, <reserved>, <reserved>, <reserved>, <Memory 100M>, <Memory 50M>, <Memory 20M>, <Bandwidth 1GHz>, <Bandwidth 500MHz>, <Bandwidth 350MHz>, <Bandwidth 200MHz>, <Demo Partner>, <Demo Keysight>

n/a *OPT? (cont'd)

<All field> ::= {0 | All(d)}

<reserved> ::= 0

<Enhanced Security> ::= {0 | HD3SECURE}

<Waveform Generator> ::= {0 | WAVEGEN}

<Automotive Serial> ::= {0 | HD300AUTA}

<Aerospace Serial> ::= {0 | HD300AERA}

<Embedded Serial> ::= {0 | HD300EMBA}

<USB Serial> ::= {0 | HD300USBA}

<Power Measurements> ::= {0 | HD300PWRA}

<Jitter Analysis> ::= {0 | HD300QJTA}

<Memory 100M> ::= {0 | MEMUP100}

<Memory 50M> ::= {0 | MEMUP50}

<Memory 20M> ::= {0 | MEMUP20}

<Bandwidth 1GHz> ::= {0 | BW1000}

<Bandwidth 500MHz> ::= {0 | BW500}

<Bandwidth 350MHz> ::= {0 | BW350}

<Bandwidth 200MHz> ::= {0 | BW200}

<Demo Partner> ::= {0 | DIS}

<Demo Keysight> ::= {0 | D24}

*RCL {<internal_fname> | <external_fname>} n/a

<internal_fname> ::= quoted ASCII file name string beginning with "/User Files/"

<external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected

*RST | n/a | See *RST (Reset)
*SAV {<internal_fname> | <external_fname>} n/a

<internal_fname> ::= quoted ASCII file name string beginning with "/User Files/"

<external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected

*SRE <mask> *SRE?

<mask> ::= sum of all bits that are set, 0 to 255; an integer in NR1 format. <mask> ::= following values:

Bit Weight Name Enables
--- ------ ---- ----------
 7    128  OPER Operation Status Reg
 6     64  ---- (Not used.)
 5     32  ESB  Event Status Bit
 4     16  MAV  Message Available
 3      8  ---- (Not used.)
 2      4  MSG  Message
 1      2  USR  User
 0      1  TRG  Trigger
n/a *STB?

<value> ::= 0 to 255; an integer in NR1 format, as shown in the following:

Bit Weight Name "1" Indicates
--- ------ ---- ---------------
 7    128  OPER Operation status
                condition occurred.
 6     64  RQS/ Instrument is
           MSS  requesting service.
 5     32  ESB  Enabled event status
                condition occurred.
 4     16  MAV  Message available.
 3      8  ---- (Not used.)
 2      4  MSG  Message displayed.
 1      2  USR  User event
                condition occurred.
 0      1  TRG  A trigger occurred.
*TRG | n/a | n/a
n/a | *TST? | <result> ::= 0 or non-zero value; an integer in NR1 format
*WAI | n/a | n/a

Root (:) Commands Summary:

Command | Query | Options and Query Returns
:ACTivity | :ACTivity? | <return value> ::= <edges>,<levels> <edges> ::= presence of edges (32-bit integer in NR1 format) <levels> ::= logical highs or lows (32-bit integer in NR1 format)
n/a | :AER? | {0 | 1}; an integer in NR1 format
:AUToscale [<source>[,..,<source>]] | n/a | <source> ::= {CHANnel<n> | DIGital<d> | POD1 | POD2} <source> can be repeated up to 5 times <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:AUToscale:AMODe <value> | :AUToscale:AMODe? | <value> ::= {NORMal | CURRent}}
:AUToscale:CHANnels <value> | :AUToscale:CHANnels? | <value> ::= {ALL | DISPlayed}}
:AUToscale:ENABle {{0 | OFF} | {1 | ON}} | :AUToscale:ENABle? | {0 | 1}
:AUToscale:FDEBug {{0 | OFF} | {1 | ON}} | :AUToscale:FDEBug? | {0 | 1}
:BLANk [<source>] | n/a | <source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}} | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:DIGitize [<source>[,..,<source>]] | n/a | <source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}}} <source> can be repeated up to 5 times <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format
n/a | :MODel? [FRAMe] | <return value> ::= string containing the oscilloscope's model number
n/a | :RSTate? | n/a
:RUN | n/a | n/a
n/a | :SERial? | <return value> ::= quoted string containing serial number
:SINGle | n/a | n/a
n/a | :STATus? <display> | {0 | 1} <display> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}} | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:STOP | n/a | n/a
n/a | :TER? | {0 | 1}
:VIEW <source> | n/a | <source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}} | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format

:ACQuire Commands Summary:

Command | Query | Options and Query Returns
n/a | :ACQuire:AALias? | {1 | 0}
:ACQuire:COMPlete <complete> | :ACQuire:COMPlete? | <complete> ::= 100; an integer in NR1 format
:ACQuire:COUNt <count> | :ACQuire:COUNt? | <count> ::= an integer from 2 to 65536 in NR1 format
:ACQuire:DAALias <mode> | :ACQuire:DAALias? | <mode> ::= {DISable | AUTO}
:ACQuire:DIGitizer {{0 | OFF} | {1 | ON}} | :ACQuire:DIGitizer? | {0 | 1}
:ACQuire:MANual {{0 | OFF} | {1 | ON}} | :ACQuire:MANual? | {0 | 1}
n/a | :ACQuire:MANual:POINts? | <gui_setting> ::= Max Memory Depth setting in NR1 format
n/a | :ACQuire:MANual:SRATe? | <gui_setting> ::= Max Sample Rate setting in NR3 format
:ACQuire:MODE <mode> | :ACQuire:MODE? | <mode> ::= {RTIMe | ETIMe | SEGMented}
:ACQuire:POINts[:ANALog] <points> | :ACQuire:POINts[:ANALog]? | <points> ::= {AUTO | <points_value>} <points_value> ::= desired analog memory depth in integer NR1 format
:ACQuire:POINts[:ANALog]:AUTO {{0 | OFF} | {1 | ON}} | :ACQuire:POINts[:ANALog]:AUTO? | {0 | 1}
n/a | :ACQuire:POINts:MAX? | <max_points> ::= an integer in NR1 format
:ACQuire:SEGMented:ANALyze | n/a | n/a
:ACQuire:SEGMented:COUNt <count> | :ACQuire:SEGMented:COUNt? | <count> ::= an integer in NR1 format
:ACQuire:SEGMented:INDex <index> | :ACQuire:SEGMented:INDex? | <index> ::= an integer in NR1 format
:ACQuire:SRATe[:ANALog] <rate> | :ACQuire:SRATe[:ANALog]? | <rate> ::= {AUTO | <sample_rate>} <sample_rate> ::= desired analog sample rate in NR3 format
:ACQuire:SRATe[:ANALog]:AUTO {{0 | OFF} | {1 | ON}} | :ACQuire:SRATe[:ANALog]:AUTO? | {0 | 1}
:ACQuire:TYPE <type> | :ACQuire:TYPE? | <type> ::= {NORMal | AVERage | PEAK}

:BUS<n> Commands Summary:

Command | Query | Options and Query Returns
:BUS<n>:BIT<m> {{0 | OFF} | {1 | ON}} | :BUS<n>:BIT<m>? | {0 | 1} <n> ::= 1 or 2; an integer in NR1 format <m> ::= 0-15; an integer in NR1 format
:BUS<n>:BITS <channel_list>, {{0 | OFF} | {1 | ON}} | :BUS<n>:BITS? | <channel_list>, {0 | 1} <channel_list> ::= (@<m>,<m>:<m> ...) where "," is separator and ":" is range <n> ::= 1 or 2; an integer in NR1 format <m> ::= 0-15; an integer in NR1 format
:BUS<n>:CLEar | n/a | <n> ::= 1 or 2; an integer in NR1 format
:BUS<n>:DISPlay {{0 | OFF} | {1 | ON}} | :BUS<n>:DISPlay? | {0 | 1} <n> ::= 1 or 2; an integer in NR1 format
:BUS<n>:LABel <string> | :BUS<n>:LABel? | <string> ::= quoted ASCII string up to 32 characters <n> ::= 1 or 2; an integer in NR1 format
:BUS<n>:MASK <mask> | :BUS<n>:MASK? | <mask> ::= 32-bit integer in decimal, <nondecimal>, or <string> <nondecimal> ::= #Hnn...n where n ::= {0,..,9 | A,..,F} for hexadecimal <nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F} for hexadecimal <n> ::= 1 or 2; an integer in NR1 format

:CALibrate Commands Summary:

Command | Query | Options and Query Returns
n/a | :CALibrate:DATE? | <return value> ::= <year>,<month>,<day>; all in NR1 format
:CALibrate:LABel <string> | :CALibrate:LABel? | <string> ::= quoted ASCII string up to 32 characters
:CALibrate:OUTPut <signal> | :CALibrate:OUTPut? | <signal> ::= {TRIGgers | MASK | WAVEgen | WGEN1 | TSOurce} Note: WAVE and WGEN1 are equivalent.
:CALibrate:PROTected {{0 | OFF} | {1 | ON}} | :CALibrate:PROTected? | {"PROTected" | "UNPRotected"}
:CALibrate:STARt | n/a | n/a
n/a | :CALibrate:STATus? | <return value> ::= <status_code>,<status_string> <status_code> ::= an integer status code <status_string> ::= an ASCII status string
n/a | :CALibrate:TEMPerature? | <return value> ::= degrees C delta since last cal in NR3 format
n/a | :CALibrate:TIME? | <return value> ::= <hours>,<minutes>,<seconds>; all in NR1 format

:CGRade Commands Summary:

Command | Query | Options and Query Returns
:CGRade:ANALog:ALL {{0 | OFF} | {1 | ON}} | :CGRade:ANALog:ALL? | {0 | 1}
:CGRade:HALFlife <time> | :CGRade:HALFlife? | <time> ::= half-life time, from 100 ms to 60 s, in NR3 format
:CGRade:INVert {{0 | OFF} | {1 | ON}} | :CGRade:INVert? | {0 | 1}
:CGRade:KEY:SOURce <source> | :CGRade:KEY:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1-4 in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
n/a | :CGRade:LEVels? | <levels> ::= comma-delimited list of color range levels
:CGRade:LEVels:DISPlay {{0 | OFF} | {1 | ON}} | :CGRade:LEVels:DISPlay? | {0 | 1}
:CGRade:MATH:SOURce:STATe {{0 | OFF} | {1 | ON}} | :CGRade:MATH:SOURce:STATe? | {0 | 1}
:CGRade:RESet | n/a | n/a
:CGRade:SCHeme <theme> | :CGRade:SCHeme? | <theme> ::= {TEMPerature | INTensity | VIRidis | HOT | ABYSs | SKY | INFerno}
:CGRade:SOURce <source> | :CGRade:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:CGRade:STATe {{0 | OFF} | {1 | ON}} | :CGRade:STATe? | {0 | 1}

:CHANnel<n> Commands Summary:

Command | Query | Options and Query Returns
:CHANnel<n>:BANDwidth <channel_bw_limit> | :CHANnel<n>:BANDwidth? | {1000000000 | 350000000 | 200000000 | 100000000 | 50000000 | 20000000 | 10000000 | 5000000} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:COUPling <coupling> | :CHANnel<n>:COUPling? | <coupling> ::= {AC | DC} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:DISPlay {{0 | OFF} | {1 | ON}} | :CHANnel<n>:DISPlay? | {0 | 1} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:IMPedance <impedance> | :CHANnel<n>:IMPedance? | <impedance> ::= {ONEMeg | FIFTy} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:INVert {{0 | OFF} | {1 | ON}} | :CHANnel<n>:INVert? | {0 | 1} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:LABel <string> | :CHANnel<n>:LABel? | <string> ::= any series of 32 or less ASCII characters enclosed in quotation marks <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>[:MAIN]:OFFSet <offset>[suffix] | :CHANnel<n>[:MAIN]:OFFSet? | <offset> ::= Vertical offset value in NR3 format [suffix] ::= {V | mV} <n> ::= 1-2 or 1-4; in NR1 format
:CHANnel<n>[:MAIN]:SCALe <scale>[suffix] | :CHANnel<n>[:MAIN]:SCALe? | <scale> ::= Vertical units per division value in NR3 format [suffix] ::= {V | mV} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROBe <attenuation> | :CHANnel<n>:PROBe? | <attenuation> ::= Probe attenuation ratio in NR3 format <n> ::= 1-2 or 1-4; in NR1 format
:CHANnel<n>:PROBe:BTN <setting> | :CHANnel<n>:PROBe:BTN? | <n> ::= 1 to (# analog channels) in NR1 format <setting> ::= {HEADlight | INFiniimode | RSTop | SINGle | CDISplay | AUToscale | FTRigger | QACTion | NACTion | NONE}
:CHANnel<n>:PROBe:CALibration | n/a | n/a
n/a | :CHANnel<n>:PROBe:CALibration:VALidity? | <n> ::= 1 to (# analog channels) in NR1 format <validity> ::= {Cal Valid | Cal Invalid}
:CHANnel<n>:PROBe:EXTernal {{0 | OFF} | {1 | ON}} | :CHANnel<n>:PROBe:EXTernal? | <n> ::= 1 to (# analog channels) in NR1 format <setting> ::= {0 | 1}
:CHANnel<n>:PROBe:EXTernal:GAIN <gain_factor> | :CHANnel<n>:PROBe:EXTernal:GAIN? | <n> ::= 1 to (# analog channels) in NR1 format <gain_factor> ::= a real number from 0.0001 to 5000 in NR3 format
:CHANnel<n>:PROBe:EXTernal:OFFSet <offset_value> | :CHANnel<n>:PROBe:EXTernal:OFFSet? | <n> ::= 1 to (# analog channels) in NR1 format <offset_value> ::= a real number for the offset value at center screen in NR3 format
:CHANnel<n>:PROBe:EXTernal:UNITs <units> | :CHANnel<n>:PROBe:EXTernal:UNITs? | <n> ::= 1 to (# analog channels) in NR1 format <units> ::= {VOLT | AMPere}
:CHANnel<n>:PROBe:HEAD[:TYPE] <head_param> | :CHANnel<n>:PROBe:HEAD[:TYPE]? | <head_param> ::= {SEND0 | SEND6 | SEND12 | SEND20 | DIFF0 | DIFF6 | DIFF12 | DIFF20 | DSMA | DSMA6 | NONE} <n> ::= 1 to (# analog channels) in NR1 format
n/a | :CHANnel<n>:PROBe:ID? | <probe id> ::= unquoted ASCII string up to 11 characters <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROBe:MODE <setting> | :CHANnel<n>:PROBe:MODE? | <n> ::= 1 to (# analog channels) in NR1 format <setting> ::= {DIFFerential | DOFFset | SEA | SEB | CM}
:CHANnel<n>:PROBe:RSENse <value> | :CHANnel<n>:PROBe:RSENse? | <value> ::= Ohms in NR3 format <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROBe:SKEW <skew_value> | :CHANnel<n>:PROBe:SKEW? | <skew_value> ::= -100 ns to +100 ns in NR3 format <n> ::= 1 to (# analog channels) in NR1 format
n/a | :CHANnel<n>:PROBe:STATus? | <n> ::= 1 to (# analog channels) in NR1 format <status> ::= {<PS000XA_status> | <N2893A_status>} <PS000XA_status> ::= {Laser Error | Sensor Head Error | Calibrating | OK} <N2893A_status> ::= {Calibrating | OK}
:CHANnel<n>:PROBe:STYPe <signal type> | :CHANnel<n>:PROBe:STYPe? | <signal type> ::= {DIFFerential | SINGle | ISOLated} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROBe:ZOOM {{0 | OFF} | {1 | ON}} | :CHANnel<n>:PROBe:ZOOM? | <setting> ::= {0 | 1} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROTection | :CHANnel<n>:PROTection? | {NORM | TRIP} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:RANGe <range>[suffix] | :CHANnel<n>:RANGe? | <range> ::= Vertical full-scale range value in NR3 format [suffix] ::= {V | mV} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:UNITs <units> | :CHANnel<n>:UNITs? | <units> ::= {VOLT | AMPere} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:VERNier {{0 | OFF} | {1 | ON}} | :CHANnel<n>:VERNier? | {0 | 1} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:WINDow:OFFSet <offset> [<suffix>] | :CHANnel<n>:WINDow:OFFSet? | <n> ::= 1 to (# analog channels) in NR1 format <offset> ::= Vertical offset value in NR3 format <suffix> ::= {V | mV}
:CHANnel<n>:WINDow:SCALe <scale>[<suffix>] | :CHANnel<n>:WINDow:SCALe? | <n> ::= 1 to (# analog channels) in NR1 format <scale> ::= Vertical units per division in NR3 format <suffix> ::= {V | mV}

:CLOCk Commands Summary:

Command | Query | Options and Query Returns
:CLOCk {{0 | OFF} | {1 | ON}} | :CLOCk? | {0 | 1}
:CLOCk:METHod <method> | :CLOCk:METHod? | <method> ::= {<fixed> | <fopll> | <sopll> | <explicit>} <fixed> ::= FIXed, {AUTO | SEMI[, <data_rate>] | <data_rate>} <fopll> ::= FOPLL, <data_rate>, <loop_bandwidth> <sopll> ::= SOPLL, <data_rate>, <loop_bandwidth>, <damping_factor> <explicit> ::= EXPLicit, <source>, {RISing | FALLing | BOTH}[, <multiplier>] <data_rate> ::= the data signal's expected bits/second rate in NR3 format <loop_bandwidth> ::= the -3 dB bandwidth specification of PLL in NR3 format <damping_factor> ::= of the PLL's observed jitter transfer function in NR3 format <source> ::= explicit clock source, CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <multiplier> ::= explicit clock multiplier from 1 to 1000 in NR1 format

:COUNter<c> Commands Summary:

Command | Query | Options and Query Returns
n/a | :COUNter<c>:CURRent? | <c> ::= {1 | 2 | 3 | 4} <value> ::= current counter value in NR3 format
:COUNter<c>:ENABle {{0 | OFF} | {1 | ON}} | :COUNter<c>:ENABle? | <c> ::= {1 | 2 | 3 | 4} {0 | 1}
:COUNter<c>:MODE <mode> | :COUNter<c>:MODE | <c> ::= {1 | 2 | 3 | 4} <mode> ::= {FREQuency | PERiod | TOTalize}
:COUNter<c>:NDIGits <value> | :COUNter<c>:NDIGits | <c> ::= {1 | 2 | 3 | 4} <value> ::= 3 to 8 in NR1 format
:COUNter<c>:SOURce <source> | :COUNter<c>:SOURce? | <c> ::= {1 | 2 | 3 | 4} <source> ::= {CHANnel<n> | TQEVent} <n> ::= 1 to (# analog channels) in NR1 format
:COUNter<c>:TOTalize:CLEar | n/a | <c> ::= {1 | 2 | 3 | 4}
:COUNter<c>:TOTalize:SLOPe <slope> | :COUNter<c>:TOTalize:SLOPe? | <c> ::= {1 | 2 | 3 | 4} <slope> ::= {{NEGative | FALLing} | {POSitive | RISing}}

:DEMO Commands Summary:

Command | Query | Options and Query Returns
:DEMO:FUNCtion <signal> | :DEMO:FUNCtion? | <signal> ::= {SINusoid | RINGing | CLK | JITTer | RUNT | TRANsition | NMONotonic | CAN | CFD | LIN | USBPd | ARINc | MIL | SENT}
:DEMO:OUTPut {{0 | OFF} | {1 | ON}} | :DEMO:OUTPut? | {0 | 1}

:DIGital<d> Commands Summary:

Command | Query | Options and Query Returns
:DIGital:ORDer:ASCending | n/a | n/a
:DIGital:ORDer:DESCending | n/a | n/a
:DIGital:ORDer[:SET] <digital_channels_list> | :DIGital:ORDer[:SET]? | <digital_channels_list> ::= comma-separated list, e.g., DIGital<d>,DIGital<d>,.. <d> ::= 0 to (# digital channels - 1) in NR1 format
:DIGital<d>:DISPlay {{0 | OFF} | {1 | ON}} | :DIGital<d>:DISPlay? | <d> ::= 0 to (# digital channels - 1) in NR1 format {0 | 1}
:DIGital<d>:LABel <string> | :DIGital<d>:LABel? | <d> ::= 0 to (# digital channels - 1) in NR1 format <string> ::= any series of 32 or less ASCII characters enclosed in quotation marks
n/a | :DIGital<d>:SETup? | <d> ::= 0 to (# digital channels - 1) in NR1 format Returns setup information string, for example, ":DIG0:DISP 1;THR +1.40E+00"
:DIGital<d>:SIZE <value> | :DIGital<d>:SIZE? | <d> ::= 0 to (# digital channels - 1) in NR1 format <value> ::= {SMALl | MEDium | LARGe}
:DIGital<d>:THReshold <value>[suffix] | :DIGital<d>:THReshold? | <d> ::= 0 to (# digital channels - 1) in NR1 format <value> ::= {CMOS | ECL | TTL | <user defined value>} <user defined value> ::= value in NR3 format from -8.00 to +8.00 [suffix] ::= {V | mV | uV}

:DISPlay Commands Summary:

Command | Query | Options and Query Returns
:DISPlay:ANNotation<n> {{0 | OFF} | {1 | ON}} | :DISPlay:ANNotation<n>? | {0 | 1} <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:BACKground <mode> | :DISPlay:ANNotation<n>:BACKground? | <mode> ::= {OPAQue | INVerted | TRANsparent} <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:COLor <color> | :DISPlay:ANNotation<n>:COLor? | <color> ::= {CH1 | CH2 | CH3 | CH4 | DIG | MATH | REF | MARKer | WHITe | RED} <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:GRID <number> | :DISPlay:ANNotation<n>:GRID? | <number> ::= an integer from 1 to 20 in NR1 format. <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:MODE <mode> | :DISPlay:ANNotation<n>:MODE? | <mode> ::= {GRID | SOURce} <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:SOURce <source> | :DISPlay:ANNotation<n>:SOURce? | <source> ::= {CHANnel<n> | WMEMory<n> | FUNCtion<n> | FFT | DIGital<n>} <n> ::= an integer in NR1 format.
:DISPlay:ANNotation<n>:TEXT <string> | :DISPlay:ANNotation<n>:TEXT? | <string> ::= quoted ASCII string (up to 254 characters) <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:XPOSition <value> | :DISPlay:ANNotation<n>:XPOSition? | <value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid width. <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:YPOSition <value> | :DISPlay:ANNotation<n>:YPOSition? | <value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid height. <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:BACKlight {{0 | OFF} | {1 | ON}} | n/a | n/a
:DISPlay:CLEar | n/a | n/a
:DISPlay:CLOCk:IGRid {{0 | OFF} | {1 | ON}} | :DISPlay:CLOCk:IGRid? | <setting> ::= {0 | 1}
:DISPlay:CLOCk:IGRid:XPOSition <value> | :DISPlay:CLOCk:IGRid:XPOSition? | <value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid width.
:DISPlay:CLOCk:IGRid:YPOSition <value> | :DISPlay:CLOCk:IGRid:YPOSition? | <value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid height.
:DISPlay:CLOCk[:STATe] {{0 | OFF} | {1 | ON}} | :DISPlay:CLOCk[:STATe]? | <setting> ::= {0 | 1}
n/a | :DISPlay:DATA? [<format>] | <format> ::= {BMP | PNG} <display data> ::= data in IEEE 488.2 # format
:DISPlay:DIALog:CLOSe | n/a | n/a
:DISPlay:DIALog:TRANsparent {{0 | OFF} | {1 | ON}} | :DISPlay:DIALog:TRANsparent? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:ALABels {{0 | OFF} | {1 | ON}} | :DISPlay:GRATicule:ALABels? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:ALABels:DUAL {{0 | OFF} | {1 | ON}} | :DISPlay:GRATicule:ALABels:DUAL? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:ALABels:IGRid {{0 | OFF} | {1 | ON}} | :DISPlay:GRATicule:ALABels:IGRid? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:COUNt <value> | :DISPlay:GRATicule:COUNt? | <num_grids> ::= an integer from 1 to 4 in NR1 format.
:DISPlay:GRATicule:FSCReen {{0 | OFF} | {1 | ON}} | :DISPlay:GRATicule:FSCReen? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:INTensity <value> | :DISPlay:GRATicule:INTensity? | <value> ::= an integer from 0 to 100 in NR1 format.
:DISPlay:GRATicule:LAYout <type> | :DISPlay:GRATicule:LAYout? | <type> ::= {STACked | TILed | OVERlay | CUSTom}
:DISPlay:GRATicule:SET <source>,<grid> | n/a | <source> ::= {CHANnel<n> | WMEMory<n> | FUNCtion<n> | FFT | {PBUS<n> | SBUS<n>} | GAIN | PHASe} <grid> ::= a grid number integer from 1 to 4 in NR1 format.
n/a | :DISPlay:GRATicule:SOURce? <grid> | <grid> ::= a grid number integer from 1 to 4 in NR1 format. Returns: <sources> ::= comma-separated list of the waveforms displayed in the grid. Can contain items like: CHAN<n>, WMEM<n>, FUNC<n>, FFT, SBUS<n>, GAIN, PHASe
:DISPlay:INTensity:WAVeform <value> | :DISPlay:INTensity:WAVeform? | <value> ::= an integer from 0 to 100 in NR1 format.
:DISPlay:LABel {{0 | OFF} | {1 | ON}} | :DISPlay:LABel? | {0 | 1}
:DISPlay:LABList <binary block> | :DISPlay:LABList? | <binary block> ::= an ordered list of up to 75 labels, each 10 characters maximum, separated by newline characters
:DISPlay:MESSage:CLEar | n/a | n/a
:DISPlay:PERSistence <value> | :DISPlay:PERSistence? | <value> ::= {MINimum | INFinite | <time>} <time> ::= seconds in in NR3 format from 100E-3 to 60E0
:DISPlay:PERSistence:CLEar | n/a | n/a
n/a | :DISPlay:RESults:CATalog? | <windows> ::= list of the results windows displayed from left to right. Can contain: MEAS, MARK, HIST, DVM, COUN, LIST, MTES, FRAN
:DISPlay:RESults:LAYout <format> | :DISPlay:RESults:LAYout? | <format> ::= {TAB | LIST}
:DISPlay:RESults:LAYout:LIST[:SELect] <results_window> | :DISPlay:RESults:LAYout:LIST[:SELect]? | <results_window> ::= {MEAS | MARK | HIST | DVM | COUN | LIST | MTES | FRAN}
:DISPlay:RESults:LAYout:TAB:LEFT[:SELect] <results_window> | :DISPlay:RESults:LAYout:TAB:LEFT[:SELect]? | <results_window> ::= {MEAS | MARK | HIST | DVM | COUN | LIST | MTES | FRAN}
:DISPlay:RESults:LAYout:TAB:RIGHt[:SELect] <results_window> | :DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]? | <results_window> ::= {MEAS | MARK | HIST | DVM | COUN | LIST | MTES | FRAN}
:DISPlay:RESults:SIZE <size> | :DISPlay:RESults:SIZE? | <size> ::= {CUSTom,<height> | FULL | HIDDen} <height> ::= a pixel height integer from 36 to 1024 in NR1 format.
:DISPlay:TRANsparent {OFF | ON} | :DISPlay:TRANsparent? | {OFF | ON}
:DISPlay:VECTors {{0 | OFF} | {1 | ON}} | :DISPlay:VECTors? | {0 | 1}
:DISPlay:XYColor <xy_color_scheme> | :DISPlay:XYColor? | <xy_color_scheme> ::= {VIRidis | HOT | ABYSs | SKY | INFerno}

:DVM Commands Summary:

Command | Query | Options and Query Returns
:DVM:ARANge {{0 | OFF} | {1 | ON}} | :DVM:ARANge? | {0 | 1}
n/a | :DVM:CURRent? | <dvm_value> ::= floating-point number in NR3 format
:DVM:ENABle {{0 | OFF} | {1 | ON}} | :DVM:ENABle? | {0 | 1}
n/a | :DVM:FREQuency? | <freq_value> ::= floating-point number in NR3 format
:DVM:MODE <mode> | :DVM:MODE? | <dvm_mode> ::= {ACRMs | DC | DCRMs | FREQuency}
:DVM:SOURce <source> | :DVM:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format

:EXTernal Trigger Commands Summary:

Command | Query | Options and Query Returns
:EXTernal:BWLimit <bwlimit> | :EXTernal:BWLimit? | <bwlimit> ::= {0 | OFF}
:EXTernal:PROBe <attenuation> | :EXTernal:PROBe? | <attenuation> ::= probe attenuation ratio in NR3 format
:EXTernal:RANGe <range>[<suffix>] | :EXTernal:RANGe? | <range> ::= vertical full-scale range value in NR3 format <suffix> ::= {V | mV}
:EXTernal:UNITs <units> | :EXTernal:UNITs? | <units> ::= {VOLT | AMPere}

:FFT Commands Summary:

Command | Query | Options and Query Returns
:FFT:AVERage:COUNt <count> | :FFT:AVERage:COUNt? | <count> ::= an integer from 2 to 65536 in NR1 format.
n/a | :FFT:BSIZe? | <bin_size> ::= the FFT resolution as a bin size frequency width in NR3 format.
:FFT:CENTer <frequency> | :FFT:CENTer? | <frequency> ::= the current center frequency in NR3 format. The range of legal values is from -25 GHz to 25 GHz.
:FFT:CLEar | n/a | n/a
:FFT:DETection:POINts <pts_per_span> | :FFT:DETection:POINts? | <pts_per_span> ::= an integer from 640 to 65536 in NR1 format.
:FFT:DETection:TYPE <detection> | :FFT:DETection:TYPE? | <detection> ::= {OFF | SAMPle | PPOSitive | PNEGative | AVERage | NORMal}
:FFT:DISPlay {{0 | OFF} | {1 | ON}} | :FFT:DISPlay? | <s> ::= 1-6, in NR1 format. {0 | 1}
:FFT:DMODe <display_mode> | :FFT:DMODe? | <display_mode> ::= {NORMal | AVERage | MAXHold | MINHold}
:FFT:FREQuency:STARt <frequency> | :FFT:FREQuency:STARt? | <frequency> ::= the start frequency in NR3 format.
:FFT:FREQuency:STOP <frequency> | :FFT:FREQuency:STOP? | <frequency> ::= the stop frequency in NR3 format.
:FFT:GATE <gating> | :FFT:GATE? | <gating> ::= {NONE | ZOOM | MARKers}
:FFT:OFFSet <offset> | :FFT:OFFSet? | <offset> ::= the value at center screen in NR3 format.
:FFT:RANGe <range> | :FFT:RANGe? | <range> ::= the full-scale vertical axis value in NR3 format.
n/a | :FFT:RBWidth? | <resolution_bw> ::= the FFT resolution as a resolution bandwidth frequency in NR3 format.
:FFT:READout <type> | :FFT:READout? | <type> ::= {OFF | SRATe | BSIZe | RBWidth}
:FFT:REFerence <level> | :FFT:REFerence? | <level> ::= the current reference level in NR3 format.
:FFT:SCALe <scale value>[<suffix>] | :FFT:SCALe? | <scale_value> ::= integer in NR1 format. <suffix> ::= dB
:FFT:SOURce <source> | :FFT:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format. <m> ::= 1 to (# math functions) in NR1 format
:FFT:SPAN <span> | :FFT:SPAN? | <span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.
n/a | :FFT:SRATe? | <sample_rate> ::= the FFT resolution as a sample rate frequency in NR3 format.
:FFT:VTYPe <units> | :FFT:VTYPe? | <units> ::= {DECibel | VRMS}
:FFT:WINDow <window> | :FFT:WINDow? | <window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett}
:FFTMax:OFFSet <offset>[<suffix>] | :FFTMax:OFFSet? | <offset> ::= the value at center screen in NR3 format. <suffix> ::= {dB | mdB | udB}
:FFTMax:RESet | n/a | n/a
:FFTMax:SCALe <scale_value>[<suffix>] | :FFTMax:SCALe? | <scale_value> ::= floating-point value in NR3 format. <suffix> ::= {dB | mdB | udB}
:FFTMax:STATe {{0 | OFF} | {1 | ON}} | :FFTMax:STATe? | <setting> ::= {0 | 1}

:FRANalysis Commands Summary:

Command | Query | Options and Query Returns
n/a | :FRANalysis:DATA? [SWEep | SINGle] | <binary_block> ::= comma-separated data with newlines at the end of each row
:FRANalysis:ENABle {{0 | OFF} | {1 | ON}} | :FRANalysis:ENABle? | {0 | 1}
:FRANalysis:FREQuency:MODE <setting> | :FRANalysis:FREQuency:MODE? | <setting> ::= {SWEep | SINGle}
:FRANalysis:FREQuency:SINGle <value>[suffix] | :FRANalysis:FREQuency:SINGle? | <value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 2000000} [suffix] ::= {Hz | kHz| MHz}
:FRANalysis:FREQuency:STARt <value>[suffix] | :FRANalysis:FREQuency:STARt? | <value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000} [suffix] ::= {Hz | kHz| MHz}
:FRANalysis:FREQuency:STOP <value>[suffix] | :FRANalysis:FREQuency:STOP? | <value> ::= {100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000} [suffix] ::= {Hz | kHz| MHz}
:FRANalysis:PPDecade <value> | :FRANalysis:PPDecade? | <value> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}
:FRANalysis:RUN | n/a | n/a
:FRANalysis:SOURce:INPut <source> | :FRANalysis:SOURce:INPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:FRANalysis:SOURce:OUTPut <source> | :FRANalysis:SOURce:OUTPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:FRANalysis:SWEep:POINts <points> | :FRANalysis:SWEep:POINts? | <points> ::= integer from 1-1000 in NR1 format
:FRANalysis:TRACe <selection> | :FRANalysis:TRACe? | <selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]
:FRANalysis:WGEN:LOAD <impedance> | :FRANalysis:WGEN:LOAD? | <impedance> ::= {ONEMeg | FIFTy}
:FRANalysis:WGEN:VOLTage <amplitude>,[<range>] | :FRANalysis:WGEN:VOLTage? [<range>] | <amplitude> ::= amplitude in volts in NR3 format <range> ::= {F20HZ | F100HZ | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | F20MHZ}
:FRANalysis:WGEN:VOLTage:OFFSet <offset> | :FRANalysis:WGEN:VOLTage:OFFSet? | <offset> ::= offset in volts in NR3 format
:FRANalysis:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}} | :FRANalysis:WGEN:VOLTage:PROFile? | {0 | 1}

:FUNCtion<m> Commands Summary:

Command | Query | Options and Query Returns
:FUNCtion<m>:AUTosetup | n/a | n/a
:FUNCtion<m>:AUTosetup:ENABle {{0 | OFF} | {1 | ON}} | :FUNCtion<m>:AUTosetup:ENABle? | <m> ::= 1 to (# math functions) in NR1 format <setting> ::= {0 | 1}
:FUNCtion<m>:AVERage:COUNt <count> | :FUNCtion<m>:AVERage:COUNt? | <count> ::= an integer from 2 to 65536 in NR1 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:CLOCk <source> | :FUNCtion<m>:BUS:CLOCk? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:SLOPe <slope> | :FUNCtion<m>:BUS:SLOPe? | <slope> ::= {NEGative | POSitive | EITHer} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:YINCrement <value> | :FUNCtion<m>:BUS:YINCrement? | <value> ::= value per bus code, in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:YORigin <value> | :FUNCtion<m>:BUS:YORigin? | <value> ::= value at bus code = 0, in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:YUNits <units> | :FUNCtion<m>:BUS:YUNits? | <units> ::= {VOLT | AMPere | NONE} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:CLEar | n/a | n/a
:FUNCtion<m>:DISPlay {{0 | OFF} | {1 | ON}} | :FUNCtion<m>:DISPlay? | {0 | 1} <m> ::= 1 to (# math functions) in NR1 format
n/a | :FUNCtion<m>[:FFT]:BSIZe? | <bin_size> ::= Hz in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:CENTer <frequency> | :FUNCtion<m>[:FFT]:CENTer? | <frequency> ::= the current center frequency in NR3 format. The range of legal values is from -25 GHz to 25 GHz. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:DETection:POINts <number_of_buckets> | :FUNCtion<m>[:FFT]:DETection:POINts? | <number_of_buckets> ::= an integer in NR1 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:DETection:TYPE <type> | :FUNCtion<m>[:FFT]:DETection:TYPE? | <type> ::= {OFF | SAMPle | PPOSitive | PNEGative | NORMal | AVERage} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:FREQuency:STARt <frequency> | :FUNCtion<m>[:FFT]:FREQuency:STARt? | <frequency> ::= the start frequency in NR3 format. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:FREQuency:STOP <frequency> | :FUNCtion<m>[:FFT]:FREQuency:STOP? | <frequency> ::= the stop frequency in NR3 format. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:FFT:GATE <gating> | :FUNCtion<m>:FFT:GATE? | <gating> ::= {NONE | ZOOM | MARKers} <m> ::= 1-4 in NR1 format
:FUNCtion<m>[:FFT]:PHASe:REFerence <ref_point> | :FUNCtion<m>[:FFT]:PHASe:REFerence? | <ref_point> ::= {TRIGger | DISPlay} <m> ::= 1-4 in NR1 format
n/a | :FUNCtion<m>[:FFT]:RBWidth? | <resolution_bw> ::= Hz in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:READout<n> <readout_type> | :FUNCtion<m>[:FFT]:READout<n>? | <readout_type> ::= {SRATe | BSIZe | RBWidth} <m> ::= 1 to (# math functions) in NR1 format <n> ::= 1-2 in NR1 format, 2 is for dedicated FFT function
:FUNCtion<m>[:FFT]:SPAN <span> | :FUNCtion<m>[:FFT]:SPAN? | <span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz. <m> ::= 1 to (# math functions) in NR1 format
n/a | :FUNCtion<m>[:FFT]:SRATe? | <sample_rate> ::= Hz in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:VTYPe <units> | :FUNCtion<m>[:FFT]:VTYPe? | <units> ::= {DECibel | VRMS} for the FFT (magnitude) operation <units> ::= {DEGRees | RADians} for the FFTPhase operation <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:WINDow <window> | :FUNCtion<m>[:FFT]:WINDow? | <window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:FREQuency:BANDpass:CENTer <center_freq> | :FUNCtion<m>:FREQuency:BANDpass:CENTer? | <center_freq> ::= center frequency of band-pass filter in NR3 format
:FUNCtion<m>:FREQuency:BANDpass:WIDTh <freq_width> | :FUNCtion<m>:FREQuency:BANDpass:WIDth? | <freq_width> ::= frequency width of band-pass filter in NR3 format
:FUNCtion<m>:FREQuency:HIGHpass <3dB_freq> | :FUNCtion<m>:FREQuency:HIGHpass? | <3dB_freq> ::= 3dB cutoff frequency value in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:FREQuency:LOWPass <3dB_freq> | :FUNCtion<m>:FREQuency:LOWPass? | <3dB_freq> ::= 3dB cutoff frequency value in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:GATE <gating> | :FUNCtion<m>:GATE? | <gating> ::= {NONE | ZOOM | BOTH | MARKers} <m> ::= 1-4 in NR1 format
:FUNCtion<m>:INTegrate:IICondition {{0 | OFF} | {1 | ON}} | :FUNCtion<m>:INTegrate:IICondition? | {0 | 1} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:INTegrate:IOFFset <input_offset> | :FUNCtion<m>:INTegrate:IOFFset? | <input_offset> ::= DC offset correction in NR3 format. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:LABel <string> | :FUNCtion<m>:LABel? | <string> ::= quoted ASCII string
:FUNCtion<m>:LINear:GAIN <value> | :FUNCtion<m>:LINear:GAIN? | <value> ::= 'A' in Ax + B, value in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:LINear:OFFSet <value> | :FUNCtion<m>:LINear:OFFSet? | <value> ::= 'B' in Ax + B, value in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:OFFSet <offset> | :FUNCtion<m>:OFFSet? | <offset> ::= the value at center screen in NR3 format. The range of legal values is +/-10 times the current sensitivity of the selected function. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:OPERation <operation> | :FUNCtion<m>:OPERation? | <operation> ::= {ADD | SUBTract | MULTiply | DIVide | INTegrate | DIFF | FFT | FFTPhase | SQRT | MAGNify | ABSolute | SQUare | LN | LOG | EXP | TEN | LOWPass | HIGHpass | BANDpass | AVERage | LINear | MAXimum | MINimum | PEAK | MAXHold | MINHold | TRENd} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:RANGe <range> | :FUNCtion<m>:RANGe? | <range> ::= the full-scale vertical axis value in NR3 format. The range for ADD, SUBT, MULT is 8E-6 to 800E+3. The range for the INTegrate function is 8E-9 to 400E+3. The range for the DIFF function is 80E-3 to 8.0E12 (depends on current sweep speed). The range for the FFT function is 8 to 800 dBV. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:REFerence <level> | :FUNCtion<m>:REFerence? | <level> ::= the value at center screen in NR3 format. The range of legal values is +/-10 times the current sensitivity of the selected function. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:SCALe <scale value>[<suffix>] | :FUNCtion<m>:SCALe? | <scale value> ::= integer in NR1 format <suffix> ::= {V | dB} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:SMOoth:POINts <points> | :FUNCtion<m>:SMOoth:POINts? | <points> ::= odd integer in NR1 format
:FUNCtion<m>:SOURce1 <source> | :FUNCtion<m>:SOURce1? | <source> ::= {CHANnel<n> | FUNCtion<c> | MATH<c> | WMEMory<r> | BUS<b>} <n> ::= 1 to (# analog channels) in NR1 format <c> ::= {1 | 2 | 3}, must be lower than <m> <r> ::= 1 to (# ref waveforms) in NR1 format <b> ::= {1 | 2} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:SOURce2 <source> | :FUNCtion<m>:SOURce2? | <source> ::= {CHANnel<n> | WMEMory<r> | NONE} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:TRENd:NMEasurement MEAS<n> | :FUNCtion<m>:TRENd:NMEasurement? | <n> ::= # of installed measurement, from 1 to 8 <m> ::= 1 to (# math functions) in NR1 format

:HCOPy Commands Summary:

Command | Query | Options and Query Returns
n/a | :HCOPy:SDUMp:DATA? | <display_data> ::= binary block data in IEEE-488.2 # format.
:HCOPy:SDUMp[:DATA]:FORMat <format> | :HCOPy:SDUMp[:DATA]:FORMat? | <format> ::= {BMP | PNG}

:HISTogram Commands Summary:

Command | Query | Options and Query Returns
:HISTogram:AXIS <axis> | :HISTogram:AXIS? | <axis> ::= {VERTical | HORizontal}
:HISTogram:DISPlay {{0 | OFF} | {1 | ON}} | :HISTogram:DISPlay? | {0 | 1}
:HISTogram:MEASurement MEAS<n> | :HISTogram:MEASurement? | <n> ::= # of installed measurement, from 1 to 10
:HISTogram:MODE <mode> | :HISTogram:MODE? | <mode> ::= {OFF | WAVeform | MEASurement}
:HISTogram:RESet | n/a | n/a
:HISTogram:SIZE <size> | :HISTogram:SIZE? | <size> ::= 1.0 to 5.0 for vertical histograms, 1.0 to 4.0 for horizontal histograms, in NR3 format
:HISTogram:TYPE <type> | :HISTogram:TYPE? | <type> ::= {VERTical | HORizontal | MEASurement}
:HISTogram:WINDow:BLIMit <limit> | :HISTogram:WINDow:BLIMit? | <limit> ::= bottom value in NR3 format
:HISTogram:WINDow:LLIMit <limit> | :HISTogram:WINDow:LLIMit? | <limit> ::= left value in NR3 format
:HISTogram:WINDow:RLIMit <limit> | :HISTogram:WINDow:RLIMit? | <limit> ::= right value in NR3 format
:HISTogram:WINDow:SOURce <source> | :HISTogram:WINDow:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:HISTogram:WINDow:TLIMit <limit> | :HISTogram:WINDow:TLIMit? | <limit> ::= top value in NR3 format

:JITTer Commands Summary:

Command | Query | Options and Query Returns
:JITTer:HISTogram:APPLy | n/a | n/a
:JITTer:MEASurement MEAS<n> | :JITTer:MEASurement? | <n> ::= # of installed measurement, from 1 to 10
:JITTer:SPECtrum:APPLy | n/a | n/a
:JITTer:SPECtrum:HORizontal:POSition <value> | :JITTer:SPECtrum:HORizontal:POSition? | <value> ::= X position (center), in NR3 format
:JITTer:SPECtrum:HORizontal:RANGe <value> | :JITTer:SPECtrum:HORizontal:RANGe? | <value> ::= X scaling (span), in NR3 format
:JITTer:SPECtrum:VERTical:OFFSet <value> | :JITTer:SPECtrum:VERTical:OFFSet? | <value> ::= Y offset, in NR3 format
:JITTer:SPECtrum:VERTical:RANGe <value> | :JITTer:SPECtrum:VERTical:RANGe? | <value> ::= Y scaling, in NR3 format
:JITTer:SPECtrum:VERTical:TYPE <type> | :JITTer:SPECtrum:VERTical:TYPE? | <type> ::= {DECibel | VRMS}
:JITTer:SPECtrum:WINDow <window> | :JITTer:SPECtrum:WINDow? | <window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett}
:JITTer:STATe {{0 | OFF} | {1 | ON}} | :JITTer:STATe? | {0 | 1}
:JITTer:TRENd:APPLy | n/a | n/a
:JITTer:TRENd:SMOoth:APPLy | n/a | n/a
:JITTer:TRENd:SMOoth:POINts <points> | :JITTer:TRENd:SMOoth:POINts? | <points> ::= odd integer in NR1 format
:JITTer:TRENd:VERTical:OFFSet <value> | :JITTer:TRENd:VERTical:OFFSet? | <value> ::= Y offset, in NR3 format
:JITTer:TRENd:VERTical:RANGe <value> | :JITTer:TRENd:VERTical:RANGe? | <value> ::= Y scaling, in NR3 format

:LISTer Commands Summary:

Command | Query | Options and Query Returns
n/a | :LISTer:DATA? | <binary_block> ::= comma-separated data with newlines at the end of each row
:LISTer:DISPlay {{OFF | 0} | {PBUS1 | SBUS1 | ON | 1} | {PBUS2 | SBUS2 | 2} | ALL} | :LISTer:DISPlay? | {OFF | PBUS1 | PBUS2 | ALL}
:LISTer:REFerence <time_ref> | :LISTer:REFerence? | <time_ref> ::= {TRIGger | PREVious}

:LTESt Commands Summary:

Command | Query | Options and Query Returns
:LTESt:COPY | n/a | n/a
:LTESt:COPY:ALL | n/a | n/a
:LTESt:COPY:MARGin <percent> | :LTESt:COPY:MARGin? | <percent> ::= copy margin percent in NR1 format
:LTESt:ENABle {{0 | OFF} | {1 | ON}} | :LTESt:ENABle? | <setting> ::= {0 | 1}
:LTESt:FAIL <condition> | :LTESt:FAIL? | <condition> ::= {INSide | OUTSide}
:LTESt:LLIMit <lower_value> | :LTESt:LLIMit? | <lower_value> ::= a real number in NR3 format
:LTESt:MEASurement {MEAS<n>} | :LTESt:MEASurement? | <n> ::= # of installed measurement, from 1 to 10
n/a | :LTESt:RESults? [{MEAS<n>}] | <n> ::= # of installed measurement, from 1 to 10
:LTESt:RUMode:SOFailure {{0 | OFF} | {1 | ON}} | :LTESt:RUMode:SOFailure? | <setting> ::= {0 | 1}
:LTESt:TEST {{0 | OFF} | {1 | ON}} | :LTESt:TEST? | <setting> ::= {0 | 1}
:LTESt:ULIMit <upper_value> | :LTESt:ULIMit? | <upper_value> ::= a real number in NR3 format

:MARKer Commands Summary:

Command | Query | Options and Query Returns
n/a | :MARKer:DYDX? | <return_value> ::= ∆Y/∆X value in NR3 format
:MARKer:MODE <mode> | :MARKer:MODE? | <mode> ::= {OFF | MEASurement | MANual | WAVeform | BINary | HEX}
:MARKer:X1:DISPlay {{0 | OFF} | {1 | ON}} | :MARKer:X1:DISPlay? | <setting> ::= {0 | 1}
:MARKer:X1Position <position>[suffix] | :MARKer:X1Position? | <position> ::= X1 cursor position value in NR3 format [suffix] ::= {s | ms | us | ns | ps | Hz | kHz | MHz} <return_value> ::= X1 cursor position value in NR3 format
:MARKer:X1Y1source <source> | :MARKer:X1Y1source? | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r> | HISTogram} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= <source>
:MARKer:X2:DISPlay {{0 | OFF} | {1 | ON}} | :MARKer:X2:DISPlay? | <setting> ::= {0 | 1}
:MARKer:X2Position <position>[suffix] | :MARKer:X2Position? | <position> ::= X2 cursor position value in NR3 format [suffix] ::= {s | ms | us | ns | ps | Hz | kHz | MHz} <return_value> ::= X2 cursor position value in NR3 format
:MARKer:X2Y2source <source> | :MARKer:X2Y2source? | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r> | HISTogram} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= <source>
n/a | :MARKer:XDELta? | <return_value> ::= X cursors delta value in NR3 format
:MARKer:XUNits <mode> | :MARKer:XUNits? | <units> ::= {SEConds | HERTz | DEGRees | PERCent}
:MARKer:XUNits:USE | n/a | n/a
:MARKer:Y1:DISPlay {{0 | OFF} | {1 | ON}} | :MARKer:Y1:DISPlay? | <setting> ::= {0 | 1}
:MARKer:Y1Position <position>[suffix] | :MARKer:Y1Position? | <position> ::= Y1 cursor position value in NR3 format [suffix] ::= {V | mV | dB} <return_value> ::= Y1 cursor position value in NR3 format
:MARKer:Y2:DISPlay {{0 | OFF} | {1 | ON}} | :MARKer:Y2:DISPlay? | <setting> ::= {0 | 1}
:MARKer:Y2Position <position>[suffix] | :MARKer:Y2Position? | <position> ::= Y2 cursor position value in NR3 format [suffix] ::= {V | mV | dB} <return_value> ::= Y2 cursor position value in NR3 format
n/a | :MARKer:YDELta? | <return_value> ::= Y cursors delta value in NR3 format
:MARKer:YUNits <mode> | :MARKer:YUNits? | <units> ::= {BASE | PERCent}
:MARKer:YUNits:USE | n/a | n/a

:MEASure Commands Summary:

Command | Query | Options and Query Returns
:MEASure:AREa [<interval>][,<source>] | :MEASure:AREa? [<interval>][,<source>] | <interval> ::= {CYCLe | DISPlay} <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= area in volt-seconds, NR3 format
:MEASure:BRATe [<source>] | :MEASure:BRATe? [<source>] | <source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <digital channels> ::= DIGital<d> <d> ::= 0 to (# digital channels - 1) in NR1 format <n> ::= 1 to (# of analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= bit rate in Hz, NR3 format
:MEASure:BWIDth [<source>] | :MEASure:BWIDth? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= burst width in seconds, NR3 format
:MEASure:CLEar | n/a | n/a
:MEASure:COUNter [<source>] | :MEASure:COUNter? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= counter frequency in Hertz in NR3 format
:MEASure:CTCNwidth [<source>] | :MEASure:CTCNwidth? [<source>] | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= -Width to -Width jitter in NR3 format
:MEASure:CTCPwidth [<source>] | :MEASure:CTCPwidth? [<source>] | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= +Width to +Width jitter in NR3 format
:MEASure:DELay [<source1>] [,<source2>] | :MEASure:DELay? [<source1>] [,<source2>] | <source1,2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r> | <digital channels>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <digital channels> ::= DIGital<d> <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= floating-point number delay time in seconds in NR3 format
:MEASure:DELay:DEFine <source1_edge_slope>, <source1_edge_number>, <source1_edge_threshold>, <source2_edge_slope>, <source2_edge_number>, <source2_edge_threshold> | :MEASure:DELay:DEFine? | <source1_edge_slope>, <source2_edge_slope> ::= {RISing | FALLing} <source1_edge_number>, <source2_edge_number> ::= 0 to 1000 in NR1 format <source1_edge_threshold>, <source2_edge_threshold> ::= {LOWer | MIDDle | UPPer}
:MEASure:DUTYcycle [<source>] | :MEASure:DUTYcycle? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= ratio of positive pulse width to period in NR3 format
:MEASure:FALLtime [<source>] | :MEASure:FALLtime? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= time in seconds between the lower and upper thresholds in NR3 format
:MEASure:FFT:ACPR <chan_width>, <chan_spacing>, <chan>[,<source>] | :MEASure:FFT:ACPR? <chan_width>, <chan_spacing>, <chan>[,<source>] | <chan_width> ::= width of main range and sideband channels, Hz in NR3 format <chan_spacing> ::= spacing between main range and sideband channels, Hz in NR3 format <chan> ::= {CENTer | HIGH<sb> | LOW<sb>} <sb> ::= sideband 1 to 5 <source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= adjacent channel power ratio, dBV in NR3 format
:MEASure:FFT:CPOWer [<source>] | :MEASure:FFT:CPOWer? [<source>] | <source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= spectral channel power, dBV in NR3 format
:MEASure:FFT:OBW <percentage>[,<source>] | :MEASure:FFT:OBW? <percentage>[,<source>] | <percentage> ::= percent of spectral power occupied bandwidth is measured for in NR3 format <source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= occupied bandwidth, Hz in NR3 format
:MEASure:FFT:THD [<source>] | :MEASure:FFT:THD? [<source>] | <source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= total harmonic distortion ratio percent in NR3 format
:MEASure:FREQuency [<source>] | :MEASure:FREQuency? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= frequency in Hertz in NR3 format
n/a | :MEASure:HISTogram:BWIDth? | <value> ::= bin width in NR3 format
n/a | :MEASure:HISTogram:HITS? | <value> ::= # of total hits in NR3 format
n/a | :MEASure:HISTogram:M1S? | <value> ::= % of hits within +/-1 std dev in NR3 format
n/a | :MEASure:HISTogram:M2S? | <value> ::= % of hits within +/-2 std devs in NR3 format
n/a | :MEASure:HISTogram:M3S? | <value> ::= % of hits within +/-3 std devs in NR3 format
n/a | :MEASure:HISTogram:MAXimum? | <value> ::= value of max bin in NR3 format
n/a | :MEASure:HISTogram:MEAN? | <value> ::= mean of histogram in NR3 format
n/a | :MEASure:HISTogram:MEDian? | <value> ::= median of histogram in NR3 format
n/a | :MEASure:HISTogram:MINimum? | <value> ::= value of min bin in NR3 format
n/a | :MEASure:HISTogram:MODE? | <value> ::= mode of histogram in NR3 format
n/a | :MEASure:HISTogram:PEAK? | <value> ::= # of hits in max bin in NR3 format
n/a | :MEASure:HISTogram:PPEak? | <value> ::= delta value between max bin and min bin in NR3 format
n/a | :MEASure:HISTogram:SDEViation? | <value> ::= standard deviation of histogram in NR3 format
:MEASure:HYSTeresis {{0 | OFF} | {1 | ON}} | :MEASure:HYSTeresis? | {0 | 1}
:MEASure:NCJitter <config> | :MEASure:NCJitter? <config> | <config> ::= <source>, <direction>, <num_periods> <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <direction> ::= {RISing | FALLing} <num_periods> ::= 1 to 10000 in NR1 format <return_value> ::= N-Period to N-Period jitter in NR3 format
:MEASure:NDUTy [<source>] | :MEASure:NDUTy? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= ratio of negative pulse width to period in NR3 format
:MEASure:NEDGes [<source>] | :MEASure:NEDGes? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the falling edge count in NR3 format
:MEASure:NPERiod <config> | :MEASure:NPERiod? <config> | <config> ::= <source>, <slope>, <num_periods> <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <slope> ::= {RISing | FALLing} <num_periods> ::= 1 to 10000 in NR1 format <return_value> ::= N-Period jitter in NR3 format
:MEASure:NPULses [<source>] | :MEASure:NPULses? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r> | <digital channels>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <digital channels> ::= DIGital<d> <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= the falling pulse count in NR3 format
:MEASure:NWIDth [<source>] | :MEASure:NWIDth? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= negative pulse width in seconds-NR3 format
:MEASure:OVERshoot [<source>] | :MEASure:OVERshoot? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the percent of the overshoot of the selected waveform in NR3 format
:MEASure:PEDGes [<source>] | :MEASure:PEDGes? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the rising edge count in NR3 format
:MEASure:PERiod [<source>] | :MEASure:PERiod? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= waveform period in seconds in NR3 format
:MEASure:PHASe [<source1>] [,<source2>] | :MEASure:PHASe? [<source1>] [,<source2>] | <source1,2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the phase angle value in degrees in NR3 format
:MEASure:PPULses [<source>] | :MEASure:PPULses? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r> | <digital channels>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <digital channels> ::= DIGital<d> <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= the rising pulse count in NR3 format
:MEASure:PREShoot [<source>] | :MEASure:PREShoot? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the percent of preshoot of the selected waveform in NR3 format
:MEASure:PWIDth [<source>] | :MEASure:PWIDth? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= width of positive pulse in seconds in NR3 format
:MEASure:QUICk <source> | n/a | <source> ::= {CHANnel<n>}
n/a | :MEASure:RESults? <result_list> | <result_list> ::= comma-separated list of measurement results
:MEASure:RISetime [<source>] | :MEASure:RISetime? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= rise time in seconds in NR3 format
:MEASure:SDEViation [<source>] | :MEASure:SDEViation? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= calculated std deviation in NR3 format
:MEASure:SHOW {{0 | OFF} | {1 | ON}} | :MEASure:SHOW? | {0 | 1}
:MEASure:SLEWrate [<source>[,<slope]] | :MEASure:SLEWrate? [<source>[,<slope]] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# of analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:MEASure:SOURce <source1> [,<source2>] | :MEASure:SOURce? | <source1,2> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= {<source> | NONE}
:MEASure:STATistics <type> | :MEASure:STATistics? | <type> ::= {{ON | 1} | CURRent | MEAN | MINimum | MAXimum | STDDev | COUNt} ON ::= all statistics returned
:MEASure:STATistics:DISPlay {{0 | OFF} | {1 | ON}} | :MEASure:STATistics:DISPlay? | {0 | 1}
:MEASure:STATistics:INCRement | n/a | n/a
:MEASure:STATistics:MCOunt <setting> | :MEASure:STATistics:MCOunt? | <setting> ::= {INFinite | <count>} <count> ::= 2 to 2000 in NR1 format
:MEASure:STATistics:RESet | n/a | n/a
:MEASure:STATistics:RSDeviation {{0 | OFF} | {1 | ON}} | :MEASure:STATistics:RSDeviation? | {0 | 1}
:MEASure:TEDGe [<slope>,]<occurrence>[,<source>] | :MEASure:TEDGe? [<slope>,]<occurrence>[,<source>] | <slope> ::= {RISing | FALLing | BOTH} <occurrence> ::= [+ | -]<number> <number> ::= the edge number in NR1 format <source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <digital channels> ::= DIGital<d> <n> ::= 1 to (# of analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= time in seconds of the specified transition
:MEASure:THResholds:ABSolute <upper>,<middle>,<lower> | :MEASure:THResholds:ABSolute? | <upper>,<middle>,<lower> ::= A number specifying the upper, middle, and lower threshold absolute values in NR3 format.
:MEASure:THResholds:METHod <threshold_mode> | :MEASure:THResholds:METHod? | <threshold_mode> ::= {PERCent | ABSolute}
:MEASure:THResholds:PERCent <upper>,<middle>,<lower> | :MEASure:THResholds:PERCent? | <upper>,<middle>,<lower> ::= A number specifying the upper, middle, and lower threshold percentage values between Vbase and Vtop in NR3 format.
:MEASure:THResholds:STANdard | n/a | n/a
:MEASure:TIEClock <config> | :MEASure:TIEClock? <config> | <config> ::= <source>, {SECond | UNITinterval}, <direction> <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <direction> ::= {RISing | FALLing | BOTH} <return_value> ::= Clock TIE jitter in NR3 format
:MEASure:TIEData <config> | :MEASure:TIEData? <config> | <config> ::= <source>, {SECond | UNITinterval} <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= Clock TIE jitter in NR3 format
n/a | :MEASure:TVALue? <value>, [<slope>]<occurrence> [,<source>] | <value> ::= voltage level that the waveform must cross. <slope> ::= direction of the waveform when <value> is crossed. <occurrence> ::= transitions reported. <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= time in seconds of specified voltage crossing in NR3 format
:MEASure:VAMPlitude [<source>] | :MEASure:VAMPlitude? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the amplitude of the selected waveform in volts in NR3 format
:MEASure:VAVerage [<interval>][,<source>] | :MEASure:VAVerage? [<interval>][,<source>] | <interval> ::= {CYCLe | DISPlay} <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= calculated average voltage in NR3 format
:MEASure:VBASe [<source>] | :MEASure:VBASe? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <base_voltage> ::= voltage at the base of the selected waveform in NR3 format
:MEASure:VMAX [<source>] | :MEASure:VMAX? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= maximum voltage of the selected waveform in NR3 format
:MEASure:VMIN [<source>] | :MEASure:VMIN? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= minimum voltage of the selected waveform in NR3 format
:MEASure:VPP [<source>] | :MEASure:VPP? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= voltage peak-to-peak of the selected waveform in NR3 format
:MEASure:VRATio [<interval>][,<source1>] [,<source2>] | :MEASure:VRATio? [<interval>][,<source1>] [,<source2>] | <interval> ::= {CYCLe | DISPlay} <source1,2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the ratio value in dB in NR3 format
:MEASure:VRMS [<interval>] [,<type>][,<source>] | :MEASure:VRMS? [<interval>] [,<type>][,<source>] | <interval> ::= {CYCLe | DISPlay} <type> ::= {AC | DC} <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= calculated dc RMS voltage in NR3 format
:MEASure:VTOP [<source>] | :MEASure:VTOP? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= voltage at the top of the waveform in NR3 format
:MEASure:WINDow <type> | :MEASure:WINDow? | <type> ::= {MAIN | ZOOM | AUTO | GATE}
:MEASure:XMAX [<source>] | :MEASure:XMAX? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= horizontal value of the maximum in NR3 format
:MEASure:XMIN [<source>] | :MEASure:XMIN? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= horizontal value of the minimum in NR3 format
:MEASure:YATX <horiz_location>[,<source>] | :MEASure:YATX? <horiz_location>[,<source>] | <horiz_location> ::= displayed time from trigger in seconds in NR3 format <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= voltage at the specified time in NR3 format

:MEASure Power Commands Summary:

Command | Query | Options and Query Returns
:MEASure:ANGLe [<source1>][,<source2>] | :MEASure:ANGLe? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the power phase angle in degrees in NR3 format
:MEASure:APParent [<source1>][,<source2>] | :MEASure:APParent? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the apparent power value in NR3 format
:MEASure:CPLoss [<source1>][,<source2>] | :MEASure:CPLoss? [<source1>][,<source2>] | <source1>, <source2> <source1> ::= {FUNCtion<m> | MATH<m>} <source2> ::= {CHANnel<n>} <m> ::= 1 to (# math functions) in NR1 format <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the switching loss per cycle watts value in NR3 format
:MEASure:CRESt [<source>] | :MEASure:CRESt? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= the crest factor value in NR3 format
:MEASure:EFFiciency | :MEASure:EFFiciency? | <return_value> ::= percent value in NR3 format
:MEASure:ELOSs [<source>] | :MEASure:ELOSs? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the energy loss value in NR3 format
:MEASure:FACTor [<source1>][,<source2>] | :MEASure:FACTor? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the power factor value in NR3 format
:MEASure:IPOWer | :MEASure:IPOWer? | <return_value> ::= the input power value in NR3 format
:MEASure:OFFTime [<source1>][,<source2>] | :MEASure:OFFTime? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the time in seconds in NR3 format
:MEASure:ONTime [<source1>][,<source2>] | :MEASure:ONTime? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the time in seconds in NR3 format
:MEASure:OPOWer | :MEASure:OPOWer? | <return_value> ::= the output power value in NR3 format
:MEASure:PCURrent [<source>] | :MEASure:PCURrent? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the peak current value in NR3 format
:MEASure:PLOSs [<source>] | :MEASure:PLOSs? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the power loss value in NR3 format
:MEASure:RDSon [<source1>][,<source2>] | :MEASure:RDSon? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the Rds(on) value in NR3 format
:MEASure:REACtive [<source1>][,<source2>] | :MEASure:REACtive? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the reactive power value in NR3 format
:MEASure:REAL [<source>] | :MEASure:REAL? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= the real power value in NR3 format
:MEASure:RIPPle [<source>] | :MEASure:RIPPle? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the output ripple value in NR3 format
:MEASure:TRESponse [<source>] | :MEASure:TRESponse? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= time in seconds for the overshoot to settle back into the band in NR3 format
:MEASure:VCESat [<source>] | :MEASure:VCESat? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the Vce(sat) value in NR3 format

:MTESt Commands Summary:

Command | Query | Options and Query Returns
:MTESt:ALL {{0 | OFF} | {1 | ON}} | :MTESt:ALL? | {0 | 1}
:MTESt:AMASk:CREate | n/a | n/a
:MTESt:AMASk:SOURce <source> | :MTESt:AMASk:SOURce? | <source> ::= CHANnel<n> <n> ::= {1 | 2 | 3 | 4} for 4ch models <n> ::= {1 | 2} for 2ch models
:MTESt:AMASk:UNITs <units> | :MTESt:AMASk:UNITs? | <units> ::= {CURRent | DIVisions}
:MTESt:AMASk:XDELta <value> | :MTESt:AMASk:XDELta? | <value> ::= X delta value in NR3 format
:MTESt:AMASk:YDELta <value> | :MTESt:AMASk:YDELta? | <value> ::= Y delta value in NR3 format
n/a | :MTESt:COUNt:FWAVeforms? [CHANnel<n>] | <failed> ::= number of failed waveforms in NR1 format
:MTESt:COUNt:RESet | n/a | n/a
n/a | :MTESt:COUNt:TIME? | <time> ::= elapsed seconds in NR3 format
n/a | :MTESt:COUNt:WAVeforms? | <count> ::= number of waveforms in NR1 format
:MTESt:DATA <mask> | :MTESt:DATA? | <mask> ::= data in IEEE 488.2 # format.
:MTESt:DELete | n/a | n/a
:MTESt:ENABle {{0 | OFF} | {1 | ON}} | :MTESt:ENABle? | {0 | 1}
:MTESt:LOCK {{0 | OFF} | {1 | ON}} | :MTESt:LOCK? | {0 | 1}
:MTESt:RMODe <rmode> | :MTESt:RMODe? | <rmode> ::= {FORever | TIME | SIGMa | WAVeforms}
:MTESt:RMODe:FACTion:MEASure {{0 | OFF} | {1 | ON}} | :MTESt:RMODe:FACTion:MEASure? | {0 | 1}
:MTESt:RMODe:FACTion:PRINt {{0 | OFF} | {1 | ON}} | :MTESt:RMODe:FACTion:PRINt? | {0 | 1}
:MTESt:RMODe:FACTion:SAVE {{0 | OFF} | {1 | ON}} | :MTESt:RMODe:FACTion:SAVE? | {0 | 1}
:MTESt:RMODe:FACTion:STOP {{0 | OFF} | {1 | ON}} | :MTESt:RMODe:FACTion:STOP? | {0 | 1}
:MTESt:RMODe:SIGMa <level> | :MTESt:RMODe:SIGMa? | <level> ::= from 0.1 to 9.3 in NR3 format
:MTESt:RMODe:TIME <seconds> | :MTESt:RMODe:TIME? | <seconds> ::= from 1 to 86400 in NR3 format
:MTESt:RMODe:WAVeforms <count> | :MTESt:RMODe:WAVeforms? | <count> ::= number of waveforms in NR1 format
:MTESt:SCALe:BIND {{0 | OFF} | {1 | ON}} | :MTESt:SCALe:BIND? | {0 | 1}
:MTESt:SCALe:X1 <x1_value> | :MTESt:SCALe:X1? | <x1_value> ::= X1 value in NR3 format
:MTESt:SCALe:XDELta <xdelta_value> | :MTESt:SCALe:XDELta? | <xdelta_value> ::= X delta value in NR3 format
:MTESt:SCALe:Y1 <y1_value> | :MTESt:SCALe:Y1? | <y1_value> ::= Y1 value in NR3 format
:MTESt:SCALe:Y2 <y2_value> | :MTESt:SCALe:Y2? | <y2_value> ::= Y2 value in NR3 format
:MTESt:SOURce <source> | :MTESt:SOURce? | <source> ::= {CHANnel<n> | NONE} <n> ::= {1 | 2 | 3 | 4} for 4ch models <n> ::= {1 | 2} for 2ch models
n/a | :MTESt:TITLe? | <title> ::= a quoted string of up to 128 ASCII characters

:POD<n> Commands Summary:

Command | Query | Options and Query Returns
:POD<n>:DISPlay {{0 | OFF} | {1 | ON}} | :POD<n>:DISPlay? | {0 | 1} <n> ::= 1-2 in NR1 format
:POD<n>:NIBBle<n>:THReshold <value> | :POD<n>:NIBBle<n>:THReshold? | <n> ::= 1-2 in NR1 format <value> :: = {CMOS | ECL | TTL | <decimal>[<suffix>]} <decimal> ::= -8.00 to +8.00 in NR3 format [suffix] ::= {V | mV | uV }
:POD<n>:SIZE <value> | :POD<n>:SIZE? | <value> ::= {SMALl | MEDium | LARGe}
:POD<n>:THReshold <value> | :POD<n>:THReshold? | <n> ::= 1-2 in NR1 format <value> :: = {CMOS | ECL | TTL | <decimal>[<suffix>]} <decimal> ::= -8.00 to +8.00 in NR3 format [suffix] ::= {V | mV | uV }

:POWer Commands Summary:

Command | Query | Options and Query Returns
n/a | :POWer:CLResponse? | n/a
:POWer:CLResponse:APPLy | n/a | n/a
n/a | :POWer:CLResponse:DATA? [SWEep | SINGle] | <binary_block> ::= comma-separated data with newlines at the end of each row
n/a | :POWer:CLResponse:DATA:GMARgin? | <gain_margin> ::= gain margin in dB in NR3 format.
n/a | :POWer:CLResponse:DATA:GMARgin:FREQuency? | <frequency> ::= 0 degrees phase crossover frequency in Hz in NR3 format
n/a | :POWer:CLResponse:DATA:PMARgin? | <phase_margin> ::= phase margin in degrees in NR3 format.
n/a | :POWer:CLResponse:DATA:PMARgin:FREQuency? | <frequency> ::= 0dB gain crossover frequency in Hz in NR3 format.
:POWer:CLResponse:FREQuency:MODE <mode> | :POWer:CLResponse:FREQuency:MODE? | <mode> ::= {SWEep | SINGle}
:POWer:CLResponse:FREQuency:SINGle <value>[suffix] | :POWer:CLResponse:FREQuency:SINGle? | <value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 2000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:CLResponse:FREQuency:STARt <value>[suffix] | :POWer:CLResponse:FREQuency:STARt? | <value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:CLResponse:FREQuency:STOP <value>[suffix] | :POWer:CLResponse:FREQuency:STOP? | <value> ::= {100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:CLResponse:PPDecade <pts> | :POWer:CLResponse:PPDecade? | <pts> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}
:POWer:CLResponse:SOURce:INPut <source> | :POWer:CLResponse:SOURce:INPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:CLResponse:SOURce:OUTPut <source> | :POWer:CLResponse:SOURce:OUTPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:CLResponse:SWEep:POINts <points> | :POWer:CLResponse:SWEep:POINts? | <points> ::= integer from 1-1000 in NR1 format
:POWer:CLResponse:TRACe <selection> | :POWer:CLResponse:TRACe? | <selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]
:POWer:CLResponse:WGEN:LOAD <impedance> | :POWer:CLResponse:WGEN:LOAD? | <impedance> ::= {ONEMeg | FIFTy}
:POWer:CLResponse:WGEN:VOLTage <amplitude>[,<range>] | :POWer:CLResponse:WGEN:VOLTage? [<range>] | <amplitude> ::= amplitude in volts in NR3 format <range> ::= {F10MILLIHZ | F100MILLIHZ | F1HZ | {F10HZ | F20HZ} | F100HZ | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | {F20MHZ | F100MHZ}}
:POWer:CLResponse:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}} | :POWer:CLResponse:WGEN:VOLTage:PROFile? | {0 | 1}
:POWer:DESKew | n/a | n/a
:POWer:EFFiciency:APPLy | n/a | n/a
:POWer:EFFiciency:TYPE <type> | :POWer:EFFiciency:TYPE? | <type> ::= {DCDC | DCAC | ACDC | ACAC}
:POWer:ENABle {{0 | OFF} | {1 | ON}} | :POWer:ENABle? | {0 | 1}
:POWer:HARMonics:APPLy | n/a | n/a
n/a | :POWer:HARMonics:DATA? | <binary_block> ::= comma-separated data with newlines at the end of each row
:POWer:HARMonics:DISPlay <display> | :POWer:HARMonics:DISPlay? | <display> ::= {TABLe | BAR | OFF}
n/a | :POWer:HARMonics:FAILcount? | <count> ::= integer in NR1 format
:POWer:HARMonics:LINE <frequency> | :POWer:HARMonics:LINE? | <frequency> ::= {F50 | F60 | F400 | AUTO}
n/a | :POWer:HARMonics:POWerfactor? | <value> ::= Class C power factor in NR3 format
:POWer:HARMonics:RPOWer <source> | :POWer:HARMonics:RPOWer? | <source> ::= {MEASured | USER}
:POWer:HARMonics:RPOWer:USER <value> | :POWer:HARMonics:RPOWer:USER? | <value> ::= Watts from 1.0 to 600.0 in NR3 format
n/a | :POWer:HARMonics:RUNCount? | <count> ::= integer in NR1 format
:POWer:HARMonics:STANdard <class> | :POWer:HARMonics:STANdard? | <class> ::= {A | B | C | D}
n/a | :POWer:HARMonics:STATus? | <status> ::= {PASS | FAIL | UNTested}
n/a | :POWer:HARMonics:THD? | <value> ::= Total Harmonics Distortion in NR3 format
:POWer:INRush:APPLy | n/a | n/a
:POWer:INRush:EXIT | n/a | n/a
:POWer:INRush:NEXT | n/a | n/a
:POWer:ITYPe <type> | :POWer:ITYPe? | <type> ::= {DC | AC}
:POWer:MODulation:APPLy | n/a | n/a
:POWer:MODulation:SOURce <source> | :POWer:MODulation:SOURce? | <source> ::= {V | I}
:POWer:MODulation:TYPE <modulation> | :POWer:MODulation:TYPE? | <modulation> ::= {VAVerage | ACRMs | VRATio | PERiod | FREQuency | PWIDith | NWIDth | DUTYcycle | NDUTycycle | RISetime | FALLtime}
:POWer:ONOFf:APPLy | n/a | n/a
:POWer:ONOFf:EXIT | n/a | n/a
:POWer:ONOFf:NEXT | n/a | n/a
:POWer:ONOFf:TEST {{0 | OFF} | {1 | ON}} | :POWer:ONOFf:TEST? | {0 | 1}
:POWer:ONOFf:THResholds <type>, <input_thr>, <output_thr> | :POWer:ONOFf:THResholds? <type> | <type> ::= {0 | 1} <input_thr> ::= percent from 0-100 in NR1 format <output_thr> ::= percent from 0-100 in NR1 format
n/a | :POWer:PSRR? | n/a
:POWer:PSRR:APPLy | n/a | n/a
n/a | :POWer:PSRR:DATA? [SWEep | SINGle] | <binary_block> ::= comma-separated data with newlines at the end of each row
:POWer:PSRR:FREQuency:MAXimum <value>[suffix] | :POWer:PSRR:FREQuency:MAXimum? | <value> ::= {10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:PSRR:FREQuency:MINimum <value>[suffix] | :POWer:PSRR:FREQuency:MINimum? | <value> ::= {1 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:PSRR:FREQuency:MODE <mode> | :POWer:PSRR:FREQuency:MODE? | <mode> ::= {SWEep | SINGle}
:POWer:PSRR:FREQuency:SINGle <value>[suffix] | :POWer:PSRR:FREQuency:SINGle? | <value> ::= {1 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 2000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:PSRR:PPDecade <pts> | :POWer:PSRR:PPDecade? | <pts> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}
:POWer:PSRR:SOURce:INPut <source> | :POWer:PSRR:SOURce:INPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:PSRR:SOURce:OUTPut <source> | :POWer:PSRR:SOURce:OUTPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:PSRR:TRACe <selection> | :POWer:PSRR:TRACe? | <selection> ::= {NONE | GAIN}
:POWer:PSRR:WGEN:LOAD <impedance> | :POWer:PSRR:WGEN:LOAD? | <impedance> ::= {ONEMeg | FIFTy}
:POWer:PSRR:WGEN:VOLTage <amplitude>[,<range>] | :POWer:PSRR:WGEN:VOLTage? [<range>] | <amplitude> ::= amplitude in volts in NR3 format <range> ::= {F10MILLIHZ | F100MILLIHZ | F1HZ | {F10HZ | F20HZ} | F100HZ | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | {F20MHZ | F100MHZ}}
:POWer:PSRR:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}} | :POWer:PSRR:WGEN:VOLTage:PROFile? | {0 | 1}
:POWer:QUALity:APPLy | n/a | n/a
:POWer:RIPPle:APPLy | n/a | n/a
:POWer:SIGNals:AUTosetup <analysis> | n/a | <analysis> ::= {HARMonics | EFFiciency | RIPPle | MODulation | QUALity | SLEW | SWITch | RDSVce}
:POWer:SIGNals:CYCLes:HARMonics <count> | :POWer:SIGNals:CYCLes:HARMonics? | <count> ::= integer in NR1 format Legal values are 1 to 100.
:POWer:SIGNals:CYCLes:QUALity <count> | :POWer:SIGNals:CYCLes:QUALity? | <count> ::= integer in NR1 format Legal values are 1 to 100.
:POWer:SIGNals:DURation:EFFiciency <value>[suffix] | :POWer:SIGNals:DURation:EFFiciency? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:MODulation <value>[suffix] | :POWer:SIGNals:DURation:MODulation? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:ONOFf:OFF <value>[suffix] | :POWer:SIGNals:DURation:ONOFf:OFF? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:ONOFf:ON <value>[suffix] | :POWer:SIGNals:DURation:ONOFf:ON? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:RIPPle <value>[suffix] | :POWer:SIGNals:DURation:RIPPle? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:TRANsient <value>[suffix] | :POWer:SIGNals:DURation:TRANsient? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:IEXPected <value>[suffix] | :POWer:SIGNals:IEXPected? | <value> ::= Expected current value in NR3 format [suffix] ::= {A | mA}
:POWer:SIGNals:OVERshoot <percent> | :POWer:SIGNals:OVERshoot? | <percent> ::= percent of overshoot value in NR1 format [suffix] ::= {V | mV}}
:POWer:SIGNals:VMAXimum:INRush <value>[suffix] | :POWer:SIGNals:VMAXimum:INRush? | <value> ::= Maximum expected input Voltage in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VMAXimum:ONOFf:OFF <value>[suffix] | :POWer:SIGNals:VMAXimum:ONOFf:OFF? | <value> ::= Maximum expected input Voltage in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VMAXimum:ONOFf:ON <value>[suffix] | :POWer:SIGNals:VMAXimum:ONOFf:ON? | <value> ::= Maximum expected input Voltage in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VSTeady:ONOFf:OFF <value>[suffix] | :POWer:SIGNals:VSTeady:ONOFf:OFF? | <value> ::= Expected steady stage output Voltage value in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VSTeady:ONOFf:ON <value>[suffix] | :POWer:SIGNals:VSTeady:ONOFf:ON? | <value> ::= Expected steady stage output Voltage value in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VSTeady:TRANsient <value>[suffix] | :POWer:SIGNals:VSTeady:TRANsient? | <value> ::= Expected steady stage output Voltage value in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:SOURce:CURRent<i> <source> | :POWer:SIGNals:SOURce:CURRent<i>? | <i> ::= 1, 2 in NR1 format <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:SIGNals:SOURce:VOLTage<i> <source> | :POWer:SIGNals:SOURce:VOLTage<i>? | <i> ::= 1, 2 in NR1 format <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:SLEW:APPLy | n/a | n/a
:POWer:SLEW:SOURce <source> | :POWer:SLEW:SOURce? | <source> ::= {V | I}
:POWer:SWITch:APPLy | n/a | n/a
:POWer:SWITch:CONDuction <conduction> | :POWer:SWITch:CONDuction? | <conduction> ::= {WAVeform | RDS | VCE}
:POWer:SWITch:IREFerence <percent> | :POWer:SWITch:IREFerence? | <percent> ::= percent in NR1 format
:POWer:SWITch:RDS <value>[suffix] | :POWer:SWITch:RDS? | <value> ::= Rds(on) value in NR3 format [suffix] ::= {OHM | mOHM}
:POWer:SWITch:VCE <value>[suffix] | :POWer:SWITch:VCE? | <value> ::= Vce(sat) value in NR3 format [suffix] ::= {V | mV}
:POWer:SWITch:VREFerence <percent> | :POWer:SWITch:VREFerence? | <percent> ::= percent in NR1 format
:POWer:TRANsient:APPLy | n/a | n/a
:POWer:TRANsient:EXIT | n/a | n/a
:POWer:TRANsient:IINitial <value>[suffix] | :POWer:TRANsient:IINitial? | <value> ::= Initial current value in NR3 format [suffix] ::= {A | mA}
:POWer:TRANsient:INEW <value>[suffix] | :POWer:TRANsient:INEW? | <value> ::= New current value in NR3 format [suffix] ::= {A | mA}
:POWer:TRANsient:NEXT | n/a | n/a

:RECall Commands Summary:

Command | Query | Options and Query Returns
:RECall:ARBitrary:[STARt] [{<internal_fname> | <external_fname>}][, <column>][, <wavegen_id>] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected <column> ::= Column in CSV file to load. Column number starts from 1. <wavegen_id> ::= WGEN1
:RECall:ARXML:CAN[:STARt] [<file_name>] [, <protocol_decode_bus>] | n/a | <file_name> ::= quoted ASCII string If extension included in file name, it must be ".arxml". <protocol_decode_bus> ::= {PBUS<n> | SBUS<n>} <n> ::= 1 to (# of protocol decode bus) in NR1 format
:RECall:DBC[:STARt] [<file_name>] [, <protocol_decode_bus>] | n/a | <file_name> ::= quoted ASCII string If extension included in file name, it must be ".dbc". <protocol_decode_bus> ::= {PBUS<n> | SBUS<n>} <n> ::= 1 to (# of protocol decode bus) in NR1 format
:RECall:FILename <base_name> | :RECall:FILename? | <base_name> ::= quoted ASCII string
:RECall:LDF[:STARt] [<file_name>] [, <protocol_decode_bus>] | n/a | <file_name> ::= quoted ASCII string If extension included in file name, it must be ".ldf". <protocol_decode_bus> ::= {PBUS<n> | SBUS<n>} <n> ::= 1 to (# of protocol decode bus) in NR1 format
:RECall:MASK[:STARt] [{<internal_fname> | <external_fname>}] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected
:RECall:PWD <path_name> | :RECall:PWD? | <path_name> ::= quoted ASCII string
:RECall:SETup[:STARt] [{<internal_fname> | <external_fname>}] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected
:RECall:WMEMory<r>[:STARt] [<file_name> | <data>] | n/a | <r> ::= 1 to (# ref waveforms) in NR1 format <file_name> ::= quoted ASCII string If extension included in file name, it must be ".h5". <data> ::= binary block data in IEEE 488.2 # format

:SAVE Commands Summary:

Command | Query | Options and Query Returns
:SAVE:ARBitrary:[STARt] [{<internal_fname> | <external_fname>}][, <wavegen_id>] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected <wavegen_id> ::= WGEN1
:SAVE:FILename <base_name> | :SAVE:FILename? | <base_name> ::= quoted ASCII string
:SAVE:IMAGe[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:IMAGe:FACTors {{0 | OFF} | {1 | ON}} | :SAVE:IMAGe:FACTors? | {0 | 1}
:SAVE:IMAGe:FORMat <format> | :SAVE:IMAGe:FORMat? | <format> ::= {{BMP | BMP24bit} | PNG | NONE}
:SAVE:LISTer[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:MASK[:STARt] [{<internal_fname> | <external_fname>}] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected
:SAVE:MULTi[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:POWer:[STARt] [<file_spec>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:PWD <path_name> | :SAVE:PWD? | <path_name> ::= quoted ASCII string
:SAVE:RESults:[STARt] [<file_spec>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:RESults:FORMat:CURSor {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:CURSor? | {0 | 1}
:SAVE:RESults:FORMat:HISTogram {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:HISTogram? | {0 | 1}
:SAVE:RESults:FORMat:MASK {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:MASK? | {0 | 1}
:SAVE:RESults:FORMat:MEASurement {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:MEASurement? | {0 | 1}
:SAVE:RESults:FORMat:SEARch {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:SEARch? | {0 | 1}
:SAVE:RESults:FORMat:SEGMented {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:SEGMented? | {0 | 1}
:SAVE:SETup[:STARt] [{<internal_fname> | <external_fname>}] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected
:SAVE:WAVeform[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:WAVeform:FORMat <format> | :SAVE:WAVeform:FORMat? | <format> ::= {ASCiixy | CSV | BINary | NONE}
:SAVE:WAVeform:LENGth <length> | :SAVE:WAVeform:LENGth? | <length> ::= 100 to max. length; an integer in NR1 format
:SAVE:WAVeform:LENGth:MAX {{0 | OFF} | {1 | ON}} | :SAVE:WAVeform:LENGth:MAX? | {0 | 1}
:SAVE:WAVeform:SEGMented <option> | :SAVE:WAVeform:SEGMented? | <option> ::= {ALL | CURRent}
:SAVE:WMEMory:SOURce <source> | :SAVE:WMEMory:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format NOTE: Only ADD or SUBtract math operations can be saved as reference waveforms. <return_value> ::= <source>
:SAVE:WMEMory[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string If extension included in file name, it must be ".h5".

General :SBUS<n> Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:DISPlay {{0 | OFF} | {1 | ON}} | :SBUS<n>:DISPlay? | {0 | 1}
:SBUS<n>:MODE <mode> | :SBUS<n>:MODE? | <mode> ::= {A429 | CAN | IIC | LIN | M1553 | SENT | SPI | UART | USB | USBPd}

:SBUS<n>:A429 Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:A429:AUTosetup | n/a | n/a
:SBUS<n>:A429:BASE <base> | :SBUS<n>:A429:BASE? | <base> ::= {BINary | HEX}
:SBUS<n>:A429:BAUDrate <baudrate> | :SBUS<n>:A429:BAUDrate? | <baudrate> ::= integer from 10000 to 1000000
n/a | :SBUS<n>:A429:COUNt:ERRor? | <error_count> ::= integer in NR1 format
:SBUS<n>:A429:COUNt:RESet | n/a | n/a
n/a | :SBUS<n>:A429:COUNt:WORD? | <word_count> ::= integer in NR1 format
:SBUS<n>:A429:FORMat <format> | :SBUS<n>:A429:FORMat? | <format> ::= {LDSDi | LDSSm | LDATa}
:SBUS<n>:A429:SIGNal <signal> | :SBUS<n>:A429:SIGNal? | <signal> ::= {A | B | DIFFerential}
:SBUS<n>:A429:SOURce <source> | :SBUS<n>:A429:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:SBUS<n>:A429:SPEed <speed> | :SBUS<n>:A429:SPEed? | <speed> ::= {LOW | HIGH | USER}
:SBUS<n>:A429:TRIGger:LABel <value> | :SBUS<n>:A429:TRIGger:LABel? | <value> ::= 8-bit integer in decimal, <hex>, <octal>, or <string> from 0-255 or "0xXX" (don't care) <hex> ::= #Hnn where n ::= {0,..,9 | A,..,F} <octal> ::= #Qnnn where n ::= {0,..,7} <string> ::= "0xnn" where n::= {0,..,9 | A,..,F}
:SBUS<n>:A429:TRIGger:PATTern:DATA <string> | :SBUS<n>:A429:TRIGger:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X}, length depends on FORMat
:SBUS<n>:A429:TRIGger:PATTern:SDI <string> | :SBUS<n>:A429:TRIGger:PATTern:SDI? | <string> ::= "nn" where n ::= {0 | 1 | X}, length always 2 bits
:SBUS<n>:A429:TRIGger:PATTern:SSM <string> | :SBUS<n>:A429:TRIGger:PATTern:SSM? | <string> ::= "nn" where n ::= {0 | 1 | X}, length always 2 bits
:SBUS<n>:A429:TRIGger:RANGe <min>,<max> | :SBUS<n>:A429:TRIGger:RANGe? | <min> ::= 8-bit integer in decimal, <hex>, <octal>, or <string> from 0-255 <max> ::= 8-bit integer in decimal, <hex>, <octal>, or <string> from 0-255 <hex> ::= #Hnn where n ::= {0,..,9 | A,..,F} <octal> ::= #Qnnn where n ::= {0,..,7} <string> ::= "0xnn" where n::= {0,..,9 | A,..,F}
:SBUS<n>:A429:TRIGger:TYPE <condition> | :SBUS<n>:A429:TRIGger:TYPE? | <condition> ::= {WSTArt | WSTOp | LABel | LBITs | PERRor | WERRor | GERRor | WGERrors | ALLerrors | LRANge | ABITs | AOBits | AZBits}

:SBUS<n>:CAN Commands Summary:

Command | Query | Options and Query Returns
n/a | :SBUS<n>:CAN:COUNt:ERRor? | <frame_count> ::= integer in NR1 format
:SBUS<n>:CAN:COUNt:RESet | n/a | n/a
n/a | :SBUS<n>:CAN:COUNt:SPEC? | <spec_error_count> ::= integer in NR1 format
n/a | :SBUS<n>:CAN:COUNt:TOTal? | <frame_count> ::= integer in NR1 format
n/a | :SBUS<n>:CAN:COUNt:UTILization? | <percent> ::= floating-point in NR3 format
:SBUS<n>:CAN:DISPlay <type> | :SBUS<n>:CAN:DISPlay? | <type> ::= {HEXadecimal | SYMBolic}
:SBUS<n>:CAN:FDSPoint <value> | :SBUS<n>:CAN:FDSPoint? | <value> ::= even numbered percentages from 30 to 90 in NR3 format.
:SBUS<n>:CAN:SAMPlepoint <percent> | :SBUS<n>:CAN:SAMPlepoint? | <percent> ::= 30.0 to 90.0 in NR3 format
:SBUS<n>:CAN:SIGNal:BAUDrate <baudrate> | :SBUS<n>:CAN:SIGNal:BAUDrate? | <baudrate> ::= integer from 10000 to 4000000 in 100 b/s increments, or 5000000
:SBUS<n>:CAN:SIGNal:DEFinition <value> | :SBUS<n>:CAN:SIGNal:DEFinition? | <value> ::= {CANH | CANL | RX | TX | DIFFerential | DIFL | DIFH}
:SBUS<n>:CAN:SIGNal:FDBaudrate <baudrate> | :SBUS<n>:CAN:SIGNal:FDBaudrate? | <baudrate> ::= integer from 10000 to 10000000 in 100 b/s increments.
:SBUS<n>:CAN:SIGNal:XLBaudrate <baudrate> | :SBUS<n>:CAN:SIGNal:XLBaudrate? | <baudrate> ::= integer from 10000 to 20000000 in 100 b/s increments.
:SBUS<n>:CAN:SOURce <source> | :SBUS<n>:CAN:SOURce? | <source> ::= {CHANnel<n> | DIGital<d> |} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:CAN:TRIGger <condition> | :SBUS<n>:CAN:TRIGger? | <condition> ::= {SOF | EOF | IDData | DATA | IDRemote | IDEither | ERRor | ACKerror | FORMerror | STUFferror | CRCerror | SPECerror | ALLerrors | BRSBit | CRCDbit | EBActive | EBPassive | OVERload | MESSage | MSIGnal}
:SBUS<n>:CAN:TRIGger:IDFilter {{0 | OFF} | {1 | ON}} | :SBUS<n>:CAN:TRIGger:IDFilter? | {0 | 1}
:SBUS<n>:CAN:TRIGger:PATTern:DATA <string> | :SBUS<n>:CAN:TRIGger:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X | $} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC <dlc> | :SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC? | <dlc> ::= integer between -1 (don't care) and 64, in NR1 format.
:SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth <length> | :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth? | <length> ::= integer from 1 to 8 in NR1 format
:SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt <start> | :SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt? | <start> ::= integer between 0 and 63, in NR1 format.
:SBUS<n>:CAN:TRIGger:PATTern:ID <string> | :SBUS<n>:CAN:TRIGger:PATTern:ID? | <string> ::= "nn...n" where n ::= {0 | 1 | X | $} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:CAN:TRIGger:PATTern:ID:MODE <value> | :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE? | <value> ::= {STANdard | EXTended}
:SBUS<n>:CAN:TRIGger:SYMBolic:MESSage <name> | :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage? | <name> ::= quoted ASCII string
:SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal <name> | :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal? | <name> ::= quoted ASCII string
:SBUS<n>:CAN:TRIGger:SYMBolic:VALue <data> | :SBUS<n>:CAN:TRIGger:SYMBolic:VALue? | <data> ::= value in NR3 format
:SBUS<n>:CAN:TRIGger:TYPE <type> | :SBUS<n>:CAN:TRIGger:TYPE? | <type> ::= {STANdard | FD | XL}
:SBUS<n>:CAN:TYPE <type> | :SBUS<n>:CAN:TYPE? | <type> ::= {STANdard | FD | XFASt | XSIC}
:SBUS<n>:CAN:XLSPoint <value> | :SBUS<n>:CAN:XLSPoint? | <value> ::= even numbered percentages from 30 to 90 in NR3 format.

:SBUS<n>:IIC Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:IIC:ASIZe <size> | :SBUS<n>:IIC:ASIZe? | <size> ::= {BIT7 | BIT8}
:SBUS<n>:IIC[:SOURce]:CLOCk <source> | :SBUS<n>:IIC[:SOURce]:CLOCk? | <source> ::= {CHANnel<n> | DIGital<d> } <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:IIC[:SOURce]:DATA <source> | :SBUS<n>:IIC[:SOURce]:DATA? | <source> ::= {CHANnel<n> | DIGital<d> } <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:IIC:TRIGger:PATTern:ADDRess <value> | :SBUS<n>:IIC:TRIGger:PATTern:ADDRess? | <value> ::= integer
:SBUS<n>:IIC:TRIGger:PATTern:DATA <value> | :SBUS<n>:IIC:TRIGger:PATTern:DATA? | <value> ::= integer
:SBUS<n>:IIC:TRIGger:PATTern:DATa2 <value> | :SBUS<n>:IIC:TRIGger:PATTern:DATa2? | <value> ::= integer
:SBUS<n>:IIC:TRIGger:QUALifier <value> | :SBUS<n>:IIC:TRIGger:QUALifier? | <value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}
:SBUS<n>:IIC:TRIGger[:TYPE] <type> | :SBUS<n>:IIC:TRIGger[:TYPE]? | <type> ::= {STARt | STOP | RESTart | ADDRess | ANACk | DNACk | NACKnowledge | REPRom | READ7 | WRITe7 | R7Data2 | W7Data2 | WRITe10}

:SBUS<n>:LIN Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:LIN:DISPlay <type> | :SBUS<n>:LIN:DISPlay? | <type> ::= {HEXadecimal | SYMBolic}
:SBUS<n>:LIN:PARity {{0 | OFF} | {1 | ON}} | :SBUS<n>:LIN:PARity? | {0 | 1}
:SBUS<n>:LIN:SAMPlepoint <value> | :SBUS<n>:LIN:SAMPlepoint? | <value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format
:SBUS<n>:LIN:SIGNal:BAUDrate <baudrate> | :SBUS<n>:LIN:SIGNal:BAUDrate? | <baudrate> ::= integer from 2400 to 625000 in 100 b/s increments
:SBUS<n>:LIN:SOURce <source> | :SBUS<n>:LIN:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:LIN:STANdard <std> | :SBUS<n>:LIN:STANdard? | <std> ::= {LIN13 | LIN13NLC | LIN20}
:SBUS<n>:LIN:SYNCbreak <value> | :SBUS<n>:LIN:SYNCbreak? | <value> ::= integer = {11 | 12 | 13}
:SBUS<n>:LIN:TRIGger <condition> | :SBUS<n>:LIN:TRIGger? | <condition> ::= {SYNCbreak | ID | DATA}
:SBUS<n>:LIN:TRIGger:ID <value> | :SBUS<n>:LIN:TRIGger:ID? | <value> ::= 7-bit integer in decimal, <nondecimal>, or <string> from 0-63 or 0x00-0x3f <nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal <nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F} for hexadecimal
:SBUS<n>:LIN:TRIGger:PATTern:DATA <string> | :SBUS<n>:LIN:TRIGger:PATTern:DATA? | <string> ::= "n" where n ::= 32-bit integer in unsigned decimal when <base> = DECimal <string> ::= "nn...n" where n ::= {0 | 1 | X | $} when <base> = BINary <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX
:SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth <length> | :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth? | <length> ::= integer from 1 to 8 in NR1 format
:SBUS<n>:LIN:TRIGger:PATTern:FORMat <base> | :SBUS<n>:LIN:TRIGger:PATTern:FORMat? | <base> ::= {BINary | HEX | DECimal}
:SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe <name> | :SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe? | <name> ::= quoted ASCII string
:SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal <name> | :SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal? | <name> ::= quoted ASCII string
:SBUS<n>:LIN:TRIGger:SYMBolic:VALue <data> | :SBUS<n>:LIN:TRIGger:SYMBolic:VALue? | <data> ::= value in NR3 format

:SBUS<n>:M1553 Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:M1553:AUTosetup | n/a | n/a
:SBUS<n>:M1553:BASE <base> | :SBUS<n>:M1553:BASE? | <base> ::= {BINary | HEX}
:SBUS<n>:M1553:SOURce <source> | :SBUS<n>:M1553:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:SBUS<n>:M1553:TRIGger:PATTern:DATA <string> | :SBUS<n>:M1553:TRIGger:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X}
:SBUS<n>:M1553:TRIGger:RTA <value> | :SBUS<n>:M1553:TRIGger:RTA? | <value> ::= 5-bit integer in decimal, <nondecimal>, or <string> from 0-31 <nondecimal> ::= #Hnn where n ::= {0,..,9|A,..,F} <string> ::= "0xnn" where n::= {0,..,9|A,..,F}
:SBUS<n>:M1553:TRIGger:TYPE <type> | :SBUS<n>:M1553:TRIGger:TYPE? | <type> ::= {DSTart | DSTOp | CSTart | CSTOp | RTA | PERRor | SERRor | MERRor | RTA11}

:SBUS<n>:SENT Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:SENT:CLOCk <period> | :SBUS<n>:SENT:CLOCk? | <period> ::= the nominal clock period (tick), from 500 ns to 300 us, in NR3 format.
:SBUS<n>:SENT:CRC <format> | :SBUS<n>:SENT:CRC? | <format> ::= {LEGacy | RECommended}
:SBUS<n>:SENT:DISPlay <base> | :SBUS<n>:SENT:DISPlay? | <base> ::= {HEX | DECimal | SYMBolic}
:SBUS<n>:SENT:FORMat <decode> | :SBUS<n>:SENT:FORMat? | <decode> ::= {NIBBles | FSIGnal | FSSerial | FESerial | SSERial | ESERial}
:SBUS<n>:SENT:IDLE <state> | :SBUS<n>:SENT:IDLE? | <state> ::= {LOW | HIGH}
:SBUS<n>:SENT:LENGth <#_nibbles> | :SBUS<n>:SENT:LENGth? | <#_nibbles> ::= from 1-6, in NR1 format.
:SBUS<n>:SENT:PPULse {{0 | OFF} | {1 | ON} | SPC} | :SBUS<n>:SENT:PPULse? | {0 | 1 | SPC}
:SBUS<n>:SENT:SIGNal<s>:DISPlay {{0 | OFF} | {1 | ON}} | :SBUS<n>:SENT:SIGNal<s>:DISPlay? | <s> ::= 1-6, in NR1 format. {0 | 1}
:SBUS<n>:SENT:SIGNal<s>:LENGth <length> | :SBUS<n>:SENT:SIGNal<s>:LENGth? | <s> ::= 1-6, in NR1 format. <length> ::= from 1-24, in NR1 format.
:SBUS<n>:SENT:SIGNal<s>:MULTiplier <multiplier> | :SBUS<n>:SENT:SIGNal<s>:MULTiplier? | <s> ::= 1-6, in NR1 format. <multiplier> ::= from 1-24, in NR3 format.
:SBUS<n>:SENT:SIGNal<s>:OFFSet <offset> | :SBUS<n>:SENT:SIGNal<s>:OFFSet? | <s> ::= 1-6, in NR1 format. <offset> ::= from 1-24, in NR3 format.
:SBUS<n>:SENT:SIGNal<s>:ORDer <order> | :SBUS<n>:SENT:SIGNal<s>:ORDer? | <s> ::= 1-6, in NR1 format. <order> ::= {MSNFirst | LSNFirst}
:SBUS<n>:SENT:SIGNal<s>:STARt <position> | :SBUS<n>:SENT:SIGNal<s>:STARt? | <s> ::= 1-6, in NR1 format. <position> ::= from 0-23, in NR1 format.
:SBUS<n>:SENT:SOURce <source> | :SBUS<n>:SENT:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SENT:TOLerance <percent> | :SBUS<n>:SENT:TOLerance? | <percent> ::= from 3-30, in NR1 format.
:SBUS<n>:SENT:TRIGger <mode> | :SBUS<n>:SENT:TRIGger? | <mode> ::= {SFCMessage | SSCMessage | FCData | SCMid | SCData | FCCerror | SCCerror | CRCerror | TOLerror | PPERror | SSPerror}
:SBUS<n>:SENT:TRIGger:FAST:DATA <string> | :SBUS<n>:SENT:TRIGger:FAST:DATA? | <string> ::= "nnnn..." where n ::= {0 | 1 | X} <string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:SENT:TRIGger:SLOW:DATA <data> | :SBUS<n>:SENT:TRIGger:SLOW:DATA? | <data> ::= when ILENgth = SHORt, from -1 (don't care) to 65535, in NR1 format. <data> ::= when ILENgth = LONG, from -1 (don't care) to 4095, in NR1 format.
:SBUS<n>:SENT:TRIGger:SLOW:ID <id> | :SBUS<n>:SENT:TRIGger:SLOW:ID? | <id> ::= when ILENgth = SHORt, from -1 (don't care) to 15, in NR1 format. <id> ::= when ILENgth = LONG, from -1 (don't care) to 255, in NR1 format.
:SBUS<n>:SENT:TRIGger:SLOW:ILENgth <length> | :SBUS<n>:SENT:TRIGger:SLOW:ILENgth? | <length> ::= {SHORt | LONG}
:SBUS<n>:SENT:TRIGger:TOLerance <percent> | :SBUS<n>:SENT:TRIGger:TOLerance? | <percent> ::= from 1-18, in NR1 format.

:SBUS<n>:SPI Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:SPI:BITorder <order> | :SBUS<n>:SPI:BITorder? | <order> ::= {LSBFirst | MSBFirst}
:SBUS<n>:SPI:CLOCk:SLOPe <slope> | :SBUS<n>:SPI:CLOCk:SLOPe? | <slope> ::= {NEGative | POSitive}
:SBUS<n>:SPI:CLOCk:TIMeout <time_value> | :SBUS<n>:SPI:CLOCk:TIMeout? | <time_value> ::= time in seconds in NR3 format
:SBUS<n>:SPI:DELay <value> | :SBUS<n>:SPI:DELay? | <value> ::= {OFF | 2-63}
:SBUS<n>:SPI:FRAMing <value> | :SBUS<n>:SPI:FRAMing? | <value> ::= {CHIPselect | {NCHipselect | NOTC} | TIMeout}
:SBUS<n>:SPI:SOURce:CLOCk <source> | :SBUS<n>:SPI:SOURce:CLOCk? | <value> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SPI:SOURce:FRAMe <source> | :SBUS<n>:SPI:SOURce:FRAMe? | <value> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SPI:SOURce:MISO <source> | :SBUS<n>:SPI:SOURce:MISO? | <value> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SPI:SOURce:MOSI <source> | :SBUS<n>:SPI:SOURce:MOSI? | <value> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA <string> | :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X | $} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh <width> | :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh? | <width> ::= integer from 4 to 64 in NR1 format
:SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA <string> | :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X | $} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh <width> | :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh? | <width> ::= integer from 4 to 64 in NR1 format
:SBUS<n>:SPI:TRIGger:TYPE <value> | :SBUS<n>:SPI:TRIGger:TYPE? | <value> ::= {MOSI | MISO}
:SBUS<n>:SPI:WIDTh <word_width> | :SBUS<n>:SPI:WIDTh? | <word_width> ::= integer 4-16 in NR1 format

:SBUS<n>:UART Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:UART:BASE <base> | :SBUS<n>:UART:BASE? | <base> ::= {ASCii | BINary | HEX}
:SBUS<n>:UART:BAUDrate <baudrate> | :SBUS<n>:UART:BAUDrate? | <baudrate> ::= integer from 100 to 8000000, 10000000, or 12000000
:SBUS<n>:UART:BITorder <bitorder> | :SBUS<n>:UART:BITorder? | <bitorder> ::= {LSBFirst | MSBFirst}
n/a | :SBUS<n>:UART:COUNt:ERRor? | <frame_count> ::= integer in NR1 format
:SBUS<n>:UART:COUNt:RESet | n/a | n/a
n/a | :SBUS<n>:UART:COUNt:RXFRames? | <frame_count> ::= integer in NR1 format
n/a | :SBUS<n>:UART:COUNt:TXFRames? | <frame_count> ::= integer in NR1 format
:SBUS<n>:UART:FRAMing <value> | :SBUS<n>:UART:FRAMing? | <value> ::= {OFF | <decimal> | <nondecimal>} <decimal> ::= 8-bit integer from 0-255 (0x00-0xff) <nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal <nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary
:SBUS<n>:UART:PARity <parity> | :SBUS<n>:UART:PARity? | <parity> ::= {EVEN | ODD | NONE}
:SBUS<n>:UART:POLarity <polarity> | :SBUS<n>:UART:POLarity? | <polarity> ::= {HIGH | LOW}
:SBUS<n>:UART:SOURce:RX <source> | :SBUS<n>:UART:SOURce:RX? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:UART:SOURce:TX <source> | :SBUS<n>:UART:SOURce:TX? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:UART:TRIGger:BASE <base> | :SBUS<n>:UART:TRIGger:BASE? | <base> ::= {ASCii | HEX}
:SBUS<n>:UART:TRIGger:BURSt <value> | :SBUS<n>:UART:TRIGger:BURSt? | <value> ::= {OFF | 1 to 4096 in NR1 format}
:SBUS<n>:UART:TRIGger:DATA <value> | :SBUS<n>:UART:TRIGger:DATA? | <value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal, <hexadecimal>, <binary>, or <quoted_string> format <hexadecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal <binary> ::= #Bnn...n where n ::= {0 | 1} for binary <quoted_string> ::= any of the 128 valid 7-bit ASCII characters (or standard abbreviations)
:SBUS<n>:UART:TRIGger:IDLE <time_value> | :SBUS<n>:UART:TRIGger:IDLE? | <time_value> ::= time from 1 us to 10 s in NR3 format
:SBUS<n>:UART:TRIGger:QUALifier <value> | :SBUS<n>:UART:TRIGger:QUALifier? | <value> ::= {EQUal | NOTequal | GREaterthan | LESSthan}
:SBUS<n>:UART:TRIGger:TYPE <value> | :SBUS<n>:UART:TRIGger:TYPE? | <value> ::= {RSTArt | RSTOp | RDATa | RD1 | RD0 | RDX | RXPArity | TXPArity | TSTArt | TSTOp | TDATa | TD1 | TD0 | TDX}
:SBUS<n>:UART:WIDTh <width> | :SBUS<n>:UART:WIDTh? | <width> ::= {5 | 6 | 7 | 8 | 9}

:SBUS<n>:USB Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:USB:BASE <base> | :SBUS<n>:USB:BASE? | <base> ::= {ASCii | BINary | DECimal | HEX}
:SBUS<n>:USB:SOURce:DMINus <source> | :SBUS<n>:USB:SOURce:DMINus? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:USB:SOURce:DPLus <source> | :SBUS<n>:USB:SOURce:DPLus? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:USB:SOURce:DIFFerential <source> | :SBUS<n>:USB:SOURce:DIFFerential? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:SBUS<n>:USB:SPEed <speed> | :SBUS<n>:USB:SPEed? | <speed> ::= {LOW | FULL | HIGH}
:SBUS<n>:USB:TRIGger <condition> | :SBUS<n>:USB:TRIGger? | <condition> ::= {SOP | EOP | ENTersuspend | EXITsuspend | RESet | TOKen | DATA | HANDshake | SPECial | ALLerrors | PIDerror | CRC5error | CRC16error | GLITcherror | STUFferror | SE1error}
:SBUS<n>:USB:TRIGger:ADDRess <string> | :SBUS<n>:USB:TRIGger:ADDRess? | <string> ::= "nnnnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:CRC <string> | :SBUS<n>:USB:TRIGger:CRC? | <string> ::= "nnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:DATA <string> | :SBUS<n>:USB:TRIGger:DATA? | <string> ::= "nnnn..." where n ::= {0 | 1 | X} <string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:DATA:LENGth <value> | :SBUS<n>:USB:TRIGger:DATA:LENGth? | <length> ::= data length between 1-20
:SBUS<n>:USB:TRIGger:ENDPoint <string> | :SBUS<n>:USB:TRIGger:ENDPoint? | <string> ::= "nnnn" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:ET <string> | :SBUS<n>:USB:TRIGger:ET? | <string> ::= "nn" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}
:SBUS<n>:USB:TRIGger:FRAMe <string> | :SBUS<n>:USB:TRIGger:FRAMe? | <string> ::= "nnnnnnnnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:HADDress <string> | :SBUS<n>:USB:TRIGger:HADDress? | <string> ::= "nnnnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:PCHeck <string> | :SBUS<n>:USB:TRIGger:PCHeck? | <string> ::= "nnnn" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:PID:DATA <pid> | :SBUS<n>:USB:TRIGger:PID:DATA? | <pid> ::= {DATA0 | DATA1 | DATA2 | MDATa}
:SBUS<n>:USB:TRIGger:PID:HANDshake <pid> | :SBUS<n>:USB:TRIGger:PID:HANDshake? | <pid> ::= {ACK | NAK | STALl | NYET}
:SBUS<n>:USB:TRIGger:PID:SPECial <pid> | :SBUS<n>:USB:TRIGger:PID:SPECial? | <pid> ::= {PING | PRE | ERR | SPLit}
:SBUS<n>:USB:TRIGger:PID:TOKen <pid> | :SBUS<n>:USB:TRIGger:PID:TOKen? | <pid> ::= {OUT | IN | SETup | SOF}
:SBUS<n>:USB:TRIGger:PORT <string> | :SBUS<n>:USB:TRIGger:PORT? | <string> ::= "nnnnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:SC <string> | :SBUS<n>:USB:TRIGger:SC? | <string> ::= "n" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0 | 1 | X | $}
:SBUS<n>:USB:TRIGger:SEU <string> | :SBUS<n>:USB:TRIGger:SEU? | <string> ::= "nn" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}

:SBUS<n>:USBPd Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:USBPd:SOURce <source> | :SBUS<n>:USBPd:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:SBUS<n>:USBPd:TRIGger <mode> | :SBUS<n>:USBPd:TRIGger? | <mode> ::= {PSTart | EOP | SOP | SPRime | SDPRime | SPDebug | SDPDebug | HRST | CRST | CRCerror | PERRor | HEADer}
:SBUS<n>:USBPd:TRIGger:HEADer <type> | :SBUS<n>:USBPd:TRIGger:HEADer? | <type> ::= {CMESsage | DMESsage | EMESsage | VALue}
:SBUS<n>:USBPd:TRIGger:HEADer:CMESsage <type> | :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage? | <type> ::= {GOODcrc | GOTOmin | ACCept | REJect | PING | PSRDy | GSRCap | GSNCap | DRSWap | PRSWap | VCSWap | WAIT | SRST | GSCX | GSTatus | FRSWap | GPSTatus | GCCodes}
:SBUS<n>:USBPd:TRIGger:HEADer:DMESsage <type> | :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage? | <type> ::= {SRCap | REQuest | BIST | SNCap | BSTatus | ALERt | GCINfo | VDEFined}
:SBUS<n>:USBPd:TRIGger:HEADer:EMESsage <type> | :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage? | <type> ::= {SCX | STATus | GBCap | GBSTatus | BCAP | GMINfo | MINFo | SREQuest | SRESponse | FREQuest | FRESponse | PSTatus | CINFo | CCODes}
:SBUS<n>:USBPd:TRIGger:HEADer:VALue <string> | :SBUS<n>:USBPd:TRIGger:HEADer:VALue? | <string> ::= "nn...n" where n ::= {0 | 1 | X} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}
:SBUS<n>:USBPd:TRIGger:HEADer:QUALifier <type> | :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier? | <type> ::= {NONE | SOP | SPRime | SDPRime}

General :SEARch Commands Summary:

Command | Query | Options and Query Returns
n/a | :SEARch:COUNt? | <count> ::= an integer count value
:SEARch:EVENt <event_number> | :SEARch:EVENt? | <event_number> ::= the integer number of a found search event
:SEARch:MODE <value> | :SEARch:MODE? | <value> ::= {EDGE | GLITch | RUNT | TRANsition | SERial{1 | 2} | PEAK}
:SEARch:STATe <value> | :SEARch:STATe? | <value> ::= {{0 | OFF} | {1 | ON}}

:SEARch:EDGE Commands Summary:

Command | Query | Options and Query Returns
:SEARch:EDGE:SLOPe <slope> | :SEARch:EDGE:SLOPe? | <slope> ::= {POSitive | NEGative | EITHer}
:SEARch:EDGE:SOURce <source> | :SEARch:EDGE:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format

:SEARch:GLITch Commands Summary:

Command | Query | Options and Query Returns
:SEARch:GLITch:GREaterthan <greater_than_time>[suffix] | :SEARch:GLITch:GREaterthan? | <greater_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:SEARch:GLITch:LESSthan <less_than_time>[suffix] | :SEARch:GLITch:LESSthan? | <less_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:SEARch:GLITch:POLarity <polarity> | :SEARch:GLITch:POLarity? | <polarity> ::= {POSitive | NEGative}
:SEARch:GLITch:QUALifier <qualifier> | :SEARch:GLITch:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan | RANGe}
:SEARch:GLITch:RANGe <less_than_time>[suffix], <greater_than_time>[suffix] | :SEARch:GLITch:RANGe? | <less_than_time> ::= 15 ns to 10 seconds in NR3 format <greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:SEARch:GLITch:SOURce <source> | :SEARch:GLITch:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format

:SEARch:PEAK Commands Summary:

Command | Query | Options and Query Returns
:SEARch:PEAK:EXCursion <delta_level> | :SEARch:PEAK:EXCursion? | <delta_level> ::= required change in level to be recognized as a peak, in NR3 format.
:SEARch:PEAK:NPEaks <number> | :SEARch:PEAK:NPEaks? | <number> ::= max number of peaks to find, 1-11 in NR1 format.
:SEARch:PEAK:SOURce <source> | :SEARch:PEAK:SOURce? | <source> ::= {FUNCtion<m> | MATH<m>} (must be an FFT waveform) <m> ::= 1 to 4 in NR1 format
:SEARch:PEAK:THReshold <level> | :SEARch:PEAK:THReshold? | <level> ::= necessary level to be considered a peak, in NR3 format.

:SEARch:RUNT Commands Summary:

Command | Query | Options and Query Returns
:SEARch:RUNT:POLarity <polarity> | :SEARch:RUNT:POLarity? | <polarity> ::= {POSitive | NEGative | EITHer}
:SEARch:RUNT:QUALifier <qualifier> | :SEARch:RUNT:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan | NONE}
:SEARch:RUNT:SOURce <source> | :SEARch:RUNT:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:SEARch:RUNT:TIME <time>[suffix] | :SEARch:RUNT:TIME? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}

:SEARch:TRANsition Commands Summary:

Command | Query | Options and Query Returns
:SEARch:TRANsition:QUALifier <qualifier> | :SEARch:TRANsition:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan}
:SEARch:TRANsition:SLOPe <slope> | :SEARch:TRANsition:SLOPe? | <slope> ::= {NEGative | POSitive}
:SEARch:TRANsition:SOURce <source> | :SEARch:TRANsition:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:SEARch:TRANsition:TIME <time>[suffix] | :SEARch:TRANsition:TIME? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}

:SEARch:SERial:A429 Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:A429:LABel <value> | :SEARch:SERial:A429:LABel? | <value> ::= 8-bit integer in decimal, <hex>, <octal>, or <string> from 0-255 <hex> ::= #Hnn where n ::= {0,..,9 | A,..,F} <octal> ::= #Qnnn where n ::= {0,..,7} <string> ::= "0xnn" where n::= {0,..,9 | A,..,F}
:SEARch:SERial:A429:MODE <condition> | :SEARch:SERial:A429:MODE? | <condition> ::= {LABel | LBITs | PERRor | WERRor | GERRor | WGERrors | ALLerrors}
:SEARch:SERial:A429:PATTern:DATA <string> | :SEARch:SERial:A429:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1}, length depends on FORMat
:SEARch:SERial:A429:PATTern:SDI <string> | :SEARch:SERial:A429:PATTern:SDI? | <string> ::= "nn" where n ::= {0 | 1}, length always 2 bits
:SEARch:SERial:A429:PATTern:SSM <string> | :SEARch:SERial:A429:PATTern:SSM? | <string> ::= "nn" where n ::= {0 | 1}, length always 2 bits

:SEARch:SERial:CAN Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:CAN:MODE <value> | :SEARch:SERial:CAN:MODE? | <value> ::= {IDEither | IDData | DATA | IDRemote | ERRor | ACKerror | FORMerror | STUFferror | CRCerror | ALLerrors | OVERload | MESSage | MSIGnal}
:SEARch:SERial:CAN:PATTern:DATA <string> | :SEARch:SERial:CAN:PATTern:DATA? | <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X} for hexadecimal
:SEARch:SERial:CAN:PATTern:DATA:LENGth <length> | :SEARch:SERial:CAN:PATTern:DATA:LENGth? | <length> ::= integer from 1 to 8 in NR1 format
:SEARch:SERial:CAN:PATTern:ID <string> | :SEARch:SERial:CAN:PATTern:ID? | <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X} for hexadecimal
:SEARch:SERial:CAN:PATTern:ID:MODE <value> | :SEARch:SERial:CAN:PATTern:ID:MODE? | <value> ::= {STANdard | EXTended}
:SEARch:SERial:CAN:SYMBolic:MESSage <name> | :SEARch:SERial:CAN:SYMBolic:MESSage? | <name> ::= quoted ASCII string
:SEARch:SERial:CAN:SYMBolic:SIGNal <name> | :SEARch:SERial:CAN:SYMBolic:SIGNal? | <name> ::= quoted ASCII string
:SEARch:SERial:CAN:SYMBolic:VALue <data> | :SEARch:SERial:CAN:SYMBolic:VALue? | <data> ::= value in NR3 format

:SEARch:SERial:IIC Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:IIC:MODE <value> | :SEARch:SERial:IIC:MODE? | <value> ::= {RESTart | ADDRess | ANACk | NACKnowledge | REPRom | READ7 | WRITE7 | R7Data2 | W7Data2}
:SEARch:SERial:IIC:PATTern:ADDRess <value> | :SEARch:SERial:IIC:PATTern:ADDRess? | <value> ::= integer
:SEARch:SERial:IIC:PATTern:DATA <value> | :SEARch:SERial:IIC:PATTern:DATA? | <value> ::= integer
:SEARch:SERial:IIC:PATTern:DATA2 <value> | :SEARch:SERial:IIC:PATTern:DATA2? | <value> ::= integer
:SEARch:SERial:IIC:QUALifier <value> | :SEARch:SERial:IIC:QUALifier? | <value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}

:SEARch:SERial:LIN Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:LIN:ID <value> :SEARch:SERial:LIN:ID?

<value> ::= 7-bit integer in decimal or <nondecimal> from 0-63

<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal

<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary

:SEARch:SERial:LIN:MODE <value> | :SEARch:SERial:LIN:MODE? | <value> ::= {ID | DATA | ERRor}
:SEARch:SERial:LIN:PATTern:DATA <string> :SEARch:SERial:LIN:PATTern:DATA?

When :SEARch:SERial:LIN:PATTern:FORMat DECimal, <string> ::= "n" where n ::= 32-bit integer in unsigned decimal, returns "$" if data has any don't cares

When :SEARch:SERial:LIN:PATTern:FORMat HEX, <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X }

:SEARch:SERial:LIN:PATTern:DATA:LENGth <length> | :SEARch:SERial:LIN:PATTern:DATA:LENGth? | <length> ::= integer from 1 to 8 in NR1 format
:SEARch:SERial:LIN:PATTern:FORMat <base> | :SEARch:SERial:LIN:PATTern:FORMat? | <base> ::= {HEX | DECimal}
:SEARch:SERial:LIN:SYMBolic:FRAMe <name> | :SEARch:SERial:LIN:SYMBolic:FRAMe? | <name> ::= quoted ASCII string
:SEARch:SERial:LIN:SYMBolic:SIGNal <name> | :SEARch:SERial:LIN:SYMBolic:SIGNal? | <name> ::= quoted ASCII string
:SEARch:SERial:LIN:SYMBolic:VALue <data> | :SEARch:SERial:LIN:SYMBolic:VALue? | <data> ::= value in NR3 format

:SEARch:SERial:M1553 Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:M1553:MODE <value> | :SEARch:SERial:M1553:MODE? | <value> ::= {DSTart | CSTart | RTA | RTA11 | PERRor | SERRor | MERRor}
:SEARch:SERial:M1553:PATTern:DATA <string> | :SEARch:SERial:M1553:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1}
:SEARch:SERial:M1553:RTA <value> | :SEARch:SERial:M1553:RTA? | <value> ::= 5-bit integer in decimal, <hexadecimal>, <binary>, or <string> from 0-31 < hexadecimal > ::= #Hnn where n ::= {0,..,9|A,..,F} <binary> ::= #Bnn...n where n ::= {0 | 1} for binary <string> ::= "0xnn" where n::= {0,..,9|A,..,F}

:SEARch:SERial:SENT Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:SENT:FAST:DATA <string> | :SEARch:SERial:SENT:FAST:DATA? | <string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:SENT:MODE <mode> | :SEARch:SERial:SENT:MODE? | <mode> ::= {FCData | SCMid | SCData | CRCerror PPERror}
:SEARch:SERial:SENT:SLOW:DATA <data> | :SEARch:SERial:SENT:SLOW:DATA? | <data> ::= from -1 (don't care) to 65535, in NR1 format.
:SEARch:SERial:SENT:SLOW:ID <id> | :SEARch:SERial:SENT:SLOW:ID? | <id> ::= from -1 (don't care) to 255, in NR1 format.

:SEARch:SERial:SPI Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:SPI:MODE <value> | :SEARch:SERial:SPI:MODE? | <value> ::= {MOSI | MISO}
:SEARch:SERial:SPI:PATTern:DATA <string> | :SEARch:SERial:SPI:PATTern:DATA? | <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}
:SEARch:SERial:SPI:PATTern:WIDTh <width> | :SEARch:SERial:SPI:PATTern:WIDTh? | <width> ::= integer from 1 to 10

:SEARch:SERial:UART Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:UART:DATA <value> | :SEARch:SERial:UART:DATA? | <value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal, <hexadecimal>, or <binary> format <hexadecimal> ::= #Hnn where n ::= {0,..,9| A,..,F} for hexadecimal <binary> ::= #Bnn...n where n ::= {0 | 1} for binary
:SEARch:SERial:UART:MODE <value> | :SEARch:SERial:UART:MODE? | <value> ::= {RDATa | RD1 | RD0 | RDX | TDATa | TD1 | TD0 | TDX | RXPArity | TXPArity | AERRor}
:SEARch:SERial:UART:QUALifier <value> | :SEARch:SERial:UART:QUALifier? | <value> ::= {EQUal | NOTequal | GREaterthan | LESSthan}

:SEARch:SERial:USB Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:USB:MODE <condition> | :SEARch:SERial:USB:MODE? | <event> ::= {TOKen | DATA | HANDshake | SPECial | ALLerrors | PIDerror | CRC5error | CRC16error | GLITcherror | STUFferror | SE1error}
:SEARch:SERial:USB:ADDRess <string> | :SEARch:SERial:USB:ADDRess? | <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:CRC <string> | :SEARch:SERial:USB:CRC? | <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:DATA <string> | :SEARch:SERial:USB:DATA? | <string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:DATA:LENGth <value> | :SEARch:SERial:USB:DATA:LENGth? | <length> ::= data length between 1-20
:SEARch:SERial:USB:ENDPoint <string> | :SEARch:SERial:USB:ENDPoint? | <string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:ET <string> | :SEARch:SERial:USB:ET? | <string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}
:SEARch:SERial:USB:FRAMe <string> | :SEARch:SERial:USB:FRAMe? | <string> ::= "0xnnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:HADDress <string> | :SEARch:SERial:USB:HADDress? | <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:PID:DATA <pid> | :SEARch:SERial:USB:PID:DATA? | <pid> ::= {DATA0 | DATA1 | DATA2 | MDATa}
:SEARch:SERial:USB:PID:HANDshake <pid> | :SEARch:SERial:USB:PID:HANDshake? | <pid> ::= {ACK | NAK | STALl | NYET}
:SEARch:SERial:USB:PID:SPECial <pid> | :SEARch:SERial:USB:PID:SPECial? | <pid> ::= {PING | PRE | ERR | SPLit}
:SEARch:SERial:USB:PID:TOKen <pid> | :SEARch:SERial:USB:PID:TOKen? | <pid> ::= {OUT | IN | SETup | SOF}
:SEARch:SERial:USB:PORT <string> | :SEARch:SERial:USB:PORT? | <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:SC <string> | :SEARch:SERial:USB:SC? | <string> ::= "0xn" where n ::= {0 | 1 | X | $}
:SEARch:SERial:USB:SEU <string> | :SEARch:SERial:USB:SEU? | <string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}

:SEARch:SERial:USBPd Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:USBPd:MODE <mode> | :SEARch:SERial:USBPd:MODE? | <mode> ::= {SOP | SPRime | SDPRime | SPDebug | SDPDebug | HRST | CRST | CRCerror | PERRor | HEADer}
:SEARch:SERial:USBPd:HEADer <type> | :SEARch:SERial:USBPd:HEADer? | <type> ::= {CMESsage | DMESsage | EMESsage | VALue}
:SEARch:SERial:USBPd:HEADer:CMESsage <type> | :SEARch:SERial:USBPd:HEADer:CMESsage? | <type> ::= {GOODcrc | GOTOmin | ACCept | REJect | PING | PSRDy | GSRCap | GSNCap | DRSWap | PRSWap | VCSWap | WAIT | SRST | GSCX | GSTatus | FRSWap | GPSTatus | GCCodes}
:SEARch:SERial:USBPd:HEADer:DMESsage <type> | :SEARch:SERial:USBPd:HEADer:DMESsage? | <type> ::= {SRCap | REQuest | BIST | SNCap | BSTatus | ALERt | GCINfo | VDEFined}
:SEARch:SERial:USBPd:HEADer:EMESsage <type> | :SEARch:SERial:USBPd:HEADer:EMESsage? | <type> ::= {SCX | STATus | GBCap | GBSTatus | BCAP | GMINfo | MINFo | SREQuest | SRESponse | FREQuest | FRESponse | PSTatus | CINFo | CCODes}
:SEARch:SERial:USBPd:HEADer:QUALifier <type> | :SEARch:SERial:USBPd:HEADer:QUALifier? | <type> ::= {NONE | SOP | SPRime | SDPRime}
:SEARch:SERial:USBPd:HEADer:VALue <string> | :SEARch:SERial:USBPd:HEADer:VALue? | <string> ::= "nn...n" where n ::= {0 | 1 | X} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

General :STATus Commands Summary:

Command | Query | Options and Query Returns
:STATus:PRESet | n/a | n/a

:STATus:OPERation Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:BIT<b>:ENABle <bit_value> | :STATus:OPERation:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ENABle <sum_of_bits> | :STATus:OPERation:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:NTRansition <sum_of_bits> | :STATus:OPERation:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:PTRansition <sum_of_bits> | :STATus:OPERation:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:OPERation:ARM Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:ARM:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:BIT<b>:ENABle <bit_value> | :STATus:OPERation:ARM:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:ARM:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:ARM:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:ARM:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:ARM:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:ENABle <sum_of_bits> | :STATus:OPERation:ARM:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:NTRansition <sum_of_bits> | :STATus:OPERation:ARM:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:PTRansition <sum_of_bits> | :STATus:OPERation:ARM:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:ARM[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:OPERation:HARDware Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:HARDware:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:BIT<b>:ENABle <bit_value> | :STATus:OPERation:HARDware:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:HARDware:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:HARDware:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:HARDware:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:HARDware:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:ENABle <sum_of_bits> | :STATus:OPERation:HARDware:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:NTRansition <sum_of_bits> | :STATus:OPERation:HARDware:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:PTRansition <sum_of_bits> | :STATus:OPERation:HARDware:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:HARDware[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:OPERation:LOCal Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:LOCal:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:BIT<b>:ENABle <bit_value> | :STATus:OPERation:LOCal:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:LOCal:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:LOCal:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:LOCal:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:LOCal:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:ENABle <sum_of_bits> | :STATus:OPERation:LOCal:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:NTRansition <sum_of_bits> | :STATus:OPERation:LOCal:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:PTRansition <sum_of_bits> | :STATus:OPERation:LOCal:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:LOCal[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:OPERation:MTESt Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:MTESt:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:BIT<b>:ENABle <bit_value> | :STATus:OPERation:MTESt:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:MTESt:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:MTESt:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:MTESt:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:MTESt:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:ENABle <sum_of_bits> | :STATus:OPERation:MTESt:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:NTRansition <sum_of_bits> | :STATus:OPERation:MTESt:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:PTRansition <sum_of_bits> | :STATus:OPERation:MTESt:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:MTESt[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:OPERation:OVERload Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:OVERload:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:BIT<b>:ENABle <bit_value> | :STATus:OPERation:OVERload:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:OVERload:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:OVERload:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:ENABle <sum_of_bits> | :STATus:OPERation:OVERload:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:NTRansition <sum_of_bits> | :STATus:OPERation:OVERload:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PTRansition <sum_of_bits> | :STATus:OPERation:OVERload:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:OPERation:OVERload:PFAult Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle <bit_value> | :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:PFAult:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:ENABle <sum_of_bits> | :STATus:OPERation:OVERload:PFAult:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:NTRansition <sum_of_bits> | :STATus:OPERation:OVERload:PFAult:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:PTRansition <sum_of_bits> | :STATus:OPERation:OVERload:PFAult:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:PFAult[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:OPERation:POWer Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:POWer:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:BIT<b>:ENABle <bit_value> | :STATus:OPERation:POWer:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:POWer:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:POWer:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:POWer:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:POWer:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:ENABle <sum_of_bits> | :STATus:OPERation:POWer:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:NTRansition <sum_of_bits> | :STATus:OPERation:POWer:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:PTRansition <sum_of_bits> | :STATus:OPERation:POWer:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:POWer[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:TRIGger Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:TRIGger:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:BIT<b>:ENABle <bit_value> | :STATus:TRIGger:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:BIT<b>:NTRansition <bit_value> | :STATus:TRIGger:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:BIT<b>:PTRansition <bit_value> | :STATus:TRIGger:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:TRIGger:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:TRIGger:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:ENABle <sum_of_bits> | :STATus:TRIGger:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:NTRansition <sum_of_bits> | :STATus:TRIGger:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:PTRansition <sum_of_bits> | :STATus:TRIGger:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:TRIGger[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:STATus:USER Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:USER:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:USER:BIT<b>:ENABle <bit_value> | :STATus:USER:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:USER:BIT<b>:NTRansition <bit_value> | :STATus:USER:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:USER:BIT<b>:PTRansition <bit_value> | :STATus:USER:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:USER:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:USER:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:USER:ENABle <sum_of_bits> | :STATus:USER:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:USER:NTRansition <sum_of_bits> | :STATus:USER:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:USER:PTRansition <sum_of_bits> | :STATus:USER:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:USER[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

:SYSTem Commands Summary:

Command | Query | Options and Query Returns
:SYSTem:DATE <date> | :SYSTem:DATE? | <date> ::= <year>,<month>,<day> <year> ::= 4-digit year in NR1 format <month> ::= {1,..,12 | JANuary | FEBruary | MARch | APRil | MAY | JUNe | JULy | AUGust | SEPtember | OCTober | NOVember | DECember} <day> ::= {1,..31}
n/a | :SYSTem:DIDentifier? | n/a
:SYSTem:DSP <string> | n/a | <string> ::= up to 75 characters as a quoted ASCII string
n/a | :SYSTem:ERRor:ALL? | <errors_list> ::= comma-separated list of all errors from the queue (codes and strings)
n/a | :SYSTem:ERRor:CODE[:NEXT]? | <error_code> ::= the next error (code only) from the queue
n/a | :SYSTem:ERRor:COUNt? | <count> ::= an integer number of errors in the queue
n/a | :SYSTem:ERRor:EXTended? <type> | <type> ::= {INFO | WARNING | ERROR | FATAL | MESSAGE | ALL} <errors_list> ::= returns a comma-separated list of all errors (strings, no codes) of the specified type from the queue
n/a | :SYSTem:ERRor[:NEXT]? | <error_number>,<error_string> ::= the next error (code and string) from the queue <error_number> ::= an integer error code <error string> ::= quoted ASCII string. See Error Messages.
n/a | :SYSTem:HELP:HEADers? | <binary_block> ::= newline-separated list of supported SCPI commands/queries
n/a | :SYSTem:HID? | n/a
:SYSTem:LOCK <value> | :SYSTem:LOCK? | <value> ::= {{1 | ON} | {0 | OFF}}
n/a | :SYSTem:LOCK:OWNer? | <session_string> ::= quoted session string or "NONE"
:SYSTem:LOCK:RELease | n/a | n/a
n/a | :SYSTem:LOCK:REQuest? | {1 | 0} (for granted or not)
:SYSTem:PERSona[:MANufacturer] <manufacturer_string> | :SYSTem:PERSona[:MANufacturer]? | <manufacturer_string> ::= quoted ASCII string, up to 63 characters
:SYSTem:PERSona[:MANufacturer]:DEFault | n/a | Sets manufacturer string to "KEYSIGHT TECHNOLOGIES"
:SYSTem:POWercycle | n/a | n/a
:SYSTem:PRECision:LENGth <length> | :SYSTem:PRECision:LENGth? | <length> ::= {64K | 128K | 256K | 512K | 1M | 1.5M | 2M | 4M | 8M | 12M | 16M | 24M | 32M}
:SYSTem:PRECision:PEAK {{0 | OFF} | {1 | ON}} | :SYSTem:PRECision:PEAK? | <setting> ::= {0 | 1}
:SYSTem:PRESet | n/a | See :SYSTem:PRESet
:SYSTem:PRODuction:FRESet | n/a | See :SYSTem:PRODuction:FRESet
:SYSTem:PROTection:LOCK <value> | :SYSTem:PROTection:LOCK? | <value> ::= {{1 | ON} | {0 | OFF}}
:SYSTem:RLOGger <setting>[,<file_name>[,<write_mode>]] | n/a | <setting> ::= {{0 | OFF} | {1 | ON}} <file_name> ::= quoted ASCII string <write_mode> ::= {CREate | APPend}
:SYSTem:RLOGger:DESTination <dest> | :SYSTem:RLOGger:DESTination? | <dest> ::= {FILE | SCReen | BOTH}
:SYSTem:RLOGger:DISPlay {{0 | OFF} | {1 | ON}} | :SYSTem:RLOGger:DISPlay? | <setting> ::= {0 | 1}
:SYSTem:RLOGger:FNAMe <file_name> | :SYSTem:RLOGger:FNAMe? | <file_name> ::= quoted ASCII string
:SYSTem:RLOGger:STATe {{0 | OFF} | {1 | ON}} | :SYSTem:RLOGger:STATe? | <setting> ::= {0 | 1}
:SYSTem:RLOGger:TRANsparent {{0 | OFF} | {1 | ON}} | :SYSTem:RLOGger:TRANsparent? | <setting> ::= {0 | 1}
:SYSTem:RLOGger:WMODe <write_mode> | :SYSTem:RLOGger:WMODe? | <write_mode> ::= {CREate | APPend}
:SYSTem:SETup <setup_data> | :SYSTem:SETup? | <setup_data> ::= data in IEEE 488.2 # format.
:SYSTem:SHUTdown | n/a | n/a
:SYSTem:TIME <time> | :SYSTem:TIME? | <time> ::= hours,minutes,seconds in NR1 format
n/a | :SYSTem:TIME:DSAVing? | <setting> ::= {0 | 1}
:SYSTem:TIME:NTPRotocol {{0 | OFF} | {1 | ON}} | :SYSTem:TIME:NTPRotocol? | <setting> ::= {0 | 1}
:SYSTem:TIME:ZONE <zone> | :SYSTem:TIME:ZONE? | <zone> ::= {UP0000 | Europe_London | UP0100 | Europe_Paris | UP0200 | Africa_Cairo | UP0300 | UP0330 | Asia_Tehran | UP0400 | Asia_Dubai | UP0430 | Asia_Kabul | UP0500 | Asia_Karachi | UP0530 | Asia_Kolkata | UP0600 | Asia_Dhaka | UP0700 | Asia_Bangkok | UP0800 | Asia_Hong_Kong | UP0845 | Australia_Eucla | UP0900 | Asia_Tokyo | UP0930 | Australia_Adelaide | Australia_Darwin | UP1000 | Australia_Brisbane | Australia_Sydney | UP1030 | Australia_Lord_Howe | UP1100 | Pacific_Noumea | UP1200 | UM0100 | UM0200 | UM0300 | America_Sao_Paulo | UM0330 | America_St_Johns | UM0400 | America_Caracas | UM0500 | America_New_York | UM0600 | America_Chicago | UM0700 | America_Denver | UM0800 | America_Los_Angeles | UM0900 | America_Anchorage | UM1000 | Pacific_Honolulu | UM1100 | UM1200}
:SYSTem:TOUCh {{1 | ON} | {0 | OFF}} | :SYSTem:TOUCh? | {1 | 0}
n/a | :SYSTem:VERSion? | <SCPI_version_implemented> ::= 1999.0
:SYSTem:WINDow:LOCK {{0 | OFF} | {1 | ON}} | :SYSTem:WINDow:LOCK? | {0 | 1}

:TIMebase Commands Summary:

Command | Query | Options and Query Returns
:TIMebase[:MAIN]:POSition <pos> | :TIMebase[:MAIN]:POSition? | <pos> ::= time from the trigger event to the display reference point in NR3 format
:TIMebase[:MAIN]:RANGe <range_value> | :TIMebase[:MAIN]:RANGe? | <range_value> ::= time for 10 div in seconds in NR3 format
:TIMebase[:MAIN]:SCALe <scale_value> | :TIMebase[:MAIN]:SCALe? | <scale_value> ::= time/div in seconds in NR3 format
:TIMebase:MODE <value> | :TIMebase:MODE? | <value> ::= {MAIN | WINDow | XY | ROLL}
:TIMebase:REFerence {LEFT | CENTer | RIGHt | CUSTom} | :TIMebase:REFerence? | <return_value> ::= {LEFT | CENTer | RIGHt | CUSTom}
:TIMebase:REFerence:LOCation <loc> | :TIMebase:REFerence:LOCation? | <loc> ::= 0.0 to 1.0 in NR3 format
:TIMebase:VERNier {{0 | OFF} | {1 | ON}} | :TIMebase:VERNier? | {0 | 1}
:TIMebase:WINDow:POSition <pos> | :TIMebase:WINDow:POSition? | <pos> ::= time from the trigger event to the zoomed view reference point in NR3 format
:TIMebase:WINDow:RANGe <range_value> | :TIMebase:WINDow:RANGe? | <range value> ::= range value in seconds in NR3 format for the zoomed window
:TIMebase:WINDow:SCALe <scale_value> | :TIMebase:WINDow:SCALe? | <scale_value> ::= scale value in seconds in NR3 format for the zoomed window

General :TRIGger Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:FORCe | n/a | n/a
:TRIGger:HFReject {{0 | OFF} | {1 | ON}} | :TRIGger:HFReject? | {0 | 1}
:TRIGger:HOLDoff <holdoff_time> | :TRIGger:HOLDoff? | <holdoff_time> ::= 60 ns to 10 s in NR3 format
:TRIGger:HOLDoff:MAXimum <max_holdoff> | :TRIGger:HOLDoff:MAXimum? | <max_holdoff> ::= maximum holdoff time in seconds in NR3 format
:TRIGger:HOLDoff:MINimum <min_holdoff> | :TRIGger:HOLDoff:MINimum? | <min_holdoff> ::= minimum holdoff time in seconds in NR3 format
:TRIGger:HOLDoff:RANDom {{0 | OFF} | {1 | ON}} | :TRIGger:HOLDoff:RANDom? | <setting> ::= {0 | 1}
:TRIGger:HYSTeresis:STATe {{0 | OFF} | {1 | ON}} | :TRIGger:HYSTeresis:STATe? | {0 | 1}
:TRIGger:JFRee {{0 | OFF} | {1 | ON}} | :TRIGger:JFRee? | {0 | 1}
:TRIGger:LEVel:ASETup | n/a | n/a
:TRIGger:LEVel:HIGH <level>, <source> | :TRIGger:LEVel:HIGH? <source> | <level> ::= .75 x full-scale voltage from center screen in NR3 format. <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:LEVel:LOW <level>, <source> | :TRIGger:LEVel:LOW? <source> | <level> ::= .75 x full-scale voltage from center screen in NR3 format. <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:MODE <mode> | :TRIGger:MODE? | <mode> ::= {EDGE | GLITch | PATTern | DELay | OR | RUNT | SHOLd | TRANsition | WINDow | {PBUS{1 | 2} | SBUS{1 | 2}}} <return_value> ::= {<mode> | <none>} <none> ::= query returns "NONE" if the :TIMebase:MODE is ROLL or XY
:TRIGger:NREJect {{0 | OFF} | {1 | ON}} | :TRIGger:NREJect? | {0 | 1}
:TRIGger:SWEep <sweep> | :TRIGger:SWEep? | <sweep> ::= {AUTO | NORMal}

:TRIGger:DELay Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:DELay:ARM:SLOPe <slope> | :TRIGger:DELay:ARM:SLOPe? | <slope> ::= {NEGative | POSitive}
:TRIGger:DELay:ARM:SOURce <source> | :TRIGger:DELay:ARM:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger:DELay:TDELay:TMAX <time_value> | :TRIGger:DELay:TDELay:TMAX? | <time_value> ::= time in seconds in NR3 format
:TRIGger:DELay:TDELay:TMIN <time_value> | :TRIGger:DELay:TDELay:TMIN? | <time_value> ::= time in seconds in NR3 format
:TRIGger:DELay:TRIGger:SLOPe <slope> | :TRIGger:DELay:TRIGger:SLOPe? | <slope> ::= {NEGative | POSitive}
:TRIGger:DELay:TRIGger:SOURce <source> | :TRIGger:DELay:TRIGger:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format

:TRIGger[:EDGE] Commands Summary:

Command | Query | Options and Query Returns
:TRIGger[:EDGE]:COUPling {AC | DC | LFReject} | :TRIGger[:EDGE]:COUPling? | {AC | DC | LFReject}
:TRIGger[:EDGE]:LEVel <level> [,<source>] | :TRIGger[:EDGE]:LEVel? [<source>] | For internal triggers, <level> ::= .75 x full-scale voltage from center screen in NR3 format. For external triggers, <level> ::= ±(external range setting) in NR3 format. For digital channels, <level> ::= ±8 V. <source> ::= {CHANnel<n> | DIGital<d> | EXTernal } <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger[:EDGE]:REJect {OFF | LFReject | HFReject} | :TRIGger[:EDGE]:REJect? | {OFF | LFReject | HFReject}
:TRIGger[:EDGE]:SLOPe <polarity> | :TRIGger[:EDGE]:SLOPe? | <polarity> ::= {POSitive | NEGative | EITHer | ALTernate}
:TRIGger[:EDGE]:SOURce <source> | :TRIGger[:EDGE]:SOURce? | <source> ::= {CHANnel<n> | DIGital<d> | EXTernal | LINE | WGEN} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format

:TRIGger:GLITch Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:GLITch:GREaterthan <greater_than_time>[suffix] | :TRIGger:GLITch:GREaterthan? | <greater_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:GLITch:LESSthan <less_than_time>[suffix] | :TRIGger:GLITch:LESSthan? | <less_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:GLITch:LEVel <level> [<source>] | :TRIGger:GLITch:LEVel? | For internal triggers, <level> ::= .75 x full-scale voltage from center screen in NR3 format. For digital channels, <level> ::= ±8 V. <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger:GLITch:POLarity <polarity> | :TRIGger:GLITch:POLarity? | <polarity> ::= {POSitive | NEGative}
:TRIGger:GLITch:QUALifier <qualifier> | :TRIGger:GLITch:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan | RANGe}
:TRIGger:GLITch:RANGe <less_than_time>[suffix], <greater_than_time>[suffix] | :TRIGger:GLITch:RANGe? | <less_than_time> ::= 15 ns to 10 seconds in NR3 format <greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:GLITch:SOURce <source> | :TRIGger:GLITch:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format

:TRIGger:OR Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:OR <string> | :TRIGger:OR? | <string> ::= "nn...n" where n ::= {R | F | E | X} R = rising edge, F = falling edge, E = either edge, X = don't care. Each character in the string is for an analog or digital channel as shown on the front panel display.

:TRIGger:PATTern Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:PATTern <string>[,<edge_source>,<edge>] | :TRIGger:PATTern? | <string> ::= "nn...n" where n ::= {0 | 1 | X | R | F} when <base> = ASCii <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX <edge_source> ::= {CHANnel<n> | DIGital<d> | NONE} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <edge> ::= {POSitive | NEGative}
:TRIGger:PATTern:FORMat <base> | :TRIGger:PATTern:FORMat? | <base> ::= {ASCii | HEX}
:TRIGger:PATTern:GREaterthan <greater_than_time>[suffix] | :TRIGger:PATTern:GREaterthan? | <greater_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:PATTern:LESSthan <less_than_time>[suffix] | :TRIGger:PATTern:LESSthan? | <less_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:PATTern:QUALifier <qualifier> | :TRIGger:PATTern:QUALifier? | <qualifier> ::= {ENTered | GREaterthan | LESSthan | INRange | OUTRange | TIMeout}
:TRIGger:PATTern:RANGe <less_than_time>[suffix], <greater_than_time>[suffix] | :TRIGger:PATTern:RANGe? | <less_than_time> ::= 15 ns to 10 seconds in NR3 format <greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format [suffix] ::= {s | ms | us | ns | ps}

:TRIGger:RUNT Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:RUNT:POLarity <polarity> | :TRIGger:RUNT:POLarity? | <polarity> ::= {POSitive | NEGative}
:TRIGger:RUNT:QUALifier <qualifier> | :TRIGger:RUNT:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan | NONE}
:TRIGger:RUNT:SOURce <source> | :TRIGger:RUNT:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:RUNT:TIME <time>[suffix] | :TRIGger:RUNT:TIME? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}

:TRIGger:SHOLd Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:SHOLd:SLOPe <slope> | :TRIGger:SHOLd:SLOPe? | <slope> ::= {NEGative | POSitive}
:TRIGger:SHOLd:SOURce:CLOCk <source> | :TRIGger:SHOLd:SOURce:CLOCk? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger:SHOLd:SOURce:DATA <source> | :TRIGger:SHOLd:SOURce:DATA? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger:SHOLd:TIME:HOLD <time>[suffix] | :TRIGger:SHOLd:TIME:HOLD? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:SHOLd:TIME:SETup <time>[suffix] | :TRIGger:SHOLd:TIME:SETup? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}

:TRIGger:TRANsition Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:TRANsition:QUALifier <qualifier> | :TRIGger:TRANsition:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan}
:TRIGger:TRANsition:SLOPe <slope> | :TRIGger:TRANsition:SLOPe? | <slope> ::= {NEGative | POSitive}
:TRIGger:TRANsition:SOURce <source> | :TRIGger:TRANsition:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:TRANsition:TIME <time>[suffix] | :TRIGger:TRANsition:TIME? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}

:TRIGger:WINDow Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:WINDow:CONDition <type> | :TRIGger:WINDow:CONDition? | <type> ::= {ENTer | EXIT | INSide | OUTSide}
:TRIGger:WINDow:QUALifier <qualifier> | :TRIGger:WINDow:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan}
:TRIGger:WINDow:SOURce <source> | :TRIGger:WINDow:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:WINDow:TIME <seconds> | :TRIGger:WINDow:TIME? | <seconds> ::= time in seconds in NR3 format
:TRIGger:WINDow:TPOint <trigger_point> | :TRIGger:WINDow:TPOint? | <trigger_point> ::= {BOUNdary | TIMeout}

:TRIGger:ZONE Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:ZONE<z>:LOGic {AND | OR} | :TRIGger:ZONE<z>:LOGic? | {AND | OR} <z> ::= 2-4 in NR1 format
:TRIGger:ZONE<z>:MODE <mode> | :TRIGger:ZONE<z>:MODE? | <mode> ::= {INTersect | NOTintersect} <z> ::= 1-4 in NR1 format
:TRIGger:ZONE<z>:PLACement <width>, <height>, <x_center>, <y_center> | :TRIGger:ZONE<z>:PLACement? | <width> ::= width of zone in seconds <height> ::= height of zone in volts <x_center> ::= center of zone in seconds <y_center> ::= center of zone in volts <z> ::= 1-4 in NR1 format
:TRIGger:ZONE<z>:SOURce <source> | :TRIGger:ZONE<z>:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <z> ::= 1-4 in NR1 format
:TRIGger:ZONE<z>:STATe {{0 | OFF} | {1 | ON}} | :TRIGger:ZONE<z>:STATe? | {0 | 1} <z> ::= 1-4 in NR1 format
n/a | :TRIGger:ZONE<z>:VALidity? | <value> ::= {VALid | INValid | OSCReen} <z> ::= 1-4 in NR1 format

:WAVeform Commands Summary:

Command | Query | Options and Query Returns
:WAVeform:BYTeorder <value> | :WAVeform:BYTeorder? | <value> ::= {LSBFirst | MSBFirst}
n/a | :WAVeform:COUNt? | <count> ::= an integer from 1 to 65536 in NR1 format
n/a :WAVeform:DATA?

<binary block length bytes>, <binary data>

For example, to transmit 1000 bytes of data, the syntax would be: #800001000<1000 bytes of data><NL>

8 is the number of digits that follow

00001000 is the number of bytes to be transmitted

<1000 bytes of data> is the actual data

:WAVeform:FORMat <value> | :WAVeform:FORMat? | <value> ::= {WORD | BYTE | ASCII}
:WAVeform:POINts <wfm_points> :WAVeform:POINts?

<wfm_points> ::= <#_points>

<#_points> ::= an integer in NR1 format

:WAVeform:POINts:MODE <points_mode> :WAVeform:POINts:MODE?

<points_mode> ::= {NORMal | MAXimum | RAW}

n/a :WAVeform:PREamble?

<preamble_block> ::= <format NR1>, <type NR1>,<points NR1>,<count NR1>, <xincrement NR3>, <xorigin NR3>, <xreference NR1>,<yincrement NR3>, <yorigin NR3>, <yreference NR1>

<format> ::= an integer in NR1 format:

 • 0 for BYTE format
 • 1 for WORD format
 • 2 for ASCii format

<type> ::= an integer in NR1 format:

 • 0 for NORMal type
 • 1 for PEAK detect type
 • 3 for AVERage type

<count> ::= Average count, or 1 if PEAK detect type or NORMal; an integer in NR1 format

:WAVeform:SEGMented:ALL {{0 | OFF} | {1 | ON}} :WAVeform:SEGMented:ALL?

<setting> ::= {0 | 1}

n/a :WAVeform:SEGMented:COUNt?

<count> ::= an integer in NR1 format

n/a :WAVeform:SEGMented:TTAG?

<time_tag> ::= in NR3 format

n/a :WAVeform:SEGMented:XLISt? <xlist_type>

<xlist_type> ::= {RELXorigin | ABSXorigin | TTAG}

<return_value> ::= X-info for all segments

:WAVeform:SOURce <source> :WAVeform:SOURce?

<source> ::= {CHANnel<n> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | | {PBUS{1 | 2} | SBUS{1 | 2}}}

<n> ::= 1 to (# analog channels) in NR1 format

<m> ::= 1 to (# math functions) in NR1 format

:WAVeform:SOURce:SUBSource <subsource> | :WAVeform:SOURce:SUBSource? | <subsource> ::= {{SUB0 | RX | MOSI | FAST} | {SUB1 | TX | MISO | SLOW}}
n/a | :WAVeform:TYPE? | <return_mode> ::= {NORM | PEAK | AVER}
:WAVeform:UNSigned {{0 | OFF} | {1 | ON}} | :WAVeform:UNSigned? | {0 | 1}
:WAVeform:VIEW <view> | :WAVeform:VIEW? | <view> ::= {MAIN | ALL}
n/a | :WAVeform:XINCrement? | <return_value> ::= x-increment in the current preamble in NR3 format
n/a | :WAVeform:XORigin? | <return_value> ::= x-origin value in the current preamble in NR3 format
n/a | :WAVeform:XREFerence? | <return_value> ::= 0 (x-reference value in the current preamble in NR1 format)
n/a | :WAVeform:YINCrement? | <return_value> ::= y-increment value in the current preamble in NR3 format
n/a | :WAVeform:YORigin? | <return_value> ::= y-origin in the current preamble in NR3 format
n/a | :WAVeform:YREFerence? | <return_value> ::= y-reference value in the current preamble in NR1 format

:WGEN<w> Commands Summary:

Command | Query | Options and Query Returns
:WGEN<w>:ARBitrary:BYTeorder <order> | :WGEN<w>:ARBitrary:BYTeorder? | <order> ::= {MSBFirst | LSBFirst} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:DATA {<binary> | <value>, <value> ...} | n/a | <binary> ::= floating point values between -1.0 to +1.0 in IEEE 488.2 binary block format <value> ::= floating point values between -1.0 to +1.0 in comma-separated format <w> ::= 1 to (# WaveGen outputs) in NR1 format
n/a | :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts? | <points> ::= number of points in NR1 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:DATA:CLEar | n/a | <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:DATA:DAC {<binary> | <value>, <value> ...} | n/a | <binary> ::= decimal 16-bit integer values between -512 to +511 in IEEE 488.2 binary block format <value> ::= decimal integer values between -512 to +511 in comma-separated NR1 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:EDGE <type> | :WGEN<w>:ARBitrary:EDGE? | <type> ::= {FAST | STABle}
:WGEN<w>:ARBitrary:INTerpolate {{0 | OFF} | {1 | ON}} | :WGEN<w>:ARBitrary:INTerpolate? | {0 | 1} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:LENGth <points> | :WGEN<w>:ARBitrary:LENGth? | <points> ::= {50 | 500 | 1K | 4K | 8K | 16K | 32K | 50K | 100K | 250K | 500K}
:WGEN<w>:ARBitrary:STORe <source> | n/a | <source> ::= {CHANnel<n> | WMEMory<r> | FUNCtion<m> | FFT | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:DCMode <mode> | :WGEN<w>:DCMode? | <mode> ::= {PRECise | WIDerange}
:WGEN<w>:FREQuency <frequency> | :WGEN<w>:FREQuency? | <frequency> ::= frequency in Hz in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:FUNCtion <signal> | :WGEN<w>:FUNCtion? | <signal> ::= {SINusoid | SQUare | RAMP | PULSe | NOISe | DC | SINC | EXPRise | EXPFall | CARDiac | GAUSsian | ARBitrary} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:FUNCtion:PULSe:WIDTh <width> | :WGEN<w>:FUNCtion:PULSe:WIDTh? | <width> ::= pulse width in seconds in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:FUNCtion:SQUare:DCYCle <percent> | :WGEN<w>:FUNCtion:SQUare:DCYCle? | <percent> ::= duty cycle percentage in NR1 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:MODulation:AM:DEPTh <percent> | :WGEN<w>:MODulation:AM:DEPTh? | <percent> ::= AM depth percentage from 0% to 100% in NR1 format <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:AM:FREQuency <frequency> | :WGEN<w>:MODulation:AM:FREQuency? | <frequency> ::= modulating waveform frequency in Hz in NR3 format <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:FM:DEViation <frequency> | :WGEN<w>:MODulation:FM:DEViation? | <frequency> ::= frequency deviation in Hz in NR3 format <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:FM:FREQuency <frequency> | :WGEN<w>:MODulation:FM:FREQuency? | <frequency> ::= modulating waveform frequency in Hz in NR3 format <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:FUNCtion <shape> | :WGEN<w>:MODulation:FUNCtion? | <shape> ::= {SINusoid} <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:NOISe <percent> | :WGEN<w>:MODulation:NOISe? | <percent> ::= 0 to 100 <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:STATe {{0 | OFF} | {1 | ON}} | :WGEN<w>:MODulation:STATe? | {0 | 1} <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:TYPE <type> | :WGEN<w>:MODulation:TYPE? | <type> ::= {AM | FM} <w> ::= 1 in NR1 format
:WGEN<w>:OUTPut {{0 | OFF} | {1 | ON}} | :WGEN<w>:OUTPut? | {0 | 1} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:OUTPut:BURSt | n/a | n/a
:WGEN<w>:OUTPut:BURSt:COUNt <number> | :WGEN<w>:OUTPut:BURSt:COUNt? | <w> ::= 1 to (# WaveGen outputs) in NR1 format <number> ::= 1 to 10000 in NR1 format
:WGEN<w>:OUTPut:LOAD <impedance> | :WGEN<w>:OUTPut:LOAD? | <impedance> ::= {ONEMeg | FIFTy} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:OUTPut:MODE <mode> | :WGEN<w>:OUTPut:MODE? | <mode> ::= {NORMal | BURSt}
:WGEN<w>:OUTPut:POLarity <polarity> | :WGEN<w>:OUTPut:POLarity? | <polarity> ::= {NORMal | INVerted} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:PERiod <period> | :WGEN<w>:PERiod? | <period> ::= period in seconds in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:RST | n/a | <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:VOLTage <amplitude> | :WGEN<w>:VOLTage? | <amplitude> ::= amplitude in volts in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:VOLTage:HIGH <high> | :WGEN<w>:VOLTage:HIGH? | <high> ::= high-level voltage in volts, in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:VOLTage:LOW <low> | :WGEN<w>:VOLTage:LOW? | <low> ::= low-level voltage in volts, in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:VOLTage:OFFSet <offset> | :WGEN<w>:VOLTage:OFFSet? | <offset> ::= offset in volts in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format

:WMEMory<r> Commands Summary:

Command | Query | Options and Query Returns
:WMEMory<r>:CLEar | n/a | <r> ::= 1 to (# ref waveforms) in NR1 format
:WMEMory<r>:DISPlay {{0 | OFF} | {1 | ON}} | :WMEMory<r>:DISPlay? | <r> ::= 1 to (# ref waveforms) in NR1 format {0 | 1}
:WMEMory<r>:LABel <string> | :WMEMory<r>:LABel? | <r> ::= 1 to (# ref waveforms) in NR1 format <string> ::= any series of 32 or less ASCII characters enclosed in quotation marks
:WMEMory<r>:SAVE <source> | n/a | <r> ::= 1 to (# ref waveforms) in NR1 format <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format NOTE: Math functions whose x-axis is not frequency can be saved as reference waveforms.
:WMEMory<r>:SKEW <skew> | :WMEMory<r>:SKEW? | <r> ::= 1 to (# ref waveforms) in NR1 format <skew> ::= time in seconds in NR3 format
:WMEMory<r>:YOFFset <offset>[suffix] | :WMEMory<r>:YOFFset? | <r> ::= 1 to (# ref waveforms) in NR1 format <offset> ::= vertical offset value in NR3 format [suffix] ::= {V | mV}
:WMEMory<r>:YRANge <range> | :WMEMory<r>:YRANge? | <r> ::= 1 to (# ref waveforms) in NR1 format <range> ::= vertical full-scale range value in NR3 format
:WMEMory<r>:YSCale <scale> | :WMEMory<r>:YSCale? | <r> ::= 1 to (# ref waveforms) in NR1 format <scale> ::= vertical units per division value in NR3 format


Syntax Elements

  • Number Format

  • <NL> (Line Terminator)

  • [ ] (Optional Syntax Terms)

  • { } (Braces)

  • ::= (Defined As)

  • < > (Angle Brackets)

  • ... (Ellipsis)

  • n,..,p (Value Ranges)

  • d (Digits)

  • Quoted ASCII String

  • Definite-Length Block Response Data


Number Format

NR1 specifies integer data.

NR3 specifies exponential data in floating point format (for example, -1.0E-3).


<NL> (Line Terminator)

<NL> = new line or linefeed (ASCII decimal 10).

The line terminator, or a leading colon, will send the parser to the "root" of the command tree.


[ ] (Optional Syntax Terms)

Items enclosed in square brackets, [ ], are optional.


{ } (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.


::= (Defined As)

::= means "defined as".

For example, <A> ::= <B> indicates that <A> can be replaced by <B> in any statement containing <A>.


< > (Angle Brackets)

< > Angle brackets enclose words or characters that symbolize a program code parameter or an interface command.


... (Ellipsis)

... An ellipsis (trailing dots) indicates that the preceding element may be repeated one or more times.


n,..,p (Value Ranges)

n,..,p ::= all integers between n and p inclusive.


d (Digits)

d ::= A single ASCII numeric character 0 - 9.


Quoted ASCII String

A quoted ASCII string is a string delimited by either double quotes (") or single quotes ('). Some command parameters require a quoted ASCII string. For example, when using the Keysight VISA COM library in Visual Basic, the command:

myScope.WriteString ":CHANnel1:LABel 'One'"

has a quoted ASCII string of:

'One'

In order to read quoted ASCII strings from query return values, some programming languages require special handling or syntax.


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. This 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 1000 bytes of data, the syntax would be

#800001000<1000 bytes of data> <NL>

8 is the number of digits that follow

00001000 is the number of bytes to be transmitted

<1000 bytes of data> is the actual data


Common (*) Commands

Commands defined by IEEE 488.2 standard that are common to all instruments. See Introduction to Common (*) Commands.

Common (*) Commands Summary:

Command | Query | Options and Query Returns
*CLS | n/a | n/a
*ESE <mask> *ESE?

<mask> ::= 0 to 255; an integer in NR1 format:

Bit Weight Name Enables
--- ------ ---- ----------
 7    128  PON  Power On
 6     64  URQ  User Request
 5     32  CME  Command Error
 4     16  EXE  Execution Error
 3      8  DDE  Dev. Dependent Error
 2      4  QYE  Query Error
 1      2  RQL  Request Control
 0      1  OPC  Operation Complete
n/a | *ESR? | <status> ::= 0 to 255; an integer in NR1 format
n/a *IDN?

KEYSIGHT TECHNOLOGIES,<model>,<serial number>,X.XX.XX

<model> ::= the model number of the instrument

<serial number> ::= the serial number of the instrument

<X.XX.XX> ::= the software revision of the instrument

n/a | *LRN? | <learn_string> ::= current instrument setup as a block of data in IEEE 488.2 # format
*OPC | *OPC? | ASCII "1" is placed in the output queue when all pending device operations have completed.
n/a *OPT?

<return_value> ::= 0,0,<license info>

<license info> ::= <All field>, <reserved>, <Enhanced Security>, <Waveform Generator>, <Automotive Serial>, <Aerospace Serial>, <Embedded Serial>, <USB Serial>, <Power Measurements>, <Jitter Analysis>, <reserved>, <reserved>, <reserved>, <Memory 100M>, <Memory 50M>, <Memory 20M>, <Bandwidth 1GHz>, <Bandwidth 500MHz>, <Bandwidth 350MHz>, <Bandwidth 200MHz>, <Demo Partner>, <Demo Keysight>

n/a *OPT? (cont'd)

<All field> ::= {0 | All(d)}

<reserved> ::= 0

<Enhanced Security> ::= {0 | HD3SECURE}

<Waveform Generator> ::= {0 | WAVEGEN}

<Automotive Serial> ::= {0 | HD300AUTA}

<Aerospace Serial> ::= {0 | HD300AERA}

<Embedded Serial> ::= {0 | HD300EMBA}

<USB Serial> ::= {0 | HD300USBA}

<Power Measurements> ::= {0 | HD300PWRA}

<Jitter Analysis> ::= {0 | HD300QJTA}

<Memory 100M> ::= {0 | MEMUP100}

<Memory 50M> ::= {0 | MEMUP50}

<Memory 20M> ::= {0 | MEMUP20}

<Bandwidth 1GHz> ::= {0 | BW1000}

<Bandwidth 500MHz> ::= {0 | BW500}

<Bandwidth 350MHz> ::= {0 | BW350}

<Bandwidth 200MHz> ::= {0 | BW200}

<Demo Partner> ::= {0 | DIS}

<Demo Keysight> ::= {0 | D24}

*RCL {<internal_fname> | <external_fname>} n/a

<internal_fname> ::= quoted ASCII file name string beginning with "/User Files/"

<external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected

*RST | n/a | See *RST (Reset)
*SAV {<internal_fname> | <external_fname>} n/a

<internal_fname> ::= quoted ASCII file name string beginning with "/User Files/"

<external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected

*SRE <mask> *SRE?

<mask> ::= sum of all bits that are set, 0 to 255; an integer in NR1 format. <mask> ::= following values:

Bit Weight Name Enables
--- ------ ---- ----------
 7    128  OPER Operation Status Reg
 6     64  ---- (Not used.)
 5     32  ESB  Event Status Bit
 4     16  MAV  Message Available
 3      8  ---- (Not used.)
 2      4  MSG  Message
 1      2  USR  User
 0      1  TRG  Trigger
n/a *STB?

<value> ::= 0 to 255; an integer in NR1 format, as shown in the following:

Bit Weight Name "1" Indicates
--- ------ ---- ---------------
 7    128  OPER Operation status
                condition occurred.
 6     64  RQS/ Instrument is
           MSS  requesting service.
 5     32  ESB  Enabled event status
                condition occurred.
 4     16  MAV  Message available.
 3      8  ---- (Not used.)
 2      4  MSG  Message displayed.
 1      2  USR  User event
                condition occurred.
 0      1  TRG  A trigger occurred.
*TRG | n/a | n/a
n/a | *TST? | <result> ::= 0 or non-zero value; an integer in NR1 format
*WAI | n/a | n/a

Introduction to Common (*) Commands

The common commands are defined by the IEEE 488.2 standard. They are implemented by all instruments that comply with the IEEE 488.2 standard. They provide some of the basic instrument functions, such as instrument identification and reset, reading the instrument setup, and determining how status is read and cleared.

Common commands can be received and processed by the instrument whether they are sent over the interface as separate program messages or within other program messages. If an instrument subsystem has been selected and a common command is received by the instrument, the instrument remains in the selected subsystem. For example, if the program message ":ACQuire:TYPE AVERage; *CLS; COUNt 256" is received by the instrument, the instrument sets the acquire type, then clears the status information and sets the average count.

In contrast, if a root level command or some other subsystem command is within the program message, you must re-enter the original subsystem after the command. For example, the program message ":ACQuire:TYPE AVERage; :AUToscale; :ACQuire:COUNt 256" sets the acquire type, completes the autoscale, then sets the acquire count. In this example, :ACQuire must be sent again after the :AUToscale command in order to re-enter the ACQuire subsystem and set the count.

[Note]

Each of the status registers has an enable (mask) register. By setting the bits in the enable register, you can select the status information you want to use.


*CLS (Clear Status)

Common (*) Commands

Name

*CLS (Clear Status) —

Command Syntax

*CLS

The *CLS common command clears the status data structures, the device-defined error queue, and the Request-for-OPC flag.

[Note]

If the *CLS command immediately follows a program message terminator, the output queue and the MAV (message available) bit are cleared.

See Also

  • Introduction to Common (*) Commands

  • *STB? (Read Status Byte)

  • *ESE (Standard Event Status Enable)

  • *ESR? (Standard Event Status Register)

  • *SRE (Service Request Enable)

  • :SYSTem:ERRor[:NEXT]?

  • :STATus:PRESet


*ESE (Standard Event Status Enable)

Common (*) Commands

Name

*ESE (Standard Event Status Enable) —

Command Syntax

*ESE <mask_argument>
<mask_argument> ::= integer from 0 to 255

The *ESE common command sets the bits in the Standard Event Status Enable Register. 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 zero disables the bit.

Standard Event Status Enable Register

Standard Event Status Enable (ESE) Register Bits:

Bit | Name | Description | When Set (1 = High = True), Enables:
7 | PON | Power On | Event when an OFF to ON transition occurs.
6 | URQ | User Request | Event when a front-panel key is pressed.
5 | CME | Command Error | Event when a command error is detected.
4 | EXE | Execution Error | Event when an execution error is detected.
3 | DDE | Device Dependent Error | Event when a device-dependent error is detected.
2 | QYE | Query Error | Event when a query error is detected.
1 | RQL | Request Control | Event when the device is requesting control. (Not used.)
0 | OPC | Operation Complete | Event when an operation is complete.

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), an SRQ service request interrupt 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 to the Status Byte Register.

Query Syntax

*ESE?

The *ESE? query returns the current contents of the Standard Event Status Enable Register.

Return Format

<mask_argument><NL>
<mask_argument> ::= 0,..,255; an integer in NR1 format.

See Also

  • Introduction to Common (*) Commands

  • *ESR? (Standard Event Status Register)

  • *OPC (Operation Complete)

  • *CLS (Clear Status)


*ESR? (Standard Event Status Register)

Common (*) Commands

Name

*ESR? (Standard Event Status Register) —

Query Syntax

*ESR?

The *ESR? query returns the contents of the Standard Event Status Register. When you read the Event Status Register, the value returned is the total bit weights of all of the bits that are high at the time you read the byte. Reading the register clears the Event Status Register.

Standard Event Status Register

The following table shows bit weight, name, and condition for each bit.

Standard Event Status Register (ESR):

Bit | Name | Description | When Set (1 = High = True), Indicates:
7 | PON | Power On | An OFF to ON transition has occurred.
6 | URQ | User Request | A front-panel key has been pressed.
5 | CME | Command Error | A command error has been detected.
4 | EXE | Execution Error | An execution error has been detected.
3 | DDE | Device Dependent Error | A device-dependent error has been detected.
2 | QYE | Query Error | A query error has been detected.
1 | RQL | Request Control | The device is requesting control. (Not used.)
0 | OPC | Operation Complete | Operation is complete.

When one of these events occur, the event sets the corresponding bit in the register. If the bits are enabled in the Standard Event Status Enable Register, the bits set in this register generate a summary bit to set bit 5 (ESB) in the Status Byte Register.

Example

The following example uses the *ESR query to read the contents of the Standard Event Status Register.

myScope.WriteString "*ESR?"
varQueryResult = myScope.ReadNumber
MsgBox "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.

Return Format

<status><NL>
<status> ::= 0,..,255; an integer in NR1 format.
[Note]

Reading the Standard Event Status Register clears it. High or 1 indicates the bit is true.

See Also

  • Introduction to Common (*) Commands

  • *ESE (Standard Event Status Enable)

  • *OPC (Operation Complete)

  • *CLS (Clear Status)

  • :SYSTem:ERRor[:NEXT]?


*IDN? (Identification Number)

Common (*) Commands

Name

*IDN? (Identification Number) —

Query Syntax

*IDN?

The *IDN? query identifies the instrument type and software version.

Return Format

<manufacturer_string>,<model>,<serial_number>,X.XX.XX <NL>
<manufacturer_string> ::= KEYSIGHT TECHNOLOGIES
<model> ::= the model number of the instrument
<serial_number> ::= the serial number of the instrument
X.XX.XX ::= the software revision of the instrument

See Also

  • Introduction to Common (*) Commands

  • *OPT? (Option Identification)

  • :SYSTem:PERSona[:MANufacturer]

  • :SYSTem:PERSona[:MANufacturer]:DEFault


*LRN? (Learn Device Setup)

Common (*) Commands

Name

*LRN? (Learn Device Setup) —

Query Syntax

*LRN?

The *LRN? query result contains the current state of the instrument. This query is similar to the :SYSTem:SETup? query, except that it contains ":SYST:SET " before the binary block data. The query result is a valid command that can be used to restore instrument settings at a later time.

Return Format

<learn_string><NL>
<learn_string> ::= :SYST:SET <setup_data>
<setup_data> ::= binary block data in IEEE 488.2 # format

<learn string> specifies the current instrument setup. The block size is subject to change with different firmware revisions.

[Note]

The *LRN? query return format has changed from previous Keysight oscilloscopes to match the IEEE 488.2 specification which says that the query result must contain ":SYST:SET " before the binary block data.

See Also

  • Introduction to Common (*) Commands

  • *RCL (Recall)

  • *SAV (Save)

  • :SYSTem:SETup


*OPC (Operation Complete)

Common (*) Commands

Name

*OPC (Operation Complete) —

Command Syntax

*OPC

The *OPC command sets the operation complete bit in the Standard Event Status Register when all pending device operations have finished.

You can 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.

[Note]

The front-panel graphical user interface can disable most of the remote interface, including the *OPC syntax, in certain situations. Bit 4 in the Operation Status Register shows whether the remote user interface is enabled or disabled. For more information, see :STATus:OPERation:CONDition?.

Query Syntax

*OPC?

The *OPC? query places an ASCII "1" in the output queue when all pending device operations have completed. The interface hangs until this query returns.

The *OPC? query can be used between overlapped commands to make sure one is complete before the next one begins. The *OPC? query can also be used to pause a controller program until an operation is complete.

Return Format

<complete><NL>
<complete> ::= 1

See Also

  • Introduction to Common (*) Commands

  • *ESE (Standard Event Status Enable)

  • *ESR? (Standard Event Status Register)

  • *CLS (Clear Status)

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation[:EVENt]?

  • Sequential (Blocking) vs. Overlapped Commands

  • Synchronization with an Averaging Acquisition

  • Set Up the Oscilloscope

  • Example: Blocking and Polling Synchronization

  • Example: Waiting for IO Operation Complete


*OPT? (Option Identification)

Common (*) Commands

Name

*OPT? (Option Identification) —

Query Syntax

*OPT?

The *OPT? query reports the options installed in the instrument. This query returns a string that identifies the module and its software revision level.

Return Format

0,0,<license info>
<license info> ::= <All field>, <reserved>, <Enhanced Security>,
   <Waveform Generator>, <Automotive Serial>, <Aerospace Serial>,
   <Embedded Serial>, <USB Serial>, <Power Measurements>,
   <Jitter Analysis>, <reserved>, <reserved>, <reserved>,
   <Memory 100M>, <Memory 50M>, <Memory 20M>, <Bandwidth 1GHz>,
   <Bandwidth 500MHz>, <Bandwidth 350MHz>, <Bandwidth 200MHz>,
   <Demo Partner>, <Demo Keysight>
<All field> ::= {0 | All(d)}
<reserved> ::= 0
<Enhanced Security> ::= {0 | HD3SECURE}
<Waveform Generator> ::= {0 | WAVEGEN}
<Automotive Serial> ::= {0 | HD300AUTA}
<Aerospace Serial> ::= {0 | HD300AERA}
<Embedded Serial> ::= {0 | HD300EMBA}
<USB Serial> ::= {0 | HD300USBA}
<Power Measurements> ::= {0 | HD300PWRA}
<Jitter Analysis> ::= {0 | HD300QJTA}
<Memory 100M> ::= {0 | MEMUP100}
<Memory 50M> ::= {0 | MEMUP50}
<Memory 20M> ::= {0 | MEMUP20}
<Bandwidth 1GHz> ::= {0 | BW1000}
<Bandwidth 500MHz> ::= {0 | BW500}
<Bandwidth 350MHz> ::= {0 | BW350}
<Bandwidth 200MHz> ::= {0| BW200}
<Demo Partner> ::= {0 | DIS}
<Demo Keysight> ::= {0 | D24}

The *OPT? query returns the following:

Module | Module Id
No modules attached | 0,0,All(d),0,HD3SECURE(d),WAVEGEN,HD300AUTA,HD300AERA,HD300EMBA,HD300USBA,HD300PWRA,HD300QJTA,0,0,0,MEMUP100,MEMUP50,MEMUP20,BW1000,BW500,BW350,BW200,DIS,D24

See Also

  • Introduction to Common (*) Commands

  • *IDN? (Identification Number)


*RCL (Recall)

Common (*) Commands

Name

*RCL (Recall) —

Command Syntax

*RCL {<internal_fname> | <external_fname>}
<internal_fname> ::= quoted ASCII file name string beginning
   with "/User Files/"
<external_fname> ::= quoted ASCII file name string beginning
   with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending
   on the number of USB storage devices connected

The *RCL command recalls an oscilloscope setup from a file.

See Also

  • Introduction to Common (*) Commands

  • *SAV (Save)

  • :RECall:SETup[:STARt]


*RST (Reset)

Common (*) Commands

Name

*RST (Reset) —

Command Syntax

*RST

The *RST command places the instrument in a known state. This is the same as selecting Factory Default in the graphical user interface's Default dialog box (Control > Default...).

When you perform a factory default setup, there are no user settings that remain unchanged. To perform the equivalent of the front panel's [Default Setup] key, where some user settings (like preferences) remain unchanged, use the :SYSTem:PRESet command.

Reset conditions are:

Acquire Settings
Mode | Normal
Averaging | Off
# Averages | 8
Analog Channel Settings
Channel 1 | On
Channel 2/3/4 | Off
Volts/division | 5.00 V
Offset | 0.00
Coupling | DC
Probe attenuation | AutoProbe (if AutoProbe is connected), otherwise 1.0:1
Vernier | Off
Invert | Off
BW limit | Off
Impedance | 1 M Ohm
Units | Volts
Skew | 0
Cursor Settings
Source Channel 1
Digital Channel Settings
Channel 0 - 15 | Off
Labels | Off
Threshold | TTL (1.4 V)
Display Settings
Persistence | Off
Grid | 20%
Measurement Settings
Source Channel 1
Run Control Settings
Scope is running
Time Base Settings
Main time/division | 100 us
Main time base delay | 0.00 s
Delay time/division | 500 ns
Delay time base delay | 0.00 s
Reference | center
Mode | main
Vernier | Off
Trigger Settings
Type | Edge
Mode | Auto
Coupling | dc
Source | Channel 1
Level | 0.0 V
Slope | Positive
HF Reject and noise reject | Off
Holdoff | 40 ns
External probe attenuation | 1:1
External Units | Volts
External Impedance | 1 M Ohm (cannot be changed)

See Also

  • Introduction to Common (*) Commands

  • :SYSTem:PRESet

Example Code

   ' RESET - This command puts the oscilloscope into a known state.
   ' This statement is very important for programs to work as expected.
   ' Most of the following initialization commands are initialized by
   ' *RST.  It is not necessary to reinitialize them unless the default
   ' setting is not suitable for your application.
   myScope.WriteString "*RST"  ' Reset the oscilloscope to the defaults.

See complete example programs at: Programming Examples


*SAV (Save)

Common (*) Commands

Name

*SAV (Save) —

Command Syntax

*SAV {<internal_fname> | <external_fname>}
<internal_fname> ::= quoted ASCII file name string beginning
   with "/User Files/"
<external_fname> ::= quoted ASCII file name string beginning
   with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending
   on the number of USB storage devices connected

The *SAV command saves the oscilloscope setup to a file.

See Also

  • Introduction to Common (*) Commands

  • *RCL (Recall)

  • :SAVE:SETup[:STARt]


*SRE (Service Request Enable)

Common (*) Commands

Name

*SRE (Service Request Enable) —

Command Syntax

*SRE <mask>
<mask> ::= integer with values defined in the following table.

The *SRE command sets the bits in the Service Request Enable Register. The Service Request Enable Register contains a mask value for the bits to be enabled in the Status Byte Register. A one in the Service Request Enable Register enables the corresponding bit in the Status Byte Register. A zero disables the bit.

Service Request Enable Register

Service Request Enable Register (SRE) Bits:

Bit | Name | Description | When Set (1 = High = True), Enables:
7 | OPER | Operation Status Register | Interrupts when enabled conditions in the Operation Status Register (OPER) occur.
6 | --- | --- | (Not used.)
5 | ESB | Event Status Bit | Interrupts when enabled conditions in the Standard Event Status Register (ESR) occur.
4 | MAV | Message Available | Interrupts when messages are in the Output Queue.
3 | --- | --- | (Not used.)
2 | MSG | Message | Interrupts when an advisory has been displayed on the oscilloscope.
1 | USR | User Event | Interrupts when enabled user event conditions occur.
0 | TRG | Trigger | Interrupts when a trigger occurs.

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).

Query Syntax

*SRE?

The *SRE? query returns the current value of the Service Request Enable Register.

Return Format

<mask><NL>
<mask> ::= sum of all bits that are set, 0,..,255;
           an integer in NR1 format

See Also

  • Introduction to Common (*) Commands

  • *STB? (Read Status Byte)

  • *CLS (Clear Status)


*STB? (Read Status Byte)

Common (*) Commands

Name

*STB? (Read Status Byte) —

Query Syntax

*STB?

The *STB? query returns the current value of the instrument's status byte. The MSS (Master Summary Status) bit is reported on bit 6 instead of the RQS (request service) bit. The MSS indicates whether or not the device has at least one reason for requesting service.

Status Byte Register

Status Byte Register (STB) Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
7 | OPER | Operation Status Register | An enabled condition in the Operation Status Register (OPER) has occurred.
6 | RQS | Request Service | When polled, that the device is requesting service.
 | MSS | Master Summary Status | When read (by *STB?), whether the device has a reason for requesting service.
5 | ESB | Event Status Bit | An enabled condition in the Standard Event Status Register (ESR) has occurred.
4 | MAV | Message Available | There are messages in the Output Queue.
3 | --- | --- | (Not used, always 0.)
2 | MSG | Message | An advisory has been displayed on the oscilloscope.
1 | USR | User Event | An enabled user event condition has occurred.
0 | TRG | Trigger | A trigger has occurred.

[Note]

To read the instrument's status byte with RQS reported on bit 6, use the interface Serial Poll.

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.

The Status Byte Register can be read using either the *STB? Common Command or the programming interface 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? command reads bit 6 as the Master Summary Status (MSS) and does not clear the bit or have any affect 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.

No other bits in the Status Byte Register are cleared by either the *STB? query or the serial poll, except 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? command.

If bit 4 (weight = 16) and bit 5 (weight = 32) are set, the program prints the sum of the two weights. Since these bits were not enabled to generate an SRQ, bit 6 (weight = 64) is not set.

The following example uses the *STB? query to read the contents of the oscilloscope's Status Byte Register.

myScope.WriteString "*STB?"
varQueryResult = myScope.ReadNumber
MsgBox "Status Byte Register, Read: 0x" + Hex(varQueryResult)

The next program prints 0xD1 and clears bit 6 (RQS) and bit 4 (MAV) of the Status Byte Register. The difference in the output 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

The following example uses the resource session object's ReadSTB method to read the contents of the oscilloscope's Status Byte Register.

varQueryResult = myScope.IO.ReadSTB
MsgBox "Status Byte Register, Serial Poll: 0x" + Hex(varQueryResult)
[Note]

Use Serial Polling to Read 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.

Return Format

<value><NL>
<value> ::= 0,..,255; an integer in NR1 format

See Also

  • Introduction to Common (*) Commands

  • *SRE (Service Request Enable)


*TRG (Trigger)

Common (*) Commands

Name

*TRG (Trigger) —

Command Syntax

*TRG

The *TRG command has the same effect as the :DIGitize command with no parameters.

See Also

  • Introduction to Common (*) Commands

  • :DIGitize

  • :RUN

  • :STOP


*TST? (Self Test)

Common (*) Commands

Name

*TST? (Self Test) —

Query Syntax

*TST?

The *TST? query performs a self-test on the instrument. The result of the test is placed in the output queue. A zero indicates the test passed and a non-zero indicates the test failed. If the test fails, refer to the troubleshooting section of the Service Guide.

Return Format

<result><NL>
<result> ::= 0 or non-zero value; an integer in NR1 format

See Also

  • Introduction to Common (*) Commands


*WAI (Wait To Continue)

Common (*) Commands

Name

*WAI (Wait To Continue) —

Command Syntax

*WAI

The *WAI command has no function in the oscilloscope, but is parsed for compatibility with other instruments.

See Also

  • Introduction to Common (*) Commands


Root (:) Commands

Control many of the basic functions of the oscilloscope and reside at the root level of the command tree. See Introduction to Root (:) Commands.

Root (:) Commands Summary:

Command | Query | Options and Query Returns
:ACTivity | :ACTivity? | <return value> ::= <edges>,<levels> <edges> ::= presence of edges (32-bit integer in NR1 format) <levels> ::= logical highs or lows (32-bit integer in NR1 format)
n/a | :AER? | {0 | 1}; an integer in NR1 format
:AUToscale [<source>[,..,<source>]] | n/a | <source> ::= {CHANnel<n> | DIGital<d> | POD1 | POD2} <source> can be repeated up to 5 times <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:AUToscale:AMODe <value> | :AUToscale:AMODe? | <value> ::= {NORMal | CURRent}}
:AUToscale:CHANnels <value> | :AUToscale:CHANnels? | <value> ::= {ALL | DISPlayed}}
:AUToscale:ENABle {{0 | OFF} | {1 | ON}} | :AUToscale:ENABle? | {0 | 1}
:AUToscale:FDEBug {{0 | OFF} | {1 | ON}} | :AUToscale:FDEBug? | {0 | 1}
:BLANk [<source>] | n/a | <source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}} | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:DIGitize [<source>[,..,<source>]] | n/a | <source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}}} <source> can be repeated up to 5 times <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format
n/a | :MODel? [FRAMe] | <return value> ::= string containing the oscilloscope's model number
n/a | :RSTate? | n/a
:RUN | n/a | n/a
n/a | :SERial? | <return value> ::= quoted string containing serial number
:SINGle | n/a | n/a
n/a | :STATus? <display> | {0 | 1} <display> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}} | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:STOP | n/a | n/a
n/a | :TER? | {0 | 1}
:VIEW <source> | n/a | <source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}} | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format

Introduction to Root (:) Commands

Root level commands control many of the basic operations of the instrument. These commands are always recognized by the parser if they are prefixed with a colon, regardless of current command tree position. After executing a root-level command, the parser is positioned at the root of the command tree.


:ACTivity

Root (:) Commands

Name

:ACTivity —

Command Syntax

:ACTivity

The :ACTivity command clears the cumulative edge variables for the next activity query.

Query Syntax

:ACTivity?

The :ACTivity? query returns whether there has been activity (edges) on the digital channels since the last query, and returns the current logic levels.

[Note]

Because the :ACTivity? query returns edge activity since the last :ACTivity? query, you must send this query twice before the edge activity result is valid.

Return Format

<edges>,<levels><NL>
<edges> ::= presence of edges (16-bit integer in NR1 format).
<levels> ::= logical highs or lows (16-bit integer in NR1 format).
bit 0 ::= DIGital 0
bit 15 ::= DIGital 15
[Note]

A bit = 0 (zero) in the <edges> result indicates that no edges were detected on that channel (across the specified threshold voltage) since the last query.

A bit = 1 (one) in the <edges> result indicates that edges have been detected on that channel (across the specified threshold voltage) since the last query.

(The threshold voltage must be set appropriately for the logic levels of the signals being probed.)

See Also

  • Introduction to Root (:) Commands

  • :POD<n>:THReshold

  • :DIGital<d>:THReshold


:AER? (Arm Event Register)

Root (:) Commands

Name

:AER? (Arm Event Register) —

Query Syntax

:AER?

The :AER? query reads the Arm Event Register. After the Arm Event Register is read, it is cleared.

A return value of "1" indicates the trigger system has been in the armed state (ready to accept a trigger) since the register was last read.

A return value of "0" indicates the trigger system has not been in the armed state since the register was last read.

If the Arm Event Register is read (and cleared) while the oscilloscope is RUNNING, it will quickly reset to "1" because the oscilloscope either remains in the armed state when triggers are not being found or re-arms quickly after triggers are found and acquired data is saved.

Likewise, if the Arm Event Register is read (and cleared) while the oscilloscope is performing a SINGLE acquisition and the trigger event has not been found, the Arm Event Register will quickly reset to "1" because the oscilloscope remains in the armed state.

[Note]

The HD3-Series oscilloscope's :AER? query behavior is different than in previous InfiniiVision oscilloscopes where the Arm Event Register is set once once per RUN or SINGLE.

The Arm Event Register is summarized in the Wait Trig bit of the Operation Status Event Register. A Service Request can be generated when the Wait Trig bit transitions and the appropriate enable bits have been set in the Operation Status Enable Register (OPEE) and the Service Request Enable Register (SRE).

[Note]

The :AER? query is an alias for the :STATus:OPERation:ARM:BIT0[:EVENt]? and :STATus:OPERation:ARM[:EVENt]? queries.

Return Format

<value><NL>
<value> ::= {0 | 1}; an integer in NR1 format.

See Also

  • Introduction to Root (:) Commands

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation[:EVENt]?

  • *STB? (Read Status Byte)

  • *SRE (Service Request Enable)

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM[:EVENt]?


:AUToscale

Root (:) Commands

Name

:AUToscale —

Command Syntax

:AUToscale
:AUToscale [<source>[,..,<source>]]
<source> ::= {DIGital<d> | POD1 | POD2 | CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format
The <source> parameter may be repeated up to 5 times.

The :AUToscale command evaluates all input signals and sets the correct conditions to display the signals. This is the same as pressing the [Auto Scale] key on the front panel.

If one or more sources are specified, those specified sources will be enabled and all others blanked. The autoscale channels mode (see :AUToscale:CHANnels) is set to DISPlayed channels. Then, the autoscale is performed.

When the :AUToscale command is sent, the following conditions are affected and actions are taken:

  • Thresholds.

  • Channels with activity around the trigger point are turned on, others are turned off.

  • Channels are reordered on screen; analog channel 1 first, followed by the remaining analog channels, then the digital channels 0-15.

  • Delay is set to 0 seconds.

  • Time/Div.

The :AUToscale command does not affect the following conditions:

  • Label names.

  • Trigger conditioning.

The :AUToscale command turns off the following items:

  • Cursors.

  • Measurements.

  • Math waveforms.

  • Reference waveforms.

  • Zoomed (delayed) time base mode.

For further information on :AUToscale, see the User's Guide.

See Also

  • Introduction to Root (:) Commands

  • :AUToscale:CHANnels

  • :AUToscale:AMODe

Example Code

   ' AUTOSCALE - This command evaluates all the input signals and sets
   ' the correct conditions to display all of the active signals.
   myScope.WriteString ":AUToscale"   ' Same as pressing Auto Scale key.

See complete example programs at: Programming Examples


:AUToscale:AMODe

Root (:) Commands

Name

:AUToscale:AMODe —

Command Syntax

:AUToscale:AMODe <value>
<value> ::= {NORMal | CURRent}

The :AUToscale:AMODe command specifies the acquisition mode that is set by subsequent :AUToscales.

  • When NORMal is selected, an :AUToscale command sets the NORMal acquisition type and the RTIMe (real-time) acquisition mode.

  • When CURRent is selected, the current acquisition type and mode are kept on subsequent :AUToscales.

Use the :ACQuire:TYPE and :ACQuire:MODE commands to set the acquisition type and mode.

Query Syntax

:AUToscale:AMODe?

The :AUToscale:AMODe? query returns the autoscale acquire mode setting.

Return Format

<value><NL>
<value> ::= {NORM | CURR}

See Also

  • Introduction to Root (:) Commands

  • :AUToscale

  • :AUToscale:CHANnels

  • :ACQuire:TYPE

  • :ACQuire:MODE


:AUToscale:CHANnels

Root (:) Commands

Name

:AUToscale:CHANnels —

Command Syntax

:AUToscale:CHANnels <value>
<value> ::= {ALL | DISPlayed}

The :AUToscale:CHANnels command specifies which channels will be displayed on subsequent :AUToscales.

  • When ALL is selected, all channels that meet the requirements of :AUToscale will be displayed.

  • When DISPlayed is selected, only the channels that are turned on are autoscaled.

Use the :VIEW or :BLANk root commands to turn channels on or off.

Query Syntax

:AUToscale:CHANnels?

The :AUToscale:CHANnels? query returns the autoscale channels setting.

Return Format

<value><NL>
<value> ::= {ALL | DISP}

See Also

  • Introduction to Root (:) Commands

  • :AUToscale

  • :AUToscale:AMODe

  • :VIEW

  • :BLANk


:AUToscale:ENABle

Root (:) Commands

Name

:AUToscale:ENABle —

Command Syntax

:AUToscale:ENABle {{0 | OFF} | {1 | ON}}

The :AUToscale:ENABle command disables or enables Autoscale from the oscilloscope's front panel. When disabled, you cannot perform an Autoscale from either the front panel [Auto Scale] key or the Control > Autoscale graphical user interface (GUI) menu item.

This enable/disable setting also appears in the GUI's User Options dialog box, Enhanced Security tab where it can be locked with a password.

Query Syntax

:AUToscale:ENABle?

The :AUToscale:ENABle? query returns the autoscale enable setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}


:AUToscale:FDEBug

Root (:) Commands

Name

:AUToscale:FDEBug —

Command Syntax

:AUToscale:FDEBug <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :AUToscale:FDEBug command turns fast debug auto scaling on or off.

The Fast Debug option changes the behavior of :AUToscale to let you make quick visual comparisons to determine whether the signal being probed is a DC voltage, ground, or an active AC signal.

Channel coupling is maintained for easy viewing of oscillating signals.

Query Syntax

:AUToscale:FDEBug?

The :AUToscale:FDEBug? query returns the current autoscale fast debug setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to Root (:) Commands

  • :AUToscale


:BLANk

Root (:) Commands

Name

:BLANk —

Command Syntax

:BLANk [<source>]
<source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2}
   | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}}
   | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :BLANk command turns off (stops displaying) the specified channel, digital pod, math function, serial decode bus, or reference waveform location. The :BLANk command with no parameter turns off all sources.

[Note]

To turn on (start displaying) a channel, etc., use the :VIEW command. The DISPlay commands, :CHANnel<n>:DISPlay, :FUNCtion:DISPlay, :POD<n>:DISPlay, :DIGital<n>:DISPlay, :SBUS<n>:DISPlay, or :WMEMory<r>:DISPlay, are the preferred method to turn on/off a channel, etc.

[Note]

MATH<m> is an alias for FUNCtion<m>.

See Also

  • Introduction to Root (:) Commands

  • :DISPlay:CLEar

  • :CHANnel<n>:DISPlay

  • :DIGital<d>:DISPlay

  • :FUNCtion<m>:DISPlay

  • :POD<n>:DISPlay

  • :SBUS<n>:DISPlay

  • :WMEMory<r>:DISPlay

  • :STATus?

  • :VIEW

Example Code

  • Example Code


:DIGitize

Root (:) Commands

Name

:DIGitize —

Command Syntax

:DIGitize [<source>[,..,<source>]]
<source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2}
   | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}}}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
The <source> parameter may be repeated up to 5 times.

The :DIGitize command is a specialized RUN command. It causes the instrument to acquire waveforms according to the settings of the :ACQuire commands subsystem. When the acquisition is complete, the instrument is stopped.

If no argument is given, :DIGitize acquires the channels currently displayed. If no channels are displayed, all channels are acquired.

[Note]

The :DIGitize command is only executed when the :TIMebase:MODE is MAIN or WINDow.

[Note]

To halt a :DIGitize in progress, use the device clear command.

[Note]

MATH<m> is an alias for FUNCtion<m>.

See Also

  • Introduction to Root (:) Commands

  • :RUN

  • :SINGle

  • :STOP

  • :TIMebase:MODE

  • :ACQuire Commands

  • :WAVeform Commands

  • Sequential (Blocking) vs. Overlapped Commands

  • Example: Checking for Armed Status

Example Code

  ' Capture an acquisition using :DIGitize.
  ' -----------------------------------------------------------------
  myScope.WriteString ":DIGitize CHANnel1"

See complete example programs at: Programming Examples


:MODel?

Root (:) Commands

Name

:MODel? —

Query Syntax

:MODel? [FRAMe]

The :MODel? query returns the oscilloscope's model number.

The query is the same with or without the FRAMe option.

Return Format:

string<NL>

See Also

  • Introduction to Root (:) Commands


:RSTate?

Root (:) Commands

Name

:RSTate? —

Query Syntax

: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.

Return Format

{RUN | STOP | SING}<NL>

See Also

  • :RUN

  • :SINGle

  • :STOP

  • :STATus:OPERation[:EVENt]?


:RUN

Root (:) Commands

Name

:RUN —

Command Syntax

:RUN

The :RUN command starts repetitive acquisitions. This is the same as pressing the Run key on the front panel.

See Also

  • Introduction to Root (:) Commands

  • :SINGle

  • :STOP

Example Code

   ' RUN_STOP - (not executed in this example)
   '  - RUN starts the data acquisition for the active waveform display.
   '  - STOP stops the data acquisition and turns off AUTOSTORE.
   ' myScope.WriteString ":RUN"   ' Start data acquisition.
   ' myScope.WriteString ":STOP"   ' Stop the data acquisition.

See complete example programs at: Programming Examples


:SERial?

Root (:) Commands

Name

:SERial? —

Query Syntax

:SERial?

The :SERial? query returns the serial number of the instrument.

Return Format:

Quoted string<NL>

See Also

  • Introduction to Root (:) Commands

  • Commands Not Supported in Multiple Program Message Units


:SINGle

Root (:) Commands

Name

:SINGle —

Command Syntax

:SINGle

The :SINGle command causes the instrument to acquire a single trigger of data. This is the same as pressing the Single key on the front panel.

See Also

  • Introduction to Root (:) Commands

  • :RUN

  • :STOP


:STATus?

Root (:) Commands

Name

:STATus? —

Query Syntax

:STATus? <source>
<source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2}
   | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}}
   | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :STATus? query reports whether the channel, function, serial decode bus, or reference waveform location specified by <source> is displayed.

[Note]

MATH<m> is an alias for FUNCtion<m>.

Return Format

<value><NL>
<value> ::= {1 | 0}

See Also

  • Introduction to Root (:) Commands

  • :BLANk

  • :CHANnel<n>:DISPlay

  • :DIGital<d>:DISPlay

  • :FUNCtion<m>:DISPlay

  • :POD<n>:DISPlay

  • :SBUS<n>:DISPlay

  • :WMEMory<r>:DISPlay

  • :VIEW


:STOP

Root (:) Commands

Name

:STOP —

Command Syntax

:STOP

The :STOP command stops the acquisition. This is the same as pressing the Stop key on the front panel.

See Also

  • Introduction to Root (:) Commands

  • :RUN

  • :SINGle

Example Code

  • Example Code


:TER? (Trigger Event Register)

Root (:) Commands

Name

:TER? (Trigger Event Register) —

Query Syntax

:TER?

The :TER? query reads the Trigger Event Register. After the Trigger Event Register is read, it is cleared.

A return value of "1" indicates a trigger has occurred since the register was last read.

A return value of "0" indicates a trigger has not occurred since the register was last read.

The Trigger Event Register is summarized in the TRG bit of the Status Byte Register (STB). A Service Request (SRQ) can be generated when the TRG bit of the Status Byte transitions, and the TRG bit is set in the Service Request Enable register. The Trigger Event Register must be cleared each time you want a new service request to be generated.

[Note]

The :TER? query is an alias for the :STATus:TRIGger:BIT0[:EVENt]? and :STATus:TRIGger[:EVENt]? queries.

Return Format

<value><NL>
<value> ::= {1 | 0}; a 16-bit integer in NR1 format.

See Also

  • Introduction to Root (:) Commands

  • *SRE (Service Request Enable)

  • *STB? (Read Status Byte)

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger[:EVENt]?


:VIEW

Root (:) Commands

Name

:VIEW —

Command Syntax

:VIEW <source>
<source> ::= {CHANnel<n> | DIGital<d> | POD{1 | 2} | BUS{1 | 2}
   | FUNCtion<m> | MATH<m> | FFT | {PBUS{1 | 2} | SBUS{1 | 2}}
   | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :VIEW command turns on the specified channel, function, serial decode bus, or reference waveform location.

[Note]

MATH<m> is an alias for FUNCtion<m>.

See Also

  • Introduction to Root (:) Commands

  • :BLANk

  • :CHANnel<n>:DISPlay

  • :DIGital<d>:DISPlay

  • :FUNCtion<m>:DISPlay

  • :POD<n>:DISPlay

  • :SBUS<n>:DISPlay

  • :WMEMory<r>:DISPlay

  • :STATus?

Example Code

   ' VIEW_BLANK - (not executed in this example)
   '  - VIEW turns on (starts displaying) a channel.
   '  - BLANK turns off (stops displaying) a channel.
   ' myScope.WriteString ":BLANk CHANnel1"   ' Turn channel 1 off.
   ' myScope.WriteString ":VIEW CHANnel1"   ' Turn channel 1 on.

See complete example programs at: Programming Examples


:ACQuire Commands

Set the parameters for acquiring and storing data. See Introduction to :ACQuire Commands.

:ACQuire Commands Summary:

Command | Query | Options and Query Returns
n/a | :ACQuire:AALias? | {1 | 0}
:ACQuire:COMPlete <complete> | :ACQuire:COMPlete? | <complete> ::= 100; an integer in NR1 format
:ACQuire:COUNt <count> | :ACQuire:COUNt? | <count> ::= an integer from 2 to 65536 in NR1 format
:ACQuire:DAALias <mode> | :ACQuire:DAALias? | <mode> ::= {DISable | AUTO}
:ACQuire:DIGitizer {{0 | OFF} | {1 | ON}} | :ACQuire:DIGitizer? | {0 | 1}
:ACQuire:MANual {{0 | OFF} | {1 | ON}} | :ACQuire:MANual? | {0 | 1}
n/a | :ACQuire:MANual:POINts? | <gui_setting> ::= Max Memory Depth setting in NR1 format
n/a | :ACQuire:MANual:SRATe? | <gui_setting> ::= Max Sample Rate setting in NR3 format
:ACQuire:MODE <mode> | :ACQuire:MODE? | <mode> ::= {RTIMe | ETIMe | SEGMented}
:ACQuire:POINts[:ANALog] <points> | :ACQuire:POINts[:ANALog]? | <points> ::= {AUTO | <points_value>} <points_value> ::= desired analog memory depth in integer NR1 format
:ACQuire:POINts[:ANALog]:AUTO {{0 | OFF} | {1 | ON}} | :ACQuire:POINts[:ANALog]:AUTO? | {0 | 1}
n/a | :ACQuire:POINts:MAX? | <max_points> ::= an integer in NR1 format
:ACQuire:SEGMented:ANALyze | n/a | n/a
:ACQuire:SEGMented:COUNt <count> | :ACQuire:SEGMented:COUNt? | <count> ::= an integer in NR1 format
:ACQuire:SEGMented:INDex <index> | :ACQuire:SEGMented:INDex? | <index> ::= an integer in NR1 format
:ACQuire:SRATe[:ANALog] <rate> | :ACQuire:SRATe[:ANALog]? | <rate> ::= {AUTO | <sample_rate>} <sample_rate> ::= desired analog sample rate in NR3 format
:ACQuire:SRATe[:ANALog]:AUTO {{0 | OFF} | {1 | ON}} | :ACQuire:SRATe[:ANALog]:AUTO? | {0 | 1}
:ACQuire:TYPE <type> | :ACQuire:TYPE? | <type> ::= {NORMal | AVERage | PEAK}

Introduction to :ACQuire Commands

The ACQuire subsystem controls the way in which waveforms are acquired. These acquisition types are available: normal, averaging, peak detect, and high resolution.

Normal. The :ACQuire:TYPE NORMal command sets the oscilloscope in the normal acquisition mode. For the majority of user models and signals, NORMal mode yields the best oscilloscope picture of the waveform.

Averaging. The :ACQuire:TYPE AVERage command sets the oscilloscope in the averaging mode. You can set the count by sending the :ACQuire:COUNt command followed by the number of averages. In this mode, the value for averages is an integer from 2 to 65536. The COUNt value determines the number of averages that must be acquired.

Peak Detect. The :ACQuire:TYPE PEAK command sets the oscilloscope in the peak detect mode. In this mode, :ACQuire:COUNt has no meaning.

Reporting the Setup. Use :ACQuire? to query setup information for the ACQuire subsystem.

Return Format. The following is a sample response from the :ACQuire? query. In this case, the query was issued following a *RST command.

:ACQ:MODE RTIM;TYPE NORM;COMP 100;COUNT 8;SEGM:COUN 2


:ACQuire:AALias?

:ACQuire Commands

Name

:ACQuire:AALias? —

Query Syntax

:ACQuire:AALias?

The :ACQuire:AALias? query returns the current state of the oscilloscope acquisition anti-alias control. This control can be directly disabled or disabled automatically.

Return Format

<value><NL>
<value> ::= {1 | 0}

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:DAALias


:ACQuire:COMPlete

:ACQuire Commands

Name

:ACQuire:COMPlete —

Command Syntax

:ACQuire:COMPlete <complete>
<complete> ::= 100; an integer in NR1 format

The :ACQuire:COMPlete command affects the operation of the :DIGitize command. It specifies the minimum completion criteria for an acquisition. The parameter determines the percentage of the time buckets that must be "full" before an acquisition is considered complete. If :ACQuire:TYPE is NORMal, it needs only one sample per time bucket for that time bucket to be considered full.

The only legal value for the :COMPlete command is 100. All time buckets must contain data for the acquisition to be considered complete.

Query Syntax

:ACQuire:COMPlete?

The :ACQuire:COMPlete? query returns the completion criteria (100) for the currently selected mode.

Return Format

<completion_criteria><NL>
<completion_criteria> ::= 100; an integer in NR1 format

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:TYPE

  • :DIGitize

  • :WAVeform:POINts

Example Code

   ' ACQUIRE_COMPLETE - Specifies the minimum completion criteria for
   ' an acquisition.  The parameter determines the percentage of time
   ' buckets needed to be "full" before an acquisition is considered
   ' to be complete.
   myScope.WriteString ":ACQuire:COMPlete 100"

See complete example programs at: Programming Examples


:ACQuire:COUNt

:ACQuire Commands

Name

:ACQuire:COUNt —

Command Syntax

:ACQuire:COUNt <count>
<count> ::= integer in NR1 format

In averaging mode, the :ACQuire:COUNt command specifies the number of values to be averaged for each time bucket before the acquisition is considered to be complete for that time bucket. When :ACQuire:TYPE is set to AVERage, the count can be set to any value from 2 to 65536.

Query Syntax

:ACQuire:COUNt?

The :ACQuire:COUNt? query returns the currently selected count value for averaging mode.

Return Format

<count_argument><NL>
<count_argument> ::= an integer from 2 to 65536 in NR1 format

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:TYPE

  • :DIGitize

  • :WAVeform:COUNt?


:ACQuire:DAALias

:ACQuire Commands

Name

:ACQuire:DAALias —

Command Syntax

:ACQuire:DAALias <mode>
<mode> ::= {DISable | AUTO}

The :ACQuire:DAALias command sets the disable anti-alias mode of the oscilloscope.

When set to DISable, anti-alias is always disabled. This is good for cases where dithered data is not desired.

When set to AUTO, the oscilloscope turns off anti-alias control as needed. Such cases are when the FFT or differentiate math functions are silent. The :DIGitize command always turns off the anti-alias control as well.

Query Syntax

:ACQuire:DAALias?

The :ACQuire:DAALias? query returns the oscilloscope's current disable anti-alias mode setting.

Return Format

<mode><NL>
<mode> ::= {DIS | AUTO}

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:AALias?


:ACQuire:DIGitizer

:ACQuire Commands

Name

:ACQuire:DIGitizer —

Command Syntax

:ACQuire:DIGitizer {{0 | OFF} | {1 | ON}}

The :ACQuire:DIGitizer command turns enables or disables Digitizer mode where analog channel sample rate and memory depth are manually specified:

  • OFF — the analog channel sample rate and memory depth are automatically determined by the oscilloscope based on the horizontal time/div setting. This is called Automatic mode, and it is the oscilloscope's default.

    This setting is equivalent to sending these two commands:

    • :ACQuire:SRATe[:ANALog]:AUTO ON

    • :ACQuire:POINts[:ANALog]:AUTO ON

    In Automatic mode, the oscilloscope's time per division setting determines the sample rate and memory depth so as to fill the waveform display with data while the oscilloscope is running (continuously making acquisitions). For single acquisitions, the time/division setting still determines the sample rate, but the maximum amount of acquisition memory is used.

  • ON — the analog channel sample rate and memory depth are set using the :ACQuire:SRATe[:ANALog] and :ACQuire:POINts[:ANALog] commands. This is called Digitizer mode. Digitizer mode primarily aids external software that controls and combines data from multiple instruments.

    This setting is equivalent to sending these two commands:

    • :ACQuire:SRATe[:ANALog]:AUTO OFF

    • :ACQuire:POINts[:ANALog]:AUTO OFF

    In Digitizer mode, you choose the acquisition sample rate and memory depth, and those settings are used even though the captured data may extend way beyond the edges of, or take up just a small portion of, the waveform display, depending on the oscilloscope's time/div setting.

    Digitizer mode cannot be used along with these other oscilloscope features: XY and Roll time modes, horizontal Zoom display, time references other than Center, segmented memory, serial decode, digital channels, frequency response analysis, mask test, and the power application. In most cases, enabling one of these features when Digitizer mode is enabled will automatically disable Digitizer mode, and then disabling the feature will automatically reenable Digitizer mode.

The :ACQuire:DIGitizer command is an alias for :ACQuire:MANual.

Query Syntax

:ACQuire:DIGitizer?

The :ACQuire:DIGitizer? query returns whether Digitizer mode is off or on.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :ACQuire:SRATe[:ANALog]:AUTO

  • :ACQuire:POINts[:ANALog]:AUTO

  • :ACQuire:MANual

  • :ACQuire:SRATe[:ANALog]

  • :ACQuire:POINts[:ANALog]


:ACQuire:MANual

:ACQuire Commands

Name

:ACQuire:MANual —

Command Syntax

:ACQuire:MANual {{0 | OFF} | {1 | ON}}

The :ACQuire:MANual command enables or disables Automatic mode where analog channel sample rate and memory depth are automatically determined based on the horizontal time/div setting:

  • OFF — the analog channel sample rate and memory depth are automatically determined by the oscilloscope based on the horizontal time/div setting. This is called Automatic mode, and it is the oscilloscope's default.

    This setting is equivalent to sending these two commands:

    • :ACQuire:SRATe[:ANALog]:AUTO ON

    • :ACQuire:POINts[:ANALog]:AUTO ON

    In Automatic mode, the oscilloscope's time per division setting determines the sample rate and memory depth so as to fill the waveform display with data while the oscilloscope is running (continuously making acquisitions). For single acquisitions, the time/division setting still determines the sample rate, but the maximum amount of acquisition memory is used.

  • ON — the analog channel sample rate and memory depth are set using the :ACQuire:SRATe[:ANALog] and :ACQuire:POINts[:ANALog] commands. This is called Digitizer mode. Digitizer mode primarily aids external software that controls and combines data from multiple instruments.

    This setting is equivalent to sending these two commands:

    • :ACQuire:SRATe[:ANALog]:AUTO OFF

    • :ACQuire:POINts[:ANALog]:AUTO OFF

    In Digitizer mode, you choose the acquisition sample rate and memory depth, and those settings are used even though the captured data may extend way beyond the edges of, or take up just a small portion of, the waveform display, depending on the oscilloscope's time/div setting.

    Digitizer mode cannot be used along with these other oscilloscope features: XY and Roll time modes, horizontal Zoom display, time references other than Center, segmented memory, serial decode, digital channels, frequency response analysis, mask test, and the power application. In most cases, enabling one of these features when Digitizer mode is enabled will automatically disable Digitizer mode, and then disabling the feature will automatically reenable Digitizer mode.

The :ACQuire:MANual command is an alias for :ACQuire:DIGitizer.

Query Syntax

:ACQuire:MANual?

The :ACQuire:MANual? query returns the automatic analog sample rate setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :ACQuire:SRATe[:ANALog]:AUTO

  • :ACQuire:POINts[:ANALog]:AUTO

  • :ACQuire:DIGitizer

  • :ACQuire:SRATe[:ANALog]

  • :ACQuire:POINts[:ANALog]


:ACQuire:MANual:POINts?

:ACQuire Commands

Name

:ACQuire:MANual:POINts? —

Query Syntax

:ACQuire:MANual:POINts?

The :ACQuire:MANual:POINts? query returns the User memory depth graphical user interface setting (whether Auto memory depth is enabled or not).

To disable (or enable) automatic memory depth determination, use the :ACQuire:POINts[:ANALog]:AUTO command.

The actual analog channel memory depth is set and queried using the :ACQuire:POINts[:ANALog] command/query.

Return Format

<gui_setting><NL>
<gui_setting> ::= User memory depth setting in NR1 format

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:POINts[:ANALog]:AUTO

  • :ACQuire:POINts[:ANALog]

  • :ACQuire:MANual:SRATe?


:ACQuire:MANual:SRATe?

:ACQuire Commands

Name

:ACQuire:MANual:SRATe? —

Query Syntax

:ACQuire:MANual:SRATe?

The :ACQuire:MANual:SRATe? query returns the User sample rate graphical user interface setting (whether Auto sample rate is enabled or not).

To disable (or enable) automatic sample rate determination, use the :ACQuire:SRATe[:ANALog]:AUTO command.

The actual analog channel sample rate is set and queried using the :ACQuire:SRATe[:ANALog] command/query.

Return Format

<gui_setting><NL>
<gui_setting> ::= User sample rate setting in NR3 format

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:SRATe[:ANALog]:AUTO

  • :ACQuire:SRATe[:ANALog]

  • :ACQuire:MANual:POINts?


:ACQuire:MODE

:ACQuire Commands

Name

:ACQuire:MODE —

Command Syntax

:ACQuire:MODE <mode>
<mode> ::= {RTIMe | SEGMented}

The :ACQuire:MODE command sets the acquisition mode of the oscilloscope.

  • The :ACQuire:MODE RTIMe command sets the oscilloscope in real time mode.

    [Note]

    The obsolete command ACQuire:TYPE:REALtime is functionally equivalent to sending ACQuire:MODE RTIMe; TYPE NORMal.

  • The :ACQuire:MODE SEGMented command sets the oscilloscope in segmented memory mode.

Query Syntax

:ACQuire:MODE?

The :ACQuire:MODE? query returns the acquisition mode of the oscilloscope.

Return Format

<mode_argument><NL>
<mode_argument> ::= {RTIM | SEGM}

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:TYPE


:ACQuire:POINts[:ANALog]

:ACQuire Commands

Name

:ACQuire:POINts[:ANALog] —

Command Syntax

:ACQuire:POINts[:ANALog] <points>
<points> ::= {AUTO | <points_value>}
<points_value> ::= desired analog memory depth in integer NR1 format

Sets the desired acquisition memory depth.

  • AUTO — specifies that the analog channel memory depth be automatically determined. It is the same as sending the ":ACQuire:POINts[:ANALog]:AUTO ON" command.

  • <points_value> — sets the analog channel memory depth to the specified value. The :ACQuire:POINts[:ANALog]:AUTO setting will be OFF (if it was not already OFF).

The actual memory depth used is returned by the :ACQuire:POINts[:ANALog]? query.

For :SINGle acquisitions, the requested memory depth is used. When the oscilloscope is running (:RUN command, continuously making acquisitions) or when the :DIGitize command is used, the requested amount of memory is smaller.

Query Syntax

:ACQuire:POINts[:ANALog]?

The :ACQuire:POINts[:ANALog]? query returns the number of data points that the hardware will acquire from the input signal. The number of points acquired is not directly controllable. To set the number of points to be transferred from the oscilloscope, use the command :WAVeform:POINts. The :WAVeform:POINts? query will return the number of points available to be transferred from the oscilloscope.

Return Format

<points_argument><NL>
<points_argument> ::= an integer in NR1 format

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:POINts[:ANALog]:AUTO

  • :ACQuire:SRATe[:ANALog]


:ACQuire:POINts[:ANALog]:AUTO

:ACQuire Commands

Name

:ACQuire:POINts[:ANALog]:AUTO —

Command Syntax

:ACQuire:POINts[:ANALog]:AUTO {{0 | OFF} | {1 | ON}}

The :ACQuire:POINts[:ANALog]:AUTO command enables or disables automatic determination of the analog channel memory depth:

  • ON — the analog channel memory depth is automatically determined as described in the following table.

  • OFF — the analog channel memory depth is set using the :ACQuire:POINts[:ANALog] command.

There are four combinations of the "auto" versus "manual" settings for sample rate and memory depth:

:ACQuire:SRATe:AUTO
ON OFF (manual)
:ACQuire:POINts:AUTO ON

This is called Automatic mode. It is the oscilloscope's default. While the oscilloscope is running (continuously making acquisitions), the oscilloscope's time per division setting determines the sample rate and memory depth so as to fill the screen2 with data.

For single acquisitions, the time/division setting still determines the sample rate, but the maximum amount of acquisition memory is used.

See :ACQuire:MANual.

You choose the desired sample rate1 and the memory depth is adjusted to fill the screen2 with data at the current time/div setting.

The time/div limits are adjusted so that the display can be filled with data at the specified sample rate without exceeding the memory depth.

For single acquisitions, the maximum amount of acquisition memory is used.

See :ACQuire:SRATe[:ANALog].

OFF (manual)

You choose the desired memory depth and the sample rate is calculated to be as fast as possible while still being able to fill the screen with data at the current time/div setting.

The specified number of points is acquired when running or when making single acquisitions.

See :ACQuire:POINts[:ANALog].

This is called Digitizer mode. You choose the desired acquisition sample rate1 and memory depth, and the time/div setting is adjusted, if necessary, to fill the screen with data.

The specified number of points is acquired when running or when making single acquisitions.

The actual sample rate and memory depth used are displayed in the dialog box.

Digitizer mode primarily aids external software that controls and combines data from multiple instruments.

See :ACQuire:DIGitizer.

1 Rounded up to the nearest valid sample rate. Sample rates must be a power-of-two factor of the maximum sample rate (for example, 3.2 GSa/s, 1.6 GSa/s, 800 MSa/s, etc.).

2 At least two screens of data are acquired at 2 μs/div and below. One screen of data is acquired above 2 μs/div.

When Manual Values Are Not Available

Only the ON selection is allowed for :ACQuire:POINts[:ANALog]:AUTO and :ACQuire:SRATe[:ANALog]:AUTO when:

  • When digital channels are on.

  • When the XY or Roll time modes are selected.

  • When segmented memory is on.

  • When mask test is on.

Query Syntax

:ACQuire:POINts[:ANALog]:AUTO?

The :ACQuire:POINts[:ANALog]:AUTO? query returns the automatic analog memory depth setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :ACQuire:MANual

  • :ACQuire:DIGitizer

  • :ACQuire:POINts[:ANALog]

  • :ACQuire:SRATe[:ANALog]


:ACQuire:POINts:MAX?

:ACQuire Commands

Name

:ACQuire:POINts:MAX? —

Query Syntax

:ACQuire:POINts:MAX?

The :ACQuire:POINts:MAX? query returns the oscilloscope's acquisition points maximum limit.

This query is intended to be used when manual memory depth selection is enabled (for example, when ":ACQuire:POINts[:ANALog]:AUTO OFF" or ":ACQuire:POINts:ANALog <points_value>" have been sent). Otherwise, when automatic memory depth is used, the absolute maximum number of points possible is always returned.

Return Format

<max_points><NL>
<max_points> ::= an integer in NR1 format

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:SRATe[:ANALog]

  • :ACQuire:POINts[:ANALog]:AUTO

  • :ACQuire:POINts[:ANALog]

  • :ACQuire:MANual

  • :ACQuire:DIGitizer

  • :DIGitize

  • :WAVeform:POINts


:ACQuire:SEGMented:ANALyze

:ACQuire Commands

Name

:ACQuire:SEGMented:ANALyze —

Command Syntax

:ACQuire:SEGMented:ANALyze

This command calculates measurement statistics and/or infinite persistence over all segments that have been acquired. It corresponds to the graphical user interface Analyze Segments button which appears in the Segmented dialog box.

In order to use this command, the oscilloscope must be stopped and in segmented acquisition mode, with either measurements, infinite persistence, histograms, or protocol listing on.

See Also

  • :ACQuire:MODE

  • :ACQuire:SEGMented:COUNt

  • Introduction to :ACQuire Commands


:ACQuire:SEGMented:COUNt

:ACQuire Commands

Name

:ACQuire:SEGMented:COUNt —

Command Syntax

:ACQuire:SEGMented:COUNt <count>
<count> ::= an integer in NR1 format

The :ACQuire:SEGMented:COUNt command sets the number of memory segments to acquire.

The segmented memory acquisition mode is enabled with the :ACQuire:MODE command, and data is acquired using the :DIGitize, :SINGle, or :RUN commands. The number of memory segments in the current acquisition is returned by the :WAVeform:SEGMented:COUNt? query.

The maximum number of segments may be limited by the memory depth of your oscilloscope.

Query Syntax

:ACQuire:SEGMented:COUNt?

The :ACQuire:SEGMented:COUNt? query returns the current count setting.

Return Format

<count><NL>
<count> ::= an integer in NR1 format

See Also

  • :ACQuire:MODE

  • :DIGitize

  • :SINGle

  • :RUN

  • :WAVeform:SEGMented:COUNt?

  • :ACQuire:SEGMented:ANALyze

  • Introduction to :ACQuire Commands

Example Code

  • Example Code


:ACQuire:SEGMented:INDex

:ACQuire Commands

Name

:ACQuire:SEGMented:INDex —

Command Syntax

:ACQuire:SEGMented:INDex <index>
<index> ::= an integer in NR1 format

The :ACQuire:SEGMented:INDex command sets the index into the memory segments that have been acquired.

The segmented memory acquisition mode is enabled with the :ACQuire:MODE command. The number of segments to acquire is set using the :ACQuire:SEGMented:COUNt command, and data is acquired using the :DIGitize, :SINGle, or :RUN commands. The number of memory segments that have been acquired is returned by the :WAVeform:SEGMented:COUNt? query. The time tag of the currently indexed memory segment is returned by the :WAVeform:SEGMented:TTAG? query.

The maximum number of segments may be limited by the memory depth of your oscilloscope.

Query Syntax

:ACQuire:SEGMented:INDex?

The :ACQuire:SEGMented:INDex? query returns the current segmented memory index setting.

Return Format

<index><NL>
<index> ::= an integer in NR1 format

See Also

  • :ACQuire:MODE

  • :ACQuire:SEGMented:COUNt

  • :DIGitize

  • :SINGle

  • :RUN

  • :WAVeform:SEGMented:COUNt?

  • :WAVeform:SEGMented:TTAG?

  • :ACQuire:SEGMented:ANALyze

  • Introduction to :ACQuire Commands

Example Code

' Segmented memory commands example.
' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.

  ' Turn on segmented memory acquisition mode.
  myScope.WriteString ":ACQuire:MODE SEGMented"
  myScope.WriteString ":ACQuire:MODE?"
  strQueryResult = myScope.ReadString
  Debug.Print "Acquisition mode: " + strQueryResult

  ' Set the number of segments to 25.
  myScope.WriteString ":ACQuire:SEGMented:COUNt 25"
  myScope.WriteString ":ACQuire:SEGMented:COUNt?"
  strQueryResult = myScope.ReadString
  Debug.Print "Acquisition memory segments: " + strQueryResult

  ' If data will be acquired within the IO timeout:
  myScope.IO.Timeout = 10000
  myScope.WriteString ":DIGitize"
  Debug.Print ":DIGitize blocks until all segments acquired."
  myScope.WriteString ":WAVeform:SEGMented:COUNt?"
  varQueryResult = myScope.ReadNumber

  ' Or, to poll until the desired number of segments acquired:
  myScope.WriteString ":SINGle"
  Debug.Print ":SINGle does not block until all segments acquired."
  Do
    Sleep 100   ' Small wait to prevent excessive queries.
    myScope.WriteString ":WAVeform:SEGMented:COUNt?"
    varQueryResult = myScope.ReadNumber
  Loop Until varQueryResult = 25

  Debug.Print "Number of segments in acquired data: " _
      + FormatNumber(varQueryResult)

  Dim lngSegments As Long
  lngSegments = varQueryResult

  ' For each segment:
  Dim dblTimeTag As Double
  Dim lngI As Long

  For lngI = lngSegments To 1 Step -1

    ' Set the segmented memory index.
    myScope.WriteString ":ACQuire:SEGMented:INDex " + CStr(lngI)
    myScope.WriteString ":ACQuire:SEGMented:INDex?"
    strQueryResult = myScope.ReadString
    Debug.Print "Acquisition memory segment index: " + strQueryResult

    ' Display the segment time tag.
    myScope.WriteString ":WAVeform:SEGMented:TTAG?"
    dblTimeTag = myScope.ReadNumber
    Debug.Print "Segment " + CStr(lngI) + " time tag: " _
        + FormatNumber(dblTimeTag, 12)

  Next lngI

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub


:ACQuire:SRATe[:ANALog]

:ACQuire Commands

Name

:ACQuire:SRATe[:ANALog] —

Command Syntax

:ACQuire:SRATe[:ANALog] <rate>
<rate> ::= {AUTO | <sample_rate>}
<sample_rate> ::= desired analog sample rate in NR3 format

Sets the desired acquisition sample rate:

  • AUTO — specifies that the analog channel sample rate be automatically determined. It is the same as sending the ":ACQuire:SRATe[:ANALog]:AUTO ON" command.

  • <sample_rate> — sets the analog channel sample rate to the specified value. The :ACQuire:SRATe[:ANALog]:AUTO setting will be OFF (if it was not already OFF).

The actual sample rate used is returned by the :ACQuire:SRATe[:ANALog]? query.

Query Syntax

:ACQuire:SRATe[:ANALog]? [MAXimum]

The :ACQuire:SRATe[:ANALog]? query returns the current oscilloscope acquisition sample rate. The sample rate is not directly controllable.

When the MAXimum parameter is used, the oscilloscope's maximum possible sample rate is returned.

Return Format

<sample_rate><NL>
<sample_rate> ::= sample rate in NR3 format

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:SRATe[:ANALog]:AUTO

  • :ACQuire:POINts[:ANALog]


:ACQuire:SRATe[:ANALog]:AUTO

:ACQuire Commands

Name

:ACQuire:SRATe[:ANALog]:AUTO —

Command Syntax

:ACQuire:SRATe[:ANALog]:AUTO {{0 | OFF} | {1 | ON}}

The :ACQuire:SRATe[:ANALog]:AUTO command enables or disables automatic determination of the analog channel sample rate:

  • ON — the analog channel sample rate is automatically determined as described in the following table.

  • OFF — the analog channel sample rate is set using the :ACQuire:SRATe[:ANALog] command.

There are four combinations of the "auto" versus "manual" settings for sample rate and memory depth:

:ACQuire:SRATe:AUTO
ON OFF (manual)
:ACQuire:POINts:AUTO ON

This is called Automatic mode. It is the oscilloscope's default. While the oscilloscope is running (continuously making acquisitions), the oscilloscope's time per division setting determines the sample rate and memory depth so as to fill the screen2 with data.

For single acquisitions, the time/division setting still determines the sample rate, but the maximum amount of acquisition memory is used.

See :ACQuire:MANual.

You choose the desired sample rate1 and the memory depth is adjusted to fill the screen2 with data at the current time/div setting.

The time/div limits are adjusted so that the display can be filled with data at the specified sample rate without exceeding the memory depth.

For single acquisitions, the maximum amount of acquisition memory is used.

See :ACQuire:SRATe[:ANALog].

OFF (manual)

You choose the desired memory depth and the sample rate is calculated to be as fast as possible while still being able to fill the screen with data at the current time/div setting.

The specified number of points is acquired when running or when making single acquisitions.

See :ACQuire:POINts[:ANALog].

This is called Digitizer mode. You choose the desired acquisition sample rate1 and memory depth, and the time/div setting is adjusted, if necessary, to fill the screen with data.

The specified number of points is acquired when running or when making single acquisitions.

The actual sample rate and memory depth used are displayed in the dialog box.

Digitizer mode primarily aids external software that controls and combines data from multiple instruments.

See :ACQuire:DIGitizer.

1 Rounded up to the nearest valid sample rate. Sample rates must be a power-of-two factor of the maximum sample rate (for example, 3.2 GSa/s, 1.6 GSa/s, 800 MSa/s, etc.).

2 At least two screens of data are acquired at 2 μs/div and below. One screen of data is acquired above 2 μs/div.

When Manual Values Are Not Available

Only the ON selection is allowed for :ACQuire:POINts[:ANALog]:AUTO and :ACQuire:SRATe[:ANALog]:AUTO when:

  • When digital channels are on.

  • When the XY or Roll time modes are selected.

  • When segmented memory is on.

  • When mask test is on.

Query Syntax

:ACQuire:SRATe[:ANALog]:AUTO?

The :ACQuire:SRATe[:ANALog]:AUTO? query returns the automatic analog sample rate setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :ACQuire:MANual

  • :ACQuire:DIGitizer

  • :ACQuire:SRATe[:ANALog]

  • :ACQuire:POINts[:ANALog]


:ACQuire:TYPE

:ACQuire Commands

Name

:ACQuire:TYPE —

Command Syntax

:ACQuire:TYPE <type>
<type> ::= {NORMal | AVERage | PEAK}

The :ACQuire:TYPE command selects the type of data acquisition that is to take place. The acquisition types are:

  • NORMal — sets the oscilloscope in the normal mode.

  • AVERage — sets the oscilloscope in the averaging mode. You can set the count by sending the :ACQuire:COUNt command followed by the number of averages. In this mode, the value for averages is an integer from 1 to 65536. The COUNt value determines the number of averages that must be acquired.

    The AVERage type is not available when in segmented memory mode (:ACQuire:MODE SEGMented).

  • PEAK — sets the oscilloscope in the peak detect mode. In this mode, :ACQuire:COUNt has no meaning.

The AVERage type can give you extra bits of vertical resolution. See the User's Guide for an explanation. When getting waveform data acquired using the AVERage type, be sure to use the WORD or ASCii waveform data formats to get the extra bits of vertical resolution.

[Note]

The obsolete command ACQuire:TYPE:REALtime is functionally equivalent to sending ACQuire:MODE RTIME; TYPE NORMal.

Query Syntax

:ACQuire:TYPE?

The :ACQuire:TYPE? query returns the current acquisition type.

Return Format

<acq_type><NL>
<acq_type> ::= {NORM | AVER | PEAK}

See Also

  • Introduction to :ACQuire Commands

  • :ACQuire:COUNt

  • :ACQuire:MODE

  • :DIGitize

  • :WAVeform:FORMat

  • :WAVeform:TYPE?

  • :WAVeform:PREamble?

Example Code

   ' ACQUIRE_TYPE - Sets the acquisition mode, which can be NORMAL,
   ' PEAK, or AVERAGE.
   myScope.WriteString ":ACQuire:TYPE NORMal"

See complete example programs at: Programming Examples


:BUS<n> Commands

Control all oscilloscope functions associated with buses made up of digital channels. See Introduction to :BUS<n> Commands.

:BUS<n> Commands Summary:

Command | Query | Options and Query Returns
:BUS<n>:BIT<m> {{0 | OFF} | {1 | ON}} | :BUS<n>:BIT<m>? | {0 | 1} <n> ::= 1 or 2; an integer in NR1 format <m> ::= 0-15; an integer in NR1 format
:BUS<n>:BITS <channel_list>, {{0 | OFF} | {1 | ON}} | :BUS<n>:BITS? | <channel_list>, {0 | 1} <channel_list> ::= (@<m>,<m>:<m> ...) where "," is separator and ":" is range <n> ::= 1 or 2; an integer in NR1 format <m> ::= 0-15; an integer in NR1 format
:BUS<n>:CLEar | n/a | <n> ::= 1 or 2; an integer in NR1 format
:BUS<n>:DISPlay {{0 | OFF} | {1 | ON}} | :BUS<n>:DISPlay? | {0 | 1} <n> ::= 1 or 2; an integer in NR1 format
:BUS<n>:LABel <string> | :BUS<n>:LABel? | <string> ::= quoted ASCII string up to 32 characters <n> ::= 1 or 2; an integer in NR1 format
:BUS<n>:MASK <mask> | :BUS<n>:MASK? | <mask> ::= 32-bit integer in decimal, <nondecimal>, or <string> <nondecimal> ::= #Hnn...n where n ::= {0,..,9 | A,..,F} for hexadecimal <nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F} for hexadecimal <n> ::= 1 or 2; an integer in NR1 format

Introduction to :BUS<n> Commands

<n> ::= {1 | 2}

The BUS subsystem commands control the viewing, labeling, and digital channel makeup of two possible buses.

Reporting the Setup. Use :BUS<n>? to query setup information for the BUS subsystem.

Return Format. The following is a sample response from the :BUS1? query. In this case, the query was issued following a *RST command.

:BUS1:DISP 0;LAB "BUS1";MASK 255


:BUS<n>:BIT<m>

:BUS<n> Commands

Name

:BUS<n>:BIT<m> —

Command Syntax

:BUS<n>:BIT<m> <display>
<display> ::= {{1 | ON} | {0 | OFF}}
<n> ::= An integer, 1 or 2, is attached as a suffix to BUS
and defines the bus that is affected by the command.
<m> ::= An integer, 0,..,15, is attached as a suffix to BIT
and defines the digital channel that is affected by the command.

The :BUS<n>: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), the bit is included in the definition. If the parameter is a 0 (OFF), the bit is excluded from the definition. Note: BIT0-15 correspond to DIGital0-15.

Query Syntax

:BUS<n>:BIT<m>?

The :BUS<n>:BIT<m>? query returns the value indicating whether the specified bit is included or excluded from the specified bus definition.

Return Format

<display><NL>
<display> ::= {0 | 1}

See Also

  • Introduction to :BUS<n> Commands

  • :BUS<n>:BITS

  • :BUS<n>:CLEar

  • :BUS<n>:DISPlay

  • :BUS<n>:LABel

  • :BUS<n>:MASK

Example Code

' Include digital channel 1 in bus 1:
myScope.WriteString ":BUS1:BIT1 ON"


:BUS<n>:BITS

:BUS<n> Commands

Name

:BUS<n>:BITS —

Command Syntax

:BUS<n>:BITS <channel_list>, <display>
<channel_list> ::= (@<m>,<m>:<m>, ...) where commas separate bits and
colons define bit ranges.
<m> ::= An integer, 0,..,15, defines a digital channel affected by the
command.
<display> ::= {{1 | ON} | {0 | OFF}}
<n> ::= An integer, 1 or 2, is attached as a suffix to BUS
and defines the bus that is affected by the command.

The :BUS<n>: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.

Query Syntax

:BUS<n>:BITS?

The :BUS<n>:BITS? query returns the definition for the specified bus.

Return Format

<channel_list>, <display><NL>
<channel_list> ::= (@<m>,<m>:<m>, ...) where commas separate bits and
colons define bit ranges.
<display> ::= {0 | 1}

See Also

  • Introduction to :BUS<n> Commands

  • :BUS<n>:BIT<m>

  • :BUS<n>:CLEar

  • :BUS<n>:DISPlay

  • :BUS<n>:LABel

  • :BUS<n>:MASK

  • Commands Not Supported in Multiple Program Message Units

  • Queries Not Supported in Multiple Program Message Units

Example Code

' Include digital channels 1, 2, 4, 5, 6, 7, 8, and 9 in bus 1:
myScope.WriteString ":BUS1:BITS (@1,2,4:9), ON"

' Include digital channels 1, 5, 7, and 9 in bus 1:
myScope.WriteString ":BUS1:BITS (@1,5,7,9), ON"

' Include digital channels 1 through 15 in bus 1:
myScope.WriteString ":BUS1:BITS (@1:15), ON"

' Include digital channels 1 through 5, 8, and 14 in bus 1:
myScope.WriteString ":BUS1:BITS (@1:5,8,14), ON"


:BUS<n>:CLEar

:BUS<n> Commands

Name

:BUS<n>:CLEar —

Command Syntax

:BUS<n>:CLEar
<n> ::= An integer, 1 or 2, is attached as a suffix to BUS
and defines the bus that is affected by the command.

The :BUS<n>:CLEar command excludes all of the digital channels from the selected bus definition.

See Also

  • Introduction to :BUS<n> Commands

  • :BUS<n>:BIT<m>

  • :BUS<n>:BITS

  • :BUS<n>:DISPlay

  • :BUS<n>:LABel

  • :BUS<n>:MASK


:BUS<n>:DISPlay

:BUS<n> Commands

Name

:BUS<n>:DISPlay —

Command Syntax

:BUS<n>:DISPlay <value>
<value> ::= {{1 | ON} | {0 | OFF}}
<n> ::= An integer, 1 or 2, is attached as a suffix to BUS
and defines the bus that is affected by the command.

The :BUS<n>:DISPlay command enables or disables the view of the selected bus.

Query Syntax

:BUS<n>:DISPlay?

The :BUS<n>:DISPlay? query returns the display value of the selected bus.

Return Format

<value><NL>
<value> ::= {0 | 1}

See Also

  • Introduction to :BUS<n> Commands

  • :BUS<n>:BIT<m>

  • :BUS<n>:BITS

  • :BUS<n>:CLEar

  • :BUS<n>:LABel

  • :BUS<n>:MASK


:BUS<n>:LABel

:BUS<n> Commands

Name

:BUS<n>:LABel —

Command Syntax

:BUS<n>:LABel <quoted_string>
<quoted_string> ::= any series of 32 or less characters as a
quoted ASCII string.
<n> ::= An integer, 1 or 2, is attached as a suffix to BUS
and defines the bus that is affected by the command.

The :BUS<n>: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.

[Note]

Label strings are 32 characters or less, and may contain any commonly used ASCII characters. Labels with more than 32 characters are truncated to 32 characters.

Query Syntax

:BUS<n>:LABel?

The :BUS<n>:LABel? query returns the name of the specified bus.

Return Format

<quoted_string><NL>
<quoted_string> ::= any series of 32 or less characters as a
quoted ASCII string.

See Also

  • Introduction to :BUS<n> Commands

  • :BUS<n>:BIT<m>

  • :BUS<n>:BITS

  • :BUS<n>:CLEar

  • :BUS<n>:DISPlay

  • :BUS<n>:MASK

  • :CHANnel<n>:LABel

  • :DISPlay:LABList

  • :DIGital<d>:LABel

Example Code

' Set the bus 1 label to "Data":
myScope.WriteString ":BUS1:LABel 'Data'"


:BUS<n>:MASK

:BUS<n> Commands

Name

:BUS<n>:MASK —

Command Syntax

:BUS<n>:MASK <mask>
<mask> ::= 32-bit integer in decimal, <nondecimal>, or <string>
<nondecimal> ::= #Hnn...n where n ::= {0,..,9 | A,..,F} for hexadecimal
<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F} for hexadecimal
<n> ::= An integer, 1 or 2, is attached as a suffix to BUS
and defines the bus that is affected by the command.

The :BUS<n>:MASK command defines the bits included and excluded in the selected bus according to the mask. Set a mask bit to a "1" to include that bit in the selected bus, and set a mask bit to a "0" to exclude it.

Query Syntax

:BUS<n>:MASK?

The :BUS<n>:MASK? query returns the mask value for the specified bus.

Return Format

<mask><NL> in decimal format

See Also

  • Introduction to :BUS<n> Commands

  • :BUS<n>:BIT<m>

  • :BUS<n>:BITS

  • :BUS<n>:CLEar

  • :BUS<n>:DISPlay

  • :BUS<n>:LABel

  • Commands Not Supported in Multiple Program Message Units


:CALibrate Commands

Utility commands for viewing calibration status and for starting the user calibration procedure. See Introduction to :CALibrate Commands.

:CALibrate Commands Summary:

Command | Query | Options and Query Returns
n/a | :CALibrate:DATE? | <return value> ::= <year>,<month>,<day>; all in NR1 format
:CALibrate:LABel <string> | :CALibrate:LABel? | <string> ::= quoted ASCII string up to 32 characters
:CALibrate:OUTPut <signal> | :CALibrate:OUTPut? | <signal> ::= {TRIGgers | MASK | WAVEgen | WGEN1 | TSOurce} Note: WAVE and WGEN1 are equivalent.
:CALibrate:PROTected {{0 | OFF} | {1 | ON}} | :CALibrate:PROTected? | {"PROTected" | "UNPRotected"}
:CALibrate:STARt | n/a | n/a
n/a | :CALibrate:STATus? | <return value> ::= <status_code>,<status_string> <status_code> ::= an integer status code <status_string> ::= an ASCII status string
n/a | :CALibrate:TEMPerature? | <return value> ::= degrees C delta since last cal in NR3 format
n/a | :CALibrate:TIME? | <return value> ::= <hours>,<minutes>,<seconds>; all in NR1 format

Introduction to :CALibrate Commands

The CALibrate subsystem provides utility commands for:

  • Determining the state of the calibration factor protection switch (CAL PROTECT).

  • Saving and querying the calibration label string.

  • Reporting the calibration time and date.

  • Reporting changes in the temperature since the last calibration.

  • Starting the user calibration procedure.


:CALibrate:DATE?

:CALibrate Commands

Name

:CALibrate:DATE? —

Query Syntax

:CALibrate:DATE?

The :CALibrate:DATE? query returns the date of the last calibration.

Return Format

<date><NL>
<date> ::= year,month,day in NR1 format<NL>

See Also

  • Introduction to :CALibrate Commands


:CALibrate:LABel

:CALibrate Commands

Name

:CALibrate:LABel —

Command Syntax

:CALibrate:LABel <string>
<string> ::= quoted ASCII string of up to 32 characters in length,
not including the quotes

The CALibrate:LABel command saves a string that is up to 32 characters in length into the instrument's non-volatile memory. The string may be used to record calibration dates or other information as needed.

Query Syntax

:CALibrate:LABel?

The :CALibrate:LABel? query returns the contents of the calibration label string.

Return Format

<string><NL>
<string>::= quoted ASCII string of up to 32 characters in length

See Also

  • Introduction to :CALibrate Commands


:CALibrate:OUTPut

:CALibrate Commands

Name

:CALibrate:OUTPut —

Command Syntax

:CALibrate:OUTPut <signal>
<signal> ::= {TRIGgers | MASK | WAVEgen | WGEN1 | TSOurce}
Note: WAVE and WGEN1 are equivalent.

The CALibrate:OUTPut command sets the signal that is available on the rear panel AUX OUT BNC:

  • TRIGgers — pulse when a trigger event occurs. The output level is 0-5 V into an open circuit, and 0-2.5 V into 50 Ω.

  • MASK — signal from mask test indicating a failure.

  • WAVEgen, WGEN1 — waveform generator sync output signal. This signal depends on the :WGEN<w>:FUNCtion setting:

    Waveform Type Sync Signal Characteristics

    SINusoid, SQUare, RAMP, PULSe, SINC, EXPRise, EXPFall, GAUSsian

    The Sync signal is a TTL positive pulse that occurs when the waveform rises above zero volts (or the DC offset value).

    DC, NOISe, CARDiac

    N/A

  • TSOurce — The raw trigger signal from the oscilloscope's trigger circuit is output to Aux Out. It produces a rising edge whenever the input source would cause a trigger, even though that might occur multiple times within the time of a single acquisition. The trigger source can be a front panel analog input channel or an external trigger input. The output level is 0-5 V into an open circuit, and 0-2.5 V into 50 Ω. This option is not available in all trigger modes.

Query Syntax

:CALibrate:OUTPut?

The :CALibrate:OUTPut query returns the current source of the AUX OUT BNC signal.

Return Format

<signal><NL>
<signal> ::= {TRIG | MASK | WAVE | TSO}

See Also

  • Introduction to :CALibrate Commands

  • :WGEN<w>:FUNCtion


:CALibrate:PROTected

:CALibrate Commands

Name

:CALibrate:PROTected —

Command Syntax

:CALibrate:PROTected {{0 | OFF} | {1 | ON}}

The :CALibrate:PROTected command disables or enables the Cal Protect control which allows user calibration to be run or prevents user calibration from being run.

Query Syntax

:CALibrate:PROTected?

The :CALibrate:PROTected? query returns the calibration protect (Cal Protect) control state. The value "PROTected" indicates user calibration will be prevented, and "UNPRotected" indicates calibration will be allowed.

Return Format

<control><NL>
<control> ::= {"PROTected" | "UNPRotected"}

See Also

  • Introduction to :CALibrate Commands

  • :CALibrate:STARt


:CALibrate:STARt

:CALibrate Commands

Name

:CALibrate:STARt —

Command Syntax

:CALibrate:STARt

The CALibrate:STARt command starts the user calibration procedure.

[Note]

Before starting the user calibration procedure, you must clear the Cal Protect control (see :CALibrate:PROTected). See the User's Guide for more details on user calibration.

See Also

  • Introduction to :CALibrate Commands

  • :CALibrate:PROTected


:CALibrate:STATus?

:CALibrate Commands

Name

:CALibrate:STATus? —

Query Syntax

:CALibrate:STATus?

The :CALibrate:STATus? query returns the summary results of the last user calibration procedure.

Return Format

<return value><NL>
<return value> ::= <status_code>,<status_string>
<status_code> ::= an integer status code
<status_string> ::= an ASCII status string

The status codes and strings can be:

Status Code | Status String
+0 | Calibrated
-1 | Not Calibrated

See Also

  • Introduction to :CALibrate Commands


:CALibrate:TEMPerature?

:CALibrate Commands

Name

:CALibrate:TEMPerature? —

Query Syntax

:CALibrate:TEMPerature?

The :CALibrate:TEMPerature? query returns the change in temperature since the last user calibration procedure.

Return Format

<return value><NL>
<return value> ::= degrees C delta since last cal in NR3 format

See Also

  • Introduction to :CALibrate Commands


:CALibrate:TIME?

:CALibrate Commands

Name

:CALibrate:TIME? —

Query Syntax

:CALibrate:TIME?

The :CALibrate:TIME? query returns the time of the last calibration.

Return Format

<time><NL>
<time> ::= hour,minute,second in NR1 format

See Also

  • Introduction to :CALibrate Commands


:CGRade Commands

The :CGRade commands control the color grade waveform analysis feature.

When color grade analysis is enabled, a database is created that has the same number of memory locations as there are pixel locations in the waveform viewing area. Each database memory location is a counter. These counters are incremented when sampled waveform data crosses (or "hits") the associated pixel.

When the oscilloscope is stopped, the counter database remains intact until the acquired data display is modified, usually horizontally or vertically. At that time, the database is reset and the last displayed acquisition is used to start a new database.

:CGRade Commands Summary:

Command | Query | Options and Query Returns
:CGRade:ANALog:ALL {{0 | OFF} | {1 | ON}} | :CGRade:ANALog:ALL? | {0 | 1}
:CGRade:HALFlife <time> | :CGRade:HALFlife? | <time> ::= half-life time, from 100 ms to 60 s, in NR3 format
:CGRade:INVert {{0 | OFF} | {1 | ON}} | :CGRade:INVert? | {0 | 1}
:CGRade:KEY:SOURce <source> | :CGRade:KEY:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1-4 in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
n/a | :CGRade:LEVels? | <levels> ::= comma-delimited list of color range levels
:CGRade:LEVels:DISPlay {{0 | OFF} | {1 | ON}} | :CGRade:LEVels:DISPlay? | {0 | 1}
:CGRade:MATH:SOURce:STATe {{0 | OFF} | {1 | ON}} | :CGRade:MATH:SOURce:STATe? | {0 | 1}
:CGRade:RESet | n/a | n/a
:CGRade:SCHeme <theme> | :CGRade:SCHeme? | <theme> ::= {TEMPerature | INTensity | VIRidis | HOT | ABYSs | SKY | INFerno}
:CGRade:SOURce <source> | :CGRade:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:CGRade:STATe {{0 | OFF} | {1 | ON}} | :CGRade:STATe? | {0 | 1}


:CGRade:ANALog:ALL

:CGRade Commands

Name

:CGRade:ANALog:ALL —

Command Syntax

:CGRade:ANALog:ALL {{0 | OFF} | {1 | ON}}

The :CGRade:ANALog:ALL command enables or disables color grade analysis being performed on all analog input channel waveforms.

When analysis on all analog input channels is enabled, you can use the :CGRade:MATH:SOURce:STATe command and the :CGRade:SOURce command to select one other math function or reference waveform to include in the color grade analysis.

[Note]

Analog input channel color grade analysis is performed in hardware and is faster than math function or reference waveform color grade analysis which is performed in software.

Query Syntax

:CGRade:ANALog:ALL?

The :CGRade:ANALog:ALL? query returns the current setting.

Return Format

<off_on><NL>
<off_on> ::= {0 | 1}

See Also

  • :CGRade:MATH:SOURce:STATe

  • :CGRade:SOURce


:CGRade:HALFlife

:CGRade Commands

Name

:CGRade:HALFlife —

Command Syntax

:CGRade:HALFlife <time>
<time> ::= half-life time, from 100 ms to 60 s, in NR3 format.

When variable persistence is selected for color grade waveforms in the graphical user interface (GUI), the :CGRade:HALFlife command specifies the half-life time.

Half-life time is the period after which only half of the data points remain visible. After another half-life period, only 25% of the data points remain; then, 12.5% after another period, and so on. Half-life point reduction is exponential and more gradual than straight variable persistence display time where points remain for a fixed amount of time only.

Query Syntax

:CGRade:HALFlife?

The :CGRade:HALFlife? query returns the half-life time that is currently set.

Return Format

<time><NL>
<time> ::= half-life time, from 100 ms to 60 s, in NR3 format.


:CGRade:INVert

:CGRade Commands

Name

:CGRade:INVert —

Command Syntax

:CGRade:INVert {{0 | OFF} | {1 | ON}}

The :CGRade:INVert command reverses the order of colors in the scheme.

Query Syntax

:CGRade:INVert?

The :CGRade:INVert? query returns whether the selected scheme's colors are reversed.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :CGRade:SOURce

  • :CGRade:SCHeme

  • :CGRade:LEVels

  • :CGRade:RESet

  • :CGRade:LEVels:DISPlay


:CGRade:KEY:SOURce

:CGRade Commands

Name

:CGRade:KEY:SOURce —

Command Syntax

:CGRade:KEY:SOURce <source>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1-4 in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

When color grade analysis on all analog input channels is enabled (see :CGRade:ANALog:ALL) and the Show Color Key control is selected, the :CGRade:KEY:SOURce command specifies which waveform's database counts are displayed in the color key.

Query Syntax

:CGRade:KEY:SOURce?

The :CGRade:KEY:SOURce? query returns the currently selected color grade key waveform source.

Return Format

<source><NL>

See Also

  • :CGRade:ANALog:ALL


:CGRade:LEVels

:CGRade Commands

Name

:CGRade:LEVels —

Query Syntax

:CGRade:LEVels?

The :CGRade:LEVels? query returns a comma-delimited list of the hit ranges for each color bin. For example:

"1,20,21,40,41,81,82,163,164,326,327,653,654,1307"

The first two values show the hit range for the color bin with fewest number of hits, the next two values show the hit range for the next color bin, and so on.

The color used for the greatest number of hits (white in the INTensity theme or TEMPerature theme) represents pixels with the greatest number to about half that number. The next color represents half as many hits, and so on, until the last range (green in the INTensity theme or dark blue in the TEMPerature theme) represents the remaining range of the fewest number of hits.

The following table shows the approximate counter ranges of each color in the INTensity and TEMPerature color grade themes.

:CGRade:SCHeme (for example) |  | Range (MH = most hits)
INTensity | TEMPerature | Upper Limit | to | Lower Limit (0 if Upper Limit is 0, Else)
 |  | MH | to | MH/2
 |  | MH/2 | to | MH/4
 |  | MH/4 | to | MH/8
 |  | MH/8 | to | MH/16
 |  | MH/16 | to | MH/32
 |  | MH/32 | to | MH/64
 |  | MH/64 | to | 1

Return Format

<levels><NL>
<levels> ::= comma-delimited list of hit ranges for each color bin

See Also

  • :CGRade:STATe

  • :CGRade:SOURce

  • :CGRade:SCHeme

  • :CGRade:RESet

  • :CGRade:LEVels:DISPlay


:CGRade:LEVels:DISPlay

:CGRade Commands

Name

:CGRade:LEVels:DISPlay —

Command Syntax

:CGRade:LEVels:DISPlay {{0 | OFF} | {1 | ON}}

The :CGRade:LEVels:DISPlay command enables or disables the display of the color grade key and levels.

Query Syntax

:CGRade:LEVels:DISPlay?

The :CGRade:LEVels:DISPlay? query returns whether the color grade key and levels display is enabled.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :CGRade:STATe

  • :CGRade:LEVels

  • :CGRade:SOURce

  • :CGRade:SCHeme

  • :CGRade:RESet


:CGRade:MATH:SOURce:STATe

:CGRade Commands

Name

:CGRade:MATH:SOURce:STATe —

Command Syntax

:CGRade:MATH:SOURce:STATe {{0 | OFF} | {1 | ON}}

When color grade analysis on all analog input channels is enabled (see :CGRade:ANALog:ALL), the :CGRade:MATH:SOURce:STATe command enables or disables the addition of one other math function or reference waveform to the color grade analysis. When enabled, use the :CGRade:SOURce command to specify the math function or reference waveform.

[Note]

Analog input channel color grade analysis is performed in hardware and is faster than math function or reference waveform color grade analysis which is performed in software.

Query Syntax

:CGRade:MATH:SOURce:STATe?

The :CGRade:MATH:SOURce:STATe? query returns the current setting.

Return Format

<off_on><NL>
<off_on> ::= {0 | 1}

See Also

  • :CGRade:ANALog:ALL

  • :CGRade:SOURce


:CGRade:RESet

:CGRade Commands

Name

:CGRade:RESet —

Command Syntax

:CGRade:RESet

The :CGRade:RESet command zeros the color grade counters.

See Also

  • :CGRade:STATe

  • :CGRade:LEVels

  • :CGRade:SOURce

  • :CGRade:SCHeme

  • :CGRade:LEVels:DISPlay


:CGRade:SCHeme

:CGRade Commands

Name

:CGRade:SCHeme —

Command Syntax

:CGRade:SCHeme <theme>
<theme> ::= {TEMPerature | INTensity | VIRidis | HOT | ABYSs | SKY
   | INFerno}

The :CGRade:SCHeme command sets the color theme used by color graded waveform display.

The color grade theme specifies seven colors that represent the ranges of counter values (hits) in the database.

Query Syntax

:CGRade:SCHeme?

The :CGRade:SCHeme? query returns the currently set color theme.

Return Format

<theme><NL>
<theme> ::= {TEMP | INT | VIR | HOT | ABYS | SKY | INF}

See Also

  • :CGRade:STATe

  • :CGRade:SOURce

  • :CGRade:LEVels

  • :CGRade:INVert

  • :CGRade:RESet

  • :CGRade:LEVels:DISPlay


:CGRade:SOURce

:CGRade Commands

Name

:CGRade:SOURce —

Command Syntax

:CGRade:SOURce <source>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

When color grade analysis on all analog input channels is disabled (see :CGRade:ANALog:ALL), the :CGRade:SOURce command specifies the waveform on which to perform the color grade analysis.

When color grade analysis on all analog input channels is enabled (see :CGRade:ANALog:ALL) and the addition of one other math function or reference waveform is enabled (see :CGRade:MATH:SOURce:STATe), the :CGRade:SOURce command specifies the math function or reference waveform.

Query Syntax

:CGRade:SOURce?

The :CGRade:SOURce? query returns the currently specified waveform source.

Return Format

<source><NL>

See Also

  • :CGRade:STATe

  • :CGRade:SCHeme

  • :CGRade:LEVels

  • :CGRade:RESet

  • :CGRade:LEVels:DISPlay

  • :CGRade:MATH:SOURce:STATe

  • :CGRade:ANALog:ALL


:CGRade:STATe

:CGRade Commands

Name

:CGRade:STATe —

Command Syntax

:CGRade:STATe {{0 | OFF} | {1 | ON}}

The :CGRade:STATe command enables or disables the color grade waveform display.

Query Syntax

:CGRade:STATe?

The :CGRade:STATe? query returns whether the color grade display is enabled.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :CGRade:SOURce

  • :CGRade:SCHeme

  • :CGRade:LEVels

  • :CGRade:RESet

  • :CGRade:LEVels:DISPlay


:CHANnel<n> Commands

Control all oscilloscope functions associated with individual analog channels or groups of channels. See Introduction to :CHANnel<n> Commands.

:CHANnel<n> Commands Summary:

Command | Query | Options and Query Returns
:CHANnel<n>:BANDwidth <channel_bw_limit> | :CHANnel<n>:BANDwidth? | {1000000000 | 350000000 | 200000000 | 100000000 | 50000000 | 20000000 | 10000000 | 5000000} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:COUPling <coupling> | :CHANnel<n>:COUPling? | <coupling> ::= {AC | DC} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:DISPlay {{0 | OFF} | {1 | ON}} | :CHANnel<n>:DISPlay? | {0 | 1} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:IMPedance <impedance> | :CHANnel<n>:IMPedance? | <impedance> ::= {ONEMeg | FIFTy} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:INVert {{0 | OFF} | {1 | ON}} | :CHANnel<n>:INVert? | {0 | 1} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:LABel <string> | :CHANnel<n>:LABel? | <string> ::= any series of 32 or less ASCII characters enclosed in quotation marks <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>[:MAIN]:OFFSet <offset>[suffix] | :CHANnel<n>[:MAIN]:OFFSet? | <offset> ::= Vertical offset value in NR3 format [suffix] ::= {V | mV} <n> ::= 1-2 or 1-4; in NR1 format
:CHANnel<n>[:MAIN]:SCALe <scale>[suffix] | :CHANnel<n>[:MAIN]:SCALe? | <scale> ::= Vertical units per division value in NR3 format [suffix] ::= {V | mV} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROBe <attenuation> | :CHANnel<n>:PROBe? | <attenuation> ::= Probe attenuation ratio in NR3 format <n> ::= 1-2 or 1-4; in NR1 format
:CHANnel<n>:PROBe:BTN <setting> | :CHANnel<n>:PROBe:BTN? | <n> ::= 1 to (# analog channels) in NR1 format <setting> ::= {HEADlight | INFiniimode | RSTop | SINGle | CDISplay | AUToscale | FTRigger | QACTion | NACTion | NONE}
:CHANnel<n>:PROBe:CALibration | n/a | n/a
n/a | :CHANnel<n>:PROBe:CALibration:VALidity? | <n> ::= 1 to (# analog channels) in NR1 format <validity> ::= {Cal Valid | Cal Invalid}
:CHANnel<n>:PROBe:EXTernal {{0 | OFF} | {1 | ON}} | :CHANnel<n>:PROBe:EXTernal? | <n> ::= 1 to (# analog channels) in NR1 format <setting> ::= {0 | 1}
:CHANnel<n>:PROBe:EXTernal:GAIN <gain_factor> | :CHANnel<n>:PROBe:EXTernal:GAIN? | <n> ::= 1 to (# analog channels) in NR1 format <gain_factor> ::= a real number from 0.0001 to 5000 in NR3 format
:CHANnel<n>:PROBe:EXTernal:OFFSet <offset_value> | :CHANnel<n>:PROBe:EXTernal:OFFSet? | <n> ::= 1 to (# analog channels) in NR1 format <offset_value> ::= a real number for the offset value at center screen in NR3 format
:CHANnel<n>:PROBe:EXTernal:UNITs <units> | :CHANnel<n>:PROBe:EXTernal:UNITs? | <n> ::= 1 to (# analog channels) in NR1 format <units> ::= {VOLT | AMPere}
:CHANnel<n>:PROBe:HEAD[:TYPE] <head_param> | :CHANnel<n>:PROBe:HEAD[:TYPE]? | <head_param> ::= {SEND0 | SEND6 | SEND12 | SEND20 | DIFF0 | DIFF6 | DIFF12 | DIFF20 | DSMA | DSMA6 | NONE} <n> ::= 1 to (# analog channels) in NR1 format
n/a | :CHANnel<n>:PROBe:ID? | <probe id> ::= unquoted ASCII string up to 11 characters <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROBe:MODE <setting> | :CHANnel<n>:PROBe:MODE? | <n> ::= 1 to (# analog channels) in NR1 format <setting> ::= {DIFFerential | DOFFset | SEA | SEB | CM}
:CHANnel<n>:PROBe:RSENse <value> | :CHANnel<n>:PROBe:RSENse? | <value> ::= Ohms in NR3 format <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROBe:SKEW <skew_value> | :CHANnel<n>:PROBe:SKEW? | <skew_value> ::= -100 ns to +100 ns in NR3 format <n> ::= 1 to (# analog channels) in NR1 format
n/a | :CHANnel<n>:PROBe:STATus? | <n> ::= 1 to (# analog channels) in NR1 format <status> ::= {<PS000XA_status> | <N2893A_status>} <PS000XA_status> ::= {Laser Error | Sensor Head Error | Calibrating | OK} <N2893A_status> ::= {Calibrating | OK}
:CHANnel<n>:PROBe:STYPe <signal type> | :CHANnel<n>:PROBe:STYPe? | <signal type> ::= {DIFFerential | SINGle | ISOLated} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROBe:ZOOM {{0 | OFF} | {1 | ON}} | :CHANnel<n>:PROBe:ZOOM? | <setting> ::= {0 | 1} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:PROTection | :CHANnel<n>:PROTection? | {NORM | TRIP} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:RANGe <range>[suffix] | :CHANnel<n>:RANGe? | <range> ::= Vertical full-scale range value in NR3 format [suffix] ::= {V | mV} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:UNITs <units> | :CHANnel<n>:UNITs? | <units> ::= {VOLT | AMPere} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:VERNier {{0 | OFF} | {1 | ON}} | :CHANnel<n>:VERNier? | {0 | 1} <n> ::= 1 to (# analog channels) in NR1 format
:CHANnel<n>:WINDow:OFFSet <offset> [<suffix>] | :CHANnel<n>:WINDow:OFFSet? | <n> ::= 1 to (# analog channels) in NR1 format <offset> ::= Vertical offset value in NR3 format <suffix> ::= {V | mV}
:CHANnel<n>:WINDow:SCALe <scale>[<suffix>] | :CHANnel<n>:WINDow:SCALe? | <n> ::= 1 to (# analog channels) in NR1 format <scale> ::= Vertical units per division in NR3 format <suffix> ::= {V | mV}

Introduction to :CHANnel<n> Commands

<n> ::= 1 to (# analog channels) in NR1 format

The CHANnel<n> subsystem commands control an analog channel (vertical or Y-axis of the oscilloscope). Channels are independently programmable for all offset, probe, coupling, bandwidth limit, inversion, vernier, and range (scale) functions. The channel number (1, 2, 3, or 4) specified in the command selects the analog channel that is affected by the command.

A label command provides identifying annotations of up to 32 characters.

You can toggle the channel displays on and off with the :CHANnel<n>:DISPlay command as well as with the root level commands :VIEW and :BLANk.

[Note]

The obsolete CHANnel subsystem is supported.

Reporting the Setup. Use :CHANnel1?, :CHANnel2?, :CHANnel3? or :CHANnel4? to query setup information for the CHANnel<n> subsystem.

Return Format. The following are sample responses from the :CHANnel<n>? query. In this case, the query was issued following a *RST command.

:CHAN1:RANG +40.0E+00;OFFS +0.0E+00;COUP DC;IMP ONEM;DISP 1;
BAND +5.00000000E+08;INV 0;LAB "1";UNIT VOLT;PROB +10.000000E+00;
PROB:SKEW +0.0E+00;STYP SING;EXT 0;EXT:GAIN +1.0000E+00


:CHANnel<n>:BANDwidth

:CHANnel<n> Commands

Name

:CHANnel<n>:BANDwidth —

Command Syntax

:CHANnel<n>:BANDwidth <channel_bw_limit>
<channel_bw_limit> ::= value in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:BANDwidth command lets you limit the bandwidth of the channel to remove unwanted high frequency noise from the waveform and potentially increase the number of bits of vertical resolution. You can select these bandwidths:

  • 500000000 or 1000000000 — Maximum (1 GHz) / 14 Bits

  • 350000000 — 350 MHz / 14 Bits

  • 200000000 — 200 MHz / 14 Bits

  • 100000000 — 100 MHz / 15 Bits HD

  • 50000000 — 50 MHz / 16 Bits HD

  • 20000000 — 20 MHz / 16 Bits HD

  • 10000000 — 10 MHz / 16 Bits HD, applied to all analog input channels

  • 5000000 — 5 MHz / 16 Bits HD, applied to all analog input channels

The selections marked with "HD" (high-definition) improve the number of bits of vertical resolution.

[Note]

The 5 MHz and 10 MHz selections are automatically applied to all analog input channels.

Query Syntax

:CHANnel<n>:BANDwidth?

The :CHANnel<n>:BANDwidth? query returns the current setting of the channel bandwidth limit.

Return Format

<channel_bw_limit><NL>
<channel_bw_limit> ::= {1000000000 | 350000000 | 200000000 | 100000000
   | 50000000 | 20000000 | 10000000 | 5000000} in NR3 format

See Also

  • Introduction to :CHANnel<n> Commands


:CHANnel<n>:COUPling

:CHANnel<n> Commands

Name

:CHANnel<n>:COUPling —

Command Syntax

:CHANnel<n>:COUPling <coupling>
<coupling> ::= {AC | DC}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:COUPling command selects the input coupling for the specified channel. The coupling for each analog channel can be set to AC or DC.

Query Syntax

:CHANnel<n>:COUPling?

The :CHANnel<n>:COUPling? query returns the current coupling for the specified channel.

Return Format

<coupling value><NL>
<coupling value> ::= {AC | DC}

See Also

  • Introduction to :CHANnel<n> Commands


:CHANnel<n>:DISPlay

:CHANnel<n> Commands

Name

:CHANnel<n>:DISPlay —

Command Syntax

:CHANnel<n>:DISPlay <display value>
<display value> ::= {{1 | ON} | {0 | OFF}}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:DISPlay command turns the display of the specified channel on or off.

Query Syntax

:CHANnel<n>:DISPlay?

The :CHANnel<n>:DISPlay? query returns the current display setting for the specified channel.

Return Format

<display value><NL>
<display value> ::= {1 | 0}

See Also

  • Introduction to :CHANnel<n> Commands

  • :VIEW

  • :BLANk

  • :STATus?

  • :POD<n>:DISPlay

  • :DIGital<d>:DISPlay


:CHANnel<n>:IMPedance

:CHANnel<n> Commands

Name

:CHANnel<n>:IMPedance —

Command Syntax

:CHANnel<n>:IMPedance <impedance>
<impedance> ::= {ONEMeg | FIFTy}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:IMPedance command selects the input impedance setting for the specified analog channel. The legal values for this command are ONEMeg (1 MΩ) and FIFTy (50Ω).

Query Syntax

:CHANnel<n>:IMPedance?

The :CHANnel<n>:IMPedance? query returns the current input impedance setting for the specified channel.

Return Format

<impedance value><NL>
<impedance value> ::= {ONEM | FIFT}

See Also

  • Introduction to :CHANnel<n> Commands


:CHANnel<n>:INVert

:CHANnel<n> Commands

Name

:CHANnel<n>:INVert —

Command Syntax

:CHANnel<n>:INVert <invert value>
<invert value> ::= {{1 | ON} | {0 | OFF}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:INVert command selects whether or not to invert the input signal for the specified channel. The inversion may be 1 (ON/inverted) or 0 (OFF/not inverted).

Query Syntax

:CHANnel<n>:INVert?

The :CHANnel<n>:INVert? query returns the current state of the channel inversion.

Return Format

<invert value><NL>
<invert value> ::= {0 | 1}

See Also

  • Introduction to :CHANnel<n> Commands


:CHANnel<n>:LABel

:CHANnel<n> Commands

Name

:CHANnel<n>:LABel —

Command Syntax

:CHANnel<n>:LABel <string>
<string> ::= quoted ASCII string
<n> ::= 1 to (# analog channels) in NR1 format
[Note]

Label strings are 32 characters or less, and may contain any commonly used ASCII characters. Labels with more than 32 characters are truncated to 32 characters.

The :CHANnel<n>:LABel command sets the analog channel label to the string that follows. Setting a label for a channel also adds the name to the label list in non-volatile memory (replacing the oldest label in the list).

Query Syntax

:CHANnel<n>:LABel?

The :CHANnel<n>:LABel? query returns the label associated with a particular analog channel.

Return Format

<string><NL>
<string> ::= quoted ASCII string

See Also

  • Introduction to :CHANnel<n> Commands

  • :DISPlay:LABel

  • :DIGital<d>:LABel

  • :DISPlay:LABList

  • :BUS<n>:LABel

Example Code

   ' LABEL - This command allows you to write a name (32 characters
   ' maximum) next to the channel number.  It is not necessary, but
   ' can be useful for organizing the display.
   myScope.WriteString ":CHANnel1:LABel ""CAL 1"""  ' Label ch1 "CAL 1".
   myScope.WriteString ":CHANnel2:LABel ""CAL2"""   ' Label ch1 "CAL2".

See complete example programs at: Programming Examples


:CHANnel<n>[:MAIN]:OFFSet

:CHANnel<n> Commands

Name

:CHANnel<n>[:MAIN]:OFFSet —

Command Syntax

:CHANnel<n>[:MAIN]:OFFSet <offset> [<suffix>]
<offset> ::= Vertical offset value in NR3 format
<suffix> ::= {V | mV}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>[:MAIN]:OFFSet command sets the value that is represented at center screen for the selected channel. The range of legal values varies with the value set by the :CHANnel<n>:RANGe and :CHANnel<n>:SCALe commands. If you set the offset to a value outside of the legal range, the offset value is automatically set to the nearest legal value. Legal values are affected by the probe attenuation setting.

Query Syntax

:CHANnel<n>[:MAIN]:OFFSet?

The :CHANnel<n>[:MAIN]:OFFSet? query returns the current offset value for the selected channel.

Return Format

<offset><NL>
<offset> ::= Vertical offset value in NR3 format

See Also

  • Introduction to :CHANnel<n> Commands

  • :CHANnel<n>:RANGe

  • :CHANnel<n>[:MAIN]:SCALe

  • :CHANnel<n>:PROBe


:CHANnel<n>[:MAIN]:SCALe

:CHANnel<n> Commands

Name

:CHANnel<n>[:MAIN]:SCALe —

Command Syntax

:CHANnel<n>[:MAIN]:SCALe <scale>[<suffix>]
<scale> ::= vertical units per division in NR3 format
<suffix> ::= {V | mV}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>[:MAIN]:SCALe command sets the vertical scale, or units per division, of the selected channel.

If the probe attenuation is changed, the scale value is multiplied by the probe's attenuation factor.

Query Syntax

:CHANnel<n>[:MAIN]:SCALe?

The :CHANnel<n>[:MAIN]:SCALe? query returns the current scale setting for the specified channel.

Return Format

<scale value><NL>
<scale value> ::= vertical units per division in NR3 format

See Also

  • Introduction to :CHANnel<n> Commands

  • :CHANnel<n>:RANGe

  • :CHANnel<n>[:MAIN]:OFFSet

  • :CHANnel<n>:PROBe


:CHANnel<n>:PROBe

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe —

Command Syntax

:CHANnel<n>:PROBe <attenuation>
<attenuation> ::= probe attenuation ratio in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:PROBe command specifies the probe attenuation factor for the selected channel.

The probe attenuation factor may be from 0.001 to 10000.

This command does not change the actual input sensitivity of the oscilloscope. It changes the reference constants for scaling the display factors, for making automatic measurements, and for setting trigger levels.

If an AutoProbe probe is connected to the oscilloscope, the attenuation value cannot be changed from the sensed value. Attempting to set the oscilloscope to an attenuation value other than the sensed value produces an error.

Query Syntax

:CHANnel<n>:PROBe?

The :CHANnel<n>:PROBe? query returns the current probe attenuation factor for the selected channel.

Return Format

<attenuation><NL>
<attenuation> ::= probe attenuation ratio in NR3 format

See Also

  • Introduction to :CHANnel<n> Commands

  • :CHANnel<n>:RANGe

  • :CHANnel<n>[:MAIN]:SCALe

  • :CHANnel<n>[:MAIN]:OFFSet

Example Code

   ' CHANNEL_PROBE - Sets the probe attenuation factor for the
   ' selected channel.  The probe attenuation factor may be set
   ' from 0.001 to 10000.
   myScope.WriteString ":CHANnel1:PROBe 10"   ' Set Probe to 10:1.

See complete example programs at: Programming Examples


:CHANnel<n>:PROBe:BTN

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:BTN —

Command Syntax

:CHANnel<n>:PROBe:BTN <setting>
<setting> ::= {HEADlight | INFiniimode | RSTop | SINGle | CDISplay
   | AUToscale | FTRigger | QACTion | NACTion | NONE}
<n> ::= 1 to (# analog channels) in NR1 format

For N275xA InfiniiMode probes, the :CHANnel<n>:PROBe:BTN command sets the probe's quick-action button mode:

  • HEADlight — Pressing the probe's quick-action button toggles the probe headlight on or off. Holding the quick-action button adjusts the intensity of the probe's headlight.

  • INFiniimode — Cycles through the InfiniiMode settings (see :CHANnel<n>:PROBe:MODE).

  • RSTop (Run/Stop) — Toggles between continuous data acquisition (running) and stopping data acquisitions (same as the oscilloscope's [Run/Stop] key).

  • SINGle — Performs a single acquisition on the oscilloscope (same as the oscilloscope's [Single] key).

  • CDISplay — Clears the oscilloscope display.

  • AUToscale — Performs an oscilloscope Autoscale operation.

  • FTRigger (Force Trigger) — Performs an oscilloscope "force trigger".

  • QACTion (Quick Action) — Performs the quick action configured on the oscilloscope (see the oscilloscope's user's guide for more information).

  • NACTion (No Action) — Disables the probe's quick-action button.

  • NONE — When a probe does not have a quick-action button, this is the only valid setting.

Query Syntax

:CHANnel<n>:PROBe:BTN?

The :CHANnel<n>:PROBe:BTN? query returns the N275xA InfiniiMode probe's quick-action button setting.

Return Format

<setting><NL>
<setting> ::= {HEAD | INF | RST | SING | CDIS | AUT | FTR | QACT
   | NACT | NONE}

See Also

  • :CHANnel<n>:PROBe:MODE


:CHANnel<n>:PROBe:CALibration

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:CALibration —

Command Syntax

:CHANnel<n>:PROBe:CALibration

For the N7026A and N2893A probes, the :CHANnel<n>:PROBe:CALibration command begins the probe degauss operation.

For the PS000XA probes, the :CHANnel<n>:PROBe:CALibration command performs probe calibration.

See Also

  • :CHANnel<n>:PROBe:CALibration:VALidity

  • :CHANnel<n>:PROBe:STATus?


:CHANnel<n>:PROBe:CALibration:VALidity

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:CALibration:VALidity —

Query Syntax

:CHANnel<n>:PROBe:CALibration:VALidity?
<n> ::= 1 to (# analog channels) in NR1 format

For the PS000XA probes only, the :CHANnel<n>:PROBe:CALibration:VALidity? query returns whether the calibration factors for the probe are still valid.

Return Format

<validity><NL>
<validity> ::= {Cal Valid | Cal Invalid}

See Also

  • :CHANnel<n>:PROBe:CALibration

  • :CHANnel<n>:PROBe:STATus?


:CHANnel<n>:PROBe:EXTernal

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:EXTernal —

Command Syntax

:CHANnel<n>:PROBe:EXTernal {{0 | OFF} | {1 | ON}}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:PROBe:EXTernal command enables or disables External Scaling on the analog input channel. External Scaling can apply additional gain to the input channel to account for additional attenuators, adapters, etc., in the probing system.

Query Syntax

:CHANnel<n>:PROBe:EXTernal?

The :CHANnel<n>:PROBe:EXTernal? query returns whether External Scaling is enabled (1) or disabled (0).

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :CHANnel<n>:PROBe:EXTernal:GAIN

  • :CHANnel<n>:PROBe:EXTernal:UNITs


:CHANnel<n>:PROBe:EXTernal:GAIN

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:EXTernal:GAIN —

Command Syntax

:CHANnel<n>:PROBe:EXTernal:GAIN <gain_factor>
<gain_factor> ::= a real number from 0.0001 to 5000 in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:PROBe:EXTernal:GAIN command sets the gain associated with External Scaling.

Query Syntax

:CHANnel<n>:PROBe:EXTernal:GAIN?

The :CHANnel<n>:PROBe:EXTernal:GAIN? query returns the External Scaling gain setting.

Return Format

<gain_factor><NL>

See Also

  • :CHANnel<n>:PROBe:EXTernal

  • :CHANnel<n>:PROBe:EXTernal:UNITs


:CHANnel<n>:PROBe:EXTernal:OFFSet

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:EXTernal:OFFSet —

Command Syntax

:CHANnel<n>:PROBe:EXTernal:OFFSet <offset_value>
<offset_value> ::= a real number for the offset value at center screen in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format
[Note]

CHANnel<n>:PROBe:EXTernal command must be set to ON before issuing this command or query or this command will have no effect.

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.

The <offset_value> is 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.

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.

Query Syntax

:CHANnel<n>:PROBe:EXTernal:OFFSet?

The :CHANnel<n>:PROBe:EXTernal:OFFSet? query returns the current external offset value for the probe on the specified channel.

Return Format

<offset_value><NL>

Example Code

This example sets the external offset for the probe on channel 1 to 0.125 in the current measurement units. Then, the external offset value of the probe on the specified channel is placed in the variable, varOffset, 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 125E-3"
myScope.WriteString ":CHANnel1:PROBe:EXTernal:OFFSet?"
varOffset = myScope.ReadNumber
Debug.Print FormatNumber(varOffset, 0)

See Also

  • :CHANnel<n>:PROBe:EXTernal

  • :CHANnel<n>:PROBe:EXTernal:UNITs

  • :CHANnel<n>:PROBe:STYPe


:CHANnel<n>:PROBe:EXTernal:UNITs

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:EXTernal:UNITs —

Command Syntax

:CHANnel<n>:PROBe:EXTernal:UNITs <units>
<units> ::= {VOLT | AMPere}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:PROBe:EXTernal:UNITs command sets the measurement units for the connected probe. Select VOLT for a voltage probe and select AMPere for a current probe. Measurement results, channel sensitivity, and trigger level will reflect the measurement units you select.

Query Syntax

:CHANnel<n>:PROBe:EXTernal:UNITs?

The :CHANnel<n>:PROBe:EXTernal:UNITs? query returns the current units setting for the specified channel.

Return Format

<units><NL>
<units> ::= {VOLT | AMP}

See Also

  • :CHANnel<n>:PROBe:EXTernal

  • :CHANnel<n>:PROBe:EXTernal:GAIN


:CHANnel<n>:PROBe:HEAD[:TYPE]

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:HEAD[:TYPE] —

Command Syntax

[Note]

This command is valid only for the 113xA Series probes.

:CHANnel<n>:PROBe:HEAD[:TYPE] <head_param>
<head_param> ::= {SEND0 | SEND6 | SEND12 | SEND20 | DIFF0 | DIFF6
                 | DIFF12 | DIFF20 | DSMA | DSMA6 | NONE}
<n> ::= {1 | 2 | 3 | 4}

The :CHANnel<n>:PROBe:HEAD[:TYPE] command sets an analog channel probe head type and dB value. You can choose from:

  • SEND0 — Single-ended, 0 dB.

  • SEND6 — Single-ended, 6 dB.

  • SEND12 — Single-ended, 12 dB.

  • SEND20 — Single-ended, 20 dB.

  • DIFF0 — Differential, 0 dB.

  • DIFF6 — Differential, 6 dB.

  • DIFF12 — Differential, 12 dB.

  • DIFF20 — Differential, 20 dB.

  • DSMA — Differential SMA probe head, 0 dB.

  • DSMA6 — Differential SMA probe head, 6 dB.

Query Syntax

:CHANnel<n>:PROBe:HEAD[:TYPE]?

The :CHANnel<n>:PROBe:HEAD[:TYPE]? query returns the current probe head type setting for the selected channel.

Return Format

<head_param><NL>
<head_param> ::= {SEND0 | SEND6 | SEND12 | SEND20 | DIFF0 | DIFF6
                 | DIFF12 | DIFF20 | DSMA | DSMA6 | NONE}

See Also

  • Introduction to :CHANnel<n> Commands

  • :CHANnel<n>:PROBe

  • :CHANnel<n>:PROBe:ID?

  • :CHANnel<n>:PROBe:SKEW

  • :CHANnel<n>:PROBe:STYPe


:CHANnel<n>:PROBe:ID?

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:ID? —

Query Syntax

:CHANnel<n>:PROBe:ID?
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:PROBe:ID? query returns the type of probe attached to the specified oscilloscope channel.

Return Format

<probe id><NL>
<probe id> ::= unquoted ASCII string up to 11 characters

Some of the possible returned values are:

  • 1131A

  • 1132A

  • 1134A

  • 1147A

  • 1153A

  • 1154A

  • 1156A

  • 1157A

  • 1158A

  • 1159A

  • AutoProbe

  • E2621A

  • E2622A

  • E2695A

  • E2697A

  • HP1152A

  • HP1153A

  • NONE

  • Probe

  • Unknown

  • Unsupported

See Also

  • Introduction to :CHANnel<n> Commands

  • Queries Not Supported in Multiple Program Message Units


:CHANnel<n>:PROBe:MODE

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:MODE —

Command Syntax

:CHANnel<n>:PROBe:MODE <setting>
<setting> ::= {DIFFerential | DOFFset | SEA | SEB | CM}
<n> ::= 1 to (# analog channels) in NR1 format

For N275xA InfiniiMode probes, the :CHANnel<n>:PROBe:MODE command sets the probe's mode:

  • DIFFerential — Differential.

  • DOFFset — Differential with Offset.

  • SEA — Single-Ended, side A.

  • SEB — Single-Ended, side B.

  • CM — Common Mode.

Query Syntax

:CHANnel<n>:PROBe:MODE?

The :CHANnel<n>:PROBe:MODE? query returns the N275xA InfiniiMode probe's mode setting.

Return Format

<setting><NL>
<setting> ::= {DIFF | DOFF | SEA | SEB | CM}

See Also

  • :CHANnel<n>:PROBe:BTN


:CHANnel<n>:PROBe:RSENse

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:RSENse —

Command Syntax

:CHANnel<n>:PROBe:RSENse <value>
<value> ::= Ohms in NR3 format
<n> ::= 1 to (# analog channels) in NR1 format

When the N2820A high-sensitivity current probe is used with the N2825A user-defined R-sense head, the :CHANnel<n>:PROBe:RSENse command specifies the value of the R-sense resistor that is being probed in the device under test (DUT). Supported R-sense resistor values are from 1 mΩ to 1MΩ.

Query Syntax

:CHANnel<n>:PROBe:RSENse?

The :CHANnel<n>:PROBe:RSENse? query returns the R-sense resistor value setting.

When the N2820A high-sensitivity current probe is not attached, the query returns "INF".

When the N2820A high-sensitivity current probe is attached and a special head is attached to the probe, the query returns the value of the special head. For example, if the head is a "20 mΩ" head, the query returns 0.02.

Return Format

{<value> | INF}<NL>
<value> ::= Ohms in NR3 format

See Also

  • :CHANnel<n>:PROBe:ZOOM


:CHANnel<n>:PROBe:SKEW

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:SKEW —

Command Syntax

:CHANnel<n>:PROBe:SKEW <skew value>
<skew value> ::= skew time in NR3 format
<skew value> ::= -100 ns to +100 ns
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:PROBe:SKEW command sets the channel-to-channel skew factor for the specified channel. Each analog channel can be adjusted + or -100 ns for a total of 200 ns difference between channels. You can use the oscilloscope's probe skew control to remove cable-delay errors between channels.

Query Syntax

:CHANnel<n>:PROBe:SKEW?

The :CHANnel<n>:PROBe:SKEW? query returns the current probe skew setting for the selected channel.

Return Format

<skew value><NL>
<skew value> ::= skew value in NR3 format

See Also

  • Introduction to :CHANnel<n> Commands


:CHANnel<n>:PROBe:STATus?

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:STATus? —

Query Syntax

:CHANnel<n>:PROBe:STATus?
<n> ::= 1 to (# analog channels) in NR1 format

For the PS000XA and N2893A probes only, the :CHANnel<n>:PROBe:STATus? query returns the probe status.

Return Format

<status><NL>
<status> ::= {<PS000XA_status> | <N2893A_status>}
<PS000XA_status> ::= {Calibrating | Calibrated | OK | Laser Error | Sensor Head Error}
<N2893A_status> ::= {Calibrating | Calibrated | OK}

See Also

  • :CHANnel<n>:PROBe:CALibration

  • :CHANnel<n>:PROBe:CALibration:VALidity


:CHANnel<n>:PROBe:STYPe

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:STYPe —

Command Syntax

[Note]

This command is valid for the 113xA Series and PS000XA probes only.

:CHANnel<n>:PROBe:STYPe <signal_type>
<signal_type> ::= {DIFFerential | SINGle | ISOLated}
<n> ::= 1 to (# analog channels) in NR1 format

For the 113xA Series probes:

  • The :CHANnel<n>:PROBe:STYPe command sets the channel probe signal type (STYPe) to differential or single-ended when using the 113xA Series probes and determines how offset is applied.

    When single-ended is selected, the :CHANnel<n>:OFFSet command changes the offset value of the probe amplifier. When differential is selected, the :CHANnel<n>:OFFSet command changes the offset value of the channel amplifier.

For the PS000XA probes:

  • ISOLated is the only valid value.

Query Syntax

:CHANnel<n>:PROBe:STYPe?

The :CHANnel<n>:PROBe:STYPe? query returns the current probe signal type setting for the selected channel.

Return Format

<signal type><NL>
<signal type> ::= {DIFF | SING | ISOL}

See Also

  • Introduction to :CHANnel<n> Commands

  • :CHANnel<n>[:MAIN]:OFFSet


:CHANnel<n>:PROBe:ZOOM

:CHANnel<n> Commands

Name

:CHANnel<n>:PROBe:ZOOM —

Command Syntax

:CHANnel<n>:PROBe:ZOOM {{0 | OFF} | {1 | ON}}
<n> ::= 1 to (# analog channels) in NR1 format

When the N2820A high-sensitivity current probe is used with both the Primary and Secondary cables, the :CHANnel<n>:PROBe:ZOOM command specifies whether this cable will have the Zoom In waveform (ON) or the Zoom Out waveform (OFF). The other cable will have the opposite waveform.

Query Syntax

:CHANnel<n>:PROBe:ZOOM?

The :CHANnel<n>:PROBe:ZOOM? query returns the zoom setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :CHANnel<n>:PROBe:RSENse


:CHANnel<n>:PROTection

:CHANnel<n> Commands

Name

:CHANnel<n>:PROTection —

Command Syntax

:CHANnel<n>:PROTection[:CLEar]
<n> ::= 1 to (# analog channels) in NR1 format| 4}

When the analog channel input impedance is set to 50Ω, the input channels are protected against overvoltage. When an overvoltage condition is sensed, the input impedance for the channel is automatically changed to 1 MΩ.

The :CHANnel<n>:PROTection[:CLEar] command is used to clear (reset) the overload protection. It allows the channel to be used again in 50Ω mode after the signal that caused the overload has been removed from the channel input.

Reset the analog channel input impedance to 50Ω (see :CHANnel<n>:IMPedance) after clearing the overvoltage protection.

Query Syntax

:CHANnel<n>:PROTection?

The :CHANnel<n>:PROTection query returns the state of the input protection for CHANnel<n>. If a channel input has experienced an overload, TRIP (tripped) will be returned; otherwise NORM (normal) is returned.

Return Format

{NORM | TRIP}<NL>

See Also

  • Introduction to :CHANnel<n> Commands

  • :CHANnel<n>:COUPling

  • :CHANnel<n>:IMPedance

  • :CHANnel<n>:PROBe


:CHANnel<n>:RANGe

:CHANnel<n> Commands

Name

:CHANnel<n>:RANGe —

Command Syntax

:CHANnel<n>:RANGe <range>[<suffix>]
<range> ::= vertical full-scale range value in NR3 format
<suffix> ::= {V | mV}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:RANGe command defines the full-scale vertical axis of the selected channel. When using 1:1 probe attenuation, legal values for the range are from 8 mV to 40 V.

If the probe attenuation is changed, the range value is multiplied by the probe attenuation factor.

Query Syntax

:CHANnel<n>:RANGe?

The :CHANnel<n>:RANGe? query returns the current full-scale range setting for the specified channel.

Return Format

<range_argument><NL>
<range_argument> ::= vertical full-scale range value in NR3 format

See Also

  • Introduction to :CHANnel<n> Commands

  • :CHANnel<n>[:MAIN]:SCALe

  • :CHANnel<n>:PROBe

Example Code

   ' CHANNEL_RANGE - Sets the full scale vertical range in volts.  The
   ' range value is 8 times the volts per division.
   myScope.WriteString ":CHANnel1:RANGe 8"   ' Set the vertical range to 8 volts.

See complete example programs at: Programming Examples


:CHANnel<n>:UNITs

:CHANnel<n> Commands

Name

:CHANnel<n>:UNITs —

Command Syntax

:CHANnel<n>:UNITs <units>
<units> ::= {VOLT | AMPere}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:UNITs command sets the measurement units for the connected probe. Select VOLT for a voltage probe and select AMPere for a current probe. Measurement results, channel sensitivity, and trigger level will reflect the measurement units you select.

Query Syntax

:CHANnel<n>:UNITs?

The :CHANnel<n>:UNITs? query returns the current units setting for the specified channel.

Return Format

<units><NL>
<units> ::= {VOLT | AMP}

See Also

  • Introduction to :CHANnel<n> Commands

  • :CHANnel<n>:RANGe

  • :CHANnel<n>:PROBe

  • :EXTernal:UNITs


:CHANnel<n>:VERNier

:CHANnel<n> Commands

Name

:CHANnel<n>:VERNier —

Command Syntax

:CHANnel<n>:VERNier <vernier value>
<vernier value> ::= {{1 | ON} | {0 | OFF}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:VERNier command specifies whether the channel's vernier (fine vertical adjustment) setting is ON (1) or OFF (0).

Query Syntax

:CHANnel<n>:VERNier?

The :CHANnel<n>:VERNier? query returns the current state of the channel's vernier setting.

Return Format

<vernier value><NL>
<vernier value> ::= {0 | 1}

See Also

  • Introduction to :CHANnel<n> Commands


:CHANnel<n>:WINDow:OFFSet

:CHANnel<n> Commands

Name

:CHANnel<n>:WINDow:OFFSet —

Command Syntax

:CHANnel<n>:WINDow:OFFSet <offset> [<suffix>]
<n> ::= 1 to (# analog channels) in NR1 format
<offset> ::= Vertical offset value in NR3 format
<suffix> ::= {V | mV}

In the Zoom mode (see :TIMebase:MODE), the :CHANnel<n>:WINDow:OFFSet command sets the Zoom box center position with respect to the vertical reference location.

Because the Zoom box must remain within the Main window (whose range is set with :CHANnel<n>:RANGe or :CHANnel<n>[:MAIN]:SCALe), the Zoom box offset limits depend on the height of the Zoom box (see :CHANnel<n>:WINDow:SCALe) and the position of the vertical reference (see :CHANnel<n>[:MAIN]:OFFSet)

Adjusting the Zoom box vertical offset is not possible when the Zoom box is the full height of the Main window.

When the Zoom mode vertical scale and offset are not locked (see :SYSTem:WINDow:LOCK), each channel can have its own distinct Zoom box center position. When locked, changing one channel's Zoom box center position will affect the settings for all channels.

Query Syntax

:CHANnel<n>:WINDow:OFFSet?

The :CHANnel<n>:WINDow:OFFSet? query returns ...

Return Format

<offset><NL>
<offset> ::= Vertical offset value in NR3 format

See Also

  • :TIMebase:MODE

  • :CHANnel<n>:RANGe

  • :CHANnel<n>[:MAIN]:SCALe

  • :CHANnel<n>:WINDow:SCALe

  • :CHANnel<n>[:MAIN]:OFFSet

  • :SYSTem:WINDow:LOCK


:CHANnel<n>:WINDow:SCALe

:CHANnel<n> Commands

Name

:CHANnel<n>:WINDow:SCALe —

Command Syntax

:CHANnel<n>:WINDow:SCALe <scale>[<suffix>]
<n> ::= 1 to (# analog channels) in NR1 format
<scale> ::= Vertical units per division in NR3 format
<suffix> ::= {V | mV}

In the Zoom mode (see :TIMebase:MODE), the :CHANnel<n>:WINDow:SCALe command sets the Zoom grid vertical units per division. This affects the height of the Zoom box.

Because the Zoom box must remain within the Main window, the maximum value is the Main window's vertical units per division (see :CHANnel<n>[:MAIN]:SCALe or :CHANnel<n>:RANGe).

To set the Zoom box vertical offset, use the :CHANnel<n>:WINDow:OFFSet command.

When the Zoom mode vertical scale and offset are not locked (see :SYSTem:WINDow:LOCK), each channel can have its own distinct vertical scale within the Zoom window. When locked, changing one channel's Zoom grid vertical units per division will affect the settings for all channels.

Query Syntax

:CHANnel<n>:WINDow:SCALe?

The :CHANnel<n>:WINDow:SCALe? query returns ...

Return Format

<scale><NL>
<scale> ::= Vertical units per division in NR3 format

See Also

  • :TIMebase:MODE

  • :CHANnel<n>[:MAIN]:SCALe

  • :CHANnel<n>:RANGe

  • :CHANnel<n>:WINDow:OFFSet

  • :SYSTem:WINDow:LOCK


:CLOCk Commands

The :CLOCk commands specify the clock recovery options.

:CLOCk Commands Summary:

Command | Query | Options and Query Returns
:CLOCk {{0 | OFF} | {1 | ON}} | :CLOCk? | {0 | 1}
:CLOCk:METHod <method> | :CLOCk:METHod? | <method> ::= {<fixed> | <fopll> | <sopll> | <explicit>} <fixed> ::= FIXed, {AUTO | SEMI[, <data_rate>] | <data_rate>} <fopll> ::= FOPLL, <data_rate>, <loop_bandwidth> <sopll> ::= SOPLL, <data_rate>, <loop_bandwidth>, <damping_factor> <explicit> ::= EXPLicit, <source>, {RISing | FALLing | BOTH}[, <multiplier>] <data_rate> ::= the data signal's expected bits/second rate in NR3 format <loop_bandwidth> ::= the -3 dB bandwidth specification of PLL in NR3 format <damping_factor> ::= of the PLL's observed jitter transfer function in NR3 format <source> ::= explicit clock source, CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <multiplier> ::= explicit clock multiplier from 1 to 1000 in NR1 format


:CLOCk

:CLOCk Commands

Name

:CLOCk —

Command Syntax

:CLOCk {{0 | OFF} | {1 | ON}}

The :CLOCk command turns the display of the recovered clock on or off.

Math function 1 is used to display the recovered clock.

Query Syntax

:CLOCk?

The :CLOCk? query returns whether the recovered clock is currently displayed.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :CLOCk:METHod


:CLOCk:METHod

:CLOCk Commands

Name

:CLOCk:METHod —

Command Syntax

:CLOCk:METHod <method>
<method> ::= {<fixed> | <fopll> | <sopll> | <explicit>}
<fixed> ::= FIXed, {AUTO | SEMI[, <data_rate>] | <data_rate>}
<fopll> ::= FOPLl, <data_rate>, <loop_bandwidth>
<sopll> ::= SOPLl, <data_rate>, <loop_bandwidth>, <damping_factor>
<explicit> ::= EXPLicit, <source>, {RISing | FALLing | BOTH}[,
   <multiplier>]
<data_rate> ::= the data signal's expected bits/second rate in NR3
   format
<loop_bandwidth> ::= the -3 dB bandwidth specification of PLL in
   NR3 format
<damping_factor> ::= of the PLL's observed jitter transfer function
   in NR3 format
<source> ::= explicit clock source, CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format
<multiplier> ::= explicit clock multiplier from 1 to 1000 in NR1 format

The :CLOCk:METHod command sets the clock recovery method:

  • FIXed — The clock is assumed to be a constant frequency, and the data rate recovery options are:

    • AUTO — The clock is recovered using the signal edge database only. The narrowest pulse is presumed to be an isolated one or zero.

    • SEMI — The clock is recovered using the expected nominal data rate as a "seed" and the signal edge database.

    • <data_rate> — The expected nominal data rate you enter is used. It should be the reciprocal of the signal's unit interval.

  • FOPLl — With First Order PLL, the clock is recovered using the DSP-modeled response of an ideal first-order hardware PLL.

  • SOPLl — With Second Order PLL, the clock is recovered using the DSP-modeled response of an ideal Type II, second-order hardware PLL.

    Typical damping factor values are 1.0, which is critically damped, and 0.707, which is considered ideal or optimal because of its fast settling time (optimally flat) and Butterworth type response. Values less than 1 are underdamped, and values greater than 1 are overdamped.

  • EXPLicit — The clock is recovered from a second signal in your device under test, with a multiplier from 1 to 1000 applied.

Query Syntax

:CLOCk:METHod?

The :CLOCk:METHod? query returns the currently specified clock recovery method.

Return Format

<method><NL>

See Also

  • :CLOCk


:COUNter<c> Commands

These commands control the counter feature. See Introduction to :COUNter<c> Commands.

:COUNter<c> Commands Summary:

Command | Query | Options and Query Returns
n/a | :COUNter<c>:CURRent? | <c> ::= {1 | 2 | 3 | 4} <value> ::= current counter value in NR3 format
:COUNter<c>:ENABle {{0 | OFF} | {1 | ON}} | :COUNter<c>:ENABle? | <c> ::= {1 | 2 | 3 | 4} {0 | 1}
:COUNter<c>:MODE <mode> | :COUNter<c>:MODE | <c> ::= {1 | 2 | 3 | 4} <mode> ::= {FREQuency | PERiod | TOTalize}
:COUNter<c>:NDIGits <value> | :COUNter<c>:NDIGits | <c> ::= {1 | 2 | 3 | 4} <value> ::= 3 to 8 in NR1 format
:COUNter<c>:SOURce <source> | :COUNter<c>:SOURce? | <c> ::= {1 | 2 | 3 | 4} <source> ::= {CHANnel<n> | TQEVent} <n> ::= 1 to (# analog channels) in NR1 format
:COUNter<c>:TOTalize:CLEar | n/a | <c> ::= {1 | 2 | 3 | 4}
:COUNter<c>:TOTalize:SLOPe <slope> | :COUNter<c>:TOTalize:SLOPe? | <c> ::= {1 | 2 | 3 | 4} <slope> ::= {{NEGative | FALLing} | {POSitive | RISing}}

Introduction to :COUNter<c> Commands

The :COUNter subsystem provides commands to control the counter feature.

Reporting the Setup. Use :COUNter<c>? to query setup information for the COUNter subsystem.

Return Format. The following is a sample response from the :COUNter1? query. In this case, the query was issued following the *RST command.

:COUN1:ENAB 0;SOUR CHAN1;MODE FREQ;NDIG 5


:COUNter<c>:CURRent?

:COUNter<c> Commands

Name

:COUNter<c>:CURRent? —

Query Syntax

:COUNter<c>:CURRent?
<c> ::= {1 | 2 | 3 | 4}

The :COUNter<c>:CURRent? query returns the current counter value.

Return Format

<value><NL>
<value> ::= current counter value in NR3 format

See Also

  • :COUNter<c>:ENABle

  • :COUNter<c>:MODE

  • :COUNter<c>:NDIGits

  • :COUNter<c>:SOURce


:COUNter<c>:ENABle

:COUNter<c> Commands

Name

:COUNter<c>:ENABle —

Command Syntax

:COUNter<c>:ENABle {{0 | OFF} | {1 | ON}}
<c> ::= {1 | 2 | 3 | 4}

The :COUNter<c>:ENABle command enables or disables the counter feature.

Query Syntax

:COUNter<c>:ENABle?

The :COUNter<c>:ENABle? query returns whether the counter is enabled or disabled.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :COUNter<c>:CURRent?

  • :COUNter<c>:MODE

  • :COUNter<c>:NDIGits

  • :COUNter<c>:SOURce


:COUNter<c>:MODE

:COUNter<c> Commands

Name

:COUNter<c>:MODE —

Command Syntax

:COUNter<c>:MODE <mode>
<c> ::= {1 | 2 | 3 | 4}
<mode> ::= {FREQuency | PERiod | TOTalize}

The :COUNter<c>:MODE command sets the counter mode:

  • FREQuency — the cycles per second (Hz) of the signal.

  • PERiod — the time periods of the signal's cycles.

  • TOTalize — the count of edge events on the signal.

Query Syntax

:COUNter<c>:MODE?

The :COUNter<c>:MODE? query returns the counter mode setting.

Return Format

<mode><NL>
<mode> ::= {FREQ | PER | TOT}

See Also

  • :COUNter<c>:CURRent?

  • :COUNter<c>:ENABle

  • :COUNter<c>:NDIGits

  • :COUNter<c>:SOURce

  • :COUNter<c>:TOTalize:CLEar

  • :COUNter<c>:TOTalize:SLOPe


:COUNter<c>:NDIGits

:COUNter<c> Commands

Name

:COUNter<c>:NDIGits —

Command Syntax

:COUNter<c>:NDIGits <value>
<c> ::= {1 | 2 | 3 | 4}
<value> ::= 3 to 8 in NR1 format

The :COUNter<c>:NDIGits command sets the number of digits of resolution used for the frequency or period counter.

Higher resolutions require longer gate times, which cause the measurement times to be longer as well.

Query Syntax

:COUNter<c>:NDIGits?

The :COUNter<c>:NDIGits? query returns the currently set number of digits of resolution.

Return Format

<value><NL>
<value> ::= 3 to 8 in NR1 format

See Also

  • :COUNter<c>:CURRent?

  • :COUNter<c>:ENABle

  • :COUNter<c>:MODE

  • :COUNter<c>:SOURce

  • :COUNter<c>:TOTalize:CLEar

  • :COUNter<c>:TOTalize:SLOPe


:COUNter<c>:SOURce

:COUNter<c> Commands

Name

:COUNter<c>:SOURce —

Command Syntax

:COUNter<c>:SOURce <source>
<c> ::= {1 | 2 | 3 | 4}
<source> ::= {CHANnel<n> | TQEVent}
<n> ::= 1 to (# analog channels) in NR1 format

The :COUNter<c>:SOURce command selects the waveform source that the counter measures. You can select one of the analog input channels or the trigger qualified event signal.

With the TQEVent (trigger qualified event) source (available when the trigger mode is not EDGE), you can see how often trigger events are detected. This can be more often than when triggers actually occur, due to the oscilloscope's acquisition time or update rate capabilities. The AUX OUT signal shows when triggers actually occur. Remember that the oscilloscope's trigger circuitry does not re-arm until the holdoff time occurs (:TRIGger:HOLDoff) and that the minimum holdoff time is 40 ns; therefore, the maximum trigger qualified event frequency that can be counted is 25 MHz.

Query Syntax

:COUNter<c>:SOURce?

The :COUNter<c>:SOURce? query returns the currently set counter source channel.

Return Format

<source><NL>

See Also

  • :COUNter<c>:CURRent?

  • :COUNter<c>:ENABle

  • :COUNter<c>:MODE

  • :COUNter<c>:NDIGits


:COUNter<c>:TOTalize:CLEar

:COUNter<c> Commands

Name

:COUNter<c>:TOTalize:CLEar —

Command Syntax

:COUNter<c>:TOTalize:CLEar
<c> ::= {1 | 2 | 3 | 4}

The :COUNter<c>:TOTalize:CLEar command zeros the edge event counter.

See Also

  • :COUNter<c>:CURRent?

  • :COUNter<c>:ENABle

  • :COUNter<c>:MODE

  • :COUNter<c>:NDIGits

  • :COUNter<c>:SOURce

  • :COUNter<c>:TOTalize:SLOPe


:COUNter<c>:TOTalize:SLOPe

:COUNter<c> Commands

Name

:COUNter<c>:TOTalize:SLOPe —

Command Syntax

:COUNter<c>:TOTalize:SLOPe <slope>
<c> ::= {1 | 2 | 3 | 4}
<slope> ::= {{NEGative | FALLing} | {POSitive | RISing}}

The :COUNter<c>:TOTalize:SLOPe command specifies whether positive or negative edges are counted.

Query Syntax

:COUNter<c>:TOTalize:SLOPe?

The :COUNter<c>:TOTalize:SLOPe? query returns the currently set slope specification.

Return Format

<slope><NL>
<slope> ::= {NEG | POS}

See Also

  • :COUNter<c>:CURRent?

  • :COUNter<c>:ENABle

  • :COUNter<c>:MODE

  • :COUNter<c>:NDIGits

  • :COUNter<c>:SOURce

  • :COUNter<c>:TOTalize:CLEar


:DEMO Commands

You can output demonstration signals on the oscilloscope's Demo 1 and Demo 2 terminals. See Introduction to :DEMO Commands.

:DEMO Commands Summary:

Command | Query | Options and Query Returns
:DEMO:FUNCtion <signal> | :DEMO:FUNCtion? | <signal> ::= {SINusoid | RINGing | CLK | JITTer | RUNT | TRANsition | NMONotonic | CAN | CFD | LIN | USBPd | ARINc | MIL | SENT}
:DEMO:OUTPut {{0 | OFF} | {1 | ON}} | :DEMO:OUTPut? | {0 | 1}

Introduction to :DEMO Commands

The :DEMO subsystem provides commands to output demonstration signals on the oscilloscope's Demo 1 and Demo 2 terminals.

Reporting the Setup. Use :DEMO? to query setup information for the DEMO subsystem.

Return Format. The following is a sample response from the :DEMO? query. In this case, the query was issued following the *RST command.

:DEMO:FUNC SIN;OUTP 0


:DEMO:FUNCtion

:DEMO Commands

Name

:DEMO:FUNCtion —

Command Syntax

:DEMO:FUNCtion <signal>
<signal> ::= {SINusoid | RINGing | CLK | JITTer | RUNT | TRANsition
   | NMONotonic | CAN | CFD | LIN | USBPd | ARINc | MIL | SENT}

The :DEMO:FUNCtion command selects the type of demo signal:

Demo Signal Function | Demo 1 Terminal
SINusoid | 5 MHz sine wave @ ~ 2.5 Vpp, 0 V offset
RINGing | 500 kHz digital pulse @ ~ 4.0 Vpp, 2.0 V offset, and ~500 ns pulse width with ringing
CLK | 7 MHz clock @ ~2 Vpp, 1 V offset, with infrequent glitch (1 glitch per 1,000,000 clocks)
JITTer | 1.2 MHz square wave @ ~ 3.25 Vpp, 0.0 V offset, with a frequency modulation of 24 kHz
RUNT | Digital pulse train with positive and negative runt pulses @ ~ 2.9 Vpp, 1.5 V offset
TRANsition | Digital pulse train with two different edge speeds @ ~ 2.5 Vpp, 1.25 V offset
NMONotonic | Digital pulse train with infrequent non-monotonic rising edges @ ~ 2.85 Vpp, 1.42 V offset
CAN | CAN_L, 125 kbps dominant-low, ~2.8 Vpp, ~1.4 V offset
CFD | CAN XL (Fast Mode), ~2.4 Vpp, ~-1.2 V offset, 4 Mb/s standard baud rate (sample point at 80%), 10 Mb/s XL baud rate (sample point at 50%)
LIN | LIN, 19.2 kbs, ~2.8 Vpp, ~1.4 V offset
USBPd | USB PD, ~2.5 Vpp, ~1.25 V offset, with vendor-defined data message packet and Good CRC control message packet
ARINc | ARINC 429, 100 kbps, ~5 Vpp, ~0 V offset.
MIL | MIL-STD 1553 RT to RT transfer, received ~1.3 Vpp, transmitted ~4.8 Vpp, 0 V offset
SENT | SENT, ~3.0 Vpp, ~1.5 V offset, 3 μs clock period, 6 nibbles in a Fast Channel Message, Slow Channel Messages in enhanced format, idle state high, with pause pulse

Query Syntax

:DEMO:FUNCtion?

The :DEMO:FUNCtion? query returns the currently selected demo signal type.

Return Format

<signal><NL>
<signal> ::= {SIN | RING | CLK | JITT | RUNT | TRAN | NMON | CAN
   | CFD | LIN | USBP | ARIN | MIL | SENT}

See Also

  • Introduction to :DEMO Commands


:DEMO:OUTPut

:DEMO Commands

Name

:DEMO:OUTPut —

Command Syntax

:DEMO:OUTPut <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}

The :DEMO:OUTPut command specifies whether the demo signal output is ON (1) or OFF (0).

Query Syntax

:DEMO:OUTPut?

The :DEMO:OUTPut? query returns the current state of the demo signal output setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :DEMO Commands

  • :DEMO:FUNCtion


:DIGital<d> Commands

Control all oscilloscope functions associated with individual digital channels. See Introduction to :DIGital<d> Commands.

:DIGital<d> Commands Summary:

Command | Query | Options and Query Returns
:DIGital:ORDer:ASCending | n/a | n/a
:DIGital:ORDer:DESCending | n/a | n/a
:DIGital:ORDer[:SET] <digital_channels_list> | :DIGital:ORDer[:SET]? | <digital_channels_list> ::= comma-separated list, e.g., DIGital<d>,DIGital<d>,.. <d> ::= 0 to (# digital channels - 1) in NR1 format
:DIGital<d>:DISPlay {{0 | OFF} | {1 | ON}} | :DIGital<d>:DISPlay? | <d> ::= 0 to (# digital channels - 1) in NR1 format {0 | 1}
:DIGital<d>:LABel <string> | :DIGital<d>:LABel? | <d> ::= 0 to (# digital channels - 1) in NR1 format <string> ::= any series of 32 or less ASCII characters enclosed in quotation marks
n/a | :DIGital<d>:SETup? | <d> ::= 0 to (# digital channels - 1) in NR1 format Returns setup information string, for example, ":DIG0:DISP 1;THR +1.40E+00"
:DIGital<d>:SIZE <value> | :DIGital<d>:SIZE? | <d> ::= 0 to (# digital channels - 1) in NR1 format <value> ::= {SMALl | MEDium | LARGe}
:DIGital<d>:THReshold <value>[suffix] | :DIGital<d>:THReshold? | <d> ::= 0 to (# digital channels - 1) in NR1 format <value> ::= {CMOS | ECL | TTL | <user defined value>} <user defined value> ::= value in NR3 format from -8.00 to +8.00 [suffix] ::= {V | mV | uV}

Introduction to :DIGital<d> Commands

<d> ::= 0 to (# digital channels - 1) in NR1 format

The DIGital subsystem commands control the viewing, labeling, and positioning of digital channels. They also control threshold settings for groups of digital channels, or pods.

Reporting the Setup. Use :DIGital<d>:SETup? to query setup information for the DIGital subsystem.

Return Format. The following is a sample response from the :DIGital0:SETup? query. In this case, the query was issued following a *RST command.

:DIG0:DISP 0;THR +1.40E+00;LAB "D0"


:DIGital:ORDer:ASCending

:DIGital<d> Commands

Name

:DIGital:ORDer:ASCending —

Command Syntax

:DIGital:ORDer:ASCending

The :DIGital:ORDer:ASCending command displays the digital channels that are turned on (see :DIGital<d>:DISPlay) in ascending order.

See Also

  • :DIGital<d>:DISPlay

  • :DIGital:ORDer:DESCending

  • :DIGital:ORDer[:SET]


:DIGital:ORDer:DESCending

:DIGital<d> Commands

Name

:DIGital:ORDer:DESCending —

Command Syntax

:DIGital:ORDer:DESCending

The :DIGital:ORDer:DESCending command displays the digital channels that are turned on (see :DIGital<d>:DISPlay) in descending order.

See Also

  • :DIGital<d>:DISPlay

  • :DIGital:ORDer:ASCending

  • :DIGital:ORDer[:SET]


:DIGital:ORDer[:SET]

:DIGital<d> Commands

Name

:DIGital:ORDer[:SET] —

Command Syntax

:DIGital:ORDer[:SET] <digital_channels_list>
<digital_channels_list> ::= comma-separated list,
   e.g., DIGital<d>,DIGital<d>,..
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :DIGital:ORDer[:SET] command displays digital channels in the order listed.

Digital channels not in the list are turned off and are not displayed.

Query Syntax

:DIGital:ORDer[:SET]?

The :DIGital:ORDer[:SET]? query returns the current order of displayed digital channels.

Return Format

<digital_channels_list><NL>
<digital_channels_list> ::= comma-separated list

See Also

  • :DIGital:ORDer:ASCending

  • :DIGital:ORDer:DESCending

  • :DIGital<d>:DISPlay


:DIGital<d>:DISPlay

:DIGital<d> Commands

Name

:DIGital<d>:DISPlay —

Command Syntax

:DIGital<d>:DISPlay <display>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<display> ::= {{1 | ON} | {0 | OFF}}

The :DIGital<d>:DISPlay command turns digital display on or off for the specified channel.

Query Syntax

:DIGital<d>:DISPlay?

The :DIGital<d>:DISPlay? query returns the current digital display setting for the specified channel.

Return Format

<display><NL>
<display> ::= {0 | 1}

See Also

  • Introduction to :DIGital<d> Commands

  • :DIGital<d>:SETup?

  • :POD<n>:DISPlay

  • :CHANnel<n>:DISPlay

  • :VIEW

  • :BLANk

  • :STATus?


:DIGital<d>:LABel

:DIGital<d> Commands

Name

:DIGital<d>:LABel —

Command Syntax

:DIGital<d>:LABel <string>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<string> ::= any series of 32 or less characters as quoted ASCII string.

The :DIGital<d>:LABel command sets the channel label to the string that follows. Setting a label for a channel also adds the name to the label list in non-volatile memory (replacing the oldest label in the list).

[Note]

Label strings are 32 characters or less, and may contain any commonly used ASCII characters. Labels with more than 32 characters are truncated to 32 characters.

Query Syntax

:DIGital<d>:LABel?

The :DIGital<d>:LABel? query returns the name of the specified channel.

Return Format

<label string><NL>
<label string> ::= any series of 32 or less characters as a quoted
                   ASCII string.

See Also

  • Introduction to :DIGital<d> Commands

  • :CHANnel<n>:LABel

  • :DISPlay:LABList

  • :BUS<n>:LABel


:DIGital<d>:SETup?

:DIGital<d> Commands

Name

:DIGital<d>:SETup? —

Query Syntax

:DIGital<d>:SETup?

The :DIGital<d>:SETup? query returns setup information for the specified digital channel.

Return Format

<string><NL>
<string> ::= setup information string

For example:

:DIG0:DISP 1;THR +1.40E+00

See Also

  • :DIGital<d>:DISPlay

  • :DIGital<d>:THReshold


:DIGital<d>:SIZE

:DIGital<d> Commands

Name

:DIGital<d>:SIZE —

Command Syntax

:DIGital<d>:SIZE <value>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<value> ::= {SMALl | MEDium | LARGe}

The :DIGital<d>:SIZE command specifies the size of digital channels on the display. Sizes are set for all digital channels. Therefore, if you set the size on digital channel 0 (for example), the same size is set on all other as well.

Query Syntax

:DIGital<d>:SIZE?

The :DIGital<d>:SIZE? query returns the size setting for the specified digital channels.

Return Format

<size_value><NL>
<size_value> ::= {SMAL | MED | LARG}

See Also

  • Introduction to :DIGital<d> Commands

  • :POD<n>:SIZE

  • :DIGital:ORDer[:SET]


:DIGital<d>:THReshold

:DIGital<d> Commands

Name

:DIGital<d>:THReshold —

Command Syntax

:DIGital<d>:THReshold <value>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<value> ::= {CMOS | ECL | TTL | <user defined value>[<suffix>]}
<user defined value> ::= -8.00 to +8.00 in NR3 format
<suffix> ::= {V | mV | uV}

  • TTL = 1.4V

  • CMOS = 2.5V

  • ECL = -1.3V

The :DIGital<d>:THReshold command sets the logic threshold value for all channels in the same pod as the specified channel. The threshold is used for triggering purposes and for displaying the digital data as high (above the threshold) or low (below the threshold).

Query Syntax

:DIGital<d>:THReshold?

The :DIGital<d>:THReshold? query returns the threshold value for the specified channel.

Return Format

<value><NL>
<value> ::= threshold value in NR3 format

See Also

  • Introduction to :DIGital<d> Commands

  • :DIGital<d>:SETup?

  • :POD<n>:THReshold

  • :TRIGger[:EDGE]:LEVel


:DISPlay Commands

Control how waveforms, graticule, and text are displayed and written on the screen. See Introduction to :DISPlay Commands.

:DISPlay Commands Summary:

Command | Query | Options and Query Returns
:DISPlay:ANNotation<n> {{0 | OFF} | {1 | ON}} | :DISPlay:ANNotation<n>? | {0 | 1} <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:BACKground <mode> | :DISPlay:ANNotation<n>:BACKground? | <mode> ::= {OPAQue | INVerted | TRANsparent} <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:COLor <color> | :DISPlay:ANNotation<n>:COLor? | <color> ::= {CH1 | CH2 | CH3 | CH4 | DIG | MATH | REF | MARKer | WHITe | RED} <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:GRID <number> | :DISPlay:ANNotation<n>:GRID? | <number> ::= an integer from 1 to 20 in NR1 format. <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:MODE <mode> | :DISPlay:ANNotation<n>:MODE? | <mode> ::= {GRID | SOURce} <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:SOURce <source> | :DISPlay:ANNotation<n>:SOURce? | <source> ::= {CHANnel<n> | WMEMory<n> | FUNCtion<n> | FFT | DIGital<n>} <n> ::= an integer in NR1 format.
:DISPlay:ANNotation<n>:TEXT <string> | :DISPlay:ANNotation<n>:TEXT? | <string> ::= quoted ASCII string (up to 254 characters) <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:XPOSition <value> | :DISPlay:ANNotation<n>:XPOSition? | <value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid width. <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:ANNotation<n>:YPOSition <value> | :DISPlay:ANNotation<n>:YPOSition? | <value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid height. <n> ::= an integer from 1 to 20 in NR1 format.
:DISPlay:BACKlight {{0 | OFF} | {1 | ON}} | n/a | n/a
:DISPlay:CLEar | n/a | n/a
:DISPlay:CLOCk:IGRid {{0 | OFF} | {1 | ON}} | :DISPlay:CLOCk:IGRid? | <setting> ::= {0 | 1}
:DISPlay:CLOCk:IGRid:XPOSition <value> | :DISPlay:CLOCk:IGRid:XPOSition? | <value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid width.
:DISPlay:CLOCk:IGRid:YPOSition <value> | :DISPlay:CLOCk:IGRid:YPOSition? | <value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid height.
:DISPlay:CLOCk[:STATe] {{0 | OFF} | {1 | ON}} | :DISPlay:CLOCk[:STATe]? | <setting> ::= {0 | 1}
n/a | :DISPlay:DATA? [<format>] | <format> ::= {BMP | PNG} <display data> ::= data in IEEE 488.2 # format
:DISPlay:DIALog:CLOSe | n/a | n/a
:DISPlay:DIALog:TRANsparent {{0 | OFF} | {1 | ON}} | :DISPlay:DIALog:TRANsparent? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:ALABels {{0 | OFF} | {1 | ON}} | :DISPlay:GRATicule:ALABels? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:ALABels:DUAL {{0 | OFF} | {1 | ON}} | :DISPlay:GRATicule:ALABels:DUAL? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:ALABels:IGRid {{0 | OFF} | {1 | ON}} | :DISPlay:GRATicule:ALABels:IGRid? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:COUNt <value> | :DISPlay:GRATicule:COUNt? | <num_grids> ::= an integer from 1 to 4 in NR1 format.
:DISPlay:GRATicule:FSCReen {{0 | OFF} | {1 | ON}} | :DISPlay:GRATicule:FSCReen? | <setting> ::= {0 | 1}
:DISPlay:GRATicule:INTensity <value> | :DISPlay:GRATicule:INTensity? | <value> ::= an integer from 0 to 100 in NR1 format.
:DISPlay:GRATicule:LAYout <type> | :DISPlay:GRATicule:LAYout? | <type> ::= {STACked | TILed | OVERlay | CUSTom}
:DISPlay:GRATicule:SET <source>,<grid> | n/a | <source> ::= {CHANnel<n> | WMEMory<n> | FUNCtion<n> | FFT | {PBUS<n> | SBUS<n>} | GAIN | PHASe} <grid> ::= a grid number integer from 1 to 4 in NR1 format.
n/a | :DISPlay:GRATicule:SOURce? <grid> | <grid> ::= a grid number integer from 1 to 4 in NR1 format. Returns: <sources> ::= comma-separated list of the waveforms displayed in the grid. Can contain items like: CHAN<n>, WMEM<n>, FUNC<n>, FFT, SBUS<n>, GAIN, PHASe
:DISPlay:INTensity:WAVeform <value> | :DISPlay:INTensity:WAVeform? | <value> ::= an integer from 0 to 100 in NR1 format.
:DISPlay:LABel {{0 | OFF} | {1 | ON}} | :DISPlay:LABel? | {0 | 1}
:DISPlay:LABList <binary block> | :DISPlay:LABList? | <binary block> ::= an ordered list of up to 75 labels, each 10 characters maximum, separated by newline characters
:DISPlay:MESSage:CLEar | n/a | n/a
:DISPlay:PERSistence <value> | :DISPlay:PERSistence? | <value> ::= {MINimum | INFinite | <time>} <time> ::= seconds in in NR3 format from 100E-3 to 60E0
:DISPlay:PERSistence:CLEar | n/a | n/a
n/a | :DISPlay:RESults:CATalog? | <windows> ::= list of the results windows displayed from left to right. Can contain: MEAS, MARK, HIST, DVM, COUN, LIST, MTES, FRAN
:DISPlay:RESults:LAYout <format> | :DISPlay:RESults:LAYout? | <format> ::= {TAB | LIST}
:DISPlay:RESults:LAYout:LIST[:SELect] <results_window> | :DISPlay:RESults:LAYout:LIST[:SELect]? | <results_window> ::= {MEAS | MARK | HIST | DVM | COUN | LIST | MTES | FRAN}
:DISPlay:RESults:LAYout:TAB:LEFT[:SELect] <results_window> | :DISPlay:RESults:LAYout:TAB:LEFT[:SELect]? | <results_window> ::= {MEAS | MARK | HIST | DVM | COUN | LIST | MTES | FRAN}
:DISPlay:RESults:LAYout:TAB:RIGHt[:SELect] <results_window> | :DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]? | <results_window> ::= {MEAS | MARK | HIST | DVM | COUN | LIST | MTES | FRAN}
:DISPlay:RESults:SIZE <size> | :DISPlay:RESults:SIZE? | <size> ::= {CUSTom,<height> | FULL | HIDDen} <height> ::= a pixel height integer from 36 to 1024 in NR1 format.
:DISPlay:TRANsparent {OFF | ON} | :DISPlay:TRANsparent? | {OFF | ON}
:DISPlay:VECTors {{0 | OFF} | {1 | ON}} | :DISPlay:VECTors? | {0 | 1}
:DISPlay:XYColor <xy_color_scheme> | :DISPlay:XYColor? | <xy_color_scheme> ::= {VIRidis | HOT | ABYSs | SKY | INFerno}

Introduction to :DISPlay Commands

The DISPlay subsystem is used to control the display storage and retrieval of waveform data, labels, and text. This subsystem allows the following actions:

  • Clear the waveform area on the display.

  • Set waveform persistence.

  • Specify labels.

  • Save and Recall display data.

Reporting the Setup. Use :DISPlay? to query the setup information for the DISPlay subsystem.

Return Format. The following is a sample response from the :DISPlay? query. In this case, the query was issued following a *RST command.

:DISP:LAB 0;PERS MIN


:DISPlay:ANNotation<n>

:DISPlay Commands

Name

:DISPlay:ANNotation<n> —

Command Syntax

:DISPlay:ANNotation<n> <setting>
<setting> ::= {{1 | ON} | {0 | OFF}}
<n> ::= an integer from 1 to 20 in NR1 format.

The :DISPlay:ANNotation<n> command turns the annotation on and off. When on, the annotation appears in the upper left corner of the oscilloscope's display.

The annotation is useful for documentation purposes, to add notes before capturing screens.

Query Syntax

:DISPlay:ANNotation<n>?

The :DISPlay:ANNotation<n>? query returns the annotation setting.

Return Format

<value><NL>
<value> ::= {0 | 1}

See Also

  • :DISPlay:ANNotation<n>:TEXT

  • :DISPlay:ANNotation<n>:COLor

  • :DISPlay:ANNotation<n>:BACKground

  • :DISPlay:ANNotation<n>:XPOSition

  • :DISPlay:ANNotation<n>:YPOSition

  • Introduction to :DISPlay Commands


:DISPlay:ANNotation<n>:BACKground

:DISPlay Commands

Name

:DISPlay:ANNotation<n>:BACKground —

Command Syntax

:DISPlay:ANNotation<n>:BACKground <mode>
<mode> ::= {OPAQue | INVerted | TRANsparent}
<n> ::= an integer from 1 to 20 in NR1 format.

The :DISPlay:ANNotation<n>:BACKground command specifies the background of the annotation:

  • OPAQue — the annotation has a solid background.

  • INVerted — the annotation's foreground and background colors are switched.

  • TRANsparent — the annotation has a transparent background.

Query Syntax

:DISPlay:ANNotation<n>:BACKground?

The :DISPlay:ANNotation<n>:BACKground? query returns the specified annotation background mode.

Return Format

<mode><NL>
<mode> ::= {OPAQ | INV | TRAN}

See Also

  • :DISPlay:ANNotation<n>

  • :DISPlay:ANNotation<n>:TEXT

  • :DISPlay:ANNotation<n>:COLor

  • :DISPlay:ANNotation<n>:XPOSition

  • :DISPlay:ANNotation<n>:YPOSition

  • Introduction to :DISPlay Commands


:DISPlay:ANNotation<n>:COLor

:DISPlay Commands

Name

:DISPlay:ANNotation<n>:COLor —

Command Syntax

:DISPlay:ANNotation<n>:COLor <color>
<color> ::= {CH1 | CH2 | CH3 | CH4 | DIG | MATH | REF | MARKer | WHITe
            | RED}
<n> ::= an integer from 1 to 20 in NR1 format.

When an annotation's mode is GRID (see :DISPlay:ANNotation<n>:MODE), the :DISPlay:ANNotation<n>:COLor command specifies the annotation color. You can choose white, red, or colors that match analog channels, digital channels, math waveforms, reference waveforms, or markers.

Query Syntax

:DISPlay:ANNotation<n>:COLor?

The :DISPlay:ANNotation<n>:COLor? query returns the specified annotation color.

Return Format

<color><NL>
<color> ::= {CH1 | CH2 | CH3 | CH4 | DIG | MATH | REF | MARK | WHIT
            | RED}

See Also

  • :DISPlay:ANNotation<n>:MODE

  • :DISPlay:ANNotation<n>:GRID

  • :DISPlay:ANNotation<n>

  • :DISPlay:ANNotation<n>:TEXT

  • :DISPlay:ANNotation<n>:BACKground

  • :DISPlay:ANNotation<n>:XPOSition

  • :DISPlay:ANNotation<n>:YPOSition

  • Introduction to :DISPlay Commands


:DISPlay:ANNotation<n>:GRID

:DISPlay Commands

Name

:DISPlay:ANNotation<n>:GRID —

Command Syntax

:DISPlay:ANNotation<n>:GRID <number>
<number> ::= an integer from 1 to 4 in NR1 format.
<n> ::= an integer from 1 to 20 in NR1 format.

When an annotation's mode is GRID (see :DISPlay:ANNotation<n>:MODE), the :DISPlay:ANNotation<n>:GRID command makes the association to a grid.

When an annotation is associated with a grid, you can specify the annotation color using the :DISPlay:ANNotation<n>:COLor command.

Query Syntax

:DISPlay:ANNotation<n>:GRID?

The :DISPlay:ANNotation<n>:GRID? query returns the grid to which the annotation is associated.

Return Format

<number><NL>
<number> ::= an integer from 1 to 4 in NR1 format.

See Also

  • :DISPlay:ANNotation<n>:MODE

  • :DISPlay:ANNotation<n>:COLor

  • :DISPlay:ANNotation<n>

  • :DISPlay:ANNotation<n>:TEXT

  • :DISPlay:ANNotation<n>:BACKground

  • :DISPlay:ANNotation<n>:XPOSition

  • :DISPlay:ANNotation<n>:YPOSition

  • Introduction to :DISPlay Commands


:DISPlay:ANNotation<n>:MODE

:DISPlay Commands

Name

:DISPlay:ANNotation<n>:MODE —

Command Syntax

:DISPlay:ANNotation<n>:MODE <mode>
<mode> ::= {GRID | SOURce}
<n> ::= an integer from 1 to 4 in NR1 format.

The :DISPlay:ANNotation<n>:MODE command specifies the annotation's association:

  • GRID — The annotation is associated with a grid. Use the :DISPlay:ANNotation<n>:GRID command to select the grid.

    The annotation will remain in the grid as the grid layout changes.

    When an annotation is associated with a grid, you can specify the annotation color using the :DISPlay:ANNotation<n>:COLor command.

  • SOURce — The annotation is associated with a waveform source. Use the :DISPlay:ANNotation<n>:SOURce command to select the waveform source.

    The annotation will remain with the waveform source as the waveform is moved between grids.

    When an annotation is associated with a waveform source, its color is the same as the waveform source.

Query Syntax

:DISPlay:ANNotation<n>:MODE?

The :DISPlay:ANNotation<n>:MODE? query returns the annotation mode.

Return Format

<mode><NL>
<mode> ::= {GRID | SOUR}

See Also

  • :DISPlay:ANNotation<n>:GRID

  • :DISPlay:ANNotation<n>:COLor

  • :DISPlay:ANNotation<n>:SOURce

  • :DISPlay:ANNotation<n>

  • :DISPlay:ANNotation<n>:TEXT

  • :DISPlay:ANNotation<n>:BACKground

  • :DISPlay:ANNotation<n>:XPOSition

  • :DISPlay:ANNotation<n>:YPOSition

  • Introduction to :DISPlay Commands


:DISPlay:ANNotation<n>:SOURce

:DISPlay Commands

Name

:DISPlay:ANNotation<n>:SOURce —

Command Syntax

:DISPlay:ANNotation<n>:SOURce <source>
<source> ::= {CHANnel<n> | WMEMory<n> | FUNCtion<n> | FFT | DIGital<n>}
<n> ::= an integer in NR1 format.

When an annotation's mode is SOURce (see :DISPlay:ANNotation<n>:MODE), the :DISPlay:ANNotation<n>:SOURce command makes the association to a waveform source.

Query Syntax

:DISPlay:ANNotation<n>:SOURce?

The :DISPlay:ANNotation<n>:SOURce? query returns the waveform source to which the annotation is associated.

Return Format

<source><NL>
<source> ::= {CHAN<n> | WMEM<n> | FUNC<n> | FFT | DIG<n>}

See Also

  • :DISPlay:ANNotation<n>:MODE

  • :DISPlay:ANNotation<n>

  • :DISPlay:ANNotation<n>:TEXT

  • :DISPlay:ANNotation<n>:BACKground

  • :DISPlay:ANNotation<n>:XPOSition

  • :DISPlay:ANNotation<n>:YPOSition

  • Introduction to :DISPlay Commands


:DISPlay:ANNotation<n>:TEXT

:DISPlay Commands

Name

:DISPlay:ANNotation<n>:TEXT —

Command Syntax

:DISPlay:ANNotation<n>:TEXT <string>
<string> ::= quoted ASCII string (up to 254 characters)
<n> ::= an integer from 1 to 20 in NR1 format.

The :DISPlay:ANNotation<n>:TEXT command specifies the annotation string. The annotation string can contain as many characters as will fit in the Edit Annotation box on the oscilloscope's screen, up to 254 characters.

You can include a carriage return in the annotation string using the characters "\n". Note that this is not a new line character but the actual "\" (backslash) and "n" characters in the string. Carriage returns lessen the number of characters available for the annotation string.

Use :DISPlay:ANNotation<n>:TEXT "" to remotely clear the annotation text. (Two sets of quote marks without a space between them creates a NULL string.)

Query Syntax

:DISPlay:ANNotation<n>:TEXT?

The :DISPlay:ANNotation<n>:TEXT? query returns the specified annotation text.

When carriage returns are present in the annotation text, they are returned as the actual carriage return character (ASCII 0x0D).

Return Format

<string><NL>
<string> ::= quoted ASCII string

See Also

  • :DISPlay:ANNotation<n>

  • :DISPlay:ANNotation<n>:COLor

  • :DISPlay:ANNotation<n>:BACKground

  • :DISPlay:ANNotation<n>:XPOSition

  • :DISPlay:ANNotation<n>:YPOSition

  • Introduction to :DISPlay Commands


:DISPlay:ANNotation<n>:XPOSition

:DISPlay Commands

Name

:DISPlay:ANNotation<n>:XPOSition —

Command Syntax

:DISPlay:ANNotation<n>:XPOSition <value>
<value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent
   of the grid width.
<n> ::= an integer from 1 to 20 in NR1 format.

The :DISPlay:ANNotation<n>:XPOSition command sets the annotation's horizontal X position.

Query Syntax

:DISPlay:ANNotation<n>:XPOSition?

The :DISPlay:ANNotation<n>:XPOSition? query returns the annotation's horizontal X position.

Return Format

<value><NL>
<value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent
   of the grid width.

See Also

  • :DISPlay:ANNotation<n>:YPOSition

  • :DISPlay:ANNotation<n>

  • :DISPlay:ANNotation<n>:COLor

  • :DISPlay:ANNotation<n>:BACKground

  • :DISPlay:ANNotation<n>:TEXT


:DISPlay:ANNotation<n>:YPOSition

:DISPlay Commands

Name

:DISPlay:ANNotation<n>:YPOSition —

Command Syntax

:DISPlay:ANNotation<n>:YPOSition <value>
<value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent
   of the grid height.
<n> ::= an integer from 1 to 20 in NR1 format.

The :DISPlay:ANNotation<n>:YPOSition command sets the annotation's vertical Y position.

Query Syntax

:DISPlay:ANNotation<n>:YPOSition?

The :DISPlay:ANNotation<n>:YPOSition? query returns the annotation's vertical Y position.

Return Format

<value><NL>
<value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent
   of the grid height.

See Also

  • :DISPlay:ANNotation<n>:XPOSition

  • :DISPlay:ANNotation<n>

  • :DISPlay:ANNotation<n>:COLor

  • :DISPlay:ANNotation<n>:BACKground

  • :DISPlay:ANNotation<n>:TEXT


:DISPlay:BACKlight

:DISPlay Commands

Name

:DISPlay:BACKlight —

Command Syntax

:DISPlay:BACKlight {{0 | OFF} | {1 | ON}}

The :DISPlay:BACKlight command turns the display's backlight off or on.


:DISPlay:CLEar

:DISPlay Commands

Name

:DISPlay:CLEar —

Command Syntax

:DISPlay:CLEar

The :DISPlay:CLEar 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 for active channels and functions is erased; however, new data is displayed on the next acquisition.

See Also

  • Introduction to :DISPlay Commands


:DISPlay:CLOCk:IGRid

:DISPlay Commands

Name

:DISPlay:CLOCk:IGRid —

Command Syntax

:DISPlay:CLOCk:IGRid {{0 | OFF} | {1 | ON}}

When the oscilloscope's clock information is displayed (see :DISPlay:CLOCk[:STATe]), the :DISPlay:CLOCk:IGRid command specifies whether the clock information is displayed in the first waveform grid (ON) or in the badges bar at the top of the screen (OFF).

Query Syntax

:DISPlay:CLOCk:IGRid?

The :DISPlay:CLOCk:IGRid? query returns whether the oscilloscope's clock information is displayed in the first waveform grid (1) or in the badges bar at the top of the screen (0).

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DISPlay:CLOCk:IGRid:XPOSition

  • :DISPlay:CLOCk:IGRid:YPOSition

  • :DISPlay:CLOCk[:STATe]


:DISPlay:CLOCk:IGRid:XPOSition

:DISPlay Commands

Name

:DISPlay:CLOCk:IGRid:XPOSition —

Command Syntax

:DISPlay:CLOCk:IGRid:XPOSition <value>
<value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid width.

When the oscilloscope's clock information is displayed (see :DISPlay:CLOCk[:STATe]) and is located in the first waveform grid (see :DISPlay:CLOCk:IGRid), the :DISPlay:CLOCk:IGRid:XPOSition command specifies the horizontal X position of the clock information as a percent of the grid width.

Query Syntax

:DISPlay:CLOCk:IGRid:XPOSition?

The :DISPlay:CLOCk:IGRid:XPOSition? query returns the oscilloscope's clock information horizontal X position as a percent of the grid width.

Return Format

<value><NL>
<value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid width.

See Also

  • :DISPlay:CLOCk:IGRid

  • :DISPlay:CLOCk:IGRid:YPOSition

  • :DISPlay:CLOCk[:STATe]


:DISPlay:CLOCk:IGRid:YPOSition

:DISPlay Commands

Name

:DISPlay:CLOCk:IGRid:YPOSition —

Command Syntax

:DISPlay:CLOCk:IGRid:YPOSition <value>
<value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid height.

When the oscilloscope's clock information is displayed (see :DISPlay:CLOCk[:STATe]) and is located in the first waveform grid (see :DISPlay:CLOCk:IGRid), the :DISPlay:CLOCk:IGRid:YPOSition command specifies the vertical Y position of the clock information as a percent of the grid height.

Query Syntax

:DISPlay:CLOCk:IGRid:YPOSition?

The :DISPlay:CLOCk:IGRid:YPOSition? query returns the oscilloscope's clock information vertical Y position as a percent of the grid height.

Return Format

<value><NL>
<value> ::= a decimal from 0.0 to 1.0 in NR3 format that is a percent of the grid height.

See Also

  • :DISPlay:CLOCk:IGRid

  • :DISPlay:CLOCk:IGRid:XPOSition

  • :DISPlay:CLOCk[:STATe]


:DISPlay:CLOCk[:STATe]

:DISPlay Commands

Name

:DISPlay:CLOCk[:STATe] —

Command Syntax

:DISPlay:CLOCk[:STATe] {{0 | OFF} | {1 | ON}}

The :DISPlay:CLOCk[:STATe] command enables or disables the display of the oscilloscope's clock information.

Query Syntax

:DISPlay:CLOCk[:STATe]?

The :DISPlay:CLOCk[:STATe]? query returns whether the oscilloscope's clock information is displayed on screen.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DISPlay:CLOCk:IGRid

  • :DISPlay:CLOCk:IGRid:XPOSition

  • :DISPlay:CLOCk:IGRid:YPOSition


:DISPlay:DATA?

:DISPlay Commands

Name

:DISPlay:DATA? —

Query Syntax

:DISPlay:DATA? [<format>]
<format> ::= {BMP | PNG}

The :DISPlay:DATA? query reads screen image data. You can choose 24-bit BMP or 24-bit PNG formats.

If no format option is specified, the screen image is returned as specified by the front panel's File > Save... dialog box's Format selection.

Screen image data is returned in the IEEE-488.2 # binary block data format.

Return Format

<display data><NL>
<display data> ::= binary block data in IEEE-488.2 # format.

See Also

  • Introduction to :DISPlay Commands

  • :HCOPy:SDUMp:DATA?

  • :HCOPy:SDUMp[:DATA]:FORMat

  • *RCL (Recall)

  • *SAV (Save)

  • :VIEW

Example Code

   ' IMAGE_TRANSFER - In this example, we will query for the image data
   ' with ":DISPlay:DATA?", read the data, and then save it to a file.
   Dim byteData() As Byte
   myScope.IO.Timeout = 15000
   myScope.WriteString ":DISPlay:DATA? PNG"
   byteData = myScope.ReadIEEEBlock(BinaryType_UI1)
   ' Output display data to a file:
   strPath = "c:\scope\data\screen.png"
   ' Remove file if it exists.
   If Len(Dir(strPath)) Then
     Kill strPath
   End If
   Close #1   ' If #1 is open, close it.
   Open strPath For Binary Access Write Lock Write As #1   ' Open file for output.
   Put #1, , byteData   ' Write data.
   Close #1   ' Close file.
   myScope.IO.Timeout = 5000

See complete example programs at: Programming Examples


:DISPlay:DIALog:CLOSe

:DISPlay Commands

Name

:DISPlay:DIALog:CLOSe —

Command Syntax

:DISPlay:DIALog:CLOSe

The :DISPlay:DIALog:CLOSe command closes all open dialog boxes in the graphical user interface. You may want to send this command before saving screen images.

See Also

  • :DISPlay:DIALog:TRANsparent


:DISPlay:DIALog:TRANsparent

:DISPlay Commands

Name

:DISPlay:DIALog:TRANsparent —

Command Syntax

:DISPlay:DIALog:TRANsparent {{0 | OFF} | {1 | ON}}

The :DISPlay:DIALog:TRANsparent command enables or disables the Transparent Dialogs user preference option. When enabled, dialog box backgrounds are transparent. When enabled, dialog box backgrounds are solid.

Query Syntax

:DISPlay:DIALog:TRANsparent?

The :DISPlay:DIALog:TRANsparent? query returns the transparent dialog box background setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DISPlay:DIALog:CLOSe


:DISPlay:GRATicule:ALABels

:DISPlay Commands

Name

:DISPlay:GRATicule:ALABels —

Command Syntax

:DISPlay:GRATicule:ALABels {{0 | OFF} | {1 | ON}}

The :DISPlay:GRATicule:ALABels command turns graticule (grid) axis labels on or off.

Query Syntax

:DISPlay:GRATicule:ALABels?

The :DISPlay:GRATicule:ALABels? query returns the graticule (grid) axis labels setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DISPlay:GRATicule:INTensity

  • :DISPlay:GRATicule:ALABels:DUAL

  • :DISPlay:GRATicule:ALABels:IGRid


:DISPlay:GRATicule:ALABels:DUAL

:DISPlay Commands

Name

:DISPlay:GRATicule:ALABels:DUAL —

Command Syntax

:DISPlay:GRATicule:ALABels:DUAL {{0 | OFF} | {1 | ON}}

When multiple waveforms are displayed in a grid, grid scales are displayed (see :DISPlay:GRATicule:ALABels), and scales are not shown within the grid (see :DISPlay:GRATicule:ALABels:IGRid), the :DISPlay:GRATicule:ALABels:DUAL command specifies whether grid scales are shown for two waveforms.

Query Syntax

:DISPlay:GRATicule:ALABels:DUAL?

The :DISPlay:GRATicule:ALABels:DUAL? query returns whether grid scales are shown for two waveforms.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DISPlay:GRATicule:ALABels

  • :DISPlay:GRATicule:ALABels:IGRid


:DISPlay:GRATicule:ALABels:IGRid

:DISPlay Commands

Name

:DISPlay:GRATicule:ALABels:IGRid —

Command Syntax

:DISPlay:GRATicule:ALABels:IGRid {{0 | OFF} | {1 | ON}}

When grid scales are displayed (see :DISPlay:GRATicule:ALABels), the :DISPlay:GRATicule:ALABels:IGRid command specifies whether graticule (grid) axis labels are displayed in separate scale bars (OFF) or within the grid (ON).

In order to display grid axis scales for two waveforms (see :DISPlay:GRATicule:ALABels:DUAL), grid axis labels must be displayed in in separate scale bars.

Query Syntax

:DISPlay:GRATicule:ALABels:IGRid?

The :DISPlay:GRATicule:ALABels:IGRid? query returns whether graticule (grid) axis labels are displayed in separate scale bars (0) or within the grid (1).

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DISPlay:GRATicule:ALABels

  • :DISPlay:GRATicule:ALABels:DUAL


:DISPlay:GRATicule:COUNt

:DISPlay Commands

Name

:DISPlay:GRATicule:COUNt —

Command Syntax

:DISPlay:GRATicule:COUNt <num_grids>
<value> ::= an integer from 1 to 4 in NR1 format.

When the graticule (grid) layout is set to CUSTom (see :DISPlay:GRATicule:LAYout), the :DISPlay:GRATicule:COUNt command specifies the number of waveform grids.

Query Syntax

:DISPlay:GRATicule:COUNt?

The :DISPlay:GRATicule:COUNt? query returns the number of waveform grids.

Return Format

<num_grids><NL>
<num_grids> ::= an integer from 1 to 4 in NR1 format.

See Also

  • :DISPlay:GRATicule:LAYout

  • :DISPlay:GRATicule:SET

  • :DISPlay:GRATicule:SOURce?


:DISPlay:GRATicule:FSCReen

:DISPlay Commands

Name

:DISPlay:GRATicule:FSCReen —

Command Syntax

:DISPlay:GRATicule:FSCReen {{0 | OFF} | {1 | ON}}

The :DISPlay:GRATicule:FSCReen command specifies whether the waveform display grids occupy the full screen.

Query Syntax

:DISPlay:GRATicule:FSCReen?

The :DISPlay:GRATicule:FSCReen? query returns the whether the waveform display grids occupy the full screen.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DISPlay:RESults:SIZE

  • :DISPlay:GRATicule:LAYout


:DISPlay:GRATicule:INTensity

:DISPlay Commands

Name

:DISPlay:GRATicule:INTensity —

Command Syntax

:DISPlay:GRATicule:INTensity <value>
<value> ::= an integer from 0 to 100 in NR1 format.

The :DISPlay:GRATicule:INTensity command sets the graticule (grid) intensity.

Query Syntax

:DISPlay:GRATicule:INTensity?

The :DISPlay:GRATicule:INTensity? query returns the graticule (grid) intensity setting.

Return Format

<value><NL>

See Also

  • :DISPlay:GRATicule:ALABels


:DISPlay:GRATicule:LAYout

:DISPlay Commands

Name

:DISPlay:GRATicule:LAYout —

Command Syntax

:DISPlay:GRATicule:LAYout <type>
<type> ::= {STACked | TILed | OVERlay | CUSTom}

The :DISPlay:GRATicule:LAYout command specifies the layout of waveform display grids:

  • STACked — Waveform display grids are stacked vertically.

    Up to four grids are automatically used depending on the number of waveforms that are displayed. Assignment of waveforms to grids also happens automatically.

  • TILed — Waveform display grids are tiled horizontally and vertically.

    Up to four grids are automatically used depending on the number of waveforms that are displayed. Assignment of waveforms to grids also happens automatically.

  • OVERlay — All waveforms are overlaid in one grid.

  • CUSTom — Specifies a custom waveform display grid layout where the number of grids can be specified (see :DISPlay:GRATicule:COUNt) and waveform sources can be assigned to particular grids (see :DISPlay:GRATicule:SET).

Query Syntax

:DISPlay:GRATicule:LAYout?

The :DISPlay:GRATicule:LAYout? query returns the waveform display grid layout.

Return Format

<type><NL>
<type> ::= {STAC | TIL | OVER | CUST}

See Also

  • :DISPlay:GRATicule:COUNt

  • :DISPlay:GRATicule:SET

  • :DISPlay:GRATicule:SOURce?


:DISPlay:GRATicule:SET

:DISPlay Commands

Name

:DISPlay:GRATicule:SET —

Command Syntax

:DISPlay:GRATicule:SET <source>,<grid>
<source> ::= {CHANnel<n> | WMEMory<n> | FUNCtion<n> | FFT
   | {PBUS<n> | SBUS<n>} | GAIN | PHASe}
<grid> ::= a grid number inter from 1 to 4 in NR1 format.

When the graticule (grid) layout is set to CUSTom (see :DISPlay:GRATicule:LAYout), the :DISPlay:GRATicule:SET command assigns a waveform source to a particular grid.

The specified grid must be enabled before a waveform source can be assigned to it (see :DISPlay:GRATicule:COUNt).

To view the waveform sources assigned to a grid, use the :DISPlay:GRATicule:SOURce? query.

See Also

  • :DISPlay:GRATicule:COUNt

  • :DISPlay:GRATicule:LAYout

  • :DISPlay:GRATicule:SOURce?


:DISPlay:GRATicule:SOURce?

:DISPlay Commands

Name

:DISPlay:GRATicule:SOURce? —

Query Syntax

:DISPlay:GRATicule:SOURce? <grid>
<grid> ::= a grid number integer from 1 to 4 in NR1 format.

The :DISPlay:GRATicule:SOURce? query returns a comma-separated list of the waveforms in the grid.

The list can contain items like: CHAN<n>, WMEM<n>, FUNC<n>, FFT, SBUS<n>, GAIN, PHASe

When the graticule (grid) layout is set to CUSTom (see :DISPlay:GRATicule:LAYout), you can assign waveform sources to a particular grid using the :DISPlay:GRATicule:SET command.

Return Format

<sources><NL>
<sources> ::= comma-separated list of the waveforms displayed in the grid.

See Also

  • :DISPlay:GRATicule:COUNt

  • :DISPlay:GRATicule:LAYout

  • :DISPlay:GRATicule:SET


:DISPlay:INTensity:WAVeform

:DISPlay Commands

Name

:DISPlay:INTensity:WAVeform —

Command Syntax

:DISPlay:INTensity:WAVeform <value>
<value> ::= an integer from 0 to 100 in NR1 format.

The :DISPlay:INTensity:WAVeform command sets the waveform intensity.

This is the same as adjusting the front panel [Intensity] knob.

Query Syntax

:DISPlay:INTensity:WAVeform?

The :DISPlay:INTensity:WAVeform? query returns the waveform intensity setting.

Return Format

<value><NL>
<value> ::= an integer from 0 to 100 in NR1 format.

See Also

  • Introduction to :DISPlay Commands


:DISPlay:LABel

:DISPlay Commands

Name

:DISPlay:LABel —

Command Syntax

:DISPlay:LABel <value>
<value> ::= {{1 | ON} | {0 | OFF}}

The :DISPlay:LABel command turns the analog and digital channel labels on and off.

Query Syntax

:DISPlay:LABel?

The :DISPlay:LABel? query returns the display mode of the analog and digital labels.

Return Format

<value><NL>
<value> ::= {0 | 1}

See Also

  • Introduction to :DISPlay Commands

  • :CHANnel<n>:LABel

Example Code

   ' DISP_LABEL
   '  - Turns label names ON or OFF on the analyzer display.
   myScope.WriteString ":DISPlay:LABel ON"   ' Turn on labels.

See complete example programs at: Programming Examples


:DISPlay:LABList

:DISPlay Commands

Name

:DISPlay:LABList —

Command Syntax

:DISPlay:LABList <binary block data>
<binary block> ::= an ordered list of up to 75 labels, a maximum of 32
                   characters each, separated by newline characters.

The :DISPlay:LABList command adds labels to the label list. Labels are added in alphabetical order.

[Note]

Labels that begin with the same alphabetic base string followed by decimal digits are considered duplicate labels. Duplicate labels are not added to the label list. For example, if label "A0" is in the list and you try to add a new label called "A1234567890123456789012345678901", the new label is not added.

Query Syntax

:DISPlay:LABList?

The :DISPlay:LABList? query returns the label list.

Return Format

<binary block><NL>
<binary block> ::= an ordered list of up to 75 labels, a maximum of 32
                   characters each, separated by newline characters.

See Also

  • Introduction to :DISPlay Commands

  • :DISPlay:LABel

  • :CHANnel<n>:LABel

  • :DIGital<d>:LABel

  • :BUS<n>:LABel


:DISPlay:MESSage:CLEar

:DISPlay Commands

Name

:DISPlay:MESSage:CLEar —

Command Syntax

:DISPlay:MESSage:CLEar

The :DISPlay:MESSage:CLEar command removes all user messages that are currently on screen.

See Also

  • :SYSTem:DSP


:DISPlay:PERSistence

:DISPlay Commands

Name

:DISPlay:PERSistence —

Command Syntax

:DISPlay:PERSistence <value>
<value> ::= {MINimum | INFinite | <time>}
<time> ::= seconds in in NR3 format from 100E-3 to 60E0

The :DISPlay:PERSistence command specifies the persistence setting:

  • MINimum — indicates zero persistence.

  • INFinite — indicates infinite persistence.

  • <time> — for variable persistence, that is, you can specify how long acquisitions remain on the screen.

Use the :DISPlay:PERSistence:CLEar command to erase points stored by persistence.

[Note]

Persistence is not available for math or FFT functions.

Query Syntax

:DISPlay:PERSistence?

The :DISPlay:PERSistence? query returns the specified persistence setting.

Return Format

<value><NL>
<value> ::= {MIN | INF | <time>}

See Also

  • Introduction to :DISPlay Commands

  • :DISPlay:PERSistence:CLEar


:DISPlay:PERSistence:CLEar

:DISPlay Commands

Name

:DISPlay:PERSistence:CLEar —

Command Syntax

:DISPlay:PERSistence:CLEar

The :DISPlay:PERSistence:CLEar command erases all persistence data from the display, leaving the data from the last acquisition.

If the oscilloscope is running, the display will begin to accumulate waveform and persistence data again.

The :DISPlay:CLEar command clears all waveform data from the display, including the data from the last acquisition.

See Also

  • :DISPlay:PERSistence

  • :DISPlay:CLEar


:DISPlay:RESults:CATalog?

:DISPlay Commands

Name

:DISPlay:RESults:CATalog? —

Query Syntax

:DISPlay:RESults:CATalog?

The :DISPlay:RESults:CATalog? query returns a comma-separated list of the windows in the results area.

The list can contain items like: MEAS, MARK, HIST, DVM, COUN, LIST, MTES, FRAN

Return Format

<windows><NL>
<windows> ::= comma-separated list of the results windows displayed
   from left to right.

See Also

  • :DISPlay:RESults:LAYout

  • :DISPlay:RESults:SIZE


:DISPlay:RESults:LAYout

:DISPlay Commands

Name

:DISPlay:RESults:LAYout —

Command Syntax

:DISPlay:RESults:LAYout <format>
<format> ::= {TAB | LIST}

The :DISPlay:RESults:LAYout command specifies the layout of windows in the results area:

  • TAB — Windows in the results area are tabbed.

  • LIST — Windows in the results area are listed next to each other and buttons at the bottom of the results area can be used to highlight a particular window.

Query Syntax

:DISPlay:RESults:LAYout?

The :DISPlay:RESults:LAYout? query returns the specified results area layout.

Return Format

<format><NL>
<format> ::= {TAB | LIST}

See Also

  • :DISPlay:RESults:CATalog?

  • :DISPlay:RESults:SIZE

  • :DISPlay:RESults:LAYout:LIST[:SELect]

  • :DISPlay:RESults:LAYout:TAB:LEFT[:SELect]

  • :DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]


:DISPlay:RESults:LAYout:LIST[:SELect]

:DISPlay Commands

Name

:DISPlay:RESults:LAYout:LIST[:SELect] —

Command Syntax

:DISPlay:RESults:LAYout:LIST[:SELect] <results_window>
<results_window> ::= {MEAS | MARK | HIST | DVM | COUN | LIST | MTES | FRAN}

When windows in the results area are listed next to each other and buttons at the bottom of the results area can be used to highlight a particular window (see :DISPlay:RESults:LAYout), the :DISPlay:RESults:LAYout:LIST[:SELect] command lets you select and highlight a particular window.

Query Syntax

:DISPlay:RESults:LAYout:LIST[:SELect]?

The :DISPlay:RESults:LAYout:LIST[:SELect]? query returns the selected and highlighted window when windows in the results area are listed next to each other.

Return Format

<results_window><NL>
<results_window> ::= {MEAS | MARK | HIST | DVM | COUN | LIST | MTES | FRAN}

See Also

  • :DISPlay:RESults:LAYout

  • :DISPlay:RESults:LAYout:LIST[:SELect]

  • :DISPlay:RESults:LAYout:TAB:LEFT[:SELect]

  • :DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]


:DISPlay:RESults:LAYout:TAB:LEFT[:SELect]

:DISPlay Commands

Name

:DISPlay:RESults:LAYout:TAB:LEFT[:SELect] —

Command Syntax

:DISPlay:RESults:LAYout:TAB:LEFT[:SELect] <results_window>
<results_window> ::= {MEAS | MARK | HIST | LIST | MTES | FRAN}

When windows in the results area are tabbed (see :DISPlay:RESults:LAYout), the :DISPlay:RESults:LAYout:TAB:LEFT[:SELect] command selects a particular window to display in the left pane.

Query Syntax

:DISPlay:RESults:LAYout:TAB:LEFT[:SELect]?

The :DISPlay:RESults:LAYout:TAB:LEFT[:SELect]? query returns the left pane's selected window.

Return Format

<results_window><NL>
<results_window> ::= {MEAS | MARK | HIST | LIST | MTES | FRAN}

See Also

  • :DISPlay:RESults:LAYout

  • :DISPlay:RESults:LAYout:LIST[:SELect]

  • :DISPlay:RESults:LAYout:TAB:LEFT[:SELect]

  • :DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]


:DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]

:DISPlay Commands

Name

:DISPlay:RESults:LAYout:TAB:RIGHt[:SELect] —

Command Syntax

:DISPlay:RESults:LAYout:TAB:RIGHt[:SELect] <results_window>
<results_window> ::= {DVM | COUN}

When windows in the results area are tabbed (see :DISPlay:RESults:LAYout), the :DISPlay:RESults:LAYout:TAB:RIGHt[:SELect] command selects a particular window to display in the right pane.

Query Syntax

:DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]?

The :DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]? query returns the right pane's selected window.

Return Format

<results_window><NL>
<results_window> ::= {DVM | COUN}

See Also

  • :DISPlay:RESults:LAYout

  • :DISPlay:RESults:LAYout:LIST[:SELect]

  • :DISPlay:RESults:LAYout:TAB:LEFT[:SELect]

  • :DISPlay:RESults:LAYout:TAB:RIGHt[:SELect]


:DISPlay:RESults:SIZE

:DISPlay Commands

Name

:DISPlay:RESults:SIZE —

Command Syntax

:DISPlay:RESults:SIZE <size>
<size> ::= {CUSTom,<height> | FULL | HIDDen}
<height> ::= a pixel height integer from 36 to 1024 in NR1 format.

The :DISPlay:RESults:SIZE command specifies the size of the results area:

  • CUSTom,<height> — Lets you specify the height of the results area.

  • FULL — The results area takes the full height of the display. A full height results area is 1024 pixels high.

  • HIDDen — The results area is minimized so that only the titles of the windows are visible. A hidden results area is 36 pixels high.

Query Syntax

:DISPlay:RESults:SIZE?

The :DISPlay:RESults:SIZE? query returns the size of the results area.

Return Format

<height><NL>
<height> ::= a pixel height integer from 36 to 1024 in NR1 format.

See Also

  • :DISPlay:RESults:CATalog?

  • :DISPlay:RESults:LAYout

  • :DISPlay:GRATicule:FSCReen


:DISPlay:TRANsparent

:DISPlay Commands

Name

:DISPlay:TRANsparent —

Command Syntax

:DISPlay:TRANsparent <setting>
<setting> ::= {OFF | ON}

The :DISPlay:TRANsparent command enables or disables transparent mode for dialog box backgrounds in the front panel graphical user interface.

This command maps to the Transparent Dialogs option that appears in the graphical user interface User Options dialog box's Preferences tab (Utilities > User Options...).

Query Syntax

:DISPlay:TRANsparent?

The :DISPlay:TRANsparent? query returns the transparent setting.

Return Format

<setting><NL>
<setting> ::= {OFF | ON}

See Also

  • Introduction to :DISPlay Commands


:DISPlay:VECTors

:DISPlay Commands

Name

:DISPlay:VECTors —

Command Syntax

:DISPlay:VECTors <vectors>
<vectors> ::= {{1 | ON} | {0 | OFF}}

The :DISPlay:VECTors command turns vector display on or off.

When vectors are turned on, the oscilloscope displays lines connecting sampled data points.

You can turn off vectors to view just waveform data points.

Query Syntax

:DISPlay:VECTors?

The :DISPlay:VECTors? query returns the vectors setting.

Return Format

<vectors><NL>
<vectors> ::= {1 | 0}

See Also

  • Introduction to :DISPlay Commands


:DISPlay:XYColor

:DISPlay Commands

Name

:DISPlay:XYColor —

Command Syntax

:DISPlay:XYColor <xy_color_scheme>
<xy_color_scheme> ::= {VIRidis | HOT | ABYSs | SKY | INFerno}

The :DISPlay:XYColor command specifies the color scheme (and persistence color) used for the XY horizontal time mode waveform.

Query Syntax

:DISPlay:XYColor?

The :DISPlay:XYColor? query returns the selected XY color scheme.

Return Format

<xy_color_scheme><NL>
<xy_color_scheme> ::= {VIR | HOT | ABYS | SKY | INF}

See Also

  • :TIMebase:MODE

  • :DISPlay:PERSistence


:DVM Commands

These commands control the digital voltmeter (DVM) feature.

:DVM Commands Summary:

Command | Query | Options and Query Returns
:DVM:ARANge {{0 | OFF} | {1 | ON}} | :DVM:ARANge? | {0 | 1}
n/a | :DVM:CURRent? | <dvm_value> ::= floating-point number in NR3 format
:DVM:ENABle {{0 | OFF} | {1 | ON}} | :DVM:ENABle? | {0 | 1}
:DVM:MODE <mode> | :DVM:MODE? | <dvm_mode> ::= {ACRMs | DC | DCRMs}
:DVM:SOURce <source> | :DVM:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1-2 or 1-4 in NR1 format


:DVM:ARANge

:DVM Commands

Name

:DVM:ARANge —

Command Syntax

:DVM:ARANge <setting>
<setting> ::= {{OFF | 0} | {ON | 1}}

If the selected digital voltmeter (DVM) source channel is not used in oscilloscope triggering, the :DVM:ARANge command turns the digital voltmeter's Auto Range capability on or off.

  • When on, the DVM channel's vertical scale, vertical (ground level) position, and trigger (threshold voltage) level (used for the counter frequency measurement) are automatically adjusted.

    The Auto Range capability overrides attempted adjustments of the channel's vertical scale and position.

  • When off, you can adjust the channel's vertical scale and position normally.

Query Syntax

:DVM:ARANge?

The :DVM:ARANge? query returns a flag indicating whether the digital voltmeter's Auto Range capability is on or off.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DVM:SOURce

  • :DVM:ENABle

  • :DVM:MODE


:DVM:CURRent?

:DVM Commands

Name

:DVM:CURRent? —

Query Syntax

:DVM:CURRent?

The :DVM:CURRent? query returns the displayed 3-digit DVM value based on the current mode.

[Note]

It can take up to a few seconds after DVM analysis is enabled before this query starts to produce good results, that is, results other than +9.9E+37. To wait for good values after DVM analysis is enabled, programs should loop until a value less than +9.9E+37 is returned.

Return Format

<dvm_value><NL>
<dvm_value> ::= floating-point number in NR3 format

See Also

  • :DVM:SOURce

  • :DVM:ENABle

  • :DVM:MODE


:DVM:ENABle

:DVM Commands

Name

:DVM:ENABle —

Command Syntax

:DVM:ENABle <setting>
<setting> ::= {{OFF | 0} | {ON | 1}}

The :DVM:ENABle command turns the digital voltmeter (DVM) analysis feature on or off.

Query Syntax

:DVM:ENABle?

The :DVM:ENABle? query returns a flag indicating whether the digital voltmeter (DVM) analysis feature is on or off.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :DVM:SOURce

  • :DVM:MODE

  • :DVM:ARANge


:DVM:MODE

:DVM Commands

Name

:DVM:MODE —

Command Syntax

:DVM:MODE <dvm_mode>
<dvm_mode> ::= {ACRMs | DC | DCRMs}

The :DVM:MODE command sets the digital voltmeter (DVM) mode:

  • ACRMs — displays the root-mean-square value of the acquired data, with the DC component removed.

  • DC — displays the DC value of the acquired data.

  • DCRMs — displays the root-mean-square value of the acquired data.

Query Syntax

:DVM:MODE?

The :DVM:MODE? query returns the selected DVM mode.

Return Format

<dvm_mode><NL>
<dvm_mode> ::= {ACRM | DC | DCRM}

See Also

  • :DVM:ENABle

  • :DVM:SOURce

  • :DVM:ARANge

  • :DVM:CURRent?

  • :TRIGger:MODE


:DVM:SOURce

:DVM Commands

Name

:DVM:SOURce —

Command Syntax

:DVM:SOURce <source>
<source> ::= {CHANnel<n>}
<n> ::= 1-2 or 1-4 in NR1 format

The :DVM:SOURce command sets the select the analog channel on which digital voltmeter (DVM) measurements are made.

The selected channel does not have to be on (displaying a waveform) in order for DVM measurements to be made.

Query Syntax

:DVM:SOURce?

The :DVM:SOURce? query returns the selected DVM input source.

Return Format

<source><NL>
<source> ::= {CHAN<n>}
<n> ::= 1-2 or 1-4 in NR1 format

See Also

  • :DVM:ENABle

  • :DVM:MODE

  • :DVM:ARANge

  • :DVM:CURRent?


:EXTernal Trigger Commands

Control the input characteristics of the external trigger input. See Introduction to :EXTernal Trigger Commands.

:EXTernal Trigger Commands Summary:

Command | Query | Options and Query Returns
:EXTernal:BWLimit <bwlimit> | :EXTernal:BWLimit? | <bwlimit> ::= {0 | OFF}
:EXTernal:PROBe <attenuation> | :EXTernal:PROBe? | <attenuation> ::= probe attenuation ratio in NR3 format
:EXTernal:RANGe <range>[<suffix>] | :EXTernal:RANGe? | <range> ::= vertical full-scale range value in NR3 format <suffix> ::= {V | mV}
:EXTernal:UNITs <units> | :EXTernal:UNITs? | <units> ::= {VOLT | AMPere}

Introduction to :EXTernal Trigger Commands

The EXTernal trigger subsystem commands control the input characteristics of the external trigger input. The probe factor, impedance, input range, input protection state, units, and bandwidth limit settings may all be queried. Depending on the instrument type, some settings may be changeable.

Reporting the Setup. Use :EXTernal? to query setup information for the EXTernal subsystem.

Return Format. The following is a sample response from the :EXTernal query. In this case, the query was issued following a *RST command.

:EXT:BWL 0;RANG +8.0E+00;UNIT VOLT;PROB +1.0000000E+00


:EXTernal:BWLimit

:EXTernal Trigger Commands

Name

:EXTernal:BWLimit —

Command Syntax

:EXTernal:BWLimit <bwlimit>
<bwlimit> ::= {0 | OFF}

The :EXTernal:BWLimit command is provided for product compatibility. The only legal value is 0 or OFF. Use the :TRIGger:HFReject command to limit bandwidth on the external trigger input.

Query Syntax

:EXTernal:BWLimit?

The :EXTernal:BWLimit? query returns the current setting of the low-pass filter (always 0).

Return Format

<bwlimit><NL>
<bwlimit> ::= 0

See Also

  • Introduction to :EXTernal Trigger Commands

  • Introduction to :TRIGger Commands

  • :TRIGger:HFReject


:EXTernal:PROBe

:EXTernal Trigger Commands

Name

:EXTernal:PROBe —

Command Syntax

:EXTernal:PROBe <attenuation>
<attenuation> ::= probe attenuation ratio in NR3 format

The :EXTernal:PROBe command specifies the probe attenuation factor for the external trigger. The probe attenuation factor can be set from 0.001 to 10000 in a 1-2-5 sequence. This command does not change the actual input sensitivity of the oscilloscope. It changes the reference constants for scaling the display factors and for setting trigger levels.

If an AutoProbe probe is connected to the oscilloscope, the attenuation value cannot be changed from the sensed value. Attempting to set the oscilloscope to an attenuation value other than the sensed value produces an error.

Query Syntax

:EXTernal:PROBe?

The :EXTernal:PROBe? query returns the current probe attenuation factor for the external trigger.

Return Format

<attenuation><NL>
<attenuation> ::= probe attenuation ratio in NR3 format

See Also

  • Introduction to :EXTernal Trigger Commands

  • :EXTernal:RANGe

  • Introduction to :TRIGger Commands

  • :CHANnel<n>:PROBe


:EXTernal:RANGe

:EXTernal Trigger Commands

Name

:EXTernal:RANGe —

Command Syntax

:EXTernal:RANGe <range>[<suffix>]
<range> ::= vertical full-scale range value in NR3 format
<suffix> ::= {V | mV}

The :EXTernal:RANGe command is provided for product compatibility. When using 1:1 probe attenuation, the range can only be set to 8.0 V.

If the probe attenuation is changed, the range value is multiplied by the probe attenuation factor.

Query Syntax

:EXTernal:RANGe?

The :EXTernal:RANGe? query returns the current full-scale range setting for the external trigger.

Return Format

<range_argument><NL>
<range_argument> ::= external trigger range value in NR3 format

See Also

  • Introduction to :EXTernal Trigger Commands

  • :EXTernal:PROBe

  • Introduction to :TRIGger Commands


:EXTernal:UNITs

:EXTernal Trigger Commands

Name

:EXTernal:UNITs —

Command Syntax

:EXTernal:UNITs <units>
<units> ::= {VOLT | AMPere}

The :EXTernal:UNITs command sets the measurement units for the probe connected to the external trigger input. Select VOLT for a voltage probe and select AMPere for a current probe. Measurement results, channel sensitivity, and trigger level will reflect the measurement units you select.

Query Syntax

:EXTernal:UNITs?

The :CHANnel<n>:UNITs? query returns the current units setting for the external trigger.

Return Format

<units><NL>
<units> ::= {VOLT | AMP}

See Also

  • Introduction to :EXTernal Trigger Commands

  • Introduction to :TRIGger Commands

  • :EXTernal:RANGe

  • :EXTernal:PROBe

  • :CHANnel<n>:UNITs


:FFT Commands

Control the FFT function in the oscilloscope. See Introduction to :FFT Commands.

:FFT Commands Summary:

Command | Query | Options and Query Returns
:FFT:AVERage:COUNt <count> | :FFT:AVERage:COUNt? | <count> ::= an integer from 2 to 65536 in NR1 format.
n/a | :FFT:BSIZe? | <bin_size> ::= the FFT resolution as a bin size frequency width in NR3 format.
:FFT:CENTer <frequency> | :FFT:CENTer? | <frequency> ::= the current center frequency in NR3 format. The range of legal values is from -25 GHz to 25 GHz.
:FFT:CLEar | n/a | n/a
:FFT:DETection:POINts <pts_per_span> | :FFT:DETection:POINts? | <pts_per_span> ::= an integer from 640 to 65536 in NR1 format.
:FFT:DETection:TYPE <detection> | :FFT:DETection:TYPE? | <detection> ::= {OFF | SAMPle | PPOSitive | PNEGative | AVERage | NORMal}
:FFT:DISPlay {{0 | OFF} | {1 | ON}} | :FFT:DISPlay? | <s> ::= 1-6, in NR1 format. {0 | 1}
:FFT:DMODe <display_mode> | :FFT:DMODe? | <display_mode> ::= {NORMal | AVERage | MAXHold | MINHold}
:FFT:FREQuency:STARt <frequency> | :FFT:FREQuency:STARt? | <frequency> ::= the start frequency in NR3 format.
:FFT:FREQuency:STOP <frequency> | :FFT:FREQuency:STOP? | <frequency> ::= the stop frequency in NR3 format.
:FFT:GATE <gating> | :FFT:GATE? | <gating> ::= {NONE | ZOOM | MARKers}
:FFT:OFFSet <offset> | :FFT:OFFSet? | <offset> ::= the value at center screen in NR3 format.
:FFT:RANGe <range> | :FFT:RANGe? | <range> ::= the full-scale vertical axis value in NR3 format.
n/a | :FFT:RBWidth? | <resolution_bw> ::= the FFT resolution as a resolution bandwidth frequency in NR3 format.
:FFT:READout <type> | :FFT:READout? | <type> ::= {OFF | SRATe | BSIZe | RBWidth}
:FFT:REFerence <level> | :FFT:REFerence? | <level> ::= the current reference level in NR3 format.
:FFT:SCALe <scale value>[<suffix>] | :FFT:SCALe? | <scale_value> ::= integer in NR1 format. <suffix> ::= dB
:FFT:SOURce <source> | :FFT:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format. <m> ::= 1 to (# math functions) in NR1 format
:FFT:SPAN <span> | :FFT:SPAN? | <span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.
n/a | :FFT:SRATe? | <sample_rate> ::= the FFT resolution as a sample rate frequency in NR3 format.
:FFT:VTYPe <units> | :FFT:VTYPe? | <units> ::= {DECibel | VRMS}
:FFT:WINDow <window> | :FFT:WINDow? | <window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett}
:FFTMax:OFFSet <offset>[<suffix>] | :FFTMax:OFFSet? | <offset> ::= the value at center screen in NR3 format. <suffix> ::= {dB | mdB | udB}
:FFTMax:RESet | n/a | n/a
:FFTMax:SCALe <scale_value>[<suffix>] | :FFTMax:SCALe? | <scale_value> ::= floating-point value in NR3 format. <suffix> ::= {dB | mdB | udB}
:FFTMax:STATe {{0 | OFF} | {1 | ON}} | :FFTMax:STATe? | <setting> ::= {0 | 1}

Introduction to :FFT Commands

The FFT subsystem controls the FFT function in the oscilloscope.

Reporting the Setup. Use :FFT? to query setup information for the FFT subsystem.

Return Format. The following is a sample response from the :FFT? query. In this case, the query was issued following a *RST command.

:FFT:DISP 0;SOUR1 CHAN1;RANG +160E+00;OFFS -60.0000E+00;
SPAN +100.0000E+03;CENT +50.000000E+03;WIND HANN;VTYP DEC;AVER:COUN 8


:FFT:AVERage:COUNt

:FFT Commands

Name

:FFT:AVERage:COUNt —

Command Syntax

:FFT:AVERage:COUNt <count>
<count> ::= an integer from 2 to 65536 in NR1 format.

The :FFT:AVERage:COUNt command sets the number of waveforms to be averaged together.

The number of averages can be set from 2 to 65536 in increments of powers of 2.

Increasing the number of averages will increase resolution and reduce noise.

Query Syntax

:FFT:AVERage:COUNt?

The :FFT:AVERage:COUNt? query returns the number of waveforms to be averaged together.

Return Format

<count><NL>
<count> ::= an integer from 2 to 65536 in NR1 format.

See Also

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:BSIZe?

:FFT Commands

Name

:FFT:BSIZe? —

Query Syntax

:FFT:BSIZe?

The :FFT:BSIZe? query returns the FFT's bin size value.

Return Format

<bin_size><NL>
<bin_size> ::= the FFT resolution as a bin size frequency width in NR3 format.

See Also

  • :FFT:RBWidth?

  • :FFT:READout

  • :FFT:SRATe?


:FFT:CENTer

:FFT Commands

Name

:FFT:CENTer —

Command Syntax

:FFT:CENTer <frequency>
<frequency> ::= the current center frequency in NR3 format. The range
                of legal values is from -25 GHz to 25 GHz.

The :FFT:CENTer command sets the center frequency when FFT (Fast Fourier Transform) is selected.

Query Syntax

:FFT:CENTer?

The :FFT:CENTer? query returns the current center frequency in Hertz.

Return Format

<frequency><NL>
<frequency> ::= the current center frequency in NR3 format. The range
                of legal values is from -25 GHz to 25 GHz.
[Note]

After a *RST (Reset) or :AUToscale command, the values returned by the :FFT:CENTer? and :FFT:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FFT:CENTer or :FFT:SPAN value, they no longer track the :TIMebase:RANGe value.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:CLEar

:FFT Commands

Name

:FFT:CLEar —

Command Syntax

:FFT:CLEar

When the FFT display mode is AVERage, MAXHold, or MINHold, the :FFT:CLEar command clears the number of evaluated waveforms.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:DETection:POINts

:FFT Commands

Name

:FFT:DETection:POINts —

Command Syntax

:FFT:DETection:POINts <pts_per_span>
<pts_per_span> ::= an integer from 640 to 65536 in NR1 format.

For FFT (Magnitude) functions, when FFT detectors are used (see :FFT:DETection:TYPE), the :FFT:DETection:POINts command specifies the maximum number of points that detectors should decimate to. This is also the number of buckets that sampled FFT points are grouped into before the selected detection type reduction (decimation) is applied.

Query Syntax

:FFT:DETection:POINts?

The :FFT:DETection:POINts? query returns the specified maximum number of points that detectors should decimate to.

Return Format

<pts_per_span><NL>
<pts_per_span> ::= an integer from 640 to 65536 in NR1 format.

See Also

  • :FFT:DETection:TYPE


:FFT:DETection:TYPE

:FFT Commands

Name

:FFT:DETection:TYPE —

Command Syntax

:FFT:DETection:TYPE <detection>
<detection> ::= {OFF | SAMPle | PPOSitive | PNEGative | AVERage | NORMal}

For FFT (Magnitude) functions, the :FFT:DETection:TYPE command lets you set the FFT detector decimation type.

Detectors give you a way of manipulating the acquired data to emphasize different features of the data. Detectors reduce (decimate) the number of FFT points to at most the number of specified detector points. In this reduction, sampled FFT points are bucketized, that is, split into a number of groups that equals the specified number of detector points. Then, the points in each bucket are reduced to a single point according to the selected detection type. The detector types are:

  • OFF — No detector is used.

  • SAMPle — Takes the point nearest to the center of every bucket.

  • PPOSitive (+ Peak) — Takes the most positive point in every bucket.

  • PNEGative (- Peak) — Takes the most negative point in every bucket.

  • AVERage — Takes the average of all points in every bucket.

  • NORMal — Implements a rosenfell algorithm. This method picks either the minimum or maximum sample in every bucket depending on whether the data is monotonically increasing, decreasing, or varying.

When detectors are used, the FFT's output is decimated, and any analysis is performed on the reduced or detected data set.

Query Syntax

:FFT:DETection:TYPE?

The :FFT:DETection:TYPE? query returns ...

Return Format

<detection><NL>
<detection> ::= {OFF | SAMP | PPOS | PNEG | AVER | NORM}

See Also

  • :FFT:DETection:POINts


:FFT:DISPlay

:FFT Commands

Name

:FFT:DISPlay —

Command Syntax

:FFT:DISPlay {{0 | OFF} | {1 | ON}}

The :FFT:DISPlay command turns the display of the FFT function on or off.

When ON is selected, the FFT function is calculated and displayed.

When OFF is selected, the FFT function is neither calculated nor displayed.

Query Syntax

:FFT:DISPlay?

The :FFT:DISPlay? query returns whether the function display is on or off.

Return Format

<display><NL>
<display> ::= {0 | 1}

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:DMODe

:FFT Commands

Name

:FFT:DMODe —

Command Syntax

:FFT:DMODe <display_mode>
<display_mode> ::= {NORMal | AVERage | MAXHold | MINHold}

The :FFT:DMODe command selects one of these FFT waveform display modes:

  • NORMal — this is the FFT waveform without any averaging or hold functions applied. This is how FFT math function waveforms are displayed.

  • AVERage — the FFT waveform is averaged the selected number of times. Averages are calculated using a "decaying average" approximation, where:

    next_average = current_average + (new_data - current_average)/N

    Where N starts at 1 for the first acquisition and increments for each following acquisition until it reaches the selected number of averages, where it holds.

  • MAXHold — records the maximum vertical values found at each horizontal bucket across multiple analysis cycles and uses those values to build a waveform. This display mode is often referred to as Max Envelope.

  • MINHold — records the minimum vertical values found at each horizontal bucket across multiple analysis cycles and uses those values to build a waveform. This display mode is often referred to as Min Envelope.

Query Syntax

:FFT:DMODe?

The :FFT:DMODe? query returns the selected FFT display mode.

Return Format

<display_mode><NL>
<display_mode> ::= {NORMal | AVERage | MAXHold | MINHold}

See Also

  • :FFT:READout


:FFT:FREQuency:STARt

:FFT Commands

Name

:FFT:FREQuency:STARt —

Command Syntax

:FFT:FREQuency:STARt <frequency>
<frequency> ::= the start frequency in NR3 format.

The :FFT:FREQuency:STARt command sets the start frequency in the FFT (Fast Fourier Transform) math function's displayed range.

The FFT (Fast Fourier Transform) math function's displayed range can also be set with the :FFT:CENTer and :FFT:SPAN commands.

Query Syntax

:FFT:FREQuency:STARt?

The :FFT:FREQuency:STARt? query returns the current start frequency in Hertz.

Return Format

<frequency><NL>
<frequency> ::= the start frequency in NR3 format.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:FREQuency:STOP

:FFT Commands

Name

:FFT:FREQuency:STOP —

Command Syntax

:FFT:FREQuency:STOP <frequency>
<frequency> ::= the stop frequency in NR3 format.

The :FFT:FREQuency:STOP command sets the stop frequency in the FFT (Fast Fourier Transform) math function's displayed range.

The FFT (Fast Fourier Transform) math function's displayed range can also be set with the :FFT:CENTer and :FFT:SPAN commands.

Query Syntax

:FFT:FREQuency:STOP?

The :FFT:FREQuency:STOP? query returns returns the current stop frequency in Hertz.

Return Format

<frequency><NL>
<frequency> ::= the stop frequency in NR3 format.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:GATE

:FFT Commands

Name

:FFT:GATE —

Command Syntax

:FFT:GATE <gating>
<gating> ::= {NONE | ZOOM | MARKers}

The :FFT:GATE command specifies the input waveform data on which the FFT function is calculated:

  • NONE — The FFT function is performed on input waveform data from the Main window and is displayed in the Main window.

    If the Zoomed time base is displayed (that is, WINDow is selected for :TIMebase:MODE), the Zoom window shows "zoomed in" data from the Main window.

  • ZOOM — This option is available when the Zoom window is displayed. The FFT function is performed on input waveform data from the Zoom window and is displayed in the Zoom window only. The FFT function will have better resolution because less decimation is needed for the measurement record.

  • MARKers — The FFT function is performed on the input waveform data between the horizontal markers and is displayed in the Main window. The FFT function will have better resolution because less decimation is needed for the measurement record.

    If the Zoomed time base is displayed, the Zoom window shows "zoomed in" data from the Main window, possibly containing the improved-resolution FFT function waveform, depending on the location of the Zoom window.

Because this selection can affect the resolution of the FFT function waveform, it can also affect measurements made on the FFT function waveform, depending on the selected measurement window (see :MEASure:WINDow). When you improve the resolution of an FFT function using the ZOOM or MARKers options, you will likely want to match the measurement window to look at the improved-resolution data.

Query Syntax

:FFT:GATE?

The :FFT:GATE? query returns the gate setting.

Return Format

<gating><NL>
<gating> ::= {NONE | ZOOM | MARK}

See Also

  • :TIMebase:MODE

  • :MEASure:WINDow

  • :FFT:VTYPe

  • :FFT:WINDow

  • :MARKer:X1Position

  • :MARKer:X2Position

  • Introduction to :FFT Commands


:FFT:OFFSet

:FFT Commands

Name

:FFT:OFFSet —

Command Syntax

:FFT:OFFSet <offset>
<offset> ::= the value at center screen in NR3 format.

The :FFT:OFFSet command specifies the FFT vertical value represented at center screen.

If you set the offset to a value outside of the legal range, the offset value is automatically set to the nearest legal value.

[Note]

The :FFT:OFFSet command is equivalent to the :FFT:REFerence command.

Query Syntax

:FFT:OFFSet?

The :FFT:OFFSet? query returns the current offset value for the FFT function.

Return Format

<offset><NL>
<offset> ::= the value at center screen in NR3 format.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:RANGe

:FFT Commands

Name

:FFT:RANGe —

Command Syntax

:FFT:RANGe <range>
<range> ::= the full-scale vertical axis value in NR3 format.

The :FFT:RANGe command defines the full-scale vertical axis for the FFT function.

Query Syntax

:FFT:RANGe?

The :FFT:RANGe? query returns the current full-scale range value for the FFT function.

Return Format

<range><NL>
<range> ::= the full-scale vertical axis value in NR3 format.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:RBWidth?

:FFT Commands

Name

:FFT:RBWidth? —

Query Syntax

:FFT:RBWidth?

The :FFT:RBWidth? query returns the FFT's resolution bandwidth value.

Return Format

<resolution_bw><NL>
<resolution_bw> ::= the FFT resolution as a resolution bandwidth frequency in NR3 format.

See Also

  • :FFT:BSIZe?

  • :FFT:READout

  • :FFT:SRATe?


:FFT:READout

:FFT Commands

Name

:FFT:READout —

Command Syntax

:FFT:READout <type>
<type> ::= {OFF | SRATe | BSIZe | RBWidth}

The :FFT:READout command specifies how the FFT resolution is displayed in the FFT spectrum plot:

  • OFF — the FFT resolution is not displayed.

  • SRATe — the sample rate is displayed. To return the FFT's sample rate value use :FFT:SRATe?.

  • BSIZe — the bin size is displayed. To return the FFT's bin size value use :FFT:BSIZe?.

  • RBWidth — the resolution bandwidth is displayed. To return the FFT's resolution bandwidth value use :FFT:RBWidth?.

Query Syntax

:FFT:READout?

The :FFT:READout? query returns the selected FFT resolution display option.

Return Format

<type><NL>
<type> ::= {OFF | SRAT | BSIZ | RBW}

See Also

  • :FFT:BSIZe?

  • :FFT:RBWidth?

  • :FFT:SRATe?


:FFT:REFerence

:FFT Commands

Name

:FFT:REFerence —

Command Syntax

:FFT:REFerence <level>
<level> ::= the current reference level in NR3 format.

The :FFT:REFerence command specifies the FFT vertical value represented at center screen.

If you set the reference level to a value outside of the legal range, the level is automatically set to the nearest legal value.

[Note]

The :FFT:REFerence command is equivalent to the :FFT:OFFSet command.

Query Syntax

:FFT:REFerence?

The :FFT:REFerence? query returns the current reference level value for the FFT function.

Return Format

<level><NL>
<level> ::= the current reference level in NR3 format.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:SCALe

:FFT Commands

Name

:FFT:SCALe —

Command Syntax

:FFT:SCALe <scale_value>[<suffix>]
<scale_value> ::= floating-point value in NR3 format.
<suffix> ::= dB

The :FFT:SCALe command sets the vertical scale, or units per division, of the FFT function. Legal values for the scale depend on the selected function.

Query Syntax

:FFT:SCALe?

The :FFT:SCALe? query returns the current scale value for the FFT function.

Return Format

<scale_value><NL>
<scale_value> ::= floating-point value in NR3 format.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:SOURce

:FFT Commands

Name

:FFT:SOURce —

Command Syntax

:FFT:SOURce <offset>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>}
<n> ::= 1 to (# analog channels) in NR1 format.
<m> ::= 1 to (# math functions) in NR1 format

The :FFT:SOURce command selects the source for the FFT function.

[Note]

To allow similarity to the :FUNCtion<m>:SOURce1 command/query, you can also use :FFT:SOURce1 for this command and query.

Query Syntax

:FFT:SOURce?

The :FFT:SOURce? query returns the current source1 for the FFT function.

Return Format

<source><NL>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>}
<n> ::= 1 to (# analog channels) in NR1 format.
<m> ::= 1 to (# math functions) in NR1 format

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:SPAN

:FFT Commands

Name

:FFT:SPAN —

Command Syntax

:FFT:SPAN <span>
<span> ::= the current frequency span in NR3 format. Legal values are
           1 Hz to 100 GHz.
If you set the frequency span to a value outside of the legal range, the
step size is automatically set to the nearest legal value.

The :FFT:SPAN command sets the frequency span of the display (left graticule to right graticule) when FFT (Fast Fourier Transform) is selected.

Query Syntax

:FFT:SPAN?

The :FFT:SPAN? query returns the current frequency span in Hertz.

[Note]

After a *RST (Reset) or :AUToscale command, the values returned by the :FFT:CENTer? and :FFT:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FFT:CENTer or :FFT:SPAN value, they no longer track the :TIMebase:RANGe value.

Return Format

<span><NL>
<span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe

  • :FFT:WINDow


:FFT:SRATe?

:FFT Commands

Name

:FFT:SRATe? —

Query Syntax

:FFT:SRATe?

The :FFT:SRATe? query returns the FFT's sample rate value.

Return Format

<sample_rate><NL>
<sample_rate> ::= the FFT resolution as a sample rate frequency in NR3 format.

See Also

  • :FFT:BSIZe?

  • :FFT:RBWidth?

  • :FFT:READout


:FFT:VTYPe

:FFT Commands

Name

:FFT:VTYPe —

Command Syntax

:FFT:VTYPe <units>
<units> ::= {DECibel | VRMS}

The :FFT:VTYPe command specifies FFT vertical units as DECibel or VRMS.

Query Syntax

:FFT:VTYPe?

The :FFT:VTYPe? query returns the current FFT vertical units.

Return Format

<units><NL>
<units> ::= {DEC | VRMS}

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:WINDow


:FFT:WINDow

:FFT Commands

Name

:FFT:WINDow —

Command Syntax

:FFT:WINDow <window>
<window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett}

The :FFT:WINDow command allows the selection of different windowing transforms or operations for the FFT (Fast Fourier Transform) function.

The FFT operation assumes that the time record repeats. Unless an integral number of sampled waveform cycles exist in the record, a discontinuity is created between the end of one record and the beginning of the next. This discontinuity introduces additional frequency components about the peaks into the spectrum. This is referred to as leakage. To minimize leakage, windows that approach zero smoothly at the start and end of the record are employed as filters to the FFTs. Each window is useful for certain classes of input signals.

  • RECTangular — useful for transient signals, and signals where there are an integral number of cycles in the time record.

  • HANNing — useful for frequency resolution and general purpose use. It is good for resolving two frequencies that are close together, or for making frequency measurements. This is the default window.

  • FLATtop — best for making accurate amplitude measurements of frequency peaks.

  • BHARris (Blackman-Harris) — reduces time resolution compared to the rectangular window, but it improves the capacity to detect smaller impulses due to lower secondary lobes (provides minimal spectral leakage).

  • BARTlett — (triangular, with end points at zero) window is similar to the Hanning window in that it is good for making accurate frequency measurements, but its higher and wider secondary lobes make it not quite as good for resolving frequencies that are close together.

Query Syntax

:FFT:WINDow?

The :FFT:WINDow? query returns the value of the window selected for the FFT function.

Return Format

<window><NL>
<window> ::= {RECT | HANN | FLAT | BHAR | BART}

See Also

  • :FFT:AVERage:COUNt

  • :FFT:CENTer

  • :FFT:CLEar

  • :FFT:DISPlay

  • :FFT:OFFSet

  • :FFT:RANGe

  • :FFT:REFerence

  • :FFT:SCALe

  • :FFT:SOURce

  • :FFT:SPAN

  • :FFT:FREQuency:STARt

  • :FFT:FREQuency:STOP

  • :FFT:VTYPe


:FFTMax:OFFSet

:FFT Commands

Name

:FFTMax:OFFSet —

Command Syntax

:FFTMax:OFFSet <offset>[<suffix>]
<offset> ::= the value at center screen in NR3 format.
<suffix> ::= {dB | mdB | udB}

When the FFT Max function is enabled (see :FFTMax:STATe), the :FFTMax:OFFSet command sets its vertical offset (center of grid value).

When <suffix> is not used, the units are assumed to be dB.

Query Syntax

:FFTMax:OFFSet?

The :FFTMax:OFFSet? query returns the FFT Max function vertical offset setting.

Return Format

<offset><NL>
<offset> ::= the value at center screen in NR3 format.

See Also

  • :FFTMax:RESet

  • :FFTMax:SCALe

  • :FFTMax:STATe


:FFTMax:RESet

:FFT Commands

Name

:FFTMax:RESet —

Command Syntax

:FFTMax:RESet

When the FFT Max function is enabled (see :FFTMax:STATe), the :FFTMax:RESet command clears the number of waveforms evaluated.

See Also

  • :FFTMax:OFFSet

  • :FFTMax:SCALe

  • :FFTMax:STATe


:FFTMax:SCALe

:FFT Commands

Name

:FFTMax:SCALe —

Command Syntax

:FFTMax:SCALe <scale_value>[<suffix>]
<scale_value> ::= floating-point value in NR3 format.
<suffix> ::= {dB | mdB | udB}

When the FFT Max function is enabled (see :FFTMax:STATe), the :FFTMax:SCALe command sets its vertical scale.

When <suffix> is not used, the units are assumed to be dB.

Query Syntax

:FFTMax:SCALe?

The :FFTMax:SCALe? query returns the FFT Max function vertical scale setting.

Return Format

<scale_value><NL>
<scale_value> ::= floating-point value in NR3 format.

See Also

  • :FFTMax:OFFSet

  • :FFTMax:RESet

  • :FFTMax:STATe


:FFTMax:STATe

:FFT Commands

Name

:FFTMax:STATe —

Command Syntax

:FFTMax:STATe {{0 | OFF} | {1 | ON}}

When the FFT function is on (see :FFT:DISPlay), the :FFTMax:STATe command enables or disables the FFT Max function.

The FFT Max function is a Max Hold function applied to the FFT function.

Query Syntax

:FFTMax:STATe?

The :FFTMax:STATe? query returns the FFT Max function on/off state.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :FFTMax:OFFSet

  • :FFTMax:RESet

  • :FFTMax:SCALe

  • :FFT:DISPlay


:FRANalysis Commands

Control oscilloscope functions associated with the Frequency Response Analysis (FRA) feature, which is available in oscilloscope models that have a license-enabled built-in waveform generator. See Introduction to :FRANalysis Commands.

:FRANalysis Commands Summary:

Command | Query | Options and Query Returns
n/a | :FRANalysis:DATA? [SWEep | SINGle] | <binary_block> ::= comma-separated data with newlines at the end of each row
:FRANalysis:ENABle {{0 | OFF} | {1 | ON}} | :FRANalysis:ENABle? | {0 | 1}
:FRANalysis:FREQuency:MODE <setting> | :FRANalysis:FREQuency:MODE? | <setting> ::= {SWEep | SINGle}
:FRANalysis:FREQuency:SINGle <value>[suffix] | :FRANalysis:FREQuency:SINGle? | <value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 2000000} [suffix] ::= {Hz | kHz| MHz}
:FRANalysis:FREQuency:STARt <value>[suffix] | :FRANalysis:FREQuency:STARt? | <value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000} [suffix] ::= {Hz | kHz| MHz}
:FRANalysis:FREQuency:STOP <value>[suffix] | :FRANalysis:FREQuency:STOP? | <value> ::= {100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000} [suffix] ::= {Hz | kHz| MHz}
:FRANalysis:PPDecade <value> | :FRANalysis:PPDecade? | <value> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}
:FRANalysis:RUN | n/a | n/a
:FRANalysis:SOURce:INPut <source> | :FRANalysis:SOURce:INPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:FRANalysis:SOURce:OUTPut <source> | :FRANalysis:SOURce:OUTPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:FRANalysis:SWEep:POINts <points> | :FRANalysis:SWEep:POINts? | <points> ::= integer from 1-1000 in NR1 format
:FRANalysis:TRACe <selection> | :FRANalysis:TRACe? | <selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]
:FRANalysis:WGEN:LOAD <impedance> | :FRANalysis:WGEN:LOAD? | <impedance> ::= {ONEMeg | FIFTy}
:FRANalysis:WGEN:VOLTage <amplitude>,[<range>] | :FRANalysis:WGEN:VOLTage? [<range>] | <amplitude> ::= amplitude in volts in NR3 format <range> ::= {F20HZ | F100HZ | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | F20MHZ}
:FRANalysis:WGEN:VOLTage:OFFSet <offset> | :FRANalysis:WGEN:VOLTage:OFFSet? | <offset> ::= offset in volts in NR3 format
:FRANalysis:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}} | :FRANalysis:WGEN:VOLTage:PROFile? | {0 | 1}

Introduction to :FRANalysis Commands

The FRANalysis subsystem controls the Frequency Response Analysis feature in the oscilloscope.

The Frequency Response Analysis (FRA) feature controls the built-in waveform generator to sweep a sine wave across a range of frequencies while measuring the input to and output from a device under test (DUT). At each frequency, gain (A) and phase are measured and plotted on a frequency response chart.

Reporting the Setup. Use :FRANalysis? to query setup information for the FRANalysis subsystem.

Return Format. The following is a sample response from the :FRANalysis? query. In this case, the query was issued following a *RST command.

:FRAN:SOUR:INP CHAN1;OUTP CHAN2;:FRAN:FREQ:STAR +100E+00;
STOP +20.000000E+06;:FRAN:WGEN:VOLT +200.0E-03;LOAD FIFT


:FRANalysis:DATA?

:FRANalysis Commands

Name

:FRANalysis:DATA? —

Query Syntax

:FRANalysis:DATA? [SWEep | SINGle]

The :FRANalysis:DATA? query returns the frequency response analysis data.

The data is returned in four comma-separated columns of data for each step in the sweep: Frequency (Hz), Amplitude (Vpp), Gain (dB), and Phase (°).

You can use the :FRANalysis:TRACe command to specify whether to include gain, phase, both gain and phase, or neither in the frequency response analysis results.

The SWEep or SINGle option specifies whether to get the data from a sweep or single-frequency analysis (see :FRANalysis:FREQuency:MODE). If this option is not specified, the data from the sweep analysis is returned by default.

Return Format

<binary_block><NL>
<binary_block> ::= comma-separated data with newlines at the end of each row

See Also

  • :FRANalysis:ENABle

  • :FRANalysis:FREQuency:MODE

  • :FRANalysis:FREQuency:SINGle

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:TRACe

  • :FRANalysis:WGEN:LOAD

  • :FRANalysis:WGEN:VOLTage


:FRANalysis:ENABle

:FRANalysis Commands

Name

:FRANalysis:ENABle —

Command Syntax

:FRANalysis:ENABle <setting>
<setting> ::= {{0 | OFF} | {1 | ON}}

The :FRANalysis:ENABle command turns the Frequency Response Analysis (FRA) feature on or off.

Query Syntax

:FRANalysis:ENABle?

The :FRANalysis:ENABle? query returns a flag indicating whether the Frequency Response Analysis (FRA) feature is on or off.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :FRANalysis:DATA?

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:WGEN:LOAD

  • :FRANalysis:WGEN:VOLTage


:FRANalysis:FREQuency:MODE

:FRANalysis Commands

Name

:FRANalysis:FREQuency:MODE —

Command Syntax

:FRANalysis:FREQuency:MODE <setting>
<setting> ::= {SWEep | SINGle}

The :FRANalysis:FREQuency:MODE command lets you select between the normal swept frequency response analysis or analysis at a single frequency, which can be useful when debugging.

Query Syntax

:FRANalysis:FREQuency:MODE?

The :FRANalysis:FREQuency:MODE? query returns the frequency mode setting.

Return Format

<setting><NL>
<setting> ::= {SWEep | SINGle}

See Also

  • :FRANalysis:RUN

  • :FRANalysis:FREQuency:SINGle

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:SWEep:POINts

  • :FRANalysis:PPDecade

  • :FRANalysis:WGEN:VOLTage:PROFile


:FRANalysis:FREQuency:SINGle

:FRANalysis Commands

Name

:FRANalysis:FREQuency:SINGle —

Command Syntax

:FRANalysis:FREQuency:SINGle <value>[suffix]
<value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000
   | 2000000}
[suffix] ::= {Hz | kHz| MHz}

The :FRANalysis:FREQuency:SINGle command command sets the single frequency value. The frequency response analysis is displayed on a log scale Bode plot, so you can select from decade values in addition to the minimum frequency of 20 Hz.

Query Syntax

:FRANalysis:FREQuency:SINGle?

The :FRANalysis:FREQuency:SINGle? query returns the single frequency setting.

Return Format

<value><NL>
<value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000
   | 2000000}

See Also

  • :FRANalysis:DATA?

  • :FRANalysis:ENABle

  • :FRANalysis:SWEep:POINts

  • :FRANalysis:PPDecade

  • :FRANalysis:FREQuency:MODE

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:WGEN:LOAD

  • :FRANalysis:WGEN:VOLTage

  • :FRANalysis:WGEN:VOLTage:PROFile


:FRANalysis:FREQuency:STARt

:FRANalysis Commands

Name

:FRANalysis:FREQuency:STARt —

Command Syntax

:FRANalysis:FREQuency:STARt <value>[suffix]
<value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000}
[suffix] ::= {Hz | kHz| MHz}

The :FRANalysis:FREQuency:STARt command command sets the frequency sweep start value. The frequency response analysis is displayed on a log scale Bode plot, so you can select from decade values in addition to the minimum frequency of 20 Hz.

Query Syntax

:FRANalysis:FREQuency:STARt?

The :FRANalysis:FREQuency:STARt? query returns the frequency sweep start setting.

Return Format

<value><NL>
<value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000}

See Also

  • :FRANalysis:DATA?

  • :FRANalysis:ENABle

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:SWEep:POINts

  • :FRANalysis:PPDecade

  • :FRANalysis:FREQuency:MODE

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:WGEN:LOAD

  • :FRANalysis:WGEN:VOLTage

  • :FRANalysis:WGEN:VOLTage:PROFile


:FRANalysis:FREQuency:STOP

:FRANalysis Commands

Name

:FRANalysis:FREQuency:STOP —

Command Syntax

:FRANalysis:FREQuency:STOP <value>[suffix]
<value> ::= {100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000}
[suffix] ::= {Hz | kHz| MHz}

The :FRANalysis:FREQuency:STOP command sets the frequency sweep stop value. The frequency response analysis is displayed on a log scale Bode plot, so you can select from decade values in addition to the maximum frequency of 20 MHz.

Query Syntax

:FRANalysis:FREQuency:STOP?

The :FRANalysis:FREQuency:STOP? query returns the frequency sweep stop setting.

Return Format

<value><NL>
<value> ::= {100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000}

See Also

  • :FRANalysis:DATA?

  • :FRANalysis:ENABle

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:SWEep:POINts

  • :FRANalysis:PPDecade

  • :FRANalysis:FREQuency:MODE

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:WGEN:LOAD

  • :FRANalysis:WGEN:VOLTage

  • :FRANalysis:WGEN:VOLTage:PROFile


:FRANalysis:PPDecade

:FRANalysis Commands

Name

:FRANalysis:PPDecade —

Command Syntax

:FRANalysis:PPDecade <value>
<value> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}

The :FRANalysis:PPDecade command specifies the number of points per decade in the frequency response analysis.

Query Syntax

:FRANalysis:PPDecade?

The :FRANalysis:PPDecade? query returns the points per decade setting.

Return Format

<value><NL>

See Also

  • :FRANalysis:SWEep:POINts

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:WGEN:VOLTage:PROFile


:FRANalysis:RUN

:FRANalysis Commands

Name

:FRANalysis:RUN —

Command Syntax

:FRANalysis:RUN

The :FRANalysis:RUN command performs the Frequency Response Analysis. This analysis controls the built-in waveform generator to sweep a sine wave across a range of frequencies while measuring the input to and output from a device under test (DUT). At each frequency, gain (A) and phase are measured and plotted on a Bode frequency response chart.

The :FRANalysis:APPLy command is a valid compatible alias for the :FRANalysis:RUN command.

When the frequency response analysis completes, you can use the :FRANalysis:DATA? query to get four comma-separated columns of data for each step in the sweep: Frequency (Hz), Amplitude (Vpp), Gain (dB), and Phase (°).

You can use the :FRANalysis:TRACe command to specify whether to include gain, phase, both gain and phase, or neither in the frequency response analysis results.

It takes some time for the frequency sweep analysis to complete. You can query bit 0 of the Standard Event Status Register (*ESR?) to find out when the analysis is complete.

See Also

  • :FRANalysis:DATA?

  • :FRANalysis:ENABle

  • :FRANalysis:FREQuency:MODE

  • :FRANalysis:FREQuency:SINGle

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:TRACe

  • :FRANalysis:WGEN:LOAD

  • :FRANalysis:WGEN:VOLTage

  • *ESR? (Standard Event Status Register)


:FRANalysis:SOURce:INPut

:FRANalysis Commands

Name

:FRANalysis:SOURce:INPut —

Command Syntax

:FRANalysis:SOURce:INPut <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :FRANalysis:SOURce:INPut command specifies the analog input channel that is probing the input voltage to the device under test (DUT) in the frequency response analysis.

Query Syntax

:FRANalysis:SOURce:INPut?

The :FRANalysis:SOURce:INPut? query returns the currently selected channel probing the input voltage.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :FRANalysis:DATA?

  • :FRANalysis:ENABle

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:WGEN:LOAD

  • :FRANalysis:WGEN:VOLTage


:FRANalysis:SOURce:OUTPut

:FRANalysis Commands

Name

:FRANalysis:SOURce:OUTPut —

Command Syntax

:FRANalysis:SOURce:OUTPut <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :FRANalysis:SOURce:OUTPut command specifies the analog input channel that is probing the output voltage from the device under test (DUT) in the frequency response analysis.

Query Syntax

:FRANalysis:SOURce:OUTPut?

The :FRANalysis:SOURce:OUTPut? query returns the currently selected channel probing the output voltage.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :FRANalysis:DATA?

  • :FRANalysis:ENABle

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:WGEN:LOAD

  • :FRANalysis:WGEN:VOLTage


:FRANalysis:SWEep:POINts

:FRANalysis Commands

Name

:FRANalysis:SWEep:POINts —

Command Syntax

:FRANalysis:SWEep:POINts <points>
<points> ::= integer from 1-1000 in NR1 format

The :FRANalysis:SWEep:POINts command specifies the number of points in the frequency response analysis.

Depending on the number of points specified and the number of decades in the frequency range, this command can also change the :FRANalysis:PPDecade setting.

Query Syntax

:FRANalysis:SWEep:POINts?

The :FRANalysis:SWEep:POINts? query returns the points setting.

Return Format

<points><NL>
<points> ::= integer from 1-1000 in NR1 format

See Also

  • :FRANalysis:PPDecade

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:WGEN:VOLTage:PROFile


:FRANalysis:TRACe

:FRANalysis Commands

Name

:FRANalysis:TRACe —

Command Syntax

:FRANalysis:TRACe <selection>
<selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]

The :FRANalysis:TRACe command specifies whether to include gain, phase, both gain and phase, or neither in the frequency response analysis results.

[Note]

This command affects the oscilloscope's front panel graphical user interface (plot and table) as well as when saving analysis data.

Query Syntax

:FRANalysis:TRACe?

The :FRANalysis:TRACe? query returns a comma-separated list of the types of data that are currently included in the frequency response analysis results, or "NONE" if neither gain nor phase data is included.

Return Format

<selection_list><NL>
<selection_list> ::= {"NONE" | "GAIN" | "PHASe" | "GAIN,PHASe"}

See Also

  • :FRANalysis:RUN

  • :FRANalysis:DATA?


:FRANalysis:WGEN:LOAD

:FRANalysis Commands

Name

:FRANalysis:WGEN:LOAD —

Command Syntax

:FRANalysis:WGEN:LOAD <impedance>
<impedance> ::= {ONEMeg | FIFTy}

The :FRANalysis:WGEN:LOAD command selects the expected output load impedance.

The output impedance of the Gen Out BNC is fixed at 50 ohms. However, the output load selection lets the waveform generator display the correct amplitude and offset levels for the expected output load.

If the actual load impedance is different than the selected value, the displayed amplitude and offset levels will be incorrect.

Query Syntax

:FRANalysis:WGEN:LOAD?

The :FRANalysis:WGEN:LOAD? query returns the current expected output load impedance.

Return Format

<impedance><NL>
<impedance> ::= {ONEM | FIFT}

See Also

  • :FRANalysis:DATA?

  • :FRANalysis:ENABle

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:WGEN:VOLTage


:FRANalysis:WGEN:VOLTage

:FRANalysis Commands

Name

:FRANalysis:WGEN:VOLTage —

Command Syntax

:FRANalysis:WGEN:VOLTage <amplitude>,[<range>]
<amplitude> ::= amplitude in volts in NR3 format
<range> ::= {F10MILLIHZ | F100MILLIHZ | F1HZ | {F10HZ | F20HZ} | F100HZ
   | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | {F20MHZ | F100MHZ}}

The :FRANalysis:WGEN:VOLTage command specifies the waveform generator's output sine wave amplitude.

Use the :FRANalysis:WGEN:VOLTage:OFFSet command to specify the offset voltage.

[Note]

See :WGEN<w>:FUNCtion for a description of the amplitudes and offset ranges available for the SINusoid waveform type.

When the amplitude profile setting is on (:FRANalysis:WGEN:VOLTage:PROFile ON), the <range> option specifies the initial ramp amplitude at the frequency setting. Amplitudes ramp between the settings specified for individual frequencies.

[Note]

The F20HZ and F20MHZ <range> options are allowed for backward compatibility; however, they map to the F10HZ and F100MHZ boundaries, respectively.

Query Syntax

:FRANalysis:WGEN:VOLTage? [<range>]

The :FRANalysis:WGEN:VOLTage? query returns the currently specified waveform generator amplitude.

When the amplitude profile setting is on (:FRANalysis:WGEN:VOLTage:PROFile ON), the <range> option specifies the frequency whose initial ramp amplitude is returned.

Return Format

<amplitude><NL>
<amplitude> ::= amplitude in volts in NR3 format

See Also

  • :FRANalysis:WGEN:VOLTage:PROFile

  • :FRANalysis:WGEN:VOLTage:OFFSet

  • :FRANalysis:DATA?

  • :FRANalysis:ENABle

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP

  • :FRANalysis:SWEep:POINts

  • :FRANalysis:PPDecade

  • :FRANalysis:RUN

  • :FRANalysis:SOURce:INPut

  • :FRANalysis:SOURce:OUTPut

  • :FRANalysis:WGEN:LOAD


:FRANalysis:WGEN:VOLTage:OFFSet

:FRANalysis Commands

Name

:FRANalysis:WGEN:VOLTage:OFFSet —

Command Syntax

:FRANalysis:WGEN:VOLTage:OFFSet <offset>
<offset> ::= offset in volts in NR3 format

The :FRANalysis:WGEN:VOLTage:OFFSet command specifies the waveform generator's offset voltage for the frequency response analysis. Use the :FRANalysis:WGEN:VOLTage command to specify the amplitude.

[Note]

See :WGEN<w>:FUNCtion for a description of the amplitudes and offset ranges available for the SINusoid waveform type.

Query Syntax

:FRANalysis:WGEN:VOLTage:OFFSet?

The :FRANalysis:WGEN:VOLTage:OFFSet? query returns the waveform generator offset voltage setting.

Return Format

<offset><NL>
<offset> ::= offset in volts in NR3 format

See Also

  • :FRANalysis:WGEN:VOLTage

  • :FRANalysis:WGEN:VOLTage:PROFile

  • :WGEN<w>:VOLTage:OFFSet


:FRANalysis:WGEN:VOLTage:PROFile

:FRANalysis Commands

Name

:FRANalysis:WGEN:VOLTage:PROFile —

Command Syntax

:FRANalysis:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}}

The :FRANalysis:WGEN:VOLTage:PROFile command enables or disables the ability to specify amplitude ramping within different decades.

Query Syntax

:FRANalysis:WGEN:VOLTage:PROFile?

The :FRANalysis:WGEN:VOLTage:PROFile? query returns the voltage profile setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :FRANalysis:WGEN:VOLTage

  • :FRANalysis:WGEN:VOLTage:OFFSet

  • :FRANalysis:SWEep:POINts

  • :FRANalysis:PPDecade

  • :FRANalysis:FREQuency:STARt

  • :FRANalysis:FREQuency:STOP


:FUNCtion<m> Commands

Control math functions in the oscilloscope. See Introduction to :FUNCtion<m> Commands.

:FUNCtion<m> Commands Summary:

Command | Query | Options and Query Returns
:FUNCtion<m>:AUTosetup | n/a | n/a
:FUNCtion<m>:AUTosetup:ENABle {{0 | OFF} | {1 | ON}} | :FUNCtion<m>:AUTosetup:ENABle? | <m> ::= 1 to (# math functions) in NR1 format <setting> ::= {0 | 1}
:FUNCtion<m>:AVERage:COUNt <count> | :FUNCtion<m>:AVERage:COUNt? | <count> ::= an integer from 2 to 65536 in NR1 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:CLOCk <source> | :FUNCtion<m>:BUS:CLOCk? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:SLOPe <slope> | :FUNCtion<m>:BUS:SLOPe? | <slope> ::= {NEGative | POSitive | EITHer} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:YINCrement <value> | :FUNCtion<m>:BUS:YINCrement? | <value> ::= value per bus code, in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:YORigin <value> | :FUNCtion<m>:BUS:YORigin? | <value> ::= value at bus code = 0, in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:BUS:YUNits <units> | :FUNCtion<m>:BUS:YUNits? | <units> ::= {VOLT | AMPere | NONE} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:CLEar | n/a | n/a
:FUNCtion<m>:DISPlay {{0 | OFF} | {1 | ON}} | :FUNCtion<m>:DISPlay? | {0 | 1} <m> ::= 1 to (# math functions) in NR1 format
n/a | :FUNCtion<m>[:FFT]:BSIZe? | <bin_size> ::= Hz in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:CENTer <frequency> | :FUNCtion<m>[:FFT]:CENTer? | <frequency> ::= the current center frequency in NR3 format. The range of legal values is from -25 GHz to 25 GHz. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:DETection:POINts <number_of_buckets> | :FUNCtion<m>[:FFT]:DETection:POINts? | <number_of_buckets> ::= an integer in NR1 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:DETection:TYPE <type> | :FUNCtion<m>[:FFT]:DETection:TYPE? | <type> ::= {OFF | SAMPle | PPOSitive | PNEGative | NORMal | AVERage} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:FREQuency:STARt <frequency> | :FUNCtion<m>[:FFT]:FREQuency:STARt? | <frequency> ::= the start frequency in NR3 format. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:FREQuency:STOP <frequency> | :FUNCtion<m>[:FFT]:FREQuency:STOP? | <frequency> ::= the stop frequency in NR3 format. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:FFT:GATE <gating> | :FUNCtion<m>:FFT:GATE? | <gating> ::= {NONE | ZOOM | MARKers} <m> ::= 1-4 in NR1 format
:FUNCtion<m>[:FFT]:PHASe:REFerence <ref_point> | :FUNCtion<m>[:FFT]:PHASe:REFerence? | <ref_point> ::= {TRIGger | DISPlay} <m> ::= 1-4 in NR1 format
n/a | :FUNCtion<m>[:FFT]:RBWidth? | <resolution_bw> ::= Hz in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:READout<n> <readout_type> | :FUNCtion<m>[:FFT]:READout<n>? | <readout_type> ::= {SRATe | BSIZe | RBWidth} <m> ::= 1 to (# math functions) in NR1 format <n> ::= 1-2 in NR1 format, 2 is for dedicated FFT function
:FUNCtion<m>[:FFT]:SPAN <span> | :FUNCtion<m>[:FFT]:SPAN? | <span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz. <m> ::= 1 to (# math functions) in NR1 format
n/a | :FUNCtion<m>[:FFT]:SRATe? | <sample_rate> ::= Hz in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:VTYPe <units> | :FUNCtion<m>[:FFT]:VTYPe? | <units> ::= {DECibel | VRMS} for the FFT (magnitude) operation <units> ::= {DEGRees | RADians} for the FFTPhase operation <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>[:FFT]:WINDow <window> | :FUNCtion<m>[:FFT]:WINDow? | <window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:FREQuency:BANDpass:CENTer <center_freq> | :FUNCtion<m>:FREQuency:BANDpass:CENTer? | <center_freq> ::= center frequency of band-pass filter in NR3 format
:FUNCtion<m>:FREQuency:BANDpass:WIDTh <freq_width> | :FUNCtion<m>:FREQuency:BANDpass:WIDth? | <freq_width> ::= frequency width of band-pass filter in NR3 format
:FUNCtion<m>:FREQuency:HIGHpass <3dB_freq> | :FUNCtion<m>:FREQuency:HIGHpass? | <3dB_freq> ::= 3dB cutoff frequency value in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:FREQuency:LOWPass <3dB_freq> | :FUNCtion<m>:FREQuency:LOWPass? | <3dB_freq> ::= 3dB cutoff frequency value in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:GATE <gating> | :FUNCtion<m>:GATE? | <gating> ::= {NONE | ZOOM | BOTH | MARKers} <m> ::= 1-4 in NR1 format
:FUNCtion<m>:INTegrate:IICondition {{0 | OFF} | {1 | ON}} | :FUNCtion<m>:INTegrate:IICondition? | {0 | 1} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:INTegrate:IOFFset <input_offset> | :FUNCtion<m>:INTegrate:IOFFset? | <input_offset> ::= DC offset correction in NR3 format. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:LABel <string> | :FUNCtion<m>:LABel? | <string> ::= quoted ASCII string
:FUNCtion<m>:LINear:GAIN <value> | :FUNCtion<m>:LINear:GAIN? | <value> ::= 'A' in Ax + B, value in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:LINear:OFFSet <value> | :FUNCtion<m>:LINear:OFFSet? | <value> ::= 'B' in Ax + B, value in NR3 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:OFFSet <offset> | :FUNCtion<m>:OFFSet? | <offset> ::= the value at center screen in NR3 format. The range of legal values is +/-10 times the current sensitivity of the selected function. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:OPERation <operation> | :FUNCtion<m>:OPERation? | <operation> ::= {ADD | SUBTract | MULTiply | DIVide | INTegrate | DIFF | FFT | FFTPhase | SQRT | MAGNify | ABSolute | SQUare | LN | LOG | EXP | TEN | LOWPass | HIGHpass | BANDpass | AVERage | LINear | MAXimum | MINimum | PEAK | MAXHold | MINHold | TRENd} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:RANGe <range> | :FUNCtion<m>:RANGe? | <range> ::= the full-scale vertical axis value in NR3 format. The range for ADD, SUBT, MULT is 8E-6 to 800E+3. The range for the INTegrate function is 8E-9 to 400E+3. The range for the DIFF function is 80E-3 to 8.0E12 (depends on current sweep speed). The range for the FFT function is 8 to 800 dBV. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:REFerence <level> | :FUNCtion<m>:REFerence? | <level> ::= the value at center screen in NR3 format. The range of legal values is +/-10 times the current sensitivity of the selected function. <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:SCALe <scale value>[<suffix>] | :FUNCtion<m>:SCALe? | <scale value> ::= integer in NR1 format <suffix> ::= {V | dB} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:SMOoth:POINts <points> | :FUNCtion<m>:SMOoth:POINts? | <points> ::= odd integer in NR1 format
:FUNCtion<m>:SOURce1 <source> | :FUNCtion<m>:SOURce1? | <source> ::= {CHANnel<n> | FUNCtion<c> | MATH<c> | WMEMory<r> | BUS<b>} <n> ::= 1 to (# analog channels) in NR1 format <c> ::= {1 | 2 | 3}, must be lower than <m> <r> ::= 1 to (# ref waveforms) in NR1 format <b> ::= {1 | 2} <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:SOURce2 <source> | :FUNCtion<m>:SOURce2? | <source> ::= {CHANnel<n> | WMEMory<r> | NONE} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <m> ::= 1 to (# math functions) in NR1 format
:FUNCtion<m>:TRENd:NMEasurement MEAS<n> | :FUNCtion<m>:TRENd:NMEasurement? | <n> ::= # of installed measurement, from 1 to 8 <m> ::= 1 to (# math functions) in NR1 format

Introduction to :FUNCtion<m> Commands

The FUNCtion subsystem controls the math functions in the oscilloscope. Two math functions are available — the <m> in :FUNCtion<m> can be from 1 to 2. However, a dedicated FFT function is also available, see :FFT Commands.

The math function operator, transform, filter, or visualization is selected using the :FUNCtion<m>:OPERation command. Depending on the selected operation, there may be other commands for specifying options for that operation. See :FUNCtion<m>:OPERation.

The SOURce1, DISPlay, RANGe, and OFFSet (or REFerence) commands apply to any function.

Reporting the Setup. Use :FUNCtion<m>? to query setup information for the FUNCtion subsystem.

Return Format. The following is a sample response from the :FUNCtion1? query. In this case, the query was issued following a *RST command.

:FUNC1:OPER LIN;DISP 0;SOUR1 CHAN1;RANG +8.00E+00;OFFS +0.0E+00;
LIN:GAIN +1.00E+00;OFFS +0.0E+00


:FUNCtion<m>:AUTosetup

:FUNCtion<m> Commands

Name

:FUNCtion<m>:AUTosetup —

Command Syntax

:FUNCtion<m>:AUTosetup

The :FUNCtion<m>:AUTosetup command automatically sets the Y scale and Y offset to optimum values for the math function waveform.

See Also

  • :FUNCtion<m>:AUTosetup:ENABle


:FUNCtion<m>:AUTosetup:ENABle

:FUNCtion<m> Commands

Name

:FUNCtion<m>:AUTosetup:ENABle —

Command Syntax

:FUNCtion<m>:AUTosetup:ENABle {{0 | OFF} | {1 | ON}}
<m> ::= 1 to (# math functions) in NR1 format

The :FUNCtion<m>:AUTosetup:ENABle command lets you enable or disable the automatic setup of a math function's scale and offset.

  • ON — The math function waveform scale and offset are automatically determined when the waveform is turned on, when a different operator is selected, or whenever you send :FUNCtion<m>:AUTosetup. The commands for manually changing these settings are unavailable. "Auto" is displayed in the math function badge, and mouse wheel scaling of values in the badge is unavailable.

  • OFF — No automatic setup occurs unless you send :FUNCtion<m>:AUTosetup (which is always available). The commands for manually setting up the scale and offset are available, and their settings will not automatically change when the waveform is turned on (or off and then back on) or when a different operator is selected.

Query Syntax

:FUNCtion<m>:AUTosetup:ENABle?

The :FUNCtion<m>:AUTosetup:ENABle? query returns whether the option is enabled or disabled.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :FUNCtion<m>:AUTosetup


:FUNCtion<m>:AVERage:COUNt

:FUNCtion<m> Commands

Name

:FUNCtion<m>:AVERage:COUNt —

Command Syntax

:FUNCtion<m>:AVERage:COUNt <count>
<count> ::= an integer from 2 to 65536 in NR1 format
<m> ::= 1 to (# math functions) in NR1 format

The :FUNCtion<m>:AVERage:COUNt command sets the number of waveforms to be averaged together.

The number of averages can be set from 2 to 65536 in increments of powers of 2.

Increasing the number of averages will increase resolution and reduce noise.

Query Syntax

:FUNCtion<m>:AVERage:COUNt?

The :FUNCtion<m>:AVERage:COUNt? query returns the number of waveforms to be averaged together.

Return Format

<count><NL>
<count> ::= an integer from 2 to 65536 in NR1 format

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:BUS:CLOCk

:FUNCtion<m> Commands

Name

:FUNCtion<m>:BUS:CLOCk —

Command Syntax

:FUNCtion<m>:BUS:CLOCk <source>
<m> ::= 1 to (# math functions) in NR1 format
<source> ::= {DIGital<d>}
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :FUNCtion<m>:BUS:CLOCk command selects the clock signal source for the Chart Logic Bus State operation.

Query Syntax

:FUNCtion<m>:BUS:CLOCk?

The :FUNCtion<m>:BUS:CLOCk query returns the source selected for the clock signal.

Return Format

<source><NL>
<source> ::= {DIGital<d>}
<d> ::= 0 to (# digital channels - 1) in NR1 format

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:BUS:SLOPe

:FUNCtion<m> Commands

Name

:FUNCtion<m>:BUS:SLOPe —

Command Syntax

:FUNCtion<m>:BUS:SLOPe <slope>
<m> ::= 1 to (# math functions) in NR1 format
<slope> ::= {NEGative | POSitive | EITHer}

The :FUNCtion<m>:BUS:SLOPe command specifies the clock signal edge for the Chart Logic Bus State operation.

Query Syntax

:FUNCtion<m>:BUS:SLOPe?

The :FUNCtion<m>:BUS:SLOPe query returns the clock edge setting.

Return Format

<slope><NL>
<slope> ::= {NEGative | POSitive | EITHer}

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:BUS:YINCrement

:FUNCtion<m> Commands

Name

:FUNCtion<m>:BUS:YINCrement —

Command Syntax

:FUNCtion<m>:BUS:YINCrement <value>
<m> ::= 1 to (# math functions) in NR1 format
<value> ::= value per bus code, in NR3 format

The :FUNCtion<m>:BUS:YINCrement command specifies the value associated with each increment in Chart Logic Bus data.

Query Syntax

:FUNCtion<m>:BUS:YINCrement?

The :FUNCtion<m>:BUS:YINCrement query returns the value associated with each increment in Chart Logic Bus data.

Return Format

<value><NL>
<value> ::= value per bus code, in NR3 format

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:BUS:YORigin

:FUNCtion<m> Commands

Name

:FUNCtion<m>:BUS:YORigin —

Command Syntax

:FUNCtion<m>:BUS:YORigin <value>
<m> ::= 1 to (# math functions) in NR1 format
<value> ::= value at bus code = 0, in NR3 format

The :FUNCtion<m>:BUS:YORigin command specifies the value associated with Chart Logic Bus data equal to zero.

Query Syntax

:FUNCtion<m>:BUS:YORigin?

The :FUNCtion<m>:BUS:YORigin query returns the value for associated with data equal to zero.

Return Format

<value><NL>
<value> ::= value at bus code = 0, in NR3 format

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:BUS:YUNits

:FUNCtion<m> Commands

Name

:FUNCtion<m>:BUS:YUNits —

Command Syntax

:FUNCtion<m>:BUS:YUNits <units>
<m> ::= 1 to (# math functions) in NR1 format
<units> ::= {VOLT | AMPere | NONE}

The :FUNCtion<m>:BUS:YUNits command specifies the vertical units for the Chart Logic Bus operations.

Query Syntax

:FUNCtion<m>:BUS:YUNits?

The :FUNCtion<m>:BUS:YUNits query returns the Chart Logic Bus vertical units.

Return Format

<units><NL>
<units> ::= {VOLT | AMP | NONE}

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:CLEar

:FUNCtion<m> Commands

Name

:FUNCtion<m>:CLEar —

Command Syntax

:FUNCtion<m>:CLEar

When the :FUNCtion<m>:OPERation is AVERage, MAXHold, or MINHold, the :FUNCtion<m>:CLEar command clears the number of evaluated waveforms.

See Also

  • :FUNCtion<m>:AVERage:COUNt


:FUNCtion<m>:DISPlay

:FUNCtion<m> Commands

Name

:FUNCtion<m>:DISPlay —

Command Syntax

:FUNCtion<m>:DISPlay <display>
<m> ::= 1 to (# math functions) in NR1 format
<display> ::= {{1 | ON} | {0 | OFF}}

The :FUNCtion<m>:DISPlay command turns the display of the function on or off. When ON is selected, the function operates as specified by the other :FUNCtion<m> commands.

[Note]

Automatic vertical scaling of the math function waveform occurs when the function display is turned from off to on. If you wait for the operation to complete (with an *OPC? query for example), then query the math function's scale, you can see the vertical scaling that was automatically determined.

One math function can be displayed at a time. If one math function is on and then another math function is turned on, the first math function will be turned off.

When math functions are off, they are still calculated so that they can be cascaded, that is, used as a source for a higher math function.

Query Syntax

:FUNCtion<m>:DISPlay?

The :FUNCtion<m>:DISPlay? query returns whether the function display is on or off.

Return Format

<display><NL>
<display> ::= {1 | 0}

See Also

  • Introduction to :FUNCtion<m> Commands

  • *OPC (Operation Complete)

  • :FUNCtion<m>:SCALe

  • :VIEW

  • :BLANk

  • :STATus?


:FUNCtion<m>[:FFT]:BSIZe?

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:BSIZe? —

Query Syntax

:FUNCtion<m>[:FFT]:BSIZe?
<m> ::= 1-4 in NR1 format

The :FUNCtion<m>[:FFT]:BSIZe? query returns the Bin Size setting for the FFT.

Return Format

<bin_size><NL>
<bin_size> ::= Hz in NR3 format

See Also

  • :FUNCtion<m>[:FFT]:READout<n>


:FUNCtion<m>[:FFT]:CENTer

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:CENTer —

Command Syntax

:FUNCtion<m>[:FFT]:CENTer <frequency>
<m> ::= 1 to (# math functions) in NR1 format
<frequency> ::= the current center frequency in NR3 format.  The range
                of legal values is from -25 GHz to 25 GHz.

The :FUNCtion<m>[:FFT]:CENTer command sets the center frequency when FFT (Fast Fourier Transform) is selected.

Query Syntax

:FUNCtion<m>[:FFT]:CENTer?

The :FUNCtion<m>[:FFT]:CENTer? query returns the current center frequency in Hertz.

Return Format

<frequency><NL>
<frequency> ::= the current center frequency in NR3 format.  The range
                of legal values is from -25 GHz to 25 GHz.
[Note]

After a *RST (Reset) or :AUToscale command, the values returned by the :FUNCtion<m>[:FFT]:CENTer? and :FUNCtion<m>:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FUNCtion<m>[:FFT]:CENTer or :FUNCtion<m>:SPAN value, they no longer track the :TIMebase:RANGe value.

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>[:FFT]:SPAN

  • :TIMebase[:MAIN]:RANGe

  • :TIMebase[:MAIN]:SCALe


:FUNCtion<m>[:FFT]:DETection:POINts

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:DETection:POINts —

Command Syntax

:FUNCtion<m>[:FFT]:DETection:POINts <number_of_buckets>
<number_of_buckets> ::= an integer from 640 to 64K in NR1 format
<m> ::= 1-4 in NR1 format

The :FUNCtion<m>[:FFT]:DETection:POINts command specifies the maximum number of points that the FFT detector should decimate to. This is also the number of buckets that sampled FFT points are grouped into before the selected detection type reduction (decimation) is applied.

The minimum number of points is 640.

The maximum number of points is the analysis record limit. The analysis record defaults to 64K points but its depth can be increased at the expense of waveform update rate (see :SYSTem:PRECision:LENGth).

Query Syntax

:FUNCtion<m>[:FFT]:DETection:POINts?

The :FUNCtion<m>[:FFT]:DETection:POINts? query returns the FFT detector points setting.

Return Format

<number_of_buckets><NL>
<number_of_buckets> ::= an integer in NR1 format

See Also

  • :FUNCtion<m>[:FFT]:DETection:TYPE

  • :SYSTem:PRECision:LENGth


:FUNCtion<m>[:FFT]:DETection:TYPE

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:DETection:TYPE —

Command Syntax

:FUNCtion<m>[:FFT]:DETection:TYPE <type>
<type> ::= {OFF | SAMPle | PPOSitive | PNEGative | NORMal | AVERage}
<m> ::= 1-4 in NR1 format

The :FUNCtion<m>[:FFT]:DETection:TYPE command sets the FFT detector decimation type.

Detectors give you a way of manipulating the acquired data to emphasize different features of the data. Detectors reduce (decimate) the number of FFT points to at most the number of specified detector points. In this reduction, sampled FFT points are bucketized, that is, split into a number of groups that equals the specified number of detector points. Then, the points in each bucket are reduced to a single point according to the selected detection type. The detector types are:

  • OFF — No detector is used.

  • SAMPle — Takes the point nearest to the center of every bucket.

  • PPOSitive (+ Peak) — Takes the most positive point in every bucket.

  • PNEGative (- Peak) — Takes the most negative point in every bucket.

  • AVERage — Takes the average of all points in every bucket.

  • NORMal — Implements a rosenfell algorithm. This method to picks either the minimum or maximum sample in every bucket depending on whether the data is monotonically increasing, decreasing, or varying. For details, see the Spectrum Analysis Basics application note at www.keysight.com.

When detectors are used, the FFT's output is decimated, and any analysis is performed on the reduced or detected data set.

Query Syntax

:FUNCtion<m>[:FFT]:DETection:TYPE?

The :FUNCtion<m>[:FFT]:DETection:TYPE? query returns the FFT detector type setting

Return Format

<type><NL>
<type> ::= {OFF | SAMPle | PPOSitive | PNEGative | NORMal | AVERage}

See Also

  • :FUNCtion<m>[:FFT]:DETection:POINts


:FUNCtion<m>[:FFT]:FREQuency:STARt

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:FREQuency:STARt —

Command Syntax

:FUNCtion<m>[:FFT]:FREQuency:STARt <frequency>
<m> ::= 1 to (# math functions) in NR1 format
<frequency> ::= the start frequency in NR3 format.

The :FUNCtion<m>[:FFT]:FREQuency:STARt command sets the start frequency in the FFT (Fast Fourier Transform) math function's displayed range.

The FFT (Fast Fourier Transform) math function's displayed range can also be set with the :FUNCtion<m>[:FFT]:CENTer and :FUNCtion<m>[:FFT]:SPAN commands.

Query Syntax

:FUNCtion<m>[:FFT]:FREQuency:STARt?

The :FUNCtion<m>[:FFT]:FREQuency:STARt? query returns the current start frequency in Hertz.

Return Format

<frequency><NL>
<frequency> ::= the start frequency in NR3 format.

See Also

  • :FUNCtion<m>[:FFT]:FREQuency:STOP

  • :FUNCtion<m>[:FFT]:CENTer

  • :FUNCtion<m>[:FFT]:SPAN


:FUNCtion<m>[:FFT]:FREQuency:STOP

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:FREQuency:STOP —

Command Syntax

:FUNCtion<m>[:FFT]:FREQuency:STOP <frequency>
<m> ::= 1 to (# math functions) in NR1 format
<frequency> ::= the stop frequency in NR3 format.

The :FUNCtion<m>[:FFT]:FREQuency:STOP command sets the stop frequency in the FFT (Fast Fourier Transform) math function's displayed range.

The FFT (Fast Fourier Transform) math function's displayed range can also be set with the :FUNCtion<m>[:FFT]:CENTer and :FUNCtion<m>[:FFT]:SPAN commands.

Query Syntax

:FUNCtion<m>[:FFT]:FREQuency:STOP?

The :FUNCtion<m>[:FFT]:FREQuency:STOP? query returns returns the current stop frequency in Hertz.

Return Format

<frequency><NL>
<frequency> ::= the stop frequency in NR3 format.

See Also

  • :FUNCtion<m>[:FFT]:FREQuency:STARt

  • :FUNCtion<m>[:FFT]:CENTer

  • :FUNCtion<m>[:FFT]:SPAN


:FUNCtion<m>:FFT:GATE

:FUNCtion<m> Commands

Name

:FUNCtion<m>:FFT:GATE —

Command Syntax

:FUNCtion<m>:FFT:GATE <gating>
<m> ::= 1-4 in NR1 format
<gating> ::= {NONE | ZOOM | MARKers}

The :FUNCtion<m>:FFT:GATE command specifies the input waveform data on which the FFT math function is calculated:

  • NONE — The FFT math function is performed on input waveform data from the Main window and is displayed in the Main window.

    If the Zoomed time base is displayed (that is, WINDow is selected for :TIMebase:MODE), the Zoom window shows "zoomed in" data from the Main window.

  • ZOOM — This option is available when the Zoom window is displayed. The FFT math function is performed on input waveform data from the Zoom window and is displayed in the Zoom window only. The FFT math function will have better resolution because less decimation is needed for the measurement record.

  • MARKers — The FFT math function is performed on the input waveform data between the horizontal markers and is displayed in the Main window. The FFT math function will have better resolution because less decimation is needed for the measurement record.

    If the Zoomed time base is displayed, the Zoom window shows "zoomed in" data from the Main window, possibly containing the improved-resolution FFT math function waveform, depending on the location of the Zoom window.

Because this selection can affect the resolution of the FFT math function waveform, it can also affect measurements made on the FFT math function waveform, depending on the selected measurement window (see :MEASure:WINDow). When you improve the resolution of an FFT math function using the ZOOM or MARKers options, you will likely want to match the measurement window to look at the improved-resolution data.

Query Syntax

:FUNCtion<m>:FFT:GATE?

The :FUNCtion<m>:FFT:GATE? query returns the gate setting.

Return Format

<gating><NL>
<gating> ::= {NONE | ZOOM | MARK}

See Also

  • :TIMebase:MODE

  • :MEASure:WINDow

  • :FUNCtion<m>[:FFT]:VTYPe

  • :FUNCtion<m>[:FFT]:WINDow

  • :FUNCtion<m>:OPERation

  • :MARKer:X1Position

  • :MARKer:X2Position

  • Introduction to :FUNCtion<m> Commands


:FUNCtion<m>[:FFT]:PHASe:REFerence

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:PHASe:REFerence —

Command Syntax

:FUNCtion<m>[:FFT]:PHASe:REFerence <ref_point>
<ref_point> ::= {TRIGger | DISPlay}
<m> ::= 1-4 in NR1 format

The :FUNCtion<m>[:FFT]:PHASe:REFerence command sets the reference point for calculating the FFT Phase function to either the trigger point or beginning of the displayed waveform.

Query Syntax

:FUNCtion<m>[:FFT]:PHASe:REFerence?

The :FUNCtion<m>[:FFT]:PHASe:REFerence? query returns the selected reference point.

Return Format

<ref_point><NL>
<ref_point> ::= {TRIGger | DISPlay}

See Also

  • :FUNCtion<m>:OPERation

  • Introduction to :FUNCtion<m> Commands


:FUNCtion<m>[:FFT]:RBWidth?

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:RBWidth? —

Query Syntax

:FUNCtion<m>[:FFT]:RBWidth?
<m> ::= 1-4 in NR1 format

The :FUNCtion<m>[:FFT]:RBWidth? query returns the Resolution Bandwidth setting for the FFT.

Return Format

<resolution_bw><NL>
<resolution_bw> ::= Hz in NR3 format

See Also

  • :FUNCtion<m>[:FFT]:READout<n>


:FUNCtion<m>[:FFT]:READout<n>

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:READout<n> —

Command Syntax

:FUNCtion<m>[:FFT]:READout<n> <readout_type>
<readout_type> ::= {SRATe | BSIZe | RBWidth}
<m> ::= 1-4 in NR1 format
<n> ::= 1-2 in NR1 format, 2 is valid only on oscilloscopes that have
   the dedicated FFT function

The :FUNCtion<m>[:FFT]:READout<n> command selects from these types of readouts for the FFT:

  • SRATe — Sample Rate

  • BSIZe — Bin Size

  • RBWidth — Resolution Bandwidth

Note that READout1 is used for both the dedicated FFT and the general-purpose math FFT function and READout2 is used only for oscilloscopes that have a dedicated FFT function (like the 3000T X-Series).

Query Syntax

:FUNCtion<m>[:FFT]:READout<n>?

The :FUNCtion<m>[:FFT]:READout<n>? query returns the readout selection.

Return Format

<readout_type><NL>
<readout_type> ::= {SRAT | BSIZ | RBW}

See Also

  • :FUNCtion<m>[:FFT]:BSIZe?

  • :FUNCtion<m>[:FFT]:RBWidth?

  • :FUNCtion<m>[:FFT]:SRATe?


:FUNCtion<m>[:FFT]:SPAN

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:SPAN —

Command Syntax

:FUNCtion<m>[:FFT]:SPAN <span>
<m> ::= 1 to (# math functions) in NR1 format
<span> ::= the current frequency span in NR3 format. Legal values are
           1 Hz to 100 GHz.
If you set the frequency span to a value outside of the legal range, the
step size is automatically set to the nearest legal value.

The :FUNCtion<m>[:FFT]:SPAN command sets the frequency span of the display (left graticule to right graticule) when FFT (Fast Fourier Transform) is selected.

Query Syntax

:FUNCtion<m>[:FFT]:SPAN?

The :FUNCtion<m>[:FFT]:SPAN? query returns the current frequency span in Hertz.

[Note]

After a *RST (Reset) or :AUToscale command, the values returned by the :FUNCtion<m>[:FFT]:CENTer? and :FUNCtion<m>:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FUNCtion<m>[:FFT]:CENTer or :FUNCtion<m>:SPAN value, they no longer track the :TIMebase:RANGe value.

Return Format

<span><NL>
<span> ::= the current frequency span in NR3 format. Legal values are 1 Hz to 100 GHz.

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>[:FFT]:CENTer

  • :TIMebase[:MAIN]:RANGe

  • :TIMebase[:MAIN]:SCALe


:FUNCtion<m>[:FFT]:SRATe?

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:SRATe? —

Query Syntax

:FUNCtion<m>[:FFT]:SRATe?
<m> ::= 1-4 in NR1 format

The :FUNCtion<m>[:FFT]:SRATe? query returns the Sample Rate setting for the FFT.

Return Format

<sample_rate><NL>
<sample_rate> ::= Hz in NR3 format

See Also

  • :FUNCtion<m>[:FFT]:READout<n>


:FUNCtion<m>[:FFT]:VTYPe

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:VTYPe —

Command Syntax

:FUNCtion<m>[:FFT]:VTYPe <units>
<m> ::= 1 to (# math functions) in NR1 format
<units> ::= {DECibel | VRMS} for the FFT (magnitude) operation
<units> ::= {DEGRees | RADians} for the FFTPhase operation

The :FUNCtion<m>[:FFT]:VTYPe command specifies FFT vertical units.

For the FFT (Magnitude) operation units, DECibel equates to the user interface's Logarithmic selection, and VRMS equates to the user interface's Linear selection.

Query Syntax

:FUNCtion<m>[:FFT]:VTYPe?

The :FUNCtion<m>[:FFT]:VTYPe? query returns the current FFT vertical units.

Return Format

<units><NL>
<units> ::= {DEC | VRMS} for the FFT (magnitude) operation
<units> ::= {DEGR | RAD} for the FFTPhase operation

See Also

  • :FUNCtion<m>:FFT:GATE

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:OPERation


:FUNCtion<m>[:FFT]:WINDow

:FUNCtion<m> Commands

Name

:FUNCtion<m>[:FFT]:WINDow —

Command Syntax

:FUNCtion<m>[:FFT]:WINDow <window>
<m> ::= 1 to (# math functions) in NR1 format
<window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett}

The :FUNCtion<m>[:FFT]:WINDow command allows the selection of different windowing transforms or operations for the FFT (Fast Fourier Transform) function.

The FFT operation assumes that the time record repeats. Unless an integral number of sampled waveform cycles exist in the record, a discontinuity is created between the end of one record and the beginning of the next. This discontinuity introduces additional frequency components about the peaks into the spectrum. This is referred to as leakage. To minimize leakage, windows that approach zero smoothly at the start and end of the record are employed as filters to the FFTs. Each window is useful for certain classes of input signals.

  • RECTangular — useful for transient signals, and signals where there are an integral number of cycles in the time record.

  • HANNing — useful for frequency resolution and general purpose use. It is good for resolving two frequencies that are close together, or for making frequency measurements. This is the default window.

  • FLATtop — best for making accurate amplitude measurements of frequency peaks.

  • BHARris (Blackman-Harris) — reduces time resolution compared to the rectangular window, but it improves the capacity to detect smaller impulses due to lower secondary lobes (provides minimal spectral leakage).

  • BARTlett — (triangular, with end points at zero) window is similar to the Hanning window in that it is good for making accurate frequency measurements, but its higher and wider secondary lobes make it not quite as good for resolving frequencies that are close together.

Query Syntax

:FUNCtion<m>[:FFT]:WINDow?

The :FUNCtion<m>[:FFT]:WINDow? query returns the value of the window selected for the FFT function.

Return Format

<window><NL>
<window> ::= {RECT | HANN | FLAT | BHAR | BART}

See Also

  • :FUNCtion<m>:FFT:GATE

  • Introduction to :FUNCtion<m> Commands


:FUNCtion<m>:FREQuency:BANDpass:CENTer

:FUNCtion<m> Commands

Name

:FUNCtion<m>:FREQuency:BANDpass:CENTer —

Command Syntax

:FUNCtion<m>:FREQuency:BANDpass:CENTer <center_freq>
<center_freq> ::= center frequency of band-pass filter in NR3 format

The :FUNCtion<m>:FREQuency:BANDpass:CENTer command sets the center frequency of the band-pass filter.

Query Syntax

:FUNCtion<m>:FREQuency:BANDpass:CENTer?

The :FUNCtion<m>:FREQuency:BANDpass:CENTer? query returns the band-pass filter's center frequency setting.

Return Format

<center_freq><NL>

See Also

  • :FUNCtion<m>:FREQuency:BANDpass:WIDTh

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:FREQuency:BANDpass:WIDTh

:FUNCtion<m> Commands

Name

:FUNCtion<m>:FREQuency:BANDpass:WIDTh —

Command Syntax

:FUNCtion<m>:FREQuency:BANDpass:WIDTh <freq_width>
<freq_width> ::= frequency width of band-pass filter in NR3 format

The :FUNCtion<m>:FREQuency:BANDpass:WIDTh command sets the frequency width of the band-pass filter. The width specifies the filter's -3 dB cutoff frequencies (center frequency minus half the width and center frequency plus half the width).

Query Syntax

:FUNCtion<m>:FREQuency:BANDpass:WIDTh?

The :FUNCtion<m>:FREQuency:BANDpass:WIDTh? query returns the band-pass filter's frequency width setting.

Return Format

<freq_width><NL>

See Also

  • :FUNCtion<m>:FREQuency:BANDpass:CENTer

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:FREQuency:HIGHpass

:FUNCtion<m> Commands

Name

:FUNCtion<m>:FREQuency:HIGHpass —

Command Syntax

:FUNCtion<m>:FREQuency:HIGHpass <3dB_freq>
<m> ::= 1 to (# math functions) in NR1 format
<3dB_freq> ::= -3dB cutoff frequency value in NR3 format

The :FUNCtion<m>:FREQuency:HIGHpass command sets the high-pass filter's -3 dB cutoff frequency.

The high-pass filter is a single-pole high pass filter.

Query Syntax

:FUNCtion<m>:FREQuency:HIGHpass?

The :FUNCtion<m>:FREQuency:HIGHpass query returns the high-pass filter's cutoff frequency.

Return Format

<3dB_freq><NL>
<3dB_freq> ::= -3dB cutoff frequency value in NR3 format

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:FREQuency:LOWPass

:FUNCtion<m> Commands

Name

:FUNCtion<m>:FREQuency:LOWPass —

Command Syntax

:FUNCtion<m>:FREQuency:LOWPass <3dB_freq>
<m> ::= 1 to (# math functions) in NR1 format
<3dB_freq> ::= -3dB cutoff frequency value in NR3 format

The :FUNCtion<m>:FREQuency:LOWPass command sets the low-pass filter's -3 dB cutoff frequency.

The low-pass filter is a 4th order Bessel-Thompson filter.

Query Syntax

:FUNCtion<m>:FREQuency:LOWPass?

The :FUNCtion<m>:FREQuency:LOWPass query returns the low-pass filter's cutoff frequency.

Return Format

<3dB_freq><NL>
<3dB_freq> ::= -3dB cutoff frequency value in NR3 format

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:GATE

:FUNCtion<m> Commands

Name

:FUNCtion<m>:GATE —

Command Syntax

:FUNCtion<m>:GATE <gating>
<m> ::= 1-4 in NR1 format
<gating> ::= {NONE | ZOOM | BOTH | MARKers}

The :FUNCtion<m>:GATE command specifies the input waveform data on which the math function is calculated:

  • NONE — The math function is performed on input waveform data from the Main window and is displayed in the Main window.

    If the Zoomed time base is displayed (that is, WINDow is selected for :TIMebase:MODE), the Zoom window shows "zoomed in" data from the Main window.

  • ZOOM — This option is available when the Zoom window is displayed. The math function is performed on input waveform data from the Zoom window and is displayed in the Zoom window only. The math function will have better resolution because less decimation is needed for the measurement record.

  • BOTH — This option is available when the Zoom window is displayed. In the Main time base window, the math function is performed on input waveform data from the Main window and is displayed in the Main window. In the Zoomed time base window, the math function is performed on input waveform data from the Zoom window and is displayed in the Zoom window. In other words, separate math function waveforms are shown in each window (calculated from the data in the respective windows).

    This is the default setting when the Zoom window is displayed.

    [Note]

    The BOTH option is not available with FFT or FFTPhase math functions (see :FUNCtion<m>:OPERation) because the FFT length is different in the Main and Zoom windows. However, you can set up two FFT math functions on the same source, setting the measurement window on one of them to MAIN, and setting the measurement window on the other one to ZOOM.

  • MARKers — The math function is performed on the input waveform data between the horizontal markers and is displayed in the Main window. The math function will have better resolution because less decimation is needed for the measurement record.

    If the Zoomed time base is displayed, the Zoom window shows "zoomed in" data from the Main window, possibly containing the improved-resolution math function waveform, depending on the location of the Zoom window.

Because this selection can affect the resolution of the math function waveform, it can also affect measurements made on the math function waveform, depending on the selected measurement window (see :MEASure:WINDow). When you improve the resolution of a math function using the ZOOM or MARKers options, you will likely want to match the measurement window to look at the improved-resolution data.

Query Syntax

:FUNCtion<m>:GATE?

The :FUNCtion<m>:GATE? query returns the gate setting.

Return Format

<gating><NL>
<gating> ::= {NONE | ZOOM | BOTH | MARK}

See Also

  • :TIMebase:MODE

  • :MEASure:WINDow

  • :FUNCtion<m>:OPERation

  • :MARKer:X1Position

  • :MARKer:X2Position

  • Introduction to :FUNCtion<m> Commands


:FUNCtion<m>:INTegrate:IICondition

:FUNCtion<m> Commands

Name

:FUNCtion<m>:INTegrate:IICondition —

Command Syntax

:FUNCtion<m>:INTegrate:IICondition {{0 | OFF} | {1 | ON}}
<m> ::= 1 to (# math functions) in NR1 format

The :FUNCtion<m>:INTegrate:IICondition command sets the Initial Condition of the Integrate math function waveform:

  • ON — the integrate math waveform is vertically centered in the screen. In other words, the top and bottom of the math waveform are equal distances from the top and bottom of the screen.

  • OFF — the integrate math waveform starts at the zero-level reference on the left side of the screen.

Query Syntax

:FUNCtion<m>:INTegrate:IICondition?

The :FUNCtion<m>:INTegrate:IICondition? query returns Initial Condition setting for the Integrate math function.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :FUNCtion<m>:OPERation

  • :FUNCtion<m>:INTegrate:IOFFset


:FUNCtion<m>:INTegrate:IOFFset

:FUNCtion<m> Commands

Name

:FUNCtion<m>:INTegrate:IOFFset —

Command Syntax

:FUNCtion<m>:INTegrate:IOFFset <input_offset>
<m> ::= 1 to (# math functions) in NR1 format
<input_offset> ::= DC offset correction in NR3 format.

The :FUNCtion<m>:INTegrate:IOFFset command lets you enter a DC offset correction factor for the integrate math waveform input signal. This DC offset correction lets you level a "ramp"ed waveform.

Query Syntax

:FUNCtion<m>:INTegrate:IOFFset?

The :FUNCtion<m>:INTegrate:IOFFset? query returns the current input offset value.

Return Format

<input_offset><NL>
<input_offset> ::= DC offset correction in NR3 format.

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:OPERation

  • :FUNCtion<m>:INTegrate:IICondition


:FUNCtion<m>:LABel

:FUNCtion<m> Commands

Name

:FUNCtion<m>:LABel —

Command Syntax

:FUNCtion<m>:LABel <string>
<m> ::= 1 to (# math functions) in NR1 format
<string> ::= quoted ASCII string
[Note]

Label strings are 32 characters or less, and may contain any commonly used ASCII characters. Labels with more than 32 characters are truncated to 32 characters.

The :FUNCtion<m>:LABel command sets the math function label to the string that follows. Setting a label for a function also adds the name to the label list in non-volatile memory (replacing the oldest label in the list).

Query Syntax

:FUNCtion<m>:LABel?

The :FUNCtion<m>:LABel? query returns the label associated with a particular math function.

Return Format

<string><NL>
<string> ::= quoted ASCII string

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:DISPlay

  • :DISPlay:LABel

  • :DISPlay:LABList

  • :VIEW

  • :BLANk

  • :STATus?


:FUNCtion<m>:LINear:GAIN

:FUNCtion<m> Commands

Name

:FUNCtion<m>:LINear:GAIN —

Command Syntax

:FUNCtion<m>:LINear:GAIN <value>
<m> ::= 1 to (# math functions) in NR1 format
<value> ::= 'A' in Ax + B, value in NR3 format

The :FUNCtion<m>:LINear:GAIN command specifies the 'A' value in the Ax + B operation.

Query Syntax

:FUNCtion<m>:LINear:GAIN?

The :FUNCtion<m>:LINear:GAIN query returns the gain value.

Return Format

<value><NL>
<value> ::= 'A' in Ax + B, value in NR3 format

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:LINear:OFFSet

:FUNCtion<m> Commands

Name

:FUNCtion<m>:LINear:OFFSet —

Command Syntax

:FUNCtion<m>:LINear:OFFSet <value>
<m> ::= 1 to (# math functions) in NR1 format
<value> ::= 'B' in Ax + B, value in NR3 format

The :FUNCtion<m>:LINear:OFFSet command specifies the 'B' value in the Ax + B operation.

Query Syntax

:FUNCtion<m>:LINear:OFFSet?

The :FUNCtion<m>:LINear:OFFSet query returns the offset value.

Return Format

<value><NL>
<value> ::= 'B' in Ax + B, value in NR3 format

See Also

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:OFFSet

:FUNCtion<m> Commands

Name

:FUNCtion<m>:OFFSet —

Command Syntax

:FUNCtion<m>:OFFSet <offset>
<m> ::= 1 to (# math functions) in NR1 format
<offset> ::= the value at center screen in NR3 format.

The :FUNCtion<m>:OFFSet command sets the voltage or vertical value represented at center screen for the selected function. The range of legal values is generally +/-10 times the current scale of the selected function, but will vary by function. If you set the offset to a value outside of the legal range, the offset value is automatically set to the nearest legal value.

[Note]

The :FUNCtion<m>:OFFSet command is equivalent to the :FUNCtion<m>:REFerence command.

Query Syntax

:FUNCtion<m>:OFFSet?

The :FUNCtion<m>:OFFSet? query outputs the current offset value for the selected function.

Return Format

<offset><NL>
<offset> ::= the value at center screen in NR3 format.

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:RANGe

  • :FUNCtion<m>:REFerence

  • :FUNCtion<m>:SCALe


:FUNCtion<m>:OPERation

:FUNCtion<m> Commands

Name

:FUNCtion<m>:OPERation —

Command Syntax

:FUNCtion<m>:OPERation <operation>
<m> ::= 1 to (# math functions) in NR1 format
<operation> ::= {ADD | SUBTract | MULTiply | DIVide | DIFF | INTegrate
   | FFT | FFTPhase | SQRT | MAGNify | ABSolute | SQUare | LN | LOG
   | EXP | TEN | LOWPass | HIGHpass | BANDpass | AVERage | SMOoth
    | ENVelope | LINear | MAXimum | MINimum | PEAK | MAXHold | MINHold
    | TRENd}

The :FUNCtion<m>:OPERation command sets the desired waveform math operator, transform, filter or visualization:

  • Operators:

    • ADD — Source1 + source2.

    • SUBTract — Source1 - source2.

    • MULTiply — Source1 * source2.

    • DIVide — Source1 / source2.

    Operators perform their function on two analog channel sources.

  • Transforms:

    • DIFF — Differentiate

    • INTegrate — The :FUNCtion<m>:INTegrate:IOFFset command lets you specify a DC offset correction factor. The :FUNCtion<m>:INTegrate:IICondition command lets you sets the Initial Condition of the Integrate math function waveform.

    • FFT (magnitude) — Using the Fast Fourier Transform (FFT), this operation displays the magnitudes of the frequency content that makes up the source waveform. The FFT takes the digitized time record of the specified source and transforms it to the frequency domain.

      The SPAN, CENTer, VTYPe, and WINDow commands are used for FFT functions. When FFT is selected, the horizontal cursors change from time to frequency (Hz), and the vertical cursors change from volts to decibels or V RMS.

    • FFTPhase — Using the Fast Fourier Transform (FFT), this operation shows the phase relationships of the frequency content that makes up the source waveform. The FFT takes the digitized time record of the specified source and transforms it to the frequency domain.

      The SPAN, CENTer, VTYPe, and WINDow commands are used for FFT functions. When FFTPhase is selected, the horizontal cursors change from time to frequency (Hz), and the vertical cursors change from volts to degrees or radians.

    • LINear — Ax + B — The LINear commands set the gain (A) and offset (B) values for this function.

    • SQUare

    • SQRT — Square root

    • ABSolute — Absolute Value

    • LOG — Common Logarithm

    • LN — Natural Logarithm

    • EXP — Exponential (ex)

    • TEN — Base 10 exponential (10x)

    Transforms operate on a single analog channel source or on lower math functions.

  • Filters:

    • LOWPass — Low pass filter — The FREQuency:LOWPass command sets the -3 dB cutoff frequency.

    • HIGHpass — High pass filter — The FREQuency:HIGHpass command sets the -3 dB cutoff frequency.

    • BANDpass — Band pass filter — The FREQuency:BANDpass:CENTer and FREQuency:BANDpass:WIDTh commands set the center frequency and width of the filter.

    • AVERage — Averaged value — The AVERage:COUNt command specifies the number of averages.

      Unlike acquisition averaging, the math averaging operator can be used to average the data on a single analog input channel or math function.

      If acquisition averaging is also used, the analog input channel data is averaged and the math function averages it again. You can use both types of averaging to get a certain number of averages on all waveforms and an increased number of averages on a particular waveform.

      Averages are calculated using a "decaying average" approximation, where:

      next_average = current_average + (new_data - current_average)/N

      Where N starts at 1 for the first acquisition and increments for each following acquisition until it reaches the selected number of averages, where it holds.

    • SMOoth — Smoothing — The resulting math waveform is the selected source with a normalized rectangular (boxcar) FIR filter applied.

      The boxcar filter is a moving average of adjacent waveform points, where the number of adjacent points is specified by the SMOoth:POINts command. You can choose an odd number of points, from 3 to 999.

      The smoothing operator limits the bandwidth of the source waveform. The smoothing operator can be used, for example, to smooth measurement trend waveforms.

    • ENVelope — Envelope — The resulting math waveform is 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.

    Filters operate on a single analog channel source or on a lower math function.

  • Visualizations:

    • MAGNify — Operates on a single analog channel source or on a lower math function.

    • MAXimum — This operator is like the MAXHold operator without the hold. The maximum vertical values found at each horizontal bucket are used to build a waveform.

    • MINimum — This operator is like the MINHold operator without the hold. The minimum vertical values found at each horizontal bucket are used to build a waveform.

    • PEAK — The PEAK operator is like the MAXimum operator minus the MINimum operator. At each horizontal bucket, the minimum vertical values found are subtracted from the maximum vertical values found to build a waveform.

    • MAXHold — Operates on a single analog channel source or on a lower math function. The Max Hold (or Max Envelope) operator records the maximum vertical values found at each horizontal bucket across multiple analysis cycles and uses those values to build a waveform.

    • MINHold — Operates on a single analog channel source or on a lower math function. The Min Hold (or Min Envelope) operator records the minimum vertical values found at each horizontal bucket across multiple analysis cycles and uses those values to build a waveform.

    • TRENd — Measurement trend — Operates on a single analog channel source. The TRENd:NMEasurement command selects the measurement whose trend you want to measure.

[Note]

If a math function is on (see :FUNCtion<m>:DISPlay), changing the operator will cause an automatic vertical scaling of the new math function waveform. If you wait for the operation to complete (with an *OPC? query for example), then query the math function's scale, you can see the vertical scaling that was automatically determined.

Query Syntax

:FUNCtion<m>:OPERation?

The :FUNCtion<m>:OPERation? query returns the current operation for the selected function.

Return Format

<operation><NL>
<operation> ::= {ADD | SUBT | MULT | DIV | INT | DIFF | FFT | FFTP
   | SQRT | MAGN | ABS | SQU | LN | LOG | EXP | TEN | LOWP | HIGH
    | BAND | AVER | SMO | ENV | LIN | MAX | MIN | PEAK | MAXH | MINH
    | TREN}

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:DISPlay

  • *OPC (Operation Complete)

  • :FUNCtion<m>:SOURce1

  • :FUNCtion<m>:SOURce2

  • :FUNCtion<m>:INTegrate:IICondition

  • :FUNCtion<m>:INTegrate:IOFFset

  • :FUNCtion<m>[:FFT]:SPAN

  • :FUNCtion<m>[:FFT]:CENTer

  • :FUNCtion<m>[:FFT]:PHASe:REFerence

  • :FUNCtion<m>[:FFT]:VTYPe

  • :FUNCtion<m>[:FFT]:WINDow

  • :FUNCtion<m>:LINear:GAIN

  • :FUNCtion<m>:LINear:OFFSet

  • :FUNCtion<m>:FREQuency:BANDpass:CENTer

  • :FUNCtion<m>:FREQuency:BANDpass:WIDTh

  • :FUNCtion<m>:FREQuency:LOWPass

  • :FUNCtion<m>:FREQuency:HIGHpass

  • :FUNCtion<m>:AVERage:COUNt

  • :FUNCtion<m>:SMOoth:POINts

  • :FUNCtion<m>:TRENd:NMEasurement

  • :FUNCtion<m>:BUS:YINCrement

  • :FUNCtion<m>:BUS:YORigin

  • :FUNCtion<m>:BUS:YUNits

  • :FUNCtion<m>:BUS:CLOCk

  • :FUNCtion<m>:BUS:SLOPe


:FUNCtion<m>:RANGe

:FUNCtion<m> Commands

Name

:FUNCtion<m>:RANGe —

Command Syntax

:FUNCtion<m>:RANGe <range>
<m> ::= 1 to (# math functions) in NR1 format
<range> ::= the full-scale vertical axis value in NR3 format.

The :FUNCtion<m>:RANGe command defines the full-scale vertical axis for the selected function.

Query Syntax

:FUNCtion<m>:RANGe?

The :FUNCtion<m>:RANGe? query returns the current full-scale range value for the selected function.

Return Format

<range><NL>
<range> ::= the full-scale vertical axis value in NR3 format.

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:SCALe


:FUNCtion<m>:REFerence

:FUNCtion<m> Commands

Name

:FUNCtion<m>:REFerence —

Command Syntax

:FUNCtion<m>:REFerence <level>
<m> ::= 1 to (# math functions) in NR1 format
<level> ::= the current reference level in NR3 format.

The :FUNCtion<m>:REFerence command sets the voltage or vertical value represented at center screen for the selected function. The range of legal values is generally +/-10 times the current scale of the selected function, but will vary by function. If you set the reference level to a value outside of the legal range, the level is automatically set to the nearest legal value.

[Note]

The FUNCtion:REFerence command is equivalent to the :FUNCtion<m>:OFFSet command.

Query Syntax

:FUNCtion<m>:REFerence?

The :FUNCtion<m>:REFerence? query outputs the current reference level value for the selected function.

Return Format

<level><NL>
<level> ::= the current reference level in NR3 format.

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:OFFSet

  • :FUNCtion<m>:RANGe

  • :FUNCtion<m>:SCALe


:FUNCtion<m>:SCALe

:FUNCtion<m> Commands

Name

:FUNCtion<m>:SCALe —

Command Syntax

:FUNCtion<m>:SCALe <scale value>[<suffix>]
<m> ::= 1 to (# math functions) in NR1 format
<scale value> ::= vertical units/div value in NR3 format
<suffix> ::= {V | dB}

The :FUNCtion<m>:SCALe command sets the vertical scale, or units per division, of the selected function. Legal values for the scale depend on the selected function.

[Note]

Automatic vertical scaling of the math function waveform occurs when the function display is turned from off to on (see :FUNCtion<m>:DISPlay) or, if the function is already on, when the operation is changed (see :FUNCtion<m>:OPERation). If you want to change the math function's vertical scaling, you should do it after the math function display is turned on or after the operation is changed.

Query Syntax

:FUNCtion<m>:SCALe?

The :FUNCtion<m>:SCALe? query returns the current scale value for the selected function.

Return Format

<scale value><NL>
<scale value> ::= vertical units/div value in NR3 format

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:DISPlay

  • :FUNCtion<m>:OPERation

  • :FUNCtion<m>:RANGe


:FUNCtion<m>:SMOoth:POINts

:FUNCtion<m> Commands

Name

:FUNCtion<m>:SMOoth:POINts —

Command Syntax

:FUNCtion<m>:SMOoth:POINts <points>
<points> ::= odd integer in NR1 format

When the :FUNCtion<m>:OPERation is SMOoth, the :FUNCtion<m>:SMOoth:POINts command sets the number of smoothing points to use.

You can choose an odd number of points, from three up to half of the analysis record.

Query Syntax

:FUNCtion<m>:SMOoth:POINts?

The :FUNCtion<m>:SMOoth:POINts? query returns the number of smoothing points specified.

Return Format

<points><NL>

See Also

  • :FUNCtion<m>:OPERation

  • :SYSTem:PRECision:LENGth


:FUNCtion<m>:SOURce1

:FUNCtion<m> Commands

Name

:FUNCtion<m>:SOURce1 —

Command Syntax

:FUNCtion<m>:SOURce1 <value>
<m> ::= 1 to (# math functions) in NR1 format
<value> ::= {CHANnel<n> | FUNCtion<c> | MATH<c> | WMEMory<r> | BUS<b>}
<n> ::= 1 to (# analog channels) in NR1 format
<c> ::= {1 | 2 | 3}, must be lower than <m>
<r> ::= 1 to (# ref waveforms) in NR1 format
<b> ::= {1 | 2}

The :FUNCtion<m>:SOURce1 command is used for any :FUNCtion<m>:OPERation selection. This command selects the first source for the operator math functions or the single source for the transform functions, filter functions, or visualization functions.

The FUNCtion<c> or MATH<c> parameters are available for the transform functions, filter functions, and the magnify visualization function (see Introduction to :FUNCtion<m> Commands) when <c> is lower than <m>.

In other words, higher math functions can operate on lower math functions when using operators other than the simple arithmetic operations (+, - , *, /). For example, if :FUNCtion1:OPERation is a SUBTract of CHANnel1 and CHANnel2, the :FUNCtion2:OPERation could be set up as a FFT operation on the FUNCtion1 source. These are called cascaded math functions.

To cascade math functions, select the lower math function using the :FUNCtion<m>:SOURce1 command.

When cascading math functions, to get the most accurate results, be sure to vertically scale lower math functions so that their waveforms take up the full screen without being clipped.

The BUS<m> parameter is available for the bus charting visualization functions.

[Note]

Another shorthand notation for SOURce1 in this command/query (besides SOUR1) is SOUR.

When :FUNCtion<m>:OPERation is TRENd, the :FUNCtion<m>:SOURce1 command reports error -221,"Settings conflict" because the TRENd function operates on a measurement and not a source waveform.

Query Syntax

:FUNCtion<m>:SOURce1?

The :FUNCtion<m>:SOURce1? query returns the current source1 for function operations.

When :FUNCtion<m>:OPERation is TRENd, the :FUNCtion<m>:SOURce1? query returns the source of the measurement.

Return Format

<value><NL>
<value> ::= {CHAN<n> | FUNC<c> | MATH<c> | WMEM<r> | BUS<b>}

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:OPERation


:FUNCtion<m>:SOURce2

:FUNCtion<m> Commands

Name

:FUNCtion<m>:SOURce2 —

Command Syntax

:FUNCtion<m>:SOURce2 <value>
<m> ::= 1 to (# math functions) in NR1 format
<value> ::= {CHANnel<n> | WMEMory<r> | NONE}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :FUNCtion<m>:SOURce2 command specifies the second source for math operator functions that have two sources. (The :FUNCtion<m>:SOURce1 command specifies the first source.)

The :FUNCtion<m>:SOURce2 setting is not used for the transform functions, filter functions, or visualization functions (except when the measurement trend visualization's measurement requires two sources).

When :FUNCtion<m>:OPERation is TRENd, the :FUNCtion<m>:SOURce2 command reports error -221,"Settings conflict" because the TRENd function operates on a measurement and not a source waveform.

Query Syntax

:FUNCtion<m>:SOURce2?

The :FUNCtion<m>:SOURce2? query returns the currently specified second source for math operations.

When :FUNCtion<m>:OPERation is TRENd, the :FUNCtion<m>:SOURce2? query returns the source of the measurement.

Return Format

<value><NL>
<value> ::= {CHAN<n> | WMEM<r> | NONE}

See Also

  • Introduction to :FUNCtion<m> Commands

  • :FUNCtion<m>:OPERation

  • :FUNCtion<m>:SOURce1


:FUNCtion<m>:TRENd:NMEasurement

:FUNCtion<m> Commands

Name

:FUNCtion<m>:TRENd:NMEasurement —

Command Syntax

:FUNCtion<m>:TRENd:NMEasurement MEAS<n>
<n> ::= # of installed measurement, from 1 to 8
<m> ::= 1 to (# math functions) in NR1 format

The :FUNCtion<m>:TRENd:NMEasurement command selects the measurement whose trend is shown in the math waveform.

There are 8 locations (or slots) that installed measurements can occupy. The MEAS<n> parameter specifies the location of the measurement whose trend you want to analyze.

You can view the trend math function waveform for these installed measurements:

  • :MEASure:VAVerage, <interval> ::= CYCLe

  • :MEASure:VRMS, <type> ::= AC (AC RMS)

  • :MEASure:VRATio, <interval> ::= CYCLe

  • :MEASure:PERiod

  • :MEASure:FREQuency

  • :MEASure:PWIDth

  • :MEASure:NWIDth

  • :MEASure:DUTYcycle

  • :MEASure:NDUTy

  • :MEASure:RISetime

  • :MEASure:FALLtime

Query Syntax

:FUNCtion<m>:TRENd:NMEasurement?

The :FUNCtion<m>:TRENd:NMEasurement? query returns the selected measurement.

If no measurements are installed, the :FUNCtion<m>:TRENd:NMEasurement? query will return NONE.

Return Format

MEAS<n><NL>
<n> ::= # of installed measurement, from 1 to 8

See Also

  • :FUNCtion<m>:OPERation


:HCOPy Commands

Commands for getting screen image data.

:HCOPy Commands Summary:

Command | Query | Options and Query Returns
n/a | :HCOPy:SDUMp:DATA? | <display_data> ::= binary block data in IEEE-488.2 # format.
:HCOPy:SDUMp[:DATA]:FORMat <format> | :HCOPy:SDUMp[:DATA]:FORMat? | <format> ::= {BMP | PNG}


:HCOPy:SDUMp:DATA?

:HCOPy Commands

Name

:HCOPy:SDUMp:DATA? —

Query Syntax

:HCOPy:SDUMp:DATA? [<format>]
<format> ::= {PNG | BMP}

The :HCOPy:SDUMp:DATA? query reads and returns screen image data. You can choose 24-bit BMP or 24-bit PNG formats.

In addition to the <format> option of this query, the screen image data format can also be set by the :HCOPy:SDUMp:DATA:FORMat command or the image Format selected in the graphical user interface's Save dialog box (File > Save...).

If no <format> option is specified with this query, the screen image data is returned in the currently selected format. After a *RST (factory default) command, the PNG format is selected by default.

If the <format> option is specified with this query, the format setting will affect the graphical user interface's Format selection in the Save dialog box.

Screen image data is returned in the IEEE-488.2 # binary block data format.

Return Format

<display_data><NL>
<display_data> ::= binary block data in IEEE-488.2 # format.

See Also

  • :HCOPy:SDUMp[:DATA]:FORMat

  • :DISPlay:DATA?


:HCOPy:SDUMp[:DATA]:FORMat

:HCOPy Commands

Name

:HCOPy:SDUMp[:DATA]:FORMat —

Command Syntax

:HCOPy:SDUMp[:DATA]:FORMat <format>
<format> ::= {PNG | BMP}

The :HCOPy:SDUMp[:DATA]:FORMat command specifies the format for screen image data: 24-bit PNG or 24-bit BMP.

The :HCOPy:SDUMp[:DATA]:FORMat setting will persist when cycling power but will be reset to PNG after a *RST (factory default) command.

The :HCOPy:SDUMp[:DATA]:FORMat setting will affect the graphical user interface's Format selection in the Save dialog box (File > Save...).

Query Syntax

:HCOPy:SDUMp[:DATA]:FORMat?

The :HCOPy:SDUMp[:DATA]:FORMat? query returns the specified screen image data format.

The screen image data format can be set by the :HCOPy:SDUMp[:DATA]:FORMat command or the image Format selected in the graphical user interface's Save dialog box.

Return Format

<format><NL>
<format> ::= {PNG | BMP}

See Also

  • :HCOPy:SDUMp:DATA?

  • :DISPlay:DATA?

  • *RST (Reset)


:HISTogram Commands

These commands control the histogram analysis feature.

The histogram analysis feature provides a statistical view of a waveform or a measurement's results.

Waveform histograms show the number of times a waveform crosses into (or hits) a row or column of a user-defined window. For vertical histograms, the window is divided into rows. For horizontal histograms, the window is divided into columns.

Measurement histograms show the distribution of a measurement's results similar to ordinary measurement statistics.

As waveforms are acquired and displayed, or as measurements are made, a counter database accumulates the total number of hits (or measurements), and the histogram data is displayed as a bar graph on the graticule.

When the oscilloscope is stopped, that counter database remains intact until the acquired data display is modified, usually horizontally or vertically. At that time, the database is reset and the last displayed acquisition is used to start a new database.

:HISTogram Commands Summary:

Command | Query | Options and Query Returns
:HISTogram:AXIS <axis> | :HISTogram:AXIS? | <axis> ::= {VERTical | HORizontal}
:HISTogram:DISPlay {{0 | OFF} | {1 | ON}} | :HISTogram:DISPlay? | {0 | 1}
:HISTogram:MEASurement MEAS<n> | :HISTogram:MEASurement? | <n> ::= # of installed measurement, from 1 to 10
:HISTogram:MODE <mode> | :HISTogram:MODE? | <mode> ::= {OFF | WAVeform | MEASurement}
:HISTogram:RESet | n/a | n/a
:HISTogram:SIZE <size> | :HISTogram:SIZE? | <size> ::= 1.0 to 5.0 for vertical histograms, 1.0 to 4.0 for horizontal histograms, in NR3 format
:HISTogram:TYPE <type> | :HISTogram:TYPE? | <type> ::= {VERTical | HORizontal | MEASurement}
:HISTogram:WINDow:BLIMit <limit> | :HISTogram:WINDow:BLIMit? | <limit> ::= bottom value in NR3 format
:HISTogram:WINDow:LLIMit <limit> | :HISTogram:WINDow:LLIMit? | <limit> ::= left value in NR3 format
:HISTogram:WINDow:RLIMit <limit> | :HISTogram:WINDow:RLIMit? | <limit> ::= right value in NR3 format
:HISTogram:WINDow:SOURce <source> | :HISTogram:WINDow:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:HISTogram:WINDow:TLIMit <limit> | :HISTogram:WINDow:TLIMit? | <limit> ::= top value in NR3 format

Histogram results statistics can be queried with these commands:

  • :MEASure:HISTogram:HITS? — The sum of all hits in all bins (buckets) in the histogram.

  • :MEASure:HISTogram:PEAK? — Maximum number of hits in any single bin.

  • :MEASure:HISTogram:MAXimum? — The value corresponding to the maximum bin that has any hits.

  • :MEASure:HISTogram:MINimum? — The value corresponding to the minimum bin that has any hits.

  • :MEASure:HISTogram:PPEak? — Delta between the Max and Min values.

  • :MEASure:HISTogram:MEAN? — Mean value of the histogram.

  • :MEASure:HISTogram:MEDian? — Median value of the histogram.

  • :MEASure:HISTogram:MODE? — Mode value of the histogram.

  • :MEASure:HISTogram:BWIDth? — The width of each bin (bucket) in the histogram.

  • :MEASure:HISTogram:SDEViation? — Standard deviation of the histogram values.

  • :MEASure:HISTogram:M1S? — Percentage of histogram hits that lie within ±1 Std Dev of the mean.

  • :MEASure:HISTogram:M2S? — Percentage of histogram hits that lie within ±2 Std Dev of the mean.

  • :MEASure:HISTogram:M3S? — Percentage of histogram hits that lie within ±3 Std Dev of the mean.

Histogram Interaction With Other Oscilloscope Features

When you enable a histogram, horizontal zoom, XY time mode, or roll time mode are automatically disabled.

When using segmented memory acquisitions, histograms perform similarly to math waveforms and measurements. The histogram is reset at the start of a segmented acquisition and all segments are histogrammed at the end of the acquisition.

Because it is not possible to histogram every waveform, be aware that persistence can show a peak or glitch that does not show up in the histogram data.

Histograms do not wait for the specified number of averaged acquisitions to be acquired before starting analysis, so intermediate results could be erratic.


:HISTogram:AXIS

:HISTogram Commands

Name

:HISTogram:AXIS —

Command Syntax

:HISTogram:AXIS <axis>
<axis> ::= {VERTical | HORizontal}

When the :HISTogram:MODE is WAVeform, the :HISTogram:AXIS command specifies the orientation of the histogram:

  • HORizontal — the limits window is divided into columns, and the number of hits in each column is displayed in a histogram bar graph at the bottom of the graticule.

  • VERTical — the limits window is divided into rows, and the number of hits in each row is displayed in a histogram bar graph at the left of the graticule.

(When the :HISTogram:MODE is MEASurement, histograms are always displayed horizontally at the bottom of the graticule.)

Query Syntax

:HISTogram:AXIS?

The :HISTogram:AXIS? query returns the currently specified type of waveform histogram.

Return Format

<axis><NL>
<axis> ::= {VERT | HOR}

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:MODE

  • :HISTogram:RESet

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:DISPlay

:HISTogram Commands

Name

:HISTogram:DISPlay —

Command Syntax

:HISTogram:DISPlay {{0 | OFF} | {1 | ON}}

The :HISTogram:DISPlay command turns the histogram display on or off.

Query Syntax

:HISTogram:DISPlay?

The :HISTogram:DISPlay? query returns the current display setting for the histogram.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :HISTogram:TYPE

  • :HISTogram:RESet

  • :HISTogram:AXIS

  • :HISTogram:MEASurement

  • :HISTogram:MODE

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:MEASurement

:HISTogram Commands

Name

:HISTogram:MEASurement —

Command Syntax

:HISTogram:MEASurement MEAS<n>
<n> ::= # of installed measurement, from 1 to 10

When the :HISTogram:MODE is MEASurement, the :HISTogram:MEASurement command selects the measurement to analyze.

There are 10 locations (or slots) that installed measurements can occupy. The MEAS<n> parameter specifies the location of the measurement you want to analyze.

Query Syntax

:HISTogram:MEASurement?

The :HISTogram:MEASurement? query returns the location of the measurement currently selected for histogram analysis.

Return Format

MEAS<n><NL>
<n> ::= # of installed measurement, from 1 to 10

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:MODE

  • :HISTogram:RESet

  • :HISTogram:SIZE


:HISTogram:MODE

:HISTogram Commands

Name

:HISTogram:MODE —

Command Syntax

:HISTogram:MODE <mode>
<mode> ::= {OFF | WAVeform | MEASurement}

The :HISTogram:MODE command selects the type of histogram or disables the histogram analysis feature:

  • OFF — disables the histogram analysis feature.

  • WAVeform — shows the number of times a waveform crosses into (or hits) a row or column of a user-defined window. For vertical histograms, the window is divided into rows. For horizontal histograms, the window is divided into columns. Use the :HISTogram:AXIS command to specify a vertical or horizontal histogram.

  • MEASurement — shows the distribution of a measurement's results just like ordinary measurement statistics.

Query Syntax

:HISTogram:MODE?

The :HISTogram:MODE? query returns the currently set histogram mode.

Return Format

<mode><NL>
<mode> ::= {OFF | WAV | MEAS}

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:AXIS

  • :HISTogram:MEASurement

  • :HISTogram:RESet

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:RESet

:HISTogram Commands

Name

:HISTogram:RESet —

Command Syntax

:HISTogram:RESet

The :HISTogram:RESet command zeros the histogram counters.

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:AXIS

  • :HISTogram:MEASurement

  • :HISTogram:MODE

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:SIZE

:HISTogram Commands

Name

:HISTogram:SIZE —

Command Syntax

:HISTogram:SIZE <size>
<size> ::= 1.0 to 5.0 for vertical histograms, 1.0 to 4.0 for horizontal
   histograms, in NR3 format

The :HISTogram:SIZE command specifies the number of divisions the histogram bar graph should use:

  • For horizontal histograms, you can choose whole and half divisions from 1 to 4.

  • For vertical histograms, you can choose whole and half divisions from 1 to 5.

Query Syntax

:HISTogram:SIZE?

The :HISTogram:SIZE? query returns the number of divisions currently used for the histogram bar graph.

Return Format

<size><NL>
<size> ::= 1.0 to 5.0 for vertical histograms, 1.0 to 4.0 for horizontal
   histograms, in NR3 format

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:AXIS

  • :HISTogram:MEASurement

  • :HISTogram:MODE

  • :HISTogram:RESet

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:TYPE

:HISTogram Commands

Name

:HISTogram:TYPE —

Command Syntax

:HISTogram:TYPE <type>
<type> ::= {VERTical | HORizontal | MEASurement}

The :HISTogram:TYPE command selects either a waveform histogram (horizontal or vertical) or a measurement histogram:

  • HORizontal — the limits window is divided into columns, and the number of hits in each column is displayed in a histogram bar graph at the bottom of the graticule.

  • VERTical — the limits window is divided into rows, and the number of hits in each row is displayed in a histogram bar graph at the left of the graticule.

  • MEASurement — shows the distribution of a measurement's results similar to ordinary measurement statistics.

Query Syntax

:HISTogram:TYPE?

The :HISTogram:TYPE? query returns the currently selected histogram type.

Return Format

<type><NL>
<type> ::= {VERT | HOR | MEAS}

See Also

  • :HISTogram:DISPlay

  • :HISTogram:RESet

  • :HISTogram:AXIS

  • :HISTogram:MEASurement

  • :HISTogram:MODE

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:WINDow:BLIMit

:HISTogram Commands

Name

:HISTogram:WINDow:BLIMit —

Command Syntax

:HISTogram:WINDow:BLIMit <limit>
<limit> ::= bottom value in NR3 format

When the :HISTogram:MODE is WAVeform, the :HISTogram:WINDow:BLIMit command specifies the histogram limits window's bottom boundary.

The units are the same as the input waveform's vertical units. The input waveform is specified using the :HISTogram:WINDow:SOURce command.

Query Syntax

:HISTogram:WINDow:BLIMit?

The :HISTogram:WINDow:BLIMit? query returns the histogram limits window's bottom boundary.

Return Format

<limit><NL>
<limit> ::= bottom value in NR3 format

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:AXIS

  • :HISTogram:MODE

  • :HISTogram:RESet

  • :HISTogram:SIZE

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:WINDow:LLIMit

:HISTogram Commands

Name

:HISTogram:WINDow:LLIMit —

Command Syntax

:HISTogram:WINDow:LLIMit <limit>
<limit> ::= left value in NR3 format

When the :HISTogram:MODE is WAVeform, the :HISTogram:WINDow:LLIMit command specifies the histogram limits window's left boundary.

The units are the same as the input waveform's horizontal units. The input waveform is specified using the :HISTogram:WINDow:SOURce command.

Query Syntax

:HISTogram:WINDow:LLIMit?

The :HISTogram:WINDow:LLIMit? query returns the histogram limits window's left boundary.

Return Format

<limit><NL>
<limit> ::= left value in NR3 format

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:AXIS

  • :HISTogram:MODE

  • :HISTogram:RESet

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:WINDow:RLIMit

:HISTogram Commands

Name

:HISTogram:WINDow:RLIMit —

Command Syntax

:HISTogram:WINDow:RLIMit <limit>
<limit> ::= right value in NR3 format

When the :HISTogram:MODE is WAVeform, the :HISTogram:WINDow:RLIMit command specifies the histogram limits window's right boundary.

The units are the same as the input waveform's horizontal units. The input waveform is specified using the :HISTogram:WINDow:SOURce command.

Query Syntax

:HISTogram:WINDow:RLIMit?

The :HISTogram:WINDow:RLIMit? query returns the histogram limits window's right boundary.

Return Format

<limit><NL>
<limit> ::= right value in NR3 format

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:AXIS

  • :HISTogram:MODE

  • :HISTogram:RESet

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:SOURce

  • :HISTogram:WINDow:TLIMit


:HISTogram:WINDow:SOURce

:HISTogram Commands

Name

:HISTogram:WINDow:SOURce —

Command Syntax

:HISTogram:WINDow:SOURce <source>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

When the :HISTogram:MODE is WAVeform, the :HISTogram:WINDow:SOURce command specifies the waveform that is used as the histogram source.

Query Syntax

:HISTogram:WINDow:SOURce?

The :HISTogram:WINDow:SOURce? query returns the currently specified waveform histogram source.

Return Format

<source><NL>

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:AXIS

  • :HISTogram:MODE

  • :HISTogram:RESet

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:TLIMit


:HISTogram:WINDow:TLIMit

:HISTogram Commands

Name

:HISTogram:WINDow:TLIMit —

Command Syntax

:HISTogram:WINDow:TLIMit <limit>
<limit> ::= top value in NR3 format

When the :HISTogram:MODE is WAVeform, the :HISTogram:WINDow:TLIMit command specifies the histogram limits window's top boundary.

The units are the same as the input waveform's vertical units. The input waveform is specified using the :HISTogram:WINDow:SOURce command.

Query Syntax

:HISTogram:WINDow:TLIMit?

The :HISTogram:WINDow:TLIMit? query returns the histogram limits window's top boundary.

Return Format

<limit><NL>
<limit> ::= top value in NR3 format

See Also

  • :HISTogram:DISPlay

  • :HISTogram:TYPE

  • :HISTogram:AXIS

  • :HISTogram:MODE

  • :HISTogram:RESet

  • :HISTogram:SIZE

  • :HISTogram:WINDow:BLIMit

  • :HISTogram:WINDow:LLIMit

  • :HISTogram:WINDow:RLIMit

  • :HISTogram:WINDow:SOURce


:JITTer Commands

When the jitter analysis feature is licensed, these commands commands control jitter analysis.

Jitter analysis measures the variance of a measurement over time. The principal measurement used with jitter analysis is time interval error (TIE), but several other measurements can be analyzed as well.

The TIE measurement recovers an ideal clock frequency from the source waveform and compares it against measured transitions to generate error statistics. Several different clock recovery methods are available.

Jitter statistics can be visualized in four ways: measurement statistics, histogram, trend, and spectrum.

[Note]

It is important to set up absolute thresholds for the integrity of jitter measurements from acquisition to acquisition. See :MEASure:THResholds:ABSolute.

:JITTer Commands Summary:

Command | Query | Options and Query Returns
:JITTer:HISTogram:APPLy | n/a | n/a
:JITTer:MEASurement MEAS<n> | :JITTer:MEASurement? | <n> ::= # of installed measurement, from 1 to 10
:JITTer:SPECtrum:APPLy | n/a | n/a
:JITTer:SPECtrum:HORizontal:POSition <value> | :JITTer:SPECtrum:HORizontal:POSition? | <value> ::= X position (center), in NR3 format
:JITTer:SPECtrum:HORizontal:RANGe <value> | :JITTer:SPECtrum:HORizontal:RANGe? | <value> ::= X scaling (span), in NR3 format
:JITTer:SPECtrum:VERTical:OFFSet <value> | :JITTer:SPECtrum:VERTical:OFFSet? | <value> ::= Y offset, in NR3 format
:JITTer:SPECtrum:VERTical:RANGe <value> | :JITTer:SPECtrum:VERTical:RANGe? | <value> ::= Y scaling, in NR3 format
:JITTer:SPECtrum:VERTical:TYPE <type> | :JITTer:SPECtrum:VERTical:TYPE? | <type> ::= {DECibel | VRMS}
:JITTer:SPECtrum:WINDow <window> | :JITTer:SPECtrum:WINDow? | <window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett}
:JITTer:STATe {{0 | OFF} | {1 | ON}} | :JITTer:STATe? | {0 | 1}
:JITTer:TRENd:APPLy | n/a | n/a
:JITTer:TRENd:SMOoth:APPLy | n/a | n/a
:JITTer:TRENd:SMOoth:POINts <points> | :JITTer:TRENd:SMOoth:POINts? | <points> ::= odd integer in NR1 format
:JITTer:TRENd:VERTical:OFFSet <value> | :JITTer:TRENd:VERTical:OFFSet? | <value> ::= Y offset, in NR3 format
:JITTer:TRENd:VERTical:RANGe <value> | :JITTer:TRENd:VERTical:RANGe? | <value> ::= Y scaling, in NR3 format


:JITTer:HISTogram:APPLy

:JITTer Commands

Name

:JITTer:HISTogram:APPLy —

Command Syntax

:JITTer:HISTogram:APPLy

The :JITTer:HISTogram:APPLy command auto-configures and turns on the jitter measurement histogram for the selected measurement.

See Also

  • :JITTer:MEASurement

  • :JITTer:STATe


:JITTer:MEASurement

:JITTer Commands

Name

:JITTer:MEASurement —

Command Syntax

:JITTer:MEASurement MEAS<n>
<n> ::= # of installed measurement, from 1 to 10

The :JITTer:MEASurement command selects the measurement to analyze.

There are 10 locations (or slots) that installed measurements can occupy. The MEAS<n> parameter specifies the location of the measurement you want to analyze.

The measurement location you specify must have one of these measurements installed:

  • Data TIE (time interval error) — see :MEASure:TIEData.

    Time interval error measurements use clock recovery. To change the clock recovery method, see :CLOCk:METHod.

  • Clock TIE (time interval error) — see :MEASure:TIEClock.

    Time interval error measurements use clock recovery. To change the clock recovery method, see :CLOCk:METHod.

  • N-Period — see :MEASure:NPERiod.

  • N-Period to N-Period — see :MEASure:NCJitter.

  • +Width to +Width — see :MEASure:CTCPwidth.

  • -Width to -Width — see :MEASure:CTCNwidth.

  • +Duty Cycle — see :MEASure:DUTYcycle.

Query Syntax

:JITTer:MEASurement?

The :JITTer:MEASurement? query returns the location of the measurement currently selected for histogram analysis.

Return Format

MEAS<n><NL>
<n> ::= # of installed measurement, from 1 to 10

See Also

  • :JITTer:HISTogram:APPLy

  • :JITTer:SPECtrum:APPLy

  • :JITTer:SPECtrum:HORizontal:POSition

  • :JITTer:SPECtrum:HORizontal:RANGe

  • :JITTer:SPECtrum:VERTical:OFFSet

  • :JITTer:SPECtrum:VERTical:RANGe

  • :JITTer:SPECtrum:VERTical:TYPE

  • :JITTer:SPECtrum:WINDow

  • :JITTer:STATe

  • :JITTer:TRENd:APPLy

  • :JITTer:TRENd:SMOoth:APPLy

  • :JITTer:TRENd:SMOoth:POINts

  • :JITTer:TRENd:VERTical:OFFSet

  • :JITTer:TRENd:VERTical:RANGe


:JITTer:SPECtrum:APPLy

:JITTer Commands

Name

:JITTer:SPECtrum:APPLy —

Command Syntax

:JITTer:SPECtrum:APPLy

The :JITTer:SPECtrum:APPLy command auto-configures and turns on the jitter spectrum for the selected measurement.

See Also

  • :JITTer:MEASurement

  • :JITTer:SPECtrum:HORizontal:POSition

  • :JITTer:SPECtrum:HORizontal:RANGe

  • :JITTer:SPECtrum:VERTical:OFFSet

  • :JITTer:SPECtrum:VERTical:RANGe

  • :JITTer:SPECtrum:VERTical:TYPE

  • :JITTer:SPECtrum:WINDow

  • :JITTer:STATe


:JITTer:SPECtrum:HORizontal:POSition

:JITTer Commands

Name

:JITTer:SPECtrum:HORizontal:POSition —

Command Syntax

:JITTer:SPECtrum:HORizontal:POSition <value>
<value> ::= X position (center), in NR3 format

The :JITTer:SPECtrum:HORizontal:POSition command sets the center frequency for the jitter measurement spectrum.

After the :JITTer:SPECtrum:APPLy command, this command is an alias for :FUNCtion4[:FFT]:CENTer.

Query Syntax

:JITTer:SPECtrum:HORizontal:POSition?

The :JITTer:SPECtrum:HORizontal:POSition? query returns the current center frequency in Hertz.

Return Format

<value><NL>
<value> ::= X position (center), in NR3 format

See Also

  • :JITTer:MEASurement

  • :JITTer:SPECtrum:APPLy

  • :JITTer:SPECtrum:HORizontal:RANGe

  • :JITTer:SPECtrum:VERTical:OFFSet

  • :JITTer:SPECtrum:VERTical:RANGe

  • :JITTer:SPECtrum:VERTical:TYPE

  • :JITTer:SPECtrum:WINDow

  • :JITTer:STATe


:JITTer:SPECtrum:HORizontal:RANGe

:JITTer Commands

Name

:JITTer:SPECtrum:HORizontal:RANGe —

Command Syntax

:JITTer:SPECtrum:HORizontal:RANGe <value>
<value> ::= X scaling (span), in NR3 format

The :JITTer:SPECtrum:HORizontal:RANGe command sets the frequency span of the display (left graticule to right graticule) for the jitter measurement spectrum.

After the :JITTer:SPECtrum:APPLy command, this command is an alias for :FUNCtion4[:FFT]:SPAN.

Query Syntax

:JITTer:SPECtrum:HORizontal:RANGe?

The :JITTer:SPECtrum:HORizontal:RANGe? query returns the current frequency span in Hertz.

Return Format

<value><NL>
<value> ::= X scaling (span), in NR3 format

See Also

  • :JITTer:MEASurement

  • :JITTer:SPECtrum:APPLy

  • :JITTer:SPECtrum:HORizontal:POSition

  • :JITTer:SPECtrum:VERTical:OFFSet

  • :JITTer:SPECtrum:VERTical:RANGe

  • :JITTer:SPECtrum:VERTical:TYPE

  • :JITTer:SPECtrum:WINDow

  • :JITTer:STATe


:JITTer:SPECtrum:VERTical:OFFSet

:JITTer Commands

Name

:JITTer:SPECtrum:VERTical:OFFSet —

Command Syntax

:JITTer:SPECtrum:VERTical:OFFSet <value>
<value> ::= Y offset, in NR3 format

The :JITTer:SPECtrum:VERTical:OFFSet command sets the vertical value represented at center screen for the jitter measurement spectrum.

After the :JITTer:SPECtrum:APPLy command, this command is an alias for :FUNCtion4:OFFSet.

Query Syntax

:JITTer:SPECtrum:VERTical:OFFSet?

The :JITTer:SPECtrum:VERTical:OFFSet? query returns the current offset value for the jitter measurement spectrum.

Return Format

<value><NL>
<value> ::= Y offset, in NR3 format

See Also

  • :JITTer:MEASurement

  • :JITTer:SPECtrum:APPLy

  • :JITTer:SPECtrum:HORizontal:POSition

  • :JITTer:SPECtrum:HORizontal:RANGe

  • :JITTer:SPECtrum:VERTical:RANGe

  • :JITTer:SPECtrum:VERTical:TYPE

  • :JITTer:SPECtrum:WINDow

  • :JITTer:STATe


:JITTer:SPECtrum:VERTical:RANGe

:JITTer Commands

Name

:JITTer:SPECtrum:VERTical:RANGe —

Command Syntax

:JITTer:SPECtrum:VERTical:RANGe <value>
<value> ::= Y scaling, in NR3 format

The :JITTer:SPECtrum:VERTical:RANGe command defines the full-scale vertical range for the jitter measurement spectrum.

After the :JITTer:SPECtrum:APPLy command, this command is an alias for :FUNCtion4:RANGe.

Query Syntax

:JITTer:SPECtrum:VERTical:RANGe?

The :JITTer:SPECtrum:VERTical:RANGe? query returns the current full-scale vertical range for the jitter measurement spectrum.

Return Format

<value><NL>
<value> ::= Y scaling, in NR3 format

See Also

  • :JITTer:MEASurement

  • :JITTer:SPECtrum:APPLy

  • :JITTer:SPECtrum:HORizontal:POSition

  • :JITTer:SPECtrum:HORizontal:RANGe

  • :JITTer:SPECtrum:VERTical:OFFSet

  • :JITTer:SPECtrum:VERTical:TYPE

  • :JITTer:SPECtrum:WINDow

  • :JITTer:STATe


:JITTer:SPECtrum:VERTical:TYPE

:JITTer Commands

Name

:JITTer:SPECtrum:VERTical:TYPE —

Command Syntax

:JITTer:SPECtrum:VERTical:TYPE <type>
<type> ::= {DECibel | VRMS}

The :JITTer:SPECtrum:VERTical:TYPE command sets the vertical units for the jitter spectrum.

After the :JITTer:SPECtrum:APPLy command, this command is an alias for :FUNCtion4[:FFT]:VTYPe.

Query Syntax

:JITTer:SPECtrum:VERTical:TYPE?

The :JITTer:SPECtrum:VERTical:TYPE? query returns the vertical units setting.

Return Format

<type><NL>
<type> ::= {DEC | VRMS}

See Also

  • :JITTer:MEASurement

  • :JITTer:SPECtrum:APPLy

  • :JITTer:SPECtrum:HORizontal:POSition

  • :JITTer:SPECtrum:HORizontal:RANGe

  • :JITTer:SPECtrum:VERTical:OFFSet

  • :JITTer:SPECtrum:VERTical:RANGe

  • :JITTer:SPECtrum:WINDow

  • :JITTer:STATe


:JITTer:SPECtrum:WINDow

:JITTer Commands

Name

:JITTer:SPECtrum:WINDow —

Command Syntax

:JITTer:SPECtrum:WINDow <window>
<window> ::= {RECTangular | HANNing | FLATtop | BHARris | BARTlett}

The :JITTer:SPECtrum:WINDow command allows the selection of different windowing transforms or operations for the jitter spectrum FFT (Fast Fourier Transform).

The jitter spectrum operation assumes that the time record repeats. Unless an integral number of sampled waveform cycles exist in the record, a discontinuity is created between the end of one record and the beginning of the next. This discontinuity introduces additional frequency components about the peaks into the spectrum. This is referred to as leakage. To minimize leakage, windows that approach zero smoothly at the start and end of the record are employed as filters to the FFTs. Each window is useful for certain classes of input signals.

  • RECTangular — useful for transient signals, and signals where there are an integral number of cycles in the time record.

  • HANNing — useful for frequency resolution and general purpose use. It is good for resolving two frequencies that are close together, or for making frequency measurements. This is the default window.

  • FLATtop — best for making accurate amplitude measurements of frequency peaks.

  • BHARris (Blackman-Harris) — reduces time resolution compared to the rectangular window, but it improves the capacity to detect smaller impulses due to lower secondary lobes (provides minimal spectral leakage).

  • BARTlett — (triangular, with end points at zero) window is similar to the Hanning window in that it is good for making accurate frequency measurements, but its higher and wider secondary lobes make it not quite as good for resolving frequencies that are close together.

After the :JITTer:SPECtrum:APPLy command, this command is an alias for :FUNCtion4[:FFT]:WINDow.

Query Syntax

:JITTer:SPECtrum:WINDow?

The :JITTer:SPECtrum:WINDow? query returns the value of the window selected for the jitter spectrum function.

Return Format

<window><NL>
<window> ::= {RECT | HANN | FLAT | BHAR | BART}

See Also

  • :JITTer:MEASurement

  • :JITTer:SPECtrum:APPLy

  • :JITTer:SPECtrum:HORizontal:POSition

  • :JITTer:SPECtrum:HORizontal:RANGe

  • :JITTer:SPECtrum:VERTical:OFFSet

  • :JITTer:SPECtrum:VERTical:RANGe

  • :JITTer:SPECtrum:VERTical:TYPE

  • :JITTer:STATe


:JITTer:STATe

:JITTer Commands

Name

:JITTer:STATe —

Command Syntax

:JITTer:STATe {{0 | OFF} | {1 | ON}}

The :JITTer:STATe command enables or disables the jitter analysis feature.

When jitter analysis is enabled, the [Jitter] front panel key is lit, and these oscilloscope settings are forced on:

  • Precision measurements with a 1M analysis record length (see :SYSTem:PRECision:LENGth), which gives better accuracy.

  • All edges in each acquisition are measured (instead of a single edge per acquisition, as is normally the case). For each acquisition, the measurement count increases by the number of edges in the acquisition. This applies to all measurements that look at edges, not just jitter analysis measurements.

When jitter analysis is disabled:

  • The light behind the [Jitter] key is turned off.

  • The "precision measurements" and 1M precision analysis record length settings are returned to the settings present when jitter analysis was enabled.

  • The oscilloscope returns to measuring a specific edge in each acquisition (generally around the horizontal time reference) and ignoring all other edges in the acquisition, as is normally the case. For each acquisition, the measurement count increases by one.

Query Syntax

:JITTer:STATe?

The :JITTer:STATe? query returns whether the jitter analysis feature is enabled.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :JITTer:HISTogram:APPLy

  • :JITTer:MEASurement

  • :JITTer:SPECtrum:APPLy

  • :JITTer:SPECtrum:HORizontal:POSition

  • :JITTer:SPECtrum:HORizontal:RANGe

  • :JITTer:SPECtrum:VERTical:OFFSet

  • :JITTer:SPECtrum:VERTical:RANGe

  • :JITTer:SPECtrum:VERTical:TYPE

  • :JITTer:SPECtrum:WINDow

  • :JITTer:TRENd:APPLy

  • :JITTer:TRENd:SMOoth:APPLy

  • :JITTer:TRENd:SMOoth:POINts

  • :JITTer:TRENd:VERTical:OFFSet

  • :JITTer:TRENd:VERTical:RANGe


:JITTer:TRENd:APPLy

:JITTer Commands

Name

:JITTer:TRENd:APPLy —

Command Syntax

:JITTer:TRENd:APPLy

The :JITTer:TRENd:APPLy command auto-configures and turns on the jitter measurement trend for the selected measurement.

See Also

  • :JITTer:MEASurement

  • :JITTer:STATe

  • :JITTer:TRENd:SMOoth:APPLy

  • :JITTer:TRENd:SMOoth:POINts

  • :JITTer:TRENd:VERTical:OFFSet

  • :JITTer:TRENd:VERTical:RANGe


:JITTer:TRENd:SMOoth:APPLy

:JITTer Commands

Name

:JITTer:TRENd:SMOoth:APPLy —

Command Syntax

:JITTer:TRENd:SMOoth:APPLy

The :JITTer:TRENd:SMOoth:APPLy command auto-configures and turns on smoothing for the jitter measurement trend.

See Also

  • :JITTer:MEASurement

  • :JITTer:STATe

  • :JITTer:TRENd:APPLy

  • :JITTer:TRENd:SMOoth:POINts

  • :JITTer:TRENd:VERTical:OFFSet

  • :JITTer:TRENd:VERTical:RANGe


:JITTer:TRENd:SMOoth:POINts

:JITTer Commands

Name

:JITTer:TRENd:SMOoth:POINts —

Command Syntax

:JITTer:TRENd:SMOoth:POINts <points>
<points> ::= odd integer in NR1 format

When jitter trend smoothing is turned on (by :JITTer:TRENd:SMOoth:APPLy), the :JITTer:TRENd:SMOoth:POINts command sets the number of smoothing points to use.

You can choose an odd number of points, from 3 up to half of the measurement record or precision analysis record.

After the :JITTer:TRENd:SMOoth:APPLy command, this command is an alias for :FUNCtion3:SMOoth:POINts.

Query Syntax

:JITTer:TRENd:SMOoth:POINts?

The :JITTer:TRENd:SMOoth:POINts? query returns the number of jitter trend smoothing points specified.

Return Format

<points><NL>

See Also

  • :JITTer:MEASurement

  • :JITTer:STATe

  • :JITTer:TRENd:APPLy

  • :JITTer:TRENd:SMOoth:APPLy

  • :JITTer:TRENd:VERTical:OFFSet

  • :JITTer:TRENd:VERTical:RANGe


:JITTer:TRENd:VERTical:OFFSet

:JITTer Commands

Name

:JITTer:TRENd:VERTical:OFFSet —

Command Syntax

:JITTer:TRENd:VERTical:OFFSet <value>
<value> ::= Y offset, in NR3 format

The :JITTer:TRENd:VERTical:OFFSet command sets the vertical value represented at center screen for the jitter measurement trend.

After the :JITTer:TRENd:APPLy command, this command is an alias for :FUNCtion2:OFFSet.

Query Syntax

:JITTer:TRENd:VERTical:OFFSet?

The :JITTer:TRENd:VERTical:OFFSet? query returns the current offset value for the jitter measurement trend.

Return Format

<value><NL>
<value> ::= Y offset, in NR3 format

See Also

  • :JITTer:MEASurement

  • :JITTer:STATe

  • :JITTer:TRENd:APPLy

  • :JITTer:TRENd:SMOoth:APPLy

  • :JITTer:TRENd:SMOoth:POINts

  • :JITTer:TRENd:VERTical:RANGe


:JITTer:TRENd:VERTical:RANGe

:JITTer Commands

Name

:JITTer:TRENd:VERTical:RANGe —

Command Syntax

:JITTer:TRENd:VERTical:RANGe <value>
<value> ::= Y scaling, in NR3 format

The :JITTer:TRENd:VERTical:RANGe command defines the full-scale vertical range for the jitter measurement trend.

After the :JITTer:TRENd:APPLy command, this command is an alias for :FUNCtion2:RANGe.

Query Syntax

:JITTer:TRENd:VERTical:RANGe?

The :JITTer:TRENd:VERTical:RANGe? query returns the current full-scale vertical range for the jitter measurement trend.

Return Format

<value><NL>
<value> ::= Y scaling, in NR3 format

See Also

  • :JITTer:MEASurement

  • :JITTer:STATe

  • :JITTer:TRENd:APPLy

  • :JITTer:TRENd:SMOoth:APPLy

  • :JITTer:TRENd:SMOoth:POINts

  • :JITTer:TRENd:VERTical:OFFSet


:LISTer Commands

:LISTer Commands Summary:

Command | Query | Options and Query Returns
n/a | :LISTer:DATA? | <binary_block> ::= comma-separated data with newlines at the end of each row
:LISTer:DISPlay {{OFF | 0} | {PBUS1 | SBUS1 | ON | 1} | {PBUS2 | SBUS2 | 2} | ALL} | :LISTer:DISPlay? | {OFF | PBUS1 | PBUS2 | ALL}
:LISTer:REFerence <time_ref> | :LISTer:REFerence? | <time_ref> ::= {TRIGger | PREVious}

Introduction to :LISTer Commands

The LISTer subsystem is used to turn on/off the serial decode Lister display and return data from the Lister display.


:LISTer:DATA?

:LISTer Commands

Name

:LISTer:DATA? —

Query Syntax

:LISTer:DATA?

The :LISTer:DATA? query returns the lister data.

Return Format

<binary block><NL>
<binary_block> ::= comma-separated data with newlines at the
                   end of each row

See Also

  • Introduction to :LISTer Commands

  • :LISTer:DISPlay

  • Definite-Length Block Response Data


:LISTer:DISPlay

:LISTer Commands

Name

:LISTer:DISPlay —

Command Syntax

:LISTer:DISPlay <value>
<value> ::= {{OFF | 0} | {PBUS1 | SBUS1 | ON | 1}
   | {PBUS2 | SBUS2 | 2} | ALL}

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 displayed in different sections of the Protocol Listing.

Serial bus decode must be on before it can be displayed in the Lister.

Query Syntax

:LISTer:DISPlay?

The :LISTer:DISPlay? query returns the Lister display setting.

Return Format

<value><NL>
<value> ::= {OFF | PBUS1 | PBUS2 | ALL}

See Also

  • Introduction to :LISTer Commands

  • :SBUS<n>:DISPlay

  • :LISTer:DATA?


:LISTer:REFerence

:LISTer Commands

Name

:LISTer:REFerence —

Command Syntax

:LISTer:REFerence <time_ref>
<time_ref> ::= {TRIGger | PREVious}

The :LISTer:REFerence command selects whether the time value for a Lister row is relative to the trigger or the previous Lister row.

Query Syntax

:LISTer:REFerence?

The :LISTer:REFerence? query returns the Lister time reference setting.

Return Format

<time_ref><NL>
<time_ref> ::= {TRIGger | PREVious}

See Also

  • Introduction to :LISTer Commands

  • :SBUS<n>:DISPlay

  • :LISTer:DATA?

  • :LISTer:DISPlay


:LTESt Commands

:LTESt Commands Summary:

Command | Query | Options and Query Returns
:LTESt:COPY | n/a | n/a
:LTESt:COPY:ALL | n/a | n/a
:LTESt:COPY:MARGin <percent> | :LTESt:COPY:MARGin? | <percent> ::= copy margin percent in NR1 format
:LTESt:ENABle {{0 | OFF} | {1 | ON}} | :LTESt:ENABle? | <setting> ::= {0 | 1}
:LTESt:FAIL <condition> | :LTESt:FAIL? | <condition> ::= {INSide | OUTSide}
:LTESt:LLIMit <lower_value> | :LTESt:LLIMit? | <lower_value> ::= a real number in NR3 format
:LTESt:MEASurement {MEAS<n>} | :LTESt:MEASurement? | <n> ::= # of installed measurement, from 1 to 10
n/a | :LTESt:RESults? [{MEAS<n>}] | <n> ::= # of installed measurement, from 1 to 10
:LTESt:RUMode:SOFailure {{0 | OFF} | {1 | ON}} | :LTESt:RUMode:SOFailure? | <setting> ::= {0 | 1}
:LTESt:TEST {{0 | OFF} | {1 | ON}} | :LTESt:TEST? | <setting> ::= {0 | 1}
:LTESt:ULIMit <upper_value> | :LTESt:ULIMit? | <upper_value> ::= a real number in NR3 format

Introduction to :LTESt Commands

The LTESt subsystem is used for the Measurement Limit Test feature.


:LTESt:COPY

:LTESt Commands

Name

:LTESt:COPY —

Command Syntax

:LTESt:COPY

For the measurement selected by :LTESt:MEASurement, the :LTESt:COPY command sets upper and lower limits to the last measurement result plus or minus a percent margin (see :LTESt:COPY:MARGin).

See Also

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:COPY:ALL

:LTESt Commands

Name

:LTESt:COPY:ALL —

Command Syntax

:LTESt:COPY:ALL

For all measurements whose limits are being tested, the :LTESt:COPY:ALL command sets upper and lower limits to the last measurement result plus or minus a percent margin (see :LTESt:COPY:MARGin).

In essence, this command performs the :LTESt:COPY operation on all measurements whose limits are being tested.

See Also

  • :LTESt:COPY

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:COPY:MARGin

:LTESt Commands

Name

:LTESt:COPY:MARGin —

Command Syntax

:LTESt:COPY:MARGin <percent>
<percent> ::= copy margin percent in NR1 format

For the measurement selected by :LTESt:MEASurement, the :LTESt:COPY:MARGin command specifies the percent margin used when setting upper and lower limits by copying from measurement results.

Query Syntax

:LTESt:COPY:MARGin?

The :LTESt:COPY:MARGin? query returns the percent margin setting for the measurement selected by :LTESt:MEASurement.

Return Format

<percent><NL>
<percent> ::= copy margin percent in NR1 format

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:ENABle

:LTESt Commands

Name

:LTESt:ENABle —

Command Syntax

:LTESt:ENABle {{0 | OFF} | {1 | ON}}

The :LTESt:ENABle command turns the measurement limit test feature on or off.

Query Syntax

:LTESt:ENABle?

The :LTESt:ENABle? query returns whether the measurement limit test feature is on or off.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:FAIL

:LTESt Commands

Name

:LTESt:FAIL —

Command Syntax

:LTESt:FAIL <condition>
<condition> ::= {INSide | OUTSide}

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 — 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.

Query Syntax

:LTESt:FAIL?

The :LTESt:FAIL? query returns the currently set fail condition.

Return Format

<condition><NL>
<condition> ::= {INS | OUTS}

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:LLIMit

:LTESt Commands

Name

:LTESt:LLIMit —

Command Syntax

:LTESt:LLIMit <lower_value>
<lower_value> ::= a real number in NR3 format

For the active measurement currently selected by the :LTESt:MEASurement command, the :LTESt:LLIMit (Lower LIMit) command sets the lower test limit.

Query Syntax

:LTESt:LLIMit?

The :LTESt:LLIMit? query returns the current lower limit setting.

Return Format

<lower_value><NL>

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:MEASurement

:LTESt Commands

Name

:LTESt:MEASurement —

Command Syntax

:LTESt:MEASurement {MEAS<n>}
<n> ::= # of installed measurement, from 1 to 10

The :LTESt:MEASurement command selects the measurement source for the :LTESt:FAIL, :LTESt:LLIMit, :LTESt:ULIMit, and :LTESt:TEST commands. It selects one of the active measurements by its number, where MEAS1 is the first added measurement. When you add more than 10 measurements, measurement numbering starts again from MEAS1.

Query Syntax

:LTESt:MEASurement?

The :LTESt:MEASurement? query returns the currently selected measurement source.

Return Format

MEAS<n><NL>

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:RESults?

:LTESt Commands

Name

:LTESt:RESults? —

Query Syntax

:LTESt:RESults? [{MEAS<n>}]
<n> ::= # of installed measurement, from 1 to 10

The :LTESt:RESults? 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.

Return Format

<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.

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:RUMode:SOFailure

:LTESt Commands

Name

:LTESt:RUMode:SOFailure —

Command Syntax

: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 Syntax

:LTESt:RUMode:SOFailure?

The :LTESt:RUMode:SOFailure? query returns returns the "stop on failure" setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:TEST

  • :LTESt:ULIMit


:LTESt:TEST

:LTESt Commands

Name

:LTESt:TEST —

Command Syntax

:LTESt:TEST {{0 | OFF} | {1 | ON}}

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.

Query Syntax

:LTESt:TEST?

The :LTESt:TEST? query returns the state of the TEST control for the active measurement currently selected by the :LTESt:MEASurement command.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:ULIMit


:LTESt:ULIMit

:LTESt Commands

Name

:LTESt:ULIMit —

Command Syntax

:LTESt:ULIMit <upper_value>
<upper_value> ::= a real number in NR3 format

For the active measurement currently selected by the :LTESt:MEASurement command, the :LTESt:ULIMit (Upper LIMit) command sets the upper test limit.

Query Syntax

:LTESt:ULIMit?

The :LTESt:ULIMit? query returns the current upper limit setting.

Return Format

<upper_value><NL>

See Also

  • :LTESt:COPY

  • :LTESt:COPY:ALL

  • :LTESt:COPY:MARGin

  • :LTESt:ENABle

  • :LTESt:FAIL

  • :LTESt:LLIMit

  • :LTESt:MEASurement

  • :LTESt:RESults?

  • :LTESt:RUMode:SOFailure

  • :LTESt:TEST


:MARKer Commands

Set and query the settings of X-axis markers (X1 and X2 cursors) and the Y-axis markers (Y1 and Y2 cursors). See Introduction to :MARKer Commands.

:MARKer Commands Summary:

Command | Query | Options and Query Returns
n/a | :MARKer:DYDX? | <return_value> ::= ∆Y/∆X value in NR3 format
:MARKer:MODE <mode> | :MARKer:MODE? | <mode> ::= {OFF | MEASurement | MANual | WAVeform | BINary | HEX}
:MARKer:X1:DISPlay {{0 | OFF} | {1 | ON}} | :MARKer:X1:DISPlay? | <setting> ::= {0 | 1}
:MARKer:X1Position <position>[suffix] | :MARKer:X1Position? | <position> ::= X1 cursor position value in NR3 format [suffix] ::= {s | ms | us | ns | ps | Hz | kHz | MHz} <return_value> ::= X1 cursor position value in NR3 format
:MARKer:X1Y1source <source> | :MARKer:X1Y1source? | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r> | HISTogram} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= <source>
:MARKer:X2:DISPlay {{0 | OFF} | {1 | ON}} | :MARKer:X2:DISPlay? | <setting> ::= {0 | 1}
:MARKer:X2Position <position>[suffix] | :MARKer:X2Position? | <position> ::= X2 cursor position value in NR3 format [suffix] ::= {s | ms | us | ns | ps | Hz | kHz | MHz} <return_value> ::= X2 cursor position value in NR3 format
:MARKer:X2Y2source <source> | :MARKer:X2Y2source? | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r> | HISTogram} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= <source>
n/a | :MARKer:XDELta? | <return_value> ::= X cursors delta value in NR3 format
:MARKer:XUNits <mode> | :MARKer:XUNits? | <units> ::= {SEConds | HERTz | DEGRees | PERCent}
:MARKer:XUNits:USE | n/a | n/a
:MARKer:Y1:DISPlay {{0 | OFF} | {1 | ON}} | :MARKer:Y1:DISPlay? | <setting> ::= {0 | 1}
:MARKer:Y1Position <position>[suffix] | :MARKer:Y1Position? | <position> ::= Y1 cursor position value in NR3 format [suffix] ::= {V | mV | dB} <return_value> ::= Y1 cursor position value in NR3 format
:MARKer:Y2:DISPlay {{0 | OFF} | {1 | ON}} | :MARKer:Y2:DISPlay? | <setting> ::= {0 | 1}
:MARKer:Y2Position <position>[suffix] | :MARKer:Y2Position? | <position> ::= Y2 cursor position value in NR3 format [suffix] ::= {V | mV | dB} <return_value> ::= Y2 cursor position value in NR3 format
n/a | :MARKer:YDELta? | <return_value> ::= Y cursors delta value in NR3 format
:MARKer:YUNits <mode> | :MARKer:YUNits? | <units> ::= {BASE | PERCent}
:MARKer:YUNits:USE | n/a | n/a

Introduction to :MARKer Commands

The MARKer subsystem commands set and query the settings of X-axis markers (X1 and X2 cursors) and the Y-axis markers (Y1 and Y2 cursors). You can set and query the marker mode and source, the position of the X and Y cursors, and query delta X and delta Y cursor values.

Reporting the Setup. Use :MARKer? to query setup information for the MARKer subsystem.

Return Format. The following is a sample response from the :MARKer? query. In this case, the query was issued following a *RST and ":MARKer:MODE MANual" command.

:MARK:X1Y1 CHAN1;X2Y2 CHAN1;MODE MAN


:MARKer:DYDX?

:MARKer Commands

Name

:MARKer:DYDX? —

Query Syntax

:MARKer:DYDX?

The MARKer:DYDX? query returns the cursor ∆Y/∆X value.

X cursor units are set by the :MARKer:XUNits command.

[Note]

If the front-panel cursors are off, the marker position values are not defined. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format

<value><NL>
<value> ::= ∆Y/∆X value in NR3 format.

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X1Position

  • :MARKer:X2Position

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MARKer:XUNits


:MARKer:MODE

:MARKer Commands

Name

:MARKer:MODE —

Command Syntax

:MARKer:MODE <mode>
<mode> ::= {OFF | MEASurement | MANual | WAVeform | BINary | HEX}

The :MARKer:MODE command sets the cursors mode:

  • OFF — removes the cursor information from the display.

  • MANual — enables manual placement of the X and Y cursors.

    If the front-panel cursors are off, or are set to the front-panel Hex or Binary mode, setting :MARKer:MODE MANual will put the cursors in the front-panel Normal mode.

  • MEASurement — cursors track the most recent measurement.

    Setting the mode to MEASurement sets the marker sources (:MARKer:X1Y1source and :MARKer:X2Y2source) to the measurement source (:MEASure:SOURce). Setting the measurement source remotely always sets the marker sources.

  • WAVeform — the Y1 cursor tracks the voltage value at the X1 cursor of the waveform specified by the X1Y1source, and the Y2 cursor does the same for the X2 cursor and its X2Y2source.

  • BINary — logic levels of displayed waveforms at the current X1 and X2 cursor positions are displayed in the Cursor sidebar dialog in binary.

  • HEX — logic levels of displayed waveforms at the current X1 and X2 cursor positions are displayed in the Cursor sidebar dialog in hexadecimal.

Query Syntax

:MARKer:MODE?

The :MARKer:MODE? query returns the current cursors mode.

Return Format

<mode><NL>
<mode> ::= {OFF | MEAS | MAN | WAV | BIN | HEX}

See Also

  • Introduction to :MARKer Commands

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MEASure:SOURce

  • :MARKer:X1Position

  • :MARKer:X2Position

  • :MARKer:Y1Position

  • :MARKer:Y2Position


:MARKer:X1:DISPlay

:MARKer Commands

Name

:MARKer:X1:DISPlay —

Command Syntax

:MARKer:X1:DISPlay {{0 | OFF} | {1 | ON}}

The :MARKer:X1:DISPlay command specifies whether the X1 cursor is displayed.

Query Syntax

:MARKer:X1:DISPlay?

The :MARKer:X1:DISPlay? query returns the X1 cursor display setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :MARKer:X1:DISPlay


:MARKer:X1Position

:MARKer Commands

Name

:MARKer:X1Position —

Command Syntax

:MARKer:X1Position <position> [suffix]
<position> ::= X1 cursor position in NR3 format
<suffix> ::= {s | ms | us | ns | ps | Hz | kHz | MHz}

The :MARKer:X1Position command:

  • Sets :MARKer:MODE to MANual if it is not currently set to WAVeform (see :MARKer:MODE).

  • Sets the X1 cursor position to the specified value.

X cursor units are set by the :MARKer:XUNits command.

Query Syntax

:MARKer:X1Position?

The :MARKer:X1Position? query returns the current X1 cursor position. This is functionally equivalent to the obsolete :MEASure:TSTArt command/query.

[Note]

If the front-panel cursors are off, the marker position values are not defined and an error is generated. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format

<position><NL>
<position> ::= X1 cursor position in NR3 format

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X2Position

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MARKer:XUNits


:MARKer:X1Y1source

:MARKer Commands

Name

:MARKer:X1Y1source —

Command Syntax

:MARKer:X1Y1source <source>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>
   | HISTogram}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MARKer:X1Y1source command sets the source for the cursors. The channel you specify must be enabled for cursors to be displayed. If the channel or function is not on, an error message is issued.

If the marker mode is not currently WAVeform (see :MARKer:MODE):

  • Sending a :MARKer:X1Y1source command will put the cursors in the MANual mode.

  • Setting the source for one pair of markers (for example, X1Y1) sets the source for the other (for example, X2Y2).

If the marker mode is currently WAVeform, the X1Y1 source can be set separate from the X2Y2 source.

If :MARKer:MODE is set to OFF or MANual, setting :MEASure:SOURce to CHANnel<n>, FUNCtion, MATH, or WMEMory<r> will also set :MARKer:X1Y1source and :MARKer:X2Y2source to this value.

[Note]

MATH is an alias for FUNCtion. The query will return FUNC if the source is FUNCtion or MATH.

Query Syntax

:MARKer:X1Y1source?

The :MARKer:X1Y1source? query returns the current source for the cursors. If all channels are off or if :MARKer:MODE is set to OFF, the query returns NONE.

Return Format

<source><NL>
<source> ::= {CHAN<n> | FUNC | WMEM<r> | HIST | NONE}

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X2Y2source

  • :MEASure:SOURce


:MARKer:X2:DISPlay

:MARKer Commands

Name

:MARKer:X2:DISPlay —

Command Syntax

:MARKer:X2:DISPlay {{0 | OFF} | {1 | ON}}

The :MARKer:X2:DISPlay command specifies whether the X2 cursor is displayed.

Query Syntax

:MARKer:X2:DISPlay?

The :MARKer:X2:DISPlay? query returns the X2 cursor display setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :MARKer:X2:DISPlay


:MARKer:X2Position

:MARKer Commands

Name

:MARKer:X2Position —

Command Syntax

:MARKer:X2Position <position> [suffix]
<position> ::= X2 cursor position in NR3 format
<suffix> ::= {s | ms | us | ns | ps | Hz | kHz | MHz}

The :MARKer:X2Position command:

  • Sets :MARKer:MODE to MANual if it is not currently set to WAVeform (see :MARKer:MODE).

  • Sets the X2 cursor position to the specified value.

X cursor units are set by the :MARKer:XUNits command.

Query Syntax

:MARKer:X2Position?

The :MARKer:X2Position? query returns current X2 cursor position. This is functionally equivalent to the obsolete :MEASure:TSTOp command/query.

[Note]

If the front-panel cursors are off, the marker position values are not defined and an error is generated. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format

<position><NL>
<position> ::= X2 cursor position in NR3 format

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X1Position

  • :MARKer:X2Y2source

  • :MARKer:XUNits


:MARKer:X2Y2source

:MARKer Commands

Name

:MARKer:X2Y2source —

Command Syntax

:MARKer:X2Y2source <source>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>
   | HISTogram}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MARKer:X2Y2source command sets the source for the cursors. The channel you specify must be enabled for cursors to be displayed. If the channel or function is not on, an error message is issued.

If the marker mode is not currently WAVeform (see :MARKer:MODE):

  • Sending a :MARKer:X2Y2source command will put the cursors in the MANual mode.

  • Setting the source for one pair of markers (for example, X2Y2) sets the source for the other (for example, X1Y1).

If the marker mode is currently WAVeform, the X2Y2 source can be set separate from the X1Y1 source.

If :MARKer:MODE is set to OFF or MANual, setting :MEASure:SOURce to CHANnel<n>, FUNCtion, MATH, or WMEMory<r> will also set :MARKer:X1Y1source and :MARKer:X2Y2source to this value.

[Note]

MATH is an alias for FUNCtion. The query will return FUNC if the source is FUNCtion or MATH.

Query Syntax

:MARKer:X2Y2source?

The :MARKer:X2Y2source? query returns the current source for the cursors. If all channels are off or if :MARKer:MODE is set to OFF, the query returns NONE.

Return Format

<source><NL>
<source> ::= {CHAN<n> | FUNC | WMEM<r> | HIST | NONE}

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X1Y1source

  • :MEASure:SOURce


:MARKer:XDELta?

:MARKer Commands

Name

:MARKer:XDELta? —

Query Syntax

:MARKer:XDELta?

The MARKer:XDELta? query returns the value difference between the current X1 and X2 cursor positions.

Xdelta = (Value at X2 cursor) - (Value at X1 cursor)

X cursor units are set by the :MARKer:XUNits command.

[Note]

If the front-panel cursors are off, the marker position values are not defined. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format

<value><NL>
<value> ::= difference value in NR3 format.

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X1Position

  • :MARKer:X2Position

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MARKer:XUNits


:MARKer:XUNits

:MARKer Commands

Name

:MARKer:XUNits —

Command Syntax

:MARKer:XUNits <units>
<units> ::= {SEConds | HERTz | DEGRees | PERCent}

The :MARKer:XUNits command sets the X cursors units:

  • SEConds — for making time measurements.

  • HERTz — for making frequency measurements.

  • DEGRees — for making phase measurements. Use the :MARKer:XUNits:USE command to set the current X1 location as 0 degrees and the current X2 location as 360 degrees.

  • PERCent — for making ratio measurements. Use the :MARKer:XUNits:USE command to set the current X1 location as 0 percent and the current X2 location as 100 percent.

Changing X units affects the input and output values of the :MARKer:X1Position, :MARKer:X2Position, and :MARKer:XDELta commands/queries.

Query Syntax

:MARKer:XUNits?

The :MARKer:XUNits? query returns the current X cursors units.

Return Format

<units><NL>
<units> ::= {SEC | HERT | DEGR | PERC}

See Also

  • Introduction to :MARKer Commands

  • :MARKer:XUNits:USE

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MEASure:SOURce

  • :MARKer:X1Position

  • :MARKer:X2Position


:MARKer:XUNits:USE

:MARKer Commands

Name

:MARKer:XUNits:USE —

Command Syntax

:MARKer:XUNits:USE

When DEGRees is selected for :MARKer:XUNits, the :MARKer:XUNits:USE command sets the current X1 location as 0 degrees and the current X2 location as 360 degrees.

When PERCent is selected for :MARKer:XUNits, the :MARKer:XUNits:USE command sets the current X1 location as 0 percent and the current X2 location as 100 percent.

Once the 0 and 360 degree or 0 and 100 percent locations are set, inputs to and outputs from the :MARKer:X1Position, :MARKer:X2Position, and :MARKer:XDELta commands/queries are relative to the set locations.

See Also

  • Introduction to :MARKer Commands

  • :MARKer:XUNits

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MEASure:SOURce

  • :MARKer:X1Position

  • :MARKer:X2Position

  • :MARKer:XDELta?


:MARKer:Y1:DISPlay

:MARKer Commands

Name

:MARKer:Y1:DISPlay —

Command Syntax

:MARKer:Y1:DISPlay {{0 | OFF} | {1 | ON}}

The :MARKer:Y1:DISPlay command specifies whether the Y1 cursor is displayed.

Query Syntax

:MARKer:Y1:DISPlay?

The :MARKer:Y1:DISPlay? query returns the Y1 cursor display setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :MARKer:Y1:DISPlay


:MARKer:Y1Position

:MARKer Commands

Name

:MARKer:Y1Position —

Command Syntax

:MARKer:Y1Position <position> [suffix]
<position> ::= Y1 cursor position in NR3 format
<suffix> ::= {mV | V | dB}

If the :MARKer:MODE is not currently set to WAVeform (see :MARKer:MODE), the :MARKer:Y1Position command:

  • Sets :MARKer:MODE to MANual.

  • Sets the Y1 cursor position to the specified value.

Y cursor units are set by the :MARKer:YUNits command.

When the :MARKer:MODE is set to WAVeform, Y positions cannot be set.

Query Syntax

:MARKer:Y1Position?

The :MARKer:Y1Position? query returns current Y1 cursor position. This is functionally equivalent to the obsolete :MEASure:VSTArt command/query.

[Note]

If the front-panel cursors are off or are set to Binary or Hex Mode, the marker position values are not defined and an error is generated. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format

<position><NL>
<position> ::= Y1 cursor position in NR3 format

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MARKer:Y2Position

  • :MARKer:YUNits


:MARKer:Y2:DISPlay

:MARKer Commands

Name

:MARKer:Y2:DISPlay —

Command Syntax

:MARKer:Y2:DISPlay {{0 | OFF} | {1 | ON}}

The :MARKer:Y2:DISPlay command specifies whether the Y2 cursor is displayed.

Query Syntax

:MARKer:Y2:DISPlay?

The :MARKer:Y2:DISPlay? query returns the Y2 cursor display setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :MARKer:Y2:DISPlay


:MARKer:Y2Position

:MARKer Commands

Name

:MARKer:Y2Position —

Command Syntax

:MARKer:Y2Position <position> [suffix]
<position> ::= Y2 cursor position in NR3 format
<suffix> ::= {mV | V | dB}

If the :MARKer:MODE is not currently set to WAVeform (see :MARKer:MODE), the :MARKer:Y1Position command:

  • Sets :MARKer:MODE to MANual.

  • Sets the Y2 cursor position to the specified value.

Y cursor units are set by the :MARKer:YUNits command.

When the :MARKer:MODE is set to WAVeform, Y positions cannot be set.

Query Syntax

:MARKer:Y2Position?

The :MARKer:Y2Position? query returns current Y2 cursor position. This is functionally equivalent to the obsolete :MEASure:VSTOp command/query.

[Note]

If the front-panel cursors are off or are set to Binary or Hex Mode, the marker position values are not defined and an error is generated. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Return Format

<position><NL>
<position> ::= Y2 cursor position in NR3 format

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MARKer:Y1Position

  • :MARKer:YUNits


:MARKer:YDELta?

:MARKer Commands

Name

:MARKer:YDELta? —

Query Syntax

:MARKer:YDELta?

The :MARKer:YDELta? query returns the value difference between the current Y1 and Y2 cursor positions.

Ydelta = (Value at Y2 cursor) - (Value at Y1 cursor)

[Note]

If the front-panel cursors are off or are set to Binary or Hex Mode, the marker position values are not defined. Make sure to set :MARKer:MODE to MANual or WAVeform to put the cursors in the front-panel Normal mode.

Y cursor units are set by the :MARKer:YUNits command.

Return Format

<value><NL>
<value> ::= difference value in NR3 format

See Also

  • Introduction to :MARKer Commands

  • :MARKer:MODE

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MARKer:Y1Position

  • :MARKer:Y2Position

  • :MARKer:YUNits


:MARKer:YUNits

:MARKer Commands

Name

:MARKer:YUNits —

Command Syntax

:MARKer:YUNits <units>
<units> ::= {BASE | PERCent}

The :MARKer:YUNits command sets the Y cursors units:

  • BASE — for making measurements in the units associated with the cursors source.

  • PERCent — for making ratio measurements. Use the :MARKer:YUNits:USE command to set the current Y1 location as 0 percent and the current Y2 location as 100 percent.

Changing Y units affects the input and output values of the :MARKer:Y1Position, :MARKer:Y2Position, and :MARKer:YDELta commands/queries.

Query Syntax

:MARKer:YUNits?

The :MARKer:YUNits? query returns the current Y cursors units.

Return Format

<units><NL>
<units> ::= {BASE | PERC}

See Also

  • Introduction to :MARKer Commands

  • :MARKer:YUNits:USE

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MEASure:SOURce

  • :MARKer:Y1Position

  • :MARKer:Y2Position

  • :MARKer:YDELta?


:MARKer:YUNits:USE

:MARKer Commands

Name

:MARKer:YUNits:USE —

Command Syntax

:MARKer:YUNits:USE

When PERCent is selected for :MARKer:YUNits, the :MARKer:YUNits:USE command sets the current Y1 location as 0 percent and the current Y2 location as 100 percent.

Once the 0 and 100 percent locations are set, inputs to and outputs from the :MARKer:Y1Position, :MARKer:Y2Position, and :MARKer:YDELta commands/queries are relative to the set locations.

See Also

  • Introduction to :MARKer Commands

  • :MARKer:YUNits

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MEASure:SOURce

  • :MARKer:Y1Position

  • :MARKer:Y2Position

  • :MARKer:YDELta?


:MEASure Commands

Select automatic measurements to be made and control time markers. See Introduction to :MEASure Commands.

:MEASure Commands Summary:

Command | Query | Options and Query Returns
:MEASure:AREa [<interval>][,<source>] | :MEASure:AREa? [<interval>][,<source>] | <interval> ::= {CYCLe | DISPlay} <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= area in volt-seconds, NR3 format
:MEASure:BRATe [<source>] | :MEASure:BRATe? [<source>] | <source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <digital channels> ::= DIGital<d> <d> ::= 0 to (# digital channels - 1) in NR1 format <n> ::= 1 to (# of analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= bit rate in Hz, NR3 format
:MEASure:BWIDth [<source>] | :MEASure:BWIDth? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= burst width in seconds, NR3 format
:MEASure:CLEar | n/a | n/a
:MEASure:COUNter [<source>] | :MEASure:COUNter? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= counter frequency in Hertz in NR3 format
:MEASure:CTCNwidth [<source>] | :MEASure:CTCNwidth? [<source>] | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= -Width to -Width jitter in NR3 format
:MEASure:CTCPwidth [<source>] | :MEASure:CTCPwidth? [<source>] | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= +Width to +Width jitter in NR3 format
:MEASure:DELay [<source1>] [,<source2>] | :MEASure:DELay? [<source1>] [,<source2>] | <source1,2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r> | <digital channels>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <digital channels> ::= DIGital<d> <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= floating-point number delay time in seconds in NR3 format
:MEASure:DELay:DEFine <source1_edge_slope>, <source1_edge_number>, <source1_edge_threshold>, <source2_edge_slope>, <source2_edge_number>, <source2_edge_threshold> | :MEASure:DELay:DEFine? | <source1_edge_slope>, <source2_edge_slope> ::= {RISing | FALLing} <source1_edge_number>, <source2_edge_number> ::= 0 to 1000 in NR1 format <source1_edge_threshold>, <source2_edge_threshold> ::= {LOWer | MIDDle | UPPer}
:MEASure:DUTYcycle [<source>] | :MEASure:DUTYcycle? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= ratio of positive pulse width to period in NR3 format
:MEASure:FALLtime [<source>] | :MEASure:FALLtime? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= time in seconds between the lower and upper thresholds in NR3 format
:MEASure:FFT:ACPR <chan_width>, <chan_spacing>, <chan>[,<source>] | :MEASure:FFT:ACPR? <chan_width>, <chan_spacing>, <chan>[,<source>] | <chan_width> ::= width of main range and sideband channels, Hz in NR3 format <chan_spacing> ::= spacing between main range and sideband channels, Hz in NR3 format <chan> ::= {CENTer | HIGH<sb> | LOW<sb>} <sb> ::= sideband 1 to 5 <source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= adjacent channel power ratio, dBV in NR3 format
:MEASure:FFT:CPOWer [<source>] | :MEASure:FFT:CPOWer? [<source>] | <source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= spectral channel power, dBV in NR3 format
:MEASure:FFT:OBW <percentage>[,<source>] | :MEASure:FFT:OBW? <percentage>[,<source>] | <percentage> ::= percent of spectral power occupied bandwidth is measured for in NR3 format <source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= occupied bandwidth, Hz in NR3 format
:MEASure:FFT:THD [<source>] | :MEASure:FFT:THD? [<source>] | <source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= total harmonic distortion ratio percent in NR3 format
:MEASure:FREQuency [<source>] | :MEASure:FREQuency? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= frequency in Hertz in NR3 format
n/a | :MEASure:HISTogram:BWIDth? | <value> ::= bin width in NR3 format
n/a | :MEASure:HISTogram:HITS? | <value> ::= # of total hits in NR3 format
n/a | :MEASure:HISTogram:M1S? | <value> ::= % of hits within +/-1 std dev in NR3 format
n/a | :MEASure:HISTogram:M2S? | <value> ::= % of hits within +/-2 std devs in NR3 format
n/a | :MEASure:HISTogram:M3S? | <value> ::= % of hits within +/-3 std devs in NR3 format
n/a | :MEASure:HISTogram:MAXimum? | <value> ::= value of max bin in NR3 format
n/a | :MEASure:HISTogram:MEAN? | <value> ::= mean of histogram in NR3 format
n/a | :MEASure:HISTogram:MEDian? | <value> ::= median of histogram in NR3 format
n/a | :MEASure:HISTogram:MINimum? | <value> ::= value of min bin in NR3 format
n/a | :MEASure:HISTogram:MODE? | <value> ::= mode of histogram in NR3 format
n/a | :MEASure:HISTogram:PEAK? | <value> ::= # of hits in max bin in NR3 format
n/a | :MEASure:HISTogram:PPEak? | <value> ::= delta value between max bin and min bin in NR3 format
n/a | :MEASure:HISTogram:SDEViation? | <value> ::= standard deviation of histogram in NR3 format
:MEASure:HYSTeresis {{0 | OFF} | {1 | ON}} | :MEASure:HYSTeresis? | {0 | 1}
:MEASure:NCJitter <config> | :MEASure:NCJitter? <config> | <config> ::= <source>, <direction>, <num_periods> <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <direction> ::= {RISing | FALLing} <num_periods> ::= 1 to 10000 in NR1 format <return_value> ::= N-Period to N-Period jitter in NR3 format
:MEASure:NDUTy [<source>] | :MEASure:NDUTy? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= ratio of negative pulse width to period in NR3 format
:MEASure:NEDGes [<source>] | :MEASure:NEDGes? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the falling edge count in NR3 format
:MEASure:NPERiod <config> | :MEASure:NPERiod? <config> | <config> ::= <source>, <slope>, <num_periods> <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <slope> ::= {RISing | FALLing} <num_periods> ::= 1 to 10000 in NR1 format <return_value> ::= N-Period jitter in NR3 format
:MEASure:NPULses [<source>] | :MEASure:NPULses? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r> | <digital channels>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <digital channels> ::= DIGital<d> <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= the falling pulse count in NR3 format
:MEASure:NWIDth [<source>] | :MEASure:NWIDth? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= negative pulse width in seconds-NR3 format
:MEASure:OVERshoot [<source>] | :MEASure:OVERshoot? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the percent of the overshoot of the selected waveform in NR3 format
:MEASure:PEDGes [<source>] | :MEASure:PEDGes? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the rising edge count in NR3 format
:MEASure:PERiod [<source>] | :MEASure:PERiod? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= waveform period in seconds in NR3 format
:MEASure:PHASe [<source1>] [,<source2>] | :MEASure:PHASe? [<source1>] [,<source2>] | <source1,2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the phase angle value in degrees in NR3 format
:MEASure:PPULses [<source>] | :MEASure:PPULses? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r> | <digital channels>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <digital channels> ::= DIGital<d> <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= the rising pulse count in NR3 format
:MEASure:PREShoot [<source>] | :MEASure:PREShoot? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the percent of preshoot of the selected waveform in NR3 format
:MEASure:PWIDth [<source>] | :MEASure:PWIDth? [<source>] | <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= width of positive pulse in seconds in NR3 format
:MEASure:QUICk <source> | n/a | <source> ::= {CHANnel<n>}
n/a | :MEASure:RESults? <result_list> | <result_list> ::= comma-separated list of measurement results
:MEASure:RISetime [<source>] | :MEASure:RISetime? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= rise time in seconds in NR3 format
:MEASure:SDEViation [<source>] | :MEASure:SDEViation? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= calculated std deviation in NR3 format
:MEASure:SHOW {{0 | OFF} | {1 | ON}} | :MEASure:SHOW? | {0 | 1}
:MEASure:SLEWrate [<source>[,<slope]] | :MEASure:SLEWrate? [<source>[,<slope]] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# of analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format
:MEASure:SOURce <source1> [,<source2>] | :MEASure:SOURce? | <source1,2> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r> | EXTernal} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= {<source> | NONE}
:MEASure:STATistics <type> | :MEASure:STATistics? | <type> ::= {{ON | 1} | CURRent | MEAN | MINimum | MAXimum | STDDev | COUNt} ON ::= all statistics returned
:MEASure:STATistics:DISPlay {{0 | OFF} | {1 | ON}} | :MEASure:STATistics:DISPlay? | {0 | 1}
:MEASure:STATistics:INCRement | n/a | n/a
:MEASure:STATistics:MCOunt <setting> | :MEASure:STATistics:MCOunt? | <setting> ::= {INFinite | <count>} <count> ::= 2 to 2000 in NR1 format
:MEASure:STATistics:RESet | n/a | n/a
:MEASure:STATistics:RSDeviation {{0 | OFF} | {1 | ON}} | :MEASure:STATistics:RSDeviation? | {0 | 1}
:MEASure:TEDGe [<slope>,]<occurrence>[,<source>] | :MEASure:TEDGe? [<slope>,]<occurrence>[,<source>] | <slope> ::= {RISing | FALLing | BOTH} <occurrence> ::= [+ | -]<number> <number> ::= the edge number in NR1 format <source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <digital channels> ::= DIGital<d> <n> ::= 1 to (# of analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= time in seconds of the specified transition
:MEASure:THResholds:ABSolute <upper>,<middle>,<lower> | :MEASure:THResholds:ABSolute? | <upper>,<middle>,<lower> ::= A number specifying the upper, middle, and lower threshold absolute values in NR3 format.
:MEASure:THResholds:METHod <threshold_mode> | :MEASure:THResholds:METHod? | <threshold_mode> ::= {PERCent | ABSolute}
:MEASure:THResholds:PERCent <upper>,<middle>,<lower> | :MEASure:THResholds:PERCent? | <upper>,<middle>,<lower> ::= A number specifying the upper, middle, and lower threshold percentage values between Vbase and Vtop in NR3 format.
:MEASure:THResholds:STANdard | n/a | n/a
:MEASure:TIEClock <config> | :MEASure:TIEClock? <config> | <config> ::= <source>, {SECond | UNITinterval}, <direction> <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <direction> ::= {RISing | FALLing | BOTH} <return_value> ::= Clock TIE jitter in NR3 format
:MEASure:TIEData <config> | :MEASure:TIEData? <config> | <config> ::= <source>, {SECond | UNITinterval} <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= Clock TIE jitter in NR3 format
n/a | :MEASure:TVALue? <value>, [<slope>]<occurrence> [,<source>] | <value> ::= voltage level that the waveform must cross. <slope> ::= direction of the waveform when <value> is crossed. <occurrence> ::= transitions reported. <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= time in seconds of specified voltage crossing in NR3 format
:MEASure:VAMPlitude [<source>] | :MEASure:VAMPlitude? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the amplitude of the selected waveform in volts in NR3 format
:MEASure:VAVerage [<interval>][,<source>] | :MEASure:VAVerage? [<interval>][,<source>] | <interval> ::= {CYCLe | DISPlay} <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= calculated average voltage in NR3 format
:MEASure:VBASe [<source>] | :MEASure:VBASe? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <base_voltage> ::= voltage at the base of the selected waveform in NR3 format
:MEASure:VMAX [<source>] | :MEASure:VMAX? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= maximum voltage of the selected waveform in NR3 format
:MEASure:VMIN [<source>] | :MEASure:VMIN? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= minimum voltage of the selected waveform in NR3 format
:MEASure:VPP [<source>] | :MEASure:VPP? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= voltage peak-to-peak of the selected waveform in NR3 format
:MEASure:VRATio [<interval>][,<source1>] [,<source2>] | :MEASure:VRATio? [<interval>][,<source1>] [,<source2>] | <interval> ::= {CYCLe | DISPlay} <source1,2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the ratio value in dB in NR3 format
:MEASure:VRMS [<interval>] [,<type>][,<source>] | :MEASure:VRMS? [<interval>] [,<type>][,<source>] | <interval> ::= {CYCLe | DISPlay} <type> ::= {AC | DC} <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= calculated dc RMS voltage in NR3 format
:MEASure:VTOP [<source>] | :MEASure:VTOP? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= voltage at the top of the waveform in NR3 format
:MEASure:WINDow <type> | :MEASure:WINDow? | <type> ::= {MAIN | ZOOM | AUTO | GATE}
:MEASure:XMAX [<source>] | :MEASure:XMAX? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= horizontal value of the maximum in NR3 format
:MEASure:XMIN [<source>] | :MEASure:XMIN? [<source>] | <source> ::= {CHANnel<n> | FUNCtion<m> | FFT | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= horizontal value of the minimum in NR3 format
:MEASure:YATX <horiz_location>[,<source>] | :MEASure:YATX? <horiz_location>[,<source>] | <horiz_location> ::= displayed time from trigger in seconds in NR3 format <source> ::= {CHANnel<n> | DIGital<d> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <return_value> ::= voltage at the specified time in NR3 format

Introduction to :MEASure Commands

The commands in the MEASure subsystem are used to make parametric measurements on displayed waveforms.

Measurement Setup. To make a measurement, the portion of the waveform required for that measurement must be displayed on the oscilloscope screen.

Measurement Type | Portion of waveform that must be displayed
period, duty cycle, or frequency | at least one complete cycle
pulse width | the entire pulse
rise time | rising edge, top and bottom of pulse
fall time | falling edge, top and bottom of pulse

Measurement Error. If a measurement cannot be made (typically because the proper portion of the waveform is not displayed), the value +9.9E+37 is returned for that measurement.

Making Measurements. If more than one waveform, edge, or pulse is displayed, time measurements are made on the portion of the displayed waveform closest to the trigger reference (left, center, or right).

When making measurements in the zoomed (delayed) time base mode (:TIMebase:MODE WINDow), the oscilloscope will attempt to make the measurement inside the zoomed sweep window. If the measurement is an average and there are not three edges, the oscilloscope will revert to the mode of making the measurement at the start of the main sweep.

When the command form is used, the measurement result is displayed on the instrument. When the query form of these measurements is used, the measurement is made one time, and the measurement result is returned over the bus.

Measurements are made on the displayed waveforms specified by the :MEASure:SOURce command. The MATH source is an alias for the FUNCtion source.

Not all measurements are available on the digital channels or FFT (Fast Fourier Transform).

Reporting the Setup. Use the :MEASure? query to obtain setup information for the MEASure subsystem. (Currently, this is only :MEASure:SOURce.)

Return Format. The following is a sample response from the :MEASure? query. In this case, the query was issued following a *RST command.

:MEAS:SOUR CHAN1,CHAN2;STAT ON


:MEASure:AREA

:MEASure Commands

Name

:MEASure:AREA —

Command Syntax

:MEASure:AREA [<interval>][,<source>]
<interval> ::= {CYCLe | DISPlay}
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:AREA command installs an area measurement on screen. Area measurements show the area between the waveform and the ground level.

The <interval> option lets you specify the measurement interval: either an integral number of cycles, or the full screen. If <interval> is not specified, DISPlay is implied.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:AREA? [<interval>][,<source>]

The :MEASure:AREA? query measures and returns the area value.

Return Format

<value><NL>
<value> ::= the area value in volt-seconds in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:BRATe

:MEASure Commands

Name

:MEASure:BRATe —

Command Syntax

:MEASure:BRATe [<source>]
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
   | WMEMory<r>}
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:BRATe command installs a screen measurement and starts the bit rate measurement. If the optional source parameter is specified, the currently specified source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:BRATe? [<source>]

The :MEASure:BRATe? query measures all positive and negative pulse widths on the waveform, takes the minimum value found of either width type and inverts that minimum width to give a value in Hertz.

Return Format

<value><NL>
<value> ::= the bit rate value in Hertz

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:FREQuency

  • :MEASure:PERiod


:MEASure:BWIDth

:MEASure Commands

Name

:MEASure:BWIDth —

Command Syntax

:MEASure:BWIDth [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:BWIDth command installs a burst width measurement on screen. If the optional source parameter is not specified, the current measurement source is used.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:BWIDth? [<source>]

The :MEASure:BWIDth? query measures and returns the width of the burst on the screen.

The burst width is calculated as follows:

burst width = (last edge on screen - first edge on screen)

Return Format

<value><NL>
<value> ::= burst width in seconds in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:CLEar

:MEASure Commands

Name

:MEASure:CLEar —

Command Syntax

:MEASure:CLEar

This command clears all selected measurements and markers from the screen.

See Also

  • Introduction to :MEASure Commands


:MEASure:COUNter

:MEASure Commands

Name

:MEASure:COUNter —

Command Syntax

:MEASure:COUNter [<source>]
<source> ::= {<digital channels> | CHANnel<n> | EXTernal}
<digital channels> ::= DIGital<d>
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :MEASure:COUNter command installs a screen measurement and starts a counter measurement. If the optional source parameter is specified, the current source is modified. Any channel except Math or Reference Waveforms may be selected for the source.

The counter measurement counts trigger level crossings within a certain amount of time (gate time) and displays the results in Hz.

The gate time is the horizontal range of the oscilloscope but is limited to >= 0.1 s and <= 10 s. Unlike other measurements, the Zoom horizontal timebase window does not gate the Counter measurement.

The Counter measurement can measure frequencies up to the bandwidth of the oscilloscope. The minimum frequency supported is 2.0 / gateTime.

Only one counter measurement may be displayed at a time.

[Note]

This command is not available if the source is MATH.

Query Syntax

:MEASure:COUNter? [<source>]

The :MEASure:COUNter? query measures and outputs the counter frequency of the specified source.

[Note]

The :MEASure:COUNter? query times out if the counter measurement is installed on the front panel. Use :MEASure:CLEar to remove the front-panel measurement before executing the :MEASure:COUNter? query.

Return Format

<source><NL>
<source> ::= count in Hertz in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:FREQuency

  • :MEASure:CLEar


:MEASure:CTCNwidth

:MEASure Commands

Name

:MEASure:CTCNwidth —

Command Syntax

[Note]

This measurement is available when the optional jitter analysis feature is licensed

:MEASure:CTCNwidth [<source>]
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:CTCNwidth command installs a -Width to -Width (cycle-to-cycle negative width) jitter measurement on screen.

The -Width to -Width jitter measurement subtracts the first cycle's negative pulse width from the second cycle's negative pulse width for the first measurement result. Then, the second cycle's negative pulse width is subtracted from the third cycle's negative pulse width for the second measurement result, and so on, until all of the cycles of the waveform have been measured. The following figure shows the first two -Width to -Width measurements.

All of the measurement results are used to compute the statistics. The statistics are the values accumulated over all of the trigger cycles that have occurred.

The measurement is made on all the cycles of the waveform. Even in Zoom mode, all the cycles of the waveform in the Main window will be measured.

Query Syntax

:MEASure:CTCNwidth? [<source>]

The :MEASure:CTCNwidth? query measures and returns the -Width to -Width jitter value.

Return Format

<value><NL>
<value> ::= -Width to -Width jitter in NR3 format

See Also

  • :MEASure:CTCPwidth

  • :JITTer Commands


:MEASure:CTCPwidth

:MEASure Commands

Name

:MEASure:CTCPwidth —

Command Syntax

[Note]

This measurement is available when the optional jitter analysis feature is licensed

:MEASure:CTCPwidth [<source>]
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:CTCPwidth command installs a +Width to +Width (cycle-to-cycle positive width) jitter measurement on screen.

The +Width to +Width jitter measurement subtracts the first cycle's positive pulse width from the second cycle's positive pulse width for the first measurement result. Then, the second cycle's positive pulse width is subtracted from the third cycle's positive pulse width for the second measurement result, and so on, until all of the cycles of the waveform have been measured. The following figure shows the first two +Width to +Width measurements.

All of the measurement results are used to compute the statistics. The statistics are the values accumulated over all of the trigger cycles that have occurred.

The measurement is made on all the cycles of the waveform. Even in Zoom mode, all the cycles of the waveform in the Main window will be measured.

Query Syntax

:MEASure:CTCPwidth? [<source>]

The :MEASure:CTCPwidth? query measures and returns the +Width to +Width jitter value.

Return Format

<value><NL>
<value> ::= +Width to +Width jitter in NR3 format

See Also

  • :MEASure:CTCNwidth

  • :JITTer Commands


:MEASure:DELay

:MEASure Commands

Name

:MEASure:DELay —

Command Syntax

:MEASure:DELay [<edge_select_mode>][,][<source1>][,<source2>]
<edge_select_mode> ::= {MANual | AUTO}
<source1>, <source2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>
   | WMEMory<r> | <digital channels>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :MEASure:DELay command places the instrument in the continuous measurement mode and starts a delay measurement.

The measurement is taken as:

delay = t(<edge_spec_2>) - t(<edge_spec_1>)

where the <edge_spec> definitions are determined by the <edge_select_mode> and the :MEASure:DELay:DEFine command.

When the <edge_select_mode> is:

  • AUTO — edges are automatically selected: the source1 edge closest to the timebase reference point is used, and the source2 edge closest to the source1 edge is used.

  • MANual — edge numbers are determined by the :MEASure:DELay:DEFine settings.

    Edge numbers greater than zero (0) are counted from the left side of the display for both sources.

Edge thresholds and slopes are always determined by the :MEASure:DELay:DEFine settings.

If the <edge_select_mode> is not included with the command, AUTO is the default.

Query Syntax

:MEASure:DELay? [<edge_select_mode>][,][<source1>][,<source2>]

The :MEASure:DELay? query measures and returns the delay between source1 and source2. Delay measurement threshold, slope, and edge count parameters are determined by the <edge_select_mode> and the :MEASure:DELay:DEFine command.

The <edge_select_mode> definitions are the same as with the command syntax.

However, if the <edge_select_mode> is not included with the query, MANual is the default.

In the :MEASure:DEFine command, you can set upper, middle, and lower threshold values. The standard upper, middle, and lower measurement thresholds are 90%, 50%, and 10% values between Vbase and Vtop.

Return Format

<value><NL>
<value> ::= floating-point number delay time in seconds in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:DELay:DEFine

  • :MEASure:DELay:DEFine

  • :MEASure:THResholds:ABSolute

  • :MEASure:THResholds:METHod

  • :MEASure:THResholds:PERCent

  • :MEASure:THResholds:STANdard

  • :MEASure:PHASe


:MEASure:DELay:DEFine

:MEASure Commands

Name

:MEASure:DELay:DEFine —

Command Syntax

:MEASure:DELay:DEFine <source1_edge_slope>, <source1_edge_number>,
   <source1_edge_threshold>, <source2_edge_slope>,
   <source2_edge_number>, <source2_edge_threshold>
<source1_edge_slope>,
<source2_edge_slope> ::= {RISing | FALLing}
<source1_edge_number>,
<source2_edge_number> ::= 0 to 1000 in NR1 format
<source1_edge_threshold>,
<source2_edge_threshold> ::= {LOWer | MIDDle | UPPer}

The :MEASure:DELay:DEFine command defines slope directions and edge numbers for the delay measurement started or returned by the :MEASure:DELay command. The :MEASure:DELay:DEFine command also defines edge position parameters.

A <source1_edge_number> setting of zero (0) specifies that the edge closest to the timebase reference point automatically be selected. In this case, the <source2_edge_number> setting must also be zero (0), and the source2 edge closest to the selected source1 edge is used.

When edge numbers greater than zero (0) are specified, edges are counted from the left side of the display for both sources.

The selection of the source1 and source2 waveforms is made in the :MEASure:DELay or :MEASure:SOURce commands.

Query Syntax

:MEASure:DELay:DEFine?

The :MEASure:DELay:DEFine? query returns the specified delay measurement parameter definitions.

Return Format

<source1_edge_slope>, <source1_edge_number>,
   <source1_edge_threshold>, <source2_edge_slope>,
   <source2_edge_number>,<source2_edge_threshold><NL>
<source1_edge_slope>,
<source2_edge_slope> ::= {RIS | FALL}
<source1_edge_number>,
<source2_edge_number> ::= 0 to 1000 in NR1 format
<source1_edge_threshold>,
<source2_edge_threshold> ::= {LOW | MIDD | UPP}

See Also

  • :MEASure:DELay

  • :MEASure:SOURce

  • :MEASure:THResholds:ABSolute

  • :MEASure:THResholds:METHod

  • :MEASure:THResholds:PERCent

  • :MEASure:THResholds:STANdard


:MEASure:DUTYcycle

:MEASure Commands

Name

:MEASure:DUTYcycle —

Command Syntax

:MEASure:DUTYcycle [<source>]
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
             | WMEMory<r>}
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:DUTYcycle command installs a screen measurement and starts a positive duty cycle measurement on the current :MEASure:SOURce. If the optional source parameter is specified, the current source is modified.

[Note]

The signal must be displayed to make the measurement. This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:DUTYcycle? [<source>]

The :MEASure:DUTYcycle? query measures and outputs the positive duty cycle of the signal specified by the :MEASure:SOURce command. The value returned for the duty cycle is the ratio of the positive pulse width to the period. The positive pulse width and the period of the specified signal are measured, then the duty cycle is calculated with the following formula:

+duty cycle = (+pulse width/period)*100

Return Format

<value><NL>
<value> ::= ratio of positive pulse width to period in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:PERiod

  • :MEASure:PWIDth

  • :MEASure:SOURce

  • :MEASure:NDUTy

Example Code

  • Example Code


:MEASure:FALLtime

:MEASure Commands

Name

:MEASure:FALLtime —

Command Syntax

:MEASure:FALLtime [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:FALLtime command installs a screen measurement and starts a fall-time measurement. For highest measurement accuracy, set the sweep speed as fast as possible, while leaving the falling edge of the waveform on the display. If the optional source parameter is specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:FALLtime? [<source>]

The :MEASure:FALLtime? query measures and outputs the fall time of the displayed falling (negative-going) edge closest to the timebase reference. The fall time is determined by measuring the time at the upper threshold of the falling edge, then measuring the time at the lower threshold of the falling edge, and calculating the fall time with the following formula:

fall time = time at lower threshold - time at upper threshold

Return Format

<value><NL>
<value> ::= time in seconds between the lower threshold and upper
            threshold in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:RISetime

  • :MEASure:SOURce

  • :MEASure:SLEWrate


:MEASure:FFT:ACPR

:MEASure Commands

Name

:MEASure:FFT:ACPR —

Command Syntax

:MEASure:FFT:ACPR <chan_width>,<chan_spacing>,<chan>[,<source>]
<chan_width> ::= of main range and sideband channels, Hz in NR3 format
<chan_spacing> ::= spacing between main range and sideband channels,
   Hz in NR3 format
<chan> ::= {CENTer | HIGH<sb> | LOW<sb>}
<sb> ::= sideband 1 to 5
<source> ::= {FUNCtion<m> | MATH<m> | FFT} (must be an FFT waveform)
<m> ::= 1 to (# math functions) in NR1 format

The :MEASure:FFT:ACPR command installs an FFT analysis Adjacent Channel Power Ratio (ACPR) measurement on screen.

Adjacent Channel Power Ratio (or channel leakage ratio) measures the ratio of the power in the main frequency range to the power contained in one or more sidebands.

The main range is specified by a channel width and a center frequency. The center frequency used in the measurement is the one defined for the FFT function.

Sidebands (with the same width as the main range) exist above and below the main range separated by the channel spacing width.

The sideband used for the measurement is selected with the <chan> parameter. You can select the first through fifth sidebands above or below the main range (HIGH1 through HIGH5 above and LOW1 through LOW5 below). The full sideband must be in the graticule (on screen) to be measured. Otherwise, the measurement results will be "Incomplete".

When this measurement is tracked with cursors, the cursors show the sideband being measured.

Query Syntax

:MEASure:FFT:ACPR? <chan_width>,<chan_spacing>,<chan>[,<source>]

The :MEASure:FFT:ACPR? query returns the measured Adjacent Channel Power Ratio (ACPR) value.

Return Format

<return_value><NL>
<return_value> ::= adjacent channel power ratio, dBV in NR3 format

See Also

  • :MEASure:FFT:CPOWer

  • :MEASure:FFT:OBW

  • :MEASure:FFT:THD


:MEASure:FFT:CPOWer

:MEASure Commands

Name

:MEASure:FFT:CPOWer —

Command Syntax

:MEASure:FFT:CPOWer [<source>]
<source> ::= {FUNCtion<m> | MATH<m> | FFT} (must be an FFT waveform)
<m> ::= 1 to (# math functions) in NR1 format

The :MEASure:FFT:CPOWer command installs an FFT analysis Channel Power measurement on screen.

Channel Power measures the spectral power across a frequency range.

The center frequency used in the measurement is the one defined for the FFT function, and the FFT span specifies the frequency range.

When this measurement is tracked with cursors, the cursors are at the left and right edges of the frequency span.

Query Syntax

:MEASure:FFT:CPOWer? [<source>]

The :MEASure:FFT:CPOWer? query returns the measured Channel Power value.

Return Format

<return_value><NL>
<return_value> ::= spectral channel power, dBV in NR3 format

See Also

  • :MEASure:FFT:ACPR

  • :MEASure:FFT:OBW

  • :MEASure:FFT:THD


:MEASure:FFT:OBW

:MEASure Commands

Name

:MEASure:FFT:OBW —

Command Syntax

:MEASure:FFT:OBW <percentage>[,<source>]
<percentage> ::= percent of spectral power occupied bandwidth is
   measured for (in NR3 format)
<source> ::= {FUNCtion<m> | MATH<m> | FFT} (must be an FFT waveform)
<m> ::= 1 to (# math functions) in NR1 format

The :MEASure:FFT:OBW command installs an FFT analysis Occupied Bandwidth measurement on screen.

Occupied Bandwidth measures the bandwidth (frequency range) containing some percent (usually 99%) of the total spectral power. While 99% is the industry norm, you can specify the percent you want to use in the measurement.

The center frequency used in the measurement is the one defined for the FFT function, and the FFT span represents the total spectral power.

When this measurement is tracked with cursors, the cursors show the measured bandwidth (frequency range).

Query Syntax

:MEASure:FFT:OBW? <percentage>[,<source>]

The :MEASure:FFT:OBW? query returns the measured Occupied Bandwidth value.

Return Format

<return_value><NL>
<return_value> ::= occupied bandwidth, Hz in NR3 format

See Also

  • :MEASure:FFT:ACPR

  • :MEASure:FFT:CPOWer

  • :MEASure:FFT:THD


:MEASure:FFT:THD

:MEASure Commands

Name

:MEASure:FFT:THD —

Command Syntax

:MEASure:FFT:THD <tracking>[,<fundamental_freq>][,<source>]
<tracking> ::= {AUTO | MANual}
<fundamental_freq> ::= in NR3 format, required if <tracking> is MANual
<source> ::= {FUNCtion<m> | MATH<m> | FFT} (must be an FFT waveform)
<m> ::= 1 to (# math functions) in NR1 format

The :MEASure:FFT:THD command installs an FFT analysis Total Harmonic Distortion measurement on screen.

Total Harmonic Distortion (THD) is the ratio of power in the fundamental frequency to the power contained in the rest of the harmonics and noise. THD is a measure of signal purity.

Total Harmonic Distortion (THD) measures the power contained in the bands surrounding each harmonic and compares it to the power in the band surrounding the fundamental frequency. The width of the bands measured is the same for the fundamental frequency and each harmonic. That width is 1/2 of the fundamental frequency.

You can either enter the fundamental frequency as a measurement parameter and have the fundamental frequency and harmonics be tracked manually, or you can allow the fundamental frequency and harmonics to be tracked automatically, where the highest peak is assumed to be the fundamental frequency.

When this measurement is tracked with cursors, the cursors show the band surrounding the fundamental frequency that is being measured (at ±1/4 of the fundamental frequency).

Query Syntax

:MEASure:FFT:THD? <tracking>[,<fundamental_freq>][,<source>]

The :MEASure:FFT:THD? query returns the measured Total Harmonic Distortion value.

Return Format

<return_value><NL>
<return_value> ::= total harmonic distortion ratio percent in NR3 format

See Also

  • :MEASure:FFT:ACPR

  • :MEASure:FFT:CPOWer

  • :MEASure:FFT:OBW

  • Commands Not Supported in Multiple Program Message Units

  • Queries Not Supported in Multiple Program Message Units


:MEASure:FREQuency

:MEASure Commands

Name

:MEASure:FREQuency —

Command Syntax

:MEASure:FREQuency [<source>]
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
             | WMEMory<r>}
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:FREQuency command installs a screen measurement and starts a frequency measurement. If the optional source parameter is specified, the current source is modified.

IF the edge on the screen closest to the trigger reference is rising:

THEN frequency = 1/(time at trailing rising edge - time at leading rising edge)

ELSE frequency = 1/(time at trailing falling edge - time at leading falling edge)

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:FREQuency? [<source>]

The :MEASure:FREQuency? query measures and outputs the frequency of the cycle on the screen closest to the trigger reference.

Return Format

<source><NL>
<source> ::= frequency in Hertz in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:PERiod

Example Code

  • Example Code


:MEASure:HISTogram:BWIDth?

:MEASure Commands

Name

:MEASure:HISTogram:BWIDth? —

Query Syntax

:MEASure:HISTogram:BWIDth?

The :MEASure:HISTogram:BWIDth? query returns the width of each bin (bucket) in the histogram.

Return Format

<value><NL>
<value> ::= bin width in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:HITS?

:MEASure Commands

Name

:MEASure:HISTogram:HITS? —

Query Syntax

:MEASure:HISTogram:HITS?

The :MEASure:HISTogram:HITS? query returns the sum of all hits in all bins (buckets) in the histogram.

Return Format

<value><NL>
<value> ::= # of total hits in NR1 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:M1S?

:MEASure Commands

Name

:MEASure:HISTogram:M1S? —

Query Syntax

:MEASure:HISTogram:M1S?

The :MEASure:HISTogram:M1S? query returns the percentage of histogram hits that lie within ±1 Std Dev of the mean.

Return Format

<value><NL>
<value> ::= % of hits within +/-1 std dev in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:M2S?

:MEASure Commands

Name

:MEASure:HISTogram:M2S? —

Query Syntax

:MEASure:HISTogram:M2S?

The :MEASure:HISTogram:M2S? query returns the percentage of histogram hits that lie within ±2 Std Dev of the mean.

Return Format

<value><NL>
<value> ::= % of hits within +/-2 std devs in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:M3S?

:MEASure Commands

Name

:MEASure:HISTogram:M3S? —

Query Syntax

:MEASure:HISTogram:M3S?

The :MEASure:HISTogram:M3S? query returns the percentage of histogram hits that lie within ±3 Std Dev of the mean.

Return Format

<value><NL>
<value> ::= % of hits within +/-3 std devs in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:MAXimum?

:MEASure Commands

Name

:MEASure:HISTogram:MAXimum? —

Query Syntax

:MEASure:HISTogram:MAXimum?

The :MEASure:HISTogram:MAXimum? query returns the value corresponding to the maximum bin that has any hits.

Return Format

<value><NL>
<value> ::= value of max bin in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:MEAN?

:MEASure Commands

Name

:MEASure:HISTogram:MEAN? —

Query Syntax

:MEASure:HISTogram:MEAN?

The :MEASure:HISTogram:MEAN? query returns the mean value of the histogram.

Return Format

<value><NL>
<value> ::= mean of histogram in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:MEDian?

:MEASure Commands

Name

:MEASure:HISTogram:MEDian? —

Query Syntax

:MEASure:HISTogram:MEDian?

The :MEASure:HISTogram:MEDian? query returns the median value of the histogram.

Return Format

<value><NL>
<value> ::= median of histogram in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:MINimum?

:MEASure Commands

Name

:MEASure:HISTogram:MINimum? —

Query Syntax

:MEASure:HISTogram:MINimum?

The :MEASure:HISTogram:MINimum? query returns the value corresponding to the minimum bin that has any hits.

Return Format

<value><NL>
<value> ::= value of min bin in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:MODE?

:MEASure Commands

Name

:MEASure:HISTogram:MODE? —

Query Syntax

:MEASure:HISTogram:MODE?

The :MEASure:HISTogram:MODE? query returns the mode value of the histogram.

Return Format

<value><NL>
<value> ::= mode of histogram in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:PEAK?

:MEASure Commands

Name

:MEASure:HISTogram:PEAK? —

Query Syntax

:MEASure:HISTogram:PEAK?

The :MEASure:HISTogram:PEAK? query returns the maximum number of hits in any single bin.

Return Format

<value><NL>
<value> ::= # of hits in max bin in NR1 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PPEak?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:PPEak?

:MEASure Commands

Name

:MEASure:HISTogram:PPEak? —

Query Syntax

:MEASure:HISTogram:PPEak?

The :MEASure:HISTogram:PPEak? query returns the delta between the Max and Min values.

Return Format

<value><NL>
<value> ::= delta value between max bin and min bin in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:SDEViation?


:MEASure:HISTogram:SDEViation?

:MEASure Commands

Name

:MEASure:HISTogram:SDEViation? —

Query Syntax

:MEASure:HISTogram:SDEViation?

The :MEASure:HISTogram:SDEViation? query returns the standard deviation of the histogram values.

Return Format

<value><NL>
<value> ::= standard deviation of histogram in NR3 format

See Also

  • :HISTogram Commands

  • :MEASure:HISTogram:BWIDth?

  • :MEASure:HISTogram:HITS?

  • :MEASure:HISTogram:M1S?

  • :MEASure:HISTogram:M2S?

  • :MEASure:HISTogram:M3S?

  • :MEASure:HISTogram:MAXimum?

  • :MEASure:HISTogram:MEAN?

  • :MEASure:HISTogram:MEDian?

  • :MEASure:HISTogram:MINimum?

  • :MEASure:HISTogram:MODE?

  • :MEASure:HISTogram:PEAK?

  • :MEASure:HISTogram:PPEak?


:MEASure:HYSTeresis

:MEASure Commands

Name

:MEASure:HYSTeresis —

Command Syntax

:MEASure:HYSTeresis {{0 | OFF} | {1 | ON}}

The :MEASure:HYSTeresis command disables or enables the minimum signal amplitude limit for making measurements.

When the oscilloscope makes automatic parametric measurements on captured waveform data, it builds a vertical histogram, recording how many times each Q-level (quantization level, an internal voltage representation) is present in the data record. From the histogram, the absolute maximum and minimum voltage levels, as well as relative maximum (top) and minimum (base) voltage levels, are determined. Using the top and base levels, threshold levels are calculated. The waveform data record is again analyzed using the thresholds to determine signal edges.

To prevent the oscilloscope from making incorrect measurements on system noise, there is a minimum signal amplitude (in Q-levels, as a fraction of the vertical division) below which the measurement process does not take place, and "Low signal" is reported in the measurement results.

However, with the ability to limit channel bandwidth, the amount of system noise can vary, and with the oscilloscope's low noise floor, it is possible to get a very small amplitude signal on screen that is stable, and therefore, theoretically measureable, even though it falls below the minimum signal amplitude limit. In these cases, you can turn off the measurement hysteresis limit to remove the "Low signal" result and make measurements.

The default measurement hysteresis setting (enabled) delivers optimal measurement performance for almost all signals.

Query Syntax

:MEASure:HYSTeresis?

The :MEASure:HYSTeresis? query returns the state of the measurement hysteresis setting.

Return Format

{0 | 1}<NL>

See Also

  • Introduction to :MEASure Commands

  • :MEASure:RESults?


:MEASure:NCJitter

:MEASure Commands

Name

:MEASure:NCJitter —

Command Syntax

[Note]

This measurement is available when the optional jitter analysis feature is licensed

:MEASure:NCJitter <config>
<config> ::= <source>, <direction>, <num_periods>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<direction> ::= {RISing | FALLing}
<num_periods> ::= 1 to 10000 in NR1 format

The :MEASure:NCJitter command install a period-period (N-cycle) jitter measurement on screen.

The Period-Period jitter measurement takes a group of cycles and measures the period from the first edge of the first cycle of the group to the final edge of the last cycle of the group. The N-period of the first group is measured and subtracted from the N-period of the second group. After shifting ahead one cycle the next measurement is made. The following figure shows how an N-cycle jitter measurement is made for N=3.

Once all of the groups of cycles of the waveform are measured, the statistics are calculated. The statistics are the values accumulated over all of the trigger cycles that have occurred.

To perform a cycle-cycle jitter measurement, use Period-Period and set N=1.

The measurement is made on all the cycles of the waveform. Even in Zoom mode, all the cycles of the waveform in the Main window will be measured.

Query Syntax

:MEASure:NCJitter? <config>

The :MEASure:NCJitter? query measures and returns the N-Period to N-Period jitter value.

Return Format

<value><NL>
<value> ::= N-Period to N-Period jitter in NR3 format

See Also

  • :MEASure:NPERiod

  • :JITTer Commands


:MEASure:NDUTy

:MEASure Commands

Name

:MEASure:NDUTy —

Command Syntax

:MEASure:NDUTy [<source>]
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
             | WMEMory<r>}
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:NDUTy command installs a screen measurement and starts a negative duty cycle measurement on the current :MEASure:SOURce. If the optional source parameter is specified, the current source is modified.

[Note]

The signal must be displayed to make the measurement. This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:NDUTy? [<source>]

The :MEASure:NDUTy? query measures and outputs the negative duty cycle of the signal specified by the :MEASure:SOURce command. The value returned for the duty cycle is the ratio of the negative pulse width to the period. The negative pulse width and the period of the specified signal are measured, then the duty cycle is calculated with the following formula:

-duty cycle = (-pulse width/period)*100

Return Format

<value><NL>
<value> ::= ratio of negative pulse width to period in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:PERiod

  • :MEASure:NWIDth

  • :MEASure:SOURce

  • :MEASure:DUTYcycle


:MEASure:NEDGes

:MEASure Commands

Name

:MEASure:NEDGes —

Command Syntax

:MEASure:NEDGes [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:NEDGes command installs a falling edge count measurement on screen. If the optional source parameter is not specified, the current source is measured.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:NEDGes? [<source>]

The :MEASure:NEDGes? query measures and returns the on-screen falling edge count.

Return Format

<value><NL>
<value> ::= the falling edge count in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:NPERiod

:MEASure Commands

Name

:MEASure:NPERiod —

Command Syntax

[Note]

This measurement is available when the optional jitter analysis feature is licensed

:MEASure:NPERiod <config>
<config> ::= <source>, <slope>, <num_periods>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<slope> ::= {RISing | FALLing}
<num_periods> ::= 1 to 10000 in NR1 format

The :MEASure:NPERiod command installs an N-period jitter measurement on screen.

The N-Period jitter measurement measures the time span of N consecutive periods. Then, it shifts ahead one period and measures the time span of the next N consecutive periods, and so on.

Query Syntax

:MEASure:NPERiod? <config>

The :MEASure:NPERiod? query measures and returns the N-Period jitter value.

Return Format

<value><NL>
<value> ::= N-Period jitter in NR3 format

See Also

  • :MEASure:NCJitter

  • :JITTer Commands


:MEASure:NPULses

:MEASure Commands

Name

:MEASure:NPULses —

Command Syntax

:MEASure:NPULses [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>
   | <digital channels>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :MEASure:NPULses command installs a falling pulse count measurement on screen. If the optional source parameter is not specified, the current source is measured.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:NPULses? [<source>]

The :MEASure:NPULses? query measures and returns the on-screen falling pulse count.

Return Format

<value><NL>
<value> ::= the falling pulse count in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:NWIDth

:MEASure Commands

Name

:MEASure:NWIDth —

Command Syntax

:MEASure:NWIDth [<source>]
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
             | WMEMory<r>}
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:NWIDth command installs a screen measurement and starts a negative pulse width measurement. If the optional source parameter is not specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:NWIDth? [<source>]

The :MEASure:NWIDth? query measures and outputs the width of the negative pulse on the screen closest to the trigger reference using the midpoint between the upper and lower thresholds.

FOR the negative pulse closest to the trigger point:

width = (time at trailing rising edge - time at leading falling edge)

Return Format

<value><NL>
<value> ::= negative pulse width in seconds in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:PWIDth

  • :MEASure:PERiod


:MEASure:OVERshoot

:MEASure Commands

Name

:MEASure:OVERshoot —

Command Syntax

:MEASure:OVERshoot [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:OVERshoot command installs a screen measurement and starts an overshoot measurement. If the optional source parameter is specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:OVERshoot? [<source>]

The :MEASure:OVERshoot? query measures and returns the overshoot of the edge closest to the trigger reference, displayed on the screen. The method used to determine overshoot is to make three different vertical value measurements: Vtop, Vbase, and either Vmax or Vmin, depending on whether the edge is rising or falling.

For a rising edge:

overshoot = ((Vmax-Vtop) / (Vtop-Vbase)) x 100

For a falling edge:

overshoot = ((Vbase-Vmin) / (Vtop-Vbase)) x 100

Vtop and Vbase are taken from the normal histogram of all waveform vertical values. The extremum of Vmax or Vmin is taken from the waveform interval right after the chosen edge, halfway to the next edge. This more restricted definition is used instead of the normal one, because it is conceivable that a signal may have more preshoot than overshoot, and the normal extremum would then be dominated by the preshoot of the following edge.

Return Format

<overshoot><NL>
<overshoot>::= the percent of the overshoot of the selected waveform in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:PREShoot

  • :MEASure:SOURce

  • :MEASure:VMAX

  • :MEASure:VTOP

  • :MEASure:VBASe

  • :MEASure:VMIN


:MEASure:PEDGes

:MEASure Commands

Name

:MEASure:PEDGes —

Command Syntax

:MEASure:PEDGes [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:PEDGes command installs a rising edge count measurement on screen. If the optional source parameter is not specified, the current source is measured.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:PEDGes? [<source>]

The :MEASure:NEDGes? query measures and returns the on-screen rising edge count.

Return Format

<value><NL>
<value> ::= the rising edge count in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:PERiod

:MEASure Commands

Name

:MEASure:PERiod —

Command Syntax

:MEASure:PERiod [<source>]
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
             | WMEMory<r>}
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:PERiod command installs a screen measurement and starts the period measurement. If the optional source parameter is specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:PERiod? [<source>]

The :MEASure:PERiod? query measures and outputs the period of the cycle closest to the trigger reference on the screen. The period is measured at the midpoint of the upper and lower thresholds.

IF the edge closest to the trigger reference on screen is rising:

THEN period = (time at trailing rising edge - time at leading rising edge)

ELSE period = (time at trailing falling edge - time at leading falling edge)

Return Format

<value><NL>
<value> ::= waveform period in seconds in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:NWIDth

  • :MEASure:PWIDth

  • :MEASure:FREQuency

Example Code

  • Example Code


:MEASure:PHASe

:MEASure Commands

Name

:MEASure:PHASe —

Command Syntax

:MEASure:PHASe [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:PHASe command places the instrument in the continuous measurement mode and starts a phase measurement.

Query Syntax

:MEASure:PHASe? [<source1>][,<source2>]

The :MEASure:PHASe? query measures and returns the phase between the specified sources.

A phase measurement is a combination of the period and delay measurements. First, the period is measured on source1. Then the delay is measured between source1 and source2. The edges used for delay are the source1 rising edge used for the period measurement closest to the horizontal reference and the rising edge on source 2. See :MEASure:DELay for more detail on selecting the 2nd edge.

The phase is calculated as follows:

phase = (delay / period of input 1) x 360

Return Format

<value><NL>
<value> ::= the phase angle value in degrees in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:DELay

  • :MEASure:PERiod

  • :MEASure:SOURce


:MEASure:PPULses

:MEASure Commands

Name

:MEASure:PPULses —

Command Syntax

:MEASure:PPULses [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>
   | <digital channels>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :MEASure:PPULses command installs a rising pulse count measurement on screen. If the optional source parameter is not specified, the current source is measured.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:PPULses? [<source>]

The :MEASure:PPULses? query measures and returns the on-screen rising pulse count.

Return Format

<value><NL>
<value> ::= the rising pulse count in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:PREShoot

:MEASure Commands

Name

:MEASure:PREShoot —

Command Syntax

:MEASure:PREShoot [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:PREShoot command installs a screen measurement and starts a preshoot measurement. If the optional source parameter is specified, the current source is modified.

Query Syntax

:MEASure:PREShoot? [<source>]

The :MEASure:PREShoot? query measures and returns the preshoot of the edge closest to the trigger, displayed on the screen. The method used to determine preshoot is to make three different vertical value measurements: Vtop, Vbase, and either Vmin or Vmax, depending on whether the edge is rising or falling.

For a rising edge:

preshoot = ((Vmin-Vbase) / (Vtop-Vbase)) x 100

For a falling edge:

preshoot = ((Vmax-Vtop) / (Vtop-Vbase)) x 100

Vtop and Vbase are taken from the normal histogram of all waveform vertical values. The extremum of Vmax or Vmin is taken from the waveform interval right before the chosen edge, halfway back to the previous edge. This more restricted definition is used instead of the normal one, because it is likely that a signal may have more overshoot than preshoot, and the normal extremum would then be dominated by the overshoot of the preceding edge.

Return Format

<value><NL>
<value> ::= the percent of preshoot of the selected waveform
            in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:VMIN

  • :MEASure:VMAX

  • :MEASure:VTOP

  • :MEASure:VBASe


:MEASure:PWIDth

:MEASure Commands

Name

:MEASure:PWIDth —

Command Syntax

:MEASure:PWIDth [<source>]
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
             | WMEMory<r>}
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:PWIDth command installs a screen measurement and starts the positive pulse width measurement. If the optional source parameter is specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:PWIDth? [<source>]

The :MEASure:PWIDth? query measures and outputs the width of the displayed positive pulse closest to the trigger reference. Pulse width is measured at the midpoint of the upper and lower thresholds.

IF the edge on the screen closest to the trigger is falling:

THEN width = (time at trailing falling edge - time at leading rising edge)

ELSE width = (time at leading falling edge - time at leading rising edge)

Return Format

<value><NL>
<value> ::= width of positive pulse in seconds in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:NWIDth

  • :MEASure:PERiod


:MEASure:QUICk

:MEASure Commands

Name

:MEASure:QUICk —

Command Syntax

:MEASure:QUICk <source>
<source> ::= {CHANnel<n>}

This command installs 10 common measurements on an analog input channel source.

See Also

  • Introduction to :MEASure Commands


:MEASure:RESults?

:MEASure Commands

Name

:MEASure:RESults? —

Query Syntax

:MEASure:RESults?

The :MEASure:RESults? query returns the results of the continuously displayed measurements. The response to the MEASure:RESults? query is a list of comma-separated values.

If more than one measurement is running continuously, the :MEASure:RESults return values are duplicated for each continuous measurement from the first to last (top to bottom) result displayed. Each result returned is separated from the previous result by a comma. There is a maximum of 10 continuous measurements that can be continuously displayed at a time.

When no measurements are installed, the :MEASure:RESults? query returns nothing (empty string). When the count for any of the measurements is 0, the value of infinity (9.9E+37) is returned for the min, max, mean, and standard deviation.

Return Format

<result_list><NL>
<result_list> ::= comma-separated list of measurement results

The following shows the order of values received for a single measurement if :MEASure:STATistics is set to ON.

Measurement label current min max mean std dev count

Measurement label, current, min, max, mean, std dev, and count are only returned if :MEASure:STATistics is ON.

If :MEASure:STATistics is set to CURRent, MIN, MAX, MEAN, STDDev, or COUNt only that particular statistic value is returned for each measurement that is on.

See Also

  • Introduction to :MEASure Commands

  • :MEASure:STATistics

  • Queries Not Supported in Multiple Program Message Units

Example Code

' This program shows the InfiniiVision oscilloscope measurement
' results command.
' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 10000   ' Set I/O communication timeout.

  ' Initialize.
  myScope.IO.Clear   ' Clear the interface.
  myScope.WriteString "*RST"   ' Reset to the defaults.
  myScope.WriteString "*CLS"   ' Clear the status data structures.
  myScope.WriteString ":AUToscale"

  ' Install some measurements.
  myScope.WriteString ":MEASure:SOURce CHANnel2"   ' Input source.

  Dim MeasurementArray(3) As String
  MeasurementArray(0) = "FREQuency"
  MeasurementArray(1) = "DUTYcycle"
  MeasurementArray(2) = "VAMPlitude"
  MeasurementArray(3) = "VPP"
  Dim Measurement As Variant

  For Each Measurement In MeasurementArray
    myScope.WriteString ":MEASure:" + Measurement
    myScope.WriteString ":MEASure:" + Measurement + "?"
    strQueryResult = myScope.ReadString   ' Read measurement value.
    Debug.Print Measurement + ": " + strQueryResult
  Next

  myScope.WriteString ":MEASure:STATistics:RESet"   ' Reset stats.
  Sleep 5000   ' Wait for 5 seconds.

  ' Select the statistics results type.
  Dim ResultsTypeArray(6) As String
  ResultsTypeArray(0) = "CURRent"
  ResultsTypeArray(1) = "MINimum"
  ResultsTypeArray(2) = "MAXimum"
  ResultsTypeArray(3) = "MEAN"
  ResultsTypeArray(4) = "STDDev"
  ResultsTypeArray(5) = "COUNt"
  ResultsTypeArray(6) = "ON"   ' All results.
  Dim ResultType As Variant

  Dim ResultsList()

  Dim ValueColumnArray(6) As String
  ValueColumnArray(0) = "Meas_Lbl"
  ValueColumnArray(1) = "Current"
  ValueColumnArray(2) = "Min"
  ValueColumnArray(3) = "Max"
  ValueColumnArray(4) = "Mean"
  ValueColumnArray(5) = "Std_Dev"
  ValueColumnArray(6) = "Count"
  Dim ValueColumn As Variant

  For Each ResultType In ResultsTypeArray
    myScope.WriteString ":MEASure:STATistics " + ResultType

    ' Get the statistics results.
    Dim intCounter As Integer
    intCounter = 0
    myScope.WriteString ":MEASure:RESults?"
    ResultsList() = myScope.ReadList

    For Each Measurement In MeasurementArray

      If ResultType = "ON" Then   ' All statistics.

        For Each ValueColumn In ValueColumnArray
          If VarType(ResultsList(intCounter)) <> vbString Then
            Debug.Print "Measure statistics result CH1, " + _
                Measurement + ", "; ValueColumn + ": " + _
                FormatNumber(ResultsList(intCounter), 4)

          Else   ' Result is a string (e.g., measurement label).
            Debug.Print "Measure statistics result CH1, " + _
                Measurement + ", "; ValueColumn + ": " + _
                ResultsList(intCounter)

          End If

          intCounter = intCounter + 1

        Next

      Else   ' Specific statistic (e.g., Current, Max, Min, etc.).

        Debug.Print "Measure statistics result CH1, " + _
            Measurement + ", "; ResultType + ": " + _
            FormatNumber(ResultsList(intCounter), 4)

        intCounter = intCounter + 1

      End If

    Next

  Next

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub


:MEASure:RISetime

:MEASure Commands

Name

:MEASure:RISetime —

Command Syntax

:MEASure:RISetime [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:RISetime command installs a screen measurement and starts a rise-time measurement. If the optional source parameter is specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:RISetime? [<source>]

The :MEASure:RISetime? query measures and outputs the rise time of the displayed rising (positive-going) edge closest to the timebase reference. For maximum measurement accuracy, set the sweep speed as fast as possible while leaving the leading edge of the waveform on the display. The rise time is determined by measuring the time at the lower threshold of the rising edge and the time at the upper threshold of the rising edge, then calculating the rise time with the following formula:

rise time = time at upper threshold - time at lower threshold

Return Format

<value><NL>
<value> ::= rise time in seconds in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:FALLtime

  • :MEASure:SLEWrate


:MEASure:SDEViation

:MEASure Commands

Name

:MEASure:SDEViation —

Command Syntax

:MEASure:SDEViation [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
[Note]

This ":MEASure:VRMS DISPlay, AC" command is the preferred syntax for making standard deviation measurements.

The :MEASure:SDEViation command installs a screen measurement and starts std deviation measurement. If the optional source parameter is specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:SDEViation? [<source>]

The :MEASure:SDEViation? query measures and outputs the std deviation of the selected waveform. The oscilloscope computes the std deviation on all displayed data points.

Return Format

<value><NL>
<value> ::= calculated std deviation value in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:VRMS

  • :MEASure:SOURce


:MEASure:SHOW

:MEASure Commands

Name

:MEASure:SHOW —

Command Syntax

:MEASure:SHOW <on_off>
<on_off> ::= {{0 | OFF} | {1 | ON}}

The :MEASure:SHOW command enables markers for tracking measurements on the display.

Query Syntax

:MEASure:SHOW?

The :MEASure:SHOW? query returns the current state of the markers.

This can return OFF when :MARKer:MODE selects a mode other than MEASurement.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MEASure Commands

  • :MARKer:MODE


:MEASure:SLEWrate

:MEASure Commands

Name

:MEASure:SLEWrate —

Command Syntax

:MEASure:SLEWrate [<source>[,<slope>]]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<slope> ::= {RISing | FALLing | EITHer}

The :MEASure:SLEWrate command installs a slew rate measurement on the oscilloscope's front-panel screen.

The slew rate of an edge is the change in vertical value between the lower and upper thresholds of a waveform source (typically volts) divided by the change in time between where the waveform threshold crossings take place.

The lower and upper thresholds for the measurement are specified by the measurement threshold settings for the source waveform (see :MEASure:DEFine). If the <source> parameter is not specified, the current :MEASure:SOURce setting is used

The on-screen edge closest to the timebase reference is measured.

You can specify that a RISing edge be measured, a FALLing edge be measured, or either a rising or a falling edge be measured (EITHer). If the <slope> is not specified, a rising edge is measured.

[Note]

This command is not available if the source is a FFT (Fast Fourier Transform) waveform.

Query Syntax

:MEASure:SLEWrate? [<source>[,<slope>]]

The :MEASure:SLEWrate? query returns the measured slew rate of the specified edge closest to the timebase reference.

Return Format

<value><NL>
<value> ::= slew rate in vertical units/second in NR3 format

See Also

  • :MEASure:DELay:DEFine

  • :MEASure:THResholds:ABSolute

  • :MEASure:THResholds:METHod

  • :MEASure:THResholds:PERCent

  • :MEASure:THResholds:STANdard

  • :MEASure:SOURce

  • :MEASure:RISetime

  • :MEASure:FALLtime

  • Introduction to :MEASure Commands


:MEASure:SOURce

:MEASure Commands

Name

:MEASure:SOURce —

Command Syntax

:MEASure:SOURce <source1>[,<source2>]
<source1>,<source2> ::= {<digital channels> | CHANnel<n> | FUNCtion<m>
   | MATH<m> | WMEMory<r>}
<digital channels> ::= DIGital<d>
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1-2 in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :MEASure:SOURce command sets the default sources for measurements. The specified sources are used as the sources for the MEASure subsystem commands if the sources are not explicitly set with the command.

If a source is specified for any measurement, the current source is changed to this new value.

If :MARKer:MODE is set to OFF or MANual, setting :MEASure:SOURce to CHANnel<n>, FUNCtion<m>, or MATH<m> will also set :MARKer:X1Y1source to source1 and :MARKer:X2Y2source to source2.

Query Syntax

:MEASure:SOURce?

The :MEASure:SOURce? query returns the current source selections. If source2 is not specified, the query returns "NONE" for source2. If all channels are off, the query returns "NONE,NONE". Source2 applies only to :MEASure:DELay and :MEASure:PHASe measurements.

[Note]

MATH<m> is an alias for FUNCtion<m>. The query will return FUNC<m> if the source is FUNCtion<m> or MATH<m>.

[Note]

FUNCtion or MATH (without the "<m>" math function number) is an alias for FUNCtion2 or MATH2. The query will return FUNC2 if the source is FUNCtion or MATH.

Return Format

<source1>,<source2><NL>
<source1>,<source2> ::= {<digital channels> | CHAN<n> | FUNC<m>
   | WMEM<r> | NONE}

See Also:

  • Introduction to :MEASure Commands

  • :MARKer:MODE

  • :MARKer:X1Y1source

  • :MARKer:X2Y2source

  • :MEASure:DELay

  • :MEASure:PHASe

Example Code

' This program shows InfiniiVision oscilloscope measure commands.
' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 10000   ' Set I/O communication timeout.

  ' Initialize.
  myScope.IO.Clear   ' Clear the interface.
  myScope.WriteString "*RST"   ' Reset to the defaults.
  myScope.WriteString "*CLS"   ' Clear the status data structures.
  myScope.WriteString ":AUToscale"

  ' MEASURE - The commands in the MEASure subsystem are used to make
  ' measurements on displayed waveforms.
  myScope.WriteString ":MEASure:SOURce CHANnel1"   ' Source to measure.
  myScope.WriteString ":MEASure:FREQuency?"   ' Query for frequency.
  varQueryResult = myScope.ReadNumber   ' Read frequency.
  MsgBox "Frequency:" + vbCrLf _
        + FormatNumber(varQueryResult / 1000, 4) + " kHz"
  myScope.WriteString ":MEASure:DUTYcycle?"   ' Query for duty cycle.
  varQueryResult = myScope.ReadNumber   ' Read duty cycle.
  MsgBox "Duty cycle:" + vbCrLf _
        + FormatNumber(varQueryResult, 3) + "%"
  myScope.WriteString ":MEASure:RISetime?"   ' Query for risetime.
  varQueryResult = myScope.ReadNumber   ' Read risetime.
  MsgBox "Risetime:" + vbCrLf _
        + FormatNumber(varQueryResult * 1000000, 4) + " us"
  myScope.WriteString ":MEASure:VPP?"   ' Query for Pk to Pk voltage.
  varQueryResult = myScope.ReadNumber   ' Read VPP.
  MsgBox "Peak to peak voltage:" + vbCrLf _
        + FormatNumber(varQueryResult, 4) + " V"
  myScope.WriteString ":MEASure:VMAX?"   ' Query for Vmax.
  varQueryResult = myScope.ReadNumber   ' Read Vmax.
  MsgBox "Maximum voltage:" + vbCrLf _
        + FormatNumber(varQueryResult, 4) + " V"

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub

See complete example programs at: Programming Examples


:MEASure:STATistics

:MEASure Commands

Name

:MEASure:STATistics —

Command Syntax

:MEASure:STATistics <type>
<type> ::= {{ON | 1} | CURRent | MINimum | MAXimum | MEAN | STDDev
           | COUNt}

The :MEASure:STATistics command determines the type of information returned by the :MEASure:RESults? query. ON means all the statistics are on.

Query Syntax

:MEASure:STATistics?

The :MEASure:STATistics? query returns the current statistics mode.

Return Format

<type><NL>
<type> ::= {ON | CURR | MIN | MAX | MEAN | STDD | COUN}

See Also

  • Introduction to :MEASure Commands

  • :MEASure:RESults?

  • :MEASure:STATistics:DISPlay

  • :MEASure:STATistics:RESet

  • :MEASure:STATistics:INCRement

Example Code

  • Example Code


:MEASure:STATistics:DISPlay

:MEASure Commands

Name

:MEASure:STATistics:DISPlay —

Command Syntax

:MEASure:STATistics:DISPlay {{0 | OFF} | {1 | ON}}

The :MEASure:STATistics:DISPlay command disables or enables the display of the measurement statistics.

Query Syntax

:MEASure:STATistics:DISPlay?

The :MEASure:STATistics:DISPlay? query returns the state of the measurement statistics display.

Return Format

{0 | 1}<NL>

See Also

  • Introduction to :MEASure Commands

  • :MEASure:RESults?

  • :MEASure:STATistics

  • :MEASure:STATistics:MCOunt

  • :MEASure:STATistics:RESet

  • :MEASure:STATistics:INCRement

  • :MEASure:STATistics:RSDeviation


:MEASure:STATistics:INCRement

:MEASure Commands

Name

:MEASure:STATistics:INCRement —

Command Syntax

:MEASure:STATistics:INCRement

This command updates the statistics once (incrementing the count by one) using the current measurement values.This command lets you, for example, gather statistics over multiple pulses captured in a single acquisition. To do this, change the horizontal position and enter the command for each new pulse that is measured.

This command is allowed only when the oscilloscope is stopped and measurements are on.

The command is allowed in segmented acquisition mode.

See Also

  • Introduction to :MEASure Commands

  • :MEASure:STATistics

  • :MEASure:STATistics:DISPlay

  • :MEASure:STATistics:RESet

  • :MEASure:RESults?


:MEASure:STATistics:MCOunt

:MEASure Commands

Name

:MEASure:STATistics:MCOunt —

Command Syntax

:MEASure:STATistics:MCOunt <setting>
<setting> ::= {INFinite | <count>}
<count> ::= 2 to 2000 in NR1 format

The :MEASure:STATistics:MCOunt command specifies the maximum number of values used when calculating measurement statistics.

Query Syntax

:MEASure:STATistics:MCOunt?

The :MEASure:STATistics:MCOunt? query returns the current measurement statistics max count setting.

Return Format

<setting><NL>
<setting> ::= {INF | <count>}
<count> ::= 2 to 2000

See Also

  • Introduction to :MEASure Commands

  • :MEASure:RESults?

  • :MEASure:STATistics

  • :MEASure:STATistics:DISPlay

  • :MEASure:STATistics:RSDeviation

  • :MEASure:STATistics:RESet

  • :MEASure:STATistics:INCRement


:MEASure:STATistics:RESet

:MEASure Commands

Name

:MEASure:STATistics:RESet —

Command Syntax

:MEASure:STATistics:RESet

This command resets the measurement statistics, zeroing the counts.

Note that the measurement (statistics) configuration is not deleted.

See Also

  • Introduction to :MEASure Commands

  • :MEASure:STATistics

  • :MEASure:STATistics:DISPlay

  • :MEASure:RESults?

  • :MEASure:STATistics:INCRement

Example Code

  • Example Code


:MEASure:STATistics:RSDeviation

:MEASure Commands

Name

:MEASure:STATistics:RSDeviation —

Command Syntax

:MEASure:STATistics:RSDeviation {{0 | OFF} | {1 | ON}}

The :MEASure:STATistics:RSDeviation command disables or enables relative standard deviations, that is, standard deviation/mean, in the measurement statistics.

Query Syntax

:MEASure:STATistics:RSDeviation?

The :MEASure:STATistics:RSDeviation? query returns the current relative standard deviation setting.

Return Format

{0 | 1}<NL>

See Also

  • Introduction to :MEASure Commands

  • :MEASure:RESults?

  • :MEASure:STATistics

  • :MEASure:STATistics:DISPlay

  • :MEASure:STATistics:MCOunt

  • :MEASure:STATistics:RESet

  • :MEASure:STATistics:INCRement


:MEASure:TEDGe

:MEASure Commands

Name

:MEASure:TEDGe —

Command Syntax

:MEASure:TEDGe [<slope>,]<occurrence>[,<source>]
<slope> ::= {RISing | FALLing | BOTH}
<occurrence> ::= [+ | -]<number>
<number> ::= the edge number in NR1 format
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
   | WMEMory<r>}
<digital channels> ::= DIGital<d>
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :MEASure:TEDGe command installs a screen measurement whose result is the time of the specified edge transition relative to the trigger edge (time=zero).

The threshold voltage used for this measurement is at the 50% point with a small amount of hysteresis added. You cannot change the threshold voltage used for this measurement with the :MEASure:DEFine command.

The optional <slope> parameter specifies whether to look for RISing edges or FALLing edges. If not otherwise specified, rising edges are assumed.

The <occurrence> parameter specifies the Nth edge to identify.

An <occurrence> value of zero (0) means the edge closest to the timebase reference; it is equivalent to the Auto selection in in the graphical user interface. The BOTH (both edges) <slope> option can be used only when the <occurrence> count is zero (0).

Any other <occurrence> value means the Nth edge from the left side of the display.

The <occurrence> parameter can optionally have a plus sign (+) or a minus sign (-) to specify a rising or falling slope. Plus or minus signs cannot be used when the <slope> parameter is used.

If the optional <source> parameter is not specified, the current :MEASure:SOURce setting is used.

[Note]

This command is not available if the source is a FFT (Fast Fourier Transform) waveform.

Query Syntax

:MEASure:TEDGe? [<slope>,]<occurrence>[,<source>]

When the :MEASure:TEDGe query is sent, the displayed signal is searched for the specified transition.

The time interval between the trigger event and the edge occurrence is returned.

If the specified crossing cannot be found, the oscilloscope returns +9.9E+37. This value is returned if the waveform does not cross the specified vertical value, or if the waveform does not cross the specified vertical value for the specific number of times in the direction specified.

Return Format

<value><NL>
<value> ::= time in seconds of the specified transition in NR3 format

:MEASure:TEDGe Code

You can use multiple :MEASure:TEDGe? measurements to form delay and phase measurements:

Delay = time at the Nth rising or falling edge of the channel - time at the same edge of another channel

Phase = (delay between channels / period of channel) x 360

For example:

' This program shows the InfiniiVision oscilloscope :MEASure:TEDGe
' command.
' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 10000   ' Set I/O communication timeout.

  ' Initialize.
  myScope.IO.Clear   ' Clear the interface.
  myScope.WriteString "*RST"   ' Reset to the defaults.
  myScope.WriteString "*CLS"   ' Clear the status data structures.
  myScope.WriteString ":AUToscale"

  ' Make a delay measurement between channel 1 and 2.
  Dim dblChan1Edge1 As Double
  Dim dblChan2Edge1 As Double
  Dim dblChan1Edge2 As Double
  Dim dblDelay As Double
  Dim dblPeriod As Double
  Dim dblPhase As Double

  ' Query time at 1st rising edge on ch1.
  myScope.WriteString ":MEASure:TEDGe? +1, CHAN1"

  ' Read time at edge 1 on ch 1.
  dblChan1Edge1 = myScope.ReadNumber

  ' Query time at 1st rising edge on ch2.
  myScope.WriteString ":MEASure:TEDGe? +1, CHAN2"

  ' Read time at edge 1 on ch 2.
  dblChan2Edge1 = myScope.ReadNumber

  ' Calculate delay time between ch1 and ch2.
  dblDelay = dblChan2Edge1 - dblChan1Edge1

  ' Write calculated delay time to screen.
  MsgBox "Delay = " + vbCrLf + CStr(dblDelay)

  ' Make a phase difference measurement between channel 1 and 2.
  ' Query time at 1st rising edge on ch1.
  myScope.WriteString ":MEASure:TEDGe? +2, CHAN1"

  ' Read time at edge 2 on ch 1.
  dblChan1Edge2 = myScope.ReadNumber

  ' Calculate period of ch 1.
  dblPeriod = dblChan1Edge2 - dblChan1Edge1

  ' Calculate phase difference between ch1 and ch2.
  dblPhase = (dblDelay / dblPeriod) * 360
  MsgBox "Phase = " + vbCrLf + CStr(dblPhase)

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub

See complete example programs at: Programming Examples

See Also

  • Introduction to :MEASure Commands

  • :MEASure:TVALue?

  • :MEASure:YATX

  • Commands Not Supported in Multiple Program Message Units

  • Queries Not Supported in Multiple Program Message Units


:MEASure:THResholds:ABSolute

:MEASure Commands

Name

:MEASure:THResholds:ABSolute —

Command Syntax

:MEASure:THResholds:ABSolute <upper>,<middle>,<lower>[,<source>]
<upper>,<middle>,<lower> ::= A number specifying the upper, middle,
   and lower threshold absolute values in NR3 format.
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:THResholds:ABSolute command sets the upper, middle, and lower measurement thresholds to absolute values.

ABSolute thresholds are dependent on channel scaling (:CHANnel<n>:RANGe or :CHANnel<n>:SCALe), probe attenuation (:CHANnel<n>:PROBe), and probe units (:CHANnel<n>:UNITs). Always set these values first before setting ABSolute thresholds

When <source> is not included in the command or query, the source identified by :MEASure:SOURce is used.

The ":MEASure:DEFine THResholds" command also lets you specify absolute measurement thresholds.

Query Syntax

:MEASure:THResholds:ABSolute? [<source>]

The :MEASure:THResholds:ABSolute? query returns the upper, middle, and lower measurement threshold absolute values.

Return Format

<upper>,<middle>,<lower><NL>
<upper>,<middle>,<lower> ::= A number specifying the upper, middle,
   and lower threshold absolute values in NR3 format.

See Also

  • :MEASure:THResholds:METHod

  • :MEASure:THResholds:PERCent

  • :MEASure:THResholds:STANdard

  • :CHANnel<n>:RANGe

  • :CHANnel<n>[:MAIN]:SCALe

  • :CHANnel<n>:PROBe

  • :CHANnel<n>:UNITs

  • :MEASure:SOURce

  • :MEASure:DELay:DEFine


:MEASure:THResholds:METHod

:MEASure Commands

Name

:MEASure:THResholds:METHod —

Command Syntax

:MEASure:THResholds:METHod <threshold_mode>[,<source>]
<threshold_mode> ::= {PERCent | ABSolute}
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:THResholds:METHod command specifies the method for entering measurement threshold values:

  • PERCent — Lets you set the measurement thresholds to user-defined percentages between 5% and 95% of values between Vbase and Vtop. See :MEASure:THResholds:PERCent.

  • ABSolute — Lets you set the measurement thresholds to absolute values. ABSolute thresholds are dependent on channel scaling (:CHANnel<n>:RANGe or :CHANnel<n>:SCALe), probe attenuation (:CHANnel<n>:PROBe), and probe units (:CHANnel<n>:UNITs). Always set these values first before setting ABSolute thresholds. See :MEASure:THResholds:ABSolute.

When <source> is not included in the command or query, the source identified by :MEASure:SOURce is used.

The ":MEASure:DEFine THResholds" command also lets you specify percent or absolute measurement thresholds.

Query Syntax

:MEASure:THResholds:METHod? [<source>]

The :MEASure:THResholds:METHod? query returns the selected measurement threshold entry method.

Return Format

<threshold_mode><NL>
<threshold_mode> ::= {PERC | ABS}

See Also

  • :MEASure:THResholds:ABSolute

  • :MEASure:THResholds:PERCent

  • :MEASure:THResholds:STANdard

  • :MEASure:SOURce

  • :MEASure:DELay:DEFine


:MEASure:THResholds:PERCent

:MEASure Commands

Name

:MEASure:THResholds:PERCent —

Command Syntax

:MEASure:THResholds:PERCent <upper>,<middle>,<lower>[,<source>]
<upper>,<middle>,<lower> ::= A number specifying the upper, middle,
   and lower threshold percentage values between Vbase and Vtop
   in NR3 format.
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:THResholds:PERCent command sets the upper, middle, and lower measurement thresholds to user-defined percentages between 5% and 95% of values between Vbase and Vtop.

When <source> is not included in the command or query, the source identified by :MEASure:SOURce is used.

The ":MEASure:DEFine THResholds" command also lets you specify percent measurement thresholds.

Query Syntax

:MEASure:THResholds:PERCent? [<source>]

The :MEASure:THResholds:PERCent? query returns the upper, middle, and lower measurement threshold percent values.

Return Format

<upper>,<middle>,<lower><NL>
<upper>,<middle>,<lower> ::= A number specifying the upper, middle,
   and lower threshold percentage values between Vbase and Vtop
   in NR3 format.

See Also

  • :MEASure:THResholds:ABSolute

  • :MEASure:THResholds:METHod

  • :MEASure:THResholds:STANdard

  • :MEASure:SOURce

  • :MEASure:DELay:DEFine


:MEASure:THResholds:STANdard

:MEASure Commands

Name

:MEASure:THResholds:STANdard —

Command Syntax

:MEASure:THResholds:STANdard [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:THResholds:STANdard command sets the lower, middle, and upper measurement thresholds to 10%, 50%, and 90% values between Vbase and Vtop.

When <source> is not included in the command, the source identified by :MEASure:SOURce is used.

The ":MEASure:DEFine THResholds" command also lets you set standard measurement thresholds.

See Also

  • :MEASure:THResholds:ABSolute

  • :MEASure:THResholds:METHod

  • :MEASure:THResholds:PERCent

  • :MEASure:SOURce

  • :MEASure:DELay:DEFine


:MEASure:TIEClock

:MEASure Commands

Name

:MEASure:TIEClock —

Command Syntax

[Note]

This measurement is available when the optional jitter analysis feature is licensed

:MEASure:TIEClock <config>
<config> ::= <source>, {SECond | UNITinterval}, <direction>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<direction> ::= {RISing | FALLing | BOTH}

The :MEASure:TIEClock command installs a clock TIE jitter measurement on screen.

The Clock TIE (Time Interval Error) jitter measurement compares edges in a clock signal with the edges in an ideal clock signal determined by the clock recovery feature. To change the clock recovery method, see :CLOCk:METHod.

Once the ideal clock frequency is determined, all of the cycles of your waveform are compared to the ideal clock frequency and the error statistics are computed. The following figure shows how the Clock TIE is measured on rising edges of the clock.

The measurement is made on all the cycles of the waveform. Even in Zoom mode, all the cycles of the waveform in the Main window will be measured.

Query Syntax

:MEASure:TIEClock? <config>

The :MEASure:TIEClock? query measures and returns the Clock TIE jitter value.

Return Format

<value><NL>
<value> ::= Clock TIE jitter in NR3 format

See Also

  • :MEASure:TIEData

  • :JITTer Commands


:MEASure:TIEData

:MEASure Commands

Name

:MEASure:TIEData —

Command Syntax

[Note]

This measurement is available when the optional jitter analysis feature is licensed

:MEASure:TIEData <config>
<config> ::= <source>, {SECond | UNITinterval}
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:TIEData command installs a data TIE jitter measurement on screen.

The Data TIE (Time Interval Error) jitter measurement compares edges in a data signal with the edges in an ideal data signal determined by the clock recovery feature. To change the clock recovery method, see :CLOCk:METHod.

Once the ideal data rate is determined, all of the data intervals are measured with respect to the ideal data rate and the error statistics are computed. The following figure shows how the Data TIE is measured on rising edges of the data.

The measurement is made on all the cycles of the waveform. Even in Zoom mode, all the cycles of the waveform in the Main window will be measured.

Query Syntax

:MEASure:TIEData? <config>

The :MEASure:TIEData? query measures and returns the Data TIE jitter value.

Return Format

<value><NL>
<value> ::= Clock TIE jitter in NR3 format

See Also

  • :MEASure:TIEClock

  • :JITTer Commands


:MEASure:TVALue?

:MEASure Commands

Name

:MEASure:TVALue? —

Query Syntax

:MEASure:TVALue? <value>, [<slope>]<occurrence>[,<source>]
<value> ::= the vertical value that the waveform must cross.  The
            value can be volts or a math function value such as dB,
            Vs, or V/s.
<slope> ::= direction of the waveform.  A rising slope is indicated
            by a plus sign (+).  A falling edge is indicated by a
            minus sign (-).
<occurrence> ::= the transition to be reported. If the occurrence
                 number is one, the first crossing is reported.  If
                 the number is two, the second crossing is reported,
                 etc.
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

When the :MEASure:TVALue? query is sent, the displayed signal is searched for the specified value level and transition. The time interval between the trigger event and this defined occurrence is returned as the response to the query.

The specified value can be negative or positive. To specify a negative value, use a minus sign (-). The sign of the slope selects a rising (+) or falling (-) edge. If no sign is specified for the slope, it is assumed to be the rising edge.

The magnitude of the occurrence defines the occurrence to be reported. For example, +3 returns the time for the third time the waveform crosses the specified value level in the positive direction. Once this value crossing is found, the oscilloscope reports the time at that crossing in seconds, with the trigger point (time zero) as the reference.

If the specified crossing cannot be found, the oscilloscope reports +9.9E+37. This value is returned if the waveform does not cross the specified value, or if the waveform does not cross the specified value for the specified number of times in the direction specified.

If the optional source parameter is specified, the current source is modified.

[Note]

This query is not available if the source is FFT (Fast Fourier Transform).

Return Format

<value><NL>
<value> ::= time in seconds of the specified value crossing in
            NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:TEDGe

  • :MEASure:YATX


:MEASure:VAMPlitude

:MEASure Commands

Name

:MEASure:VAMPlitude —

Command Syntax

:MEASure:VAMPlitude [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VAMPlitude command installs a screen measurement and starts a vertical amplitude measurement. If the optional source parameter is specified, the current source is modified.

Query Syntax

:MEASure:VAMPlitude? [<source>]

The :MEASure:VAMPlitude? query measures and returns the vertical amplitude of the waveform. To determine the amplitude, the instrument measures Vtop and Vbase, then calculates the amplitude as follows:

vertical amplitude = Vtop - Vbase

Return Format

<value><NL>
<value> ::= the amplitude of the selected waveform in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:VBASe

  • :MEASure:VTOP

  • :MEASure:VPP


:MEASure:VAVerage

:MEASure Commands

Name

:MEASure:VAVerage —

Command Syntax

:MEASure:VAVerage [<interval>][,<source>]
<interval> ::= {CYCLe | DISPlay}
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>}
<n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VAVerage command installs a screen measurement and starts an average value measurement.

The <interval> option lets you specify the measurement interval: either an integral number of cycles, or the full screen. If <interval> is not specified, DISPlay is implied.

If the optional source parameter is specified, the current source is modified.

Query Syntax

:MEASure:VAVerage? [<interval>][,<source>]

The :MEASure:VAVerage? query returns the average value of an integral number of periods of the signal.

Return Format

<value><NL>
<value> ::= calculated average value in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:VBASe

:MEASure Commands

Name

:MEASure:VBASe —

Command Syntax

:MEASure:VBASe [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VBASe command installs a screen measurement and starts a waveform base value measurement. If the optional source parameter is specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:VBASe? [<source>]

The :MEASure:VBASe? query returns the vertical value at the base of the waveform. The base value of a pulse is normally not the same as the minimum value.

Return Format

<base_voltage><NL>
<base_voltage> ::= value at the base of the selected waveform in
                   NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:VTOP

  • :MEASure:VAMPlitude

  • :MEASure:VMIN


:MEASure:VMAX

:MEASure Commands

Name

:MEASure:VMAX —

Command Syntax

:MEASure:VMAX [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>}
<n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VMAX command installs a screen measurement and starts a maximum vertical value measurement. If the optional source parameter is specified, the current source is modified.

Query Syntax

:MEASure:VMAX? [<source>]

The :MEASure:VMAX? query measures and outputs the maximum vertical value present on the selected waveform.

Return Format

<value><NL>
<value> ::= maximum vertical value of the selected waveform in
            NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:VMIN

  • :MEASure:VPP

  • :MEASure:VTOP


:MEASure:VMIN

:MEASure Commands

Name

:MEASure:VMIN —

Command Syntax

:MEASure:VMIN [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VMIN command installs a screen measurement and starts a minimum vertical value measurement. If the optional source parameter is specified, the current source is modified.

Query Syntax

:MEASure:VMIN? [<source>]

The :MEASure:VMIN? query measures and outputs the minimum vertical value present on the selected waveform.

Return Format

<value><NL>
<value> ::= minimum vertical value of the selected waveform in
            NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:VBASe

  • :MEASure:VMAX

  • :MEASure:VPP


:MEASure:VPP

:MEASure Commands

Name

:MEASure:VPP —

Command Syntax

:MEASure:VPP [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VPP command installs a screen measurement and starts a vertical peak-to-peak measurement. If the optional source parameter is specified, the current source is modified.

Query Syntax

:MEASure:VPP? [<source>]

The :MEASure:VPP? query measures the maximum and minimum vertical value for the selected source, then calculates the vertical peak-to-peak value and returns that value. The peak-to-peak value (Vpp) is calculated with the following formula:

Vpp = Vmax - Vmin

Vmax and Vmin are the vertical maximum and minimum values present on the selected source.

Return Format

<value><NL>
<value> ::= vertical peak to peak value in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:VMAX

  • :MEASure:VMIN

  • :MEASure:VAMPlitude


:MEASure:VRATio

:MEASure Commands

Name

:MEASure:VRATio —

Command Syntax

:MEASure:VRATio [<interval>][,<source1>][,<source2>]
<interval> ::= {CYCLe | DISPlay}
<source1,2> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VRATio command installs a ratio measurement on screen. Ratio measurements show the ratio of the ACRMS value of source1 to that of source2, expressed in dB.

The <interval> option lets you specify the measurement interval: either an integral number of cycles, or the full screen. If <interval> is not specified, DISPlay is implied.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:VRATio? [<interval>][<source1>][,<source2>]

The :MEASure:VRATio? query measures and returns the ratio of AC RMS values of the specified sources expressed as dB.

Return Format

<value><NL>
<value> ::= the ratio value in dB in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:VRMS

  • :MEASure:SOURce


:MEASure:VRMS

:MEASure Commands

Name

:MEASure:VRMS —

Command Syntax

:MEASure:VRMS [<interval>][,<type>][,<source>]
<interval> ::= {CYCLe | DISPlay}
<type> ::= {AC | DC}
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VRMS command installs a screen measurement and starts an RMS value measurement.

The <interval> option lets you specify the measurement interval: either an integral number of cycles, or the full screen. If <interval> is not specified, DISPlay is implied.

The <type> option lets you choose between a DC RMS measurement and an AC RMS measurement. If <type> is not specified, DC is implied.

If the optional source parameter is specified, the current source is modified.

[Note]

This command is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:VRMS? [<interval>][,<type>][,<source>]

The :MEASure:VRMS? query measures and outputs the RMS measurement value.

Return Format

<value><NL>
<value> ::= calculated dc RMS value in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:VTOP

:MEASure Commands

Name

:MEASure:VTOP —

Command Syntax

:MEASure:VTOP [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>}
<n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VTOP command installs a screen measurement and starts a waveform top value measurement.

[Note]

This query is not available if the source is FFT (Fast Fourier Transform).

Query Syntax

:MEASure:VTOP? [<source>]

The :MEASure:VTOP? query returns the vertical value at the top of the waveform. The top value of the pulse is normally not the same as the maximum value.

Return Format

<value><NL>
<value> ::= vertical value at the top of the waveform in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:VMAX

  • :MEASure:VAMPlitude

  • :MEASure:VBASe


:MEASure:WINDow

:MEASure Commands

Name

:MEASure:WINDow —

Command Syntax

:MEASure:WINDow <type>
<type> ::= {MAIN | ZOOM | AUTO | GATE}

The :MEASure:WINDow command lets you choose whether measurements are made in the Main window portion of the display, the Zoom window portion of the display (when the zoomed time base is displayed), or gated by the X1 and X2 cursors.

  • MAIN — the measurement window is the Main window.

  • ZOOM — the measurement window is the lower, Zoom window.

  • AUTO — when the zoomed time base is displayed, the measurement is attempted in the lower, Zoom window; if it cannot be made there, or if the zoomed time base is not displayed, the Main window is used.

  • GATE — the measurement window is between the X1 and X2 cursors. When the zoomed time base is displayed, the X1 and X2 cursors in the Zoom window portion of the display are used.

Query Syntax

:MEASure:WINDow?

The :MEASure:WINDow? query returns the current measurement window setting.

Return Format

<type><NL>
<type> ::= {MAIN | ZOOM | AUTO | GATE}

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce


:MEASure:XMAX

:MEASure Commands

Name

:MEASure:XMAX —

Command Syntax

:MEASure:XMAX [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>}
<n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:XMAX command installs a screen measurement and starts an X-at-Max-Y measurement on the selected window. If the optional source parameter is specified, the current source is modified.

[Note]

:MEASure:XMAX is an alias for :MEASure:TMAX.

Query Syntax

:MEASure:XMAX? [<source>]

The :MEASure:XMAX? query measures and returns the horizontal axis value at which the maximum vertical value occurs. If the optional source is specified, the current source is modified.

Return Format

<value><NL>
<value> ::= horizontal value of the maximum in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:XMIN


:MEASure:XMIN

:MEASure Commands

Name

:MEASure:XMIN —

Command Syntax

:MEASure:XMIN [<source>]
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | FFT | WMEMory<r>}
<n> ::= 1-2 or 1-4 (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:XMIN command installs a screen measurement and starts an X-at-Min-Y measurement on the selected window. If the optional source parameter is specified, the current source is modified.

[Note]

:MEASure:XMIN is an alias for :MEASure:TMIN.

Query Syntax

:MEASure:XMIN? [<source>]

The :MEASure:XMIN? query measures and returns the horizontal axis value at which the minimum vertical value occurs. If the optional source is specified, the current source is modified.

Return Format

<value><NL>
<value> ::= horizontal value of the minimum in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:XMAX


:MEASure:YATX

:MEASure Commands

Name

:MEASure:YATX —

Command Syntax

:MEASure:YATX <horiz_location>[,<source>]
<horiz_location> ::= time from trigger in seconds
<source> ::= {<digital channels> | CHANnel<n> | FUNCtion<m> | MATH<m>
             | FFT | WMEMory<r>}
<digital channels> ::= DIGital<d>
<d> ::= 0 to (# digital channels - 1) in NR1 format
<n> ::= 1 to (# of analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:YATX command installs a screen measurement of the vertical value at a specified horizontal value on the source specified (see also :MEASure:SOURce).

The specified horizontal value must be on the screen; when it is a time value, it is referenced to the trigger event. If the optional source parameter is specified, the measurement source is modified.

[Note]

When the source is an FFT (Fast Fourier Transform) waveform, the <horiz_location> is a frequency value instead of a time value.

Query Syntax

:MEASure:YATX? <horiz_location>[,<source>]

The :MEASure:YATX? query returns the vertical value at a specified horizontal value on the source specified (see also :MEASure:SOURce).

Return Format

<value><NL>
<value> ::= vertical value at the specified horizontal location
            in NR3 format

See Also

  • Introduction to :MEASure Commands

  • :MEASure:SOURce

  • :MEASure:TEDGe

  • :MEASure:TVALue?


:MEASure Power Commands

These :MEASure commands are available when the power measurements and analysis application is licensed and enabled.

:MEASure Power Commands Summary:

Command | Query | Options and Query Returns
:MEASure:ANGLe [<source1>][,<source2>] | :MEASure:ANGLe? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the power phase angle in degrees in NR3 format
:MEASure:APParent [<source1>][,<source2>] | :MEASure:APParent? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the apparent power value in NR3 format
:MEASure:CPLoss [<source1>][,<source2>] | :MEASure:CPLoss? [<source1>][,<source2>] | <source1>, <source2> <source1> ::= {FUNCtion<m> | MATH<m>} <source2> ::= {CHANnel<n>} <m> ::= 1 to (# math functions) in NR1 format <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the switching loss per cycle watts value in NR3 format
:MEASure:CRESt [<source>] | :MEASure:CRESt? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= the crest factor value in NR3 format
:MEASure:EFFiciency | :MEASure:EFFiciency? | <return_value> ::= percent value in NR3 format
:MEASure:ELOSs [<source>] | :MEASure:ELOSs? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the energy loss value in NR3 format
:MEASure:FACTor [<source1>][,<source2>] | :MEASure:FACTor? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the power factor value in NR3 format
:MEASure:IPOWer | :MEASure:IPOWer? | <return_value> ::= the input power value in NR3 format
:MEASure:OFFTime [<source1>][,<source2>] | :MEASure:OFFTime? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the time in seconds in NR3 format
:MEASure:ONTime [<source1>][,<source2>] | :MEASure:ONTime? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the time in seconds in NR3 format
:MEASure:OPOWer | :MEASure:OPOWer? | <return_value> ::= the output power value in NR3 format
:MEASure:PCURrent [<source>] | :MEASure:PCURrent? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the peak current value in NR3 format
:MEASure:PLOSs [<source>] | :MEASure:PLOSs? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the power loss value in NR3 format
:MEASure:RDSon [<source1>][,<source2>] | :MEASure:RDSon? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the Rds(on) value in NR3 format
:MEASure:REACtive [<source1>][,<source2>] | :MEASure:REACtive? [<source1>][,<source2>] | <source1>, <source2> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <return_value> ::= the reactive power value in NR3 format
:MEASure:REAL [<source>] | :MEASure:REAL? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <return_value> ::= the real power value in NR3 format
:MEASure:RIPPle [<source>] | :MEASure:RIPPle? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the output ripple value in NR3 format
:MEASure:TRESponse [<source>] | :MEASure:TRESponse? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= time in seconds for the overshoot to settle back into the band in NR3 format
:MEASure:VCESat [<source>] | :MEASure:VCESat? [<source>] | <source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <return_value> ::= the Vce(sat) value in NR3 format


:MEASure:ANGLe

:MEASure Power Commands

Name

:MEASure:ANGLe —

Command Syntax

:MEASure:ANGLe [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:ANGLe command installs a power phase angle measurement on screen.

The <source1> parameter is the channel probing voltage and the <source2> parameter is the channel probing current. These sources can also be specified by the :MEASure:SOURce command.

Phase angle is a measure of power quality. In the power triangle (the right triangle where apparent_power2 = real_power2 + reactive_power2), phase angle is the angle between the apparent power and the real power, indicating the amount of reactive power. Small phase angles equate to less reactive power.

Query Syntax

:MEASure:ANGLe? [<source1>][,<source2>]

The :MEASure:ANGLe query returns the measured power phase angle in degrees.

Return Format

<return_value><NL>
<return_value> ::= the power phase angle in degrees in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:QUALity:APPLy


:MEASure:APParent

:MEASure Power Commands

Name

:MEASure:APParent —

Command Syntax

:MEASure:APParent [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:APParent command installs an apparent power measurement on screen.

The <source1> parameter is the channel probing voltage and the <source2> parameter is the channel probing current. These sources can also be specified by the :MEASure:SOURce command.

Apparent power is a measure of power quality. It is the portion of AC line power flow due to stored energy which returns to the source in each cycle.

IRMS * VRMS

Query Syntax

:MEASure:APParent? [<source1>][,<source2>]

The :MEASure:APParent query returns the measured apparent power.

Return Format

<return_value><NL>
<return_value> ::= the apparent power value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:QUALity:APPLy


:MEASure:CPLoss

:MEASure Power Commands

Name

:MEASure:CPLoss —

Command Syntax

:MEASure:CPLoss [<source1>][,<source2>]
<source1> ::= {FUNCtion<m> | MATH<m>}
<source2> ::= {CHANnel<n>}
<m> ::= 1 to (# math functions) in NR1 format
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:CPLoss command installs a power loss per cycle measurement on screen.

The <source1> parameter is typically a math multiply waveform or other waveform that represents power (voltage * current). This source can also be specified by the :MEASure:SOURce command.

Power loss per cycle is Pn = (Vdsn * Idn ) * ( Time range of zoom window) * ( Counter measurement of the voltage of the switching signal), where n is each sample.

This measurement operates when in zoom mode and the counter measurement is installed on the voltage of the switching signal.

Query Syntax

:MEASure:CPLoss? [<source1>][,<source2>]

The :MEASure:CPLoss query returns the switching loss per cycle in watts.

Return Format

<return_value><NL>
<return_value> ::= the switching loss per cycle value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:SWITch:APPLy


:MEASure:CRESt

:MEASure Power Commands

Name

:MEASure:CRESt —

Command Syntax

:MEASure:CRESt [<source>]
<source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format

The :MEASure:CRESt command installs a crest factor measurement on screen.

The <source> parameter is the channel probing current or voltage. This source can also be specified by the :MEASure:SOURce command.

Crest factor is a measure of power quality. It is the ratio between the instantaneous peak AC line current (or voltage) required by the load and the RMS current (or voltage). For example: Ipeak / IRMS or Vpeak / VRMS.

Query Syntax

:MEASure:CRESt? [<source>]

The :MEASure:CRESt query returns the measured crest factor.

Return Format

<return_value><NL>
<return_value> ::= the crest factor value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:QUALity:APPLy


:MEASure:EFFiciency

:MEASure Power Commands

Name

:MEASure:EFFiciency —

Command Syntax

:MEASure:EFFiciency

The :MEASure:EFFiciency command installs an efficiency (output power / input power) measurement on screen.

Before sending this command or query, you must specify the channels probing the input voltage, input current, output voltage, and output current (using the :POWer:SIGNals:SOURce:VOLTage<i> and :POWer:SIGNals:SOURce:CURRent<i> commands) and you must perform the automated signals setup (using the :POWer:SIGNals:AUTosetup EFFiciency command).

Query Syntax

:MEASure:EFFiciency?

The :MEASure:EFFiciency query returns the measured efficiency as a percent value.

Return Format

<return_value><NL>
<return_value> ::= percent value in NR3 format

See Also

  • :POWer:SIGNals:SOURce:VOLTage<i>

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:AUTosetup

  • :POWer:EFFiciency:APPLy


:MEASure:ELOSs

:MEASure Power Commands

Name

:MEASure:ELOSs —

Command Syntax

:MEASure:ELOSs [<source>]
<source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:ELOSs command installs an energy loss measurement on screen.

The <source> parameter is typically a math multiply waveform or other waveform that represents power (voltage * current). This source can also be specified by the :MEASure:SOURce command.

Energy loss = ∑ (Vdsn * Idn) * sample size, where n is each sample.

Query Syntax

:MEASure:ELOSs? [<source>]

The :MEASure:ELOSs query returns the switching loss in joules.

Return Format

<return_value><NL>
<return_value> ::= the energy loss value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:SWITch:APPLy


:MEASure:FACTor

:MEASure Power Commands

Name

:MEASure:FACTor —

Command Syntax

:MEASure:FACTor [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:FACTor command installs a power factor measurement on screen.

The <source1> parameter is the channel probing voltage and the <source2> parameter is the channel probing current. These sources can also be specified by the :MEASure:SOURce command.

Power factor is a measure of power quality. It is the ratio of the actual AC line power to the apparent power:

Real Power / Apparent Power

Query Syntax

:MEASure:FACTor? [<source1>][,<source2>]

The :MEASure:FACTor query returns the measured power factor.

Return Format

<return_value><NL>
<return_value> ::= the power factor value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:QUALity:APPLy


:MEASure:IPOWer

:MEASure Power Commands

Name

:MEASure:IPOWer —

Command Syntax

:MEASure:IPOWer

The :MEASure:IPOWer command installs an input power measurement on screen.

Before sending this command or query, you must specify the channels probing the input voltage, input current, output voltage, and output current (using the :POWer:SIGNals:SOURce:VOLTage<i> and :POWer:SIGNals:SOURce:CURRent<i> commands) and you must perform the automated signals setup (using the :POWer:SIGNals:AUTosetup EFFiciency command).

Query Syntax

:MEASure:IPOWer?

The :MEASure:IPOWer query returns the measured input power.

Return Format

<return_value><NL>
<return_value> ::= the input power value in NR3 format

See Also

  • :POWer:SIGNals:SOURce:VOLTage<i>

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:AUTosetup

  • :POWer:EFFiciency:APPLy


:MEASure:OFFTime

:MEASure Power Commands

Name

:MEASure:OFFTime —

Command Syntax

:MEASure:OFFTime [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:OFFTime command installs an "off time" measurement on screen.

Turn off time measures the difference of time between when the input AC Voltage last falls to 10% of its maximum amplitude to the time when the output DC Voltage last falls to 10% of its maximum amplitude.

The <source1> parameter is the AC Voltage and the <source2> parameter is the DC Voltage. These sources can also be specified by the :MEASure:SOURce command.

Query Syntax

:MEASure:OFFTime? [<source1>][,<source2>]

The :MEASure:OFFTime query returns the measured turn off time.

Return Format

<return_value><NL>
<return_value> ::= the time in seconds in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:ONOFf:TEST

  • :POWer:ONOFf:APPLy


:MEASure:ONTime

:MEASure Power Commands

Name

:MEASure:ONTime —

Command Syntax

:MEASure:ONTime [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:ONTime command installs an "on time" measurement on screen.

Turn on time measures the difference of time between when the input AC Voltage first rises to 10% of its maximum amplitude to the time when the output DC Voltage rises to 90% of its maximum amplitude.

The <source1> parameter is the AC Voltage and the <source2> parameter is the DC Voltage. These sources can also be specified by the :MEASure:SOURce command.

Query Syntax

:MEASure:ONTime? [<source1>][,<source2>]

The :MEASure:ONTime query returns the measured turn off time.

Return Format

<return_value><NL>
<return_value> ::= the time in seconds in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:ONOFf:TEST

  • :POWer:ONOFf:APPLy


:MEASure:OPOWer

:MEASure Power Commands

Name

:MEASure:OPOWer —

Command Syntax

:MEASure:OPOWer

The :MEASure:OPOWer command installs an output power measurement on screen.

Before sending this command or query, you must specify the channels probing the input voltage, input current, output voltage, and output current (using the :POWer:SIGNals:SOURce:VOLTage<i> and :POWer:SIGNals:SOURce:CURRent<i> commands) and you must perform the automated signals setup (using the :POWer:SIGNals:AUTosetup EFFiciency command).

Query Syntax

:MEASure:OPOWer?

The :MEASure:OPOWer query returns the measured output power.

Return Format

<return_value><NL>
<return_value> ::= the output power value in NR3 format

See Also

  • :POWer:SIGNals:SOURce:VOLTage<i>

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:AUTosetup

  • :POWer:EFFiciency:APPLy


:MEASure:PCURrent

:MEASure Power Commands

Name

:MEASure:PCURrent —

Command Syntax

:MEASure:PCURrent [<source>]
<source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:PCURrent command installs a peak current measurement on screen.

The <source> parameter is the channel probing the current. This source can also be specified by the :MEASure:SOURce command.

This command measures the peak current when the power supply first turned on.

Query Syntax

:MEASure:PCURrent? [<source>]

The :MEASure:PCURrent query returns the measured peak current.

Return Format

<return_value><NL>
<return_value> ::= the peak current value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:INRush:APPLy


:MEASure:PLOSs

:MEASure Power Commands

Name

:MEASure:PLOSs —

Command Syntax

:MEASure:PLOSs [<source>]
<source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:PLOSs command installs a power loss measurement on screen.

The <source> parameter is typically a math multiply waveform or other waveform that represents power (voltage * current). This source can also be specified by the :MEASure:SOURce command.

Power loss is Pn = Vdsn * Idn, where n is each sample.

Query Syntax

:MEASure:PLOSs? [<source>]

The :MEASure:PLOSs query returns the switching loss in watts.

Return Format

<return_value><NL>
<return_value> ::= the power loss value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:SWITch:APPLy


:MEASure:RDSon

:MEASure Power Commands

Name

:MEASure:RDSon —

Command Syntax

:MEASure:RDSon [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n>| FUNCtion<m> | MATH<m>
   | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:RDSon command installs a power Rds(on) measurement on screen.

Rds(on) is the ON resistance between the drain and source of MOSFET. The Rds(on) characteristic is also published in the switching device data sheet.

Query Syntax

:MEASure:RDSon? [<source1>][,<source2>]

The :MEASure:RDSon? query returns the measured Rds(on) value.

Return Format

<return_value><NL>
<return_value> ::= the Rds(on) value in NR3 format

See Also

  • :MEASure:VCESat


:MEASure:REACtive

:MEASure Power Commands

Name

:MEASure:REACtive —

Command Syntax

:MEASure:REACtive [<source1>][,<source2>]
<source1>, <source2> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :MEASure:REACtive command installs a reactive power measurement on screen.

The <source1> parameter is the channel probing voltage and the <source2> parameter is the channel probing current. These sources can also be specified by the :MEASure:SOURce command.

Reactive power is a measure of power quality. It is the difference between apparent power and real power due to reactance. Using the power triangle (the right triangle where apparent_power2 = real_power2 + reactive_power2):

Reactive power is measured in VAR (Volts-Amps-Reactive).

Query Syntax

:MEASure:REACtive? [<source1>][,<source2>]

The :MEASure:REACtive query returns the measured reactive power.

Return Format

<return_value><NL>
<return_value> ::= the reactive power value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:QUALity:APPLy


:MEASure:REAL

:MEASure Power Commands

Name

:MEASure:REAL —

Command Syntax

:MEASure:REAL [<source>]
<source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format

The :MEASure:REAL command installs a real power measurement on screen.

The <source> parameter is typically a math multiply waveform or other waveform that represents power (voltage * current). This source can also be specified by the :MEASure:SOURce command.

Real power is a measure of power quality. It is the portion of power flow that, averaged over a complete cycle of the AC waveform, results in net transfer of energy in one direction.

Query Syntax

:MEASure:REAL? [<source>]

The :MEASure:REAL query returns the measured real power.

Return Format

<return_value><NL>
<return_value> ::= the real power value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:QUALity:APPLy


:MEASure:RIPPle

:MEASure Power Commands

Name

:MEASure:RIPPle —

Command Syntax

:MEASure:RIPPle [<source>]
<source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:RIPPle command installs an output ripple measurement on screen.

The <source> parameter is the channel probing the output voltage. This source can also be specified by the :MEASure:SOURce command.

Output ripple is: Vmax - Vmin.

Query Syntax

:MEASure:RIPPle? [<source>]

The :MEASure:RIPPle query returns the measured output ripple.

Return Format

<return_value><NL>
<return_value> ::= the output ripple value in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:RIPPle:APPLy


:MEASure:TRESponse

:MEASure Power Commands

Name

:MEASure:TRESponse —

Command Syntax

:MEASure:TRESponse [<source>]
<source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:TRESponse command installs a transient response time measurement on screen.

The <source> parameter is the channel probing the output voltage. This source can also be specified by the :MEASure:SOURce command.

Transient response time = t2 – t1, where:

  • t1 = The first time a voltage waveform exits the settling band.

  • t2 = The last time it enters into the settling band.

  • Settling band = +/-overshoot % of the steady state output voltage.

Query Syntax

:MEASure:TRESponse? [<source>]

The :MEASure:TRESponse query returns the measured transient response time.

Return Format

<return_value><NL>
<return_value> ::= time in seconds for the overshoot to settle back
                   into the band in NR3 format

See Also

  • :MEASure:SOURce

  • :POWer:TRANsient:APPLy


:MEASure:VCESat

:MEASure Power Commands

Name

:MEASure:VCESat —

Command Syntax

:MEASure:VCESat [<source>]
<source> ::= {CHANnel<n>| FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :MEASure:VCESat command installs a power Vce(sat) measurement on screen.

Vce(sat) is the saturation voltage between the collector and emitter of a BJT. The Vce(sat) characteristic is also published in the switching device data sheet.

Query Syntax

:MEASure:VCESat? [<source>]

The :MEASure:VCESat? query returns the measured Vce(sat) value.

Return Format

<return_value><NL>
<return_value> ::= the VCE(sat) value in NR3 format

See Also

  • :MEASure:RDSon


:MTESt Commands

The MTESt subsystem commands and queries control the mask test features. See Introduction to :MTESt Commands.

:MTESt Commands Summary:

Command | Query | Options and Query Returns
:MTESt:ALL {{0 | OFF} | {1 | ON}} | :MTESt:ALL? | {0 | 1}
:MTESt:AMASk:CREate | n/a | n/a
:MTESt:AMASk:SOURce <source> | :MTESt:AMASk:SOURce? | <source> ::= CHANnel<n> <n> ::= {1 | 2 | 3 | 4} for 4ch models <n> ::= {1 | 2} for 2ch models
:MTESt:AMASk:UNITs <units> | :MTESt:AMASk:UNITs? | <units> ::= {CURRent | DIVisions}
:MTESt:AMASk:XDELta <value> | :MTESt:AMASk:XDELta? | <value> ::= X delta value in NR3 format
:MTESt:AMASk:YDELta <value> | :MTESt:AMASk:YDELta? | <value> ::= Y delta value in NR3 format
n/a | :MTESt:COUNt:FWAVeforms? [CHANnel<n>] | <failed> ::= number of failed waveforms in NR1 format
:MTESt:COUNt:RESet | n/a | n/a
n/a | :MTESt:COUNt:TIME? | <time> ::= elapsed seconds in NR3 format
n/a | :MTESt:COUNt:WAVeforms? | <count> ::= number of waveforms in NR1 format
:MTESt:DATA <mask> | :MTESt:DATA? | <mask> ::= data in IEEE 488.2 # format.
:MTESt:DELete | n/a | n/a
:MTESt:ENABle {{0 | OFF} | {1 | ON}} | :MTESt:ENABle? | {0 | 1}
:MTESt:LOCK {{0 | OFF} | {1 | ON}} | :MTESt:LOCK? | {0 | 1}
:MTESt:RMODe <rmode> | :MTESt:RMODe? | <rmode> ::= {FORever | TIME | SIGMa | WAVeforms}
:MTESt:RMODe:FACTion:MEASure {{0 | OFF} | {1 | ON}} | :MTESt:RMODe:FACTion:MEASure? | {0 | 1}
:MTESt:RMODe:FACTion:PRINt {{0 | OFF} | {1 | ON}} | :MTESt:RMODe:FACTion:PRINt? | {0 | 1}
:MTESt:RMODe:FACTion:SAVE {{0 | OFF} | {1 | ON}} | :MTESt:RMODe:FACTion:SAVE? | {0 | 1}
:MTESt:RMODe:FACTion:STOP {{0 | OFF} | {1 | ON}} | :MTESt:RMODe:FACTion:STOP? | {0 | 1}
:MTESt:RMODe:SIGMa <level> | :MTESt:RMODe:SIGMa? | <level> ::= from 0.1 to 9.3 in NR3 format
:MTESt:RMODe:TIME <seconds> | :MTESt:RMODe:TIME? | <seconds> ::= from 1 to 86400 in NR3 format
:MTESt:RMODe:WAVeforms <count> | :MTESt:RMODe:WAVeforms? | <count> ::= number of waveforms in NR1 format
:MTESt:SCALe:BIND {{0 | OFF} | {1 | ON}} | :MTESt:SCALe:BIND? | {0 | 1}
:MTESt:SCALe:X1 <x1_value> | :MTESt:SCALe:X1? | <x1_value> ::= X1 value in NR3 format
:MTESt:SCALe:XDELta <xdelta_value> | :MTESt:SCALe:XDELta? | <xdelta_value> ::= X delta value in NR3 format
:MTESt:SCALe:Y1 <y1_value> | :MTESt:SCALe:Y1? | <y1_value> ::= Y1 value in NR3 format
:MTESt:SCALe:Y2 <y2_value> | :MTESt:SCALe:Y2? | <y2_value> ::= Y2 value in NR3 format
:MTESt:SOURce <source> | :MTESt:SOURce? | <source> ::= {CHANnel<n> | NONE} <n> ::= {1 | 2 | 3 | 4} for 4ch models <n> ::= {1 | 2} for 2ch models
n/a | :MTESt:TITLe? | <title> ::= a quoted string of up to 128 ASCII characters

Introduction to :MTESt Commands

Mask testing automatically compares the current displayed waveform 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.

Reporting the Setup. Use :MTESt? to query setup information for the MTESt subsystem.

Return Format. The following is a sample response from the :MTESt? query. In this case, the query was issued following a *RST command.

:MTES:SOUR CHAN1;ENAB 0;LOCK 1;:MTES:AMAS:SOUR CHAN1;UNIT DIV;
XDEL +2.50000000E-01;YDEL +2.50000000E-01;:MTES:SCAL:X1 +200.000E-06;
XDEL +400.000E-06;Y1 -3.00000E+00;Y2 +3.00000E+00;BIND 0;
:MTES:RMOD FOR;RMOD:TIME +1E+00;WAV +1.000E+03;SIGM +6.0E+00;
:MTES:RMOD:FACT:STOP 0;PRIN 0;SAVE 0

Example Code

' Mask testing commands example.
' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 10000   ' Set I/O communication timeout.

  ' Make sure oscilloscope is running.
  myScope.WriteString ":RUN"

  ' Enable mask testing.
  myScope.WriteString ":MTESt:ENABle ON"

  ' Set mask test termination conditions.
  myScope.WriteString ":MTESt:RMODe SIGMa"
  myScope.WriteString ":MTESt:RMODe?"
  strQueryResult = myScope.ReadString
  Debug.Print "Mask test termination mode: " + strQueryResult

  myScope.WriteString ":MTESt:RMODe:SIGMa 4.2"
  myScope.WriteString ":MTESt:RMODe:SIGMa?"
  varQueryResult = myScope.ReadNumber
  Debug.Print "Mask test termination 'test sigma': " + _
      FormatNumber(varQueryResult)

  ' Use auto-mask to create mask.
  myScope.WriteString ":MTESt:AMASk:SOURce CHANnel1"
  myScope.WriteString ":MTESt:AMASk:SOURce?"
  strQueryResult = myScope.ReadString
  Debug.Print "Mask test auto-mask source: " + strQueryResult

  myScope.WriteString ":MTESt:AMASk:UNITs DIVisions"
  myScope.WriteString ":MTESt:AMASk:UNITs?"
  strQueryResult = myScope.ReadString
  Debug.Print "Mask test auto-mask units: " + strQueryResult

  myScope.WriteString ":MTESt:AMASk:XDELta 0.1"
  myScope.WriteString ":MTESt:AMASk:XDELta?"
  varQueryResult = myScope.ReadNumber
  Debug.Print "Mask test auto-mask X delta: " + _
      FormatNumber(varQueryResult)

  myScope.WriteString ":MTESt:AMASk:YDELta 0.1"
  myScope.WriteString ":MTESt:AMASk:YDELta?"
  varQueryResult = myScope.ReadNumber
  Debug.Print "Mask test auto-mask Y delta: " + _
      FormatNumber(varQueryResult)

  ' Enable "Auto Mask Created" event (bit 10, &H400)
  myScope.WriteString "*CLS"
  myScope.WriteString ":STATus:OPERation:MTESt:ENABle " + CStr(CInt("&H400"))

  ' Create mask.
  myScope.WriteString ":MTESt:AMASk:CREate"
  Debug.Print "Auto-mask created, mask test automatically enabled."

  ' Set up timeout variables.
  Dim lngTimeout As Long   ' Max millisecs to wait.
  Dim lngElapsed As Long
  lngTimeout = 60000   ' 60 seconds.

  ' Wait until mask is created.
  lngElapsed = 0
  Do While lngElapsed <= lngTimeout
    myScope.WriteString ":STATus:OPERation:CONDition?"
    varQueryResult = myScope.ReadNumber
    ' Operation Status Condition Register MTE bit (bit 9, &H200).
    If (varQueryResult And &H200) <> 0 Then
      Exit Do
    Else
      Sleep 100   ' Small wait to prevent excessive queries.
      lngElapsed = lngElapsed + 100
    End If
  Loop

  ' Look for RUN bit = stopped (mask test termination).
  lngElapsed = 0
  Do While lngElapsed <= lngTimeout
    myScope.WriteString ":STATus:OPERation:CONDition?"
    varQueryResult = myScope.ReadNumber
    ' Operation Status Condition Register RUN bit (bit 3, &H8).
    If (varQueryResult And &H8) = 0 Then
      Exit Do
    Else
      Sleep 100   ' Small wait to prevent excessive queries.
      lngElapsed = lngElapsed + 100
    End If
  Loop

  ' Get total waveforms, failed waveforms, and test time.
  myScope.WriteString ":MTESt:COUNt:WAVeforms?"
  strQueryResult = myScope.ReadString
  Debug.Print "Mask test total waveforms: " + strQueryResult

  myScope.WriteString ":MTESt:COUNt:FWAVeforms?"
  strQueryResult = myScope.ReadString
  Debug.Print "Mask test failed waveforms: " + strQueryResult

  myScope.WriteString ":MTESt:COUNt:TIME?"
  strQueryResult = myScope.ReadString
  Debug.Print "Mask test elapsed seconds: " + strQueryResult

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub


:MTESt:ALL

:MTESt Commands

Name

:MTESt:ALL —

Command Syntax

:MTESt:ALL <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :MTESt:ALL command specifies the channel(s) that are included in the mask test:

  • ON — All displayed analog channels are included in the mask test.

  • OFF — Just the selected source channel is included in the test.

Query Syntax

:MTESt:ALL?

The :MTESt:ALL? query returns the current setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MTESt Commands


:MTESt:AMASk:CREate

:MTESt Commands

Name

:MTESt:AMASk:CREate —

Command Syntax

:MTESt:AMASk:CREate

The :MTESt:AMASk:CREate command automatically constructs a mask around the current selected channel, using the tolerance parameters defined by the :MTESt:AMASk:XDELta, :MTESt:AMASk:YDELta, and :MTESt: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.

See Also

  • Introduction to :MTESt Commands

  • :MTESt:AMASk:XDELta

  • :MTESt:AMASk:YDELta

  • :MTESt:AMASk:UNITs

  • :MTESt:AMASk:SOURce

  • :MTESt:SOURce

Example Code

  • Example Code


:MTESt:AMASk:SOURce

:MTESt Commands

Name

:MTESt:AMASk:SOURce —

Command Syntax

:MTESt:AMASk:SOURce <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :MTESt:AMASk:SOURce command selects the source for the interpretation of the :MTESt:AMASk:XDELta and :MTESt:AMASk:YDELta parameters when :MTESt: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<n>: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.

This command is the same as the :MTESt:SOURce command.

Query Syntax

:MTESt:AMASk:SOURce?

The :MTESt:AMASk:SOURce? query returns the currently set source.

Return Format

<source> ::= CHAN<n>
<n> ::= 1 to (# analog channels) in NR1 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:AMASk:XDELta

  • :MTESt:AMASk:YDELta

  • :MTESt:AMASk:UNITs

  • :MTESt:SOURce

Example Code

  • Example Code


:MTESt:AMASk:UNITs

:MTESt Commands

Name

:MTESt:AMASk:UNITs —

Command Syntax

:MTESt:AMASk:UNITs <units>
<units> ::= {CURRent | DIVisions}

The :MTESt:AMASk:UNITs command alters the way the mask test subsystem interprets the tolerance parameters for automasking as defined by :MTESt:AMASk:XDELta and :MTESt:AMASk:YDELta commands.

  • CURRent — the mask test subsystem uses the units as set by the :CHANnel<n>:UNITs command, usually time for ΔX and voltage for ΔY.

  • 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.

Query Syntax

:MTESt:AMASk:UNITs?

The :MTESt:AMASk:UNITs query returns the current measurement units setting for the mask test automask feature.

Return Format

<units><NL>
<units> ::= {CURR | DIV}

See Also

  • Introduction to :MTESt Commands

  • :MTESt:AMASk:XDELta

  • :MTESt:AMASk:YDELta

  • :CHANnel<n>:UNITs

  • :MTESt:AMASk:SOURce

  • :MTESt:SOURce

Example Code

  • Example Code


:MTESt:AMASk:XDELta

:MTESt Commands

Name

:MTESt:AMASk:XDELta —

Command Syntax

:MTESt:AMASk:XDELta <value>
<value> ::= X delta value in NR3 format

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.

The horizontal tolerance value is interpreted based on the setting specified by the :MTESt:AMASk:UNITs command; thus, if you specify 250-E3, the setting for :MTESt:AMASk:UNITs is CURRent, and the current setting specifies time in the horizontal direction, the tolerance will be ±250 ms. If the setting for :MTESt:AMASk:UNITs is DIVisions, the same X delta value will set the tolerance to ±250 millidivisions, or 1/4 of a division.

Query Syntax

:MTESt:AMASk:XDELta?

The :MTEST: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 :MTESt:AMASk:UNITs query.

Return Format

<value><NL>
<value> ::= X delta value in NR3 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:AMASk:UNITs

  • :MTESt:AMASk:YDELta

  • :MTESt:AMASk:SOURce

  • :MTESt:SOURce

Example Code

  • Example Code


:MTESt:AMASk:YDELta

:MTESt Commands

Name

:MTESt:AMASk:YDELta —

Command Syntax

:MTESt:AMASk:YDELta <value>
<value> ::= Y delta value in NR3 format

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.

The vertical tolerance value is interpreted based on the setting specified by the :MTESt:AMASk:UNITs command; thus, if you specify 250-E3, the setting for :MTESt:AMASk:UNITs is CURRent, and the current setting specifies voltage in the vertical direction, the tolerance will be ±250 mV. If the setting for :MTESt:AMASk:UNITs is DIVisions, the same Y delta value will set the tolerance to ±250 millidivisions, or 1/4 of a division.

Query Syntax

:MTESt:AMASk:YDELta?

The :MTESt: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 :MTESt:AMASk:UNITs query.

Return Format

<value><NL>
<value> ::= Y delta value in NR3 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:AMASk:UNITs

  • :MTESt:AMASk:XDELta

  • :MTESt:AMASk:SOURce

  • :MTESt:SOURce

Example Code

  • Example Code


:MTESt:COUNt:FWAVeforms?

:MTESt Commands

Name

:MTESt:COUNt:FWAVeforms? —

Query Syntax

:MTESt:COUNt:FWAVeforms? [CHANnel<n>]
<n> ::= 1 to (# analog channels) in NR1 format

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 collected on the channel specified by the optional parameter or collected on the currently specified source channel (:MTESt:SOURce) if there is no parameter.

Return Format

<failed><NL>
<failed> ::= number of failed waveforms in NR1 format.

See Also

  • Introduction to :MTESt Commands

  • :MTESt:COUNt:WAVeforms?

  • :MTESt:COUNt:TIME?

  • :MTESt:COUNt:RESet

  • :MTESt:SOURce

Example Code

  • Example Code


:MTESt:COUNt:RESet

:MTESt Commands

Name

:MTESt:COUNt:RESet —

Command Syntax

:MTESt:COUNt:RESet

The :MTESt:COUNt:RESet command resets the mask statistics.

See Also

  • Introduction to :MTESt Commands

  • :MTESt:COUNt:WAVeforms?

  • :MTESt:COUNt:FWAVeforms?

  • :MTESt:COUNt:TIME?


:MTESt:COUNt:TIME?

:MTESt Commands

Name

:MTESt:COUNt:TIME? —

Query Syntax

:MTESt:COUNt:TIME?

The :MTESt:COUNt:TIME? query returns the elapsed time in the current mask test run.

Return Format

<time><NL>
<time> ::= elapsed seconds in NR3 format.

See Also

  • Introduction to :MTESt Commands

  • :MTESt:COUNt:WAVeforms?

  • :MTESt:COUNt:FWAVeforms?

  • :MTESt:COUNt:RESet

Example Code

  • Example Code


:MTESt:COUNt:WAVeforms?

:MTESt Commands

Name

:MTESt:COUNt:WAVeforms? —

Query Syntax

:MTESt:COUNt:WAVeforms?

The :MTESt:COUNt:WAVeforms? query returns the total number of waveforms acquired in the current mask test run.

Return Format

<count><NL>
<count> ::= number of waveforms in NR1 format.

See Also

  • Introduction to :MTESt Commands

  • :MTESt:COUNt:FWAVeforms?

  • :MTESt:COUNt:TIME?

  • :MTESt:COUNt:RESet

Example Code

  • Example Code


:MTESt:DATA

:MTESt Commands

Name

:MTESt:DATA —

Command Syntax

:MTESt:DATA <mask>
<mask> ::= binary block data in IEEE 488.2 # format.

The :MTESt:DATA command loads a mask from binary block data.

Query Syntax

:MTESt:DATA?

The :MTESt:DATA? query returns a mask in binary block data format. The format for the data transmission is the # format defined in the IEEE 488.2 specification.

Return Format

<mask><NL>
<mask> ::= binary block data in IEEE 488.2 # format

See Also

  • :SAVE:MASK[:STARt]

  • :RECall:MASK[:STARt]


:MTESt:DELete

:MTESt Commands

Name

:MTESt:DELete —

Command Syntax

:MTESt:DELete

The :MTESt:DELete command clears the currently loaded mask.

See Also

  • Introduction to :MTESt Commands

  • :MTESt:AMASk:CREate


:MTESt:ENABle

:MTESt Commands

Name

:MTESt:ENABle —

Command Syntax

:MTESt:ENABle <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :MTESt:ENABle command enables or disables the mask test features.

  • ON — Enables the mask test features.

  • OFF — Disables the mask test features.

Query Syntax

:MTESt:ENABle?

The :MTESt:ENABle? query returns the current state of mask test features.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MTESt Commands


:MTESt:LOCK

:MTESt Commands

Name

:MTESt:LOCK —

Command Syntax

:MTESt:LOCK <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :MTESt:LOCK command enables or disables the mask lock feature:

  • ON — Locks a mask to the SOURce. As the vertical or horizontal scaling or position of the SOURce changes, the mask is redrawn accordingly.

  • OFF — The mask is static and does not move.

Query Syntax

:MTESt:LOCK?

The :MTESt:LOCK? query returns the current mask lock setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MTESt Commands

  • :MTESt:SOURce


:MTESt:RMODe

:MTESt Commands

Name

:MTESt:RMODe —

Command Syntax

:MTESt:RMODe <rmode>
<rmode> ::= {FORever | SIGMa | TIME | WAVeforms}

The :MTESt:RMODe command specifies the termination conditions for the mask test:

  • FORever — the mask test runs until it is turned off.

  • SIGMa — the mask test runs until the Sigma level is reached. This level is set by the :MTESt:RMODe:SIGMa command.

  • TIME — the mask test runs for a fixed amount of time. The amount of time is set by the :MTESt:RMODe:TIME command.

  • WAVeforms — the mask test runs until a fixed number of waveforms are acquired. The number of waveforms is set by the :MTESt:RMODe:WAVeforms command.

Query Syntax

:MTESt:RMODe?

The :MTESt:RMODe? query returns the currently set termination condition.

Return Format

<rmode><NL>
<rmode> ::= {FOR | SIGM | TIME | WAV}

See Also

  • Introduction to :MTESt Commands

  • :MTESt:RMODe:SIGMa

  • :MTESt:RMODe:TIME

  • :MTESt:RMODe:WAVeforms

Example Code

  • Example Code


:MTESt:RMODe:FACTion:MEASure

:MTESt Commands

Name

:MTESt:RMODe:FACTion:MEASure —

Command Syntax

:MTESt:RMODe:FACTion:MEASure <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :MTESt:RMODe:FACTion:MEASure command sets measuring only mask failures on or off.

When ON, measurements and measurement statistics run only on waveforms that contain a mask violation; passing waveforms do not affect measurements and measurement statistics.

This mode is not available when the acquisition mode is set to Averaging.

Query Syntax

:MTESt:RMODe:FACTion:MEASure?

The :MTESt:RMODe:FACTion:MEASure? query returns the current mask failure measure setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MTESt Commands

  • :MTESt:RMODe:FACTion:PRINt

  • :MTESt:RMODe:FACTion:SAVE

  • :MTESt:RMODe:FACTion:STOP


:MTESt:RMODe:FACTion:PRINt

:MTESt Commands

Name

:MTESt:RMODe:FACTion:PRINt —

Command Syntax

:MTESt:RMODe:FACTion:PRINt <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :MTESt:RMODe:FACTion:PRINt command sets printing on mask failures on or off.

[Note]

Setting :MTESt:RMODe:FACTion:PRINt ON automatically sets :MTESt:RMODe:FACTion:SAVE OFF.

See :HCOPy Commands for more information on setting the hardcopy device and formatting options.

Query Syntax

:MTESt:RMODe:FACTion:PRINt?

The :MTESt:RMODe:FACTion:PRINt? query returns the current mask failure print setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MTESt Commands

  • :MTESt:RMODe:FACTion:MEASure

  • :MTESt:RMODe:FACTion:SAVE

  • :MTESt:RMODe:FACTion:STOP


:MTESt:RMODe:FACTion:SAVE

:MTESt Commands

Name

:MTESt:RMODe:FACTion:SAVE —

Command Syntax

:MTESt:RMODe:FACTion:SAVE <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :MTESt:RMODe:FACTion:SAVE command sets saving on mask failures on or off.

[Note]

Setting :MTESt:RMODe:FACTion:SAVE ON automatically sets :MTESt:RMODe:FACTion:PRINt OFF.

See :SAVE Commands for more information on save options.

Query Syntax

:MTESt:RMODe:FACTion:SAVE?

The :MTESt:RMODe:FACTion:SAVE? query returns the current mask failure save setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MTESt Commands

  • :MTESt:RMODe:FACTion:MEASure

  • :MTESt:RMODe:FACTion:PRINt

  • :MTESt:RMODe:FACTion:STOP


:MTESt:RMODe:FACTion:STOP

:MTESt Commands

Name

:MTESt:RMODe:FACTion:STOP —

Command Syntax

:MTESt:RMODe:FACTion:STOP <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :MTESt:RMODe:FACTion:STOP command sets stopping on a mask failure on or off. When this setting is ON and a mask violation is detected, the mask test is stopped and the acquisition system is stopped.

Query Syntax

:MTESt:RMODe:FACTion:STOP?

The :MTESt:RMODe:FACTion:STOP? query returns the current mask failure stop setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MTESt Commands

  • :MTESt:RMODe:FACTion:MEASure

  • :MTESt:RMODe:FACTion:PRINt

  • :MTESt:RMODe:FACTion:SAVE


:MTESt:RMODe:SIGMa

:MTESt Commands

Name

:MTESt:RMODe:SIGMa —

Command Syntax

:MTESt:RMODe:SIGMa <level>
<level> ::= from 0.1 to 9.3 in NR3 format

When the :MTESt:RMODe command is set to SIGMa, the :MTESt:RMODe:SIGMa command sets the test sigma level to which a mask test runs. Test sigma is the best achievable process sigma, assuming no failures. (Process sigma is calculated using the number of failures per test.) The test sigma level indirectly specifies the number of waveforms that must be tested (in order to reach the sigma level).

Query Syntax

:MTESt:RMODe:SIGMa?

The :MTESt:RMODe:SIGMa? query returns the current Sigma level setting.

Return Format

<level><NL>
<level> ::= from 0.1 to 9.3 in NR3 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:RMODe

Example Code

  • Example Code


:MTESt:RMODe:TIME

:MTESt Commands

Name

:MTESt:RMODe:TIME —

Command Syntax

:MTESt:RMODe:TIME <seconds>
<seconds> ::= from 1 to 86400 in NR3 format

When the :MTESt:RMODe command is set to TIME, the :MTESt:RMODe:TIME command sets the number of seconds for a mask test to run.

Query Syntax

:MTESt:RMODe:TIME?

The :MTESt:RMODe:TIME? query returns the number of seconds currently set.

Return Format

<seconds><NL>
<seconds> ::= from 1 to 86400 in NR3 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:RMODe


:MTESt:RMODe:WAVeforms

:MTESt Commands

Name

:MTESt:RMODe:WAVeforms —

Command Syntax

:MTESt:RMODe:WAVeforms <count>
<count> ::= number of waveforms in NR1 format
            from 1 to 2,000,000,000

When the :MTESt:RMODe command is set to WAVeforms, the :MTESt:RMODe:WAVeforms command sets the number of waveform acquisitions that are mask tested.

Query Syntax

:MTESt:RMODe:WAVeforms?

The :MTESt:RMODe:WAVeforms? query returns the number of waveforms currently set.

Return Format

<count><NL>
<count> ::= number of waveforms in NR1 format
            from 1 to 2,000,000,000

See Also

  • Introduction to :MTESt Commands

  • :MTESt:RMODe


:MTESt:SCALe:BIND

:MTESt Commands

Name

:MTESt:SCALe:BIND —

Command Syntax

:MTESt:SCALe:BIND <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :MTESt:SCALe:BIND command enables or disables Bind 1 & 0 Levels (Bind -1 & 0 Levels for inverted masks) control:

  • ON —

    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 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.

  • OFF —

    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 disabled, adjusting either the -1 Level or the 0 Level control changes the vertical height of the mask.

Query Syntax

:MTESt:SCALe:BIND?

The :MTESt:SCALe:BIND? query returns the value of the Bind 1&0 control (Bind -1&0 for inverted masks).

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :MTESt Commands

  • :MTESt:SCALe:X1

  • :MTESt:SCALe:XDELta

  • :MTESt:SCALe:Y1

  • :MTESt:SCALe:Y2


:MTESt:SCALe:X1

:MTESt Commands

Name

:MTESt:SCALe:X1 —

Command Syntax

:MTESt:SCALe:X1 <x1_value>
<x1_value> ::= X1 value in NR3 format

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 :MTESt: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:

X = (X * ΔX) + X1

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.

The X1 value is a time value specifying the location of the X1 coordinate, which will then be treated as X=0 for mask regions coordinates.

Query Syntax

:MTESt:SCALe:X1?

The :MTESt:SCALe:X1? query returns the current X1 coordinate setting.

Return Format

<x1_value><NL>
<x1_value> ::= X1 value in NR3 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:SCALe:BIND

  • :MTESt:SCALe:XDELta

  • :MTESt:SCALe:Y1

  • :MTESt:SCALe:Y2


:MTESt:SCALe:XDELta

:MTESt Commands

Name

:MTESt:SCALe:XDELta —

Command Syntax

:MTESt:SCALe:XDELta <xdelta_value>
<xdelta_value> ::= X delta value in NR3 format

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:

X = (X * ΔX) + X1

The X delta value is a time value specifying the distance of the X2 marker with respect to the X1 marker.

For example, if the period of the waveform you wish to test is 1 ms, setting ΔX to 1 ms ensures that the waveform's period is between the X1 and X2 markers.

Query Syntax

:MTESt:SCALe:XDELta?

The :MTESt:SCALe:XDELta? query returns the current value of ΔX.

Return Format

<xdelta_value><NL>
<xdelta_value> ::= X delta value in NR3 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:SCALe:BIND

  • :MTESt:SCALe:X1

  • :MTESt:SCALe:Y1

  • :MTESt:SCALe:Y2


:MTESt:SCALe:Y1

:MTESt Commands

Name

:MTESt:SCALe:Y1 —

Command Syntax

:MTESt:SCALe:Y1 <y1_value>
<y1_value> ::= Y1 value in NR3 format

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:

Y = (Y * (Y2 - Y1)) + Y1

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.

The Y1 value is a voltage value specifying the point at which Y=0.

Query Syntax

:MTESt:SCALe:Y1?

The :MTESt:SCALe:Y1? query returns the current setting of the Y1 marker.

Return Format

<y1_value><NL>
<y1_value> ::= Y1 value in NR3 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:SCALe:BIND

  • :MTESt:SCALe:X1

  • :MTESt:SCALe:XDELta

  • :MTESt:SCALe:Y2


:MTESt:SCALe:Y2

:MTESt Commands

Name

:MTESt:SCALe:Y2 —

Command Syntax

:MTESt:SCALe:Y2 <y2_value>
<y2_value> ::= Y2 value in NR3 format

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:

Y = (Y * (Y2 - Y1)) + Y1

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.

The Y2 value is a voltage value specifying the location of the Y2 marker.

Query Syntax

:MTESt:SCALe:Y2?

The :MTESt:SCALe:Y2? query returns the current setting of the Y2 marker.

Return Format

<y2_value><NL>
<y2_value> ::= Y2 value in NR3 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:SCALe:BIND

  • :MTESt:SCALe:X1

  • :MTESt:SCALe:XDELta

  • :MTESt:SCALe:Y1


:MTESt:SOURce

:MTESt Commands

Name

:MTESt:SOURce —

Command Syntax

:MTESt:SOURce <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :MTESt:SOURce command selects the channel which is configured by the commands contained in a mask file when it is loaded.

Query Syntax

:MTESt:SOURce?

The :MTESt:SOURce? query returns the channel which is configured by the commands contained in the current mask file.

Return Format

<source><NL>
<source> ::= {CHAN<n> | NONE}
<n> ::= 1 to (# analog channels) in NR1 format

See Also

  • Introduction to :MTESt Commands

  • :MTESt:AMASk:SOURce


:MTESt:TITLe?

:MTESt Commands

Name

:MTESt:TITLe? —

Query Syntax

:MTESt:TITLe?

The :MTESt:TITLe? query returns the mask title which is a quoted string of up to 128 characters. The title is displayed in the mask test dialog box and mask test tab when a mask file is loaded.

Return Format

<title><NL>
<title> ::= a quoted string of up to 128 ASCII characters.

See Also

  • Introduction to :MTESt Commands


:POD Commands

Control all oscilloscope functions associated with groups of digital channels. See Introduction to :POD<n> Commands.

:POD<n> Commands Summary:

Command | Query | Options and Query Returns
:POD<n>:DISPlay {{0 | OFF} | {1 | ON}} | :POD<n>:DISPlay? | {0 | 1} <n> ::= 1-2 in NR1 format
:POD<n>:NIBBle<n>:THReshold <value> | :POD<n>:NIBBle<n>:THReshold? | <n> ::= 1-2 in NR1 format <value> :: = {CMOS | ECL | TTL | <decimal>[<suffix>]} <decimal> ::= -8.00 to +8.00 in NR3 format [suffix] ::= {V | mV | uV }
:POD<n>:SIZE <value> | :POD<n>:SIZE? | <value> ::= {SMALl | MEDium | LARGe}
:POD<n>:THReshold <value> | :POD<n>:THReshold? | <n> ::= 1-2 in NR1 format <value> :: = {CMOS | ECL | TTL | <decimal>[<suffix>]} <decimal> ::= -8.00 to +8.00 in NR3 format [suffix] ::= {V | mV | uV }

Introduction to :POD<n> Commands

<n> ::= {1 | 2}

The POD subsystem commands control the viewing and threshold of groups of digital channels.

POD1 ::= D0-D7

POD2 ::= D8-D15

Reporting the Setup. Use :POD1? or :POD2? to query setup information for the POD subsystem.

Return Format. The following is a sample response from the :POD1? query. In this case, the query was issued following a *RST command.

:POD1:DISP 0;THR +1.40E+00


:POD<n>:DISPlay

:POD Commands

Name

:POD<n>:DISPlay —

Command Syntax

:POD<n>:DISPlay <display>
<display> ::= {{1 | ON} | {0 | OFF}}
<n> ::= An integer, 1 or 2, is attached as a suffix to the command and
        defines the group of channels that are affected by the command.
POD1 ::= D0-D7
POD2 ::= D8-D15

The :POD<n>:DISPlay command turns displaying of the specified group of channels on or off.

Query Syntax

:POD<n>:DISPlay?

The :POD<n>:DISPlay? query returns the current display setting of the specified group of channels.

Return Format

<display><NL>
<display> ::= {0 | 1}

See Also

  • Introduction to :POD<n> Commands

  • :DIGital<d>:DISPlay

  • :CHANnel<n>:DISPlay

  • :VIEW

  • :BLANk

  • :STATus?


:POD<n>:NIBBle<n>:THReshold

:POD Commands

Name

:POD<n>:NIBBle<n>:THReshold —

Command Syntax

:POD<n>:NIBBle<n>:THReshold <value>
<n> ::= An integer, 1 or 2, is attached as a suffix to the command and
        defines the group of channels that are affected by the command.
<value> ::= {CMOS | ECL | TTL | <decimal>[<suffix>]}
<decimal> ::= -8.00 to +8.00 in NR3 format
<suffix> ::= {V | mV | uV}
POD1 ::= D0-D7
POD2 ::= D8-D15

The :POD<n>:NIBBle<n>:THReshold command sets the logic threshold value for a nibble within a pod:

  • Pod 1 has the digital channels 0 through 7.

    • Pod 1, nibble 1 has the digital channels 0 through 3.

    • Pod 1, nibble 2 has the digital channels 4 through 7.

  • Pod 2 has the digital channels 8 through 15.

    • Pod 2, nibble 1 has the digital channels 8 through 11.

    • Pod 2, nibble 2 has the digital channels 12 through 15.

 | POD2 |  |  |  |  |  |  |  | POD1
 | NIBBle2 |  |  |  | NIBBle1 |  |  |  | NIBBle2 |  |  |  | NIBBle1
Digital channel | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0

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:

  • CMOS = 2.5 V

  • ECL = -1.3 V

  • TTL = 1.4 V

Query Syntax

:POD<n>:NIBBle<n>:THReshold?

The :POD<N>:NIBBle<N>:THReshold? query returns the threshold value for the specified pod and nibble.

Return Format

<threshold><NL>
<threshold> ::= Floating point number in NR3 format

See Also

  • Introduction to :POD<n> Commands

  • :POD<n>:THReshold

  • :DIGital<d>:THReshold

  • :TRIGger[:EDGE]:LEVel

Example Code

This example sets the threshold to 1.8 volts for pod 2, nibble 2 (digital channels D15 through D12).

myScope.WriteString ":POD2:NIBBle2:THReshold 1.8"


:POD<n>:SIZE

:POD Commands

Name

:POD<n>:SIZE —

Command Syntax

:POD<n>:SIZE <value>
<n> ::= An integer, 1 or 2, is attached as a suffix to the command and
        defines the group of channels that are affected by the command.
POD1 ::= D0-D7
POD2 ::= D8-D15
<value> ::= {SMALl | MEDium | LARGe}

The :POD<n>:SIZE command specifies the size of digital channels on the display. Sizes are set for all pods. Therefore, if you set the size on pod 1 (for example), the same size is set on pod 2 as well.

Query Syntax

:POD<n>:SIZE?

The :POD<n>:SIZE? query returns the digital channels size setting.

Return Format

<size_value><NL>
<size_value> ::= {SMAL | MED | LARG}

See Also

  • Introduction to :POD<n> Commands

  • :DIGital<d>:SIZE

  • :DIGital:ORDer[:SET]


:POD<n>:THReshold

:POD Commands

Name

:POD<n>:THReshold —

Command Syntax

:POD<n>:THReshold <value>
<n> ::= An integer, 1 or 2, is attached as a suffix to the command and
        defines the group of channels that are affected by the command.
<value> ::= {CMOS | ECL | TTL | <decimal>[<suffix>]}
<decimal> ::= -8.00 to +8.00 in NR3 format
<suffix> ::= {V | mV | uV}
POD1 ::= D0-D7
POD2 ::= D8-D15

The :POD<n>:THReshold command sets the threshold for the specified group of channels. 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:

  • CMOS = 2.5 V

  • ECL = -1.3 V

  • TTL = 1.4 V

Query Syntax

:POD<n>:THReshold?

The :POD<n>:THReshold? query returns the threshold value for the specified group of channels.

Return Format

<threshold><NL>
<threshold> ::= Floating point number in NR3 format

See Also

  • Introduction to :POD<n> Commands

  • :DIGital<d>:THReshold

  • :TRIGger[:EDGE]:LEVel

Example Code

   ' THReshold - This command is used to set the voltage threshold for
   ' the waveforms.  There are three preset values (TTL, CMOS, and ECL)
   ' and you can also set a user-defined threshold value between
   ' -8.0 volts and +8.0 volts.
   '
   ' In this example, we set channels 0-7 to CMOS, then set channels
   ' 8-15 to a user-defined 2.0 volts, and then set the external trigger
   ' to TTL.  Of course, you only need to set the thresholds for the
   ' channels you will be using in your program.

   ' Set channels 0-7 to CMOS threshold.
   myScope.WriteString ":POD1:THReshold CMOS"

   ' Set channels 8-15 to 2.0 volts.
   myScope.WriteString ":POD2:THReshold 2.0"

   ' Set external channel to TTL threshold (short form).
   myScope.WriteString ":TRIG:LEV TTL,EXT"

See complete example programs at: Programming Examples


:POWer Commands

These :POWer commands are available when the power measurements and analysis application is licensed and enabled.

:POWer Commands Summary:

Command | Query | Options and Query Returns
n/a | :POWer:CLResponse? | n/a
:POWer:CLResponse:APPLy | n/a | n/a
n/a | :POWer:CLResponse:DATA? [SWEep | SINGle] | <binary_block> ::= comma-separated data with newlines at the end of each row
n/a | :POWer:CLResponse:DATA:GMARgin? | <gain_margin> ::= gain margin in dB in NR3 format.
n/a | :POWer:CLResponse:DATA:GMARgin:FREQuency? | <frequency> ::= 0 degrees phase crossover frequency in Hz in NR3 format
n/a | :POWer:CLResponse:DATA:PMARgin? | <phase_margin> ::= phase margin in degrees in NR3 format.
n/a | :POWer:CLResponse:DATA:PMARgin:FREQuency? | <frequency> ::= 0dB gain crossover frequency in Hz in NR3 format.
:POWer:CLResponse:FREQuency:MODE <mode> | :POWer:CLResponse:FREQuency:MODE? | <mode> ::= {SWEep | SINGle}
:POWer:CLResponse:FREQuency:SINGle <value>[suffix] | :POWer:CLResponse:FREQuency:SINGle? | <value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 2000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:CLResponse:FREQuency:STARt <value>[suffix] | :POWer:CLResponse:FREQuency:STARt? | <value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:CLResponse:FREQuency:STOP <value>[suffix] | :POWer:CLResponse:FREQuency:STOP? | <value> ::= {100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:CLResponse:PPDecade <pts> | :POWer:CLResponse:PPDecade? | <pts> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}
:POWer:CLResponse:SOURce:INPut <source> | :POWer:CLResponse:SOURce:INPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:CLResponse:SOURce:OUTPut <source> | :POWer:CLResponse:SOURce:OUTPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:CLResponse:SWEep:POINts <points> | :POWer:CLResponse:SWEep:POINts? | <points> ::= integer from 1-1000 in NR1 format
:POWer:CLResponse:TRACe <selection> | :POWer:CLResponse:TRACe? | <selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]
:POWer:CLResponse:WGEN:LOAD <impedance> | :POWer:CLResponse:WGEN:LOAD? | <impedance> ::= {ONEMeg | FIFTy}
:POWer:CLResponse:WGEN:VOLTage <amplitude>[,<range>] | :POWer:CLResponse:WGEN:VOLTage? [<range>] | <amplitude> ::= amplitude in volts in NR3 format <range> ::= {F10MILLIHZ | F100MILLIHZ | F1HZ | {F10HZ | F20HZ} | F100HZ | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | {F20MHZ | F100MHZ}}
:POWer:CLResponse:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}} | :POWer:CLResponse:WGEN:VOLTage:PROFile? | {0 | 1}
:POWer:DESKew | n/a | n/a
:POWer:EFFiciency:APPLy | n/a | n/a
:POWer:EFFiciency:TYPE <type> | :POWer:EFFiciency:TYPE? | <type> ::= {DCDC | DCAC | ACDC | ACAC}
:POWer:ENABle {{0 | OFF} | {1 | ON}} | :POWer:ENABle? | {0 | 1}
:POWer:HARMonics:APPLy | n/a | n/a
n/a | :POWer:HARMonics:DATA? | <binary_block> ::= comma-separated data with newlines at the end of each row
:POWer:HARMonics:DISPlay <display> | :POWer:HARMonics:DISPlay? | <display> ::= {TABLe | BAR | OFF}
n/a | :POWer:HARMonics:FAILcount? | <count> ::= integer in NR1 format
:POWer:HARMonics:LINE <frequency> | :POWer:HARMonics:LINE? | <frequency> ::= {F50 | F60 | F400 | AUTO}
n/a | :POWer:HARMonics:POWerfactor? | <value> ::= Class C power factor in NR3 format
:POWer:HARMonics:RPOWer <source> | :POWer:HARMonics:RPOWer? | <source> ::= {MEASured | USER}
:POWer:HARMonics:RPOWer:USER <value> | :POWer:HARMonics:RPOWer:USER? | <value> ::= Watts from 1.0 to 600.0 in NR3 format
n/a | :POWer:HARMonics:RUNCount? | <count> ::= integer in NR1 format
:POWer:HARMonics:STANdard <class> | :POWer:HARMonics:STANdard? | <class> ::= {A | B | C | D}
n/a | :POWer:HARMonics:STATus? | <status> ::= {PASS | FAIL | UNTested}
n/a | :POWer:HARMonics:THD? | <value> ::= Total Harmonics Distortion in NR3 format
:POWer:INRush:APPLy | n/a | n/a
:POWer:INRush:EXIT | n/a | n/a
:POWer:INRush:NEXT | n/a | n/a
:POWer:ITYPe <type> | :POWer:ITYPe? | <type> ::= {DC | AC}
:POWer:MODulation:APPLy | n/a | n/a
:POWer:MODulation:SOURce <source> | :POWer:MODulation:SOURce? | <source> ::= {V | I}
:POWer:MODulation:TYPE <modulation> | :POWer:MODulation:TYPE? | <modulation> ::= {VAVerage | ACRMs | VRATio | PERiod | FREQuency | PWIDith | NWIDth | DUTYcycle | NDUTycycle | RISetime | FALLtime}
:POWer:ONOFf:APPLy | n/a | n/a
:POWer:ONOFf:EXIT | n/a | n/a
:POWer:ONOFf:NEXT | n/a | n/a
:POWer:ONOFf:TEST {{0 | OFF} | {1 | ON}} | :POWer:ONOFf:TEST? | {0 | 1}
:POWer:ONOFf:THResholds <type>, <input_thr>, <output_thr> | :POWer:ONOFf:THResholds? <type> | <type> ::= {0 | 1} <input_thr> ::= percent from 0-100 in NR1 format <output_thr> ::= percent from 0-100 in NR1 format
n/a | :POWer:PSRR? | n/a
:POWer:PSRR:APPLy | n/a | n/a
n/a | :POWer:PSRR:DATA? [SWEep | SINGle] | <binary_block> ::= comma-separated data with newlines at the end of each row
:POWer:PSRR:FREQuency:MAXimum <value>[suffix] | :POWer:PSRR:FREQuency:MAXimum? | <value> ::= {10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:PSRR:FREQuency:MINimum <value>[suffix] | :POWer:PSRR:FREQuency:MINimum? | <value> ::= {1 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:PSRR:FREQuency:MODE <mode> | :POWer:PSRR:FREQuency:MODE? | <mode> ::= {SWEep | SINGle}
:POWer:PSRR:FREQuency:SINGle <value>[suffix] | :POWer:PSRR:FREQuency:SINGle? | <value> ::= {1 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 2000000} [suffix] ::= {Hz | kHz| MHz}
:POWer:PSRR:PPDecade <pts> | :POWer:PSRR:PPDecade? | <pts> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}
:POWer:PSRR:SOURce:INPut <source> | :POWer:PSRR:SOURce:INPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:PSRR:SOURce:OUTPut <source> | :POWer:PSRR:SOURce:OUTPut? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:PSRR:TRACe <selection> | :POWer:PSRR:TRACe? | <selection> ::= {NONE | GAIN}
:POWer:PSRR:WGEN:LOAD <impedance> | :POWer:PSRR:WGEN:LOAD? | <impedance> ::= {ONEMeg | FIFTy}
:POWer:PSRR:WGEN:VOLTage <amplitude>[,<range>] | :POWer:PSRR:WGEN:VOLTage? [<range>] | <amplitude> ::= amplitude in volts in NR3 format <range> ::= {F10MILLIHZ | F100MILLIHZ | F1HZ | {F10HZ | F20HZ} | F100HZ | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | {F20MHZ | F100MHZ}}
:POWer:PSRR:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}} | :POWer:PSRR:WGEN:VOLTage:PROFile? | {0 | 1}
:POWer:QUALity:APPLy | n/a | n/a
:POWer:RIPPle:APPLy | n/a | n/a
:POWer:SIGNals:AUTosetup <analysis> | n/a | <analysis> ::= {HARMonics | EFFiciency | RIPPle | MODulation | QUALity | SLEW | SWITch | RDSVce}
:POWer:SIGNals:CYCLes:HARMonics <count> | :POWer:SIGNals:CYCLes:HARMonics? | <count> ::= integer in NR1 format Legal values are 1 to 100.
:POWer:SIGNals:CYCLes:QUALity <count> | :POWer:SIGNals:CYCLes:QUALity? | <count> ::= integer in NR1 format Legal values are 1 to 100.
:POWer:SIGNals:DURation:EFFiciency <value>[suffix] | :POWer:SIGNals:DURation:EFFiciency? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:MODulation <value>[suffix] | :POWer:SIGNals:DURation:MODulation? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:ONOFf:OFF <value>[suffix] | :POWer:SIGNals:DURation:ONOFf:OFF? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:ONOFf:ON <value>[suffix] | :POWer:SIGNals:DURation:ONOFf:ON? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:RIPPle <value>[suffix] | :POWer:SIGNals:DURation:RIPPle? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:DURation:TRANsient <value>[suffix] | :POWer:SIGNals:DURation:TRANsient? | <value> ::= value in NR3 format [suffix] ::= {s | ms | us | ns}
:POWer:SIGNals:IEXPected <value>[suffix] | :POWer:SIGNals:IEXPected? | <value> ::= Expected current value in NR3 format [suffix] ::= {A | mA}
:POWer:SIGNals:OVERshoot <percent> | :POWer:SIGNals:OVERshoot? | <percent> ::= percent of overshoot value in NR1 format [suffix] ::= {V | mV}}
:POWer:SIGNals:VMAXimum:INRush <value>[suffix] | :POWer:SIGNals:VMAXimum:INRush? | <value> ::= Maximum expected input Voltage in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VMAXimum:ONOFf:OFF <value>[suffix] | :POWer:SIGNals:VMAXimum:ONOFf:OFF? | <value> ::= Maximum expected input Voltage in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VMAXimum:ONOFf:ON <value>[suffix] | :POWer:SIGNals:VMAXimum:ONOFf:ON? | <value> ::= Maximum expected input Voltage in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VSTeady:ONOFf:OFF <value>[suffix] | :POWer:SIGNals:VSTeady:ONOFf:OFF? | <value> ::= Expected steady stage output Voltage value in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VSTeady:ONOFf:ON <value>[suffix] | :POWer:SIGNals:VSTeady:ONOFf:ON? | <value> ::= Expected steady stage output Voltage value in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:VSTeady:TRANsient <value>[suffix] | :POWer:SIGNals:VSTeady:TRANsient? | <value> ::= Expected steady stage output Voltage value in NR3 format [suffix] ::= {V | mV}
:POWer:SIGNals:SOURce:CURRent<i> <source> | :POWer:SIGNals:SOURce:CURRent<i>? | <i> ::= 1, 2 in NR1 format <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:SIGNals:SOURce:VOLTage<i> <source> | :POWer:SIGNals:SOURce:VOLTage<i>? | <i> ::= 1, 2 in NR1 format <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:POWer:SLEW:APPLy | n/a | n/a
:POWer:SLEW:SOURce <source> | :POWer:SLEW:SOURce? | <source> ::= {V | I}
:POWer:SWITch:APPLy | n/a | n/a
:POWer:SWITch:CONDuction <conduction> | :POWer:SWITch:CONDuction? | <conduction> ::= {WAVeform | RDS | VCE}
:POWer:SWITch:IREFerence <percent> | :POWer:SWITch:IREFerence? | <percent> ::= percent in NR1 format
:POWer:SWITch:RDS <value>[suffix] | :POWer:SWITch:RDS? | <value> ::= Rds(on) value in NR3 format [suffix] ::= {OHM | mOHM}
:POWer:SWITch:VCE <value>[suffix] | :POWer:SWITch:VCE? | <value> ::= Vce(sat) value in NR3 format [suffix] ::= {V | mV}
:POWer:SWITch:VREFerence <percent> | :POWer:SWITch:VREFerence? | <percent> ::= percent in NR1 format
:POWer:TRANsient:APPLy | n/a | n/a
:POWer:TRANsient:EXIT | n/a | n/a
:POWer:TRANsient:IINitial <value>[suffix] | :POWer:TRANsient:IINitial? | <value> ::= Initial current value in NR3 format [suffix] ::= {A | mA}
:POWer:TRANsient:INEW <value>[suffix] | :POWer:TRANsient:INEW? | <value> ::= New current value in NR3 format [suffix] ::= {A | mA}
:POWer:TRANsient:NEXT | n/a | n/a


:POWer:CLResponse?

:POWer Commands

Name

:POWer:CLResponse? —

Query Syntax

:POWer:CLResponse?

The :POWer:CLResponse? query returns the Control Loop Response (Bode) power analysis settings.

Return Format

<settings_string><NL>

For example, the query returns the following string when issued after the *RST command.

:POW:CLR:SOUR:INP CHAN1;OUTP CHAN2;:POW:CLR:FREQ:STAR +100E+00;
STOP +20.000000E+06;:POW:CLR:WGEN:VOLT +200.0E-03;LOAD FIFT

See Also

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:APPLy

:POWer Commands

Name

:POWer:CLResponse:APPLy —

Command Syntax

:POWer:CLResponse:APPLy

The :POWer:CLResponse:APPLy command performs the control loop response (Bode) analysis to help you determine the margin of a control loop.

A Bode plot measurement plots gain and/or phase as a function of frequency.

You can use the :POWer:CLResponse:TRACe command to specify whether to include gain, phase, both gain and phase, or neither in the frequency response analysis results.

This control loop response analysis requires an input sine wave (from the oscilloscope's waveform generator, Vi) be swept from a low to a high frequency while measuring Vi and Vo RMS voltages at each step frequency, using two channels of the oscilloscope.

For a gain plot, gain (A, in dB units) at each step frequency is computed as 20Log(Vo/Vi) and plotted using a math function waveform.

For a phase plot, the phase difference between the channels is measured at each step frequency. Phase measurements and plots are only possible if the input and output waveforms exceed 1 division peak-to-peak (>1 mVpp).

It takes some time for the frequency sweep analysis to complete. You can query bit 0 of the Standard Event Status Register (*ESR?) to find out when the analysis is complete.

See Also

  • *ESR? (Standard Event Status Register)

  • :POWer:CLResponse?

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:SINGle

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:TRACe

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:DATA?

:POWer Commands

Name

:POWer:CLResponse:DATA? —

Query Syntax

:POWer:CLResponse:DATA? [SWEep | SINGle]

The :POWer:CLResponse:DATA? query returns data from the Control Loop Response (Bode) power analysis.

The comma-separated value format is suitable for spreadsheet analysis.

You can use the :POWer:CLResponse:TRACe command to specify whether to include gain, phase, both gain and phase, or neither in the frequency response analysis results.

The SWEep or SINGle option specifies whether to get the data from a sweep or single-frequency analysis (see :POWer:CLResponse:FREQuency:MODE). If this option is not specified, the data from the sweep analysis is returned by default.

Return Format

<binary_block><NL>
<binary_block> ::= comma-separated data with newlines at the end of each row

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA:GMARgin?

  • :POWer:CLResponse:DATA:GMARgin:FREQuency?

  • :POWer:CLResponse:DATA:PMARgin?

  • :POWer:CLResponse:DATA:PMARgin:FREQuency?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:SINGle

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:TRACe

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:DATA:GMARgin?

:POWer Commands

Name

:POWer:CLResponse:DATA:GMARgin? —

Query Syntax

:POWer:CLResponse:DATA:GMARgin?

After the Control Loop Response (Bode) power analysis has been performed (see :POWer:CLResponse:APPLy), the :POWer:CLResponse:DATA:GMARgin? query returns the gain margin in dB.

Return Format

<gain_margin><NL>
<gain_margin> ::= gain margin in dB in NR3 format.

The query returns +9.9E+37 if the value cannot be calculated from the last sweep (that is, if there are no crossover points).

See Also

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:DATA:GMARgin:FREQuency?

  • :POWer:CLResponse:DATA:PMARgin?

  • :POWer:CLResponse:DATA:PMARgin:FREQuency?


:POWer:CLResponse:DATA:GMARgin:FREQuency?

:POWer Commands

Name

:POWer:CLResponse:DATA:GMARgin:FREQuency? —

Query Syntax

:POWer:CLResponse:DATA:GMARgin:FREQuency?

After the Control Loop Response (Bode) power analysis has been performed (see :POWer:CLResponse:APPLy), the :POWer:CLResponse:DATA:GMARgin:FREQuency? query returns the 0° phase crossover frequency in Hz.

Return Format

<frequency><NL>
<frequency> ::= 0 degrees phase crossover frequency in Hz in NR3 format

The query returns +9.9E+37 if the value cannot be calculated from the last sweep (that is, if there are no crossover points).

See Also

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:DATA:GMARgin?

  • :POWer:CLResponse:DATA:PMARgin?

  • :POWer:CLResponse:DATA:PMARgin:FREQuency?


:POWer:CLResponse:DATA:PMARgin?

:POWer Commands

Name

:POWer:CLResponse:DATA:PMARgin? —

Query Syntax

:POWer:CLResponse:DATA:PMARgin?

After the Control Loop Response (Bode) power analysis has been performed (see :POWer:CLResponse:APPLy), the :POWer:CLResponse:DATA:PMARgin? query returns the phase margin in degrees.

Return Format

<phase_margin><NL>
<phase_margin> ::= phase margin in degrees in NR3 format.

The query returns +9.9E+37 if the value cannot be calculated from the last sweep (that is, if there are no crossover points).

See Also

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:DATA:GMARgin?

  • :POWer:CLResponse:DATA:GMARgin:FREQuency?

  • :POWer:CLResponse:DATA:PMARgin:FREQuency?


:POWer:CLResponse:DATA:PMARgin:FREQuency?

:POWer Commands

Name

:POWer:CLResponse:DATA:PMARgin:FREQuency? —

Query Syntax

:POWer:CLResponse:DATA:PMARgin:FREQuency?

After the Control Loop Response (Bode) power analysis has been performed (see :POWer:CLResponse:APPLy), the :POWer:CLResponse:DATA:PMARgin:FREQuency? query returns the 0 dB gain crossover frequency in Hz.

Return Format

<frequency><NL>
<frequency> ::= 0dB gain crossover frequency in Hz in NR3 format.

The query returns +9.9E+37 if the value cannot be calculated from the last sweep (that is, if there are no crossover points).

See Also

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:DATA:GMARgin?

  • :POWer:CLResponse:DATA:GMARgin:FREQuency?

  • :POWer:CLResponse:DATA:PMARgin?


:POWer:CLResponse:FREQuency:MODE

:POWer Commands

Name

:POWer:CLResponse:FREQuency:MODE —

Command Syntax

:POWer:CLResponse:FREQuency:MODE <mode>
<mode> ::= {SWEep | SINGle}

The :POWer:CLResponse:FREQuency:MODE command specifies whether the analysis should be performed by sweeping through a range of frequencies (SWEep) or at a single frequency (SINGle).

The SINGle mode is useful for evaluating amplitudes at a single frequency, for example, near the expected 0 dB cross-over frequency. After running the test at a single frequency, you can manually adjust (increase) the waveform generator's amplitude until you begin to observe distortion in the waveforms on the oscilloscope's display. You can then use that amplitude at all frequencies in SWEep mode, or you can evaluate amplitudes at other frequencies in order to determine an optimized amplitude profile (see :POWer:CLResponse:WGEN:VOLTage:PROFile).

Query Syntax

:POWer:CLResponse:FREQuency:MODE?

The :POWer:CLResponse:FREQuency:MODE? query returns the frequency mode setting.

Return Format

<mode><NL>
<mode> ::= {SWE | SING}

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:SINGle

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:FREQuency:SINGle

:POWer Commands

Name

:POWer:CLResponse:FREQuency:SINGle —

Command Syntax

:POWer:CLResponse:FREQuency:SINGle <value>[suffix]
<value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000
   | 2000000}
[suffix] ::= {Hz | kHz| MHz}

The :POWer:CLResponse:FREQuency:SINGle command sets the single frequency value. The control loop response analysis is displayed on a log scale Bode plot, so you can select from decade values in addition to the minimum frequency of 20 Hz.

Query Syntax

:POWer:CLResponse:FREQuency:SINGle?

The :POWer:CLResponse:FREQuency:SINGle? query returns the single frequency setting.

Return Format

<value><NL>
<value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000
   | 2000000}

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:FREQuency:STARt

:POWer Commands

Name

:POWer:CLResponse:FREQuency:STARt —

Command Syntax

:POWer:CLResponse:FREQuency:STARt <value>[suffix]
<value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000}
[suffix] ::= {Hz | kHz| MHz}

The :POWer:CLResponse:FREQuency:STARt command sets the frequency sweep start value. The control loop response analysis is displayed on a log scale Bode plot, so you can select from decade values in addition to the minimum frequency of 20 Hz.

Query Syntax

:POWer:CLResponse:FREQuency:STARt?

The :POWer:CLResponse:FREQuency:STARt? query returns the frequency sweep start setting.

Return Format

<value><NL>
<value> ::= {20 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000}

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:FREQuency:STOP

:POWer Commands

Name

:POWer:CLResponse:FREQuency:STOP —

Command Syntax

:POWer:CLResponse:FREQuency:STOP <value>[suffix]
<value> ::= {100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000}
[suffix] ::= {Hz | kHz| MHz}

The :POWer:CLResponse:FREQuency:STOP command sets the frequency sweep stop value. The control loop response analysis is displayed on a log scale Bode plot, so you can select from decade values in addition to the maximum frequency of 20 MHz.

Query Syntax

:POWer:CLResponse:FREQuency:STOP?

The :POWer:CLResponse:FREQuency:STOP? query returns the frequency sweep stop setting.

Return Format

<value><NL>
<value> ::= {100 | 1000 | 10000 | 100000 | 1000000 | 10000000 | 20000000}

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:PPDecade

:POWer Commands

Name

:POWer:CLResponse:PPDecade —

Command Syntax

:POWer:CLResponse:PPDecade <pts>
<pts> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}

The :POWer:CLResponse:PPDecade command selects the number of frequency test points per decade (in the log scale).

Query Syntax

:POWer:CLResponse:PPDecade?

The :POWer:CLResponse:PPDecade? query returns the points per decade setting.

Return Format

<pts><NL>
<pts> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:SWEep:POINts

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:SOURce:INPut

:POWer Commands

Name

:POWer:CLResponse:SOURce:INPut —

Command Syntax

:POWer:CLResponse:SOURce:INPut <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :POWer:CLResponse:SOURce:INPut command selects the oscilloscope channel that is probing the power supply input.

Query Syntax

:POWer:CLResponse:SOURce:INPut?

The :POWer:CLResponse:SOURce:INPut? query returns the channel selection.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:SOURce:OUTPut

:POWer Commands

Name

:POWer:CLResponse:SOURce:OUTPut —

Command Syntax

:POWer:CLResponse:SOURce:OUTPut <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :POWer:CLResponse:SOURce:OUTPut command selects the oscilloscope channel that is probing the power supply output.

Query Syntax

:POWer:CLResponse:SOURce:OUTPut?

The :POWer:CLResponse:SOURce:OUTPut? query returns the channel selection.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:SWEep:POINts

:POWer Commands

Name

:POWer:CLResponse:SWEep:POINts —

Command Syntax

:POWer:CLResponse:SWEep:POINts <points>
<points> ::= integer from 1-1000 in NR1 format

The :POWer:CLResponse:SWEep:POINts command specifies the number of points in the Control Loop Response (Bode) power analysis.

Depending on the number of points specified and the number of decades in the frequency range, this command can also change the :POWer:CLResponse:PPDecade setting.

Query Syntax

:POWer:CLResponse:SWEep:POINts?

The :POWer:CLResponse:SWEep:POINts? query returns the points setting.

Return Format

<points><NL>
<points> ::= integer from 1-1000 in NR1 format

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:TRACe

:POWer Commands

Name

:POWer:CLResponse:TRACe —

Command Syntax

:POWer:CLResponse:TRACe <selection>
<selection> ::= {NONE | ALL | GAIN | PHASe}[,{GAIN | PHASe}]

The :POWer:CLResponse:TRACe command specifies whether to include gain, phase, both gain and phase, or neither in the control loop response analysis results.

[Note]

This command affects the oscilloscope's front panel graphical user interface (plot and table) as well as when saving analysis data.

Query Syntax

:POWer:CLResponse:TRACe?

The :POWer:CLResponse:TRACe? query returns a comma-separated list of the types of data that are currently included in the control loop response analysis results, or "NONE" if neither gain nor phase data is included.

Return Format

<selection_list><NL>
<selection_list> ::= {"NONE" | "GAIN" | "PHASe" | "GAIN,PHASe"}

See Also

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?


:POWer:CLResponse:WGEN:LOAD

:POWer Commands

Name

:POWer:CLResponse:WGEN:LOAD —

Command Syntax

:POWer:CLResponse:WGEN:LOAD <impedance>
<impedance> ::= {ONEMeg | FIFTy}

The :POWer:CLResponse:WGEN:LOAD command sets the waveform generator expected output load impedance.

The output impedance of the Gen Out signal is fixed at 50 ohms. However, the output load selection lets the waveform generator display the correct amplitude and offset levels for the expected output load. If the actual load impedance is different than the selected value, the displayed amplitude and offset levels will be incorrect.

Query Syntax

:POWer:CLResponse:WGEN:LOAD?

The :POWer:CLResponse:WGEN:LOAD? query returns the waveform generator expected output load impedance setting.

Return Format

<impedance><NL>
<impedance> ::= {ONEM | FIFT}

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:VOLTage

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:WGEN:VOLTage

:POWer Commands

Name

:POWer:CLResponse:WGEN:VOLTage —

Command Syntax

:POWer:CLResponse:WGEN:VOLTage <amplitude>[,<range>]
<amplitude> ::= amplitude in volts in NR3 format
<range> ::= {F10MILLIHZ | F100MILLIHZ | F1HZ | {F10HZ | F20HZ} | F100HZ
   | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | {F20MHZ | F100MHZ}}

The :POWer:CLResponse:WGEN:VOLTage command sets the waveform generator output amplitude(s).

When the waveform generator amplitude profile is enabled (with the :POWer:CLResponse:WGEN:VOLTage:PROFile command), you can set an initial ramp amplitude for each frequency range.

Without the <range> parameter, this command sets the waveform generator output amplitude used when the amplitude profile is disabled.

[Note]

The F20HZ and F20MHZ <range> options are allowed for backward compatibility; however, they map to the F10HZ and F100MHZ boundaries, respectively.

Query Syntax

:POWer:CLResponse:WGEN:VOLTage? [<range>]

The :POWer:CLResponse:WGEN:VOLTage? query returns the waveform generator output amplitude setting(s).

Return Format

<amplitude><NL>
<amplitude> ::= amplitude in volts in NR3 format

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage:PROFile


:POWer:CLResponse:WGEN:VOLTage:PROFile

:POWer Commands

Name

:POWer:CLResponse:WGEN:VOLTage:PROFile —

Command Syntax

:POWer:CLResponse:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}}

The :POWer:CLResponse:WGEN:VOLTage:PROFile command enables or disables the ability to set initial waveform generator ramp amplitudes for each frequency range.

With amplitude profiling, you can use lower amplitudes at frequencies where the device under test (DUT) is sensitive to distortion and use higher amplitudes where the DUT is less sensitive to distortion. Power supply feedback networks are typically most sensitive near the 0 dB cross-over frequency.

You can often observe distortions during the test. If the input test sine wave begins to look lopsided, clipped, or somewhat triangular in shape (nonsinusoidal), you are probably encountering distortion due to overdriving your DUT. Optimizing test amplitudes to achieve the best dynamic range measurements is often an iterative process of running your frequency response measurements multiple times.

Query Syntax

:POWer:CLResponse:WGEN:VOLTage:PROFile?

The :POWer:CLResponse:WGEN:VOLTage:PROFile? query returns the voltage profile setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :POWer:CLResponse?

  • :POWer:CLResponse:APPLy

  • :POWer:CLResponse:DATA?

  • :POWer:CLResponse:FREQuency:MODE

  • :POWer:CLResponse:FREQuency:STARt

  • :POWer:CLResponse:FREQuency:STOP

  • :POWer:CLResponse:PPDecade

  • :POWer:CLResponse:SOURce:INPut

  • :POWer:CLResponse:SOURce:OUTPut

  • :POWer:CLResponse:WGEN:LOAD

  • :POWer:CLResponse:WGEN:VOLTage


:POWer:DESKew

:POWer Commands

Name

:POWer:DESKew —

Command Syntax

:POWer:DESKew

The :POWer:DESKew command launches the auto deskew process on the oscilloscope.

Before sending this command:

  1. Demagnetize and zero-adjust the current probe.

    Refer to the current probe's documentation for instructions on how to do this.

  2. Make connections to the U1880A deskew fixture as described in the oscilloscope's connection dialog or in the Power Measurement Application User's Guide.

  3. Make sure the voltage probe and current probe channels are specified appropriately using the :POWer:SIGNals:SOURce:VOLTage1 and :POWer:SIGNals:SOURce:CURRent1 commands.

[Note]

Use the lowest attenuation setting on the high voltage differential probes whenever possible because the voltage levels on the deskew fixture are very small. Using a higher attenuation setting may yield inaccurate skew values (and affect the measurements made) because the noise level is magnified as well.

The deskew values are saved in the oscilloscope until a factory default or secure erase is performed. The next time you run the Power Application, you can use the saved deskew values or perform the deskew again.

Generally, you need to perform the deskew again when part of the test setup changes (for example, a different probe, different oscilloscope channel, etc.) or when the ambient temperature has changed.

See Also

  • :POWer:SIGNals:SOURce:VOLTage<i>

  • :POWer:SIGNals:SOURce:CURRent<i>


:POWer:EFFiciency:APPLy

:POWer Commands

Name

:POWer:EFFiciency:APPLy —

Command Syntax

:POWer:EFFiciency:APPLy

The :POWer:EFFiciency:APPLy command applies the efficiency power analysis.

Efficiency analysis tests the overall efficiency of the power supply by measuring the output power over the input power.

[Note]

Efficiency analysis requires a 4-channel oscilloscope because input voltage, input current, output voltage, and output current are measured.

See Also

  • :POWer:EFFiciency:TYPE

  • :MEASure:EFFiciency

  • :MEASure:IPOWer

  • :MEASure:OPOWer


:POWer:EFFiciency:TYPE

:POWer Commands

Name

:POWer:EFFiciency:TYPE —

Command Syntax

:POWer:EFFiciency:TYPE <type>
<type> ::= {DCDC | DCAC | ACDC | ACAC}

The :POWer:EFFiciency:TYPE command specifies the type of power that is being converted from the input to the output. This selection affects how the efficiency is measured.

Query Syntax

:POWer:EFFiciency:TYPE?

The :POWer:EFFiciency:TYPE? query returns the currently specified type setting.

Return Format

<type><NL>
<type> ::= {DCDC | DCAC | ACDC | ACAC}

See Also

  • :POWer:EFFiciency:APPLy

  • :MEASure:EFFiciency

  • :MEASure:IPOWer

  • :MEASure:OPOWer


:POWer:ENABle

:POWer Commands

Name

:POWer:ENABle —

Command Syntax

:POWer:ENABle {{0 | OFF} | {1 | ON}}

The :POWer:ENABle command enables or disables power analysis.

Query Syntax

:POWer:ENABle?

The :POWer:ENABle query returns a 1 or a 0 showing whether power analysis is enabled or disabled, respectively.

Return Format

{0 | 1}

See Also

  • :MEASure Power Commands


:POWer:HARMonics:APPLy

:POWer Commands

Name

:POWer:HARMonics:APPLy —

Command Syntax

:POWer:HARMonics:APPLy

The :POWer:HARMonics:APPLy command applies the current harmonics analysis.

Switching power supplies draw a range of harmonics from the AC mains.

Standard limits are set for these harmonics because these harmonics can travel back to the supply grid and cause problems with other devices on the grid.

Use the Current Harmonics analysis to test a switching power supply's current harmonics to pre-compliance standard of IEC61000-3-2 (Class A, B, C, or D). The analysis presents up to 40 harmonics.

See Also

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:STATus?

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:THD?


:POWer:HARMonics:DATA?

:POWer Commands

Name

:POWer:HARMonics:DATA? —

Query Syntax

:POWer:HARMonics:DATA?

The :POWer:HARMonics:DATA query returns the power harmonics results table data.

Return Format

<binary_block> ::= comma-separated data with newlines at the end of each row

See Also

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:STATus?

  • :POWer:HARMonics:THD?


:POWer:HARMonics:DISPlay

:POWer Commands

Name

:POWer:HARMonics:DISPlay —

Command Syntax

:POWer:HARMonics:DISPlay <display>
<display> ::= {TABLe | BAR | OFF}

The :POWer:HARMonics:DISPlay command specifies how to display the current harmonics analysis results:

  • TABLe

  • BAR — Bar chart.

  • OFF — Harmonics measurement results are not displayed.

Query Syntax

:POWer:HARMonics:DISPlay?

The :POWer:HARMonics:DISPlay query returns the display setting.

Return Format

<display><NL>
<display> ::= {TABL | BAR | OFF}

See Also

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:STATus?

  • :POWer:HARMonics:THD?


:POWer:HARMonics:FAILcount?

:POWer Commands

Name

:POWer:HARMonics:FAILcount? —

Query Syntax

:POWer:HARMonics:FAILcount?

Returns the current harmonics analysis' fail count. Non Spec values (that is, harmonics values not specified by the selected standard) are not counted.

Return Format

<count><NL>
<count> ::= integer in NR1 format

See Also

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:STATus?

  • :POWer:HARMonics:THD?


:POWer:HARMonics:LINE

:POWer Commands

Name

:POWer:HARMonics:LINE —

Command Syntax

:POWer:HARMonics:LINE <frequency>
<frequency> ::= {F50 | F60 | F400 | AUTO}

The :POWer:HARMonics:LINE command specifies the line frequency setting for the current harmonics analysis:

  • F50 — 50 Hz.

  • F60 — 60 Hz.

  • F400 — 400 Hz.

  • AUTO — Automatically determines the frequency of the Current waveform.

Query Syntax

:POWer:HARMonics:LINE?

The :POWer:HARMonics:LINE query returns the line frequency setting.

Return Format

<frequency><NL>
<frequency> ::= {F50 | F60 | F400 | AUTO}

See Also

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:STATus?

  • :POWer:HARMonics:THD?


:POWer:HARMonics:POWerfactor?

:POWer Commands

Name

:POWer:HARMonics:POWerfactor? —

Query Syntax

:POWer:HARMonics:POWerfactor?

The :POWer:HARMonics:POWerfactor query returns the power factor for IEC 61000-3-2 Standard Class C power factor value.

Return Format

<value> ::= Class C power factor in NR3 format

See Also

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:STATus?

  • :POWer:HARMonics:THD?


:POWer:HARMonics:RPOWer

:POWer Commands

Name

:POWer:HARMonics:RPOWer —

Command Syntax

:POWer:HARMonics:RPOWer <source>
<source> ::= {MEASured | USER}

When Class D is selected as the current harmonics analysis standard, the :POWer:HARMonics:RPOWer command specifies whether the Real Power value used for the current-per-watt measurement is measured by the oscilloscope or is defined by the user.

When USER is selected, use the :POWer:HARMonics:RPOWer:USER command to enter the user-defined value.

Query Syntax

:POWer:HARMonics:RPOWer?

The :POWer:HARMonics:RPOWer? query returns the Real Power source setting.

Return Format

<source><NL>
<source> ::= {MEAS | USER}

See Also

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:RPOWer:USER


:POWer:HARMonics:RPOWer:USER

:POWer Commands

Name

:POWer:HARMonics:RPOWer:USER —

Command Syntax

:POWer:HARMonics:RPOWer:USER <value>
<value> ::= Watts from 1.0 to 600.0 in NR3 format

When Class D is selected as the current harmonics analysis standard and you have chosen to use a user-defined Real Power value (see :POWer:HARMonics:RPOWer), the :POWer:HARMonics:RPOWer:USER command specifies the Real Power value used in the current-per-watt measurement.

Query Syntax

:POWer:HARMonics:RPOWer:USER?

The :POWer:HARMonics:RPOWer:USER? query returns the user-defined Real Power value.

Return Format

<value><NL>
<value> ::= Watts from 1.0 to 600.0 in NR3 format

See Also

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:RPOWer


:POWer:HARMonics:RUNCount?

:POWer Commands

Name

:POWer:HARMonics:RUNCount? —

Query Syntax

:POWer:HARMonics:RUNCount?

Returns the current harmonics analysis' run iteration count. Non Spec values (that is, harmonics values not specified by the selected standard) are not counted.

Return Format

<count><NL>
<count> ::= integer in NR1 format

See Also

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:STATus?

  • :POWer:HARMonics:THD?


:POWer:HARMonics:STANdard

:POWer Commands

Name

:POWer:HARMonics:STANdard —

Command Syntax

:POWer:HARMonics:STANdard <class>
<class> ::= {A | B | C | D}

The :POWer:HARMonics:STANdard command selects the standard to perform current harmonics compliance testing on.

  • A — IEC 61000-3-2 Class A — for balanced three-phase equipment, household appliances (except equipment identified as Class D), tools excluding portable tools, dimmers for incandescent lamps, and audio equipment.

  • B — IEC 61000-3-2 Class B — for portable tools.

  • C — IEC 61000-3-2 Class C — for lighting equipment.

  • D — IEC 61000-3-2 Class D — for equipment having a specified power according less than or equal to 600 W, of the following types: personal computers and personal computer monitors, television receivers.

Query Syntax

:POWer:HARMonics:STANdard?

The :POWer:HARMonics:STANdard query returns the currently set IEC 61000-3-2 standard.

Return Format

<class><NL>
<class> ::= {A | B | C | D}

See Also

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:STATus?

  • :POWer:HARMonics:THD?


:POWer:HARMonics:STATus?

:POWer Commands

Name

:POWer:HARMonics:STATus? —

Query Syntax

:POWer:HARMonics:STATus?

The :POWer:HARMonics:STATus query returns the overall pass/fail status of the current harmonics analysis.

Return Format

<status> ::= {PASS | FAIL | UNTested}

See Also

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:THD?


:POWer:HARMonics:THD?

:POWer Commands

Name

:POWer:HARMonics:THD? —

Query Syntax

:POWer:HARMonics:THD?

The :POWer:HARMonics:THD query returns the Total Harmonics Distortion (THD) results of the current harmonics analysis.

Return Format

<value> ::= Total Harmonics Distortion in NR3 format

See Also

  • :POWer:HARMonics:APPLy

  • :POWer:HARMonics:DATA?

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:FAILcount?

  • :POWer:HARMonics:LINE

  • :POWer:HARMonics:POWerfactor?

  • :POWer:HARMonics:RUNCount?

  • :POWer:HARMonics:STANdard

  • :POWer:HARMonics:STATus?


:POWer:INRush:APPLy

:POWer Commands

Name

:POWer:INRush:APPLy —

Command Syntax

:POWer:INRush:APPLy

The :POWer:INRush:APPLy command applies the inrush current analysis.

The Inrush current analysis measures the peak inrush current of the power supply when the power supply is first turned on.

See Also

  • :POWer:ITYPe

  • :POWer:INRush:EXIT

  • :POWer:INRush:NEXT

  • :MEASure:PCURrent


:POWer:INRush:EXIT

:POWer Commands

Name

:POWer:INRush:EXIT —

Command Syntax

:POWer:INRush:EXIT

The :POWer:INRush:EXIT command exits (stops) the inrush current power analysis.

This command is equivalent to selecting Exit in the user interface during the analysis.

See Also

  • :POWer:INRush:APPLy

  • :POWer:INRush:NEXT

  • :POWer:ITYPe


:POWer:INRush:NEXT

:POWer Commands

Name

:POWer:INRush:NEXT —

Command Syntax

:POWer:INRush:NEXT

The :POWer:INRush:NEXT command goes to the next step of the inrush current analysis.

This command is equivalent to selecting Next in the user interface when prompted during the analysis.

See Also

  • :POWer:INRush:APPLy

  • :POWer:INRush:EXIT

  • :POWer:ITYPe


:POWer:ITYPe

:POWer Commands

Name

:POWer:ITYPe —

Command Syntax

:POWer:ITYPe <type>
<type> ::= {DC | AC}

The :POWer:ITYPe command specifies the type of power that is being converted from the input (DC or AC). Your selection affects how the measurements are made.

This setting is used in the Inrush Current and Turn On/Turn Off tests.

Query Syntax

:POWer:ITYPe?

The :POWer:ITYPe? query returns the input power type setting.

Return Format

<type><NL>
<type> ::= {DC | AC}

See Also

  • :POWer:INRush:APPLy

  • :POWer:ONOFf:APPLy


:POWer:MODulation:APPLy

:POWer Commands

Name

:POWer:MODulation:APPLy —

Command Syntax

:POWer:MODulation:APPLy

The :POWer:MODulation:APPLy command applies the selected modulation analysis type (:POWer:MODulation:TYPE).

The Modulation analysis measures the control pulse signal to a switching device (MOSFET) and observes the trending of the pulse width, duty cycle, period, frequency, etc. of the control pulse signal.

See Also

  • :POWer:MODulation:SOURce

  • :POWer:MODulation:TYPE

  • :MEASure:VAVerage

  • :MEASure:VRMS

  • :MEASure:VRATio

  • :MEASure:PERiod

  • :MEASure:FREQuency

  • :MEASure:PWIDth

  • :MEASure:NWIDth

  • :MEASure:DUTYcycle

  • :MEASure:RISetime

  • :MEASure:FALLtime


:POWer:MODulation:SOURce

:POWer Commands

Name

:POWer:MODulation:SOURce —

Command Syntax

:POWer:MODulation:SOURce <source>
<source> ::= {V | I}

The :POWer:MODulation:SOURce command selects either the voltage source or the current source as the source for the modulation analysis.

Query Syntax

:POWer:MODulation:SOURce?

The :POWer:MODulation:SOURce query returns the selected source for the modulation analysis.

Return Format

<source><NL>
<source> ::= {V | I}

See Also

  • :POWer:MODulation:APPLy

  • :POWer:MODulation:TYPE


:POWer:MODulation:TYPE

:POWer Commands

Name

:POWer:MODulation:TYPE —

Command Syntax

:POWer:MODulation:TYPE <modulation>
<modulation> ::= {VAVerage | ACRMs | VRATio | PERiod | FREQuency
   | PWIDith | NWIDth | DUTYcycle | NDUTycycle | RISetime | FALLtime}

The :POWer:MODulation:TYPE command selects the type of measurement to make in the modulation analysis:

  • VAVerage

  • ACRMs

  • VRATio

  • PERiod

  • FREQuency

  • PWIDth (positive pulse width)

  • NWIDth (negative pulse width)

  • DUTYcycle

  • NDUTycycle

  • RISetime

  • FALLtime

Query Syntax

:POWer:MODulation:TYPE?

The :POWer:MODulation:TYPE query returns the modulation type setting.

Return Format

<modulation><NL>
<modulation> ::= {VAV | ACRM | VRAT | PER | FREQ | PWID | NWID | DUTY
   | NDUT | RIS | FALL}

See Also

  • :POWer:MODulation:SOURce

  • :POWer:MODulation:APPLy

  • :MEASure:VAVerage

  • :MEASure:VRMS

  • :MEASure:VRATio

  • :MEASure:PERiod

  • :MEASure:FREQuency

  • :MEASure:PWIDth

  • :MEASure:NWIDth

  • :MEASure:DUTYcycle

  • :MEASure:RISetime

  • :MEASure:FALLtime


:POWer:ONOFf:APPLy

:POWer Commands

Name

:POWer:ONOFf:APPLy —

Command Syntax

:POWer:ONOFf:APPLy

The :POWer:ONOFf:APPLy command applies the selected turn on/off analysis test (:POWer:ONOFf:TEST).

See Also

  • :POWer:SIGNals:VSTeady:ONOFf:OFF

  • :POWer:SIGNals:VSTeady:ONOFf:ON

  • :POWer:ITYPe

  • :POWer:ONOFf:THResholds

  • :POWer:ONOFf:TEST

  • :POWer:ONOFf:EXIT

  • :POWer:ONOFf:NEXT

  • :MEASure:ONTime

  • :MEASure:OFFTime


:POWer:ONOFf:EXIT

:POWer Commands

Name

:POWer:ONOFf:EXIT —

Command Syntax

:POWer:ONOFf:EXIT

The :POWer:ONOFf:EXIT command exits (stops) the turn on time/turn off time analysis.

This command is equivalent to selecting Exit in the user interface during the analysis.

See Also

  • :POWer:ONOFf:THResholds

  • :POWer:ITYPe

  • :POWer:ONOFf:APPLy

  • :POWer:ONOFf:NEXT

  • :POWer:ONOFf:TEST


:POWer:ONOFf:NEXT

:POWer Commands

Name

:POWer:ONOFf:NEXT —

Command Syntax

:POWer:ONOFf:NEXT

The :POWer:ONOFf:NEXT command goes to the next step of the turn on/turn off analysis.

This command is equivalent to selecting Next in the user interface when prompted during the analysis.

See Also

  • :POWer:ONOFf:THResholds

  • :POWer:ITYPe

  • :POWer:ONOFf:APPLy

  • :POWer:ONOFf:EXIT

  • :POWer:ONOFf:TEST


:POWer:ONOFf:TEST

:POWer Commands

Name

:POWer:ONOFf:TEST —

Command Syntax

:POWer:ONOFf:TEST {{0 | OFF} | {1 | ON}}

The :POWer:ONOFf:TEST command selects whether turn on or turn off analysis is performed:

  • ON — Turn On — measures the time taken to get the output voltage of the power supply after the input voltage is applied.

  • OFF — Turn Off — measures the time taken for the output voltage of the power supply to turn off after the input voltage is removed.

Query Syntax

:POWer:ONOFf:TEST?

The :POWer:ONOFf:TEST query returns the selected test type.

Return Format

{0 | 1}

See Also

  • :POWer:ONOFf:THResholds

  • :POWer:ITYPe

  • :POWer:ONOFf:APPLy

  • :POWer:ONOFf:EXIT

  • :POWer:ONOFf:NEXT


:POWer:ONOFf:THResholds

:POWer Commands

Name

:POWer:ONOFf:THResholds —

Command Syntax

:POWer:ONOFf:THResholds <type>,<input_thr>,<output_thr>
<type> ::= {ON | OFF}
<input_thr> ::= percent from 0-100 in NR1 format
<output_thr> ::= percent from 0-100 in NR1 format

The :POWer:ONOFf:THResholds command specifies the input and output thresholds used in the Turn On/Turn Off analysis.

Turn On analysis determines how fast a turned on power supply takes to reach some percent of its steady state output. Turn on time is the time between T2 and T1 where:

  • T1 = when the input voltage first rises to some percent (typically the 10% threshold) of its maximum amplitude.

  • T2 = when the output DC voltage rises to some percent (typically the 90% threshold) of its maximum amplitude.

Turn Off analysis determines how fast a turned off power supply takes to reduce its output voltage to some percent of maximum. Turn off time is the time between T2 and T1 where:

  • T1 = when the input voltage last falls to some percent (typically the 10% threshold) of its maximum amplitude.

  • T2 = when the output DC voltage last falls to some percent (typically the 10% threshold) of its maximum amplitude.

Query Syntax

:POWer:ONOFf:THResholds? <type>

The :POWer:ONOFf:THResholds? query returns the input and output threshold settings for the turn on/turn off analysis type.

Return Format

<input_thr>,<output_thr><NL>
<input_thr> ::= percent from 0-100 in NR1 format
<output_thr> ::= percent from 0-100 in NR1 format

See Also

  • :POWer:SIGNals:VSTeady:ONOFf:OFF

  • :POWer:SIGNals:VSTeady:ONOFf:ON

  • :POWer:ITYPe

  • :POWer:ONOFf:APPLy

  • :POWer:ONOFf:TEST

  • :POWer:ONOFf:EXIT

  • :POWer:ONOFf:NEXT

  • :MEASure:ONTime

  • :MEASure:OFFTime


:POWer:PSRR?

:POWer Commands

Name

:POWer:PSRR? —

Query Syntax

:POWer:PSRR?

The :POWer:PSRR? query returns the Power Supply Rejection Ratio (PSRR) power analysis settings.

Return Format

<settings_string><NL>

For example, the query returns the following string when issued after the *RST command.

:POW:PSRR:SOUR:INP CHAN1;OUTP CHAN2;:POW:PSRR:FREQ:STAR +100E+00;
STOP +20.000000E+06;:POW:PSRR:WGEN:VOLT +200.0E-03;LOAD FIFT

See Also

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:APPLy

:POWer Commands

Name

:POWer:PSRR:APPLy —

Command Syntax

:POWer:PSRR:APPLy

The :POWer:PSRR:APPLy command applies the power supply rejection ratio (PSRR) analysis.

The Power Supply Rejection Ratio (PSRR) test is used to determine how well a voltage regulator rejects ripple noise over different frequency range.

This analysis provides a signal from the oscilloscope's waveform generator that sweeps its frequency. This signal is used to inject ripple to the DC voltage that feeds the voltage regulator.

The AC RMS ratio of the input over the output is measured and is plotted over the range of frequencies.

It takes some time for the frequency sweep analysis to complete. You can query bit 0 of the Standard Event Status Register (*ESR?) to find out when the analysis is complete.

You can use the :POWer:PSRR:TRACe command to specify whether to include gain data in the PSRR analysis results.

See Also

  • *ESR? (Standard Event Status Register)

  • :POWer:PSRR?

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:FREQuency:SINGle

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:TRACe

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:DATA?

:POWer Commands

Name

:POWer:PSRR:DATA? —

Query Syntax

:POWer:PSRR:DATA? [SWEep | SINGle]

The :POWer:PSRR:DATA? query returns data from the Power Supply Rejection Ratio (PSRR) power analysis.

The comma-separated value format is suitable for spreadsheet analysis.

You can use the :POWer:PSRR:TRACe command to specify whether to include gain data in the PSRR analysis results.

The SWEep or SINGle option specifies whether to get the data from a sweep or single-frequency analysis (see :POWer:PSRR:FREQuency:MODE). If this option is not specified, the data from the sweep analysis is returned by default.

Return Format

<binary_block><NL>
<binary_block> ::= comma-separated data with newlines at the end of each row

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:FREQuency:SINGle

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:TRACe

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:FREQuency:MAXimum

:POWer Commands

Name

:POWer:PSRR:FREQuency:MAXimum —

Command Syntax

:POWer:PSRR:FREQuency:MAXimum <value>[suffix]
<value> ::= {10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000
   | 20000000}
[suffix] ::= {Hz | kHz| MHz}

The :POWer:PSRR:FREQuency:MAXimum command sets the end sweep frequency value. The PSRR measurement is displayed on a log scale, so you can select from decade values in addition to the maximum frequency of 20 MHz.

Query Syntax

:POWer:PSRR:FREQuency:MAXimum?

The :POWer:PSRR:FREQuency:MAXimum query returns the maximum sweep frequency setting.

Return Format

<value><NL>
<value> ::= {10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000
   | 20000000}

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:FREQuency:MINimum

:POWer Commands

Name

:POWer:PSRR:FREQuency:MINimum —

Command Syntax

:POWer:PSRR:FREQuency:MINimum <value>[suffix]
<value> ::= {1 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000}
[suffix] ::= {Hz | kHz| MHz}

The :POWer:PSRR:FREQuency:MINimum command sets the start sweep frequency value. The measurement is displayed on a log scale, so you can select from decade values.

Query Syntax

:POWer:PSRR:FREQuency:MINimum?

The :POWer:PSRR:FREQuency:MINimum query returns the minimum sweep frequency setting.

Return Format

<value><NL>
<value> ::= {1 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000}

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:FREQuency:MODE

:POWer Commands

Name

:POWer:PSRR:FREQuency:MODE —

Command Syntax

:POWer:PSRR:FREQuency:MODE <mode>
<mode> ::= {SWEep | SINGle}

The :POWer:PSRR:FREQuency:MODE command specifies whether the analysis should be performed by sweeping through a range of frequencies (SWEep) or at a single frequency (SINGle).

The SINGle mode is useful for evaluating amplitudes at a single frequency. After running the test at a single frequency, you can manually adjust (increase) the waveform generator's amplitude until you begin to observe distortion in the waveforms on the oscilloscope's display. You can then use that amplitude at all frequencies in SWEep mode, or you can evaluate amplitudes at other frequencies in order to determine an optimized amplitude profile (see :POWer:PSRR:WGEN:VOLTage:PROFile).

Query Syntax

:POWer:PSRR:FREQuency:MODE?

The :POWer:PSRR:FREQuency:MODE? query returns the frequency mode setting.

Return Format

<mode><NL>
<mode> ::= {SWE | SING}

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:SINGle

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:FREQuency:SINGle

:POWer Commands

Name

:POWer:PSRR:FREQuency:SINGle —

Command Syntax

:POWer:PSRR:FREQuency:SINGle <value>[suffix]
<value> ::= {1 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000
   | 2000000}
[suffix] ::= {Hz | kHz| MHz}

The :POWer:PSRR:FREQuency:SINGle command sets the single frequency value. The measurement is displayed on a log scale, so you can select from decade values.

Query Syntax

:POWer:PSRR:FREQuency:SINGle?

The :POWer:PSRR:FREQuency:SINGle query returns the single frequency setting.

Return Format

<value><NL>
<value> ::= {1 | 10 | 100 | 1000 | 10000 | 100000 | 1000000 | 10000000
   | 2000000}

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:PPDecade

:POWer Commands

Name

:POWer:PSRR:PPDecade —

Command Syntax

:POWer:PSRR:PPDecade <pts>
<pts> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}

The :POWer:PSRR:PPDecade command selects the number of frequency test points per decade (in the log scale).

Query Syntax

:POWer:PSRR:PPDecade?

The :POWer:PSRR:PPDecade? query returns the points per decade setting.

Return Format

<pts><NL>
<pts> ::= {10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100}

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:SOURce:INPut

:POWer Commands

Name

:POWer:PSRR:SOURce:INPut —

Command Syntax

:POWer:PSRR:SOURce:INPut <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :POWer:PSRR:SOURce:INPut command selects the oscilloscope channel that is probing the power supply input.

Query Syntax

:POWer:PSRR:SOURce:INPut?

The :POWer:PSRR:SOURce:INPut? query returns the channel selection.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:SOURce:OUTPut

:POWer Commands

Name

:POWer:PSRR:SOURce:OUTPut —

Command Syntax

:POWer:PSRR:SOURce:OUTPut <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :POWer:PSRR:SOURce:OUTPut command selects the oscilloscope channel that is probing the power supply output.

Query Syntax

:POWer:PSRR:SOURce:OUTPut?

The :POWer:PSRR:SOURce:OUTPut? query returns the channel selection.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:TRACe

:POWer Commands

Name

:POWer:PSRR:TRACe —

Command Syntax

:POWer:PSRR:TRACe <selection>
<selection> ::= {NONE | GAIN}

The :POWer:PSRR:TRACe command specifies whether to include gain (PSRR) data in the power supply rejection ratio analysis results.

[Note]

This command affects the oscilloscope's front panel graphical user interface (plot and table) as well as when saving analysis data.

Query Syntax

:POWer:PSRR:TRACe?

The :POWer:PSRR:TRACe? query returns the type of data that is currently included in the PSRR analysis results, or "NONE" if the gain data is not included.

Return Format

<selection_list><NL>
<selection_list> ::= {"NONE" | "GAIN"}

See Also

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?


:POWer:PSRR:WGEN:LOAD

:POWer Commands

Name

:POWer:PSRR:WGEN:LOAD —

Command Syntax

:POWer:PSRR:WGEN:LOAD <impedance>
<impedance> ::= {ONEMeg | FIFTy}

The :POWer:PSRR:WGEN:LOAD command sets the waveform generator expected output load impedance.

The output impedance of the Gen Out signal is fixed at 50 ohms. However, the output load selection lets the waveform generator display the correct amplitude and offset levels for the expected output load. If the actual load impedance is different than the selected value, the displayed amplitude and offset levels will be incorrect.

Query Syntax

:POWer:PSRR:WGEN:LOAD?

The :POWer:PSRR:WGEN:LOAD? query returns the waveform generator expected output load impedance setting.

Return Format

<impedance><NL>
<impedance> ::= {ONEM | FIFT}

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:VOLTage

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:WGEN:VOLTage

:POWer Commands

Name

:POWer:PSRR:WGEN:VOLTage —

Command Syntax

:POWer:PSRR:WGEN:VOLTage <amplitude>[,<range>]
<amplitude> ::= amplitude in volts in NR3 format
<range> ::= {F10MILLIHZ | F100MILLIHZ | F1HZ | {F10HZ | F20HZ} | F100HZ
   | F1KHZ | F10KHZ | F100KHZ | F1MHZ | F10MHZ | {F20MHZ | F100MHZ}}

The :POWer:PSRR:WGEN:VOLTage command sets the waveform generator output amplitude(s).

When the waveform generator amplitude profile is enabled (with the :POWer:PSRR:WGEN:VOLTage:PROFile command), you can set an initial ramp amplitude for each frequency range.

Without the <range> parameter, this command sets the waveform generator output amplitude used when the amplitude profile is disabled.

[Note]

The F20HZ and F20MHZ <range> options are allowed for backward compatibility; however, they map to the F10HZ and F100MHZ boundaries, respectively.

Query Syntax

:POWer:PSRR:WGEN:VOLTage? [<range>]

The :POWer:PSRR:WGEN:VOLTage? query returns the waveform generator output amplitude setting(s).

Return Format

<amplitude><NL>
<amplitude> ::= amplitude in volts in NR3 format

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage:PROFile


:POWer:PSRR:WGEN:VOLTage:PROFile

:POWer Commands

Name

:POWer:PSRR:WGEN:VOLTage:PROFile —

Command Syntax

:POWer:PSRR:WGEN:VOLTage:PROFile {{0 | OFF} | {1 | ON}}

The :POWer:PSRR:WGEN:VOLTage:PROFile command enables or disables the ability to set initial waveform generator ramp amplitudes for each frequency range.

With amplitude profiling, you can use lower amplitudes at frequencies where the device under test (DUT) is sensitive to distortion and use higher amplitudes where the DUT is less sensitive to distortion.

You can often observe distortions during the test. If the input test sine wave begins to look lopsided, clipped, or somewhat triangular in shape (nonsinusoidal), you are probably encountering distortion due to overdriving your DUT. Optimizing test amplitudes to achieve the best dynamic range measurements is often an iterative process of running your frequency response measurements multiple times.

Query Syntax

:POWer:PSRR:WGEN:VOLTage:PROFile?

The :POWer:PSRR:WGEN:VOLTage:PROFile? query returns the voltage profile setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :POWer:PSRR?

  • :POWer:PSRR:APPLy

  • :POWer:PSRR:DATA?

  • :POWer:PSRR:FREQuency:MAXimum

  • :POWer:PSRR:FREQuency:MINimum

  • :POWer:PSRR:FREQuency:MODE

  • :POWer:PSRR:PPDecade

  • :POWer:PSRR:SOURce:INPut

  • :POWer:PSRR:SOURce:OUTPut

  • :POWer:PSRR:WGEN:LOAD

  • :POWer:PSRR:WGEN:VOLTage


:POWer:QUALity:APPLy

:POWer Commands

Name

:POWer:QUALity:APPLy —

Command Syntax

:POWer:QUALity:APPLy

The :POWer:QUALity:APPLy command applies the selected power quality analysis type (:POWer:QUALity:TYPE).

The power quality analysis shows the quality of the AC input line.

Some AC current may flow back into and back out of the load without delivering energy. This current, called reactive or harmonic current, gives rise to an "apparent" power which is larger than the actual power consumed. Power quality is gauged by these measurements: power factor, apparent power, true power, reactive power, crest factor, and phase angle of the current and voltage of the AC line.

See Also

  • :MEASure:FACTor

  • :MEASure:REAL

  • :MEASure:APParent

  • :MEASure:REACtive

  • :MEASure:CRESt

  • :MEASure:ANGLe


:POWer:RIPPle:APPLy

:POWer Commands

Name

:POWer:RIPPle:APPLy —

Command Syntax

:POWer:RIPPle:APPLy

The :POWer:RIPPle:APPLy command applies the output ripple analysis.

See Also

  • :MEASure:RIPPle


:POWer:SIGNals:AUTosetup

:POWer Commands

Name

:POWer:SIGNals:AUTosetup —

Command Syntax

:POWer:SIGNals:AUTosetup <analysis>
<analysis> ::= {HARMonics | EFFiciency | RIPPle | MODulation | QUALity
   | SLEW | SWITch | RDSVce}

The :POWer:SIGNals:AUTosetup command performs automated oscilloscope setup for the signals in the specified type of power analysis.

See Also

  • :POWer:HARMonics:DISPlay

  • :POWer:EFFiciency:APPLy

  • :POWer:RIPPle:APPLy

  • :POWer:MODulation:APPLy

  • :POWer:QUALity:APPLy

  • :POWer:SLEW:APPLy

  • :POWer:SWITch:APPLy

  • :POWer:SIGNals:CYCLes:HARMonics

  • :POWer:SIGNals:CYCLes:QUALity

  • :POWer:SIGNals:DURation:EFFiciency

  • :POWer:SIGNals:DURation:MODulation

  • :POWer:SIGNals:DURation:RIPPle

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:CYCLes:HARMonics

:POWer Commands

Name

:POWer:SIGNals:CYCLes:HARMonics —

Command Syntax

:POWer:SIGNals:CYCLes:HARMonics <count>
<count> ::= integer in NR1 format
Legal values are 1 to 100.

The :POWer:SIGNals:CYCLes:HARMonics command specifies the number of cycles to include in the current harmonics analysis.

Query Syntax

:POWer:SIGNals:CYCLes:HARMonics?

The :POWer:SIGNals:CYCLes:HARMonics query returns the number of cycles currently set.

Return Format

<count><NL>
<count> ::= integer in NR1 format

See Also

  • :POWer:HARMonics:DISPlay

  • :POWer:HARMonics:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:CYCLes:QUALity

:POWer Commands

Name

:POWer:SIGNals:CYCLes:QUALity —

Command Syntax

:POWer:SIGNals:CYCLes:QUALity <count>
<count> ::= integer in NR1 format
Legal values are 1 to 100.

The :POWer:SIGNals:CYCLes:QUALity command specifies the number of cycles to include in the power quality analysis.

Query Syntax

:POWer:SIGNals:CYCLes:QUALity?

The :POWer:SIGNals:CYCLes:QUALity query returns the number of cycles currently set.

Return Format

<count><NL>
<count> ::= integer in NR1 format

See Also

  • :POWer:QUALity:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:DURation:EFFiciency

:POWer Commands

Name

:POWer:SIGNals:DURation:EFFiciency —

Command Syntax

:POWer:SIGNals:DURation:EFFiciency <value>[suffix]
<value> ::= value in NR3 format
[suffix] ::= {s | ms | us | ns}

The :POWer:SIGNals:DURation:EFFiciency command specifies the duration of the efficiency analysis.

Query Syntax

:POWer:SIGNals:DURation:EFFiciency?

The :POWer:SIGNals:DURation:EFFiciency query returns the set duration time value.

Return Format

<value><NL>
<value> ::= value in NR3 format

See Also

  • :POWer:EFFiciency:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:DURation:MODulation

:POWer Commands

Name

:POWer:SIGNals:DURation:MODulation —

Command Syntax

:POWer:SIGNals:DURation:MODulation <value>[suffix]
<value> ::= value in NR3 format
[suffix] ::= {s | ms | us | ns}

The :POWer:SIGNals:DURation:MODulation command specifies the duration of the modulation analysis.

Query Syntax

:POWer:SIGNals:DURation:MODulation?

The :POWer:SIGNals:DURation:MODulation query returns the set duration time value.

Return Format

<value><NL>
<value> ::= value in NR3 format

See Also

  • :POWer:MODulation:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:DURation:ONOFf:OFF

:POWer Commands

Name

:POWer:SIGNals:DURation:ONOFf:OFF —

Command Syntax

:POWer:SIGNals:DURation:ONOFf:OFF <value>[suffix]
<value> ::= value in NR3 format
[suffix] ::= {s | ms | us | ns}

The :POWer:SIGNals:DURation:ONOFf:OFF command specifies the duration of the turn off analysis.

Query Syntax

:POWer:SIGNals:DURation:ONOFf:OFF?

The :POWer:SIGNals:DURation:ONOFf:OFF query returns the set duration time value.

Return Format

<value><NL>
<value> ::= value in NR3 format

See Also

  • :POWer:ONOFf:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VMAXimum:ONOFf:OFF

  • :POWer:SIGNals:VSTeady:ONOFf:OFF

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:DURation:ONOFf:ON

:POWer Commands

Name

:POWer:SIGNals:DURation:ONOFf:ON —

Command Syntax

:POWer:SIGNals:DURation:ONOFf:ON <value>[suffix]
<value> ::= value in NR3 format
[suffix] ::= {s | ms | us | ns}

The :POWer:SIGNals:DURation:ONOFf:ON command specifies the duration of the turn on analysis.

Query Syntax

:POWer:SIGNals:DURation:ONOFf:ON?

The :POWer:SIGNals:DURation:ONOFf:ON query returns the set duration time value.

Return Format

<value><NL>
<value> ::= value in NR3 format

See Also

  • :POWer:ONOFf:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VMAXimum:ONOFf:ON

  • :POWer:SIGNals:VSTeady:ONOFf:ON

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:DURation:RIPPle

:POWer Commands

Name

:POWer:SIGNals:DURation:RIPPle —

Command Syntax

:POWer:SIGNals:DURation:RIPPle <value>[suffix]
<value> ::= value in NR3 format
[suffix] ::= {s | ms | us | ns}

The :POWer:SIGNals:DURation:RIPPle command specifies the duration of the output ripple analysis.

Query Syntax

:POWer:SIGNals:DURation:RIPPle?

The :POWer:SIGNals:DURation:RIPPle query returns the set duration time value.

Return Format

<value><NL>
<value> ::= value in NR3 format

See Also

  • :POWer:RIPPle:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:DURation:TRANsient

:POWer Commands

Name

:POWer:SIGNals:DURation:TRANsient —

Command Syntax

:POWer:SIGNals:DURation:TRANsient <value>[suffix]
<value> ::= value in NR3 format
[suffix] ::= {s | ms | us | ns}

The :POWer:SIGNals:DURation:TRANsient command specifies the duration of the transient response analysis.

Query Syntax

:POWer:SIGNals:DURation:TRANsient?

The :POWer:SIGNals:DURation:TRANsient query returns the set duration time value.

Return Format

<value><NL>
<value> ::= value in NR3 format

See Also

  • :POWer:TRANsient:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VSTeady:TRANsient

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:IEXPected

:POWer Commands

Name

:POWer:SIGNals:IEXPected —

Command Syntax

:POWer:SIGNals:IEXPected <value>[suffix]
<value> ::= Expected current value in NR3 format
[suffix] ::= {A | mA}

The :POWer:SIGNals:IEXPected command specifies the expected inrush current amplitude. This value is used to set the vertical scale of the channel probing current.

Query Syntax

:POWer:SIGNals:IEXPected?

The :POWer:SIGNals:IEXPected query returns the expected inrush current setting.

Return Format

<value><NL>
<value> ::= Expected current value in NR3 format

See Also

  • :POWer:INRush:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VMAXimum:INRush

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:OVERshoot

:POWer Commands

Name

:POWer:SIGNals:OVERshoot —

Command Syntax

:POWer:SIGNals:OVERshoot <percent>
<percent> ::= percent of overshoot value in NR1 format

The :POWer:SIGNals:OVERshoot command specifies the percent of overshoot of the output voltage. This value is used to determine the settling band value for the transient response and to adjust the vertical scale of the oscilloscope.

Query Syntax

:POWer:SIGNals:OVERshoot?

The :POWer:SIGNals:OVERshoot query returns the overshoot percent setting.

Return Format

<percent><NL>
<percent> ::= percent of overshoot value in NR1 format

See Also

  • :POWer:TRANsient:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:DURation:TRANsient

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:VSTeady:TRANsient

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:VMAXimum:INRush

:POWer Commands

Name

:POWer:SIGNals:VMAXimum:INRush —

Command Syntax

:POWer:SIGNals:VMAXimum:INRush <value>[suffix]
<value> ::= Maximum expected input Voltage in NR3 format
[suffix] ::= {V | mV}

The :POWer:SIGNals:VMAXimum:INRush command specifies the maximum expected input voltage. This value is used to set the vertical scale of the channel probing voltage for inrush current analysis.

When the :POWer:ITYPe is DC, this command defines the maximum DC input voltage amplitude value. The values can be negative.

When the :POWer:ITYPe is AC, this command defines the maximum peak-to-peak input voltage. Only positive values are allowed.

Query Syntax

:POWer:SIGNals:VMAXimum:INRush?

The :POWer:SIGNals:VMAXimum:INRush query returns the expected maximum input voltage setting.

Return Format

<value><NL>
<value> ::= Maximum expected input Voltage in NR3 format

See Also

  • :POWer:ITYPe

  • :POWer:INRush:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:VMAXimum:ONOFf:OFF

:POWer Commands

Name

:POWer:SIGNals:VMAXimum:ONOFf:OFF —

Command Syntax

:POWer:SIGNals:VMAXimum:ONOFf:OFF <value>[suffix]
<value> ::= Maximum expected input Voltage in NR3 format
[suffix] ::= {V | mV}

The :POWer:SIGNals:VMAXimum:ONOFf:OFF command specifies the maximum expected input voltage. This value is used to set the vertical scale of the channel probing voltage for turn off analysis.

When the :POWer:ITYPe is DC, this command defines the maximum DC input voltage amplitude value. The values can be negative.

When the :POWer:ITYPe is AC, this command defines the maximum peak-to-peak input voltage. Only positive values are allowed.

Query Syntax

:POWer:SIGNals:VMAXimum:ONOFf:OFF?

The :POWer:SIGNals:VMAXimum:ONOFf:OFF query returns the expected maximum input voltage setting.

Return Format

<value><NL>
<value> ::= Maximum expected input Voltage in NR3 format

See Also

  • :POWer:ITYPe

  • :POWer:ONOFf:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:DURation:ONOFf:OFF

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VSTeady:ONOFf:OFF

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:VMAXimum:ONOFf:ON

:POWer Commands

Name

:POWer:SIGNals:VMAXimum:ONOFf:ON —

Command Syntax

:POWer:SIGNals:VMAXimum:ONOFf:ON <value>[suffix]
<value> ::= Maximum expected input Voltage in NR3 format
[suffix] ::= {V | mV}

The :POWer:SIGNals:VMAXimum:ONOFf:ON command specifies the maximum expected input voltage. This value is used to set the vertical scale of the channel probing voltage for turn on analysis.

When the :POWer:ITYPe is DC, this command defines the maximum DC input voltage amplitude value. The values can be negative.

When the :POWer:ITYPe is AC, this command defines the maximum peak-to-peak input voltage. Only positive values are allowed.

Query Syntax

:POWer:SIGNals:VMAXimum:ONOFf:ON?

The :POWer:SIGNals:VMAXimum:ONOFf:ON query returns the expected maximum input voltage setting.

Return Format

<value><NL>
<value> ::= Maximum expected input Voltage in NR3 format

See Also

  • :POWer:ITYPe

  • :POWer:ONOFf:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:DURation:ONOFf:ON

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VSTeady:ONOFf:ON

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:VSTeady:ONOFf:OFF

:POWer Commands

Name

:POWer:SIGNals:VSTeady:ONOFf:OFF —

Command Syntax

:POWer:SIGNals:VSTeady:ONOFf:OFF <value>[suffix]
<value> ::= Expected steady state output Voltage value in NR3 format
[suffix] ::= {V | mV}

The :POWer:SIGNals:VSTeady:ONOFf:OFF command specifies the expected steady state output DC voltage of the power supply for turn off analysis.

Query Syntax

:POWer:SIGNals:VSTeady:ONOFf:OFF?

The :POWer:SIGNals:VSTeady:ONOFf:OFF query returns the expected steady state voltage setting.

Return Format

<value><NL>
<value> ::= Expected steady state output Voltage value in NR3 format

See Also

  • :POWer:ONOFf:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:DURation:ONOFf:OFF

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VMAXimum:ONOFf:OFF

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:VSTeady:ONOFf:ON

:POWer Commands

Name

:POWer:SIGNals:VSTeady:ONOFf:ON —

Command Syntax

:POWer:SIGNals:VSTeady:ONOFf:ON <value>[suffix]
<value> ::= Expected steady state output Voltage value in NR3 format
[suffix] ::= {V | mV}

The :POWer:SIGNals:VSTeady:ONOFf:ON command specifies the expected steady state output DC voltage of the power supply for turn on analysis.

Query Syntax

:POWer:SIGNals:VSTeady:ONOFf:ON?

The :POWer:SIGNals:VSTeady:ONOFf:ON query returns the expected steady state voltage setting.

Return Format

<value><NL>
<value> ::= Expected steady state output Voltage value in NR3 format

See Also

  • :POWer:ONOFf:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:DURation:ONOFf:ON

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VMAXimum:ONOFf:ON

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:VSTeady:TRANsient

:POWer Commands

Name

:POWer:SIGNals:VSTeady:TRANsient —

Command Syntax

:POWer:SIGNals:VSTeady:TRANsient <value>[suffix]
<value> ::= Expected steady state output Voltage value in NR3 format
[suffix] ::= {V | mV}

The :POWer:SIGNals:VSTeady:TRANsient command specifies the expected steady state output DC voltage of the power supply for transient response analysis.

This value is used along with the overshoot percentage to specify the settling band for the transient response and to adjust the vertical scale of the oscilloscope.

Query Syntax

:POWer:SIGNals:VSTeady:TRANsient?

The :POWer:SIGNals:VSTeady:TRANsient query returns the expected steady state voltage setting.

Return Format

<value><NL>
<value> ::= Expected steady state output Voltage value in NR3 format

See Also

  • :POWer:TRANsient:APPLy

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:DURation:TRANsient

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:SOURce:CURRent<i>

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:SOURce:CURRent<i>

:POWer Commands

Name

:POWer:SIGNals:SOURce:CURRent<i> —

Command Syntax

:POWer:SIGNals:SOURce:CURRent<i> <source>
<i> ::= 1, 2 in NR1 format
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :POWer:SIGNals:SOURce:CURRent<i> command specifies the first, and perhaps second, current source channel to be used in the power analysis.

Query Syntax

:POWer:SIGNals:SOURce:CURRent<i>?

The :POWer:SIGNals:SOURce:CURRent<i> query returns the current source channel setting.

Return Format

<source><NL>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

See Also

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:CYCLes:HARMonics

  • :POWer:SIGNals:CYCLes:QUALity

  • :POWer:SIGNals:DURation:EFFiciency

  • :POWer:SIGNals:DURation:MODulation

  • :POWer:SIGNals:DURation:ONOFf:OFF

  • :POWer:SIGNals:DURation:ONOFf:ON

  • :POWer:SIGNals:DURation:RIPPle

  • :POWer:SIGNals:DURation:TRANsient

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VMAXimum:INRush

  • :POWer:SIGNals:VMAXimum:ONOFf:OFF

  • :POWer:SIGNals:VMAXimum:ONOFf:ON

  • :POWer:SIGNals:VSTeady:ONOFf:OFF

  • :POWer:SIGNals:VSTeady:ONOFf:ON

  • :POWer:SIGNals:VSTeady:TRANsient

  • :POWer:SIGNals:SOURce:VOLTage<i>


:POWer:SIGNals:SOURce:VOLTage<i>

:POWer Commands

Name

:POWer:SIGNals:SOURce:VOLTage<i> —

Command Syntax

:POWer:SIGNals:SOURce:VOLTage<i> <source>
<i> ::= 1, 2 in NR1 format
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :POWer:SIGNals:SOURce:VOLTage<i> command specifies the first, and perhaps second, voltage source channel to be used in the power analysis.

Query Syntax

:POWer:SIGNals:SOURce:VOLTage<i>?

The :POWer:SIGNals:SOURce:VOLTage<i> query returns the voltage source channel setting.

Return Format

<source><NL>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

See Also

  • :POWer:SIGNals:AUTosetup

  • :POWer:SIGNals:CYCLes:HARMonics

  • :POWer:SIGNals:CYCLes:QUALity

  • :POWer:SIGNals:DURation:EFFiciency

  • :POWer:SIGNals:DURation:MODulation

  • :POWer:SIGNals:DURation:ONOFf:OFF

  • :POWer:SIGNals:DURation:ONOFf:ON

  • :POWer:SIGNals:DURation:RIPPle

  • :POWer:SIGNals:DURation:TRANsient

  • :POWer:SIGNals:IEXPected

  • :POWer:SIGNals:OVERshoot

  • :POWer:SIGNals:VMAXimum:INRush

  • :POWer:SIGNals:VMAXimum:ONOFf:OFF

  • :POWer:SIGNals:VMAXimum:ONOFf:ON

  • :POWer:SIGNals:VSTeady:ONOFf:OFF

  • :POWer:SIGNals:VSTeady:ONOFf:ON

  • :POWer:SIGNals:VSTeady:TRANsient

  • :POWer:SIGNals:SOURce:CURRent<i>


:POWer:SLEW:APPLy

:POWer Commands

Name

:POWer:SLEW:APPLy —

Command Syntax

:POWer:SLEW:APPLy

The :POWer:SLEW:APPLy command applies the slew rate analysis.

See Also

  • :POWer:SLEW:SOURce


:POWer:SLEW:SOURce

:POWer Commands

Name

:POWer:SLEW:SOURce —

Command Syntax

:POWer:SLEW:SOURce <source>
<source> ::= {V | I}

The :POWer:SLEW:SOURce command selects either the voltage source or the current source as the source for the slew rate analysis.

Query Syntax

:POWer:SLEW:SOURce?

The :POWer:SLEW:SOURce query returns the selected source for the slew rate analysis.

Return Format

<source><NL>
<source> ::= {V | I}

See Also

  • :POWer:SLEW:APPLy


:POWer:SWITch:APPLy

:POWer Commands

Name

:POWer:SWITch:APPLy —

Command Syntax

:POWer:SWITch:APPLy

The :POWer:SWITch:APPLy command applies the switching loss analysis using the conduction calculation method, V reference, and I reference settings.

See Also

  • :POWer:SWITch:CONDuction

  • :POWer:SWITch:IREFerence

  • :POWer:SWITch:RDS

  • :POWer:SWITch:VCE

  • :POWer:SWITch:VREFerence

  • :MEASure:ELOSs

  • :MEASure:PLOSs


:POWer:SWITch:CONDuction

:POWer Commands

Name

:POWer:SWITch:CONDuction —

Command Syntax

:POWer:SWITch:CONDuction <conduction>
<conduction> ::= {WAVeform | RDS | VCE}

The :POWer:SWITch:CONDuction command specifies the conduction calculation method:

  • WAVeform — The Power waveform uses the original voltage waveform data, and the calculation is: P = V x I

  • RDS — Rds(on) — The Power waveform includes error correction:

    • In the On Zone (where the voltage level is below V Ref) – the Power calculation is: P = Id2 x Rds(on)

      Specify Rds(on) using the :POWer:SWITch:RDS command.

    • In the Off Zone (where the current level is below I Ref) – the Power calculation is: P = 0 Watt.

  • VCE — Vce(sat) — The Power waveform includes error correction:

    • In the On Zone (where the voltage level is below V Ref) – the Power calculation is: P = Vce(sat) x Ic

      Specify Vce(sat) using the :POWer:SWITch:VCE command.

    • In the Off Zone (where the current level is below I Ref) – the Power calculation is: P = 0 Watt.

Query Syntax

:POWer:SWITch:CONDuction?

The :POWer:SWITch:CONDuction query returns the conduction calculation method.

Return Format

<conduction><NL>
<conduction> ::= {WAV | RDS | VCE}

See Also

  • :POWer:SWITch:APPLy

  • :POWer:SWITch:IREFerence

  • :POWer:SWITch:RDS

  • :POWer:SWITch:VCE

  • :POWer:SWITch:VREFerence


:POWer:SWITch:IREFerence

:POWer Commands

Name

:POWer:SWITch:IREFerence —

Command Syntax

:POWer:SWITch:IREFerence <percent>
<percent> ::= percent in NR1 format

The :POWer:SWITch:IREFerence command to specify the current switching level for the start of switching edges. The value is in percentage of the maximum switch current.

You can adjust this value to ignore noise floors or null offset that is difficult to eliminate in current probes.

This value specifies the threshold that is used to determine the switching edges.

Query Syntax

:POWer:SWITch:IREFerence?

The :POWer:SWITch:IREFerence query returns the current switching level percent value.

Return Format

<percent><NL>
<percent> ::= percent in NR1 format

See Also

  • :POWer:SWITch:APPLy

  • :POWer:SWITch:CONDuction

  • :POWer:SWITch:RDS

  • :POWer:SWITch:VCE

  • :POWer:SWITch:VREFerence


:POWer:SWITch:RDS

:POWer Commands

Name

:POWer:SWITch:RDS —

Command Syntax

:POWer:SWITch:RDS <value>[suffix]
<value> ::= Rds(on) value in NR3 format
[suffix] ::= {OHM | mOHM}

The :POWer:SWITch:RDS command specifies the Rds(on) value when the RDS conduction calculation method is chosen (by :POWer:SWITch:CONDuction).

Query Syntax

:POWer:SWITch:RDS?

The :POWer:SWITch:RDS query returns the Rds(on) value.

Return Format

<value><NL>
<value> ::= Rds(on) value in NR3 format

See Also

  • :POWer:SWITch:APPLy

  • :POWer:SWITch:CONDuction

  • :POWer:SWITch:IREFerence

  • :POWer:SWITch:VCE

  • :POWer:SWITch:VREFerence


:POWer:SWITch:VCE

:POWer Commands

Name

:POWer:SWITch:VCE —

Command Syntax

:POWer:SWITch:VCE <value>[suffix]
<value> ::= Vce(sat) value in NR3 format
[suffix] ::= {V | mV}

The :POWer:SWITch:VCE command specifies the Vce(sat) value when the VCE conduction calculation method is chosen (by :POWer:SWITch:CONDuction).

Query Syntax

:POWer:SWITch:VCE?

The :POWer:SWITch:VCE query returns the Vce(sat) value.

Return Format

<value><NL>
<value> ::= Vce(sat) value in NR3 format

See Also

  • :POWer:SWITch:APPLy

  • :POWer:SWITch:CONDuction

  • :POWer:SWITch:IREFerence

  • :POWer:SWITch:RDS

  • :POWer:SWITch:VREFerence


:POWer:SWITch:VREFerence

:POWer Commands

Name

:POWer:SWITch:VREFerence —

Command Syntax

:POWer:SWITch:VREFerence <percent>
<percent> ::= percent in NR1 format

The :POWer:SWITch:VREFerence command to specify the voltage switching level for the switching edges. The value is in percentage of the maximum switch voltage.

You can adjust this value to ignore noise floors.

This value specifies the threshold that is used to determine the switching edges.

Query Syntax

:POWer:SWITch:VREFerence?

The :POWer:SWITch:VREFerence query returns the voltage switching level percent value.

Return Format

<percent><NL>
<percent> ::= percent in NR1 format

See Also

  • :POWer:SWITch:APPLy

  • :POWer:SWITch:CONDuction

  • :POWer:SWITch:IREFerence

  • :POWer:SWITch:RDS

  • :POWer:SWITch:VCE


:POWer:TRANsient:APPLy

:POWer Commands

Name

:POWer:TRANsient:APPLy —

Command Syntax

:POWer:TRANsient:APPLy

The :POWer:TRANsient:APPLy command applies the transient analysis using the initial current and new current settings.

See Also

  • :POWer:TRANsient:EXIT

  • :POWer:TRANsient:IINitial

  • :POWer:TRANsient:INEW

  • :POWer:TRANsient:NEXT

  • :MEASure:TRESponse


:POWer:TRANsient:EXIT

:POWer Commands

Name

:POWer:TRANsient:EXIT —

Command Syntax

:POWer:TRANsient:EXIT

The :POWer:TRANsient:EXIT command exits (stops) the transient analysis.

This command is equivalent to selecting Exit in the user interface during the analysis.

See Also

  • :POWer:TRANsient:APPLy

  • :POWer:TRANsient:IINitial

  • :POWer:TRANsient:INEW

  • :POWer:TRANsient:NEXT


:POWer:TRANsient:IINitial

:POWer Commands

Name

:POWer:TRANsient:IINitial —

Command Syntax

:POWer:TRANsient:IINitial <value>[suffix]
<value> ::= Initial current value in NR3 format
[suffix] ::= {A | mA}

The :POWer:TRANsient:IINitial command to specify the initial load current value. The initial load current will be used as a reference and to trigger the oscilloscope.

Query Syntax

:POWer:TRANsient:IINitial?

The :POWer:TRANsient:IINitial query returns the initial load current value.

Return Format

<value><NL>
<value> ::= Initial current value in NR3 format

See Also

  • :POWer:SIGNals:VSTeady:TRANsient

  • :POWer:TRANsient:APPLy

  • :POWer:TRANsient:EXIT

  • :POWer:TRANsient:INEW

  • :POWer:TRANsient:NEXT


:POWer:TRANsient:INEW

:POWer Commands

Name

:POWer:TRANsient:INEW —

Command Syntax

:POWer:TRANsient:INEW <value>[suffix]
<value> ::= New current value in NR3 format
[suffix] ::= {A | mA}

The :POWer:TRANsient:INEW command to specify the new load current value. The new load current will be used as a reference and to trigger the oscilloscope.

Query Syntax

:POWer:TRANsient:INEW?

The :POWer:TRANsient:INEW query returns the new load current value.

Return Format

<value><NL>
<value> ::= New current value in NR3 format

See Also

  • :POWer:TRANsient:APPLy

  • :POWer:TRANsient:EXIT

  • :POWer:TRANsient:IINitial

  • :POWer:TRANsient:NEXT


:POWer:TRANsient:NEXT

:POWer Commands

Name

:POWer:TRANsient:NEXT —

Command Syntax

:POWer:TRANsient:NEXT

The :POWer:TRANsient:NEXT command goes to the next step of the transient analysis.

This command is equivalent to selecting Next in the user interface when prompted during the analysis.

See Also

  • :POWer:TRANsient:APPLy

  • :POWer:TRANsient:EXIT

  • :POWer:TRANsient:IINitial

  • :POWer:TRANsient:INEW


:RECall Commands

Recall previously saved oscilloscope setups, reference waveforms, and masks.

:RECall Commands Summary:

Command | Query | Options and Query Returns
:RECall:ARBitrary:[STARt] [{<internal_fname> | <external_fname>}][, <column>][, <wavegen_id>] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected <column> ::= Column in CSV file to load. Column number starts from 1. <wavegen_id> ::= WGEN1
:RECall:ARXML:CAN[:STARt] [<file_name>] [, <protocol_decode_bus>] | n/a | <file_name> ::= quoted ASCII string If extension included in file name, it must be ".arxml". <protocol_decode_bus> ::= {PBUS<n> | SBUS<n>} <n> ::= 1 to (# of protocol decode bus) in NR1 format
:RECall:DBC[:STARt] [<file_name>] [, <protocol_decode_bus>] | n/a | <file_name> ::= quoted ASCII string If extension included in file name, it must be ".dbc". <protocol_decode_bus> ::= {PBUS<n> | SBUS<n>} <n> ::= 1 to (# of protocol decode bus) in NR1 format
:RECall:FILename <base_name> | :RECall:FILename? | <base_name> ::= quoted ASCII string
:RECall:LDF[:STARt] [<file_name>] [, <protocol_decode_bus>] | n/a | <file_name> ::= quoted ASCII string If extension included in file name, it must be ".ldf". <protocol_decode_bus> ::= {PBUS<n> | SBUS<n>} <n> ::= 1 to (# of protocol decode bus) in NR1 format
:RECall:MASK[:STARt] [{<internal_fname> | <external_fname>}] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected
:RECall:PWD <path_name> | :RECall:PWD? | <path_name> ::= quoted ASCII string
:RECall:SETup[:STARt] [{<internal_fname> | <external_fname>}] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected
:RECall:WMEMory<r>[:STARt] [<file_name> | <data>] | n/a | <r> ::= 1 to (# ref waveforms) in NR1 format <file_name> ::= quoted ASCII string If extension included in file name, it must be ".h5". <data> ::= binary block data in IEEE 488.2 # format

Introduction to :RECall Commands

The :RECall subsystem provides commands to recall previously saved oscilloscope setups, reference waveforms, and masks.

Reporting the Setup. Use :RECall? to query setup information for the RECall subsystem.

Return Format. The following is a sample response from the :RECall? query. In this case, the query was issued following the *RST command.

:REC:FIL "scope_0"

Recalling Files From a USB Storage Device. When :RECall commands have a "quoted ASCII string" <file_name> parameter, you can recall files from a connected USB storage device. For example:

' To recall a setup file from a connected USB storage device:
myScope.WriteString ":RECall:SETup:STARt ""/usb/my_setup_file.scp"""


:RECall:ARBitrary[:STARt]

:RECall Commands

Name

:RECall:ARBitrary[:STARt] —

Command Syntax

:RECall:ARBitrary[:STARt]
   [{<internal_fname> | <external_fname>}][, <column>][, <wavegen_id>]
<internal_fname> ::= quoted ASCII file name string beginning
   with "/User Files/"
<external_fname> ::= quoted ASCII file name string beginning
   with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending
   on the number of USB storage devices connected
<column> ::= Column in CSV file to load. Column number starts from 1.
<wavegen_id> ::= WGEN1 - specifies which wavegen

The :RECall:ARBitrary[:STARt] command recalls an arbitrary waveform.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".csv".

For internal locations, the <column> parameter is ignored.

For external (USB storage device) files, the column parameter is optional. If no <column> parameter is entered, and it is a 2-column file, the 2nd column (assumed to be voltage) is automatically be selected. If the <column> parameter is entered, and that column does not exist in the file, the operation fails.

When recalling arbitrary waveforms (from an external USB storage device) that were not saved from the oscilloscope, be aware that the oscilloscope uses a maximum of 8192 points for an arbitrary waveform. For more efficient recalls, make sure your arbitrary waveforms are 8192 points or less.

The <wavegen_id> parameter specifies which waveform generator to recall the arbitrary waveform into.

See Also

  • Introduction to :RECall Commands

  • :RECall:FILename

  • :RECall:PWD

  • :SAVE:ARBitrary[:STARt]

  • Commands Not Supported in Multiple Program Message Units


:RECall:ARXML:CAN[:STARt]

:RECall Commands

Name

:RECall:ARXML:CAN[:STARt] —

Command Syntax

:RECall:ARXML:CAN[:STARt] [<file_name>] [, <protocol_decode_bus>]
<file_name> ::= quoted ASCII string
<protocol_decode_bus> ::= {PBUS<n> | SBUS<n>}
<n> ::= 1 to (# of protocol decode bus) in NR1 format

The :RECall:ARXML:CAN[:STARt] command loads a CAN ARXML symbolic data file into the oscilloscope.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".arxml".

The <protocol_decode_bus> parameter specifies which protocol decode waveform the CAN symbolic data will be loaded for.

See Also

  • Introduction to :RECall Commands

  • :RECall:FILename

  • :SBUS<n>:CAN:TRIGger

  • :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage

  • :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal

  • :SBUS<n>:CAN:TRIGger:SYMBolic:VALue

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:SYMBolic:MESSage

  • :SEARch:SERial:CAN:SYMBolic:SIGNal

  • :SEARch:SERial:CAN:SYMBolic:VALue

  • Commands Not Supported in Multiple Program Message Units


:RECall:DBC[:STARt]

:RECall Commands

Name

:RECall:DBC[:STARt] —

Command Syntax

:RECall:DBC[:STARt] [<file_name>] [, <protocol_decode_bus>]
<file_name> ::= quoted ASCII string
<protocol_decode_bus> ::= {PBUS<n> | SBUS<n>}
<n> ::= 1 to (# of protocol decode bus) in NR1 format

The :RECall:DBC[:STARt] command loads a CAN DBC (communication database) symbolic data file into the oscilloscope.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".dbc".

The <protocol_decode_bus> parameter specifies which protocol decode waveform the CAN symbolic data will be loaded for.

See Also

  • Introduction to :RECall Commands

  • :RECall:FILename

  • :SBUS<n>:CAN:TRIGger

  • :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage

  • :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal

  • :SBUS<n>:CAN:TRIGger:SYMBolic:VALue

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:SYMBolic:MESSage

  • :SEARch:SERial:CAN:SYMBolic:SIGNal

  • :SEARch:SERial:CAN:SYMBolic:VALue

  • Commands Not Supported in Multiple Program Message Units


:RECall:FILename

:RECall Commands

Name

:RECall:FILename —

Command Syntax

:RECall:FILename <base_name>
<base_name> ::= quoted ASCII string

The :RECall:FILename command specifies the source for any RECall operations.

[Note]

This command specifies a file's base name only, without path information or an extension.

Query Syntax

:RECall:FILename?

The :RECall:FILename? query returns the current RECall filename.

Return Format

<base_name><NL>
<base_name> ::= quoted ASCII string

See Also

  • Introduction to :RECall Commands

  • :RECall:SETup[:STARt]

  • :SAVE:FILename


:RECall:LDF[:STARt]

:RECall Commands

Name

:RECall:LDF[:STARt] —

Command Syntax

:RECall:LDF[:STARt] [<file_name>] [, <protocol_decode_bus>]
<file_name> ::= quoted ASCII string
<protocol_decode_bus> ::= {PBUS<n> | SBUS<n>}
<n> ::= 1 to (# of protocol decode bus) in NR1 format

The :RECall:LDF[:STARt] command loads a LIN description file (LDF) symbolic data file into the oscilloscope.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".ldf".

The <protocol_decode_bus> parameter specifies which protocol decode waveform the LIN symbolic data will be loaded for.

See Also

  • Introduction to :RECall Commands

  • :RECall:FILename

  • :SBUS<n>:LIN:TRIGger

  • :SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe

  • :SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal

  • :SBUS<n>:LIN:TRIGger:SYMBolic:VALue

  • :SEARch:SERial:LIN:MODE

  • :SEARch:SERial:LIN:SYMBolic:FRAMe

  • :SEARch:SERial:LIN:SYMBolic:SIGNal

  • :SEARch:SERial:LIN:SYMBolic:VALue

  • Commands Not Supported in Multiple Program Message Units


:RECall:MASK[:STARt]

:RECall Commands

Name

:RECall:MASK[:STARt] —

Command Syntax

:RECall:MASK[:STARt] [{<internal_fname> | <external_fname>}]
<internal_fname> ::= quoted ASCII file name string beginning
   with "/User Files/"
<external_fname> ::= quoted ASCII file name string beginning
   with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending
   on the number of USB storage devices connected

The :RECall:MASK[:STARt] command recalls a mask.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".msk".

If no filename parameter is included, the name specified by the :RECall:FILename command and the location specified by the :RECall:PWD command are used.

[Note]

When a USB storage device is connected, the :RECall:PWD location becomes "/usb/". When all USB storage devices are disconnected, the :RECall:PWD location becomes "/User Files/".

See Also

  • Introduction to :RECall Commands

  • :RECall:FILename

  • :RECall:PWD

  • :SAVE:MASK[:STARt]

  • :MTESt:DATA


:RECall:PWD

:RECall Commands

Name

:RECall:PWD —

Command Syntax

:RECall:PWD <path_name>
<path_name> ::= quoted ASCII string

The :RECall:PWD command sets the present working directory for recall operations.

Query Syntax

:RECall:PWD?

The :RECall:PWD? query returns the currently set working directory for recall operations.

Return Format

<path_name><NL>
<path_name> ::= quoted ASCII string

See Also

  • Introduction to :RECall Commands

  • :SAVE:PWD


:RECall:SETup[:STARt]

:RECall Commands

Name

:RECall:SETup[:STARt] —

Command Syntax

:RECall:SETup[:STARt] [{<internal_fname> | <external_fname>}]
<internal_fname> ::= quoted ASCII file name string beginning
   with "/User Files/"
<external_fname> ::= quoted ASCII file name string beginning
   with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending
   on the number of USB storage devices connected

The :RECall:SETup[:STARt] command recalls an oscilloscope setup from a file.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".scp".

If no filename parameter is included, the name specified by the :RECall:FILename command and the location specified by the :RECall:PWD command are used.

[Note]

When a USB storage device is connected, the :RECall:PWD location becomes "/usb/". When all USB storage devices are disconnected, the :RECall:PWD location becomes "/User Files/".

See Also

  • Introduction to :RECall Commands

  • :RECall:FILename

  • :RECall:PWD

  • :SAVE:SETup[:STARt]

  • *RCL (Recall)


:RECall:WMEMory<r>[:STARt]

:RECall Commands

Name

:RECall:WMEMory<r>[:STARt] —

Command Syntax

:RECall:WMEMory<r>[:STARt] [<file_name> | <data>]
<r> ::= 1 to (# ref waveforms) in NR1 format
<file_name> ::= quoted ASCII string
<data> ::= binary block data in IEEE 488.2 # format

The :RECall:WMEMory<r>[:STARt] command recalls a reference waveform.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".h5".

The <data> option lets you recall a reference waveform from a local file on the controller PC (instead of from a USB storage device connected to the oscilloscope). In this case, your remote program reads data from the local ".h5" format reference waveform file in the same way that setup files are restored to the oscilloscope (see :SYSTem:SETup).

See Also

  • Introduction to :RECall Commands

  • :RECall:FILename

  • :SAVE:WMEMory[:STARt]

  • Commands Not Supported in Multiple Program Message Units


:SAVE Commands

Save oscilloscope setups, screen images, and data. See Introduction to :SAVE Commands.

:SAVE Commands Summary:

Command | Query | Options and Query Returns
:SAVE:ARBitrary:[STARt] [{<internal_fname> | <external_fname>}][, <wavegen_id>] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected <wavegen_id> ::= WGEN1
:SAVE:FILename <base_name> | :SAVE:FILename? | <base_name> ::= quoted ASCII string
:SAVE:IMAGe[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:IMAGe:FACTors {{0 | OFF} | {1 | ON}} | :SAVE:IMAGe:FACTors? | {0 | 1}
:SAVE:IMAGe:FORMat <format> | :SAVE:IMAGe:FORMat? | <format> ::= {{BMP | BMP24bit} | PNG | NONE}
:SAVE:LISTer[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:MASK[:STARt] [{<internal_fname> | <external_fname>}] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected
:SAVE:MULTi[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:POWer:[STARt] [<file_spec>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:PWD <path_name> | :SAVE:PWD? | <path_name> ::= quoted ASCII string
:SAVE:RESults:[STARt] [<file_spec>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:RESults:FORMat:CURSor {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:CURSor? | {0 | 1}
:SAVE:RESults:FORMat:HISTogram {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:HISTogram? | {0 | 1}
:SAVE:RESults:FORMat:MASK {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:MASK? | {0 | 1}
:SAVE:RESults:FORMat:MEASurement {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:MEASurement? | {0 | 1}
:SAVE:RESults:FORMat:SEARch {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:SEARch? | {0 | 1}
:SAVE:RESults:FORMat:SEGMented {{0 | OFF} | {1 | ON}} | :SAVE:RESults:FORMat:SEGMented? | {0 | 1}
:SAVE:SETup[:STARt] [{<internal_fname> | <external_fname>}] | n/a | <internal_fname> ::= quoted ASCII file name string beginning with "/User Files/" <external_fname> ::= quoted ASCII file name string beginning with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending on the number of USB storage devices connected
:SAVE:WAVeform[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string
:SAVE:WAVeform:FORMat <format> | :SAVE:WAVeform:FORMat? | <format> ::= {ASCiixy | CSV | BINary | NONE}
:SAVE:WAVeform:LENGth <length> | :SAVE:WAVeform:LENGth? | <length> ::= 100 to max. length; an integer in NR1 format
:SAVE:WAVeform:LENGth:MAX {{0 | OFF} | {1 | ON}} | :SAVE:WAVeform:LENGth:MAX? | {0 | 1}
:SAVE:WAVeform:SEGMented <option> | :SAVE:WAVeform:SEGMented? | <option> ::= {ALL | CURRent}
:SAVE:WMEMory:SOURce <source> | :SAVE:WMEMory:SOURce? | <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format NOTE: Only ADD or SUBtract math operations can be saved as reference waveforms. <return_value> ::= <source>
:SAVE:WMEMory[:STARt] [<file_name>] | n/a | <file_name> ::= quoted ASCII string If extension included in file name, it must be ".h5".

Introduction to :SAVE Commands

The :SAVE subsystem provides commands to save oscilloscope setups, screen images, and data.

:SAV is an acceptable short form for :SAVE.

Reporting the Setup. Use :SAVE? to query setup information for the SAVE subsystem.

Return Format. The following is a sample response from the :SAVE? query. In this case, the query was issued following the *RST command.

:SAVE:FIL "scope_0";:SAVE:IMAG:FACT 0;FORM NONE;
:SAVE:PWD "/User Files/setups/";:SAVE:WAV:FORM NONE;LENG +2000;
SEGM CURR

Saving Files to a USB Storage Device. When :SAVE commands have a "quoted ASCII string" <file_name> parameter, you can save files to a connected USB storage device. For example:

' To save a setup file to a connected USB storage device:
myScope.WriteString ":SAVE:SETup:STARt ""/usb/my_setup_file.scp"""


:SAVE:ARBitrary[:STARt]

:SAVE Commands

Name

:SAVE:ARBitrary[:STARt] —

Command Syntax

:SAVE:ARBitrary[:STARt]
   [{<internal_fname> | <external_fname>}][, <wavegen_id>]
<internal_fname> ::= quoted ASCII file name string beginning
   with "/User Files/"
<external_fname> ::= quoted ASCII file name string beginning
   with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending
   on the number of USB storage devices connected
<wavegen_id> ::= WGEN1

The :SAVE:ARBitrary[:STARt] command saves the current arbitrary waveform to an internal location or a file on a USB storage device.

The <wavegen_id> parameter specifies which waveform generator to save the arbitrary waveform from.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".csv".

If no filename parameter is included, the name specified by the :SAVE:FILename command and the location specified by the :SAVE:PWD command are used.

[Note]

When a USB storage device is connected, the :SAVE:PWD location becomes "/usb/". When all USB storage devices are disconnected, the :SAVE:PWD location becomes "/User Files/".

See Also

  • Introduction to :SAVE Commands

  • :SAVE:FILename

  • :SAVE:PWD

  • :RECall:ARBitrary[:STARt]

  • Commands Not Supported in Multiple Program Message Units


:SAVE:FILename

:SAVE Commands

Name

:SAVE:FILename —

Command Syntax

:SAVE:FILename <base_name>
<base_name> ::= quoted ASCII string

The :SAVE:FILename command specifies the source for any SAVE operations.

[Note]

This command specifies a file's base name only, without path information or an extension.

Query Syntax

:SAVE:FILename?

The :SAVE:FILename? query returns the current SAVE filename.

Return Format

<base_name><NL>
<base_name> ::= quoted ASCII string

See Also

  • Introduction to :SAVE Commands

  • :SAVE:IMAGe[:STARt]

  • :SAVE:SETup[:STARt]

  • :SAVE:WAVeform[:STARt]

  • :SAVE:PWD

  • :RECall:FILename


:SAVE:IMAGe[:STARt]

:SAVE Commands

Name

:SAVE:IMAGe[:STARt] —

Command Syntax

:SAVE:IMAGe[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string

The :SAVE:IMAGe[:STARt] command saves an image.

[Note]

Be sure to set the :SAVE:IMAGe:FORMat before saving an image. If the format is NONE, the save image command will not succeed.

[Note]

If a file extension is provided as part of a specified <file_name>, and it does not match the extension expected by the format specified in :SAVE:IMAGe:FORMat, the format will be changed if the extension is a valid image file extension.

[Note]

If the extension ".bmp" is used and the current :SAVE:IMAGe:FORMat is not BMP or BMP8, the format will be changed to BMP.

See Also

  • Introduction to :SAVE Commands

  • :SAVE:IMAGe:FACTors

  • :SAVE:IMAGe:FORMat

  • :SAVE:FILename


:SAVE:IMAGe:FACTors

:SAVE Commands

Name

:SAVE:IMAGe:FACTors —

Command Syntax

:SAVE:IMAGe:FACTors <factors>
<factors> ::= {{OFF | 0} | {ON | 1}}

The :SAVE:IMAGe:FACTors command controls whether the oscilloscope factors are output along with the image.

[Note]

Factors are written to a separate file with the same path and base name but with the ".txt" extension.

Query Syntax

:SAVE:IMAGe:FACTors?

The :SAVE:IMAGe:FACTors? query returns a flag indicating whether oscilloscope factors are output along with the image.

Return Format

<factors><NL>
<factors> ::= {0 | 1}

See Also

  • Introduction to :SAVE Commands

  • :SAVE:IMAGe[:STARt]

  • :SAVE:IMAGe:FORMat


:SAVE:IMAGe:FORMat

:SAVE Commands

Name

:SAVE:IMAGe:FORMat —

Command Syntax

:SAVE:IMAGe:FORMat <format>
<format> ::= {{BMP | BMP24bit} | PNG}

The :SAVE:IMAGe:FORMat command sets the image format type.

Query Syntax

:SAVE:IMAGe:FORMat?

The :SAVE:IMAGe:FORMat? query returns the selected image format type.

Return Format

<format><NL>
<format> ::= {BMP | PNG | NONE}

When NONE is returned, it indicates that a non-image save format is currently selected.

See Also

  • Introduction to :SAVE Commands

  • :SAVE:IMAGe[:STARt]

  • :SAVE:IMAGe:FACTors

  • :SAVE:WAVeform:FORMat


:SAVE:LISTer[:STARt]

:SAVE Commands

Name

:SAVE:LISTer[:STARt] —

Command Syntax

:SAVE:LISTer[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string

The :SAVE:LISTer[:STARt] command saves the Lister display data to a file.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".csv".

See Also

  • Introduction to :SAVE Commands

  • :SAVE:FILename

  • :LISTer Commands


:SAVE:MASK[:STARt]

:SAVE Commands

Name

:SAVE:MASK[:STARt] —

Command Syntax

:SAVE:MASK[:STARt] [{<internal_fname> | <external_fname>}]
<internal_fname> ::= quoted ASCII file name string beginning
   with "/User Files/"
<external_fname> ::= quoted ASCII file name string beginning
   with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending
   on the number of USB storage devices connected

The :SAVE:MASK[:STARt] command saves a mask.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".msk".

If no filename parameter is included, the name specified by the :SAVE:FILename command and the location specified by the :SAVE:PWD command are used.

[Note]

When a USB storage device is connected, the :SAVE:PWD location becomes "/usb/". When all USB storage devices are disconnected, the :SAVE:PWD location becomes "/User Files/".

See Also

  • Introduction to :SAVE Commands

  • :SAVE:FILename

  • :SAVE:PWD

  • :RECall:MASK[:STARt]

  • :MTESt:DATA


:SAVE:MULTi[:STARt]

:SAVE Commands

Name

:SAVE:MULTi[:STARt] —

Command Syntax

:SAVE:MULTi[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string

The :SAVE:MULTi[:STARt] command saves multi-channel waveform data to a file. This file can be opened by the N8900A Infiniium Offline oscilloscope analysis software.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".h5".

See Also

  • Introduction to :SAVE Commands

  • :SAVE:FILename

  • :SAVE:PWD


:SAVE:POWer[:STARt]

:SAVE Commands

Name

:SAVE:POWer[:STARt] —

Command Syntax

:SAVE:POWer[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string

The :SAVE:POWer[:STARt] command saves the power measurement application's current harmonics analysis results to a file.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".csv".

See Also

  • Introduction to :SAVE Commands

  • :SAVE:FILename

  • :POWer Commands


:SAVE:PWD

:SAVE Commands

Name

:SAVE:PWD —

Command Syntax

:SAVE:PWD <path_name>
<path_name> ::= quoted ASCII string

The :SAVE:PWD command sets the present working directory for save operations.

Query Syntax

:SAVE:PWD?

The :SAVE:PWD? query returns the currently set working directory for save operations.

Return Format

<path_name><NL>
<path_name> ::= quoted ASCII string

See Also

  • Introduction to :SAVE Commands

  • :SAVE:FILename

  • :RECall:PWD


:SAVE:RESults[:STARt]

:SAVE Commands

Name

:SAVE:RESults[:STARt] —

Command Syntax

:SAVE:RESults[:STARt] [<file_spec>]
<file_name> ::= quoted ASCII string

The :SAVE:RESults[:STARt] command saves analysis results to a comma-separated values (*.csv) file on a USB storage device.

Use the :SAVE:RESults:FORMat commands to specify the analysis types whose results are saved to the file.

When multiple types of analysis results are selected, they are all saved to the same file and separated by a blank line.

See Also

  • :SAVE:RESults:FORMat:CURSor

  • :SAVE:RESults:FORMat:MASK

  • :SAVE:RESults:FORMat:MEASurement

  • :SAVE:RESults:FORMat:SEARch

  • :SAVE:RESults:FORMat:SEGMented


:SAVE:RESults:FORMat:CURSor

:SAVE Commands

Name

:SAVE:RESults:FORMat:CURSor —

Command Syntax

:SAVE:RESults:FORMat:CURSor {{0 | OFF} | {1 | ON}}

The :SAVE:RESults:FORMat:CURSor command specifies whether cursor values will be included when analysis results are saved.

Analysis results are saved using the :SAVE:RESults:[STARt] command.

Other :SAVE:RESults:FORMat commands specify whether other types of analysis results are also saved.

When multiple types of analysis results are saved, they are all saved to the same file and separated by a blank line.

Query Syntax

:SAVE:RESults:FORMat:CURSor?

The :SAVE:RESults:FORMat:CURSor? query returns whether cursor values will be included when analysis results are saved.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :SAVE:RESults[:STARt]

  • :SAVE:RESults:FORMat:MASK

  • :SAVE:RESults:FORMat:MEASurement

  • :SAVE:RESults:FORMat:SEARch

  • :SAVE:RESults:FORMat:SEGMented


:SAVE:RESults:FORMat:HISTogram

:SAVE Commands

Name

:SAVE:RESults:FORMat:HISTogram —

Command Syntax

:SAVE:RESults:FORMat:HISTogram {{0 | OFF} | {1 | ON}}

The :SAVE:RESults:FORMat:HISTogram command specifies whether histogram statistics will be included when analysis results are saved.

Analysis results are saved using the :SAVE:RESults:[STARt] command.

Other :SAVE:RESults:FORMat commands specify whether other types of analysis results are also saved.

When multiple types of analysis results are saved, they are all saved to the same file and separated by a blank line.

Query Syntax

:SAVE:RESults:FORMat:HISTogram?

The :SAVE:RESults:FORMat:HISTogram? query returns whether histogram statistics will be included when analysis results are saved.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :SAVE:RESults[:STARt]

  • :SAVE:RESults:FORMat:CURSor

  • :SAVE:RESults:FORMat:MASK

  • :SAVE:RESults:FORMat:MEASurement

  • :SAVE:RESults:FORMat:SEARch

  • :SAVE:RESults:FORMat:SEGMented


:SAVE:RESults:FORMat:MASK

:SAVE Commands

Name

:SAVE:RESults:FORMat:MASK —

Command Syntax

:SAVE:RESults:FORMat:MASK {{0 | OFF} | {1 | ON}}

The :SAVE:RESults:FORMat:MASK command specifies whether mask statistics will be included when analysis results are saved.

Analysis results are saved using the :SAVE:RESults:[STARt] command.

Other :SAVE:RESults:FORMat commands specify whether other types of analysis results are also saved.

When multiple types of analysis results are saved, they are all saved to the same file and separated by a blank line.

Query Syntax

:SAVE:RESults:FORMat:MASK?

The :SAVE:RESults:FORMat:MASK? query returns whether mask statistics will be included when analysis results are saved.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :SAVE:RESults[:STARt]

  • :SAVE:RESults:FORMat:CURSor

  • :SAVE:RESults:FORMat:MEASurement

  • :SAVE:RESults:FORMat:SEARch

  • :SAVE:RESults:FORMat:SEGMented


:SAVE:RESults:FORMat:MEASurement

:SAVE Commands

Name

:SAVE:RESults:FORMat:MEASurement —

Command Syntax

:SAVE:RESults:FORMat:MEASurement {{0 | OFF} | {1 | ON}}

The :SAVE:RESults:FORMat:MEASurement command specifies whether measurement results will be included when analysis results are saved.

Analysis results are saved using the :SAVE:RESults:[STARt] command.

Other :SAVE:RESults:FORMat commands specify whether other types of analysis results are also saved.

When multiple types of analysis results are saved, they are all saved to the same file and separated by a blank line.

Query Syntax

:SAVE:RESults:FORMat:MEASurement?

The :SAVE:RESults:FORMat:MEASurement? query returns whether measurement results will be included when analysis results are saved.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :SAVE:RESults[:STARt]

  • :SAVE:RESults:FORMat:CURSor

  • :SAVE:RESults:FORMat:MASK

  • :SAVE:RESults:FORMat:SEARch

  • :SAVE:RESults:FORMat:SEGMented


:SAVE:RESults:FORMat:SEARch

:SAVE Commands

Name

:SAVE:RESults:FORMat:SEARch —

Command Syntax

:SAVE:RESults:FORMat:SEARch {{0 | OFF} | {1 | ON}}

The :SAVE:RESults:FORMat:SEARch command specifies whether found search event times will be included when analysis results are saved.

Analysis results are saved using the :SAVE:RESults:[STARt] command.

Other :SAVE:RESults:FORMat commands specify whether other types of analysis results are also saved.

When multiple types of analysis results are saved, they are all saved to the same file and separated by a blank line.

Query Syntax

:SAVE:RESults:FORMat:SEARch?

The :SAVE:RESults:FORMat:SEARch? query returns whether found search event times will be included when analysis results are saved.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :SAVE:RESults[:STARt]

  • :SAVE:RESults:FORMat:CURSor

  • :SAVE:RESults:FORMat:MASK

  • :SAVE:RESults:FORMat:MEASurement

  • :SAVE:RESults:FORMat:SEGMented


:SAVE:RESults:FORMat:SEGMented

:SAVE Commands

Name

:SAVE:RESults:FORMat:SEGMented —

Command Syntax

:SAVE:RESults:FORMat:SEGMented {{0 | OFF} | {1 | ON}}

The :SAVE:RESults:FORMat:SEGMented command specifies whether segmented memory acquisition times will be included when analysis results are saved.

Analysis results are saved using the :SAVE:RESults:[STARt] command.

Other :SAVE:RESults:FORMat commands specify whether other types of analysis results are also saved.

When multiple types of analysis results are saved, they are all saved to the same file and separated by a blank line.

Query Syntax

:SAVE:RESults:FORMat:SEGMented?

The :SAVE:RESults:FORMat:SEGMented? query returns whether segmented memory acquisition times will be included when analysis results are saved.

Return Format

<off_on><NL>
{0 | 1}

See Also

  • :SAVE:RESults[:STARt]

  • :SAVE:RESults:FORMat:CURSor

  • :SAVE:RESults:FORMat:MASK

  • :SAVE:RESults:FORMat:MEASurement

  • :SAVE:RESults:FORMat:SEARch


:SAVE:SETup[:STARt]

:SAVE Commands

Name

:SAVE:SETup[:STARt] —

Command Syntax

:SAVE:SETup[:STARt] [{<internal_fname> | <external_fname>}]
<internal_fname> ::= quoted ASCII file name string beginning
   with "/User Files/"
<external_fname> ::= quoted ASCII file name string beginning
   with "/USB1/" (or "/usb/"), "/USB2/", or "/USB3/" depending
   on the number of USB storage devices connected

The :SAVE:SETup[:STARt] command saves the oscilloscope setup to a file.

[Note]

If a file extension is provided as part of a specified file name, it must be ".scp".

If no filename parameter is included, the name specified by the :SAVE:FILename command and the location specified by the :SAVE:PWD command are used.

[Note]

When a USB storage device is connected, the :SAVE:PWD location becomes "/usb/". When all USB storage devices are disconnected, the :SAVE:PWD location becomes "/User Files/".

See Also

  • Introduction to :SAVE Commands

  • :SAVE:FILename

  • :SAVE:PWD

  • :RECall:SETup[:STARt]

  • *SAV (Save)


:SAVE:WAVeform[:STARt]

:SAVE Commands

Name

:SAVE:WAVeform[:STARt] —

Command Syntax

:SAVE:WAVeform[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string

The :SAVE:WAVeform[:STARt] command saves oscilloscope waveform data to a file.

[Note]

Be sure to set the :SAVE:WAVeform:FORMat before saving waveform data. If the format is NONE, the save waveform command will not succeed.

[Note]

If a file extension is provided as part of a specified <file_name>, and it does not match the extension expected by the format specified in :SAVE:WAVeform:FORMat, the format will be changed if the extension is a valid waveform file extension.

See Also

  • Introduction to :SAVE Commands

  • :SAVE:WAVeform:FORMat

  • :SAVE:WAVeform:LENGth

  • :SAVE:FILename

  • :RECall:SETup[:STARt]


:SAVE:WAVeform:FORMat

:SAVE Commands

Name

:SAVE:WAVeform:FORMat —

Command Syntax

:SAVE:WAVeform:FORMat <format>
<format> ::= {ASCiixy | CSV | BINary}

The :SAVE:WAVeform:FORMat command sets the waveform data format type:

  • ASCiixy — creates comma-separated value files for each analog channel that is displayed (turned on). The proper file extension for this format is ".csv".

  • CSV — creates one comma-separated value file that contains information for all analog channels that are displayed (turned on). The proper file extension for this format is ".csv".

  • BINary — creates an oscilloscope binary data format file. See the User's Guide for a description of this format. The proper file extension for this format is ".bin".

Query Syntax

:SAVE:WAVeform:FORMat?

The :SAVE:WAVeform:FORMat? query returns the selected waveform data format type.

Return Format

<format><NL>
<format> ::= {ASC | CSV | BIN | NONE}

When NONE is returned, it indicates that a non-waveform save format is currently selected.

See Also

  • Introduction to :SAVE Commands

  • :SAVE:WAVeform[:STARt]

  • :SAVE:WAVeform:LENGth

  • :SAVE:IMAGe:FORMat


:SAVE:WAVeform:LENGth

:SAVE Commands

Name

:SAVE:WAVeform:LENGth —

Command Syntax

:SAVE:WAVeform:LENGth <length>
<length> ::= 100 to max. length; an integer in NR1 format

When the :SAVE:WAVeform:LENGth:MAX setting is OFF, the :SAVE:WAVeform:LENGth command sets the waveform data length (that is, the number of points saved).

When the :SAVE:WAVeform:LENGth:MAX setting is ON, the :SAVE:WAVeform:LENGth setting has no effect.

Query Syntax

:SAVE:WAVeform:LENGth?

The :SAVE:WAVeform:LENGth? query returns the current waveform data length setting.

Return Format

<length><NL>
<length> ::= 100 to max. length; an integer in NR1 format

See Also

  • Introduction to :SAVE Commands

  • :SAVE:WAVeform:LENGth:MAX

  • :SAVE:WAVeform[:STARt]

  • :WAVeform:POINts

  • :SAVE:WAVeform:FORMat


:SAVE:WAVeform:LENGth:MAX

:SAVE Commands

Name

:SAVE:WAVeform:LENGth:MAX —

Command Syntax

:SAVE:WAVeform:LENGth:MAX <setting>
<setting> ::= {{OFF | 0} | {ON | 1}}

The :SAVE:WAVeform:LENGth:MAX command specifies whether maximum number of waveform data points is saved.

When OFF, the :SAVE:WAVeform:LENGth command specifies the number of waveform data points saved.

Query Syntax

:SAVE:WAVeform:LENGth:MAX?

The :SAVE:WAVeform:LENGth:MAX? query returns the current setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • Introduction to :SAVE Commands

  • :SAVE:WAVeform[:STARt]

  • :SAVE:WAVeform:LENGth


:SAVE:WAVeform:SEGMented

:SAVE Commands

Name

:SAVE:WAVeform:SEGMented —

Command Syntax

:SAVE:WAVeform:SEGMented <option>
<option> ::= {ALL | CURRent}

When segmented memory is used for acquisitions, the :SAVE:WAVeform:SEGMented command specifies which segments are included when the waveform is saved:

  • ALL — all acquired segments are saved.

  • CURRent — only the currently selected segment is saved.

[Note]

This command gives a -221,"Settings conflict" error if a waveform save format has not been selected with the :SAVE:WAVeform:FORMat command.

Query Syntax

:SAVE:WAVeform:SEGMented?

The :SAVE:WAVeform:SEGMented? query returns the current segmented waveform save option setting.

Return Format

<option><NL>
<option> ::= {ALL | CURR}

See Also

  • Introduction to :SAVE Commands

  • :SAVE:WAVeform[:STARt]

  • :SAVE:WAVeform:FORMat

  • :SAVE:WAVeform:LENGth


:SAVE:WMEMory:SOURce

:SAVE Commands

Name

:SAVE:WMEMory:SOURce —

Command Syntax

:SAVE:WMEMory:SOURce <source>
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m> | WMEMory<r>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :SAVE:WMEMory:SOURce command selects the source to be saved as a reference waveform file.

[Note]

Only ADD or SUBtract math operations can be saved as reference waveforms.

[Note]

MATH is an alias for FUNCtion. The query will return FUNC if the source is FUNCtion or MATH.

Query Syntax

:SAVE:WMEMory:SOURce?

The :SAVE:WMEMory:SOURce? query returns the source to be saved as a reference waveform file.

Return Format

<source><NL>
<source> ::= {CHAN<n> | FUNC | WMEM<r> | NONE}

See Also

  • Introduction to :SAVE Commands

  • :SAVE:WMEMory[:STARt]

  • :RECall:WMEMory<r>[:STARt]


:SAVE:WMEMory[:STARt]

:SAVE Commands

Name

:SAVE:WMEMory[:STARt] —

Command Syntax

:SAVE:WMEMory[:STARt] [<file_name>]
<file_name> ::= quoted ASCII string

The :SAVE:WMEMory[:STARt] command saves oscilloscope waveform data to a reference waveform file.

[Note]

If a file extension is provided as part of a specified <file_name>, it must be ".h5".

See Also

  • Introduction to :SAVE Commands

  • :SAVE:WMEMory:SOURce

  • :RECall:WMEMory<r>[:STARt]


:SBUS<n> Commands

Control the modes and parameters for each serial bus decode/trigger type. See:

  • Introduction to :SBUS<n> Commands

  • General :SBUS<n> Commands

  • :SBUS<n>:A429 Commands

  • :SBUS<n>:CAN Commands

  • :SBUS<n>:IIC Commands

  • :SBUS<n>:LIN Commands

  • :SBUS<n>:M1553 Commands

  • :SBUS<n>:SENT Commands

  • :SBUS<n>:SPI Commands

  • :SBUS<n>:UART Commands

  • :SBUS<n>:USB Commands

  • :SBUS<n>:USBPd Commands

Introduction to :SBUS<n> Commands

The :SBUS subsystem commands control the serial decode bus viewing, mode, and other options.

[Note]

"PBUS" (protocol decode bus) is now an alias for "SBUS" (serial bus) because terminology has changed in the HD3-Series oscilloscope. The HD3-Series oscilloscope has a [Protocol Decode] front panel key and refers to the feature as "Protocol Decode/Triggering". Previous InfiniiVIsion X-Series oscilloscopes had a [Serial] front panel key and refer to the feature as "Serial Decode/Triggering".

[Note]

These commands are only valid on oscilloscope models when a serial decode option has been licensed.

The following serial bus decode/trigger types are available (see :TRIGger:MODE).

  • ARINC 429 triggering — lets you trigger on ARINC 429 serial data.

  • CAN (Controller Area Network) triggering — will trigger on CAN signals. Setup consists of connecting the oscilloscope to a CAN signal. Baud rate, signal source, and signal polarity, and type of data to trigger on can be specified. You can trigger on CAN data and identifier patterns and you can set the bit sample point.

  • IIC (Inter-IC bus) triggering — consists of connecting the oscilloscope to the serial data (SDA) line and the serial clock (SCL) line, then triggering on a stop/start condition, a restart, a missing acknowledge, or on a read/write frame with a specific device address and data value.

  • LIN (Local Interconnect Network) triggering — will trigger on LIN sync break at the beginning of a message frame.You can trigger on Sync Break, Frame IDs, or Frame IDs and Data.

  • MIL-STD-1553 triggering — lets you trigger on MIL-STD-1553 serial data.

  • SENT triggering — lets you trigger on SENT serial data.

  • SPI (Serial Peripheral Interface) triggering — consists of connecting the oscilloscope to a clock, data (MOSI or MISO), and framing signal. You can then trigger on a data pattern during a specific framing period. The serial data string can be specified to be from 4 to 64 bits long.

  • UART/RS-232 triggering — lets you trigger on RS-232 serial data.

  • USB 2.0 triggering — lets you trigger on USB 2.0 serial data.

  • USB PD triggering — lets you trigger on USB PD serial data.

[Note]

Two SPI buses cannot be decoded on both SBUS1 and SBUS2 at the same time.

Reporting the Setup. Use :SBUS<n>? to query setup information for the :SBUS<n> subsystem.

Return Format. The following is a sample response from the :SBUS1? query. In this case, the query was issued following a *RST command.

:SBUS1:DISP 0;MODE IIC;:SBUS1:IIC:ASIZ BIT7;:SBUS1:IIC:TRIG:TYPE STAR;
QUAL EQU;:SBUS1:IIC:SOUR:CLOC CHAN1;DATA CHAN2;
:SBUS1:IIC:TRIG:PATT:ADDR -1;DATA -1;DATA2 -1


General :SBUS<n> Commands

General :SBUS<n> Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:DISPlay {{0 | OFF} | {1 | ON}} | :SBUS<n>:DISPlay? | {0 | 1}
:SBUS<n>:MODE <mode> | :SBUS<n>:MODE? | <mode> ::= {A429 | CAN | IIC | LIN | M1553 | SENT | SPI | UART | USB | USBPd}


:SBUS<n>:DISPlay

General :SBUS<n> Commands

Name

:SBUS<n>:DISPlay —

Command Syntax

:SBUS<n>:DISPlay <display>
<display> ::= {{1 | ON} | {0 | OFF}}

The :SBUS<n>:DISPlay command turns displaying of the serial decode bus on or off.

[Note]

This command is only valid when a serial decode option has been licensed.

[Note]

Two SPI buses cannot be decoded on both SBUS1 and SBUS2 at the same time.

Query Syntax

:SBUS<n>:DISPlay?

The :SBUS<n>:DISPlay? query returns the current display setting of the serial decode bus.

Return Format

<display><NL>
<display> ::= {0 | 1}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :CHANnel<n>:DISPlay

  • :DIGital<d>:DISPlay

  • :POD<n>:DISPlay

  • :VIEW

  • :BLANk

  • :STATus?


:SBUS<n>:MODE

General :SBUS<n> Commands

Name

:SBUS<n>:MODE —

Command Syntax

:SBUS<n>:MODE <mode>
<mode> ::= {A429 | CAN | IIC | LIN | M1553 | SENT | SPI | UART | USB
   | USBPd}

The :SBUS<n>:MODE command determines the decode mode for the serial bus.

[Note]

This command is only valid when a serial decode option has been licensed.

Query Syntax

:SBUS<n>:MODE?

The :SBUS<n>:MODE? query returns the current serial bus decode mode setting.

Return Format

<mode><NL>
<mode> ::= {A429 | CAN | IIC | LIN | M1553 | SENT | SPI | UART | USB
   | USBP | NONE}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:A429 Commands

  • :SBUS<n>:CAN Commands

  • :SBUS<n>:IIC Commands

  • :SBUS<n>:LIN Commands

  • :SBUS<n>:M1553 Commands

  • :SBUS<n>:SENT Commands

  • :SBUS<n>:SPI Commands

  • :SBUS<n>:UART Commands

  • :SBUS<n>:USB Commands

  • :SBUS<n>:USBPd Commands


:SBUS<n>:A429 Commands

[Note]

These commands are valid when the Aerospace and Defense Serial Analysis license has been enabled.

[Note]

Aerospace protocol decodes (ARINC 429 or MIL-STD-155) and Automotive protocol decodes (CAN, LIN, or SENT) cannot be used at the same time. Protocol decode mode choices on Protocol2 are limited by the last Aerospace or Automotive protocol decode mode selected on Protocol1.

:SBUS<n>:A429 Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:A429:AUTosetup | n/a | n/a
:SBUS<n>:A429:BASE <base> | :SBUS<n>:A429:BASE? | <base> ::= {BINary | HEX}
:SBUS<n>:A429:BAUDrate <baudrate> | :SBUS<n>:A429:BAUDrate? | <baudrate> ::= integer from 10000 to 1000000
n/a | :SBUS<n>:A429:COUNt:ERRor? | <error_count> ::= integer in NR1 format
:SBUS<n>:A429:COUNt:RESet | n/a | n/a
n/a | :SBUS<n>:A429:COUNt:WORD? | <word_count> ::= integer in NR1 format
:SBUS<n>:A429:FORMat <format> | :SBUS<n>:A429:FORMat? | <format> ::= {LDSDi | LDSSm | LDATa}
:SBUS<n>:A429:SIGNal <signal> | :SBUS<n>:A429:SIGNal? | <signal> ::= {A | B | DIFFerential}
:SBUS<n>:A429:SOURce <source> | :SBUS<n>:A429:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:SBUS<n>:A429:SPEed <speed> | :SBUS<n>:A429:SPEed? | <speed> ::= {LOW | HIGH | USER}
:SBUS<n>:A429:TRIGger:LABel <value> | :SBUS<n>:A429:TRIGger:LABel? | <value> ::= 8-bit integer in decimal, <hex>, <octal>, or <string> from 0-255 or "0xXX" (don't care) <hex> ::= #Hnn where n ::= {0,..,9 | A,..,F} <octal> ::= #Qnnn where n ::= {0,..,7} <string> ::= "0xnn" where n::= {0,..,9 | A,..,F}
:SBUS<n>:A429:TRIGger:PATTern:DATA <string> | :SBUS<n>:A429:TRIGger:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X}, length depends on FORMat
:SBUS<n>:A429:TRIGger:PATTern:SDI <string> | :SBUS<n>:A429:TRIGger:PATTern:SDI? | <string> ::= "nn" where n ::= {0 | 1 | X}, length always 2 bits
:SBUS<n>:A429:TRIGger:PATTern:SSM <string> | :SBUS<n>:A429:TRIGger:PATTern:SSM? | <string> ::= "nn" where n ::= {0 | 1 | X}, length always 2 bits
:SBUS<n>:A429:TRIGger:RANGe <min>,<max> | :SBUS<n>:A429:TRIGger:RANGe? | <min> ::= 8-bit integer in decimal, <hex>, <octal>, or <string> from 0-255 <max> ::= 8-bit integer in decimal, <hex>, <octal>, or <string> from 0-255 <hex> ::= #Hnn where n ::= {0,..,9 | A,..,F} <octal> ::= #Qnnn where n ::= {0,..,7} <string> ::= "0xnn" where n::= {0,..,9 | A,..,F}
:SBUS<n>:A429:TRIGger:TYPE <condition> | :SBUS<n>:A429:TRIGger:TYPE? | <condition> ::= {WSTArt | WSTOp | LABel | LBITs | PERRor | WERRor | GERRor | WGERrors | ALLerrors | LRANge | ABITs | AOBits | AZBits}


:SBUS<n>:A429:AUTosetup

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:AUTosetup —

Command Syntax

:SBUS<n>:A429:AUTosetup

The :SBUS<n>:A429:AUTosetup command automatically sets these options for decoding and triggering on ARINC 429 signals:

  • High Trigger Threshold: 3.0 V.

  • Low Trigger Threshold: -3.0 V.

  • Noise Reject: Off.

  • Probe Attenuation: 10.0.

  • Vertical Scale: 4 V/div.

  • Serial Decode: On.

  • Base (:SBUS<n>:A429:BASE): HEX.

  • Word Format (:SBUS<n>:A429:FORMat): LDSDi (Label/SDI/Data/SSM).

  • Trigger: the specified serial bus (n of SBUS<n>).

  • Trigger Mode (:SBUS<n>:A429:TRIGger:TYPE): WSTArt.

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:A429:BASE

  • :SBUS<n>:A429:FORMat

  • :SBUS<n>:A429:TRIGger:TYPE

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429 Commands


:SBUS<n>:A429:BASE

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:BASE —

Command Syntax

:SBUS<n>:A429:BASE <base>
<base> ::= {BINary | HEX}

The :SBUS<n>:A429:BASE command selects between hexadecimal and binary display of the decoded data.

The BASE command has no effect on the SDI and SSM fields, which are always displayed in binary, nor the Label field, which is always displayed in octal.

Query Syntax

:SBUS<n>:A429:BASE?

The :SBUS<n>:A429:BASE? query returns the current ARINC 429 base setting.

Return Format

<base><NL>
<base> ::= {BIN | HEX}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429:FORMat


:SBUS<n>:A429:BAUDrate

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:BAUDrate —

Command Syntax

:SBUS<n>:A429:BAUDrate <baudrate>
<baudrate> ::= integer from 10000 to 1000000

When a user-defined baud rate is selected (with the ":SBUS<n>:A429:SPEed USER" command), the :SBUS<n>:A429:BAUDrate command specifies the user-defined baud rate. The baud rate can be set in 100 b/s increments between 10000 and 100000 and in 1000 b/s increments between 100000 and 1000000.

Query Syntax

:SBUS<n>:A429:BAUDrate?

The :SBUS<n>:A429:BAUDrate? query returns the user-defined baud rate setting.

Return Format

<baudrate><NL>

See Also

  • :SBUS<n>:A429:SPEed


:SBUS<n>:A429:COUNt:ERRor

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:COUNt:ERRor —

Query Syntax

:SBUS<n>:A429:COUNt:ERRor?

Returns the error count.

Return Format

<error_count><NL>
<error_count> ::= integer in NR1 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:A429:COUNt:RESet

  • :SBUS<n>:A429:COUNt:WORD

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429 Commands


:SBUS<n>:A429:COUNt:RESet

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:COUNt:RESet —

Command Syntax

:SBUS<n>:A429:COUNt:RESet

Resets the word and error counters.

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:A429:COUNt:WORD

  • :SBUS<n>:A429:COUNt:ERRor

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429 Commands


:SBUS<n>:A429:COUNt:WORD

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:COUNt:WORD —

Query Syntax

:SBUS<n>:A429:COUNt:WORD?

Returns the word count.

Return Format

<word_count><NL>
<word_count> ::= integer in NR1 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:A429:COUNt:RESet

  • :SBUS<n>:A429:COUNt:ERRor

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429 Commands


:SBUS<n>:A429:FORMat

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:FORMat —

Command Syntax

:SBUS<n>:A429:FORMat <format>
<format> ::= {LDSDi | LDSSm | LDATa}

The :SBUS<n>:A429:FORMat command specifies the word decode format:

  • LDSDi:

    • Label - 8 bits.

    • SDI - 2 bits.

    • Data - 19 bits.

    • SSM - 2 bits.

  • LDSSm:

    • Label - 8 bits.

    • Data - 21 bits.

    • SSM - 2 bits.

  • LDATa:

    • Label - 8 bits.

    • Data - 23 bits.

Query Syntax

:SBUS<n>:A429:FORMat?

The :SBUS<n>:A429:FORMat? query returns the current ARINC 429 word decode format setting.

Return Format

<format><NL>
<format> ::= {LDSD | LDSS | LDAT}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429:TRIGger:PATTern:DATA

  • :SBUS<n>:A429:TRIGger:PATTern:SDI

  • :SBUS<n>:A429:TRIGger:PATTern:SSM

  • :SBUS<n>:A429:TRIGger:TYPE

  • :SBUS<n>:A429:SIGNal

  • :SBUS<n>:A429:SPEed

  • :SBUS<n>:A429:BASE

  • :SBUS<n>:A429:SOURce


:SBUS<n>:A429:SIGNal

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:SIGNal —

Command Syntax

:SBUS<n>:A429:SIGNal <signal>
<signal> ::= {A | B | DIFFerential}

The :SBUS<n>:A429:SIGNal command specifies the signal type:

  • A — Line A (non-inverted).

  • B — Line B (inverted).

  • DIFFerential — Differential (A-B).

Query Syntax

:SBUS<n>:A429:SIGNal?

The :SBUS<n>:A429:SIGNal? query returns the current ARINC 429 signal type setting.

Return Format

<signal><NL>
<signal> ::= {A | B | DIFF}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429:FORMat

  • :SBUS<n>:A429:SPEed

  • :SBUS<n>:A429:SOURce


:SBUS<n>:A429:SOURce

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:SOURce —

Command Syntax

:SBUS<n>:A429:SOURce <source>
<source> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :SBUS<n>:A429:SOURce command sets the source of the ARINC 429 signal.

Query Syntax

:SBUS<n>:A429:SOURce?

The :SBUS<n>:A429:SOURce? query returns the currently set source of the ARINC 429 signal.

Use the :TRIGger:LEVel:HIGH and :TRIGger:LEVel:LOW commands to set the threshold levels for the selected source.

Return Format

<source><NL>

See Also

  • :TRIGger:LEVel:HIGH

  • :TRIGger:LEVel:LOW

  • :TRIGger:MODE

  • :SBUS<n>:MODE

  • :SBUS<n>:A429:TRIGger:TYPE

  • :SBUS<n>:A429:SIGNal

  • :SBUS<n>:A429:SPEed

  • :SBUS<n>:A429:FORMat

  • Introduction to :TRIGger Commands


:SBUS<n>:A429:SPEed

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:SPEed —

Command Syntax

:SBUS<n>:A429:SPEed <speed>
<speed> ::= {LOW | HIGH | USER}

The :SBUS<n>:A429:SPEed command specifies the signal speed:

  • LOW — 12.5 kb/s.

  • HIGH — 100 kb/s.

  • USER — lets you specify a user-defined baud rate using the :SBUS<n>:A429:BAUDrate command.

Query Syntax

:SBUS<n>:A429:SPEed?

The :SBUS<n>:A429:SPEed? query returns the current ARINC 429 signal speed setting.

Return Format

<speed><NL>
<speed> ::= {LOW | HIGH | USER}

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:A429:BAUDrate

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429:SIGNal

  • :SBUS<n>:A429:FORMat

  • :SBUS<n>:A429:SOURce


:SBUS<n>:A429:TRIGger:LABel

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:TRIGger:LABel —

Command Syntax

:SBUS<n>:A429:TRIGger:LABel <value>
<value> ::= 8-bit integer in decimal, <hex>, <octal>, or <string>
            from 0-255 or "0xXX" (don't care)
<hex> ::= #Hnn where n ::= {0,..,9 | A,..,F}
<octal> ::= #Qnnn where n ::= {0,..,7}
<string> ::= "0xnn" where n::= {0,..,9 | A,..,F}

The :SBUS<n>:A429:TRIGger:LABel command defines the ARINC 429 label value when labels are used in the selected trigger type.

To set the label value to don't cares (0xXX), set the value to -1.

Query Syntax

:SBUS<n>:A429:TRIGger:LABel?

The :SBUS<n>:A429:TRIGger:LABel? query returns the current label value in decimal format.

Return Format

<value><NL> in decimal format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:A429:TRIGger:TYPE


:SBUS<n>:A429:TRIGger:PATTern:DATA

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:TRIGger:PATTern:DATA —

Command Syntax

:SBUS<n>:A429:TRIGger:PATTern:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X}, length depends on FORMat

The :SBUS<n>:A429:TRIGger:PATTern:DATA command defines the ARINC 429 data pattern resource according to the string parameter. This pattern controls the data pattern searched for in each ARINC 429 word.

[Note]

If more bits are sent for <string> than specified by the :SBUS<n>:A429:FORMat command, the most significant bits will be truncated.

Query Syntax

:SBUS<n>:A429:TRIGger:PATTern:DATA?

The :SBUS<n>:A429:TRIGger:PATTern:DATA? query returns the current settings of the specified ARINC 429 data pattern resource in the binary string format.

Return Format

<string><NL> in nondecimal format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:A429:TRIGger:TYPE

  • :SBUS<n>:A429:TRIGger:PATTern:SDI

  • :SBUS<n>:A429:TRIGger:PATTern:SSM


:SBUS<n>:A429:TRIGger:PATTern:SDI

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:TRIGger:PATTern:SDI —

Command Syntax

:SBUS<n>:A429:TRIGger:PATTern:SDI <string>
<string> ::= "nn" where n ::= {0 | 1 | X}, length always 2 bits

The :SBUS<n>:A429:TRIGger:PATTern:SDI command defines the ARINC 429 two-bit SDI pattern resource according to the string parameter. This pattern controls the SDI pattern searched for in each ARINC 429 word.

The specified SDI is only used if the :SBUS<n>:A429:FORMat includes the SDI field.

Query Syntax

:SBUS<n>:A429:TRIGger:PATTern:SDI?

The :SBUS<n>:A429:TRIGger:PATTern:SDI? query returns the current settings of the specified ARINC 429 two-bit SDI pattern resource in the binary string format.

Return Format

<string><NL> in nondecimal format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:A429:FORMat

  • :SBUS<n>:A429:TRIGger:TYPE

  • :SBUS<n>:A429:TRIGger:PATTern:DATA

  • :SBUS<n>:A429:TRIGger:PATTern:SSM


:SBUS<n>:A429:TRIGger:PATTern:SSM

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:TRIGger:PATTern:SSM —

Command Syntax

:SBUS<n>:A429:TRIGger:PATTern:SSM <string>
<string> ::= "nn" where n ::= {0 | 1 | X}, length always 2 bits

The :SBUS<n>:A429:TRIGger:PATTern:SSM command defines the ARINC 429 two-bit SSM pattern resource according to the string parameter. This pattern controls the SSM pattern searched for in each ARINC 429 word.

The specified SSM is only used if the :SBUS<n>:A429:FORMat includes the SSM field.

Query Syntax

:SBUS<n>:A429:TRIGger:PATTern:SSM?

The :SBUS<n>:A429:TRIGger:PATTern:SSM? query returns the current settings of the specified ARINC 429 two-bit SSM pattern resource in the binary string format.

Return Format

<string><NL> in nondecimal format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:A429:FORMat

  • :SBUS<n>:A429:TRIGger:TYPE

  • :SBUS<n>:A429:TRIGger:PATTern:DATA

  • :SBUS<n>:A429:TRIGger:PATTern:SDI


:SBUS<n>:A429:TRIGger:RANGe

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:TRIGger:RANGe —

Command Syntax

:SBUS<n>:A429:TRIGger:RANGe <min>,<max>
<min> ::= 8-bit integer in decimal, <hex>, <octal>, or <string>
            from 0-255
<max> ::= 8-bit integer in decimal, <hex>, <octal>, or <string>
            from 0-255
<hex> ::= #Hnn where n ::= {0,..,9 | A,..,F}
<octal> ::= #Qnnn where n ::= {0,..,7}
<string> ::= "0xnn" where n::= {0,..,9 | A,..,F}

The :SBUS<n>:A429:TRIGger:RANGe command defines a range of ARINC 429 label values. This range is used when the LRANge trigger type is selected.

Query Syntax

:SBUS<n>:A429:TRIGger:RANGe?

The :SBUS<n>:A429:TRIGger:RANGe? query returns the current label values in decimal format.

Return Format

<min>,<max><NL> in decimal format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:A429:TRIGger:TYPE


:SBUS<n>:A429:TRIGger:TYPE

:SBUS<n>:A429 Commands

Name

:SBUS<n>:A429:TRIGger:TYPE —

Command Syntax

:SBUS<n>:A429:TRIGger:TYPE <condition>
<condition> ::= {WSTArt | WSTOp | LABel | LBITs | PERRor | WERRor
                | GERRor | WGERrors | ALLerrors | LRANge | ABITs
                | AOBits | AZBits}

The :SBUS<n>:A429:TRIGger command sets the ARINC 429 trigger on condition:

  • WSTArt — triggers on the start of a word.

  • WSTOp — triggers at the end of a word.

  • LABel — triggers on the specified label value.

  • LBITs — triggers on the label and the other word fields as specified.

  • LRANge — triggers on a label within a min/max range.

  • PERRor — triggers on words with a parity error.

  • WERRor — triggers on an intra-word coding error.

  • GERRor — triggers on an inter-word gap error.

  • WGERrors — triggers on either a Word or Gap Error.

  • ALLerrors — triggers on any of the above errors.

  • ABITs — triggers on any bit, which will therefore form an eye diagram.

  • AZBits — triggers on any bit with a value of zero.

  • AOBits — triggers on any bit with a value of one.

Query Syntax

:SBUS<n>:A429:TRIGger:TYPE?

The :SBUS<n>:A429:TRIGger:TYPE? query returns the current ARINC 429 trigger on condition.

Return Format

<condition><NL>
<condition> ::= {WSTA | WSTO | LAB | LBIT | PERR | WERR | GERR | WGER
                | ALL | LRAN | ABIT | AOB | AZB}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:A429:TRIGger:LABel

  • :SBUS<n>:A429:TRIGger:PATTern:DATA

  • :SBUS<n>:A429:TRIGger:PATTern:SDI

  • :SBUS<n>:A429:TRIGger:PATTern:SSM

  • :SBUS<n>:A429:TRIGger:RANGe

  • :SBUS<n>:A429:SOURce


:SBUS<n>:CAN Commands

[Note]

These commands are valid when the Automotive Serial Analysis license has been enabled.

[Note]

Aerospace protocol decodes (ARINC 429 or MIL-STD-155) and Automotive protocol decodes (CAN, LIN, or SENT) cannot be used at the same time. Protocol decode mode choices on Protocol2 are limited by the last Aerospace or Automotive protocol decode mode selected on Protocol1.

:SBUS<n>:CAN Commands Summary:

Command | Query | Options and Query Returns
n/a | :SBUS<n>:CAN:COUNt:ERRor? | <frame_count> ::= integer in NR1 format
:SBUS<n>:CAN:COUNt:RESet | n/a | n/a
n/a | :SBUS<n>:CAN:COUNt:SPEC? | <spec_error_count> ::= integer in NR1 format
n/a | :SBUS<n>:CAN:COUNt:TOTal? | <frame_count> ::= integer in NR1 format
n/a | :SBUS<n>:CAN:COUNt:UTILization? | <percent> ::= floating-point in NR3 format
:SBUS<n>:CAN:DISPlay <type> | :SBUS<n>:CAN:DISPlay? | <type> ::= {HEXadecimal | SYMBolic}
:SBUS<n>:CAN:FDSPoint <value> | :SBUS<n>:CAN:FDSPoint? | <value> ::= even numbered percentages from 30 to 90 in NR3 format.
:SBUS<n>:CAN:SAMPlepoint <percent> | :SBUS<n>:CAN:SAMPlepoint? | <percent> ::= 30.0 to 90.0 in NR3 format
:SBUS<n>:CAN:SIGNal:BAUDrate <baudrate> | :SBUS<n>:CAN:SIGNal:BAUDrate? | <baudrate> ::= integer from 10000 to 4000000 in 100 b/s increments, or 5000000
:SBUS<n>:CAN:SIGNal:DEFinition <value> | :SBUS<n>:CAN:SIGNal:DEFinition? | <value> ::= {CANH | CANL | RX | TX | DIFFerential | DIFL | DIFH}
:SBUS<n>:CAN:SIGNal:FDBaudrate <baudrate> | :SBUS<n>:CAN:SIGNal:FDBaudrate? | <baudrate> ::= integer from 10000 to 10000000 in 100 b/s increments.
:SBUS<n>:CAN:SIGNal:XLBaudrate <baudrate> | :SBUS<n>:CAN:SIGNal:XLBaudrate? | <baudrate> ::= integer from 10000 to 20000000 in 100 b/s increments.
:SBUS<n>:CAN:SOURce <source> | :SBUS<n>:CAN:SOURce? | <source> ::= {CHANnel<n> | DIGital<d> |} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:CAN:TRIGger <condition> | :SBUS<n>:CAN:TRIGger? | <condition> ::= {SOF | EOF | IDData | DATA | IDRemote | IDEither | ERRor | ACKerror | FORMerror | STUFferror | CRCerror | SPECerror | ALLerrors | BRSBit | CRCDbit | EBActive | EBPassive | OVERload | MESSage | MSIGnal}
:SBUS<n>:CAN:TRIGger:IDFilter {{0 | OFF} | {1 | ON}} | :SBUS<n>:CAN:TRIGger:IDFilter? | {0 | 1}
:SBUS<n>:CAN:TRIGger:PATTern:DATA <string> | :SBUS<n>:CAN:TRIGger:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X | $} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC <dlc> | :SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC? | <dlc> ::= integer between -1 (don't care) and 64, in NR1 format.
:SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth <length> | :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth? | <length> ::= integer from 1 to 8 in NR1 format
:SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt <start> | :SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt? | <start> ::= integer between 0 and 63, in NR1 format.
:SBUS<n>:CAN:TRIGger:PATTern:ID <string> | :SBUS<n>:CAN:TRIGger:PATTern:ID? | <string> ::= "nn...n" where n ::= {0 | 1 | X | $} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:CAN:TRIGger:PATTern:ID:MODE <value> | :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE? | <value> ::= {STANdard | EXTended}
:SBUS<n>:CAN:TRIGger:SYMBolic:MESSage <name> | :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage? | <name> ::= quoted ASCII string
:SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal <name> | :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal? | <name> ::= quoted ASCII string
:SBUS<n>:CAN:TRIGger:SYMBolic:VALue <data> | :SBUS<n>:CAN:TRIGger:SYMBolic:VALue? | <data> ::= value in NR3 format
:SBUS<n>:CAN:TRIGger:TYPE <type> | :SBUS<n>:CAN:TRIGger:TYPE? | <type> ::= {STANdard | FD | XL}
:SBUS<n>:CAN:TYPE <type> | :SBUS<n>:CAN:TYPE? | <type> ::= {STANdard | FD | XFASt | XSIC}
:SBUS<n>:CAN:XLSPoint <value> | :SBUS<n>:CAN:XLSPoint? | <value> ::= even numbered percentages from 30 to 90 in NR3 format.


:SBUS<n>:CAN:COUNt:ERRor?

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:COUNt:ERRor? —

Query Syntax

:SBUS<n>:CAN:COUNt:ERRor?

Returns the error frame count.

Return Format

<frame_count><NL>
<frame_count> ::= integer in NR1 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:CAN:COUNt:RESet

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN Commands


:SBUS<n>:CAN:COUNt:RESet

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:COUNt:RESet —

Command Syntax

:SBUS<n>:CAN:COUNt:RESet

Resets the frame counters.

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:CAN:COUNt:ERRor?

  • :SBUS<n>:CAN:COUNt:TOTal?

  • :SBUS<n>:CAN:COUNt:UTILization?

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN Commands


:SBUS<n>:CAN:COUNt:SPEC?

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:COUNt:SPEC? —

Query Syntax

:SBUS<n>:CAN:COUNt:SPEC?

Returns the Spec error (Ack + Form + Stuff + CRC errors) count.

Return Format

<spec_error_count><NL>
<spec_error_count> ::= integer in NR1 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:CAN:COUNt:RESet

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN Commands


:SBUS<n>:CAN:COUNt:TOTal?

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:COUNt:TOTal? —

Query Syntax

:SBUS<n>:CAN:COUNt:TOTal?

Returns the total frame count.

Return Format

<frame_count><NL>
<frame_count> ::= integer in NR1 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:CAN:COUNt:RESet

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN Commands


:SBUS<n>:CAN:COUNt:UTILization?

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:COUNt:UTILization? —

Query Syntax

:SBUS<n>:CAN:COUNt:UTILization?

Returns the percent utilization.

Return Format

<percent><NL>
<percent> ::= floating-point in NR3 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:CAN:COUNt:RESet

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN Commands


:SBUS<n>:CAN:DISPlay

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:DISPlay —

Command Syntax

:SBUS<n>:CAN:DISPlay <type>
<type> ::= {HEXadecimal | SYMBolic}

The :SBUS<n>:CAN:DISPlay command specifies, when CAN symbolic data is loaded into the oscilloscope, whether symbolic values (from the DBC file) or hexadecimal values are displayed in the decode waveform and the Lister window.

Query Syntax

:SBUS<n>:CAN:DISPlay?

The :SBUS<n>:CAN:DISPlay? query returns the CAN decode display type.

Return Format

<type><NL>
<type> ::= {HEX | SYMB}

See Also

  • :RECall:DBC[:STARt]


:SBUS<n>:CAN:FDSPoint

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:FDSPoint —

Command Syntax

:SBUS<n>:CAN:FDSPoint <value>
<value> ::= even numbered percentages from 30 to 90 in NR3 format.

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 the beginning of the bit time to the end of the bit time.

Query Syntax

:SBUS<n>:CAN:FDSPoint?

The :SBUS<n>:CAN:FDSPoint? query returns the current CAN FD sample point setting.

Return Format

<value><NL>
<value> ::= even numbered percentages from 30 to 90 in NR3 format.

See Also

  • :SBUS<n>:CAN:SIGNal:FDBaudrate

  • :SBUS<n>:CAN:TYPE


:SBUS<n>:CAN:SAMPlepoint

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:SAMPlepoint —

Command Syntax

:SBUS<n>:CAN:SAMPlepoint <percent>
<percent><NL>
<percent> ::= 30.0 to 90.0 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.

Query Syntax

:SBUS<n>:CAN:SAMPlepoint?

The :SBUS<n>:CAN:SAMPlepoint? query returns the current CAN sample point setting.

Return Format

<percent><NL>
<percent> ::= 30.0 to 90.0 in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN:TRIGger


:SBUS<n>:CAN:SIGNal:BAUDrate

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:SIGNal:BAUDrate —

Command Syntax

:SBUS<n>:CAN:SIGNal:BAUDrate <baudrate>
<baudrate> ::= integer from 10000 to 4000000 in 100 b/s increments,
               or 5000000

The :SBUS<n>:CAN:SIGNal:BAUDrate command sets the standard baud rate of the CAN signal from 10 kb/s to 4 Mb/s in 100 b/s increments. If you enter a baud rate that is not divisible by 100 b/s, the baud rate is set to the nearest baud rate divisible by 100 b/s.

You can also set the baud rate of the CAN signal to 5 Mb/s. Fractional baud rates between 4 Mb/s and 5 Mb/s are not allowed.

If the baud rate you select does not match the system baud rate, false triggers may occur.

Query Syntax

:SBUS<n>:CAN:SIGNal:BAUDrate?

The :SBUS<n>:CAN:SIGNal:BAUDrate? query returns the current CAN baud rate setting.

Return Format

<baudrate><NL>
<baudrate> ::= integer from 10000 to 4000000 in 100 b/s increments,
               or 5000000

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN:TRIGger

  • :SBUS<n>:CAN:SIGNal:DEFinition

  • :SBUS<n>:CAN:SOURce


:SBUS<n>:CAN:SIGNal:DEFinition

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:SIGNal:DEFinition —

Command Syntax

:SBUS<n>:CAN:SIGNal:DEFinition <value>
<value> ::= {CANH | CANL | RX | TX | DIFFerential | DIFL | DIFH}

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.

  • DIFH — the CAN differential (H-L) bus signal connected to an analog source channel using a differential probe.

Dominant low signals:

  • CANL — the actual CAN_L differential bus signal.

  • RX — the Receive signal from the CAN bus transceiver.

  • TX — the Transmit signal to the CAN bus transceiver.

  • 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.

Query Syntax

:SBUS<n>:CAN:SIGNal:DEFinition?

The :SBUS<n>:CAN:SIGNal:DEFinition? query returns the current CAN signal type.

Return Format

<value><NL>
<value> ::= {CANH | CANL | RX | TX | DIFL | DIFH}

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN:SIGNal:BAUDrate

  • :SBUS<n>:CAN:SOURce

  • :SBUS<n>:CAN:TRIGger


:SBUS<n>:CAN:SIGNal:FDBaudrate

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:SIGNal:FDBaudrate —

Command Syntax

:SBUS<n>:CAN:SIGNal:FDBaudrate <baudrate>
<baudrate> ::= integer from 10000 to 10000000 in 100 b/s increments.

The :SBUS<n>:CAN:SIGNal:FDBaudrate command sets the CAN FD baud rate from 10 kb/s to 10 Mb/s in 100 b/s increments. If you enter a baud rate that is not divisible by 100 b/s, the baud rate is set to the nearest baud rate divisible by 100 b/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.

Query Syntax

:SBUS<n>:CAN:SIGNal:FDBaudrate?

The :SBUS<n>:CAN:SIGNal:FDBaudrate? query returns the current CAN FD baud rate setting.

Return Format

<baudrate><NL>
<baudrate> ::= integer from 10000 to 10000000 in 100 b/s increments.

See Also

  • :SBUS<n>:CAN:FDSPoint

  • :SBUS<n>:CAN:SIGNal:BAUDrate

  • :SBUS<n>:CAN:TYPE


:SBUS<n>:CAN:SIGNal:XLBaudrate

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:SIGNal:XLBaudrate —

Command Syntax

:SBUS<n>:CAN:SIGNal:XLBaudrate <baudrate>
<baudrate> ::= integer from 10000 to 20000000 in 100 b/s increments.

The :SBUS<n>:CAN:SIGNal:XLBaudrate command sets the CAN XL baud rate from 10 kb/s to 20 Mb/s in 100 b/s increments. If you enter a baud rate that is not divisible by 100 b/s, the baud rate is set to the nearest baud rate divisible by 100 b/s.

For CAN XL, both the standard rate settings (see :SBUS<n>:CAN:SIGNal:BAUDrate), the FD rate settings, and the XL rate settings must be set correctly; otherwise, false triggers may occur.

Query Syntax

:SBUS<n>:CAN:SIGNal:XLBaudrate?

The :SBUS<n>:CAN:SIGNal:XLBaudrate? query returns the current CAN XL baud rate setting.

Return Format

<baudrate><NL>
<baudrate> ::= integer from 10000 to 20000000 in 100 b/s increments.

See Also

  • :SBUS<n>:CAN:XLSPoint

  • :SBUS<n>:CAN:SIGNal:BAUDrate

  • :SBUS<n>:CAN:SIGNal:FDBaudrate

  • :SBUS<n>:CAN:TYPE


:SBUS<n>:CAN:SOURce

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:SOURce —

Command Syntax

:SBUS<n>:CAN:SOURce <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:CAN:SOURce command sets the source for the CAN signal.

Query Syntax

:SBUS<n>:CAN:SOURce?

The :SBUS<n>:CAN:SOURce? query returns the current source for the CAN signal.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN:TRIGger

  • :SBUS<n>:CAN:SIGNal:DEFinition


:SBUS<n>:CAN:TRIGger

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger —

Command Syntax

:SBUS<n>:CAN:TRIGger <condition>
<condition> ::= {SOF | EOF | IDData | DATA | IDRemote
   | IDEither | ERRor | ACKerror | FORMerror | STUFferror | CRCerror
   | SPECerror | ALLerrors | BRSBit | CRCDbit | EBActive | EBPassive
   | OVERload | MESSage | MSIGnal}

The :SBUS<n>:CAN:TRIGger command sets the CAN trigger on condition:

Condition | Front-panel name | Description | Filter by ID*
SOF | SOF - Start of Frame | Triggers at the start bit for both data and overload frames.
EOF | EOF - End of Frame | Triggers at the end of any frame. | X
IDEither | Frame ID | Triggers on any standard CAN (data or remote) or CAN FD frame at the end of the 11- or 29-bit ID field.
IDData | Data Frame ID (non-FD) | Triggers on standard CAN data frames at the end of the 11- or 29-bit ID field.
DATA Data Frame ID and Data (non-FD)

With the STANdard trigger type (see :SBUS<n>:CAN:TRIGger:TYPE), triggers on any standard CAN data frame at the end of the last data byte defined in the trigger. The DLC of the packet must must match the number of bytes specified.

With the FD or XL trigger types (see :SBUS<n>:CAN:TRIGger:TYPE), triggers on CAN FD frames at the end of the last data byte defined in the trigger. You can trigger on up to 8 bytes of data anywhere within the CAN FD data, which can be up to 64 bytes long.
IDRemote | Remote Frame ID | Triggers on standard CAN remote frames at the end of the 11- or 29-bit ID field.
ERRor | Error Frame | Triggers after 6 consecutive 0s while in a data frame, at the EOF. | X
ACKerror | Acknowledge Error | Triggers on the acknowledge bit if the polarity is incorrect. | X
FORMerror | Form Error | Triggers on reserved bit errors. | X
STUFferror | Stuff Error | Triggers on 6 consecutive 1s or 6 consecutive 0s, while in a non-error or non overload frame. | X
CRCerror | CRC Field Error | Triggers when the calculated CRC does not match the transmitted CRC. In addition, for FD frames, will also trigger if the Stuff Count is in error. | X
SPECerror | Spec Error (Ack or Form or Stuff or CRC) | Triggers on Ack, Form, Stuff, or CRC errors. | X
ALLerrors | All Errors | Triggers on all Spec errors and error frames. | X
BRSBit | BRS Bit (FD) | Triggers on the BRS bit of CAN FD frames. | X
CRCDbit | CRC Delimiter Bit (FD) | Triggers on the CRC delimiter bit in CAN FD frames. | X
EBActive | ESI Bit Active (FD) | Triggers on the ESI bit if set active. | X
EBPassive | ESI Bit Passive (FD) | Triggers on the ESI bit if set passive. | X
OVERload | Overload Frame | Triggers on an overload frame.
MESSage | Message | Triggers on a symbolic message.
MSIGnal Message and Signal (non-FD)

With the STANdard trigger type (see :SBUS<n>:CAN:TRIGger:TYPE), triggers on a symbolic message and a signal value.

With the FD or XL trigger types (see :SBUS<n>:CAN:TRIGger:TYPE), triggers on a symbolic message and a signal value, limited to the first 8 bytes of FD data.
* Filtering by CAN IDs is available for these trigger conditions (see :SBUS<n>:CAN:TRIGger:IDFilter).

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.

Query Syntax

:SBUS<n>:CAN:TRIGger?

The :SBUS<n>:CAN:TRIGger? query returns the current CAN trigger on condition.

Return Format

<condition><NL>
<condition> ::= {SOF | EOF | IDD | DATA | IDR | IDE | ERR | ACK
   | FORM | STUF | CRC | SPEC | ALL | BRSB | CRCD | EBA | EBP | OVER
   | MESS | MSIG}

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:CAN:TRIGger:TYPE

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth

  • :SBUS<n>:CAN:TRIGger:PATTern:ID

  • :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE

  • :SBUS<n>:CAN:TRIGger:IDFilter

  • :SBUS<n>:CAN:SIGNal:DEFinition

  • :SBUS<n>:CAN:SOURce

  • :RECall:DBC[:STARt]

  • :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage

  • :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal

  • :SBUS<n>:CAN:TRIGger:SYMBolic:VALue


:SBUS<n>:CAN:TRIGger:IDFilter

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:IDFilter —

Command Syntax

:SBUS<n>:CAN:TRIGger:IDFilter {{0 | OFF} | {1 | ON}}

The :SBUS<n>:CAN:TRIGger:IDFilter command specifies, in certain error and bit trigger modes, whether triggers are filtered by CAN IDs.

Query Syntax

:SBUS<n>:CAN:TRIGger:IDFilter?

The :SBUS<n>:CAN:TRIGger:IDFilter? query returns the CAN trigger ID filter setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :SBUS<n>:CAN:TRIGger


:SBUS<n>:CAN:TRIGger:PATTern:DATA

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:PATTern:DATA —

Command Syntax

: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.

[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. If the data length is changed after the <string> is programmed, the added or deleted bits will be added to or deleted from the least significant bits.

Query Syntax

: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.

Return Format

<string><NL> in nondecimal format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth

  • :SBUS<n>:CAN:TRIGger:PATTern:ID


:SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC —

Command Syntax

:SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC <dlc>
<dlc> ::= integer between -1 (don't care) and 64, in NR1 format.

The :SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC command specifies the DLC value to be used in the CAN FD data trigger mode. A specific valid FD value can be specified, or -1 can be specified to indicate "don't care".

Query Syntax

:SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC?

The :SBUS<n>:CAN:TRIGger:PATTern:DATA:DLC? query returns the currently set DLC value.

Return Format

<dlc><NL>
<dlc> ::= integer between -1 (don't care) and 64, in NR1 format.

See Also

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA


:SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth —

Command Syntax

:SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth <length>
<length> ::= integer from 1 to 8 in NR1 format

The :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth command sets the number of 8-bit bytes in the CAN 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>:CAN:TRIGger:PATTern:DATA command.

Query Syntax

:SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth?

The :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth? query returns the current CAN data pattern length setting.

Return Format

<count><NL>
<count> ::= integer from 1 to 8 in NR1 format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA

  • :SBUS<n>:CAN:SOURce


:SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt —

Command Syntax

:SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt <start>
<start> ::= integer between 0 and 63, in NR1 format.

The :SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt command specifies the starting byte position for CAN FD data triggers.

CAN FD frames can have up to 64 bytes of data. You can trigger on up to 8 bytes of data. The starting byte position setting lets you trigger on data anywhere within the frame.

Query Syntax

:SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt?

The :SBUS<n>:CAN:TRIGger:PATTern:DATA:STARt? query returns the starting byte position setting.

Return Format

<start><NL>
<start> ::= integer between 0 and 63, in NR1 format.

See Also

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth


:SBUS<n>:CAN:TRIGger:PATTern:ID

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:PATTern:ID —

Command Syntax

: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.

[Note]

The ID pattern resource string is always 29 bits. Only 11 of these bits are used when the :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE is STANdard.

A string longer than 29 bits is truncated to 29 bits when setting the ID pattern resource.

Query Syntax

: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.

Return Format

<string><NL> in 29-bit binary string format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:CAN:TRIGger:PATTern:ID:MODE

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA


:SBUS<n>:CAN:TRIGger:PATTern:ID:MODE

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:PATTern:ID:MODE —

Command Syntax

: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.

Query Syntax

: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.

Return Format

<value><NL>
<value> ::= {STAN | EXT}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA

  • :SBUS<n>:CAN:TRIGger:PATTern:DATA:LENGth

  • :SBUS<n>:CAN:TRIGger:PATTern:ID


:SBUS<n>:CAN:TRIGger:SYMBolic:MESSage

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:SYMBolic:MESSage —

Command Syntax

:SBUS<n>:CAN:TRIGger:SYMBolic:MESSage <name>
<name> ::= quoted ASCII string

The :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage command specifies the message to trigger on when CAN symbolic data has been loaded (recalled) into the oscilloscope and the CAN trigger mode is set to MESSage or MSIGnal.

Query Syntax

:SBUS<n>:CAN:TRIGger:SYMBolic:MESSage?

The :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage? query returns the specified message.

Return Format

<name><NL>
<name> ::= quoted ASCII string

See Also

  • :RECall:DBC[:STARt]

  • :SBUS<n>:CAN:TRIGger

  • :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal

  • :SBUS<n>:CAN:TRIGger:SYMBolic:VALue


:SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal —

Command Syntax

:SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal <name>
<name> ::= quoted ASCII string

The :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal command specifies the signal to trigger on when CAN symbolic data has been loaded (recalled) into the oscilloscope and the CAN trigger mode is set to MSIGnal.

Query Syntax

:SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal?

The :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal? query returns the specified signal.

Return Format

<name><NL>
<name> ::= quoted ASCII string

See Also

  • :RECall:DBC[:STARt]

  • :SBUS<n>:CAN:TRIGger

  • :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage

  • :SBUS<n>:CAN:TRIGger:SYMBolic:VALue


:SBUS<n>:CAN:TRIGger:SYMBolic:VALue

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:SYMBolic:VALue —

Command Syntax

:SBUS<n>:CAN:TRIGger:SYMBolic:VALue <data>
<data> ::= value in NR3 format

The :SBUS<n>:CAN:TRIGger:SYMBolic:VALue command specifies the signal value to trigger on when CAN symbolic data has been loaded (recalled) into the oscilloscope and the CAN trigger mode is set to MSIGnal.

[Note]

Encoded signal values are not supported in the remote interface (even though they can be used in the front panel graphical interface).

Query Syntax

:SBUS<n>:CAN:TRIGger:SYMBolic:VALue?

The :SBUS<n>:CAN:TRIGger:SYMBolic:VALue? query returns the specified signal value.

Return Format

<data><NL>
<data> ::= value in NR3 format

See Also

  • :RECall:DBC[:STARt]

  • :SBUS<n>:CAN:TRIGger

  • :SBUS<n>:CAN:TRIGger:SYMBolic:MESSage

  • :SBUS<n>:CAN:TRIGger:SYMBolic:SIGNal


:SBUS<n>:CAN:TRIGger:TYPE

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TRIGger:TYPE —

Command Syntax

:SBUS<n>:CAN:TRIGger:TYPE <type>
<type> ::= {STANdard | FD | XL}

The :SBUS<n>:CAN:TRIGger:TYPE command selects the CAN trigger type:

  • STANdard — CAN Standard trigger, available with all CAN decode types.

  • FD — CAN Flexible Data trigger, available with the FD (Flexible Data), XFASt (CAN XL Fast Mode), or XSIC (CAN XL SIC Mode) decode types.

  • XL — CAN XL trigger, available with the XFASt (CAN XL Fast Mode) or XSIC (CAN XL SIC Mode) decode types.

The CAN decode type is selected with the :SBUS<n>:CAN:TYPE command.

Query Syntax

:SBUS<n>:CAN:TRIGger:TYPE?

The :SBUS<n>:CAN:TRIGger:TYPE? query returns the selected CAN trigger type.

Return Format

<type><NL>
<type> ::= {STAN | FD | XL}

See Also

  • :SBUS<n>:CAN:TYPE

  • :SBUS<n>:CAN:SIGNal:BAUDrate

  • :SBUS<n>:CAN:SIGNal:FDBaudrate

  • :SBUS<n>:CAN:SIGNal:XLBaudrate

  • :SBUS<n>:CAN:SAMPlepoint

  • :SBUS<n>:CAN:FDSPoint

  • :SBUS<n>:CAN:XLSPoint


:SBUS<n>:CAN:TYPE

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:TYPE —

Command Syntax

:SBUS<n>:CAN:TYPE <type>
<type> ::= {STANdard | FD | XFASt | XSIC}

The :SBUS<n>:CAN:TYPE command selects the CAN protocol decode type:

  • STANdard — CAN Standard decode (data field length from 1 to 8 bytes).

  • FD — CAN Flexible Data decode (data field length from 1 to 64 bytes).

  • XFASt — CAN XL (Fast Mode) decode (arbitration mode and data mode, data field length from 1 to 2048 bytes). Fast mode is active when there is PWM encoding and decoding is happening in OSI layers.

  • XSIC — CAN XL (SIC Mode) decode (slow mode, arbitration mode, same speeds as CAN-FD).

Query Syntax

:SBUS<n>:CAN:TYPE?

The :SBUS<n>:CAN:TYPE? query returns the selected CAN protocol decode type.

Return Format

<type><NL>
<type> ::= {STAN | FD | XFAS | XSIC}

See Also

  • :SBUS<n>:CAN:SIGNal:BAUDrate

  • :SBUS<n>:CAN:SIGNal:FDBaudrate

  • :SBUS<n>:CAN:SIGNal:XLBaudrate

  • :SBUS<n>:CAN:SAMPlepoint

  • :SBUS<n>:CAN:FDSPoint

  • :SBUS<n>:CAN:XLSPoint


:SBUS<n>:CAN:XLSPoint

:SBUS<n>:CAN Commands

Name

:SBUS<n>:CAN:XLSPoint —

Command Syntax

:SBUS<n>:CAN:XLSPoint <value>
<value> ::= even numbered percentages from 30 to 90 in NR3 format.

The :SBUS<n>:CAN:XLSPoint 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.

Query Syntax

:SBUS<n>:CAN:XLSPoint?

The :SBUS<n>:CAN:XLSPoint? query returns the current CAN XL sample point setting.

Return Format

<value><NL>
<value> ::= even numbered percentages from 30 to 90 in NR3 format.

See Also

  • :SBUS<n>:CAN:SIGNal:XLBaudrate

  • :SBUS<n>:CAN:TYPE


:SBUS<n>:IIC Commands

[Note]

These commands are valid when the low-speed IIC and SPI serial decode option has been licensed.

:SBUS<n>:IIC Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:IIC:ASIZe <size> | :SBUS<n>:IIC:ASIZe? | <size> ::= {BIT7 | BIT8}
:SBUS<n>:IIC[:SOURce]:CLOCk <source> | :SBUS<n>:IIC[:SOURce]:CLOCk? | <source> ::= {CHANnel<n> | DIGital<d> } <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:IIC[:SOURce]:DATA <source> | :SBUS<n>:IIC[:SOURce]:DATA? | <source> ::= {CHANnel<n> | DIGital<d> } <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:IIC:TRIGger:PATTern:ADDRess <value> | :SBUS<n>:IIC:TRIGger:PATTern:ADDRess? | <value> ::= integer
:SBUS<n>:IIC:TRIGger:PATTern:DATA <value> | :SBUS<n>:IIC:TRIGger:PATTern:DATA? | <value> ::= integer
:SBUS<n>:IIC:TRIGger:PATTern:DATa2 <value> | :SBUS<n>:IIC:TRIGger:PATTern:DATa2? | <value> ::= integer
:SBUS<n>:IIC:TRIGger:QUALifier <value> | :SBUS<n>:IIC:TRIGger:QUALifier? | <value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}
:SBUS<n>:IIC:TRIGger[:TYPE] <type> | :SBUS<n>:IIC:TRIGger[:TYPE]? | <type> ::= {STARt | STOP | RESTart | ADDRess | ANACk | DNACk | NACKnowledge | REPRom | READ7 | WRITe7 | R7Data2 | W7Data2 | WRITe10}


:SBUS<n>:IIC:ASIZe

:SBUS<n>:IIC Commands

Name

:SBUS<n>:IIC:ASIZe —

Command Syntax

: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.

Query Syntax

:SBUS<n>:IIC:ASIZe?

The :SBUS<n>:IIC:ASIZe? query returns the current IIC address width setting.

Return Format

<mode><NL>
<mode> ::= {BIT7 | BIT8}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:IIC Commands


:SBUS<n>:IIC[:SOURce]:CLOCk

:SBUS<n>:IIC Commands

Name

:SBUS<n>:IIC[:SOURce]:CLOCk —

Command Syntax

:SBUS<n>:IIC[:SOURce]:CLOCk <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:IIC[:SOURce]:CLOCk command sets the source for the IIC serial clock (SCL).

Query Syntax

:SBUS<n>:IIC[:SOURce]:CLOCk?

The :SBUS<n>:IIC[:SOURce]:CLOCk? query returns the current source for the IIC serial clock.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:IIC[:SOURce]:DATA


:SBUS<n>:IIC[:SOURce]:DATA

:SBUS<n>:IIC Commands

Name

:SBUS<n>:IIC[:SOURce]:DATA —

Command Syntax

:SBUS<n>:IIC[:SOURce]:DATA <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:IIC[:SOURce]:DATA command sets the source for IIC serial data (SDA).

Query Syntax

:SBUS<n>:IIC[:SOURce]:DATA?

The :SBUS<n>:IIC[:SOURce]:DATA? query returns the current source for IIC serial data.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:IIC[:SOURce]:CLOCk


:SBUS<n>:IIC:TRIGger:PATTern:ADDRess

:SBUS<n>:IIC Commands

Name

:SBUS<n>:IIC:TRIGger:PATTern:ADDRess —

Command Syntax

:SBUS<n>:IIC:TRIGger:PATTern:ADDRess <value>
<value> ::= integer

The :SBUS<n>:IIC:TRIGger:PATTern:ADDRess command sets the address for IIC data.The address can range from 0 to 127 (7-bit) or 1023 (10-bit). Use the don't care address (-1) to ignore the address value.

Query Syntax

:SBUS<n>:IIC:TRIGger:PATTern:ADDRess?

The :SBUS<n>:IIC:TRIGger:PATTern:ADDRess? query returns the current address for IIC data.

Return Format

<value><NL>
<value> ::= integer

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:IIC:TRIGger:PATTern:DATA

  • :SBUS<n>:IIC:TRIGger:PATTern:DATa2

  • :SBUS<n>:IIC:TRIGger[:TYPE]


:SBUS<n>:IIC:TRIGger:PATTern:DATA

:SBUS<n>:IIC Commands

Name

:SBUS<n>:IIC:TRIGger:PATTern:DATA —

Command Syntax

:SBUS<n>:IIC:TRIGger:PATTern:DATA <value>
<value> ::= integer

The :SBUS<n>:IIC:TRIGger:PATTern:DATA command sets IIC data. The data value can range from 0 to 255. Use the don't care data pattern (-1) to ignore the data value.

Query Syntax

:SBUS<n>:IIC:TRIGger:PATTern:DATA?

The :SBUS<n>:IIC:TRIGger:PATTern:DATA? query returns the current pattern for IIC data.

Return Format

<value><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:IIC:TRIGger:PATTern:ADDRess

  • :SBUS<n>:IIC:TRIGger:PATTern:DATa2

  • :SBUS<n>:IIC:TRIGger[:TYPE]

  • Commands Not Supported in Multiple Program Message Units


:SBUS<n>:IIC:TRIGger:PATTern:DATa2

:SBUS<n>:IIC Commands

Name

:SBUS<n>:IIC:TRIGger:PATTern:DATa2 —

Command Syntax

:SBUS<n>:IIC:TRIGger:PATTern:DATa2 <value>
<value> ::= integer

The :SBUS<n>:IIC:TRIGger:PATTern:DATa2 command sets IIC data 2. The data value can range from 0 to 255. Use the don't care data pattern (-1) to ignore the data value.

Query Syntax

:SBUS<n>:IIC:TRIGger:PATTern:DATa2?

The :SBUS<n>:IIC:TRIGger:PATTern:DATa2? query returns the current pattern for IIC data 2.

Return Format

<value><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:IIC:TRIGger:PATTern:ADDRess

  • :SBUS<n>:IIC:TRIGger:PATTern:DATA

  • :SBUS<n>:IIC:TRIGger[:TYPE]

  • Commands Not Supported in Multiple Program Message Units


:SBUS<n>:IIC:TRIGger:QUALifier

:SBUS<n>:IIC Commands

Name

:SBUS<n>:IIC:TRIGger:QUALifier —

Command Syntax

:SBUS<n>:IIC:TRIGger:QUALifier <value>
<value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}

The :SBUS<n>:IIC:TRIGger:QUALifier command sets the IIC data qualifier when TRIGger:IIC:TRIGger[:TYPE] is set to REPRom.

Query Syntax

:SBUS<n>:IIC:TRIGger:QUALifier?

The :SBUS<n>:IIC:TRIGger:QUALifier? query returns the current IIC data qualifier value.

Return Format

<value><NL>
<value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:IIC:TRIGger[:TYPE]


:SBUS<n>:IIC:TRIGger[:TYPE]

:SBUS<n>:IIC Commands

Name

:SBUS<n>:IIC:TRIGger[:TYPE] —

Command Syntax

:SBUS<n>:IIC:TRIGger[:TYPE] <value>
<value> ::= {STARt | STOP | RESTart | ADDRess | ANACk | DNACk
   | NACKnowledge | REPRom | READ7 | WRITe7 | R7Data2 | W7Data2
   | WRITe10}

The :SBUS<n>:IIC:TRIGger[:TYPE] command sets the IIC trigger type:

  • STARt — Start condition.

  • STOP — Stop condition.

  • RESTart — Another start condition occurs before a stop condition.

  • ADDRess — Triggers on the selected address. The R/W bit is ignored.

  • ANACk — Address with no acknowledge.

  • DNACk — Write data with no acknowledge.

  • NACKnowledge — Missing acknowledge.

  • REPRom — EEPROM data read.

  • READ7 — 7-bit address frame containing (Start:Address7:Read:Ack:Data). The value READ is also accepted for READ7.

  • WRITe7 — 7-bit address frame containing (Start:Address7:Write:Ack:Data). The value WRITe is also accepted for WRITe7.

  • R7Data2 — 7-bit address frame containing (Start:Address7:Read:Ack:Data:Ack:Data2).

  • W7Data2 — 7-bit address frame containing (Start:Address7:Write:Ack:Data:Ack:Data2).

  • WRITe10 — 10-bit address frame containing (Start:Address byte1:Write:Ack:Address byte 2:Data).

[Note]

The short form of READ7 (READ7), REPRom (REPR), WRITe7 (WRIT7), and WRITe10 (WRIT10) do not follow the defined Long Form to Short Form Truncation Rules.

Query Syntax

:SBUS<n>:IIC:TRIGger[:TYPE]?

The :SBUS<n>:IIC:TRIGger[:TYPE]? query returns the current IIC trigger type value.

Return Format

<value><NL>
<value> ::= {STAR | STOP | REST | ADDR | ANAC | DNAC | NACK | REPR
   | READ7 | WRIT7 | R7D2 | W7D2 | WRIT10}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:IIC:TRIGger:PATTern:ADDRess

  • :SBUS<n>:IIC:TRIGger:PATTern:DATA

  • :SBUS<n>:IIC:TRIGger:PATTern:DATa2

  • :SBUS<n>:IIC:TRIGger:QUALifier

  • Long Form to Short Form Truncation Rules


:SBUS<n>:LIN Commands

[Note]

These commands are valid when the Automotive Serial Analysis license has been enabled.

[Note]

Aerospace protocol decodes (ARINC 429 or MIL-STD-155) and Automotive protocol decodes (CAN, LIN, or SENT) cannot be used at the same time. Protocol decode mode choices on Protocol2 are limited by the last Aerospace or Automotive protocol decode mode selected on Protocol1.

:SBUS<n>:LIN Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:LIN:DISPlay <type> | :SBUS<n>:LIN:DISPlay? | <type> ::= {HEXadecimal | SYMBolic}
:SBUS<n>:LIN:PARity {{0 | OFF} | {1 | ON}} | :SBUS<n>:LIN:PARity? | {0 | 1}
:SBUS<n>:LIN:SAMPlepoint <value> | :SBUS<n>:LIN:SAMPlepoint? | <value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format
:SBUS<n>:LIN:SIGNal:BAUDrate <baudrate> | :SBUS<n>:LIN:SIGNal:BAUDrate? | <baudrate> ::= integer from 2400 to 625000 in 100 b/s increments
:SBUS<n>:LIN:SOURce <source> | :SBUS<n>:LIN:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:LIN:STANdard <std> | :SBUS<n>:LIN:STANdard? | <std> ::= {LIN13 | LIN13NLC | LIN20}
:SBUS<n>:LIN:SYNCbreak <value> | :SBUS<n>:LIN:SYNCbreak? | <value> ::= integer = {11 | 12 | 13}
:SBUS<n>:LIN:TRIGger <condition> | :SBUS<n>:LIN:TRIGger? | <condition> ::= {SYNCbreak | ID | DATA}
:SBUS<n>:LIN:TRIGger:ID <value> | :SBUS<n>:LIN:TRIGger:ID? | <value> ::= 7-bit integer in decimal, <nondecimal>, or <string> from 0-63 or 0x00-0x3f <nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal <nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F} for hexadecimal
:SBUS<n>:LIN:TRIGger:PATTern:DATA <string> | :SBUS<n>:LIN:TRIGger:PATTern:DATA? | <string> ::= "n" where n ::= 32-bit integer in unsigned decimal when <base> = DECimal <string> ::= "nn...n" where n ::= {0 | 1 | X | $} when <base> = BINary <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX
:SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth <length> | :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth? | <length> ::= integer from 1 to 8 in NR1 format
:SBUS<n>:LIN:TRIGger:PATTern:FORMat <base> | :SBUS<n>:LIN:TRIGger:PATTern:FORMat? | <base> ::= {BINary | HEX | DECimal}
:SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe <name> | :SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe? | <name> ::= quoted ASCII string
:SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal <name> | :SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal? | <name> ::= quoted ASCII string
:SBUS<n>:LIN:TRIGger:SYMBolic:VALue <data> | :SBUS<n>:LIN:TRIGger:SYMBolic:VALue? | <data> ::= value in NR3 format


:SBUS<n>:LIN:DISPlay

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:DISPlay —

Command Syntax

:SBUS<n>:LIN:DISPlay <type>
<type> ::= {HEXadecimal | SYMBolic}

The :SBUS<n>:LIN:DISPlay command specifies, when LIN symbolic data is loaded into the oscilloscope, whether symbolic values (from the LDF file) or hexadecimal values are displayed in the decode waveform and the Lister window.

Query Syntax

:SBUS<n>:LIN:DISPlay?

The :SBUS<n>:LIN:DISPlay? query returns the LIN decode display type.

Return Format

<type><NL>
<type> ::= {HEX | SYMB}

See Also

  • :RECall:LDF[:STARt]


:SBUS<n>:LIN:PARity

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:PARity —

Command Syntax

:SBUS<n>:LIN:PARity <display>
<display> ::= {{1 | ON} | {0 | OFF}}

The :SBUS<n>:LIN:PARity command determines whether the parity bits are included as the most significant bits (MSB) in the display of the Frame Id field in the LIN decode bus.

Query Syntax

:SBUS<n>:LIN:PARity?

The :SBUS<n>:LIN:PARity? query returns the current LIN parity bits display setting of the serial decode bus.

Return Format

<display><NL>
<display> ::= {0 | 1}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:LIN Commands


:SBUS<n>:LIN:SAMPlepoint

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:SAMPlepoint —

Command Syntax

:SBUS<n>:LIN:SAMPlepoint <value>
<value><NL>
<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.

[Note]

The sample point values are not limited by the baud rate.

Query Syntax

:SBUS<n>:LIN:SAMPlepoint?

The :SBUS<n>:LIN:SAMPlepoint? query returns the current LIN sample point setting.

Return Format

<value><NL>
<value> ::= {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5} in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:LIN:TRIGger


:SBUS<n>:LIN:SIGNal:BAUDrate

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:SIGNal:BAUDrate —

Command Syntax

:SBUS<n>:LIN:SIGNal:BAUDrate <baudrate>
<baudrate> ::= integer from 2400 to 625000 in 100 b/s increments

The :SBUS<n>:LIN:SIGNal:BAUDrate command sets the standard baud rate of the LIN signal from 2400 b/s to 625 kb/s in 100 b/s increments. If you enter a baud rate that is not divisible by 100 b/s, the baud rate is set to the nearest baud rate divisible by 100 b/s.

Query Syntax

:SBUS<n>:LIN:SIGNal:BAUDrate?

The :SBUS<n>:LIN:SIGNal:BAUDrate? query returns the current LIN baud rate setting.

Return Format

<baudrate><NL>
<baudrate> ::= integer from 2400 to 625000 in 100 b/s increments

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:LIN:TRIGger

  • :SBUS<n>:LIN:SOURce


:SBUS<n>:LIN:SOURce

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:SOURce —

Command Syntax

:SBUS<n>:LIN:SOURce <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:LIN:SOURce command sets the source for the LIN signal.

Query Syntax

:SBUS<n>:LIN:SOURce?

The :SBUS<n>:LIN:SOURce? query returns the current source for the LIN signal.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:LIN:TRIGger


:SBUS<n>:LIN:STANdard

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:STANdard —

Command Syntax

:SBUS<n>:LIN:STANdard <std>
<std> ::= {LIN13 | LIN13NLC | LIN20}

The :SBUS<n>:LIN:STANdard command sets the LIN standard in effect for triggering and decoding:

  • LIN13 — LIN 1.3.

  • LIN13NLC — LIN 1.3 (no length control). Select this for systems where length control is not used and all nodes have knowledge of the data packet size. In LIN 1.3, the ID may or may not be used to indicate the number of bytes. (In LIN 2.X, there is no length control.)

  • LIN20 — LIN 2.X.

For LIN 1.2 signals, use the LIN 1.3 setting. The LIN 1.3 setting assumes the signal follows the "Table of Valid ID Values" as shown in section A.2 of the LIN Specification dated December 12, 2002. If your signal does not comply with the table, use the LIN 2.X setting.

Query Syntax

:SBUS<n>:LIN:STANdard?

The :SBUS<n>:LIN:STANdard? query returns the current LIN standard setting.

Return Format

<std><NL>
<std> ::= {LIN13 | LIN13NLC | LIN20}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:LIN:SOURce


:SBUS<n>:LIN:SYNCbreak

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:SYNCbreak —

Command Syntax

:SBUS<n>:LIN:SYNCbreak <value>
<value> ::= integer = {11 | 12 | 13}

The :SBUS<n>:LIN:SYNCbreak command sets the length of the LIN sync break to be greater than or equal to 11, 12, or 13 clock lengths. The sync break is the idle period in the bus activity at the beginning of each packet that distinguishes one information packet from the previous one.

Query Syntax

:SBUS<n>:LIN:SYNCbreak?

The :SBUS<n>:LIN:SYNCbreak? query returns the current LIN sync break setting.

Return Format

<value><NL>
<value> ::= {11 | 12 | 13}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:LIN:SOURce


:SBUS<n>:LIN:TRIGger

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:TRIGger —

Command Syntax

:SBUS<n>:LIN:TRIGger <condition>
<condition> ::= {SYNCbreak | ID | DATA | PARityerror | CSUMerror
                | FRAMe | FSIGnal}

The :SBUS<n>:LIN:TRIGger command sets the LIN trigger condition to be:

  • SYNCbreak — Sync Break.

  • 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.

  • FRAMe — Triggers on a symbolic frame.

  • FSIGnal — Triggers on a symbolic frame and a signal value.

Query Syntax

:SBUS<n>:LIN:TRIGger?

The :SBUS<n>:LIN:TRIGger? query returns the current LIN trigger value.

Return Format

<condition><NL>
<condition> ::= {SYNC | ID | DATA | PAR | CSUM | FRAM | FSIG}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:LIN:TRIGger:ID

  • :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth

  • :SBUS<n>:LIN:TRIGger:PATTern:DATA

  • :SBUS<n>:LIN:SOURce

  • :RECall:LDF[:STARt]

  • :SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe

  • :SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal

  • :SBUS<n>:LIN:TRIGger:SYMBolic:VALue


:SBUS<n>:LIN:TRIGger:ID

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:TRIGger:ID —

Command Syntax

:SBUS<n>:LIN:TRIGger:ID <value>
<value> ::= 7-bit integer in decimal, <nondecimal>, or <string>
            from 0-63 or 0x00-0x3f
<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F} for hexadecimal

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.

Setting the ID to a value of "-1" results in "0xXX" which is equivalent to all IDs.

Query Syntax

:SBUS<n>:LIN:TRIGger:ID?

The :SBUS<n>:LIN:TRIGger:ID? query returns the current LIN identifier setting.

Return Format

<value><NL>
<value> ::= integer in decimal

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:LIN:TRIGger

  • :SBUS<n>:LIN:SOURce


:SBUS<n>:LIN:TRIGger:PATTern:DATA

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:TRIGger:PATTern:DATA —

Command Syntax

:SBUS<n>:LIN:TRIGger:PATTern:DATA <string>
<string> ::= "n" where n ::= 32-bit integer in unsigned decimal when
             <base> = DECimal
<string> ::= "nn...n" where n ::= {0 | 1 | X | $} when
             <base> = BINary
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when
             <base> = HEX
[Note]

<base> is specified with the :SBUS<n>:LIN:TRIGger:PATTern:FORMat command. The default <base> is BINary.

The :SBUS<n>:LIN:TRIGger:PATTern:DATA command specifies the LIN trigger data pattern searched for in each LIN data field.

Set a <string> bit to "0" or "1" to set the corresponding bit in the data pattern to low or high, respectively.

Set a <string> bit to "X" to ignore (mask off) that bit in the data pattern.

Use the "$" character to indicate that the value of the corresponding bit will not be changed (the existing bit value is used).

When <base> = DECimal, the "X" and "$" characters cannot be entered. When queried, the "$" character is returned when any bits in the pattern have the value of "X" and <base> = DECimal. When any bits in a given nibble have the value of "X" and <base> = HEX, the "$" character is returned for the corresponding nibble.

[Note]

The length of the trigger data value is determined by the :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth command.

[Note]

If more bits are sent for <string> than the specified trigger pattern data length, the most significant bits will be truncated. If the data length size is changed after the <string> is programmed, the added or deleted bits will be added to or deleted from the least significant bits.

Query Syntax

:SBUS<n>:LIN:TRIGger:PATTern:DATA?

The :SBUS<n>:LIN:TRIGger:PATTern:DATA? query returns the currently specified LIN trigger data pattern.

Return Format

<string><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:LIN:TRIGger:PATTern:FORMat

  • :SBUS<n>:LIN:TRIGger

  • :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth


:SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth —

Command Syntax

:SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth <length>
<length> ::= integer from 1 to 8 in NR1 format

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 Syntax

:SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth?

The :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth? query returns the current LIN data pattern length setting.

Return Format

<count><NL>
<count> ::= integer from 1 to 8 in NR1 format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:LIN:TRIGger:PATTern:DATA

  • :SBUS<n>:LIN:SOURce


:SBUS<n>:LIN:TRIGger:PATTern:FORMat

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:TRIGger:PATTern:FORMat —

Command Syntax

:SBUS<n>:LIN:TRIGger:PATTern:FORMat <base>
<base> ::= {BINary | HEX | DECimal}

The :SBUS<n>:LIN:TRIGger:PATTern:FORMat command sets the entry (and query) number base used by the :SBUS<n>:LIN:TRIGger:PATTern:DATA command. The default <base> is BINary.

Query Syntax

:SBUS<n>:LIN:TRIGger:PATTern:FORMat?

The :SBUS<n>:LIN:TRIGger:PATTern:FORMat? query returns the currently set number base for LIN pattern data.

Return Format

<base><NL>
<base> ::= {BIN | HEX | DEC}

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:LIN:TRIGger:PATTern:DATA

  • :SBUS<n>:LIN:TRIGger:PATTern:DATA:LENGth


:SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe —

Command Syntax

:SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe <name>
<name> ::= quoted ASCII string

The :SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe command specifies the message to trigger on when LIN symbolic data has been loaded (recalled) into the oscilloscope and the LIN trigger mode is set to FRAMe or FSIGnal.

Query Syntax

:SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe?

The :SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe? query returns the specified message.

Return Format

<name><NL>
<name> ::= quoted ASCII string

See Also

  • :RECall:LDF[:STARt]

  • :SBUS<n>:LIN:TRIGger

  • :SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal

  • :SBUS<n>:LIN:TRIGger:SYMBolic:VALue


:SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal —

Command Syntax

:SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal <name>
<name> ::= quoted ASCII string

The :SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal command specifies the signal to trigger on when LIN symbolic data has been loaded (recalled) into the oscilloscope and the LIN trigger mode is set to FSIGnal.

Query Syntax

:SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal?

The :SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal? query returns the specified signal.

Return Format

<name><NL>
<name> ::= quoted ASCII string

See Also

  • :RECall:LDF[:STARt]

  • :SBUS<n>:LIN:TRIGger

  • :SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe

  • :SBUS<n>:LIN:TRIGger:SYMBolic:VALue


:SBUS<n>:LIN:TRIGger:SYMBolic:VALue

:SBUS<n>:LIN Commands

Name

:SBUS<n>:LIN:TRIGger:SYMBolic:VALue —

Command Syntax

:SBUS<n>:LIN:TRIGger:SYMBolic:VALue <data>
<data> ::= value in NR3 format

The :SBUS<n>:LIN:TRIGger:SYMBolic:VALue command specifies the signal value to trigger on when LIN symbolic data has been loaded (recalled) into the oscilloscope and the LIN trigger mode is set to FSIGnal.

[Note]

Encoded signal values are not supported in the remote interface (even though they can be used in the front panel graphical interface).

Query Syntax

:SBUS<n>:LIN:TRIGger:SYMBolic:VALue?

The :SBUS<n>:LIN:TRIGger:SYMBolic:VALue? query returns the specified signal value.

Return Format

<data><NL>
<data> ::= value in NR3 format

See Also

  • :RECall:LDF[:STARt]

  • :SBUS<n>:LIN:TRIGger

  • :SBUS<n>:LIN:TRIGger:SYMBolic:FRAMe

  • :SBUS<n>:LIN:TRIGger:SYMBolic:SIGNal


:SBUS<n>:M1553 Commands

[Note]

These commands are valid when the Aerospace and Defense Serial Analysis license has been enabled.

[Note]

Aerospace protocol decodes (ARINC 429 or MIL-STD-155) and Automotive protocol decodes (CAN, LIN, or SENT) cannot be used at the same time. Protocol decode mode choices on Protocol2 are limited by the last Aerospace or Automotive protocol decode mode selected on Protocol1.

:SBUS<n>:M1553 Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:M1553:AUTosetup | n/a | n/a
:SBUS<n>:M1553:BASE <base> | :SBUS<n>:M1553:BASE? | <base> ::= {BINary | HEX}
:SBUS<n>:M1553:SOURce <source> | :SBUS<n>:M1553:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:SBUS<n>:M1553:TRIGger:PATTern:DATA <string> | :SBUS<n>:M1553:TRIGger:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X}
:SBUS<n>:M1553:TRIGger:RTA <value> | :SBUS<n>:M1553:TRIGger:RTA? | <value> ::= 5-bit integer in decimal, <nondecimal>, or <string> from 0-31 <nondecimal> ::= #Hnn where n ::= {0,..,9|A,..,F} <string> ::= "0xnn" where n::= {0,..,9|A,..,F}
:SBUS<n>:M1553:TRIGger:TYPE <type> | :SBUS<n>:M1553:TRIGger:TYPE? | <type> ::= {DSTart | DSTOp | CSTart | CSTOp | RTA | PERRor | SERRor | MERRor | RTA11}


:SBUS<n>:M1553:AUTosetup

:SBUS<n>:M1553 Commands

Name

:SBUS<n>:M1553:AUTosetup —

Command Syntax

:SBUS<n>:M1553:AUTosetup

The :SBUS<n>:M1553:AUTosetup command automatically sets these options for decoding and triggering on MIL-STD-1553 signals:

  • High/Low Trigger Thresholds: to a voltage value equal to ±1/3 division based on the source channel's current V/div setting.

  • Noise Reject: Off.

  • Probe Attenuation: 10.0.

  • Serial Decode: On.

  • Trigger: the specified serial bus (n of SBUS<n>).

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:M1553:SOURce


:SBUS<n>:M1553:BASE

:SBUS<n>:M1553 Commands

Name

:SBUS<n>:M1553:BASE —

Command Syntax

:SBUS<n>:M1553:BASE <base>
<base> ::= {BINary | HEX}

The :SBUS<n>:M1553:BASE command determines the base to use for the MIL-STD-1553 decode display.

Query Syntax

:SBUS<n>:M1553:BASE?

The :SBUS<n>:M1553:BASE? query returns the current MIL-STD-1553 display decode base.

Return Format

<base><NL>
<base> ::= {BIN | HEX}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:M1553 Commands


:SBUS<n>:M1553:SOURce

:SBUS<n>:M1553 Commands

Name

:SBUS<n>:M1553:SOURce —

Command Syntax

:SBUS<n>:M1553:SOURce <source>
<source> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :SBUS<n>:M1553:SOURce command sets the source of the MIL-STD 1553 signal.

Use the :TRIGger:LEVel:HIGH and :TRIGger:LEVel:LOW commands to set the threshold levels for the selected source.

Query Syntax

:SBUS<n>:M1553:TRIGger:SOURce?

The :SBUS<n>:M1553:SOURce? query returns the currently set source of the MIL-STD 1553 signal.

Return Format

<source><NL>
<source> ::= {CHAN<n>}
<n> ::= 1 to (# analog channels) in NR1 format

See Also

  • :TRIGger:LEVel:HIGH

  • :TRIGger:LEVel:LOW

  • :TRIGger:MODE

  • Introduction to :TRIGger Commands


:SBUS<n>:M1553:TRIGger:PATTern:DATA

:SBUS<n>:M1553 Commands

Name

:SBUS<n>:M1553:TRIGger:PATTern:DATA —

Command Syntax

:SBUS<n>:M1553:TRIGger:PATTern:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X}

The :SBUS<n>:M1553:TRIGger:PATTern:DATA command sets the 11 bits to trigger on if the trigger type has been set to RTA11 (RTA + 11 Bits) using the :SBUS<n>:M1553:TRIGger:TYPE command.

Query Syntax

:SBUS<n>:M1553:TRIGger:PATTern:DATA?

The :SBUS<n>:M1553:TRIGger:PATTern:DATA? query returns the current 11-bit setting.

Return Format

<string><NL>
<string> ::= "nn...n" where n ::= {0 | 1 | X}

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:M1553:TRIGger:TYPE

  • :SBUS<n>:M1553:TRIGger:RTA


:SBUS<n>:M1553:TRIGger:RTA

:SBUS<n>:M1553 Commands

Name

:SBUS<n>:M1553:TRIGger:RTA —

Command Syntax

:SBUS<n>:M1553:TRIGger:RTA <value>
<value> ::= 5-bit integer in decimal, <nondecimal>, or
            <string> from 0-31
<nondecimal> ::= #Hnn where n ::= {0,..,9|A,..,F}
<string> ::= "0xnn" where n::= {0,..,9|A,..,F}

The :SBUS<n>:M1553:TRIGger:RTA command sets the Remote Terminal Address (RTA) to trigger on when the trigger type has been set to RTA or RTA11 (using the :SBUS<n>:M1553:TRIGger:TYPE command).

To set the RTA value to don't cares (0xXX), set the value to -1.

Query Syntax

:SBUS<n>:M1553:TRIGger:RTA?

The :SBUS<n>:M1553:TRIGger:RTA? query returns the RTA value.

Return Format

<value><NL> in decimal format

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:M1553:TRIGger:TYPE


:SBUS<n>:M1553:TRIGger:TYPE

:SBUS<n>:M1553 Commands

Name

:SBUS<n>:M1553:TRIGger:TYPE —

Command Syntax

:SBUS<n>:M1553:TRIGger:TYPE <type>
<type> ::= {DSTart | DSTOp | CSTart | CSTOp | RTA | PERRor | SERRor
           | MERRor | RTA11}

The :SBUS<n>:M1553:TRIGger:TYPE command specifies the type of MIL-STD-1553 trigger to be used:

  • DSTart — (Data Word Start) triggers on the start of a Data word (at the end of a valid Data Sync pulse).

  • DSTOp — (Data Word Stop) triggers on the end of a Data word.

  • CSTart — (Command/Status Word Start) triggers on the start of Command/Status word (at the end of a valid C/S Sync pulse).

  • CSTOp — (Command/Status Word Stop) triggers on the end of a Command/Status word.

  • RTA — (Remote Terminal Address) triggers if the RTA of the Command/Status word matches the specified value. The value is specified in hex.

  • RTA11 — (RTA + 11 Bits) triggers if the RTA and the remaining 11 bits match the specified criteria. The RTA can be specified as a hex value, and the remaining 11 bits can be specified as a 1, 0, or X (don't care).

  • PERRor — (Parity Error) triggers if the (odd) parity bit is incorrect for the data in the word.

  • MERRor — (Manchester Error) triggers if a Manchester encoding error is detected.

  • SERRor — (Sync Error) triggers if an invalid Sync pulse is found.

Query Syntax

:SBUS<n>:M1553:TRIGger:TYPE?

The :SBUS<n>:M1553:TRIGger:TYPE? query returns the currently set MIL-STD-1553 trigger type.

Return Format

<type><NL>
<type> ::= {DST | DSTO | CST | CSTO | RTA | PERR | SERR
           | MERR | RTA11}

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:M1553:TRIGger:RTA

  • :SBUS<n>:M1553:TRIGger:PATTern:DATA

  • :TRIGger:MODE


:SBUS<n>:SENT Commands

[Note]

These commands are valid when the Automotive Serial Analysis license has been enabled.

[Note]

Aerospace protocol decodes (ARINC 429 or MIL-STD-155) and Automotive protocol decodes (CAN, LIN, or SENT) cannot be used at the same time. Protocol decode mode choices on Protocol2 are limited by the last Aerospace or Automotive protocol decode mode selected on Protocol1.

:SBUS<n>:SENT Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:SENT:CLOCk <period> | :SBUS<n>:SENT:CLOCk? | <period> ::= the nominal clock period (tick), from 500 ns to 300 us, in NR3 format.
:SBUS<n>:SENT:CRC <format> | :SBUS<n>:SENT:CRC? | <format> ::= {LEGacy | RECommended}
:SBUS<n>:SENT:DISPlay <base> | :SBUS<n>:SENT:DISPlay? | <base> ::= {HEX | DECimal | SYMBolic}
:SBUS<n>:SENT:FORMat <decode> | :SBUS<n>:SENT:FORMat? | <decode> ::= {NIBBles | FSIGnal | FSSerial | FESerial | SSERial | ESERial}
:SBUS<n>:SENT:IDLE <state> | :SBUS<n>:SENT:IDLE? | <state> ::= {LOW | HIGH}
:SBUS<n>:SENT:LENGth <#_nibbles> | :SBUS<n>:SENT:LENGth? | <#_nibbles> ::= from 1-6, in NR1 format.
:SBUS<n>:SENT:PPULse {{0 | OFF} | {1 | ON} | SPC} | :SBUS<n>:SENT:PPULse? | {0 | 1 | SPC}
:SBUS<n>:SENT:SIGNal<s>:DISPlay {{0 | OFF} | {1 | ON}} | :SBUS<n>:SENT:SIGNal<s>:DISPlay? | <s> ::= 1-6, in NR1 format. {0 | 1}
:SBUS<n>:SENT:SIGNal<s>:LENGth <length> | :SBUS<n>:SENT:SIGNal<s>:LENGth? | <s> ::= 1-6, in NR1 format. <length> ::= from 1-24, in NR1 format.
:SBUS<n>:SENT:SIGNal<s>:MULTiplier <multiplier> | :SBUS<n>:SENT:SIGNal<s>:MULTiplier? | <s> ::= 1-6, in NR1 format. <multiplier> ::= from 1-24, in NR3 format.
:SBUS<n>:SENT:SIGNal<s>:OFFSet <offset> | :SBUS<n>:SENT:SIGNal<s>:OFFSet? | <s> ::= 1-6, in NR1 format. <offset> ::= from 1-24, in NR3 format.
:SBUS<n>:SENT:SIGNal<s>:ORDer <order> | :SBUS<n>:SENT:SIGNal<s>:ORDer? | <s> ::= 1-6, in NR1 format. <order> ::= {MSNFirst | LSNFirst}
:SBUS<n>:SENT:SIGNal<s>:STARt <position> | :SBUS<n>:SENT:SIGNal<s>:STARt? | <s> ::= 1-6, in NR1 format. <position> ::= from 0-23, in NR1 format.
:SBUS<n>:SENT:SOURce <source> | :SBUS<n>:SENT:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SENT:TOLerance <percent> | :SBUS<n>:SENT:TOLerance? | <percent> ::= from 3-30, in NR1 format.
:SBUS<n>:SENT:TRIGger <mode> | :SBUS<n>:SENT:TRIGger? | <mode> ::= {SFCMessage | SSCMessage | FCData | SCMid | SCData | FCCerror | SCCerror | CRCerror | TOLerror | PPERror | SSPerror}
:SBUS<n>:SENT:TRIGger:FAST:DATA <string> | :SBUS<n>:SENT:TRIGger:FAST:DATA? | <string> ::= "nnnn..." where n ::= {0 | 1 | X} <string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:SENT:TRIGger:SLOW:DATA <data> | :SBUS<n>:SENT:TRIGger:SLOW:DATA? | <data> ::= when ILENgth = SHORt, from -1 (don't care) to 65535, in NR1 format. <data> ::= when ILENgth = LONG, from -1 (don't care) to 4095, in NR1 format.
:SBUS<n>:SENT:TRIGger:SLOW:ID <id> | :SBUS<n>:SENT:TRIGger:SLOW:ID? | <id> ::= when ILENgth = SHORt, from -1 (don't care) to 15, in NR1 format. <id> ::= when ILENgth = LONG, from -1 (don't care) to 255, in NR1 format.
:SBUS<n>:SENT:TRIGger:SLOW:ILENgth <length> | :SBUS<n>:SENT:TRIGger:SLOW:ILENgth? | <length> ::= {SHORt | LONG}
:SBUS<n>:SENT:TRIGger:TOLerance <percent> | :SBUS<n>:SENT:TRIGger:TOLerance? | <percent> ::= from 1-18, in NR1 format.


:SBUS<n>:SENT:CLOCk

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:CLOCk —

Command Syntax

:SBUS<n>:SENT:CLOCk <period>
<period> ::= the nominal clock period (tick), from 500 ns to 300 us,
   in NR3 format.

The :SBUS<n>:SENT:CLOCk command specifies the nominal clock period (tick), from 500 ns to 300 μs.

Query Syntax

:SBUS<n>:SENT:CLOCk?

The :SBUS<n>:SENT:CLOCk? query returns the clock period setting.

Return Format

<period><NL>
<period> ::= the nominal clock period (tick), from 500 ns to 300 us,
   in NR3 format.

See Also

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:CRC

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:CRC —

Command Syntax

:SBUS<n>:SENT:CRC <format>
<format> ::= {LEGacy | RECommended}

The :SBUS<n>:SENT:CRC command specifies the format of the CRC. Either Legacy (2008) or Recommended (2010).

Enhanced Serial Message CRCs are always calculated using the 2010 format, but for the Fast Channel Messages, and for Short Serial Message CRCs, this setting is used.

Query Syntax

:SBUS<n>:SENT:CRC?

The :SBUS<n>:SENT:CRC? query returns the CRC format setting.

Return Format

<format><NL>
<format> ::= {LEG | REC}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:DISPlay

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:DISPlay —

Command Syntax

:SBUS<n>:SENT:DISPlay <base>
<base> ::= {HEX | DECimal | SYMBolic}

The :SBUS<n>:SENT:DISPlay command specifies the number base used by the decoder. The chosen base is used for the data nibbles in Raw decode format, the defined Signals in the other formats, and for the data field of the Serial Messages.

This selection is used for both the Lister and the decode line displays.

When SYMBolic is selected, Fast Channel Signals display a calculated physical value based on the specified multiplier and offset:

  • PhysicalValue = (Multiplier * SignalValueAsUnsignedInteger) + Offset

When SYMBolic is selected, the CRC and Slow Channel information is displayed in hex.

Query Syntax

:SBUS<n>:SENT:DISPlay?

The :SBUS<n>:SENT:DISPlay? query returns the SENT decode number base setting.

Return Format

<base><NL>
<base> ::= {HEX | DEC | SYMB}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:FORMat

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:FORMat —

Command Syntax

:SBUS<n>:SENT:FORMat <decode>
<decode> ::= {NIBBles | FSIGnal | FSSerial | FESerial | SSERial | ESERial}

The :SBUS<n>:SENT:FORMat command specifies the message decode/triggering format:

  • NIBBles — displays the raw transmitted nibble values.

  • FSIGnal — displays Fast Channel Message Signals.

  • FSSerial — displays both Fast and Slow Messages (Short format) simultaneously.

  • FESerial — displays both Fast and Slow Messages (Enhanced format) simultaneously.

  • SSERial — displays Slow Channel Messages in Short format.

  • ESERial — displays Slow Channel Messages in Enhanced format.

This selection affects both decoding and triggering. The decode is affected both in how the system interprets the data, and what will be displayed. The trigger is affected in that the trigger hardware needs to be configured to trigger on serial messages correctly.

You can specify the nibble display order for Fast Channel Message Signals (see :SBUS<n>:SENT:SIGNal<s>:ORDer). Raw transmitted nibble values are displayed in the order received.

Note that for the Slow Channel, the proper format, Short or Enhanced, must be chosen for proper decoding and triggering to occur.

Slow Channel Serial Messages are always displayed as defined by the SENT specification.

Query Syntax

:SBUS<n>:SENT:FORMat?

The :SBUS<n>:SENT:FORMat? query returns the message decode/triggering format setting.

Return Format

<decode><NL>
<decode> ::= {NIBB | FSIG | FSS | FES | SSER | ESER}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:IDLE

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:IDLE —

Command Syntax

:SBUS<n>:SENT:IDLE <state>
<state> ::= {LOW | HIGH}

The :SBUS<n>:SENT:IDLE command specifies the idle state of the SENT bus.

Query Syntax

:SBUS<n>:SENT:IDLE?

The :SBUS<n>:SENT:IDLE? query returns the idle state setting.

Return Format

<state><NL>
<state> ::= {LOW | HIGH}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:LENGth

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:LENGth —

Command Syntax

:SBUS<n>:SENT:LENGth <#_nibbles>
<#_nibbles> ::= from 1-6, in NR1 format.

The :SBUS<n>:SENT:LENGth command specifies the number of nibbles in a SENT message, from 1 to 6.

Query Syntax

:SBUS<n>:SENT:LENGth?

The :SBUS<n>:SENT:LENGth? query returns the number of nibbles setting.

Return Format

<#_nibbles><NL>
<#_nibbles> ::= from 1-6, in NR1 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:PPULse

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:PPULse —

Command Syntax

:SBUS<n>:SENT:PPULse {{0 | OFF} | {1 | ON} | SPC}

The :SBUS<n>:SENT:PPULse command specifies whether there is a pause pulse between Fast Channel Messages:

  • OFF — There is no pause pulse between Fast Channel Messages.

    Note that a SENT serial bus with no pause pulse is never idle. This means, during normal operation, the fast channel decode line will show a continuous stream of packets, with a new packet opening as soon as the previous one has closed.

  • ON — Pause pulses are added between Fast Channel Messages so that frames come at a regular interval.

    If there is a pause pulse (and Pause Pulse is on), idle time is shown between messages.

  • SPC (Short PWM Code) — In SENT SPC, there are no pause pulses. Instead, the message event is triggered by the master when it wants to receive data. SENT SPC ends the transmission after the CRC so it almost appears as if there is a pause pulse from the end until the next master trigger.

Query Syntax

:SBUS<n>:SENT:PPULse?

The :SBUS<n>:SENT:PPULse? query returns the pause mode setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1 | SPC}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:SIGNal<s>:DISPlay

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:SIGNal<s>:DISPlay —

Command Syntax

:SBUS<n>:SENT:SIGNal<s>:DISPlay {{0 | OFF} | {1 | ON}}
<s> ::= 1-6, in NR1 format.

The :SBUS<n>:SENT:SIGNal<s>:DISPlay command specifies whether the given signal is on or off.

Query Syntax

:SBUS<n>:SENT:SIGNal<s>:DISPlay?

The :SBUS<n>:SENT:SIGNal<s>:DISPlay? query returns the signal on/off setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:SIGNal<s>:LENGth

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:SIGNal<s>:LENGth —

Command Syntax

:SBUS<n>:SENT:SIGNal<s>:LENGth <length>
<s> ::= 1-6, in NR1 format.
<length> ::= from 1-24, in NR1 format.

The :SBUS<n>:SENT:SIGNal<s>:LENGth command specifies the bit length of the signal being defined.

Fast Signal definition examples:

Query Syntax

:SBUS<n>:SENT:SIGNal<s>:LENGth?

The :SBUS<n>:SENT:SIGNal<s>:LENGth? query returns the signal bit length setting.

Return Format

<length><NL>
<length> ::= from 1-24, in NR1 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:SIGNal<s>:MULTiplier

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:SIGNal<s>:MULTiplier —

Command Syntax

:SBUS<n>:SENT:SIGNal<s>:MULTiplier <multiplier>
<s> ::= 1-6, in NR1 format.
<multiplier> ::= from 1-24, in NR3 format.

When the display mode setting is SYMBolic (see :SBUS<n>:SENT:DISPlay), the :SBUS<n>:SENT:SIGNal<s>:MULTiplier command specifies the multiplier to be used in calculating a physical value displayed for a Fast Channel Signal.

  • PhysicalValue = (Multiplier * SignalValueAsUnsignedInteger) + Offset

Query Syntax

:SBUS<n>:SENT:SIGNal<s>:MULTiplier?

The :SBUS<n>:SENT:SIGNal<s>:MULTiplier? query returns the multiplier value for the Fast Channel Signal.

Return Format

<multiplier><NL>
<multiplier> ::= from 1-24, in NR3 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:SIGNal<s>:OFFSet

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:SIGNal<s>:OFFSet —

Command Syntax

:SBUS<n>:SENT:SIGNal<s>:OFFSet <offset>
<s> ::= 1-6, in NR1 format.
<offset> ::= from 1-24, in NR3 format.

When the display mode setting is SYMBolic (see :SBUS<n>:SENT:DISPlay), the :SBUS<n>:SENT:SIGNal<s>:OFFSet command is used in calculating a physical value displayed for the Fast Channel Signal:

  • PhysicalValue = (Multiplier * SignalValueAsUnsignedInteger) + Offset

Query Syntax

:SBUS<n>:SENT:SIGNal<s>:OFFSet?

The :SBUS<n>:SENT:SIGNal<s>:OFFSet? query returns the offset value for the Fast Channel Signal.

Return Format

<offset><NL>
<offset> ::= from 1-24, in NR3 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:SIGNal<s>:ORDer

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:SIGNal<s>:ORDer —

Command Syntax

:SBUS<n>:SENT:SIGNal<s>:ORDer <order>
<s> ::= 1-6, in NR1 format.
<order> ::= {MSNFirst | LSNFirst}

The :SBUS<n>:SENT:SIGNal<s>:ORDer command specifies the nibble order of the signal being defined, either Most Significant Nibble first, or Least Significant Nibble first.

Fast Signal definition examples:

Query Syntax

:SBUS<n>:SENT:SIGNal<s>:ORDer?

The :SBUS<n>:SENT:SIGNal<s>:ORDer? query returns the nibble order setting.

Return Format

<order><NL>
<order> ::= {MSNF | LSNF}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:SIGNal<s>:STARt

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:SIGNal<s>:STARt —

Command Syntax

:SBUS<n>:SENT:SIGNal<s>:STARt <position>
<s> ::= 1-6, in NR1 format.
<position> ::= from 0-23, in NR1 format.

The :SBUS<n>:SENT:SIGNal<s>:STARt command specifies the starting bit of the Fast Signal being defined.

Fast Signal definition examples:

Query Syntax

:SBUS<n>:SENT:SIGNal<s>:STARt?

The :SBUS<n>:SENT:SIGNal<s>:STARt? query returns the Fast Signal starting bit setting.

Return Format

<position><NL>
<position> ::= from 0-23, in NR1 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:SOURce

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:SOURce —

Command Syntax

:SBUS<n>:SENT:SOURce <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:SENT:SOURce command specifies the input channel for SENT decode and triggering.

Query Syntax

:SBUS<n>:SENT:SOURce?

The :SBUS<n>:SENT:SOURce? query returns the specified SENT input source.

Return Format

<source><NL>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:TOLerance

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:TOLerance —

Command Syntax

:SBUS<n>:SENT:TOLerance <percent>
<percent> ::= from 3-30, in NR1 format.

The :SBUS<n>:SENT:TOLerance command specifies the tolerance for determining whether the sync pulse is valid. Valid values range from 3% to 30%.

Query Syntax

:SBUS<n>:SENT:TOLerance?

The :SBUS<n>:SENT:TOLerance? query returns the tolerance setting.

Return Format

<percent><NL>
<percent> ::= from 3-30, in NR1 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:TRIGger

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:TRIGger —

Command Syntax

:SBUS<n>:SENT:TRIGger <mode>
<mode> ::= {SFCMessage | SSCMessage | FCData | SCMid | SCData
   | TOLerror | FCCerror | SCCerror | CRCerror | PPERror | SSPerror}

The :SBUS<n>:SENT:TRIGger command specifies the SENT trigger mode:

  • SFCMessage — triggers on the start of any Fast Channel Message (after 56 Synchronization/Calibration ticks).

  • SSCMessage — trigger on the start of any Slow Channel Message.

  • FCData — triggers on a Fast Channel Message when the Status & Communication nibble and the data nibbles match the values entered.

  • SCMid — triggers when a Slow Channel Message ID matches the value entered.

  • SCData — triggers when a Slow Channel Message ID and Data field both match the values entered.

  • TOLerror — triggers when the sync pulse width varies from the nominal value by greater than the entered percentage.

  • FCCerror — triggers on any Fast Channel Message CRC error.

  • SCCerror — triggers on any Slow Channel Message CRC error.

  • CRCerror — triggers on any CRC error, Fast or Slow.

  • PPERror — triggers if a nibble is either too wide or too narrow (for example, data nibble < 12 (11.5) or > 27 (27.5) ticks wide). Sync, S&C, data, or checksum pulse periods are checked.

  • SSPerror — triggers on a sync pulse whose width varies from the previous sync pulse's width by greater than 1/64 (1.5625%, as defined in the SENT specification).

Query Syntax

:SBUS<n>:SENT:TRIGger?

The :SBUS<n>:SENT:TRIGger? query returns the trigger mode setting.

Return Format

<mode><NL>
<mode> ::= {SFCM | SSCM | FCD | SCM | SCD | TOL | FCC | SCC | CRC
   | PPER | SSP}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:TRIGger:FAST:DATA

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:TRIGger:FAST:DATA —

Command Syntax

:SBUS<n>:SENT:TRIGger:FAST:DATA <string>
<string> ::= "nnnn..." where n ::= {0 | 1 | X}
<string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:SENT:TRIGger:FAST:DATA command specifies the status and data nibbles that will be triggered on when the FCData trigger mode is chosen.

Query Syntax

:SBUS<n>:SENT:TRIGger:FAST:DATA?

The :SBUS<n>:SENT:TRIGger:FAST:DATA? query returns the fast channel data trigger setting.

Return Format

<string><NL>
<string> ::= "nnnn..." where n ::= {0 | 1 | X}
<string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:TRIGger:SLOW:DATA

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:TRIGger:SLOW:DATA —

Command Syntax

:SBUS<n>:SENT:TRIGger:SLOW:DATA <data>
<data> ::= when ILENgth = SHORt, from -1 (don't care) to 65535, in NR1 format.
<data> ::= when ILENgth = LONG, from -1 (don't care) to 4095, in NR1 format.

The :SBUS<n>:SENT:TRIGger:SLOW:DATA command specifies the data to trigger on for the Slow Channel Message ID and Data trigger mode.

Query Syntax

:SBUS<n>:SENT:TRIGger:SLOW:DATA?

The :SBUS<n>:SENT:TRIGger:SLOW:DATA? query returns the data value setting for the slow channel ID and data trigger.

Return Format

<data><NL>
<data> ::= when ILENgth = SHORt, from -1 (don't care) to 65535, in NR1 format.
<data> ::= when ILENgth = LONG, from -1 (don't care) to 4095, in NR1 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:TRIGger:SLOW:ID

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:TRIGger:SLOW:ID —

Command Syntax

:SBUS<n>:SENT:TRIGger:SLOW:ID <id>
<id> ::= when ILENgth = SHORt, from -1 (don't care) to 15, in NR1 format.
<id> ::= when ILENgth = LONG, from -1 (don't care) to 255, in NR1 format.

The :SBUS<n>:SENT:TRIGger:SLOW:ID command specifies the ID to trigger on for the "Slow Channel Message ID" and "Slow Channel Message ID & Data" trigger modes. The ID can be from -1 (don't care) to 255 (depending on the message length).

Query Syntax

:SBUS<n>:SENT:TRIGger:SLOW:ID?

The :SBUS<n>:SENT:TRIGger:SLOW:ID? query returns the slow channel ID setting.

Return Format

<id><NL>
<id> ::= when ILENgth = SHORt, from -1 (don't care) to 15, in NR1 format.
<id> ::= when ILENgth = LONG, from -1 (don't care) to 255, in NR1 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:TRIGger:SLOW:ILENgth

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:TRIGger:SLOW:ILENgth —

Command Syntax

:SBUS<n>:SENT:TRIGger:SLOW:ILENgth <length>
<length> ::= {SHORt | LONG}

The :SBUS<n>:SENT:TRIGger:SLOW:ILENgth command specifies the ID and data lengths for the Slow Message Enhanced messages. Either "SHORt" for the 4-bit ID, 16-bit data format, or "LONG" for the 8-bit ID, 12-bit data format.

Query Syntax

:SBUS<n>:SENT:TRIGger:SLOW:ILENgth?

The :SBUS<n>:SENT:TRIGger:SLOW:ILENgth? query returns the ID and data length setting.

Return Format

<length><NL>
<length> ::= {SHOR | LONG}

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:TOLerance


:SBUS<n>:SENT:TRIGger:TOLerance

:SBUS<n>:SENT Commands

Name

:SBUS<n>:SENT:TRIGger:TOLerance —

Command Syntax

:SBUS<n>:SENT:TRIGger:TOLerance <percent>
<percent> ::= from 1-28, in NR1 format.

The :SBUS<n>:SENT:TRIGger:TOLerance command specifies the tolerance variation that is considered a violation.

The trigger tolerance can be up to the :SBUS<n>:SENT:TOLerance setting minus two percent. For example, after sending ":SBUS1:SENT:TOLerance 20", the :SBUS1:SENT:TRIGger:TOLerance setting can be from 1 to 18.

Query Syntax

:SBUS<n>:SENT:TRIGger:TOLerance?

The :SBUS<n>:SENT:TRIGger:TOLerance? query returns tolerance variation percent setting.

Return Format

<percent><NL>
<percent> ::= from 1-28, in NR1 format.

See Also

  • :SBUS<n>:SENT:CLOCk

  • :SBUS<n>:SENT:CRC

  • :SBUS<n>:SENT:DISPlay

  • :SBUS<n>:SENT:FORMat

  • :SBUS<n>:SENT:IDLE

  • :SBUS<n>:SENT:LENGth

  • :SBUS<n>:SENT:PPULse

  • :SBUS<n>:SENT:SIGNal<s>:DISPlay

  • :SBUS<n>:SENT:SIGNal<s>:LENGth

  • :SBUS<n>:SENT:SIGNal<s>:MULTiplier

  • :SBUS<n>:SENT:SIGNal<s>:OFFSet

  • :SBUS<n>:SENT:SIGNal<s>:ORDer

  • :SBUS<n>:SENT:SIGNal<s>:STARt

  • :SBUS<n>:SENT:SOURce

  • :SBUS<n>:SENT:TOLerance

  • :SBUS<n>:SENT:TRIGger

  • :SBUS<n>:SENT:TRIGger:FAST:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:DATA

  • :SBUS<n>:SENT:TRIGger:SLOW:ID

  • :SBUS<n>:SENT:TRIGger:SLOW:ILENgth


:SBUS<n>:SPI Commands

[Note]

These commands are only valid when the low-speed IIC and SPI serial decode option has been licensed.

:SBUS<n>:SPI Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:SPI:BITorder <order> | :SBUS<n>:SPI:BITorder? | <order> ::= {LSBFirst | MSBFirst}
:SBUS<n>:SPI:CLOCk:SLOPe <slope> | :SBUS<n>:SPI:CLOCk:SLOPe? | <slope> ::= {NEGative | POSitive}
:SBUS<n>:SPI:CLOCk:TIMeout <time_value> | :SBUS<n>:SPI:CLOCk:TIMeout? | <time_value> ::= time in seconds in NR3 format
:SBUS<n>:SPI:DELay <value> | :SBUS<n>:SPI:DELay? | <value> ::= {OFF | 2-63}
:SBUS<n>:SPI:FRAMing <value> | :SBUS<n>:SPI:FRAMing? | <value> ::= {CHIPselect | {NCHipselect | NOTC} | TIMeout}
:SBUS<n>:SPI:SOURce:CLOCk <source> | :SBUS<n>:SPI:SOURce:CLOCk? | <value> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SPI:SOURce:FRAMe <source> | :SBUS<n>:SPI:SOURce:FRAMe? | <value> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SPI:SOURce:MISO <source> | :SBUS<n>:SPI:SOURce:MISO? | <value> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SPI:SOURce:MOSI <source> | :SBUS<n>:SPI:SOURce:MOSI? | <value> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA <string> | :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X | $} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh <width> | :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh? | <width> ::= integer from 4 to 64 in NR1 format
:SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA <string> | :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA? | <string> ::= "nn...n" where n ::= {0 | 1 | X | $} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh <width> | :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh? | <width> ::= integer from 4 to 64 in NR1 format
:SBUS<n>:SPI:TRIGger:TYPE <value> | :SBUS<n>:SPI:TRIGger:TYPE? | <value> ::= {MOSI | MISO}
:SBUS<n>:SPI:WIDTh <word_width> | :SBUS<n>:SPI:WIDTh? | <word_width> ::= integer 4-16 in NR1 format


:SBUS<n>:SPI:BITorder

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:BITorder —

Command Syntax

:SBUS<n>:SPI:BITorder <order>
<order> ::= {LSBFirst | MSBFirst}

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.

Query Syntax

:SBUS<n>:SPI:BITorder?

The :SBUS<n>:SPI:BITorder? query returns the current SPI decode bit order.

Return Format

<order><NL>
<order> ::= {LSBF | MSBF}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:SPI Commands


:SBUS<n>:SPI:CLOCk:SLOPe

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:CLOCk:SLOPe —

Command Syntax

:SBUS<n>:SPI:CLOCk:SLOPe <slope>
<slope> ::= {NEGative | POSitive}

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.

Query Syntax

:SBUS<n>:SPI:CLOCk:SLOPe?

The :SBUS<n>:SPI:CLOCk:SLOPe? query returns the current SPI clock source slope.

Return Format

<slope><NL>
<slope> ::= {NEG | POS}

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:CLOCk:TIMeout

  • :SBUS<n>:SPI:SOURce:CLOCk


:SBUS<n>:SPI:CLOCk:TIMeout

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:CLOCk:TIMeout —

Command Syntax

: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.

Query Syntax

:SBUS<n>:SPI:CLOCk:TIMeout?

The :SBUS<n>:SPI:CLOCk:TIMeout? query returns current SPI clock timeout setting.

Return Format

<time value><NL>
<time_value> ::= time in seconds in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:CLOCk:SLOPe

  • :SBUS<n>:SPI:SOURce:CLOCk

  • :SBUS<n>:SPI:FRAMing


:SBUS<n>:SPI:DELay

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:DELay —

Command Syntax

:SBUS<n>:SPI:DELay <value>
<value> ::= {OFF | 2-63}

The :SBUS<n>:SPI:DELay command specifies the number of bits to ignore (delay) before decoding the MISO stream.

Query Syntax

:SBUS<n>:SPI:DELay?

The :SBUS<n>:SPI:DELay? query returns the specified number of delay bits or "OFF" if there are none.

Return Format

<value><NL>
<value> ::= {OFF | 2-63}

See Also

  • :SBUS<n>:SPI:SOURce:MISO


:SBUS<n>:SPI:FRAMing

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:FRAMing —

Command Syntax

:SBUS<n>:SPI:FRAMing <value>
<value> ::= {CHIPselect | {NCHipselect | NOTC} | TIMeout}

The :SBUS<n>:SPI:FRAMing command sets the SPI trigger framing value. If TIMeout is selected, the timeout value is set by the :SBUS<n>:SPI:CLOCk:TIMeout command.

[Note]

The NOTC value is deprecated. It is the same as NCHipselect.

Query Syntax

:SBUS<n>:SPI:FRAMing?

The :SBUS<n>:SPI:FRAMing? query returns the current SPI framing value.

Return Format

<value><NL>
<value> ::= {CHIP | NCH | TIM}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:SPI:CLOCk:TIMeout

  • :SBUS<n>:SPI:SOURce:FRAMe


:SBUS<n>:SPI:SOURce:CLOCk

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:SOURce:CLOCk —

Command Syntax

:SBUS<n>:SPI:SOURce:CLOCk <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:SPI:SOURce:CLOCk command sets the source for the SPI serial clock.

Query Syntax

:SBUS<n>:SPI:SOURce:CLOCk?

The :SBUS<n>:SPI:SOURce:CLOCk? query returns the current source for the SPI serial clock.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:CLOCk:SLOPe

  • :SBUS<n>:SPI:CLOCk:TIMeout

  • :SBUS<n>:SPI:SOURce:FRAMe

  • :SBUS<n>:SPI:SOURce:MOSI

  • :SBUS<n>:SPI:SOURce:MISO


:SBUS<n>:SPI:SOURce:FRAMe

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:SOURce:FRAMe —

Command Syntax

:SBUS<n>:SPI:SOURce:FRAMe <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:SPI:SOURce:FRAMe command sets the frame source when :SBUS<n>:SPI:FRAMing is set to CHIPselect or NOTChipselect.

Query Syntax

:SBUS<n>:SPI:SOURce:FRAMe?

The :SBUS<n>:SPI:SOURce:FRAMe? query returns the current frame source for the SPI serial frame.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:SOURce:CLOCk

  • :SBUS<n>:SPI:SOURce:MOSI

  • :SBUS<n>:SPI:SOURce:MISO

  • :SBUS<n>:SPI:FRAMing


:SBUS<n>:SPI:SOURce:MISO

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:SOURce:MISO —

Command Syntax

:SBUS<n>:SPI:SOURce:MISO <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:SPI:SOURce:MISO command sets the source for the SPI serial MISO data.

Query Syntax

:SBUS<n>:SPI:SOURce:MISO?

The :SBUS<n>:SPI:SOURce:MISO? query returns the current source for the SPI serial MISO data.

Return Format

<source><NL>

See Also

  • :SBUS<n>:SPI:DELay

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:SOURce:MOSI

  • :SBUS<n>:SPI:SOURce:CLOCk

  • :SBUS<n>:SPI:SOURce:FRAMe

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh


:SBUS<n>:SPI:SOURce:MOSI

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:SOURce:MOSI —

Command Syntax

:SBUS<n>:SPI:SOURce:MOSI <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:SPI:SOURce:MOSI command sets the source for the SPI serial MOSI data.

Query Syntax

:SBUS<n>:SPI:SOURce:MOSI?

The :SBUS<n>:SPI:SOURce:MOSI? query returns the current source for the SPI serial MOSI data.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:SOURce:MISO

  • :SBUS<n>:SPI:SOURce:CLOCk

  • :SBUS<n>:SPI:SOURce:FRAMe

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh


:SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA —

Command Syntax

:SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:SPI:TRIGger:PATTern:MISO: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.

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.

[Note]

The :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA.

Query Syntax

:SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA?

The :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA? query returns the current settings of the specified SPI data pattern resource in the binary string format.

Return Format

<string><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh

  • :SBUS<n>:SPI:SOURce:MISO


:SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh —

Command Syntax

:SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh <width>
<width> ::= integer from 4 to 64 in NR1 format

The :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh command sets the width of the SPI data pattern anywhere from 4 bits to 64 bits.

[Note]

The :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA.

Query Syntax

:SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh?

The :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh? query returns the current SPI data pattern width setting.

Return Format

<width><NL>
<width> ::= integer from 4 to 64 in NR1 format

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA

  • :SBUS<n>:SPI:SOURce:MISO


:SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA —

Command Syntax

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X | $}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:SPI:TRIGger:PATTern:MOSI: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.

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.

[Note]

The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA.

Query Syntax

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA?

The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA? query returns the current settings of the specified SPI data pattern resource in the binary string format.

Return Format

<string><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh

  • :SBUS<n>:SPI:SOURce:MOSI


:SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh —

Command Syntax

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh <width>
<width> ::= integer from 4 to 64 in NR1 format

The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh command sets the width of the SPI data pattern anywhere from 4 bits to 64 bits.

[Note]

The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh should be set before :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA.

Query Syntax

:SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh?

The :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh? query returns the current SPI data pattern width setting.

Return Format

<width><NL>
<width> ::= integer from 4 to 64 in NR1 format

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA

  • :SBUS<n>:SPI:SOURce:MOSI


:SBUS<n>:SPI:TRIGger:TYPE

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:TRIGger:TYPE —

Command Syntax

: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.

When triggering on MOSI data, the data value is specified by the :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA and :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh commands.

When triggering on MISO data, the data value is specified by the :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA and :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh commands.

Query Syntax

:SBUS<n>:SPI:TRIGger:TYPE?

The :SBUS<n>:SPI:TRIGger:TYPE? query returns the current SPI trigger type setting.

Return Format

<value><NL>
<value> ::= {MOSI | MISO}

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:SOURce:MOSI

  • :SBUS<n>:SPI:SOURce:MISO

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh

  • :TRIGger:MODE


:SBUS<n>:SPI:WIDTh

:SBUS<n>:SPI Commands

Name

:SBUS<n>:SPI:WIDTh —

Command Syntax

: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.

Query Syntax

:SBUS<n>:SPI:WIDTh?

The :SBUS<n>:SPI:WIDTh? query returns the current SPI decode word width.

Return Format

<word_width><NL>
<word_width> ::= integer 4-16 in NR1 format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:SPI Commands


:SBUS<n>:UART Commands

[Note]

These commands are only valid when the UART/RS-232 triggering and serial decode option has been licensed.

:SBUS<n>:UART Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:UART:BASE <base> | :SBUS<n>:UART:BASE? | <base> ::= {ASCii | BINary | HEX}
:SBUS<n>:UART:BAUDrate <baudrate> | :SBUS<n>:UART:BAUDrate? | <baudrate> ::= integer from 100 to 8000000, 10000000, or 12000000
:SBUS<n>:UART:BITorder <bitorder> | :SBUS<n>:UART:BITorder? | <bitorder> ::= {LSBFirst | MSBFirst}
n/a | :SBUS<n>:UART:COUNt:ERRor? | <frame_count> ::= integer in NR1 format
:SBUS<n>:UART:COUNt:RESet | n/a | n/a
n/a | :SBUS<n>:UART:COUNt:RXFRames? | <frame_count> ::= integer in NR1 format
n/a | :SBUS<n>:UART:COUNt:TXFRames? | <frame_count> ::= integer in NR1 format
:SBUS<n>:UART:FRAMing <value> | :SBUS<n>:UART:FRAMing? | <value> ::= {OFF | <decimal> | <nondecimal>} <decimal> ::= 8-bit integer from 0-255 (0x00-0xff) <nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal <nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary
:SBUS<n>:UART:PARity <parity> | :SBUS<n>:UART:PARity? | <parity> ::= {EVEN | ODD | NONE}
:SBUS<n>:UART:POLarity <polarity> | :SBUS<n>:UART:POLarity? | <polarity> ::= {HIGH | LOW}
:SBUS<n>:UART:SOURce:RX <source> | :SBUS<n>:UART:SOURce:RX? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:UART:SOURce:TX <source> | :SBUS<n>:UART:SOURce:TX? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:UART:TRIGger:BASE <base> | :SBUS<n>:UART:TRIGger:BASE? | <base> ::= {ASCii | HEX}
:SBUS<n>:UART:TRIGger:BURSt <value> | :SBUS<n>:UART:TRIGger:BURSt? | <value> ::= {OFF | 1 to 4096 in NR1 format}
:SBUS<n>:UART:TRIGger:DATA <value> | :SBUS<n>:UART:TRIGger:DATA? | <value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal, <hexadecimal>, <binary>, or <quoted_string> format <hexadecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal <binary> ::= #Bnn...n where n ::= {0 | 1} for binary <quoted_string> ::= any of the 128 valid 7-bit ASCII characters (or standard abbreviations)
:SBUS<n>:UART:TRIGger:IDLE <time_value> | :SBUS<n>:UART:TRIGger:IDLE? | <time_value> ::= time from 1 us to 10 s in NR3 format
:SBUS<n>:UART:TRIGger:QUALifier <value> | :SBUS<n>:UART:TRIGger:QUALifier? | <value> ::= {EQUal | NOTequal | GREaterthan | LESSthan}
:SBUS<n>:UART:TRIGger:TYPE <value> | :SBUS<n>:UART:TRIGger:TYPE? | <value> ::= {RSTArt | RSTOp | RDATa | RD1 | RD0 | RDX | RXPArity | TXPArity | TSTArt | TSTOp | TDATa | TD1 | TD0 | TDX}
:SBUS<n>:UART:WIDTh <width> | :SBUS<n>:UART:WIDTh? | <width> ::= {5 | 6 | 7 | 8 | 9}


:SBUS<n>:UART:BASE

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:BASE —

Command Syntax

:SBUS<n>:UART:BASE <base>
<base> ::= {ASCii | BINary | HEX}

The :SBUS<n>:UART:BASE command determines the base to use for the UART decode and Lister display.

Query Syntax

:SBUS<n>:UART:BASE?

The :SBUS<n>:UART:BASE? query returns the current UART decode and Lister base setting.

Return Format

<base><NL>
<base> ::= {ASCii | BINary | HEX}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:UART Commands


:SBUS<n>:UART:BAUDrate

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:BAUDrate —

Command Syntax

:SBUS<n>:UART:BAUDrate <baudrate>
<baudrate> ::= integer from 200 to 8000000, 10000000, or 12000000

The :SBUS<n>:UART:BAUDrate command selects the bit rate (in bps) for the serial decoder and/or trigger when in UART mode. The baud rate can be set in the range from from 200 b/s to 8 Mb/s or to the specific values of 10 Mb/s or 12 Mb/s.

If the baud rate you select does not match the system baud rate, false triggers may occur.

Query Syntax

:SBUS<n>:UART:BAUDrate?

The :SBUS<n>:UART:BAUDrate? query returns the current UART baud rate setting.

Return Format

<baudrate><NL>
<baudrate> ::= integer from 200 to 8000000, 10000000, or 12000000

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:TYPE


:SBUS<n>:UART:BITorder

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:BITorder —

Command Syntax

:SBUS<n>:UART:BITorder <bitorder>
<bitorder> ::= {LSBFirst | MSBFirst}

The :SBUS<n>:UART:BITorder command specifies the order of transmission used by the physical Tx and Rx input signals for the serial decoder and/or trigger when in UART mode. LSBFirst sets the least significant bit of each message "byte" as transmitted first. MSBFirst sets the most significant bit as transmitted first.

Query Syntax

:SBUS<n>:UART:BITorder?

The :SBUS<n>:UART:BITorder? query returns the current UART bit order setting.

Return Format

<bitorder><NL>
<bitorder> ::= {LSBF | MSBF}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:TYPE

  • :SBUS<n>:UART:SOURce:RX

  • :SBUS<n>:UART:SOURce:TX


:SBUS<n>:UART:COUNt:ERRor?

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:COUNt:ERRor? —

Query Syntax

:SBUS<n>:UART:COUNt:ERRor?

Returns the UART error frame count.

Return Format

<frame_count><NL>
<frame_count> ::= integer in NR1 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:UART:COUNt:RESet

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:UART Commands


:SBUS<n>:UART:COUNt:RESet

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:COUNt:RESet —

Command Syntax

:SBUS<n>:UART:COUNt:RESet

Resets the UART frame counters.

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:UART:COUNt:ERRor?

  • :SBUS<n>:UART:COUNt:RXFRames?

  • :SBUS<n>:UART:COUNt:TXFRames?

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:UART Commands


:SBUS<n>:UART:COUNt:RXFRames?

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:COUNt:RXFRames? —

Query Syntax

:SBUS<n>:UART:COUNt:RXFRames?

Returns the UART Rx frame count.

Return Format

<frame_count><NL>
<frame_count> ::= integer in NR1 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:UART:COUNt:RESet

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:UART Commands


:SBUS<n>:UART:COUNt:TXFRames?

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:COUNt:TXFRames? —

Query Syntax

:SBUS<n>:UART:COUNt:TXFRames?

Returns the UART Tx frame count.

Return Format

<frame_count><NL>
<frame_count> ::= integer in NR1 format

Errors

  • -241, Hardware missing

See Also

  • :SBUS<n>:UART:COUNt:RESet

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SBUS<n>:UART Commands


:SBUS<n>:UART:FRAMing

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:FRAMing —

Command Syntax

:SBUS<n>:UART:FRAMing <value>
<value> ::= {OFF | <decimal> | <nondecimal>}
<decimal> ::= 8-bit integer in decimal from 0-255 (0x00-0xff)
<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary

The :SBUS<n>:UART:FRAMing command determines the byte value to use for framing (end of packet) or to turn off framing for UART decode.

Query Syntax

:SBUS<n>:UART:FRAMing?

The :SBUS<n>:UART:FRAMing? query returns the current UART decode base setting.

Return Format

<value><NL>
<value> ::= {OFF | <decimal>}
<decimal> ::= 8-bit integer in decimal from 0-255

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:UART Commands

  • Commands Not Supported in Multiple Program Message Units


:SBUS<n>:UART:PARity

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:PARity —

Command Syntax

:SBUS<n>:UART:PARity <parity>
<parity> ::= {EVEN | ODD | NONE}

The :SBUS<n>:UART:PARity command selects the parity to be used with each message "byte" for the serial decoder and/or trigger when in UART mode.

Query Syntax

:SBUS<n>:UART:PARity?

The :SBUS<n>:UART:PARity? query returns the current UART parity setting.

Return Format

<parity><NL>
<parity> ::= {EVEN | ODD | NONE}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:TYPE


:SBUS<n>:UART:POLarity

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:POLarity —

Command Syntax

:SBUS<n>:UART:POLarity <polarity>
<polarity> ::= {HIGH | LOW}

The :SBUS<n>:UART:POLarity command selects the polarity as idle low or idle high for the serial decoder and/or trigger when in UART mode.

Query Syntax

:SBUS<n>:UART:POLarity?

The :SBUS<n>:UART:POLarity? query returns the current UART polarity setting.

Return Format

<polarity><NL>
<polarity> ::= {HIGH | LOW}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:TYPE


:SBUS<n>:UART:SOURce:RX

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:SOURce:RX —

Command Syntax

:SBUS<n>:UART:SOURce:RX <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:UART:SOURce:RX command controls which signal is used as the Rx source by the serial decoder and/or trigger when in UART mode.

Query Syntax

:SBUS<n>:UART:SOURce:RX?

The :SBUS<n>:UART:SOURce:RX? query returns the current source for the UART Rx signal.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:TYPE

  • :SBUS<n>:UART:BITorder


:SBUS<n>:UART:SOURce:TX

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:SOURce:TX —

Command Syntax

:SBUS<n>:UART:SOURce:TX <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:UART:SOURce:TX command controls which signal is used as the Tx source by the serial decoder and/or trigger when in UART mode.

Query Syntax

:SBUS<n>:UART:SOURce:TX?

The :SBUS<n>:UART:SOURce:TX? query returns the current source for the UART Tx signal.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:TYPE

  • :SBUS<n>:UART:BITorder


:SBUS<n>:UART:TRIGger:BASE

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:TRIGger:BASE —

Command Syntax

:SBUS<n>:UART:TRIGger:BASE <base>
<base> ::= {ASCii | HEX}

The :SBUS<n>:UART:TRIGger:BASE command sets the front panel UART/RS232 trigger setup data selection option:

  • ASCii — front panel data selection is from ASCII values.

  • HEX — front panel data selection is from hexadecimal values.

The :SBUS<n>:UART:TRIGger:BASE setting does not affect the :SBUS<n>:UART:TRIGger:DATA command which can always set data values using ASCII or hexadecimal values.

[Note]

The :SBUS<n>:UART:TRIGger:BASE command is independent of the :SBUS<n>:UART:BASE command which affects decode and Lister only.

Query Syntax

:SBUS<n>:UART:TRIGger:BASE?

The :SBUS<n>:UART:TRIGger:BASE? query returns the current UART base setting.

Return Format

<base><NL>
<base> ::= {ASC | HEX}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:DATA


:SBUS<n>:UART:TRIGger:BURSt

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:TRIGger:BURSt —

Command Syntax

:SBUS<n>:UART:TRIGger:BURSt <value>
<value> ::= {OFF | 1 to 4096 in NR1 format}

The :SBUS<n>:UART:TRIGger:BURSt command selects the burst value (Nth frame after idle period) in the range 1 to 4096 or OFF, for the trigger when in UART mode.

Query Syntax

:SBUS<n>:UART:TRIGger:BURSt?

The :SBUS<n>:UART:TRIGger:BURSt? query returns the current UART trigger burst value.

Return Format

<value><NL>
<value> ::= {OFF | 1 to 4096 in NR1 format}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:IDLE

  • :SBUS<n>:UART:TRIGger:TYPE


:SBUS<n>:UART:TRIGger:DATA

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:TRIGger:DATA —

Command Syntax

:SBUS<n>:UART:TRIGger:DATA <value>
<value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal,
            <hexadecimal>, <binary>, or <quoted_string> format
<hexadecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<binary> ::= #Bnn...n where n ::= {0 | 1} for binary
<quoted_string> ::= any of the 128 valid 7-bit ASCII characters
                    (or standard abbreviations)

The :SBUS<n>:UART:TRIGger:DATA command selects the data byte value (0x00 to 0xFF) for the trigger QUALifier when in UART mode. The data value is used when one of the RD or TD trigger types is selected.

When entering an ASCII character via the quoted string, it must be one of the 128 valid characters (case-sensitive): "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", "BS", "HT", "LF", "VT", "FF", "CR", "SO","SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "FS","GS", "RS", "US", "SP", "!", "\"", "#", "$", "%","&", "\'", "(", ")", "*", "+", ",", "-", ".", "/","0", "1", "2", "3", "4", "5", "6", "7", "8", "9",":", ";", "<", "=", ">", "?", "@", "A", "B", "C","D", "E", "F", "G", "H", "I", "J", "K", "L", "M","N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z","[", "\\", "]", "^", "_", "`", "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", "{", "|", "}", "~", or "DEL".

Query Syntax

:SBUS<n>:UART:TRIGger:DATA?

The :SBUS<n>:UART:TRIGger:DATA? query returns the current UART trigger data value.

Return Format

<value><NL>
<value> ::= 8-bit integer in decimal from 0-255

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:BASE

  • :SBUS<n>:UART:TRIGger:TYPE


:SBUS<n>:UART:TRIGger:IDLE

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:TRIGger:IDLE —

Command Syntax

:SBUS<n>:UART:TRIGger:IDLE <time_value>
<time_value> ::= time from 1 us to 10 s in NR3 format

The :SBUS<n>:UART:TRIGger:IDLE command selects the value of the idle period for burst trigger in the range from 1 us to 10 s when in UART mode.

Query Syntax

:SBUS<n>:UART:TRIGger:IDLE?

The :SBUS<n>:UART:TRIGger:IDLE? query returns the current UART trigger idle period time.

Return Format

<time_value><NL>
<time_value> ::= time from 1 us to 10 s in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:BURSt

  • :SBUS<n>:UART:TRIGger:TYPE


:SBUS<n>:UART:TRIGger:QUALifier

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:TRIGger:QUALifier —

Command Syntax

:SBUS<n>:UART:TRIGger:QUALifier <value>
<value> ::= {EQUal | NOTequal | GREaterthan | LESSthan}

The :SBUS<n>:UART:TRIGger:QUALifier command selects the data qualifier when :TYPE is set to RDATa, RD1, RD0, RDX, TDATa, TD1, TD0, or TDX for the trigger when in UART mode.

Query Syntax

:SBUS<n>:UART:TRIGger:QUALifier?

The :SBUS<n>:UART:TRIGger:QUALifier? query returns the current UART trigger qualifier.

Return Format

<value><NL>
<value> ::= {EQU | NOT | GRE | LESS}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:TYPE


:SBUS<n>:UART:TRIGger:TYPE

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:TRIGger:TYPE —

Command Syntax

:SBUS<n>:UART:TRIGger:TYPE <value>
<value> ::= {RSTArt | RSTOp | RDATa | RD1 | RD0 | RDX | RXPArity
   | TXPArity | TSTArt | TSTOp | TDATa | TD1 | TD0 | TDX}

The :SBUS<n>:UART:TRIGger:TYPE command selects the UART trigger type.

When one of the RD or TD types is selected, the :SBUS<n>:UART:TRIGger:DATA and :SBUS<n>:UART:TRIGger:QUALifier commands are used to specify the data value and comparison operator.

The RD1, RD0, RDX, TD1, TD0, and TDX types (for triggering on data and alert bit values) are only valid when a 9-bit width has been selected.

Query Syntax

:SBUS<n>:UART:TRIGger:TYPE?

The :SBUS<n>:UART:TRIGger:TYPE? query returns the current UART trigger data value.

Return Format

<value><NL>
<value> ::= {RSTA | RSTO | RDAT | RD1 | RD0 | RDX | RXPA | TXPA | TSTA
   | TSTO | TDAT | TD1 | TD0 | TDX}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:DATA

  • :SBUS<n>:UART:TRIGger:QUALifier

  • :SBUS<n>:UART:WIDTh


:SBUS<n>:UART:WIDTh

:SBUS<n>:UART Commands

Name

:SBUS<n>:UART:WIDTh —

Command Syntax

:SBUS<n>:UART:WIDTh <width>
<width> ::= {5 | 6 | 7 | 8 | 9}

The :SBUS<n>:UART:WIDTh command determines the number of bits (5-9) for each message "byte" for the serial decoder and/or trigger when in UART mode.

Query Syntax

:SBUS<n>:UART:WIDTh?

The :SBUS<n>:UART:WIDTh? query returns the current UART width setting.

Return Format

<width><NL>
<width> ::= {5 | 6 | 7 | 8 | 9}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :SBUS<n>:UART:TRIGger:TYPE


:SBUS<n>:USB Commands

[Note]

These commands are only valid when a USB 2.0 triggering and serial decode option has been licensed.

:SBUS<n>:USB Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:USB:BASE <base> | :SBUS<n>:USB:BASE? | <base> ::= {ASCii | BINary | DECimal | HEX}
:SBUS<n>:USB:SOURce:DMINus <source> | :SBUS<n>:USB:SOURce:DMINus? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:USB:SOURce:DPLus <source> | :SBUS<n>:USB:SOURce:DPLus? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:SBUS<n>:USB:SOURce:DIFFerential <source> | :SBUS<n>:USB:SOURce:DIFFerential? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:SBUS<n>:USB:SPEed <speed> | :SBUS<n>:USB:SPEed? | <speed> ::= {LOW | FULL | HIGH}
:SBUS<n>:USB:TRIGger <condition> | :SBUS<n>:USB:TRIGger? | <condition> ::= {SOP | EOP | ENTersuspend | EXITsuspend | RESet | TOKen | DATA | HANDshake | SPECial | ALLerrors | PIDerror | CRC5error | CRC16error | GLITcherror | STUFferror | SE1error}
:SBUS<n>:USB:TRIGger:ADDRess <string> | :SBUS<n>:USB:TRIGger:ADDRess? | <string> ::= "nnnnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:CRC <string> | :SBUS<n>:USB:TRIGger:CRC? | <string> ::= "nnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:DATA <string> | :SBUS<n>:USB:TRIGger:DATA? | <string> ::= "nnnn..." where n ::= {0 | 1 | X} <string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:DATA:LENGth <value> | :SBUS<n>:USB:TRIGger:DATA:LENGth? | <length> ::= data length between 1-20
:SBUS<n>:USB:TRIGger:ENDPoint <string> | :SBUS<n>:USB:TRIGger:ENDPoint? | <string> ::= "nnnn" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:ET <string> | :SBUS<n>:USB:TRIGger:ET? | <string> ::= "nn" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}
:SBUS<n>:USB:TRIGger:FRAMe <string> | :SBUS<n>:USB:TRIGger:FRAMe? | <string> ::= "nnnnnnnnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:HADDress <string> | :SBUS<n>:USB:TRIGger:HADDress? | <string> ::= "nnnnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:PCHeck <string> | :SBUS<n>:USB:TRIGger:PCHeck? | <string> ::= "nnnn" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:PID:DATA <pid> | :SBUS<n>:USB:TRIGger:PID:DATA? | <pid> ::= {DATA0 | DATA1 | DATA2 | MDATa}
:SBUS<n>:USB:TRIGger:PID:HANDshake <pid> | :SBUS<n>:USB:TRIGger:PID:HANDshake? | <pid> ::= {ACK | NAK | STALl | NYET}
:SBUS<n>:USB:TRIGger:PID:SPECial <pid> | :SBUS<n>:USB:TRIGger:PID:SPECial? | <pid> ::= {PING | PRE | ERR | SPLit}
:SBUS<n>:USB:TRIGger:PID:TOKen <pid> | :SBUS<n>:USB:TRIGger:PID:TOKen? | <pid> ::= {OUT | IN | SETup | SOF}
:SBUS<n>:USB:TRIGger:PORT <string> | :SBUS<n>:USB:TRIGger:PORT? | <string> ::= "nnnnnnn" where n ::= {0 | 1 | X} <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SBUS<n>:USB:TRIGger:SC <string> | :SBUS<n>:USB:TRIGger:SC? | <string> ::= "n" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0 | 1 | X | $}
:SBUS<n>:USB:TRIGger:SEU <string> | :SBUS<n>:USB:TRIGger:SEU? | <string> ::= "nn" where n ::= {0 | 1 | X} <string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}


:SBUS<n>:USB:BASE

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:BASE —

Command Syntax

:SBUS<n>:USB:BASE <base>
<base> ::= {ASCii | BINary | DECimal | HEX}

The :SBUS<n>:USB:BASE command determines the base to use for the USB decode and Lister display, controlling how the data or payload field is displayed.

All other fields are displayed in hex

Query Syntax

:SBUS<n>:USB:BASE?

The :SBUS<n>:USB:BASE? query returns the currently specified base.

Return Format

<base><NL>
<base> ::= {ASC | BIN | DEC | HEX}


:SBUS<n>:USB:SOURce:DMINus

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:SOURce:DMINus —

Command Syntax

:SBUS<n>:USB:SOURce:DMINus <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:USB:SOURce:DMINus command specifies which signal is used as the USB D- source for the selected bus.

The D- source is only used for Low and Full Speed USB.

Query Syntax

:SBUS<n>:USB:SOURce:DMINus?

The :SBUS<n>:USB:SOURce:DMINus? query returns the specified D- source.

Return Format

<source><NL>
<source> ::= {CHAN<n> | DIG<d>}

See Also

  • :SBUS<n>:USB:SOURce:DPLus

  • :SBUS<n>:USB:SPEed


:SBUS<n>:USB:SOURce:DPLus

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:SOURce:DPLus —

Command Syntax

:SBUS<n>:USB:SOURce:DPLus <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :SBUS<n>:USB:SOURce:DPLus command specifies which signal is used as the USB D+ source for the selected bus.

The D+ source is only used for Low and Full Speed USB.

Query Syntax

:SBUS<n>:USB:SOURce:DPLus?

The :SBUS<n>:USB:SOURce:DPLus? query returns the specified D+ source.

Return Format

<source><NL>
<source> ::= {CHAN<n> | DIG<d>}

See Also

  • :SBUS<n>:USB:SOURce:DMINus

  • :SBUS<n>:USB:SPEed


:SBUS<n>:USB:SOURce:DIFFerential

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:SOURce:DIFFerential —

Command Syntax

:SBUS<n>:USB:SOURce:DIFFerential <source>
<source> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :SBUS<n>:USB:SOURce:DIFFerential command specifies which signal is used as the differential source for the selected bus.

Differential sources are only used for High Speed USB.

Query Syntax

:SBUS<n>:USB:SOURce:DIFFerential?

The :SBUS<n>:USB:SOURce:DIFFerential? query returns the specified differential source.

Return Format

<source><NL>
<source> ::= {CHAN<n>}

See Also

  • :SBUS<n>:USB:SPEed


:SBUS<n>:USB:SPEed

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:SPEed —

Command Syntax

:SBUS<n>:USB:SPEed <speed>
<speed> ::= {LOW | FULL | HIGH}

The :SBUS<n>:USB:SPEed command specifies the speed of the USB interface for the selected bus.

Query Syntax

:SBUS<n>:USB:SPEed?

The :SBUS<n>:USB:SPEed? query returns the speed setting.

Return Format

<speed><NL>
<speed> ::= {LOW | FULL | HIGH}

See Also

  • :SBUS<n>:USB:SOURce:DPLus

  • :SBUS<n>:USB:SOURce:DMINus

  • :SBUS<n>:USB:SOURce:DIFFerential


:SBUS<n>:USB:TRIGger

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger —

Command Syntax

:SBUS<n>:USB:TRIGger <condition>
<condition> ::= {SOP | EOP | ENTersuspend | EXITsuspend | RESet
                | TOKen | DATA | HANDshake | SPECial | ALLerrors
                | PIDerror | CRC5error | CRC16error | GLITcherror
                | STUFferror | SE1error}

The :SBUS<n>:USB:TRIGger command specifies the USB trigger mode for the selected bus.

Query Syntax

:SBUS<n>:USB:TRIGger?

The :SBUS<n>:USB:TRIGger? query returns the specified USB trigger mode.

Return Format

<condition><NL>
<condition> ::= {SOP | EOP | ENT | EXIT | RES | TOK | DATA | HAND
                | SPEC | ALL | PID | CRC5 | CRC16 | GLIT | STUFF
                | SE1}

See Also

  • :SBUS<n>:USB:TRIGger:PID:DATA

  • :SBUS<n>:USB:TRIGger:PID:HANDshake

  • :SBUS<n>:USB:TRIGger:PID:SPECial

  • :SBUS<n>:USB:TRIGger:PID:TOKen


:SBUS<n>:USB:TRIGger:ADDRess

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:ADDRess —

Command Syntax

:SBUS<n>:USB:TRIGger:ADDRess <string>
<string> ::= "nnnnnnn" where n ::= {0 | 1 | X}
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:USB:TRIGger:ADDRess command specifies the 7-bit Address portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:ADDRess?

The :SBUS<n>:USB:TRIGger:ADDRess? query returns the specified Address portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnnnnn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:SPECial

  • :SBUS<n>:USB:TRIGger:PID:TOKen


:SBUS<n>:USB:TRIGger:CRC

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:CRC —

Command Syntax

:SBUS<n>:USB:TRIGger:CRC <string>
<string> ::= "nnnnn" where n ::= {0 | 1 | X}
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:USB:TRIGger:CRC command specifies the CRC portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:CRC?

The :SBUS<n>:USB:TRIGger:CRC? query returns the specified CRC portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnnn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:SPECial

  • :SBUS<n>:USB:TRIGger:PID:TOKen


:SBUS<n>:USB:TRIGger:DATA

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:DATA —

Command Syntax

:SBUS<n>:USB:TRIGger:DATA <string>
<string> ::= "nnnn..." where n ::= {0 | 1 | X}
<string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:USB:TRIGger:DATA command specifies the Data portion of the trigger for the selected bus, in binary or hex.

See the :SBUS<n>:USB:TRIGger:DATA:LENGth command for setting the length of the data value.

Query Syntax

:SBUS<n>:USB:TRIGger:DATA?

The :SBUS<n>:USB:TRIGger:DATA? query returns the specified Data portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnn..." where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:DATA:LENGth


:SBUS<n>:USB:TRIGger:DATA:LENGth

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:DATA:LENGth —

Command Syntax

:SBUS<n>:USB:TRIGger:DATA:LENGth <length>
<length> ::= data length between 1-20

The :SBUS<n>:USB:TRIGger:DATA:LENGth command specifies the data length in bytes.

Query Syntax

:SBUS<n>:USB:TRIGger:DATA:LENGth?

The :SBUS<n>:USB:TRIGger:DATA:LENGth? query returns the specified data length.

Return Format

<length><NL>
<length> ::= data length between 1-20

See Also

  • :SBUS<n>:USB:TRIGger:DATA


:SBUS<n>:USB:TRIGger:ENDPoint

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:ENDPoint —

Command Syntax

:SBUS<n>:USB:TRIGger:ENDPoint <string>
<string> ::= "nnnn" where n ::= {0 | 1 | X}
<string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:USB:TRIGger:ENDPoint command specifies the 4-bit Endpoint portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:ENDPoint?

The :SBUS<n>:USB:TRIGger:ENDPoint? query returns the specified Endpoint portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:SPECial

  • :SBUS<n>:USB:TRIGger:PID:TOKen


:SBUS<n>:USB:TRIGger:ET

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:ET —

Command Syntax

:SBUS<n>:USB:TRIGger:ET <string>
<string> ::= "nn" where n ::= {0 | 1 | X}
<string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}

The :SBUS<n>:USB:TRIGger:ET command specifies the 2-bit ET portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:ET?

The :SBUS<n>:USB:TRIGger:ET? query returns the specified ET portion of the trigger.

Return Format

<string><NL>
<string> ::= "nn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:SPECial


:SBUS<n>:USB:TRIGger:FRAMe

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:FRAMe —

Command Syntax

:SBUS<n>:USB:TRIGger:FRAMe <string>
<string> ::= "nnnnnnnnnnn" where n ::= {0 | 1 | X}
<string> ::= "0xnnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:USB:TRIGger:FRAMe command specifies the 11-bit Frame portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:FRAMe?

The :SBUS<n>:USB:TRIGger:FRAMe? query returns the specified Frame portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnnnnnnnnn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:TOKen


:SBUS<n>:USB:TRIGger:HADDress

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:HADDress —

Command Syntax

:SBUS<n>:USB:TRIGger:HADDress <string>
<string> ::= "nnnnnnn" where n ::= {0 | 1 | X}
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:USB:TRIGger:HADDress command specifies the 7-bit Hub Address portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:HADDress?

The :SBUS<n>:USB:TRIGger:HADDress? query returns the specified Hub Address portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnnnnn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:SPECial


:SBUS<n>:USB:TRIGger:PCHeck

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:PCHeck —

Command Syntax

:SBUS<n>:USB:TRIGger:PCHeck <string>
<string> ::= "nnnn" where n ::= {0 | 1 | X}
<string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:USB:TRIGger:PCHeck command specifies the 4-bit PID check portion of the trigger for the selected bus, in binary or hex.

See the :SBUS<n>:USB:TRIGger:PID commands for setting the PID.

Query Syntax

:SBUS<n>:USB:TRIGger:PCHeck?

The :SBUS<n>:USB:TRIGger:PCHeck? query returns the specified PID check portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:DATA

  • :SBUS<n>:USB:TRIGger:PID:HANDshake

  • :SBUS<n>:USB:TRIGger:PID:SPECial

  • :SBUS<n>:USB:TRIGger:PID:TOKen


:SBUS<n>:USB:TRIGger:PID:DATA

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:PID:DATA —

Command Syntax

:SBUS<n>:USB:TRIGger:PID:DATA <pid>
<pid> ::= {DATA0 | DATA1 | DATA2 | MDATa}

The :SBUS<n>:USB:TRIGger:PID:DATA command specifies the USB data PID to trigger on for the selected bus.

The specified PID does not include the PID check value, which is specified using the :SBUS<n>:USB:TRIGger:PIDCheck command.

The DATA USB trigger mode can be selected using the :SBUS<n>:USB:TRIGger command.

Query Syntax

:SBUS<n>:USB:TRIGger:PID:DATA?

The :SBUS<n>:USB:TRIGger:PID:DATA? query returns the specified data PID.

Return Format

<pid><NL>
<pid> ::= {DATA0 | DATA1 | DATA2 | MDAT}

See Also

  • :SBUS<n>:USB:TRIGger:PCHeck

  • :SBUS<n>:USB:TRIGger


:SBUS<n>:USB:TRIGger:PID:HANDshake

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:PID:HANDshake —

Command Syntax

:SBUS<n>:USB:TRIGger:PID:HANDshake <pid>
<pid> ::= {ACK | NAK | STALl | NYET}

The :SBUS<n>:USB:TRIGger:PID:HANDshake command specifies the USB handshake PID to trigger on for the selected bus.

The specified PID does not include the PID check value, which is specified using the :SBUS<n>:USB:TRIGger:PIDCheck command.

The HANDshake USB trigger mode can be selected using the :SBUS<n>:USB:TRIGger command.

Query Syntax

:SBUS<n>:USB:TRIGger:PID:HANDshake?

The :SBUS<n>:USB:TRIGger:PID:HANDshake? query returns the specified handshake PID.

Return Format

<pid><NL>
<pid> ::= {ACK | NAK | STAL | NYET}

See Also

  • :SBUS<n>:USB:TRIGger:PCHeck

  • :SBUS<n>:USB:TRIGger


:SBUS<n>:USB:TRIGger:PID:SPECial

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:PID:SPECial —

Command Syntax

:SBUS<n>:USB:TRIGger:PID:SPECial <pid>
<pid> ::= {PING | PRE | ERR | SPLit}

The :SBUS<n>:USB:TRIGger:PID:SPECial command specifies the USB special PID to trigger on for the selected bus.

The specified PID does not include the PID check value, which is specified using the :SBUS<n>:USB:TRIGger:PIDCheck command.

The SPECial USB trigger mode can be selected using the :SBUS<n>:USB:TRIGger command.

Query Syntax

:SBUS<n>:USB:TRIGger:PID:SPECial?

The :SBUS<n>:USB:TRIGger:PID:SPECial? query returns the specified special PID.

Return Format

<pid><NL>
<pid> ::= {PING | PRE | ERR | SPL}

See Also

  • :SBUS<n>:USB:TRIGger:PCHeck

  • :SBUS<n>:USB:TRIGger


:SBUS<n>:USB:TRIGger:PID:TOKen

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:PID:TOKen —

Command Syntax

:SBUS<n>:USB:TRIGger:PID:TOKen <pid>
<pid> ::= {OUT | IN | SETup | SOF}

The :SBUS<n>:USB:TRIGger:PID:TOKen command specifies the USB token PID to trigger on for the selected bus.

The specified PID does not include the PID check value, which is specified using the :SBUS<n>:USB:TRIGger:PIDCheck command.

The TOKen USB trigger mode can be selected using the :SBUS<n>:USB:TRIGger command.

Query Syntax

:SBUS<n>:USB:TRIGger:PID:TOKen?

The :SBUS<n>:USB:TRIGger:PID:TOKen? query returns the specified token PID.

Return Format

<pid><NL>
<pid> ::= {OUT | IN | SETup | SOF}

See Also

  • :SBUS<n>:USB:TRIGger:PCHeck

  • :SBUS<n>:USB:TRIGger


:SBUS<n>:USB:TRIGger:PORT

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:PORT —

Command Syntax

:SBUS<n>:USB:TRIGger:PORT <string>
<string> ::= "nnnnnnn" where n ::= {0 | 1 | X}
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SBUS<n>:USB:TRIGger:PORT command specifies the 7-bit Port portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:PORT?

The :SBUS<n>:USB:TRIGger:PORT? query returns the specified Port portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnnnnn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:SPECial


:SBUS<n>:USB:TRIGger:SC

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:SC —

Command Syntax

:SBUS<n>:USB:TRIGger:SC <string>
<string> ::= "n" where n ::= {0 | 1 | X}
<string> ::= "0xn" where n ::= {0 | 1 | X | $}

The :SBUS<n>:USB:TRIGger:SC command specifies the 1-bit SC portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:SC?

The :SBUS<n>:USB:TRIGger:SC? query returns the specified SC portion of the trigger.

Return Format

<string><NL>
<string> ::= "nnnn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:SPECial


:SBUS<n>:USB:TRIGger:SEU

:SBUS<n>:USB Commands

Name

:SBUS<n>:USB:TRIGger:SEU —

Command Syntax

:SBUS<n>:USB:TRIGger:SEU <string>
<string> ::= "nn" where n ::= {0 | 1 | X}
<string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}

The :SBUS<n>:USB:TRIGger:SEU command specifies the 2-bit S and E or U portion of the trigger for the selected bus, in binary or hex.

Query Syntax

:SBUS<n>:USB:TRIGger:SEU?

The :SBUS<n>:USB:TRIGger:SEU? query returns the specified S and E or U portion of the trigger.

Return Format

<string><NL>
<string> ::= "nn" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USB:TRIGger:PID:SPECial


:SBUS<n>:USBPd Commands

[Note]

These commands are valid when the USB PD (Power Delivery) serial decode and triggering option has been licensed.

:SBUS<n>:USBPd Commands Summary:

Command | Query | Options and Query Returns
:SBUS<n>:USBPd:SOURce <source> | :SBUS<n>:USBPd:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:SBUS<n>:USBPd:TRIGger <mode> | :SBUS<n>:USBPd:TRIGger? | <mode> ::= {PSTart | EOP | SOP | SPRime | SDPRime | SPDebug | SDPDebug | HRST | CRST | CRCerror | PERRor | HEADer}
:SBUS<n>:USBPd:TRIGger:HEADer <type> | :SBUS<n>:USBPd:TRIGger:HEADer? | <type> ::= {CMESsage | DMESsage | EMESsage | VALue}
:SBUS<n>:USBPd:TRIGger:HEADer:CMESsage <type> | :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage? | <type> ::= {GOODcrc | GOTOmin | ACCept | REJect | PING | PSRDy | GSRCap | GSNCap | DRSWap | PRSWap | VCSWap | WAIT | SRST | GSCX | GSTatus | FRSWap | GPSTatus | GCCodes}
:SBUS<n>:USBPd:TRIGger:HEADer:DMESsage <type> | :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage? | <type> ::= {SRCap | REQuest | BIST | SNCap | BSTatus | ALERt | GCINfo | VDEFined}
:SBUS<n>:USBPd:TRIGger:HEADer:EMESsage <type> | :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage? | <type> ::= {SCX | STATus | GBCap | GBSTatus | BCAP | GMINfo | MINFo | SREQuest | SRESponse | FREQuest | FRESponse | PSTatus | CINFo | CCODes}
:SBUS<n>:USBPd:TRIGger:HEADer:VALue <string> | :SBUS<n>:USBPd:TRIGger:HEADer:VALue? | <string> ::= "nn...n" where n ::= {0 | 1 | X} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}
:SBUS<n>:USBPd:TRIGger:HEADer:QUALifier <type> | :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier? | <type> ::= {NONE | SOP | SPRime | SDPRime}


:SBUS<n>:USBPd:SOURce

:SBUS<n>:USBPd Commands

Name

:SBUS<n>:USBPd:SOURce —

Command Syntax

:SBUS<n>:USBPd:SOURce <source>
<source> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :SBUS<n>:USBPd:SOURce command selects the USB PD waveform source. You can use analog channels.

Query Syntax

:SBUS<n>:USBPd:SOURce?

The :SBUS<n>:USBPd:SOURce? query returns the selected analog input channel.

Return Format

<source><NL>
<source> ::= {CHAN<n>}

See Also

  • :SBUS<n>:USBPd:TRIGger

  • :SBUS<n>:USBPd:TRIGger:HEADer

  • :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:VALue

  • :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier


:SBUS<n>:USBPd:TRIGger

:SBUS<n>:USBPd Commands

Name

:SBUS<n>:USBPd:TRIGger —

Command Syntax

:SBUS<n>:USBPd:TRIGger <mode>
<mode> ::= {PSTart | EOP | SOP | SPRime | SDPRime | SPDebug | SDPDebug
   | HRST | CRST | CRCerror | PERRor | HEADer}

The :SBUS<n>:USBPd:TRIGger command selects the USB PD trigger mode:

  • PSTart — Preamble Start, triggers at the start of a preamble, which starts with 0.

  • EOP — EOP, triggers at the end of packet.

  • SOP — SOP, triggers on ordered set Sync-1, Sync-1, Sync-1, Sync-2.

  • SPRime — SOP', triggers on ordered set Sync-1, Sync-1, Sync-3, Sync-3.

  • SDPRime — SOP'', triggers on ordered set Sync-1, Sync-3, Sync-1, Sync-3.

  • SPDebug — SOP' Debug, triggers on ordered set Sync-1, RST-2, RST-2, Sync-3.

  • SDPDebug — SOP'' Debug, triggers on ordered set Sync-1, RST-2, Sync-3, Sync-2.

  • HRST — Hard Reset, triggers on ordered set RST-1, RST-1, RST-1, RST-2.

  • CRST — Cable Reset, triggers on ordered set RST-1, Sync-1, RST-1, Sync-3.

  • CRCerror — CRC Error, triggers when an error is detected on a 32-bit CRC.

  • PERRor — Preamble Error, triggers when an error is detected on a 64-bit sequence of alternating 0 and 1.

  • HEADer — Header Content, triggers on a user-defined 16-bit value.

    In this mode, use the :SBUS<n>:USBPd:TRIGger:HEADer command to select the header type.

Query Syntax

:SBUS<n>:USBPd:TRIGger?

The :SBUS<n>:USBPd:TRIGger? query returns the selected USB PD trigger mode.

Return Format

<mode><NL>
<mode> ::= {PST | EOP | SOP | SPR | SDPR | SPD | SDPD | HRST | CRST
   | CRC | PERR | HEAD}

See Also

  • :SBUS<n>:USBPd:SOURce

  • :SBUS<n>:USBPd:TRIGger:HEADer

  • :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:VALue

  • :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier


:SBUS<n>:USBPd:TRIGger:HEADer

:SBUS<n>:USBPd Commands

Name

:SBUS<n>:USBPd:TRIGger:HEADer —

Command Syntax

:SBUS<n>:USBPd:TRIGger:HEADer <type>
<type> ::= {CMESsage | DMESsage | EMESsage | VALue}

When the Header Content trigger mode is selected (with the ":SBUS<n>:USBPd:TRIGger HEADer" command), the :SBUS<n>:USBPd:TRIGger:HEADer command selects the header type:

  • CMESsage — Control Message, triggers on control message types (0 data object).

    When the CMESsage header type is selected, use the :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage command to select the control message type.

  • DMESsage — Data Message, triggers on data message types (1 or more data objects).

    When the DMESsage header type is selected, use the :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage command to select the data message type.

  • EMESsage — Extended Message, triggers on extended message types (bit 15 is set).

    When the EMESsage header type is selected, use the :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage command to select the extended message type.

  • VALue — Value, triggers on a user-defined header value.

    When the CMESsage header type is selected, use the :SBUS<n>:USBPd:TRIGger:HEADer:VALue command to specify the user-defined header value.

Query Syntax

:SBUS<n>:USBPd:TRIGger:HEADer?

The :SBUS<n>:USBPd:TRIGger:HEADer? query returns the selected header type.

Return Format

<type><NL>
<type> ::= {CMES | DMES | EMES | VAL}

See Also

  • :SBUS<n>:USBPd:SOURce

  • :SBUS<n>:USBPd:TRIGger

  • :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:VALue

  • :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier


:SBUS<n>:USBPd:TRIGger:HEADer:CMESsage

:SBUS<n>:USBPd Commands

Name

:SBUS<n>:USBPd:TRIGger:HEADer:CMESsage —

Command Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:CMESsage <type>
<type> ::= {GOODcrc | GOTOmin | ACCept | REJect | PING | PSRDy
   | GSRCap | GSNCap | DRSWap | PRSWap | VCSWap | WAIT | SRST | GSCX
   | GSTatus | FRSWap | GPSTatus | GCCodes}

When the Header Content trigger mode is selected (with the ":SBUS<n>:USBPd:TRIGger HEADer" command) and the Control Message header type is selected (with the ":SBUS<n>:USBPd:TRIGger:HEADer CMESsage" command), the :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage command selects the control message type:

  • GOODcrc — GoodCRC

  • GOTOmin — GotoMin

  • ACCept — Accept

  • REJect — Reject

  • PING — Ping

  • PSRDy — PS_RDY

  • GSRCap — Get_Source_Cap

  • GSNCap — Get_Sink_Cap

  • DRSWap — DR_Swap

  • PRSWap — PR_Swap

  • VCSWap — VCONN_Swap

  • WAIT — Wait

  • SRST — Soft_Reset

  • GSCX — Get_Source_Cap_Extended

  • GSTatus — Get_Status

  • FRSWap — FR_Swap

  • GPSTatus — Get_PPS_Status

  • GCCodes — Get_Country_Codes

Query Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:CMESsage?

The :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage? query returns the selected control message type.

Return Format

<type><NL>
<type> ::= {GOOD | GOTO | ACC | REJ | PING | PSRD | GSRC | GSNC | DRSW
   | PRSW | VCSW | WAIT | SRST | GSCX | GST | FRSW | GPST | GCC}

See Also

  • :SBUS<n>:USBPd:SOURce

  • :SBUS<n>:USBPd:TRIGger

  • :SBUS<n>:USBPd:TRIGger:HEADer

  • :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:VALue

  • :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier


:SBUS<n>:USBPd:TRIGger:HEADer:DMESsage

:SBUS<n>:USBPd Commands

Name

:SBUS<n>:USBPd:TRIGger:HEADer:DMESsage —

Command Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:DMESsage <type>
<type> ::= {SRCap | REQuest | BIST | SNCap | BSTatus | ALERt | GCINfo
   | VDEFined}

When the Header Content trigger mode is selected (with the ":SBUS<n>:USBPd:TRIGger HEADer" command) and the Data Message header type is selected (with the ":SBUS<n>:USBPd:TRIGger:HEADer DMESsage" command), the :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage command selects the data message type:

  • SRCap — Source_Capabilities

  • REQuest — Request

  • BIST— BIST

  • SNCap — Sink_Capabilities

  • BSTatus — Battery_Status

  • ALERt — Alert

  • GCINfo — Get_Country_Info

  • VDEFined — Vendor_Defined

Query Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:DMESsage?

The :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage? query returns the selected data message type.

Return Format

<type><NL>
<type> ::= {SRC | REQ | BIST | SNC | BST | ALER | GCIN | VDEF}

See Also

  • :SBUS<n>:USBPd:SOURce

  • :SBUS<n>:USBPd:TRIGger

  • :SBUS<n>:USBPd:TRIGger:HEADer

  • :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:VALue

  • :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier


:SBUS<n>:USBPd:TRIGger:HEADer:EMESsage

:SBUS<n>:USBPd Commands

Name

:SBUS<n>:USBPd:TRIGger:HEADer:EMESsage —

Command Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:EMESsage <type>
<type> ::= {SCX | STATus | GBCap | GBSTatus | BCAP | GMINfo | MINFo
   | SREQuest | SRESponse | FREQuest | FRESponse | PSTatus | CINFo
   | CCODes}

When the Header Content trigger mode is selected (with the ":SBUS<n>:USBPd:TRIGger HEADer" command) and the Extended Message header type is selected (with the ":SBUS<n>:USBPd:TRIGger:HEADer EMESsage" command), the :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage command selects the extended message type:

  • SCX — Source_Capabilities_Extended

  • STATus — Status

  • GBCap — Get_Battery_Cap

  • GBSTatus — Get_Battery_Status

  • BCAP — Battery_Capabilities

  • GMINfo — Get_Manufacturer_Info

  • MINFo — Manufacturer_Info

  • SREQuest — Security_Request

  • SRESponse — Security_Response

  • FREQuest — Firmware_Update_Request

  • FRESponse — Firmware_Update_Response

  • PSTatus — PPS_Status

  • CINFo — Country_Info

  • CCODes — Country_Codes

Query Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:EMESsage?

The :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage? query returns the selected extended message type

Return Format

<type><NL>
<type> ::= {SCX | STATus | GBC | GBST | BCAP | GMIN | MINF | SREQ
   | SRES | FREQ | FRES | PSTatus | CINF | CCOD}

See Also

  • :SBUS<n>:USBPd:SOURce

  • :SBUS<n>:USBPd:TRIGger

  • :SBUS<n>:USBPd:TRIGger:HEADer

  • :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:VALue

  • :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier


:SBUS<n>:USBPd:TRIGger:HEADer:VALue

:SBUS<n>:USBPd Commands

Name

:SBUS<n>:USBPd:TRIGger:HEADer:VALue —

Command Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:VALue <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}

When the Header Content trigger mode is selected (with the ":SBUS<n>:USBPd:TRIGger HEADer" command) and the user-defined Value type is selected (with the ":SBUS<n>:USBPd:TRIGger:HEADer VALue" command), the :SBUS<n>:USBPd:TRIGger:HEADer:VALue command specifies the user-defined header value.

Query Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:VALue?

The :SBUS<n>:USBPd:TRIGger:HEADer:VALue? query returns the specified user-defined header value.

Returned data values are always quoted binary format strings.

Return Format

<string><NL>
<string> ::= "nn...n" where n ::= {0 | 1 | X}

See Also

  • :SBUS<n>:USBPd:SOURce

  • :SBUS<n>:USBPd:TRIGger

  • :SBUS<n>:USBPd:TRIGger:HEADer

  • :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier


:SBUS<n>:USBPd:TRIGger:HEADer:QUALifier

:SBUS<n>:USBPd Commands

Name

:SBUS<n>:USBPd:TRIGger:HEADer:QUALifier —

Command Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:QUALifier <type>
<type> ::= {NONE | SOP | SPRime | SDPRime}

When the Header Content trigger mode is selected (with the ":SBUS<n>:USBPd:TRIGger HEADer" command), the :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier command selects an additional qualifier for the Header Content trigger:

  • NONE — None. There is no additional qualifier for the trigger.

  • SOP — SOP. The trigger occurs on Sync-1, Sync-1, Sync-1, Sync-2 ordered sets only.

  • SPRime — SOP'. The trigger occurs on Sync-1, Sync-1, Sync-3, Sync-3 ordered sets only.

  • SDPRime — SOP''. The trigger occurs on Sync-1, Sync-3, Sync-1, Sync-3 ordered sets only.

Query Syntax

:SBUS<n>:USBPd:TRIGger:HEADer:QUALifier?

The :SBUS<n>:USBPd:TRIGger:HEADer:QUALifier? query returns the selected header content trigger qualifier.

Return Format

<type><NL>
<type> ::= {NONE | SOP | SPRime | SDPRime}

See Also

  • :SBUS<n>:USBPd:SOURce

  • :SBUS<n>:USBPd:TRIGger

  • :SBUS<n>:USBPd:TRIGger:HEADer

  • :SBUS<n>:USBPd:TRIGger:HEADer:CMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:DMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:EMESsage

  • :SBUS<n>:USBPd:TRIGger:HEADer:VALue


:SEARch Commands

Control the event search modes and parameters for each search type. See:

  • General :SEARch Commands

  • :SEARch:EDGE Commands

  • :SEARch:GLITch Commands (Pulse Width search)

  • :SEARch:PEAK Commands

  • :SEARch:RUNT Commands

  • :SEARch:TRANsition Commands

  • :SEARch:SERial:A429 Commands

  • :SEARch:SERial:CAN Commands

  • :SEARch:SERial:IIC Commands

  • :SEARch:SERial:LIN Commands

  • :SEARch:SERial:M1553 Commands

  • :SEARch:SERial:SENT Commands

  • :SEARch:SERial:SPI Commands

  • :SEARch:SERial:UART Commands

  • :SEARch:SERial:USB Commands

  • :SEARch:SERial:USBPd Commands


General :SEARch Commands

General :SEARch Commands Summary:

Command | Query | Options and Query Returns
n/a | :SEARch:COUNt? | <count> ::= an integer count value
:SEARch:EVENt <event_number> | :SEARch:EVENt? | <event_number> ::= the integer number of a found search event
:SEARch:MODE <value> | :SEARch:MODE? | <value> ::= {EDGE | GLITch | RUNT | TRANsition | SERial{1 | 2} | PEAK}
:SEARch:STATe <value> | :SEARch:STATe? | <value> ::= {{0 | OFF} | {1 | ON}}


:SEARch:COUNt?

General :SEARch Commands

Name

:SEARch:COUNt? —

Query Syntax

:SEARch:COUNt?

The :SEARch:COUNt? query returns the number of search events found.

Return Format

<count><NL>
<count> ::= an integer count value

See Also

  • :SEARch Commands

  • :SEARch:EVENt

  • :SEARch:STATe

  • :SEARch:MODE


:SEARch:EVENt

General :SEARch Commands

Name

:SEARch:EVENt —

Command Syntax

:SEARch:EVENt <event_number>
<event_number> ::= the integer number of a found search event

The :SEARch:EVENt command navigates to a found search event.

If the :SEARch:STATe is ON, the horizontal position is changed so that the specified event is located at the time reference.

Query Syntax

:SEARch:EVENt?

The :SEARch:EVENt? query returns the currently selected event number.

Return Format

<event_number><NL>
<event_number> ::= the integer number of a found search event

See Also

  • :SEARch Commands

  • :SEARch:COUNt?

  • :SEARch:STATe

  • :SEARch:MODE


:SEARch:MODE

General :SEARch Commands

Name

:SEARch:MODE —

Command Syntax

:SEARch:MODE <value>
<value> ::= {EDGE | GLITch | RUNT | TRANsition | SERial{1 | 2} | PEAK}

The :SEARch:MODE command selects the search mode.

The command is only valid when the :SEARch:STATe is ON.

Query Syntax

:SEARch:MODE?

The :SEARch:MODE? query returns the currently selected mode or OFF if the :SEARch:STATe is OFF.

Return Format

<value><NL>
<value> ::= {EDGE | GLIT | RUNT | TRAN | SER{1 | 2} | PEAK | OFF}

See Also

  • :SEARch Commands

  • :SEARch:STATe

  • :SEARch:COUNt?

  • :SEARch:EVENt


:SEARch:STATe

General :SEARch Commands

Name

:SEARch:STATe —

Command Syntax

:SEARch:STATe <value>
<value> ::= {{0 | OFF} | {1 | ON}}

The :SEARch:STATe command enables or disables the search feature.

Query Syntax

:SEARch:STATe?

The :SEARch:STATe? query returns returns the current setting.

Return Format

<value><NL>
<value> ::= {0 | 1}

See Also

  • :SEARch Commands

  • :SEARch:MODE

  • :SEARch:COUNt?

  • :SEARch:EVENt


:SEARch:EDGE Commands

:SEARch:EDGE Commands Summary:

Command | Query | Options and Query Returns
:SEARch:EDGE:SLOPe <slope> | :SEARch:EDGE:SLOPe? | <slope> ::= {POSitive | NEGative | EITHer}
:SEARch:EDGE:SOURce <source> | :SEARch:EDGE:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format


:SEARch:EDGE:SLOPe

:SEARch:EDGE Commands

Name

:SEARch:EDGE:SLOPe —

Command Syntax

:SEARch:EDGE:SLOPe <slope>
<slope> ::= {NEGative | POSitive | EITHer}

The :SEARch:EDGE:SLOPe command specifies the slope of the edge for the search.

Query Syntax

:SEARch:EDGE:SLOPe?

The :SEARch:EDGE:SLOPe? query returns the current slope setting.

Return Format

<slope><NL>
<slope> ::= {NEG | POS | EITH}

See Also

  • :SEARch Commands


:SEARch:EDGE:SOURce

:SEARch:EDGE Commands

Name

:SEARch:EDGE:SOURce —

Command Syntax

:SEARch:EDGE:SOURce <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :SEARch:EDGE:SOURce command selects the channel on which to search for edges.

Query Syntax

:SEARch:EDGE:SOURce?

The :SEARch:EDGE:SOURce? query returns the current source.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :SEARch Commands


:SEARch:GLITch Commands

:SEARch:GLITch Commands Summary:

Command | Query | Options and Query Returns
:SEARch:GLITch:GREaterthan <greater_than_time>[suffix] | :SEARch:GLITch:GREaterthan? | <greater_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:SEARch:GLITch:LESSthan <less_than_time>[suffix] | :SEARch:GLITch:LESSthan? | <less_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:SEARch:GLITch:POLarity <polarity> | :SEARch:GLITch:POLarity? | <polarity> ::= {POSitive | NEGative}
:SEARch:GLITch:QUALifier <qualifier> | :SEARch:GLITch:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan | RANGe}
:SEARch:GLITch:RANGe <less_than_time>[suffix], <greater_than_time>[suffix] | :SEARch:GLITch:RANGe? | <less_than_time> ::= 15 ns to 10 seconds in NR3 format <greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:SEARch:GLITch:SOURce <source> | :SEARch:GLITch:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format


:SEARch:GLITch:GREaterthan

:SEARch:GLITch Commands

Name

:SEARch:GLITch:GREaterthan —

Command Syntax

:SEARch:GLITch:GREaterthan <greater_than_time>[<suffix>]
<greater_than_time> ::= floating-point number in NR3 format
<suffix> ::= {s | ms | us | ns | ps}

The :SEARch:GLITch:GREaterthan command sets the minimum pulse width duration for the selected :SEARch:GLITch:SOURce.

Query Syntax

:SEARch:GLITch:GREaterthan?

The :SEARch:GLITch:GREaterthan? query returns the minimum pulse width duration time for :SEARch:GLITch:SOURce.

Return Format

<greater_than_time><NL>
<greater_than_time> ::= floating-point number in NR3 format.

See Also

  • :SEARch Commands

  • :SEARch:GLITch:SOURce

  • :SEARch:GLITch:QUALifier

  • :SEARch:MODE


:SEARch:GLITch:LESSthan

:SEARch:GLITch Commands

Name

:SEARch:GLITch:LESSthan —

Command Syntax

:SEARch:GLITch:LESSthan <less_than_time>[<suffix>]
<less_than_time> ::= floating-point number in NR3 format
<suffix> ::= {s | ms | us | ns | ps}

The :SEARch:GLITch:LESSthan command sets the maximum pulse width duration for the selected :SEARch:GLITch:SOURce.

Query Syntax

:SEARch:GLITch:LESSthan?

The :SEARch:GLITch:LESSthan? query returns the pulse width duration time for :SEARch:GLITch:SOURce.

Return Format

<less_than_time><NL>
<less_than_time> ::= floating-point number in NR3 format.

See Also

  • :SEARch Commands

  • :SEARch:GLITch:SOURce

  • :SEARch:GLITch:QUALifier

  • :SEARch:MODE


:SEARch:GLITch:POLarity

:SEARch:GLITch Commands

Name

:SEARch:GLITch:POLarity —

Command Syntax

:SEARch:GLITch:POLarity <polarity>
<polarity> ::= {POSitive | NEGative}

The :SEARch:GLITch:POLarity command sets the polarity for the glitch (pulse width) search.

Query Syntax

:SEARch:GLITch:POLarity?

The :SEARch:GLITch:POLarity? query returns the current polarity setting for the glitch (pulse width) search.

Return Format

<polarity><NL>
<polarity> ::= {POS | NEG}

See Also

  • :SEARch Commands

  • :SEARch:MODE

  • :SEARch:GLITch:SOURce


:SEARch:GLITch:QUALifier

:SEARch:GLITch Commands

Name

:SEARch:GLITch:QUALifier —

Command Syntax

:SEARch:GLITch:QUALifier <operator>
<operator> ::= {GREaterthan | LESSthan | RANGe}

This command sets the mode of operation of the glitch (pulse width) search. The oscilloscope can search for a pulse width that is greater than a time value, less than a time value, or within a range of time values.

Query Syntax

:SEARch:GLITch:QUALifier?

The :SEARch:GLITch:QUALifier? query returns the glitch (pulse width) qualifier.

Return Format

<operator><NL>
<operator> ::= {GRE | LESS | RANG}

See Also

  • :SEARch Commands

  • :SEARch:GLITch:SOURce

  • :SEARch:MODE


:SEARch:GLITch:RANGe

:SEARch:GLITch Commands

Name

:SEARch:GLITch:RANGe —

Command Syntax

:SEARch:GLITch:RANGe <less_than_time>[suffix],
                      <greater_than_time>[suffix]
<less_than_time> ::= (15 ns - 10 seconds) in NR3 format
<greater_than_time> ::= (10 ns - 9.99 seconds) in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

The :SEARch:GLITch:RANGe command sets the pulse width duration for the selected :SEARch:GLITch:SOURce. You can enter the parameters in any order — the smaller value becomes the <greater_than_time> and the larger value becomes the <less_than_time>.

Query Syntax

:SEARch:GLITch:RANGe?

The :SEARch:GLITch:RANGe? query returns the pulse width duration time for :SEARch:GLITch:SOURce.

Return Format

<less_than_time>,<greater_than_time><NL>

See Also

  • :SEARch Commands

  • :SEARch:GLITch:SOURce

  • :SEARch:GLITch:QUALifier

  • :SEARch:MODE


:SEARch:GLITch:SOURce

:SEARch:GLITch Commands

Name

:SEARch:GLITch:SOURce —

Command Syntax

:SEARch:GLITch:SOURce <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :SEARch:GLITch:SOURce command selects the channel on which to search for glitches (pulse widths).

Query Syntax

:SEARch:GLITch:SOURce?

The :SEARch:GLITch:SOURce? query returns the current pulse width source.

If all channels are off, the query returns "NONE."

Return Format

<source><NL>

See Also

  • :SEARch Commands

  • :SEARch Commands

  • :SEARch:MODE

  • :SEARch:GLITch:POLarity

  • :SEARch:GLITch:QUALifier

  • :SEARch:GLITch:RANGe


:SEARch:PEAK Commands

:SEARch:PEAK Commands Summary:

Command | Query | Options and Query Returns
:SEARch:PEAK:EXCursion <delta_level> | :SEARch:PEAK:EXCursion? | <delta_level> ::= required change in level to be recognized as a peak, in NR3 format.
:SEARch:PEAK:NPEaks <number> | :SEARch:PEAK:NPEaks? | <number> ::= max number of peaks to find, 1-11 in NR1 format.
:SEARch:PEAK:SOURce <source> | :SEARch:PEAK:SOURce? | <source> ::= {FUNCtion<m> | MATH<m> | FFT} (must be an FFT waveform) <m> ::= 1 to (# math functions) in NR1 format
:SEARch:PEAK:THReshold <level> | :SEARch:PEAK:THReshold? | <level> ::= necessary level to be considered a peak, in NR3 format.


:SEARch:PEAK:EXCursion

:SEARch:PEAK Commands

Name

:SEARch:PEAK:EXCursion —

Command Syntax

:SEARch:PEAK:EXCursion <delta_level>
<delta_level> ::= required change in level to be recognized as a peak,
   in NR3 format.

The :SEARch:PEAK:EXCursion command specifies the change in level that must occur (in other words, hysteresis) to be recognized as a peak.

The threshold level units are specified by the :FFT:VTYPe or :FUNCtion<m>[:FFT]:VTYPe command.

Query Syntax

:SEARch:PEAK:EXCursion?

The :SEARch:PEAK:EXCursion? query returns the specified excursion delta level value.

Return Format

<delta_level><NL>
<delta_level> ::= in NR3 format.

See Also

  • :FFT:VTYPe

  • :FUNCtion<m>[:FFT]:VTYPe

  • :SEARch:PEAK:NPEaks

  • :SEARch:PEAK:SOURce

  • :SEARch:PEAK:THReshold


:SEARch:PEAK:NPEaks

:SEARch:PEAK Commands

Name

:SEARch:PEAK:NPEaks —

Command Syntax

:SEARch:PEAK:NPEaks <number>
<number> ::= max number of peaks to find, 1-11 in NR1 format.

The :SEARch:PEAK:NPEaks command specifies the maximum number of FFT peaks to find. This number can be from 1 to 11.

Query Syntax

:SEARch:PEAK:NPEaks?

The :SEARch:PEAK:NPEaks? query returns the specified maximum number of FFT peaks to find.

Return Format

<number><NL>
<number> ::= in NR1 format.

See Also

  • :SEARch:PEAK:EXCursion

  • :SEARch:PEAK:SOURce

  • :SEARch:PEAK:THReshold


:SEARch:PEAK:SOURce

:SEARch:PEAK Commands

Name

:SEARch:PEAK:SOURce —

Command Syntax

:SEARch:PEAK:SOURce <source>
<source> ::= {FUNCtion<m> | MATH<m> | FFT} (source must be
   an FFT waveform)
<m> ::= 1 to (# math functions) in NR1 format

The :SEARch:PEAK:SOURce command selects the FFT math function waveform to search.

Query Syntax

:SEARch:PEAK:SOURce?

The :SEARch:PEAK:SOURce? query returns the FFT math function waveform that is being searched.

Return Format

<source><NL>
<source> ::= {FUNC<m> | FFT} (must be FFT)
<m> ::= 1 to (# math functions) in NR1 format

See Also

  • :SEARch:PEAK:EXCursion

  • :SEARch:PEAK:NPEaks

  • :SEARch:PEAK:THReshold


:SEARch:PEAK:THReshold

:SEARch:PEAK Commands

Name

:SEARch:PEAK:THReshold —

Command Syntax

:SEARch:PEAK:THReshold <level>
<level> ::= necessary level to be considered a peak, in NR3 format.

The :SEARch:PEAK:THReshold command specifies the threshold level necessary to be considered a peak.

The threshold level units are specified by the :FFT:VTYPe or :FUNCtion<m>[:FFT]:VTYPe command.

Query Syntax

:SEARch:PEAK:THReshold?

The :SEARch:PEAK:THReshold? query returns the specified threshold level for FFT peak search.

Return Format

<level><NL>
<level> ::= in NR3 format.

See Also

  • :FFT:VTYPe

  • :FUNCtion<m>[:FFT]:VTYPe

  • :SEARch:PEAK:EXCursion

  • :SEARch:PEAK:NPEaks

  • :SEARch:PEAK:SOURce


:SEARch:RUNT Commands

:SEARch:RUNT Commands Summary:

Command | Query | Options and Query Returns
:SEARch:RUNT:POLarity <polarity> | :SEARch:RUNT:POLarity? | <polarity> ::= {POSitive | NEGative | EITHer}
:SEARch:RUNT:QUALifier <qualifier> | :SEARch:RUNT:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan | NONE}
:SEARch:RUNT:SOURce <source> | :SEARch:RUNT:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:SEARch:RUNT:TIME <time>[suffix] | :SEARch:RUNT:TIME? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}


:SEARch:RUNT:POLarity

:SEARch:RUNT Commands

Name

:SEARch:RUNT:POLarity —

Command Syntax

:SEARch:RUNT:POLarity <slope>
<polarity> ::= {POSitive | NEGative | EITHer}

The :SEARch:RUNT:POLarity command sets the polarity for the runt search.

Query Syntax

:SEARch:RUNT:POLarity?

The :SEARch:RUNT:POLarity? query returns the currently set runt polarity.

Return Format

<slope><NL>
<polarity> ::= {POS | NEG | EITH}

See Also

  • :SEARch Commands

  • :SEARch:MODE

  • :SEARch:RUNT:SOURce


:SEARch:RUNT:QUALifier

:SEARch:RUNT Commands

Name

:SEARch:RUNT:QUALifier —

Command Syntax

:SEARch:RUNT:QUALifier <qualifier>
<qualifier> ::= {GREaterthan | LESSthan | NONE}

The :SEARch:RUNT:QUALifier command specifies whether to search for a runt that is greater than a time value, less than a time value, or any time value.

Query Syntax

:SEARch:RUNT:QUALifier?

The :SEARch:RUNT:QUALifier? query returns the current runt search qualifier.

Return Format

<qualifier><NL>
<qualifier> ::= {GRE | LESS NONE}

See Also

  • :SEARch Commands

  • :SEARch:MODE


:SEARch:RUNT:SOURce

:SEARch:RUNT Commands

Name

:SEARch:RUNT:SOURce —

Command Syntax

:SEARch:RUNT:SOURce <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :SEARch:RUNT:SOURce command selects the channel on which to search for the runt pulse.

Query Syntax

:SEARch:RUNT:SOURce?

The :SEARch:RUNT:SOURce? query returns the current runt search source.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :SEARch Commands

  • :SEARch:RUNT:POLarity


:SEARch:RUNT:TIME

:SEARch:RUNT Commands

Name

:SEARch:RUNT:TIME —

Command Syntax

:SEARch:RUNT:TIME <time>[suffix]
<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

When searching for runt pulses whose widths are greater than or less than a time (see :SEARch:RUNT:QUALifier), the :SEARch:RUNT:TIME command specifies the time value.

Query Syntax

:SEARch:RUNT:TIME?

The :SEARch:RUNT:TIME? query returns the currently specified runt time value.

Return Format

<time><NL>
<time> ::= floating-point number in NR3 format

See Also

  • :SEARch Commands

  • :SEARch:RUNT:QUALifier


:SEARch:TRANsition Commands

:SEARch:TRANsition Commands Summary:

Command | Query | Options and Query Returns
:SEARch:TRANsition:QUALifier <qualifier> | :SEARch:TRANsition:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan}
:SEARch:TRANsition:SLOPe <slope> | :SEARch:TRANsition:SLOPe? | <slope> ::= {NEGative | POSitive}
:SEARch:TRANsition:SOURce <source> | :SEARch:TRANsition:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:SEARch:TRANsition:TIME <time>[suffix] | :SEARch:TRANsition:TIME? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}


:SEARch:TRANsition:QUALifier

:SEARch:TRANsition Commands

Name

:SEARch:TRANsition:QUALifier —

Command Syntax

:SEARch:TRANsition:QUALifier <qualifier>
<qualifier> ::= {GREaterthan | LESSthan}

The :SEARch:TRANsition:QUALifier command specifies whether to search for edge transitions greater than or less than a time.

Query Syntax

:SEARch:TRANsition:QUALifier?

The :SEARch:TRANsition:QUALifier? query returns the current transition search qualifier.

Return Format

<qualifier><NL>
<qualifier> ::= {GRE | LESS}

See Also

  • :SEARch Commands

  • :SEARch:MODE

  • :SEARch:TRANsition:TIME


:SEARch:TRANsition:SLOPe

:SEARch:TRANsition Commands

Name

:SEARch:TRANsition:SLOPe —

Command Syntax

:SEARch:TRANsition:SLOPe <slope>
<slope> ::= {NEGative | POSitive}

The :SEARch:TRANsition:SLOPe command selects whether to search for rising edge (POSitive slope) transitions or falling edge (NEGative slope) transitions.

Query Syntax

:SEARch:TRANsition:SLOPe?

The :SEARch:TRANsition:SLOPe? query returns the current transition search slope setting.

Return Format

<slope><NL>
<slope> ::= {NEG | POS}

See Also

  • :SEARch Commands

  • :SEARch:MODE

  • :SEARch:TRANsition:SOURce

  • :SEARch:TRANsition:TIME


:SEARch:TRANsition:SOURce

:SEARch:TRANsition Commands

Name

:SEARch:TRANsition:SOURce —

Command Syntax

:SEARch:TRANsition:SOURce <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :SEARch:TRANsition:SOURce command selects the channel on which to search for edge transitions.

Query Syntax

:SEARch:TRANsition:SOURce?

The :SEARch:TRANsition:SOURce? query returns the current transition search source.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • :SEARch Commands

  • :SEARch:MODE

  • :SEARch:TRANsition:SLOPe


:SEARch:TRANsition:TIME

:SEARch:TRANsition Commands

Name

:SEARch:TRANsition:TIME —

Command Syntax

:SEARch:TRANsition:TIME <time>[suffix]
<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

The :SEARch:TRANsition:TIME command sets the time of the transition to search for. You can search for transitions greater than or less than this time.

Query Syntax

:SEARch:TRANsition:TIME?

The :SEARch:TRANsition:TIME? query returns the current transition time value.

Return Format

<time><NL>
<time> ::= floating-point number in NR3 format

See Also

  • :SEARch Commands

  • :SEARch:TRANsition:QUALifier


:SEARch:SERial:A429 Commands

:SEARch:SERial:A429 Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:A429:LABel <value> | :SEARch:SERial:A429:LABel? | <value> ::= 8-bit integer in decimal, <hex>, <octal>, or <string> from 0-255 <hex> ::= #Hnn where n ::= {0,..,9 | A,..,F} <octal> ::= #Qnnn where n ::= {0,..,7} <string> ::= "0xnn" where n::= {0,..,9 | A,..,F}
:SEARch:SERial:A429:MODE <condition> | :SEARch:SERial:A429:MODE? | <condition> ::= {LABel | LBITs | PERRor | WERRor | GERRor | WGERrors | ALLerrors}
:SEARch:SERial:A429:PATTern:DATA <string> | :SEARch:SERial:A429:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1}, length depends on FORMat
:SEARch:SERial:A429:PATTern:SDI <string> | :SEARch:SERial:A429:PATTern:SDI? | <string> ::= "nn" where n ::= {0 | 1}, length always 2 bits
:SEARch:SERial:A429:PATTern:SSM <string> | :SEARch:SERial:A429:PATTern:SSM? | <string> ::= "nn" where n ::= {0 | 1}, length always 2 bits


:SEARch:SERial:A429:LABel

:SEARch:SERial:A429 Commands

Name

:SEARch:SERial:A429:LABel —

Command Syntax

:SEARch:SERial:A429:LABel <value>
<value> ::= 8-bit integer in decimal, <hex>, <octal>, or <string>
            from 0-255
<hex> ::= #Hnn where n ::= {0,..,9 | A,..,F}
<octal> ::= #Qnnn where n ::= {0,..,7}
<string> ::= "0xnn" where n::= {0,..,9 | A,..,F}

The :SEARch:SERial:A429:LABel command defines the ARINC 429 label value when labels are used in the selected search mode.

Query Syntax

:SEARch:SERial:A429:LABel?

The :SEARch:SERial:A429:LABel? query returns the current label value in decimal format.

Return Format

<value><NL> in decimal format

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SEARch:SERial:A429:MODE


:SEARch:SERial:A429:MODE

:SEARch:SERial:A429 Commands

Name

:SEARch:SERial:A429:MODE —

Command Syntax

:SEARch:SERial:A429:MODE <condition>
<condition> ::= {LABel | LBITs | PERRor | WERRor | GERRor | WGERrors
                | ALLerrors}

The :SEARch:SERial:A429:MODE command selects the type of ARINC 429 information to find in the Lister display:

  • LABel — finds the specified label value.

  • LBITs — finds the label and the other word fields as specified.

  • PERRor — finds words with a parity error.

  • WERRor — finds an intra-word coding error.

  • GERRor — finds an inter-word gap error.

  • WGERrors — finds either a Word or Gap Error.

  • ALLerrors — finds any of the above errors.

Query Syntax

:SEARch:SERial:A429:MODE?

The :SEARch:SERial:A429:MODE? query returns the current ARINC 429 search mode condition.

Return Format

<condition><NL>
<condition> ::= {LAB | LBIT | PERR | WERR | GERR | WGER | ALL}

Errors

  • -241, Hardware missing

See Also

  • Introduction to :SBUS<n> Commands

  • :SBUS<n>:MODE

  • :SEARch:SERial:A429:LABel

  • :SEARch:SERial:A429:PATTern:DATA

  • :SEARch:SERial:A429:PATTern:SDI

  • :SEARch:SERial:A429:PATTern:SSM

  • :SBUS<n>:A429:SOURce


:SEARch:SERial:A429:PATTern:DATA

:SEARch:SERial:A429 Commands

Name

:SEARch:SERial:A429:PATTern:DATA —

Command Syntax

:SEARch:SERial:A429:PATTern:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1}, length depends on FORMat

The :SEARch:SERial:A429:PATTern:DATA command defines the ARINC 429 data pattern resource according to the string parameter. This pattern controls the data pattern searched for in each ARINC 429 word.

[Note]

If more bits are sent for <string> than specified by the :SBUS<n>:A429:FORMat command, the most significant bits will be truncated.

Query Syntax

:SEARch:SERial:A429:PATTern:DATA?

The :SEARch:SERial:A429:PATTern:DATA? query returns the current settings of the specified ARINC 429 data pattern resource in the binary string format.

Return Format

<string><NL>

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SEARch:SERial:A429:MODE

  • :SEARch:SERial:A429:PATTern:SDI

  • :SEARch:SERial:A429:PATTern:SSM


:SEARch:SERial:A429:PATTern:SDI

:SEARch:SERial:A429 Commands

Name

:SEARch:SERial:A429:PATTern:SDI —

Command Syntax

:SEARch:SERial:A429:PATTern:SDI <string>
<string> ::= "nn" where n ::= {0 | 1}, length always 2 bits

The :SEARch:SERial:A429:PATTern:SDI command defines the ARINC 429 two-bit SDI pattern resource according to the string parameter. This pattern controls the SDI pattern searched for in each ARINC 429 word.

The specified SDI is only used if the :SBUS<n>:A429:FORMat includes the SDI field.

Query Syntax

:SEARch:SERial:A429:PATTern:SDI?

The :SEARch:SERial:A429:PATTern:SDI? query returns the current settings of the specified ARINC 429 two-bit SDI pattern resource in the binary string format.

Return Format

<string><NL>

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:A429:FORMat

  • :SEARch:SERial:A429:MODE

  • :SEARch:SERial:A429:PATTern:DATA

  • :SEARch:SERial:A429:PATTern:SSM


:SEARch:SERial:A429:PATTern:SSM

:SEARch:SERial:A429 Commands

Name

:SEARch:SERial:A429:PATTern:SSM —

Command Syntax

:SEARch:SERial:A429:PATTern:SSM <string>
<string> ::= "nn" where n ::= {0 | 1}, length always 2 bits

The :SEARch:SERial:A429:PATTern:SSM command defines the ARINC 429 two-bit SSM pattern resource according to the string parameter. This pattern controls the SSM pattern searched for in each ARINC 429 word.

The specified SSM is only used if the :SBUS<n>:A429:FORMat includes the SSM field.

Query Syntax

:SEARch:SERial:A429:PATTern:SSM?

The :SEARch:SERial:A429:PATTern:SSM? query returns the current settings of the specified ARINC 429 two-bit SSM pattern resource in the binary string format.

Return Format

<string><NL>

Errors

  • -241, Hardware missing

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:A429:FORMat

  • :SEARch:SERial:A429:MODE

  • :SEARch:SERial:A429:PATTern:DATA

  • :SEARch:SERial:A429:PATTern:SDI


:SEARch:SERial:CAN Commands

:SEARch:SERial:CAN Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:CAN:MODE <value> | :SEARch:SERial:CAN:MODE? | <value> ::= {IDEither | IDData | DATA | IDRemote | ERRor | ACKerror | FORMerror | STUFferror | CRCerror | ALLerrors | OVERload | MESSage | MSIGnal}
:SEARch:SERial:CAN:PATTern:DATA <string> | :SEARch:SERial:CAN:PATTern:DATA? | <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X} for hexadecimal
:SEARch:SERial:CAN:PATTern:DATA:LENGth <length> | :SEARch:SERial:CAN:PATTern:DATA:LENGth? | <length> ::= integer from 1 to 8 in NR1 format
:SEARch:SERial:CAN:PATTern:ID <string> | :SEARch:SERial:CAN:PATTern:ID? | <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X} for hexadecimal
:SEARch:SERial:CAN:PATTern:ID:MODE <value> | :SEARch:SERial:CAN:PATTern:ID:MODE? | <value> ::= {STANdard | EXTended}
:SEARch:SERial:CAN:SYMBolic:MESSage <name> | :SEARch:SERial:CAN:SYMBolic:MESSage? | <name> ::= quoted ASCII string
:SEARch:SERial:CAN:SYMBolic:SIGNal <name> | :SEARch:SERial:CAN:SYMBolic:SIGNal? | <name> ::= quoted ASCII string
:SEARch:SERial:CAN:SYMBolic:VALue <data> | :SEARch:SERial:CAN:SYMBolic:VALue? | <data> ::= value in NR3 format


:SEARch:SERial:CAN:MODE

:SEARch:SERial:CAN Commands

Name

:SEARch:SERial:CAN:MODE —

Command Syntax

:SEARch:SERial:CAN:MODE <value>
<value> ::= {IDEither | IDData | DATA | IDRemote | ERRor | ACKerror
   | FORMerror | STUFferror | CRCerror | ALLerrors | OVERload
   | MESSage | MSIGnal}

The :SEARch:SERial:CAN:MODE command selects the type of CAN information to find in the Lister display:

Condition | Front-panel name | Description
IDEither | Frame ID | Finds remote or data frames matching the specified ID.
IDData | Data Frame ID | Finds data frames matching the specified ID.
DATA | Data Frame ID and Data | Finds data frames matching the specified ID and data.
IDRemote | Remote Frame ID | Finds remote frames with the specified ID.
ERRor | Error Frame | Finds CAN active error frames.
ACKerror | Acknowledge Error | Finds the acknowledge bit if the polarity is incorrect.
FORMerror | Form Error | Finds reserved bit errors.
STUFferror | Stuff Error | Finds 6 consecutive 1s or 6 consecutive 0s, while in a non-error or non overload frame.
CRCerror | CRC Field Error | Finds when the calculated CRC does not match the transmitted CRC.
ALLerrors | All Errors | Finds any form error or active error.
OVERload | Overload Frame | Finds CAN overload frames.
MESSage | Message | Finds a symbolic message.
MSIGnal | Message and Signal (non-FD) | Finds a symbolic message and a signal value.

Query Syntax

:SEARch:SERial:CAN:MODE?

The :SEARch:SERial:CAN:MODE? query returns the currently selected mode.

Return Format

<value><NL>
<value> ::= {IDE | IDD | DATA | IDR | ERR | ACK | FORM | STUF | CRC
   | ALL | OVER | MESS | MSIG}

See Also

  • :SEARch Commands

  • :SEARch:SERial:CAN:PATTern:DATA

  • :SEARch:SERial:CAN:PATTern:ID

  • :RECall:DBC[:STARt]

  • :SEARch:SERial:CAN:SYMBolic:MESSage

  • :SEARch:SERial:CAN:SYMBolic:SIGNal

  • :SEARch:SERial:CAN:SYMBolic:VALue


:SEARch:SERial:CAN:PATTern:DATA

:SEARch:SERial:CAN Commands

Name

:SEARch:SERial:CAN:PATTern:DATA —

Command Syntax

:SEARch:SERial:CAN:PATTern:DATA <string>
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}
             for hexadecimal

The :SEARch:SERial:CAN:PATTern:DATA command specifies the data value when searching for Data Frame ID and Data.

The length of the data value is specified using the :SEARch:SERial:CAN:PATTern:DATA:LENGth command.

Query Syntax

:SEARch:SERial:CAN:PATTern:DATA?

The :SEARch:SERial:CAN:PATTern:DATA? query returns the current data value setting.

Return Format

<string><NL>
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}
             for hexadecimal

See Also

  • :SEARch Commands

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:PATTern:DATA:LENGth


:SEARch:SERial:CAN:PATTern:DATA:LENGth

:SEARch:SERial:CAN Commands

Name

:SEARch:SERial:CAN:PATTern:DATA:LENGth —

Command Syntax

:SEARch:SERial:CAN:PATTern:DATA:LENGth <length>
<length> ::= integer from 1 to 8 in NR1 format

The :SEARch:SERial:CAN:PATTern:DATA:LENGth command specifies the length of the data value when searching for Data Frame ID and Data.

The data value is specified using the :SEARch:SERial:CAN:PATTern:DATA command.

Query Syntax

:SEARch:SERial:CAN:PATTern:DATA:LENGth?

The :SEARch:SERial:CAN:PATTern:DATA:LENGth? query returns the current data length setting.

Return Format

<length><NL>
<length> ::= integer from 1 to 8 in NR1 format

See Also

  • :SEARch Commands

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:PATTern:DATA


:SEARch:SERial:CAN:PATTern:ID

:SEARch:SERial:CAN Commands

Name

:SEARch:SERial:CAN:PATTern:ID —

Command Syntax

:SEARch:SERial:CAN:PATTern:ID <string>
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}
             for hexadecimal

The :SEARch:SERial:CAN:PATTern:ID command specifies the ID value when searching for a CAN event.

The value can be a standard ID or an extended ID, depending on the :SEARch:SERial:CAN:PATTern:ID:MODE command's setting.

Query Syntax

:SEARch:SERial:CAN:PATTern:ID?

The :SEARch:SERial:CAN:PATTern:ID? query returns the current ID value setting.

Return Format

<string><NL>
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}
             for hexadecimal

See Also

  • :SEARch Commands

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:PATTern:ID:MODE


:SEARch:SERial:CAN:PATTern:ID:MODE

:SEARch:SERial:CAN Commands

Name

:SEARch:SERial:CAN:PATTern:ID:MODE —

Command Syntax

:SEARch:SERial:CAN:PATTern:ID:MODE <value>
<value> ::= {STANdard | EXTended}

The :SEARch:SERial:CAN:PATTern:ID:MODE command specifies whether a standard ID value or an extended ID value is used when searching for a CAN event.

The ID value is specified using the :SEARch:SERial:CAN:PATTern:ID command.

Query Syntax

:SEARch:SERial:CAN:PATTern:ID:MODE?

The :SEARch:SERial:CAN:PATTern:ID:MODE? query returns the current setting.

Return Format

<value><NL>
<value> ::= {STAN | EXT}

See Also

  • :SEARch Commands

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:PATTern:ID


:SEARch:SERial:CAN:SYMBolic:MESSage

:SEARch:SERial:CAN Commands

Name

:SEARch:SERial:CAN:SYMBolic:MESSage —

Command Syntax

:SEARch:SERial:CAN:SYMBolic:MESSage <name>
<name> ::= quoted ASCII string

The :SEARch:SERial:CAN:SYMBolic:MESSage command specifies the message to search for when CAN symbolic data has been loaded (recalled) into the oscilloscope and the CAN serial search mode is set to MESSage or MSIGnal.

Query Syntax

:SEARch:SERial:CAN:SYMBolic:MESSage?

The :SEARch:SERial:CAN:SYMBolic:MESSage? query returns the specified message.

Return Format

<name><NL>
<name> ::= quotes ASCII string

See Also

  • :RECall:DBC[:STARt]

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:SYMBolic:SIGNal

  • :SEARch:SERial:CAN:SYMBolic:VALue


:SEARch:SERial:CAN:SYMBolic:SIGNal

:SEARch:SERial:CAN Commands

Name

:SEARch:SERial:CAN:SYMBolic:SIGNal —

Command Syntax

:SEARch:SERial:CAN:SYMBolic:SIGNal <name>
<name> ::= quoted ASCII string

The :SEARch:SERial:CAN:SYMBolic:SIGNal command specifies the signal to search for when CAN symbolic data has been loaded (recalled) into the oscilloscope and the CAN serial search mode is set to MSIGnal.

Query Syntax

:SEARch:SERial:CAN:SYMBolic:SIGNal?

The :SEARch:SERial:CAN:SYMBolic:SIGNal? query returns the specified signal.

Return Format

<name><NL>
<name> ::= quoted ASCII string

See Also

  • :RECall:DBC[:STARt]

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:SYMBolic:MESSage

  • :SEARch:SERial:CAN:SYMBolic:VALue


:SEARch:SERial:CAN:SYMBolic:VALue

:SEARch:SERial:CAN Commands

Name

:SEARch:SERial:CAN:SYMBolic:VALue —

Command Syntax

:SEARch:SERial:CAN:SYMBolic:VALue <data>
<data> ::= value in NR3 format

The :SEARch:SERial:CAN:SYMBolic:VALue command specifies the signal value to search for when CAN symbolic data has been loaded (recalled) into the oscilloscope and the CAN serial search mode is set to MSIGnal.

[Note]

Encoded signal values are not supported in the remote interface (even though they can be used in the front panel graphical interface).

Query Syntax

:SEARch:SERial:CAN:SYMBolic:VALue?

The :SEARch:SERial:CAN:SYMBolic:VALue? query returns the specified signal value.

Return Format

<data><NL>
<data> ::= value in NR3 format

See Also

  • :RECall:DBC[:STARt]

  • :SEARch:SERial:CAN:MODE

  • :SEARch:SERial:CAN:SYMBolic:MESSage

  • :SEARch:SERial:CAN:SYMBolic:SIGNal


:SEARch:SERial:IIC Commands

:SEARch:SERial:IIC Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:IIC:MODE <value> | :SEARch:SERial:IIC:MODE? | <value> ::= {RESTart | ADDRess | ANACk | NACKnowledge | REPRom | READ7 | WRITE7 | R7Data2 | W7Data2}
:SEARch:SERial:IIC:PATTern:ADDRess <value> | :SEARch:SERial:IIC:PATTern:ADDRess? | <value> ::= integer
:SEARch:SERial:IIC:PATTern:DATA <value> | :SEARch:SERial:IIC:PATTern:DATA? | <value> ::= integer
:SEARch:SERial:IIC:PATTern:DATA2 <value> | :SEARch:SERial:IIC:PATTern:DATA2? | <value> ::= integer
:SEARch:SERial:IIC:QUALifier <value> | :SEARch:SERial:IIC:QUALifier? | <value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}


:SEARch:SERial:IIC:MODE

:SEARch:SERial:IIC Commands

Name

:SEARch:SERial:IIC:MODE —

Command Syntax

:SEARch:SERial:IIC:MODE <value>
<value> ::= {RESTart | ADDRess | ANACk | NACKnowledge | REPRom
   | READ7 | WRITE7 | R7Data2 | W7Data2}

The :SEARch:SERial:IIC:MODE command selects the type of IIC information to find in the Lister display:

  • RESTart — searches for another start condition occurring before a stop condition.

  • ADDRess — searches for a packet with the specified address, ignoring the R/W bit.

  • ANACk — searches for address with no acknowledge events.

  • NACKnowledge — searches for missing acknowledge events.

  • REPRom — searches for EEPROM data reads.

  • READ7 — searches for 7-bit address frames containing Start:Address7:Read:Ack:Data. The value READ is also accepted for READ7.

  • WRITe7 — searches for 7-bit address frames containing Start:Address7:Write:Ack:Data. The value WRITe is also accepted for WRITe7.

  • R7Data2 — searches for 7-bit address frames containing Start:Address7:Read:Ack:Data:Ack:Data2.

  • W7Data2 — searches for 7-bit address frames containing Start:Address7:Write:Ack:Data:Ack:Data2.

[Note]

The short form of READ7 (READ7), REPRom (REPR), and WRITe7 (WRIT7) do not follow the defined Long Form to Short Form Truncation Rules.

When searching for events containing addresses, address values are specified using the :SEARch:SERial:IIC:PATTern:ADDRess command.

When searching for events containing data, data values are specified using the :SEARch:SERial:IIC:PATTern:DATA and :SEARch:SERial:IIC:PATTern:DATA2 commands.

Query Syntax

:SEARch:SERial:IIC:MODE?

The :SEARch:SERial:IIC:MODE? query returns the currently selected mode.

Return Format

<value><NL>
<value> ::= {REST | ADDR | ANAC | NACK | REPR | READ7 | WRITE7
   | R7D2 | W7D2}

See Also

  • :SEARch Commands

  • :SEARch:SERial:IIC:PATTern:ADDRess

  • :SEARch:SERial:IIC:PATTern:DATA

  • :SEARch:SERial:IIC:PATTern:DATA2

  • :SEARch:SERial:IIC:QUALifier


:SEARch:SERial:IIC:PATTern:ADDRess

:SEARch:SERial:IIC Commands

Name

:SEARch:SERial:IIC:PATTern:ADDRess —

Command Syntax

:SEARch:SERial:IIC:PATTern:ADDRess <value>
<value> ::= integer

The :SEARch:SERial:IIC:PATTern:ADDRess command specifies address values when searching for IIC events.

To set don't care values, use the integer -1.

Query Syntax

:SEARch:SERial:IIC:PATTern:ADDRess?

The :SEARch:SERial:IIC:PATTern:ADDRess? query returns the current address value setting.

Return Format

<value><NL>
<value> ::= integer

See Also

  • :SEARch Commands

  • :SEARch:SERial:IIC:MODE


:SEARch:SERial:IIC:PATTern:DATA

:SEARch:SERial:IIC Commands

Name

:SEARch:SERial:IIC:PATTern:DATA —

Command Syntax

:SEARch:SERial:IIC:PATTern:DATA <value>
<value> ::= integer

The :SEARch:SERial:IIC:PATTern:DATA command specifies data values when searching for IIC events.

To set don't care values, use the integer -1.

When searching for IIC EEPROM data read events, you specify the data value qualifier using the :SEARch:SERial:IIC:QUALifier command.

Query Syntax

:SEARch:SERial:IIC:PATTern:DATA?

The :SEARch:SERial:IIC:PATTern:DATA? query returns the current data value setting.

Return Format

<value><NL>
<value> ::= integer

See Also

  • :SEARch Commands

  • :SEARch:SERial:IIC:MODE

  • :SEARch:SERial:IIC:QUALifier

  • :SEARch:SERial:IIC:PATTern:DATA2


:SEARch:SERial:IIC:PATTern:DATA2

:SEARch:SERial:IIC Commands

Name

:SEARch:SERial:IIC:PATTern:DATA2 —

Command Syntax

:SEARch:SERial:IIC:PATTern:DATA2 <value>
<value> ::= integer

The :SEARch:SERial:IIC:PATTern:DATA2 command specifies the second data value when searching for IIC events with two data values.

To set don't care values, use the integer -1.

Query Syntax

:SEARch:SERial:IIC:PATTern:DATA2?

The :SEARch:SERial:IIC:PATTern:DATA2? query returns the current second data value setting.

Return Format

<value><NL>
<value> ::= integer

See Also

  • :SEARch Commands

  • :SEARch:SERial:IIC:MODE

  • :SEARch:SERial:IIC:PATTern:DATA


:SEARch:SERial:IIC:QUALifier

:SEARch:SERial:IIC Commands

Name

:SEARch:SERial:IIC:QUALifier —

Command Syntax

:SEARch:SERial:IIC:QUALifier <value>
<value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}

The :SEARch:SERial:IIC:QUALifier command specifies the data value qualifier used when searching for IIC EEPROM data read events.

Query Syntax

:SEARch:SERial:IIC:QUALifier?

The :SEARch:SERial:IIC:QUALifier? query returns the current data value qualifier setting.

Return Format

<value><NL>
<value> ::= {EQU | NOT | LESS | GRE}

See Also

  • :SEARch Commands

  • :SEARch:SERial:IIC:MODE

  • :SEARch:SERial:IIC:PATTern:DATA


:SEARch:SERial:LIN Commands

:SEARch:SERial:LIN Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:LIN:ID <value> :SEARch:SERial:LIN:ID?

<value> ::= 7-bit integer in decimal or <nondecimal> from 0-63

<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal

<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary

:SEARch:SERial:LIN:MODE <value> | :SEARch:SERial:LIN:MODE? | <value> ::= {ID | DATA | ERRor}
:SEARch:SERial:LIN:PATTern:DATA <string> :SEARch:SERial:LIN:PATTern:DATA?

When :SEARch:SERial:LIN:PATTern:FORMat DECimal, <string> ::= "n" where n ::= 32-bit integer in unsigned decimal, returns "$" if data has any don't cares

When :SEARch:SERial:LIN:PATTern:FORMat HEX, <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X }

:SEARch:SERial:LIN:PATTern:DATA:LENGth <length> | :SEARch:SERial:LIN:PATTern:DATA:LENGth? | <length> ::= integer from 1 to 8 in NR1 format
:SEARch:SERial:LIN:PATTern:FORMat <base> | :SEARch:SERial:LIN:PATTern:FORMat? | <base> ::= {HEX | DECimal}
:SEARch:SERial:LIN:SYMBolic:FRAMe <name> | :SEARch:SERial:LIN:SYMBolic:FRAMe? | <name> ::= quoted ASCII string
:SEARch:SERial:LIN:SYMBolic:SIGNal <name> | :SEARch:SERial:LIN:SYMBolic:SIGNal? | <name> ::= quoted ASCII string
:SEARch:SERial:LIN:SYMBolic:VALue <data> | :SEARch:SERial:LIN:SYMBolic:VALue? | <data> ::= value in NR3 format


:SEARch:SERial:LIN:ID

:SEARch:SERial:LIN Commands

Name

:SEARch:SERial:LIN:ID —

Command Syntax

:SEARch:SERial:LIN:ID <value>
<value> ::= 7-bit integer in decimal or <nondecimal> from 0-63
<nondecimal> ::= #Hnn where n ::= {0,..,9 | A,..,F} for hexadecimal
<nondecimal> ::= #Bnn...n where n ::= {0 | 1} for binary

The :SEARch:SERial:LIN:ID command specifies the frame ID value when searching for LIN events.

Query Syntax

:SEARch:SERial:LIN:ID?

The :SEARch:SERial:LIN:ID? query returns the current frame ID setting.

Return Format

<value><NL>
<value> ::= 7-bit integer in decimal

See Also

  • :SEARch Commands

  • :SEARch:SERial:LIN:MODE


:SEARch:SERial:LIN:MODE

:SEARch:SERial:LIN Commands

Name

:SEARch:SERial:LIN:MODE —

Command Syntax

:SEARch:SERial:LIN:MODE <value>
<value> ::= {ID | DATA | ERRor | FRAMe | FSIGnal}

The :SEARch:SERial:LIN:MODE command selects the type of LIN information to find in the Lister display:

  • ID — searches for a frame ID.

  • DATA — searches for a frame ID and data.

  • ERRor — searches for errors.

  • FRAMe — searches for symbolic frames.

  • FSIGnal — searched for symbolic frames and a signal values.

Frame IDs are specified using the :SEARch:SERial:LIN:ID command.

Data values are specified using the :SEARch:SERial:LIN:PATTern:DATA command.

Frames, signals, and signal values are specified using the :SEARch:SERial:LIN:SYMBolic:FRAMe, :SEARch:SERial:LIN:SYMBolic:SIGNal, and :SEARch:SERial:LIN:SYMBolic:VALue commands. LIN symbolic data files are loaded (recalled) using the :RECall:LDF[:STARt] command.

Query Syntax

:SEARch:SERial:LIN:MODE?

The :SEARch:SERial:LIN:MODE? query returns the currently selected mode.

Return Format

<value><NL>
<value> ::= {ID | DATA | ERR | FRAM | FSIG}

See Also

  • :SEARch Commands

  • :SEARch:SERial:LIN:ID

  • :SEARch:SERial:LIN:PATTern:DATA

  • :RECall:LDF[:STARt]

  • :SEARch:SERial:LIN:SYMBolic:FRAMe

  • :SEARch:SERial:LIN:SYMBolic:SIGNal

  • :SEARch:SERial:LIN:SYMBolic:VALue


:SEARch:SERial:LIN:PATTern:DATA

:SEARch:SERial:LIN Commands

Name

:SEARch:SERial:LIN:PATTern:DATA —

Command Syntax

:SEARch:SERial:LIN:PATTern:DATA <string>
When :SEARch:SERial:LIN:PATTern:FORMat DECimal,
<string> ::= "n" where n ::= 32-bit integer in unsigned decimal
When :SEARch:SERial:LIN:PATTern:FORMat HEX,
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X }

The :SEARch:SERial:LIN:PATTern:DATA command specifies the data value when searching for LIN events.

The number base of the value entered with this command is specified using the :SEARch:SERial:LIN:PATTern:FORMat command. To set don't care values with the DATA command, the FORMat must be HEX.

The length of the data value entered is specified using the :SEARch:SERial:LIN:PATTern:DATA:LENGth command.

Query Syntax

:SEARch:SERial:LIN:PATTern:DATA?

The :SEARch:SERial:LIN:PATTern:DATA? query returns the current data value setting.

Return Format

<string><NL>
When :SEARch:SERial:LIN:PATTern:FORMat DECimal,
<string> ::= "n" where n ::= 32-bit integer in unsigned decimal or
             "$" if data has any don't cares
When :SEARch:SERial:LIN:PATTern:FORMat HEX,
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X }

See Also

  • :SEARch Commands

  • :SEARch:SERial:LIN:MODE

  • :SEARch:SERial:LIN:PATTern:FORMat

  • :SEARch:SERial:LIN:PATTern:DATA:LENGth


:SEARch:SERial:LIN:PATTern:DATA:LENGth

:SEARch:SERial:LIN Commands

Name

:SEARch:SERial:LIN:PATTern:DATA:LENGth —

Command Syntax

:SEARch:SERial:LIN:PATTern:DATA:LENGth <length>
<length> ::= integer from 1 to 8 in NR1 format

The :SEARch:SERial:LIN:PATTern:DATA:LENGth command specifies the the length of the data value when searching for LIN events.

The data value is specified using the :SEARch:SERial:LIN:PATTern:DATA command.

Query Syntax

:SEARch:SERial:LIN:PATTern:DATA:LENGth?

The :SEARch:SERial:LIN:PATTern:DATA:LENGth? query returns the current data value length setting.

Return Format

<length><NL>
<length> ::= integer from 1 to 8 in NR1 format

See Also

  • :SEARch Commands

  • :SEARch:SERial:LIN:PATTern:DATA


:SEARch:SERial:LIN:PATTern:FORMat

:SEARch:SERial:LIN Commands

Name

:SEARch:SERial:LIN:PATTern:FORMat —

Command Syntax

:SEARch:SERial:LIN:PATTern:FORMat <base>
<base> ::= {HEX | DECimal}

The :SEARch:SERial:LIN:PATTern:FORMat command specifies the number base used with the :SEARch:SERial:LIN:PATTern:DATA command.

Query Syntax

:SEARch:SERial:LIN:PATTern:FORMat?

The :SEARch:SERial:LIN:PATTern:FORMat? query returns the current number base setting.

Return Format

<base><NL>
<base> ::= {HEX | DEC}

See Also

  • :SEARch Commands

  • :SEARch:SERial:LIN:PATTern:DATA


:SEARch:SERial:LIN:SYMBolic:FRAMe

:SEARch:SERial:LIN Commands

Name

:SEARch:SERial:LIN:SYMBolic:FRAMe —

Command Syntax

:SEARch:SERial:LIN:SYMBolic:FRAMe <name>
<name> ::= quoted ASCII string

The :SEARch:SERial:LIN:SYMBolic:FRAMe command specifies the message to search for when LIN symbolic data has been loaded (recalled) into the oscilloscope and the LIN serial search mode is set to FRAMe or FSIGnal.

Query Syntax

:SEARch:SERial:LIN:SYMBolic:FRAMe?

The :SEARch:SERial:LIN:SYMBolic:FRAMe? query returns the specified message.

Return Format

<name><NL>
<name> ::= quotes ASCII string

See Also

  • :RECall:LDF[:STARt]

  • :SEARch:SERial:LIN:MODE

  • :SEARch:SERial:LIN:SYMBolic:SIGNal

  • :SEARch:SERial:LIN:SYMBolic:VALue


:SEARch:SERial:LIN:SYMBolic:SIGNal

:SEARch:SERial:LIN Commands

Name

:SEARch:SERial:LIN:SYMBolic:SIGNal —

Command Syntax

:SEARch:SERial:LIN:SYMBolic:SIGNal <name>
<name> ::= quoted ASCII string

The :SEARch:SERial:LIN:SYMBolic:SIGNal command specifies the signal to search for when LIN symbolic data has been loaded (recalled) into the oscilloscope and the LIN serial search mode is set to FSIGnal.

Query Syntax

:SEARch:SERial:LIN:SYMBolic:SIGNal?

The :SEARch:SERial:LIN:SYMBolic:SIGNal? query returns the specified signal.

Return Format

<name><NL>
<name> ::= quoted ASCII string

See Also

  • :RECall:LDF[:STARt]

  • :SEARch:SERial:LIN:MODE

  • :SEARch:SERial:LIN:SYMBolic:FRAMe

  • :SEARch:SERial:LIN:SYMBolic:VALue


:SEARch:SERial:LIN:SYMBolic:VALue

:SEARch:SERial:LIN Commands

Name

:SEARch:SERial:LIN:SYMBolic:VALue —

Command Syntax

:SEARch:SERial:LIN:SYMBolic:VALue <data>
<data> ::= value in NR3 format

The :SEARch:SERial:LIN:SYMBolic:VALue command specifies the signal value to search for when LIN symbolic data has been loaded (recalled) into the oscilloscope and the LIN serial search mode is set to FSIGnal.

[Note]

Encoded signal values are not supported in the remote interface (even though they can be used in the front panel graphical interface).

Query Syntax

:SEARch:SERial:LIN:SYMBolic:VALue?

The :SEARch:SERial:LIN:SYMBolic:VALue? query returns the specified signal value.

Return Format

<data><NL>
<data> ::= value in NR3 format

See Also

  • :RECall:LDF[:STARt]

  • :SEARch:SERial:LIN:MODE

  • :SEARch:SERial:LIN:SYMBolic:FRAMe

  • :SEARch:SERial:LIN:SYMBolic:SIGNal


:SEARch:SERial:M1553 Commands

:SEARch:SERial:M1553 Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:M1553:MODE <value> | :SEARch:SERial:M1553:MODE? | <value> ::= {DSTart | CSTart | RTA | RTA11 | PERRor | SERRor | MERRor}
:SEARch:SERial:M1553:PATTern:DATA <string> | :SEARch:SERial:M1553:PATTern:DATA? | <string> ::= "nn...n" where n ::= {0 | 1}
:SEARch:SERial:M1553:RTA <value> | :SEARch:SERial:M1553:RTA? | <value> ::= 5-bit integer in decimal, <hexadecimal>, <binary>, or <string> from 0-31 < hexadecimal > ::= #Hnn where n ::= {0,..,9|A,..,F} <binary> ::= #Bnn...n where n ::= {0 | 1} for binary <string> ::= "0xnn" where n::= {0,..,9|A,..,F}


:SEARch:SERial:M1553:MODE

:SEARch:SERial:M1553 Commands

Name

:SEARch:SERial:M1553:MODE —

Command Syntax

:SEARch:SERial:M1553:MODE <value>
<value> ::= {DSTart | CSTart | RTA | RTA11 | PERRor | SERRor | MERRor}

The :SEARch:SERial:M1553:MODE command selects the type of MIL-STD-1553 information to find in the Lister display:

  • DSTart — searches for the start of a Data word (at the end of a valid Data Sync pulse).

  • CSTart — searches for the start of a Command/Status word (at the end of a valid C/S Sync pulse).

  • RTA — searches for the Remote Terminal Address (RTA) of a Command/Status word.

  • RTA11 — searches for the Remote Terminal Address (RTA) and the additional 11 bits of a Command/Status word.

  • PERRor — searches for (odd) parity errors for the data in the word.

  • SERRor — searches for invalid Sync pulses.

  • MERRor — searches for Manchester encoding errors.

In the RTA or RTA11 modes, the Remote Terminal Address is specified using the :SEARch:SERial:M1553:RTA command.

In the RTA11 mode, the additional 11 bits are specified using the :SEARch:SERial:M1553:PATTern:DATA command.

Query Syntax

:SEARch:SERial:M1553:MODE?

The :SEARch:SERial:M1553:MODE? query returns the currently selected mode.

Return Format

<value><NL>
<value> ::= {DST | CST | RTA | RTA11 | PERR | SERR | MERR}

See Also

  • :SEARch Commands

  • :SEARch:SERial:M1553:RTA

  • :SEARch:SERial:M1553:PATTern:DATA


:SEARch:SERial:M1553:PATTern:DATA

:SEARch:SERial:M1553 Commands

Name

:SEARch:SERial:M1553:PATTern:DATA —

Command Syntax

:SEARch:SERial:M1553:PATTern:DATA <string>
<string> ::= "nn...n" where n ::= {0 | 1}

The :SEARch:SERial:M1553:PATTern:DATA command specifies the additional 11 bits when searching for the MIL-STD-1553 Remote Terminal Address + 11 Bits.

Query Syntax

:SEARch:SERial:M1553:PATTern:DATA?

The :SEARch:SERial:M1553:PATTern:DATA? query returns the current value setting for the additional 11 bits.

Return Format

<string><NL>
<string> ::= "nn...n" where n ::= {0 | 1}

See Also

  • :SEARch Commands

  • :SEARch:SERial:M1553:MODE


:SEARch:SERial:M1553:RTA

:SEARch:SERial:M1553 Commands

Name

:SEARch:SERial:M1553:RTA —

Command Syntax

:SEARch:SERial:M1553:RTA <value>
<value> ::= 5-bit integer in decimal, <hexadecimal>, <binary>,
            or <string> from 0-31
<hexadecimal> ::= #Hnn where n ::= {0,..,9|A,..,F}
<binary> ::= #Bnn...n where n ::= {0 | 1} for binary
<string> ::= "0xnn" where n::= {0,..,9|A,..,F}

The :SEARch:SERial:M1553:RTA command specifies the Remote Terminal Address (RTA) value when searching for MIL-STD-1553 events.

Query Syntax

:SEARch:SERial:M1553:RTA?

The :SEARch:SERial:M1553:RTA? query returns the current Remote Terminal Address value setting.

Return Format

<value><NL>
<value> ::= 5-bit integer in decimal from 0-31

See Also

  • :SEARch Commands


:SEARch:SERial:SENT Commands

:SEARch:SERial:SENT Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:SENT:FAST:DATA <string> | :SEARch:SERial:SENT:FAST:DATA? | <string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:SENT:MODE <mode> | :SEARch:SERial:SENT:MODE? | <mode> ::= {FCData | SCMid | SCData | CRCerror PPERror}
:SEARch:SERial:SENT:SLOW:DATA <data> | :SEARch:SERial:SENT:SLOW:DATA? | <data> ::= from -1 (don't care) to 65535, in NR1 format.
:SEARch:SERial:SENT:SLOW:ID <id> | :SEARch:SERial:SENT:SLOW:ID? | <id> ::= from -1 (don't care) to 255, in NR1 format.


:SEARch:SERial:SENT:FAST:DATA

:SEARch:SERial:SENT Commands

Name

:SEARch:SERial:SENT:FAST:DATA —

Command Syntax

:SEARch:SERial:SENT:FAST:DATA <string>
<string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}

The :SEARch:SERial:SENT:FAST:DATA command specifies the status and data nibbles that will be searched for when the FCData search mode is chosen.

Query Syntax

:SEARch:SERial:SENT:FAST:DATA?

The :SEARch:SERial:SENT:FAST:DATA? query returns the fast channel data search value setting.

Return Format

<string><NL>
<string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SEARch:SERial:SENT:MODE

  • :SEARch:SERial:SENT:SLOW:DATA

  • :SEARch:SERial:SENT:SLOW:ID


:SEARch:SERial:SENT:MODE

:SEARch:SERial:SENT Commands

Name

:SEARch:SERial:SENT:MODE —

Command Syntax

:SEARch:SERial:SENT:MODE <mode>
<mode> ::= {FCData | SCMid | SCData | CRCerror | PPERror}

When SENT serial decode is turned on and displayed in the Lister, the :SEARch:SERial:SENT:MODE command specifies what to search for in the decoded data:

  • FCData — finds Fast Channel data nibbles that match the values entered.

  • SCMid — finds Slow Channel Message IDs that match the value entered.

  • SCData — finds Slow Channel Message IDs and Data that match the values entered.

  • CRCerror — finds any CRC error, Fast or Slow.

  • PPERror — finds where a nibble is either too wide or too narrow (for example, data nibble < 12 (11.5) or > 27 (27.5) ticks wide). Sync, S&C, data, or checksum pulse periods are checked.

Query Syntax

:SEARch:SERial:SENT:MODE?

The :SEARch:SERial:SENT:MODE? query returns the search mode setting.

Return Format

<mode><NL>
<mode> ::= {FCD | SCM | SCD | CRC | PPER}

See Also

  • :SEARch:SERial:SENT:FAST:DATA

  • :SEARch:SERial:SENT:SLOW:DATA

  • :SEARch:SERial:SENT:SLOW:ID


:SEARch:SERial:SENT:SLOW:DATA

:SEARch:SERial:SENT Commands

Name

:SEARch:SERial:SENT:SLOW:DATA —

Command Syntax

:SEARch:SERial:SENT:SLOW:DATA <data>
<data> ::= from -1 (don't care) to 65535, in NR1 format.

The :SEARch:SERial:SENT:SLOW:DATA command specifies the data to search for in the Slow Channel Message ID and Data search mode.

Query Syntax

:SEARch:SERial:SENT:SLOW:DATA?

The :SEARch:SERial:SENT:SLOW:DATA? query returns the slow channel data search value setting.

Return Format

<data><NL>
<data> ::= from -1 (don't care) to 65535, in NR1 format.

See Also

  • :SEARch:SERial:SENT:FAST:DATA

  • :SEARch:SERial:SENT:MODE

  • :SEARch:SERial:SENT:SLOW:ID


:SEARch:SERial:SENT:SLOW:ID

:SEARch:SERial:SENT Commands

Name

:SEARch:SERial:SENT:SLOW:ID —

Command Syntax

:SEARch:SERial:SENT:SLOW:ID <id>
<id> ::= from -1 (don't care) to 255, in NR1 format.

The :SEARch:SERial:SENT:SLOW:ID command specifies the ID to search for in the "Slow Channel Message ID" and "Slow Channel Message ID & Data" trigger modes. The ID can be from -1 (don't care) to 255 (depending on the message length).

Query Syntax

:SEARch:SERial:SENT:SLOW:ID?

The :SEARch:SERial:SENT:SLOW:ID? query returns the slow channel ID search value setting.

Return Format

<id><NL>
<id> ::= from -1 (don't care) to 255, in NR1 format.

See Also

  • :SEARch:SERial:SENT:FAST:DATA

  • :SEARch:SERial:SENT:MODE

  • :SEARch:SERial:SENT:SLOW:DATA


:SEARch:SERial:SPI Commands

:SEARch:SERial:SPI Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:SPI:MODE <value> | :SEARch:SERial:SPI:MODE? | <value> ::= {MOSI | MISO}
:SEARch:SERial:SPI:PATTern:DATA <string> | :SEARch:SERial:SPI:PATTern:DATA? | <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}
:SEARch:SERial:SPI:PATTern:WIDTh <width> | :SEARch:SERial:SPI:PATTern:WIDTh? | <width> ::= integer from 1 to 10


:SEARch:SERial:SPI:MODE

:SEARch:SERial:SPI Commands

Name

:SEARch:SERial:SPI:MODE —

Command Syntax

:SEARch:SERial:SPI:MODE <value>
<value> ::= {MOSI | MISO}

The :SEARch:SERial:SPI:MODE command specifies whether the SPI search will be on the MOSI data or the MISO data.

Data values are specified using the :SEARch:SERial:SPI:PATTern:DATA command.

Query Syntax

:SEARch:SERial:SPI:MODE?

The :SEARch:SERial:SPI:MODE? query returns the current SPI search mode setting.

Return Format

<value><NL>
<value> ::= {MOSI | MISO}

See Also

  • :SEARch Commands

  • :SEARch:SERial:SPI:PATTern:DATA


:SEARch:SERial:SPI:PATTern:DATA

:SEARch:SERial:SPI Commands

Name

:SEARch:SERial:SPI:PATTern:DATA —

Command Syntax

:SEARch:SERial:SPI:PATTern:DATA <string>
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}

The :SEARch:SERial:SPI:PATTern:DATA command specifies the data value when searching for SPI events.

The width of the data value is specified using the :SEARch:SERial:SPI:PATTern:WIDTh command.

Query Syntax

:SEARch:SERial:SPI:PATTern:DATA?

The :SEARch:SERial:SPI:PATTern:DATA? query returns the current data value setting.

Return Format

<string><NL>
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X}

See Also

  • :SEARch Commands

  • :SEARch:SERial:SPI:PATTern:WIDTh


:SEARch:SERial:SPI:PATTern:WIDTh

:SEARch:SERial:SPI Commands

Name

:SEARch:SERial:SPI:PATTern:WIDTh —

Command Syntax

:SEARch:SERial:SPI:PATTern:WIDTh <width>
<width> ::= integer from 1 to 10

The :SEARch:SERial:SPI:PATTern:WIDTh command specifies the width of the data value (in bytes) when searching for SPI events.

The data value is specified using the :SEARch:SERial:SPI:PATTern:DATA command.

Query Syntax

:SEARch:SERial:SPI:PATTern:WIDTh?

The :SEARch:SERial:SPI:PATTern:WIDTh? query returns the current data width setting.

Return Format

<width><NL>
<width> ::= integer from 1 to 10

See Also

  • :SEARch Commands

  • :SEARch:SERial:SPI:PATTern:DATA


:SEARch:SERial:UART Commands

:SEARch:SERial:UART Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:UART:DATA <value> | :SEARch:SERial:UART:DATA? | <value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal, <hexadecimal>, or <binary> format <hexadecimal> ::= #Hnn where n ::= {0,..,9| A,..,F} for hexadecimal <binary> ::= #Bnn...n where n ::= {0 | 1} for binary
:SEARch:SERial:UART:MODE <value> | :SEARch:SERial:UART:MODE? | <value> ::= {RDATa | RD1 | RD0 | RDX | TDATa | TD1 | TD0 | TDX | RXPArity | TXPArity | AERRor}
:SEARch:SERial:UART:QUALifier <value> | :SEARch:SERial:UART:QUALifier? | <value> ::= {EQUal | NOTequal | GREaterthan | LESSthan}


:SEARch:SERial:UART:DATA

:SEARch:SERial:UART Commands

Name

:SEARch:SERial:UART:DATA —

Command Syntax

:SEARch:SERial:UART:DATA <value>
<value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal,
            <hexadecimal>, or <binary> format
<hexadecimal> ::= #Hnn where n ::= {0,..,9| A,..,F} for hexadecimal
<binary> ::= #Bnn...n where n ::= {0 | 1} for binary

The :SEARch:SERial:UART:DATA command specifies a data value when searching for UART/RS232 events.

The data value qualifier is specified using the :SEARch:SERial:UART:QUALifier command.

Query Syntax

:SEARch:SERial:UART:DATA?

The :SEARch:SERial:UART:DATA? query returns the current data value setting.

Return Format

<value><NL>
<value> ::= 8-bit integer from 0-255 (0x00-0xff) in decimal format

See Also

  • :SEARch Commands

  • :SEARch:SERial:UART:MODE

  • :SEARch:SERial:UART:QUALifier


:SEARch:SERial:UART:MODE

:SEARch:SERial:UART Commands

Name

:SEARch:SERial:UART:MODE —

Command Syntax

:SEARch:SERial:UART:MODE <value>
<value> ::= {RDATa | RD1 | RD0 | RDX | TDATa | TD1 | TD0 | TDX
   | RXPArity | TXPArity | AERRor}

The :SEARch:SERial:UART:MODE command selects the type of UART/RS232 information to find in the Lister display:

  • RDATa — searches for a receive data value when data words are from 5 to 8 bits long.

  • RD1 — searches for a receive data value when data words are 9 bits long and the 9th (alert) bit is 1.

  • RD0 — searches for a receive data value when data words are 9 bits long and the 9th (alert) bit is 0.

  • RDX — searches for a receive data value when data words are 9 bits long and the 9th (alert) bit is a don't care (X).

  • TDATa — searches for a transmit data value when data words are from 5 to 8 bits long.

  • TD1 — searches for a transmit data value when data words are 9 bits long and the 9th (alert) bit is 1.

  • TD0 — searches for a transmit data value when data words are 9 bits long and the 9th (alert) bit is 0.

  • TDX — searches for a transmit data value when data words are 9 bits long and the 9th (alert) bit is a don't care (X).

  • RXPArity — searches for receive data parity errors.

  • TXPArity — searches for transmit data parity errors.

  • AERRor — searches for any error.

Data values are specified using the :SEARch:SERial:UART:DATA command.

Data value qualifiers are specified using the :SEARch:SERial:UART:QUALifier command.

Query Syntax

:SEARch:SERial:UART:MODE?

The :SEARch:SERial:UART:MODE? query returns ...

Return Format

<value><NL>
<value> ::= {RDAT | RD1 | RD0 | RDX | TDAT | TD1 | TD0 | TDX | RXPA
   | TXPA | AERR}

See Also

  • :SEARch Commands

  • :SEARch:SERial:UART:DATA

  • :SEARch:SERial:UART:QUALifier


:SEARch:SERial:UART:QUALifier

:SEARch:SERial:UART Commands

Name

:SEARch:SERial:UART:QUALifier —

Command Syntax

:SEARch:SERial:UART:QUALifier <value>
<value> ::= {EQUal | NOTequal | GREaterthan | LESSthan}

The :SEARch:SERial:UART:QUALifier command specifies the data value qualifier when searching for UART/RS232 events.

Query Syntax

:SEARch:SERial:UART:QUALifier?

The :SEARch:SERial:UART:QUALifier? query returns the current data value qualifier setting.

Return Format

<value><NL>
<value> ::= {EQU | NOT | GRE | LESS}

See Also

  • :SEARch Commands

  • :SEARch:SERial:UART:DATA


:SEARch:SERial:USB Commands

:SEARch:SERial:USB Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:USB:MODE <condition> | :SEARch:SERial:USB:MODE? | <event> ::= {TOKen | DATA | HANDshake | SPECial | ALLerrors | PIDerror | CRC5error | CRC16error | GLITcherror | STUFferror | SE1error}
:SEARch:SERial:USB:ADDRess <string> | :SEARch:SERial:USB:ADDRess? | <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:CRC <string> | :SEARch:SERial:USB:CRC? | <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:DATA <string> | :SEARch:SERial:USB:DATA? | <string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:DATA:LENGth <value> | :SEARch:SERial:USB:DATA:LENGth? | <length> ::= data length between 1-20
:SEARch:SERial:USB:ENDPoint <string> | :SEARch:SERial:USB:ENDPoint? | <string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:ET <string> | :SEARch:SERial:USB:ET? | <string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}
:SEARch:SERial:USB:FRAMe <string> | :SEARch:SERial:USB:FRAMe? | <string> ::= "0xnnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:HADDress <string> | :SEARch:SERial:USB:HADDress? | <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:PID:DATA <pid> | :SEARch:SERial:USB:PID:DATA? | <pid> ::= {DATA0 | DATA1 | DATA2 | MDATa}
:SEARch:SERial:USB:PID:HANDshake <pid> | :SEARch:SERial:USB:PID:HANDshake? | <pid> ::= {ACK | NAK | STALl | NYET}
:SEARch:SERial:USB:PID:SPECial <pid> | :SEARch:SERial:USB:PID:SPECial? | <pid> ::= {PING | PRE | ERR | SPLit}
:SEARch:SERial:USB:PID:TOKen <pid> | :SEARch:SERial:USB:PID:TOKen? | <pid> ::= {OUT | IN | SETup | SOF}
:SEARch:SERial:USB:PORT <string> | :SEARch:SERial:USB:PORT? | <string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}
:SEARch:SERial:USB:SC <string> | :SEARch:SERial:USB:SC? | <string> ::= "0xn" where n ::= {0 | 1 | X | $}
:SEARch:SERial:USB:SEU <string> | :SEARch:SERial:USB:SEU? | <string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}


:SEARch:SERial:USB:MODE

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:MODE —

Command Syntax

:SEARch:SERial:USB:MODE <mode>
<mode> ::= {TOKen | DATA | HANDshake | SPECial | ALLerrors
           | PIDerror | CRC5error | CRC16error | GLITcherror
           | STUFferror | SE1error}

The :SEARch:SERial:USB:MODE command specifies the USB search mode.

Query Syntax

:SEARch:SERial:USB:MODE?

The :SEARch:SERial:USB:MODE? query returns the specified USB search mode.

Return Format

<mode><NL>
<mode> ::= {TOK | DATA | HAND | SPEC | ALL | PID | CRC5
           | CRC16 | GLIT | STUFF | SE1}

See Also

  • :SEARch:SERial:USB:PID:DATA

  • :SEARch:SERial:USB:PID:HANDshake

  • :SEARch:SERial:USB:PID:SPECial

  • :SEARch:SERial:USB:PID:TOKen


:SEARch:SERial:USB:ADDRess

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:ADDRess —

Command Syntax

:SEARch:SERial:USB:ADDRess <string>
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SEARch:SERial:USB:ADDRess command specifies the 7-bit Address portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:ADDRess?

The :SEARch:SERial:USB:ADDRess? query returns the specified Address portion of the search value.

Return Format

<string><NL>
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SEARch:SERial:USB:PID:SPECial

  • :SEARch:SERial:USB:PID:TOKen


:SEARch:SERial:USB:CRC

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:CRC —

Command Syntax

:SEARch:SERial:USB:CRC <string>
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SEARch:SERial:USB:CRC command specifies the CRC portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:CRC?

The :SEARch:SERial:USB:CRC? query returns the specified CRC portion of the search value.

Return Format

<string><NL>
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SEARch:SERial:USB:PID:SPECial

  • :SEARch:SERial:USB:PID:TOKen


:SEARch:SERial:USB:DATA

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:DATA —

Command Syntax

:SEARch:SERial:USB:DATA <string>
<string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}

The :SEARch:SERial:USB:DATA command specifies the Data portion of the search value, in hex.

See the :SEARch:SERial:USB:DATA:LENGth command for setting the length of the data value.

Query Syntax

:SEARch:SERial:USB:DATA?

The :SEARch:SERial:USB:DATA? query returns the specified Data portion of the search value.

Return Format

<string><NL>
<string> ::= "0xn..." where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SEARch:SERial:USB:DATA:LENGth


:SEARch:SERial:USB:DATA:LENGth

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:DATA:LENGth —

Command Syntax

:SEARch:SERial:USB:DATA:LENGth <length>
<length> ::= data length between 1-20

The :SEARch:SERial:USB:DATA:LENGth command specifies the data length in bytes.

Query Syntax

:SEARch:SERial:USB:DATA:LENGth?

The :SEARch:SERial:USB:DATA:LENGth? query returns the specified data length.

Return Format

<length><NL>
<length> ::= data length between 1-20

See Also

  • :SEARch:SERial:USB:DATA


:SEARch:SERial:USB:ENDPoint

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:ENDPoint —

Command Syntax

:SEARch:SERial:USB:ENDPoint <string>
<string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}

The :SEARch:SERial:USB:ENDPoint command specifies the 4-bit Endpoint portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:ENDPoint?

The :SEARch:SERial:USB:ENDPoint? query returns the specified Endpoint portion of the search value.

Return Format

<string><NL>
<string> ::= "0xn" where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SEARch:SERial:USB:PID:SPECial

  • :SEARch:SERial:USB:PID:TOKen


:SEARch:SERial:USB:ET

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:ET —

Command Syntax

:SEARch:SERial:USB:ET <string>
<string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}

The :SEARch:SERial:USB:ET command specifies the 2-bit ET portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:ET?

The :SEARch:SERial:USB:ET? query returns the specified ET portion of the search value.

Return Format

<string><NL>
<string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}

See Also

  • :SEARch:SERial:USB:PID:SPECial


:SEARch:SERial:USB:FRAMe

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:FRAMe —

Command Syntax

:SEARch:SERial:USB:FRAMe <string>
<string> ::= "0xnnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SEARch:SERial:USB:FRAMe command specifies the 11-bit Frame portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:FRAMe?

The :SEARch:SERial:USB:FRAMe? query returns the specified Frame portion of the search value.

Return Format

<string><NL>
<string> ::= "0xnnn" where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SEARch:SERial:USB:PID:TOKen


:SEARch:SERial:USB:HADDress

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:HADDress —

Command Syntax

:SEARch:SERial:USB:HADDress <string>
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SEARch:SERial:USB:HADDress command specifies the 7-bit Hub Address portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:HADDress?

The :SEARch:SERial:USB:HADDress? query returns the specified Hub Address portion of the search value.

Return Format

<string><NL>
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SEARch:SERial:USB:PID:SPECial


:SEARch:SERial:USB:PID:DATA

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:PID:DATA —

Command Syntax

:SEARch:SERial:USB:PID:DATA <pid>
<pid> ::= {DATA0 | DATA1 | DATA2 | MDATa}

The :SEARch:SERial:USB:PID:DATA command specifies the USB data PID to find.

The DATA USB search mode can be selected using the :SEARch:SERial:USB:MODE command.

Query Syntax

:SEARch:SERial:USB:PID:DATA?

The :SEARch:SERial:USB:PID:DATA? query returns the specified data PID.

Return Format

<pid><NL>
<pid> ::= {DATA0 | DATA1 | DATA2 | MDAT}

See Also

  • :SEARch:SERial:USB:MODE


:SEARch:SERial:USB:PID:HANDshake

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:PID:HANDshake —

Command Syntax

:SEARch:SERial:USB:PID:HANDshake <pid>
<pid> ::= {ACK | NAK | STALl | NYET}

The :SEARch:SERial:USB:PID:HANDshake command specifies the USB handshake PID to find.

The HANDshake USB search mode can be selected using the :SEARch:SERial:USB:MODE command.

Query Syntax

:SEARch:SERial:USB:PID:HANDshake?

The :SEARch:SERial:USB:PID:HANDshake? query returns the specified handshake PID.

Return Format

<pid><NL>
<pid> ::= {ACK | NAK | STAL | NYET}

See Also

  • :SEARch:SERial:USB:MODE


:SEARch:SERial:USB:PID:SPECial

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:PID:SPECial —

Command Syntax

:SEARch:SERial:USB:PID:SPECial <pid>
<pid> ::= {PING | PRE | ERR | SPLit}

The :SEARch:SERial:USB:PID:SPECial command specifies the USB special PID to find.

The SPECial USB search mode can be selected using the :SEARch:SERial:USB:MODE command.

Query Syntax

:SEARch:SERial:USB:PID:SPECial?

The :SEARch:SERial:USB:PID:SPECial? query returns the specified special PID.

Return Format

<pid><NL>
<pid> ::= {PING | PRE | ERR | SPL}

See Also

  • :SEARch:SERial:USB:MODE


:SEARch:SERial:USB:PID:TOKen

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:PID:TOKen —

Command Syntax

:SEARch:SERial:USB:PID:TOKen <pid>
<pid> ::= {OUT | IN | SETup | SOF}

The :SEARch:SERial:USB:PID:TOKen command specifies the USB token PID to find.

The TOKen USB search mode can be selected using the :SEARch:SERial:USB:MODE command.

Query Syntax

:SEARch:SERial:USB:PID:TOKen?

The :SEARch:SERial:USB:PID:TOKen? query returns the specified token PID.

Return Format

<pid><NL>
<pid> ::= {OUT | IN | SETup | SOF}

See Also

  • :SEARch:SERial:USB:MODE


:SEARch:SERial:USB:PORT

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:PORT —

Command Syntax

:SEARch:SERial:USB:PORT <string>
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

The :SEARch:SERial:USB:PORT command specifies the 7-bit Port portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:PORT?

The :SEARch:SERial:USB:PORT? query returns the specified Port portion of the search value.

Return Format

<string><NL>
<string> ::= "0xnn" where n ::= {0,..,9 | A,..,F | X | $}

See Also

  • :SEARch:SERial:USB:PID:SPECial


:SEARch:SERial:USB:SC

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:SC —

Command Syntax

:SEARch:SERial:USB:SC <string>
<string> ::= "0xn" where n ::= {0 | 1 | X | $}

The :SEARch:SERial:USB:SC command specifies the 1-bit SC portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:SC?

The :SEARch:SERial:USB:SC? query returns the specified SC portion of the search value.

Return Format

<string><NL>
<string> ::= "0xn" where n ::= {0 | 1 | X | $}

See Also

  • :SEARch:SERial:USB:PID:SPECial


:SEARch:SERial:USB:SEU

:SEARch:SERial:USB Commands

Name

:SEARch:SERial:USB:SEU —

Command Syntax

:SEARch:SERial:USB:SEU <string>
<string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}

The :SEARch:SERial:USB:SEU command specifies the 2-bit S and E or U portion of the search value, in hex.

Query Syntax

:SEARch:SERial:USB:SEU?

The :SEARch:SERial:USB:SEU? query returns the specified S and E or U portion of the search value.

Return Format

<string><NL>
<string> ::= "0xn" where n ::= {0 | 1 | 2 | 3 | X | $}

See Also

  • :SEARch:SERial:USB:PID:SPECial


:SEARch:SERial:USBPd Commands

:SEARch:SERial:USBPd Commands Summary:

Command | Query | Options and Query Returns
:SEARch:SERial:USBPd:MODE <mode> | :SEARch:SERial:USBPd:MODE? | <mode> ::= {SOP | SPRime | SDPRime | SPDebug | SDPDebug | HRST | CRST | CRCerror | PERRor | HEADer}
:SEARch:SERial:USBPd:HEADer <type> | :SEARch:SERial:USBPd:HEADer? | <type> ::= {CMESsage | DMESsage | EMESsage | VALue}
:SEARch:SERial:USBPd:HEADer:CMESsage <type> | :SEARch:SERial:USBPd:HEADer:CMESsage? | <type> ::= {GOODcrc | GOTOmin | ACCept | REJect | PING | PSRDy | GSRCap | GSNCap | DRSWap | PRSWap | VCSWap | WAIT | SRST | GSCX | GSTatus | FRSWap | GPSTatus | GCCodes}
:SEARch:SERial:USBPd:HEADer:DMESsage <type> | :SEARch:SERial:USBPd:HEADer:DMESsage? | <type> ::= {SRCap | REQuest | BIST | SNCap | BSTatus | ALERt | GCINfo | VDEFined}
:SEARch:SERial:USBPd:HEADer:EMESsage <type> | :SEARch:SERial:USBPd:HEADer:EMESsage? | <type> ::= {SCX | STATus | GBCap | GBSTatus | BCAP | GMINfo | MINFo | SREQuest | SRESponse | FREQuest | FRESponse | PSTatus | CINFo | CCODes}
:SEARch:SERial:USBPd:HEADer:QUALifier <type> | :SEARch:SERial:USBPd:HEADer:QUALifier? | <type> ::= {NONE | SOP | SPRime | SDPRime}
:SEARch:SERial:USBPd:HEADer:VALue <string> | :SEARch:SERial:USBPd:HEADer:VALue? | <string> ::= "nn...n" where n ::= {0 | 1 | X} <string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}


:SEARch:SERial:USBPd:MODE

:SEARch:SERial:USBPd Commands

Name

:SEARch:SERial:USBPd:MODE —

Command Syntax

:SEARch:SERial:USBPd:MODE <mode>
<mode> ::= {SOP | SPRime | SDPRime | SPDebug | SDPDebug | HRST | CRST
   | CRCerror | PERRor | HEADer}

The :SEARch:SERial:USBPd:MODE command selects the USB PD search mode:

  • SOP — SOP, searches ordered set Sync-1, Sync-1, Sync-1, Sync-2.

  • SPRime — SOP', searches ordered set Sync-1, Sync-1, Sync-3, Sync-3.

  • SDPRime — SOP'', searches ordered set Sync-1, Sync-3, Sync-1, Sync-3.

  • SPDebug — SOP' Debug, searches ordered set Sync-1, RST-2, RST-2, Sync-3.

  • SDPDebug — SOP'' Debug, searches ordered set Sync-1, RST-2, Sync-3, Sync-2.

  • HRST — Hard Reset, searches ordered set RST-1, RST-1, RST-1, RST-2.

  • CRST — Cable Reset, searches ordered set RST-1, Sync-1, RST-1, Sync-3.

  • CRCerror — CRC Error, searches when an error is detected on a 32-bit CRC.

  • PERRor — Preamble Error, searches when an error is detected on a 64-bitsequence of alternating 0 and 1.

  • HEADer — Header Content, searches a user-defined 16-bit value.

Query Syntax

:SEARch:SERial:USBPd:MODE?

The :SEARch:SERial:USBPd:MODE? query returns the selected USB PD search mode.

Return Format

<mode><NL>
<mode> ::= {SOP | SPR | SDPR | SPD | SDPD | HRST | CRST | CRC | PERR | HEAD}

See Also

  • :SEARch:SERial:USBPd:HEADer

  • :SEARch:SERial:USBPd:HEADer:CMESsage

  • :SEARch:SERial:USBPd:HEADer:DMESsage

  • :SEARch:SERial:USBPd:HEADer:EMESsage

  • :SEARch:SERial:USBPd:HEADer:VALue

  • :SEARch:SERial:USBPd:HEADer:QUALifier


:SEARch:SERial:USBPd:HEADer

:SEARch:SERial:USBPd Commands

Name

:SEARch:SERial:USBPd:HEADer —

Command Syntax

:SEARch:SERial:USBPd:HEADer <type>
<type> ::= {CMESsage | DMESsage | EMESsage | VALue}

When the Header Content search mode is selected (with the ":SEARch:SERial:USBPd:MODE HEADer" command), the :SEARch:SERial:USBPd:HEADer command selects the header type:

  • CMESsage — Control Message, search on control message types (0 data object).

    When the CMESsage header type is selected, use the :SEARch:SERial:USBPd:HEADer:CMESsage command to select the control message type.

  • DMESsage — Data Message, search on data message types (1 or more data objects).

    When the DMESsage header type is selected, use the :SEARch:SERial:USBPd:HEADer:DMESsage command to select the data message type.

  • EMESsage — Extended Message, search on extended message types (bit 15 is set).

    When the EMESsage header type is selected, use the :SEARch:SERial:USBPd:HEADer:EMESsage command to select the extended message type.

  • VALue — Value, search on a user-defined header value.

    When the CMESsage header type is selected, use the :SEARch:SERial:USBPd:HEADer:VALue command to specify the user-defined header value.

Query Syntax

:SEARch:SERial:USBPd:HEADer?

The :SEARch:SERial:USBPd:HEADer? query returns the selected Header Content header type

Return Format

<type><NL>
<type> ::= {CMES | DMES | EMES | VAL}

See Also

  • :SEARch:SERial:USBPd:MODE

  • :SEARch:SERial:USBPd:HEADer:CMESsage

  • :SEARch:SERial:USBPd:HEADer:DMESsage

  • :SEARch:SERial:USBPd:HEADer:EMESsage

  • :SEARch:SERial:USBPd:HEADer:VALue

  • :SEARch:SERial:USBPd:HEADer:QUALifier


:SEARch:SERial:USBPd:HEADer:CMESsage

:SEARch:SERial:USBPd Commands

Name

:SEARch:SERial:USBPd:HEADer:CMESsage —

Command Syntax

:SEARch:SERial:USBPd:HEADer:CMESsage <type>
<type> ::= {GOODcrc | GOTOmin | ACCept | REJect | PING | PSRDy
   | GSRCap | GSNCap | DRSWap | PRSWap | VCSWap | WAIT | SRST | GSCX
   | GSTatus | FRSWap | GPSTatus | GCCodes}

When the Control Message header type is selected (with the ":SEARch:SERial:USBPd:HEADer CMESsage" command), the :SEARch:SERial:USBPd:HEADer:CMESsage command selects the control message type:

  • GOODcrc — GoodCRC

  • GOTOmin — GotoMin

  • ACCept — Accept

  • REJect — Reject

  • PING — Ping

  • PSRDy — PS_RDY

  • GSRCap — Get_Source_Cap

  • GSNCap — Get_Sink_Cap

  • DRSWap — DR_Swap

  • PRSWap — PR_Swap

  • VCSWap — VCONN_Swap

  • WAIT — Wait

  • SRST — Soft_Reset

  • GSCX — Get_Source_Cap_Extended

  • GSTatus — Get_Status

  • FRSWap — FR_Swap

  • GPSTatus — Get_PPS_Status

  • GCCodes — Get_Country_Codes

Query Syntax

:SEARch:SERial:USBPd:HEADer:CMESsage?

The :SEARch:SERial:USBPd:HEADer:CMESsage? query returns.the selected Header Content control message type.

Return Format

<type><NL>
<type> ::= {GOOD | GOTO | ACC | REJ | PING | PSRD | GSRC | GSNC | DRSW
   | PRSW | VCSW | WAIT | SRST | GSCX | GST | FRSW | GPST | GCC}

See Also

  • :SEARch:SERial:USBPd:MODE

  • :SEARch:SERial:USBPd:HEADer

  • :SEARch:SERial:USBPd:HEADer:DMESsage

  • :SEARch:SERial:USBPd:HEADer:EMESsage

  • :SEARch:SERial:USBPd:HEADer:VALue

  • :SEARch:SERial:USBPd:HEADer:QUALifier


:SEARch:SERial:USBPd:HEADer:DMESsage

:SEARch:SERial:USBPd Commands

Name

:SEARch:SERial:USBPd:HEADer:DMESsage —

Command Syntax

:SEARch:SERial:USBPd:HEADer:DMESsage <type>
<type> ::= {SRCap | REQuest | BIST | SNCap | BSTatus | ALERt | GCINfo
   | VDEFined}

When the Header Content search mode is selected (with the ":SEARch:SERial:USBPd:MODE HEADer" command) and the Data Message header type is selected (with the ":SEARch:SERial:USBPd:HEADer DMESsage""command), the :SEARch:SERial:USBPd:HEADer:DMESsage command selects the data message type:

  • SRCap — Source_Capabilities

  • REQuest — Request

  • BIST— BIST

  • SNCap — Sink_Capabilities

  • BSTatus — Battery_Status

  • ALERt — Alert

  • GCINfo — Get_Country_Info

  • VDEFined — Vendor_Defined

Query Syntax

:SEARch:SERial:USBPd:HEADer:DMESsage?

The :SEARch:SERial:USBPd:HEADer:DMESsage? query returns the selected Header Content data message type,

Return Format

<type><NL>
<type> ::= {SRC | REQ | BIST | SNC | BST | ALER | GCIN | VDEF}

See Also

  • :SEARch:SERial:USBPd:MODE

  • :SEARch:SERial:USBPd:HEADer

  • :SEARch:SERial:USBPd:HEADer:CMESsage

  • :SEARch:SERial:USBPd:HEADer:EMESsage

  • :SEARch:SERial:USBPd:HEADer:VALue

  • :SEARch:SERial:USBPd:HEADer:QUALifier


:SEARch:SERial:USBPd:HEADer:EMESsage

:SEARch:SERial:USBPd Commands

Name

:SEARch:SERial:USBPd:HEADer:EMESsage —

Command Syntax

:SEARch:SERial:USBPd:HEADer:EMESsage <type>
<type> ::= {SCX | STATus | GBCap | GBSTatus | BCAP | GMINfo | MINFo
   | SREQuest | SRESponse | FREQuest | FRESponse | PSTatus | CINFo
   | CCODes}

When the Header Content search mode is selected (with the ":SEARch:SERial:USBPd:MODE HEADer" command) and the Extended Message header type is selected (with the ":SEARch:SERial:USBPd:HEADer EMESsage" command), the :SEARch:SERial:USBPd:HEADer:EMESsage command selects the extended message type:

  • SCX — Source_Capabilities_Extended

  • STATus — Status

  • GBCap — Get_Battery_Cap

  • GBSTatus — Get_Battery_Status

  • BCAP — Battery_Capabilities

  • GMINfo — Get_Manufacturer_Info

  • MINFo — Manufacturer_Info

  • SREQuest — Security_Request

  • SRESponse — Security_Response

  • FREQuest — Firmware_Update_Request

  • FRESponse — Firmware_Update_Response

  • PSTatus — PPS_Status

  • CINFo — Country_Info

  • CCODes — Country_Codes

Query Syntax

:SEARch:SERial:USBPd:HEADer:EMESsage?

The :SEARch:SERial:USBPd:HEADer:EMESsage? query returns the selected Header Content extended message type.

Return Format

<type><NL>
<type> ::= {SCX | STAT | GBC | GBST | BCAP | GMIN | MINF | SREQ | SRES
   | FREQ | FRES | PST | CINF | CCOD}

See Also

  • :SEARch:SERial:USBPd:MODE

  • :SEARch:SERial:USBPd:HEADer

  • :SEARch:SERial:USBPd:HEADer:CMESsage

  • :SEARch:SERial:USBPd:HEADer:DMESsage

  • :SEARch:SERial:USBPd:HEADer:VALue

  • :SEARch:SERial:USBPd:HEADer:QUALifier


:SEARch:SERial:USBPd:HEADer:QUALifier

:SEARch:SERial:USBPd Commands

Name

:SEARch:SERial:USBPd:HEADer:QUALifier —

Command Syntax

:SEARch:SERial:USBPd:HEADer:QUALifier <type>
<type> ::= {NONE | SOP | SPRime | SDPRime}

The :SEARch:SERial:USBPd:HEADer:QUALifier command ...

When the Header Content search mode is selected (with the :SEARch:SERial:USBPd:MODE HEADer command), the :SEARch:SERial:USBPd:HEADer:QUALifier command selects an additional qualifier for the Header Content search:

  • NONE — None. There is no additional qualifier for the trigger.

  • SOP — SOP. The trigger occurs on Sync-1, Sync-1, Sync-1, Sync-2 ordered sets only.

  • SPRime — SOP'. The trigger occurs on Sync-1, Sync-1, Sync-3, Sync-3 ordered sets only.

  • SDPRime — SOP''. The trigger occurs on Sync-1, Sync-3, Sync-1, Sync-3 ordered sets only.

Query Syntax

:SEARch:SERial:USBPd:HEADer:QUALifier?

The :SEARch:SERial:USBPd:HEADer:QUALifier? query returns the selected Header Content additional qualifier.

Return Format

<type><NL>
<type> ::= {NONE | SOP | SPR | SDPR}

See Also

  • :SEARch:SERial:USBPd:MODE

  • :SEARch:SERial:USBPd:HEADer

  • :SEARch:SERial:USBPd:HEADer:CMESsage

  • :SEARch:SERial:USBPd:HEADer:DMESsage

  • :SEARch:SERial:USBPd:HEADer:EMESsage

  • :SEARch:SERial:USBPd:HEADer:VALue


:SEARch:SERial:USBPd:HEADer:VALue

:SEARch:SERial:USBPd Commands

Name

:SEARch:SERial:USBPd:HEADer:VALue —

Command Syntax

:SEARch:SERial:USBPd:HEADer:VALue <string>
<string> ::= "nn...n" where n ::= {0 | 1 | X}
<string ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $}

When the Header Content search mode is selected (with the ":SEARch:SERial:USBPd:MODE HEADer" command) and the user-defined Value type is selected (with the ""SEARch:SERial:USBPd:HEADer VALue" command), the :SBUS<n>:USBPd:TRIGger:HEADer:VALue command specifies the user-defined header value.

Query Syntax

:SEARch:SERial:USBPd:HEADer:VALue?

The :SEARch:SERial:USBPd:HEADer:VALue? query returns the specified user-defined header value.

Return Format

<string><NL>
<string> ::= "nn...n" where n ::= {0 | 1 | X}

See Also

  • :SEARch:SERial:USBPd:MODE

  • :SEARch:SERial:USBPd:HEADer

  • :SEARch:SERial:USBPd:HEADer:CMESsage

  • :SEARch:SERial:USBPd:HEADer:DMESsage

  • :SEARch:SERial:USBPd:HEADer:EMESsage

  • :SEARch:SERial:USBPd:HEADer:QUALifier


:STATus Commands

The STATus commands subsystem controls the status registers defined for the HD3-Series oscilloscopes. See:

  • Introduction to :STATus Commands

  • General :STATus Commands

  • :STATus:OPERation Commands

  • :STATus:OPERation:ARM Commands

  • :STATus:OPERation:HARDware Commands

  • :STATus:OPERation:LOCal Commands

  • :STATus:OPERation:MTESt Commands

  • :STATus:OPERation:OVERload Commands

  • :STATus:OPERation:OVERload:PFAult Commands

  • :STATus:OPERation:POWer Commands

  • :STATus:TRIGger Commands

  • :STATus:USER Commands

Introduction to :STATus Commands

The commands in the STATus commands subsystem control the status registers defined for the HD3-Series oscilloscopes.

The SCPI-standard Standard Event Status Register, Status Byte Register, and Service Request Enable Register are also present in the HD3-Series oscilloscopes, but they are controlled with the common (*) commands: *ESR?, *ESE, *STB?, and *SRE.

The status registers defined for the HD3-Series oscilloscopes follow the SCPI status register model where a Condition register continuously monitors status, Transition Filters allow status transitions to be latched into an Event register, and an Enable register allows events to affect a Summary Message that is sent to a parent in the status register hierarchy.

Every status register defined for the HD3-Series oscilloscopes is actually a collection of three registers and two transition filters that let you manage particular status events.

Figure 3. SCPI Status Register Model

SCPI Status Register Model

So, for each status register defined for the HD3-Series oscilloscopes, there are these commands and queries:

  • :STATus:<register>:CONDition? — For reading the Condition register.

  • :STATus:<register>:PTRansition — For specifying the bits on which a positive transition (0 to 1 or FALSE to TRUE) will be latched into the Event register.

  • :STATus:<register>:NTRansition — For specifying the bits on which a negative transition (1 to 0 or TRUE to FALSE) will be latched into the Event register.

    Both positive and negative transitions can be enabled for a bit. In this case, any transition is latched into the Event register.

  • :STATus:<register>[:EVENt]? — For reading whether events have occurred since the last time the register was read.

    Reading an Event register clears it.

  • :STATus:<register>:ENABle — For specifying which bits affect the Summary Message.

And there are these variations for reading and setting individual bits:

  • :STATus:<register>:BIT<b>:CONDition?

  • :STATus:<register>:BIT<b>:PTRansition

  • :STATus:<register>:BIT<b>:NTRansition

  • :STATus:<register>:BIT<b>[:EVENt]?

    Reading an individual bit in the Event register clears only that bit.

  • :STATus:<register>:BIT<b>:ENABle

The status registers defined for the HD3-Series oscilloscopes are 16-bit registers, but the most-significant bit (bit 15) is never used and always returns zero.

See Also

  • *ESR? (Standard Event Status Register)

  • *ESE (Standard Event Status Enable)

  • *STB? (Read Status Byte)

  • *SRE (Service Request Enable)


General :STATus Commands

General :STATus Commands Summary:

Command | Query | Options and Query Returns
:STATus:PRESet | n/a | n/a


:STATus:PRESet

General :STATus Commands

Name

:STATus:PRESet —

Command Syntax

:STATus:PRESet

The :STATus:PRESet command sets all the transition filters and enable registers to their default state.

See Also

  • Introduction to :STATus Commands

  • General :STATus Commands

  • :STATus:OPERation Commands

  • :STATus:OPERation:ARM Commands

  • :STATus:OPERation:HARDware Commands

  • :STATus:OPERation:LOCal Commands

  • :STATus:OPERation:MTESt Commands

  • :STATus:OPERation:OVERload Commands

  • :STATus:OPERation:OVERload:PFAult Commands

  • :STATus:OPERation:POWer Commands

  • :STATus:TRIGger Commands

  • :STATus:USER Commands

  • *CLS (Clear Status)


:STATus:OPERation Commands

The :STATus:OPERation commands control the Operation Status Register.

:STATus:OPERation Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:BIT<b>:ENABle <bit_value> | :STATus:OPERation:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ENABle <sum_of_bits> | :STATus:OPERation:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:NTRansition <sum_of_bits> | :STATus:OPERation:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:PTRansition <sum_of_bits> | :STATus:OPERation:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Operation Status Register

To see where the Operation Status Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Operation Status Register.

Operation Status Register Bits:

Bit Name Description When Set (1 = High = True), Indicates: From:
15 --- ---

(Not used, always zero.)

---
14 IOF IO Operation Failed

Event only when something causes the IO operation to fail, like disconnecting a USB device or interrupting the operation from the oscilloscope's front panel.

---
13 IOC IO Operation Complete

Event when any IO operation completes. IO operations are any remote data request using any interface (USB or LAN). For example, if you connect to an oscilloscope using the USB interface and then request waveform data, the IOC bit will be set when the IO operation completes.

---
12 HWE Hardware Event

Event when hardware event occurs.

Hardware Operation Register

11 OVLR Overload

A 50Ω input overload has occurred.

Overload Operation Register

10 HIST Histogram

A histogram counter overflow has occurred.

---
9 MTE Mask Test Event

A mask test event has occurred.

Mask Test Operation Register

8 LCL Local

A Test Fail or Test Complete has occurred.

Local Operation Register

7 Power Power

Can potentially indicate a power measurements application Deskew, Apply, or Setup is complete,

Power Operation Register

6 --- ---

(Not used.)

---
5 Wait Trig Wait Trig

The trigger is armed (set by the Trigger Armed Event Register (TER)).

Arm Event Register (can also use :AER?)

4 RUI Enab Remote Enabled

The remote user interface has gone from a disabled state to an enabled state.

The front-panel graphical user interface can disable most of the remote interface, including the *OPC syntax, for example when:

  • a modal dialog box is open

  • the user is being prompted

  • all segments are being analyzed

  • there is a channel overload

  • certain compliance applications are running

When disabled, commands or queries are accepted, but "settings conflict" errors are returned. The status model is the only part of the remote user interface that is enabled.

To determine when the remote interface is re-enabled, you can read this bit or wait for the event that gets generated when its status goes from disabled to enabled.

---
3 Run Running

The oscilloscope has gone from a stop state to a single or running state.

---
2 --- ---

(Not used.)

---
1 --- ---

(Not used.)

---
0 Calibrating Calibrating

The oscilloscope is calibrating.

---

When enabled, the summary message for the Operation Status Register goes to Status Byte Register bit 7 (OPER). See *CLS (Clear Status).


:STATus:OPERation:BIT<b>:CONDition?

:STATus:OPERation Commands

Name

:STATus:OPERation:BIT<b>:CONDition? —

Query Syntax

:STATus:OPERation:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation:PTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:BIT<b>:ENABle

:STATus:OPERation Commands

Name

:STATus:OPERation:BIT<b>:ENABle —

Command Syntax

:STATus:OPERation:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:BIT<b>:ENABle?

The :STATus:OPERation:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation:PTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:BIT<b>:NTRansition

:STATus:OPERation Commands

Name

:STATus:OPERation:BIT<b>:NTRansition —

Command Syntax

:STATus:OPERation:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:BIT<b>:NTRansition?

The :STATus:OPERation:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation:PTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:BIT<b>:PTRansition

:STATus:OPERation Commands

Name

:STATus:OPERation:BIT<b>:PTRansition —

Command Syntax

:STATus:OPERation:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:BIT<b>:PTRansition?

The :STATus:OPERation:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation:PTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:BIT<b>[:EVENt]?

:STATus:OPERation Commands

Name

:STATus:OPERation:BIT<b>[:EVENt]? —

Query Syntax

:STATus:OPERation:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation:PTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:CONDition?

:STATus:OPERation Commands

Name

:STATus:OPERation:CONDition? —

Query Syntax

:STATus:OPERation:CONDition?

The :STATus:OPERation:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation:PTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ENABle

:STATus:OPERation Commands

Name

:STATus:OPERation:ENABle —

Command Syntax

:STATus:OPERation:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:ENABle?

The :STATus:OPERation:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation:PTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:NTRansition

:STATus:OPERation Commands

Name

:STATus:OPERation:NTRansition —

Command Syntax

:STATus:OPERation:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:OPERation:NTRansition?

The :STATus:OPERation:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:PTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:PTRansition

:STATus:OPERation Commands

Name

:STATus:OPERation:PTRansition —

Command Syntax

:STATus:OPERation:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:OPERation:PTRansition?

The :STATus:OPERation:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation[:EVENt]?

:STATus:OPERation Commands

Name

:STATus:OPERation[:EVENt]? —

Query Syntax

:STATus:OPERation[:EVENt]?

The :STATus:OPERation[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:BIT<b>:CONDition?

  • :STATus:OPERation:BIT<b>:ENABle

  • :STATus:OPERation:BIT<b>:NTRansition

  • :STATus:OPERation:BIT<b>:PTRansition

  • :STATus:OPERation:BIT<b>[:EVENt]?

  • :STATus:OPERation:CONDition?

  • :STATus:OPERation:ENABle

  • :STATus:OPERation:NTRansition

  • :STATus:OPERation:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM Commands

The :STATus:OPERation:ARM commands control the Arm Event Register.

:STATus:OPERation:ARM Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:ARM:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:BIT<b>:ENABle <bit_value> | :STATus:OPERation:ARM:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:ARM:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:ARM:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:ARM:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:ARM:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:ENABle <sum_of_bits> | :STATus:OPERation:ARM:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:NTRansition <sum_of_bits> | :STATus:OPERation:ARM:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:ARM:PTRansition <sum_of_bits> | :STATus:OPERation:ARM:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:ARM[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Arm Event Register

To see where the Arm Event Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Arm Event Register.

Arm Event Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
15 | --- | --- | (Not used, always zero.)
14 | --- | --- | (Not used.)
13 | --- | --- | (Not used.)
12 | --- | --- | (Not used.)
11 | --- | --- | (Not used.)
10 | --- | --- | (Not used.)
9 | --- | --- | (Not used.)
8 | --- | --- | (Not used.)
7 | --- | --- | (Not used.)
6 | --- | --- | (Not used.)
5 | --- | --- | (Not used.)
4 | --- | --- | (Not used.)
3 | --- | --- | (Not used.)
2 | --- | --- | (Not used.)
1 | --- | --- | (Not used.)
0 | Armed | Armed | The trigger system is ready to look of triggers.

When enabled, the summary message for the Arm Event Register goes to Operation Status Register bit 5 (WAIT TRIG). See :STATus:OPERation Commands.


:STATus:OPERation:ARM:BIT<b>:CONDition?

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:BIT<b>:CONDition? —

Query Syntax

:STATus:OPERation:ARM:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:ARM:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM:BIT<b>:ENABle

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:BIT<b>:ENABle —

Command Syntax

:STATus:OPERation:ARM:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:ARM:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:ARM:BIT<b>:ENABle?

The :STATus:OPERation:ARM:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM:BIT<b>:NTRansition

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:BIT<b>:NTRansition —

Command Syntax

:STATus:OPERation:ARM:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:ARM:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:ARM:BIT<b>:NTRansition?

The :STATus:OPERation:ARM:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM:BIT<b>:PTRansition

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:BIT<b>:PTRansition —

Command Syntax

:STATus:OPERation:ARM:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:ARM:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:ARM:BIT<b>:PTRansition?

The :STATus:OPERation:ARM:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM:BIT<b>[:EVENt]?

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:BIT<b>[:EVENt]? —

Query Syntax

:STATus:OPERation:ARM:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:ARM:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

[Note]

The :AER? query is an alias for the :STATus:OPERation:ARM:BIT0[:EVENt]? query.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)

  • :AER? (Arm Event Register)


:STATus:OPERation:ARM:CONDition?

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:CONDition? —

Query Syntax

:STATus:OPERation:ARM:CONDition?

The :STATus:OPERation:ARM:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM:ENABle

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:ENABle —

Command Syntax

:STATus:OPERation:ARM:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:ARM:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:ARM:ENABle?

The :STATus:OPERation:ARM:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM:NTRansition

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:NTRansition —

Command Syntax

:STATus:OPERation:ARM:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:ARM:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:OPERation:ARM:NTRansition?

The :STATus:OPERation:ARM:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM:PTRansition

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM:PTRansition —

Command Syntax

:STATus:OPERation:ARM:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:ARM:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:OPERation:ARM:PTRansition?

The :STATus:OPERation:ARM:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:ARM[:EVENt]?

:STATus:OPERation:ARM Commands

Name

:STATus:OPERation:ARM[:EVENt]? —

Query Syntax

:STATus:OPERation:ARM[:EVENt]?

The :STATus:OPERation:ARM[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

[Note]

Because bit 0 is the only bit being used in the Arm Event Register and the only one that can be latched into the Event register, the :AER? query is an alias for the :STATus:OPERation:ARM[:EVENt]? query.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:ARM:BIT<b>:CONDition?

  • :STATus:OPERation:ARM:BIT<b>:ENABle

  • :STATus:OPERation:ARM:BIT<b>:NTRansition

  • :STATus:OPERation:ARM:BIT<b>:PTRansition

  • :STATus:OPERation:ARM:BIT<b>[:EVENt]?

  • :STATus:OPERation:ARM:CONDition?

  • :STATus:OPERation:ARM:ENABle

  • :STATus:OPERation:ARM:NTRansition

  • :STATus:OPERation:ARM:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)

  • :AER? (Arm Event Register)


:STATus:OPERation:HARDware Commands

The :STATus:OPERation:HARDware commands control the Hardware Operation Register.

:STATus:OPERation:HARDware Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:HARDware:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:BIT<b>:ENABle <bit_value> | :STATus:OPERation:HARDware:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:HARDware:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:HARDware:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:HARDware:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:HARDware:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:ENABle <sum_of_bits> | :STATus:OPERation:HARDware:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:NTRansition <sum_of_bits> | :STATus:OPERation:HARDware:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:HARDware:PTRansition <sum_of_bits> | :STATus:OPERation:HARDware:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:HARDware[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Hardware Operation Register

To see where the Hardware Operation Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Hardware Operation Register.

Hardware Operation Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
15 | --- | --- | (Not used, always zero.)
14 | --- | --- | (Not used.)
13 | --- | --- | (Not used.)
12 | PLL Locked | PLL Locked | This bit is for internal use and is not intended for general use.
11 | --- | --- | (Not used.)
10 | --- | --- | (Not used.)
9 | --- | --- | (Not used.)
8 | --- | --- | (Not used.)
7 | --- | --- | (Not used.)
6 | --- | --- | (Not used.)
5 | --- | --- | (Not used.)
4 | --- | --- | (Not used.)
3 | --- | --- | (Not used.)
2 | --- | --- | (Not used.)
1 | Battery Low | Battery Low | Reserved for battery-operated oscilloscope models.
0 | Battery On | Battery On | Reserved for battery-operated oscilloscope models.

When enabled, the summary message for the Hardware Operation Register goes to Operation Status Register bit 12 (HWE). See :STATus:OPERation Commands.


:STATus:OPERation:HARDware:BIT<b>:CONDition?

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:BIT<b>:CONDition? —

Query Syntax

:STATus:OPERation:HARDware:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:HARDware:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware:BIT<b>:ENABle

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:BIT<b>:ENABle —

Command Syntax

:STATus:OPERation:HARDware:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:HARDware:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:HARDware:BIT<b>:ENABle?

The :STATus:OPERation:HARDware:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware:BIT<b>:NTRansition

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:BIT<b>:NTRansition —

Command Syntax

:STATus:OPERation:HARDware:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:HARDware:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:HARDware:BIT<b>:NTRansition?

The :STATus:OPERation:HARDware:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware:BIT<b>:PTRansition

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:BIT<b>:PTRansition —

Command Syntax

:STATus:OPERation:HARDware:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:HARDware:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:HARDware:BIT<b>:PTRansition?

The :STATus:OPERation:HARDware:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware:BIT<b>[:EVENt]?

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:BIT<b>[:EVENt]? —

Query Syntax

:STATus:OPERation:HARDware:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:HARDware:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware:CONDition?

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:CONDition? —

Query Syntax

:STATus:OPERation:HARDware:CONDition?

The :STATus:OPERation:HARDware:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware:ENABle

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:ENABle —

Command Syntax

:STATus:OPERation:HARDware:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:HARDware:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:HARDware:ENABle?

The :STATus:OPERation:HARDware:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware:NTRansition

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:NTRansition —

Command Syntax

:STATus:OPERation:HARDware:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:HARDware:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:OPERation:HARDware:NTRansition?

The :STATus:OPERation:HARDware:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware:PTRansition

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware:PTRansition —

Command Syntax

:STATus:OPERation:HARDware:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:HARDware:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:OPERation:HARDware:PTRansition?

The :STATus:OPERation:HARDware:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:HARDware[:EVENt]?

:STATus:OPERation:HARDware Commands

Name

:STATus:OPERation:HARDware[:EVENt]? —

Query Syntax

:STATus:OPERation:HARDware[:EVENt]?

The :STATus:OPERation:HARDware[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:HARDware:BIT<b>:CONDition?

  • :STATus:OPERation:HARDware:BIT<b>:ENABle

  • :STATus:OPERation:HARDware:BIT<b>:NTRansition

  • :STATus:OPERation:HARDware:BIT<b>:PTRansition

  • :STATus:OPERation:HARDware:BIT<b>[:EVENt]?

  • :STATus:OPERation:HARDware:CONDition?

  • :STATus:OPERation:HARDware:ENABle

  • :STATus:OPERation:HARDware:NTRansition

  • :STATus:OPERation:HARDware:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal Commands

The :STATus:OPERation:LOCal commands control the Local Operation Register.

:STATus:OPERation:LOCal Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:LOCal:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:BIT<b>:ENABle <bit_value> | :STATus:OPERation:LOCal:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:LOCal:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:LOCal:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:LOCal:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:LOCal:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:ENABle <sum_of_bits> | :STATus:OPERation:LOCal:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:NTRansition <sum_of_bits> | :STATus:OPERation:LOCal:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:LOCal:PTRansition <sum_of_bits> | :STATus:OPERation:LOCal:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:LOCal[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Local Operation Register

To see where the Local Operation Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Local Operation Register.

Local Operation Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
15 | --- | --- | (Not used, always zero.)
14 | --- | --- | (Not used.)
13 | --- | --- | (Not used.)
12 | --- | --- | (Not used.)
11 | --- | --- | (Not used.)
10 | --- | --- | (Not used.)
9 | --- | --- | (Not used.)
8 | --- | --- | (Not used.)
7 | --- | --- | (Not used.)
6 | --- | --- | (Not used.)
5 | --- | --- | (Not used.)
4 | --- | --- | (Not used.)
3 | --- | --- | (Not used.)
2 | --- | --- | (Not used.)
1 | Test Fail | Test Fail | A test failure has occurred.
0 | Test Complete | Test Complete | A test completion has occurred.

When enabled, the summary message for the Local Operation Register goes to Operation Status Register bit 8 (Lcl). See :STATus:OPERation Commands.


:STATus:OPERation:LOCal:BIT<b>:CONDition?

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:BIT<b>:CONDition? —

Query Syntax

:STATus:OPERation:LOCal:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:LOCal:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal:BIT<b>:ENABle

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:BIT<b>:ENABle —

Command Syntax

:STATus:OPERation:LOCal:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:LOCal:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:LOCal:BIT<b>:ENABle?

The :STATus:OPERation:LOCal:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal:BIT<b>:NTRansition

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:BIT<b>:NTRansition —

Command Syntax

:STATus:OPERation:LOCal:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:LOCal:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:LOCal:BIT<b>:NTRansition?

The :STATus:OPERation:LOCal:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal:BIT<b>:PTRansition

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:BIT<b>:PTRansition —

Command Syntax

:STATus:OPERation:LOCal:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:LOCal:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:LOCal:BIT<b>:PTRansition?

The :STATus:OPERation:LOCal:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal:BIT<b>[:EVENt]?

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:BIT<b>[:EVENt]? —

Query Syntax

:STATus:OPERation:LOCal:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:LOCal:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal:CONDition?

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:CONDition? —

Query Syntax

:STATus:OPERation:LOCal:CONDition?

The :STATus:OPERation:LOCal:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal:ENABle

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:ENABle —

Command Syntax

:STATus:OPERation:LOCal:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:LOCal:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:LOCal:ENABle?

The :STATus:OPERation:LOCal:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal:NTRansition

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:NTRansition —

Command Syntax

:STATus:OPERation:LOCal:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:LOCal:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:OPERation:LOCal:NTRansition?

The :STATus:OPERation:LOCal:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal:PTRansition

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal:PTRansition —

Command Syntax

:STATus:OPERation:LOCal:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:LOCal:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:OPERation:LOCal:PTRansition?

The :STATus:OPERation:LOCal:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:LOCal[:EVENt]?

:STATus:OPERation:LOCal Commands

Name

:STATus:OPERation:LOCal[:EVENt]? —

Query Syntax

:STATus:OPERation:LOCal[:EVENt]?

The :STATus:OPERation:LOCal[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:LOCal:BIT<b>:CONDition?

  • :STATus:OPERation:LOCal:BIT<b>:ENABle

  • :STATus:OPERation:LOCal:BIT<b>:NTRansition

  • :STATus:OPERation:LOCal:BIT<b>:PTRansition

  • :STATus:OPERation:LOCal:BIT<b>[:EVENt]?

  • :STATus:OPERation:LOCal:CONDition?

  • :STATus:OPERation:LOCal:ENABle

  • :STATus:OPERation:LOCal:NTRansition

  • :STATus:OPERation:LOCal:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt Commands

The :STATus:OPERation:MTESt commands control the Mask Test Operation Register.

:STATus:OPERation:MTESt Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:MTESt:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:BIT<b>:ENABle <bit_value> | :STATus:OPERation:MTESt:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:MTESt:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:MTESt:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:MTESt:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:MTESt:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:ENABle <sum_of_bits> | :STATus:OPERation:MTESt:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:NTRansition <sum_of_bits> | :STATus:OPERation:MTESt:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:MTESt:PTRansition <sum_of_bits> | :STATus:OPERation:MTESt:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:MTESt[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Mask Test Operation Register

To see where the Mask Test Operation Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Mask Test Operation Register.

Mask Test Operation Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
15 | --- | --- | (Not used, always zero.)
14 | --- | --- | (Not used.)
13 | --- | --- | (Not used.)
12 | --- | --- | (Not used.)
11 | --- | --- | (Not used.)
10 | Auto Mask | Auto Mask Created | Auto mask creation completed.
9 | Pass | Mask Test Pass | The mask test passed.
8 | Started | Mask Testing Started | Mask testing started.
7 | --- | --- | (Not used.)
6 | --- | --- | (Not used.)
5 | --- | --- | (Not used.)
4 | --- | --- | (Not used.)
3 | --- | --- | (Not used.)
2 | --- | --- | (Not used.)
1 | Fail | Mask Test Fail | The mask test failed.
0 | Complete | Mask Test Complete | The mask test is complete.

When enabled, the summary message for the Mask Test Operation Register goes to Operation Status Register bit 9 (MTE). See :STATus:OPERation Commands.


:STATus:OPERation:MTESt:BIT<b>:CONDition?

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:BIT<b>:CONDition? —

Query Syntax

:STATus:OPERation:MTESt:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:MTESt:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt:BIT<b>:ENABle

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:BIT<b>:ENABle —

Command Syntax

:STATus:OPERation:MTESt:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:MTESt:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:MTESt:BIT<b>:ENABle?

The :STATus:OPERation:MTESt:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt:BIT<b>:NTRansition

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:BIT<b>:NTRansition —

Command Syntax

:STATus:OPERation:MTESt:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:MTESt:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:MTESt:BIT<b>:NTRansition?

The :STATus:OPERation:MTESt:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt:BIT<b>:PTRansition

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:BIT<b>:PTRansition —

Command Syntax

:STATus:OPERation:MTESt:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:MTESt:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:MTESt:BIT<b>:PTRansition?

The :STATus:OPERation:MTESt:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt:BIT<b>[:EVENt]?

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:BIT<b>[:EVENt]? —

Query Syntax

:STATus:OPERation:MTESt:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:MTESt:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt:CONDition?

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:CONDition? —

Query Syntax

:STATus:OPERation:MTESt:CONDition?

The :STATus:OPERation:MTESt:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt:ENABle

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:ENABle —

Command Syntax

:STATus:OPERation:MTESt:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:MTESt:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:MTESt:ENABle?

The :STATus:OPERation:MTESt:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt:NTRansition

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:NTRansition —

Command Syntax

:STATus:OPERation:MTESt:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:MTESt:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:OPERation:MTESt:NTRansition?

The :STATus:OPERation:MTESt:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt:PTRansition

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt:PTRansition —

Command Syntax

:STATus:OPERation:MTESt:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:MTESt:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:OPERation:MTESt:PTRansition?

The :STATus:OPERation:MTESt:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:MTESt[:EVENt]?

:STATus:OPERation:MTESt Commands

Name

:STATus:OPERation:MTESt[:EVENt]? —

Query Syntax

:STATus:OPERation:MTESt[:EVENt]?

The :STATus:OPERation:MTESt[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:MTESt:BIT<b>:CONDition?

  • :STATus:OPERation:MTESt:BIT<b>:ENABle

  • :STATus:OPERation:MTESt:BIT<b>:NTRansition

  • :STATus:OPERation:MTESt:BIT<b>:PTRansition

  • :STATus:OPERation:MTESt:BIT<b>[:EVENt]?

  • :STATus:OPERation:MTESt:CONDition?

  • :STATus:OPERation:MTESt:ENABle

  • :STATus:OPERation:MTESt:NTRansition

  • :STATus:OPERation:MTESt:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload Commands

The :STATus:OPERation:OVERload commands control the Overload Operation Register.

:STATus:OPERation:OVERload Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:OVERload:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:BIT<b>:ENABle <bit_value> | :STATus:OPERation:OVERload:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:OVERload:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:OVERload:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:ENABle <sum_of_bits> | :STATus:OPERation:OVERload:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:NTRansition <sum_of_bits> | :STATus:OPERation:OVERload:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PTRansition <sum_of_bits> | :STATus:OPERation:OVERload:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Overload Operation Register

To see where the Overload Operation Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Overload Operation Register.

Overload Operation Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates: | From:
15 | --- | --- | (Not used, always zero.) | ---
14 | --- | --- | (Not used.) | ---
13 | --- | External Trigger Fault | Fault has occurred on the External Trigger input. | ---
12 | --- | Channel Probe Fault Summary | Enabled event in the Probe Fault Register has occurred. | Probe Fault Register
11 | --- | --- | (Not used.) | ---
10 | --- | --- | (Not used.) | ---
9 | --- | --- | (Not used.) | ---
8 | EXT TRIG OVLD | External Trigger Overload | Overload has occurred on the External Trigger input. | ---
7 | CH8 OVLD | Channel 8 Overload. | Overload has occurred on Channel 8 input. | ---
6 | CH7 OVLD | Channel 7 Overload. | Overload has occurred on Channel 7 input. | ---
5 | CH6 OVLD | Channel 6 Overload. | Overload has occurred on Channel 6 input. | ---
4 | CH5 OVLD | Channel 5 Overload. | Overload has occurred on Channel 5 input. | ---
3 | CH4 OVLD | Channel 4 Overload. | Overload has occurred on Channel 4 input. | ---
2 | CH3 OVLD | Channel 3 Overload. | Overload has occurred on Channel 3 input. | ---
1 | CH2 OVLD | Channel 2 Overload. | Overload has occurred on Channel 2 input. | ---
0 | CH1 OVLD | Channel 1 Overload. | Overload has occurred on Channel 1 input. | ---

When enabled, the summary message for the Overload Operation Register goes to Operation Status Register bit 11 (OVLD). See :STATus:OPERation Commands.


:STATus:OPERation:OVERload:BIT<b>:CONDition?

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:BIT<b>:CONDition? —

Query Syntax

:STATus:OPERation:OVERload:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:OVERload:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:BIT<b>:ENABle

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:BIT<b>:ENABle —

Command Syntax

:STATus:OPERation:OVERload:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:OVERload:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:OVERload:BIT<b>:ENABle?

The :STATus:OPERation:OVERload:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:BIT<b>:NTRansition

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:BIT<b>:NTRansition —

Command Syntax

:STATus:OPERation:OVERload:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:OVERload:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:OVERload:BIT<b>:NTRansition?

The :STATus:OPERation:OVERload:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:BIT<b>:PTRansition

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:BIT<b>:PTRansition —

Command Syntax

:STATus:OPERation:OVERload:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:OVERload:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:OVERload:BIT<b>:PTRansition?

The :STATus:OPERation:OVERload:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:BIT<b>[:EVENt]?

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:BIT<b>[:EVENt]? —

Query Syntax

:STATus:OPERation:OVERload:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:OVERload:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:CONDition?

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:CONDition? —

Query Syntax

:STATus:OPERation:OVERload:CONDition?

The :STATus:OPERation:OVERload:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:ENABle

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:ENABle —

Command Syntax

:STATus:OPERation:OVERload:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:OVERload:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:OVERload:ENABle?

The :STATus:OPERation:OVERload:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:NTRansition

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:NTRansition —

Command Syntax

:STATus:OPERation:OVERload:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:OVERload:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:OPERation:OVERload:NTRansition?

The :STATus:OPERation:OVERload:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PTRansition

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload:PTRansition —

Command Syntax

:STATus:OPERation:OVERload:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:OVERload:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:OPERation:OVERload:PTRansition?

The :STATus:OPERation:OVERload:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload[:EVENt]?

:STATus:OPERation:OVERload Commands

Name

:STATus:OPERation:OVERload[:EVENt]? —

Query Syntax

:STATus:OPERation:OVERload[:EVENt]?

The :STATus:OPERation:OVERload[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:CONDition?

  • :STATus:OPERation:OVERload:ENABle

  • :STATus:OPERation:OVERload:NTRansition

  • :STATus:OPERation:OVERload:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult Commands

The :STATus:OPERation:OVERload:PFAult commands control the Probe Fault Register.

:STATus:OPERation:OVERload:PFAult Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle <bit_value> | :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:PFAult:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:ENABle <sum_of_bits> | :STATus:OPERation:OVERload:PFAult:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:NTRansition <sum_of_bits> | :STATus:OPERation:OVERload:PFAult:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:OVERload:PFAult:PTRansition <sum_of_bits> | :STATus:OPERation:OVERload:PFAult:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:OVERload:PFAult[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Probe Fault Register

To see where the Probe Fault Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Overload Operation Register.

Probe Fault Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
15 | --- | --- | (Not used, always zero.)
14 | --- | --- | (Not used.)
13 | --- | --- | (Not used.)
12 | --- | --- | (Not used.)
11 | --- | --- | (Not used.)
10 | --- | --- | (Not used.)
9 | --- | --- | (Not used.)
8 | --- | --- | (Not used.)
7 | CH8 PFA | Channel 8 Probe Fault. | Fault has occurred on Channel 8 input.
6 | CH7 PFA | Channel 7 Probe Fault. | Fault has occurred on Channel 7 input.
5 | CH6 PFA | Channel 6 Probe Fault. | Fault has occurred on Channel 6 input.
4 | CH5 PFA | Channel 5 Probe Fault. | Fault has occurred on Channel 5 input.
3 | CH4 PFA | Channel 4 Probe Fault. | Fault has occurred on Channel 4 input.
2 | CH3 PFA | Channel 3 Probe Fault. | Fault has occurred on Channel 3 input.
1 | CH2 PFA | Channel 2 Probe Fault. | Fault has occurred on Channel 2 input.
0 | CH1 PFA | Channel 1 Probe Fault. | Fault has occurred on Channel 1 input.

When enabled, the summary message for the Probe Fault Register goes to Overload Operation Register bit 12 (Chanel Probe Fault Summary). See :STATus:OPERation:OVERload Commands.


:STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition? —

Query Syntax

:STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle —

Command Syntax

:STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle?

The :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition —

Command Syntax

:STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition?

The :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition —

Command Syntax

:STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition?

The :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]? —

Query Syntax

:STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult:CONDition?

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:CONDition? —

Query Syntax

:STATus:OPERation:OVERload:PFAult:CONDition?

The :STATus:OPERation:OVERload:PFAult:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult:ENABle

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:ENABle —

Command Syntax

:STATus:OPERation:OVERload:PFAult:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:OVERload:PFAult:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:OVERload:PFAult:ENABle?

The :STATus:OPERation:OVERload:PFAult:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult:NTRansition

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:NTRansition —

Command Syntax

:STATus:OPERation:OVERload:PFAult:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:OVERload:PFAult:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:OPERation:OVERload:PFAult:NTRansition?

The :STATus:OPERation:OVERload:PFAult:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult:PTRansition

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult:PTRansition —

Command Syntax

:STATus:OPERation:OVERload:PFAult:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:OVERload:PFAult:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:OPERation:OVERload:PFAult:PTRansition?

The :STATus:OPERation:OVERload:PFAult:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:OVERload:PFAult[:EVENt]?

:STATus:OPERation:OVERload:PFAult Commands

Name

:STATus:OPERation:OVERload:PFAult[:EVENt]? —

Query Syntax

:STATus:OPERation:OVERload:PFAult[:EVENt]?

The :STATus:OPERation:OVERload:PFAult[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:CONDition?

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:ENABle

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:NTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>:PTRansition

  • :STATus:OPERation:OVERload:PFAult:BIT<b>[:EVENt]?

  • :STATus:OPERation:OVERload:PFAult:CONDition?

  • :STATus:OPERation:OVERload:PFAult:ENABle

  • :STATus:OPERation:OVERload:PFAult:NTRansition

  • :STATus:OPERation:OVERload:PFAult:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer Commands

The :STATus:OPERation:POWer commands control the Power Operation Register.

:STATus:OPERation:POWer Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:OPERation:POWer:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:BIT<b>:ENABle <bit_value> | :STATus:OPERation:POWer:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:BIT<b>:NTRansition <bit_value> | :STATus:OPERation:POWer:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:BIT<b>:PTRansition <bit_value> | :STATus:OPERation:POWer:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:POWer:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:POWer:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:ENABle <sum_of_bits> | :STATus:OPERation:POWer:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:NTRansition <sum_of_bits> | :STATus:OPERation:POWer:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:OPERation:POWer:PTRansition <sum_of_bits> | :STATus:OPERation:POWer:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:OPERation:POWer[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Power Operation Register

To see where the Power Operation Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Power Operation Register.

Power Operation Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
15 | --- | --- | (Not used, always zero.)
14 | --- | --- | (Not used.)
13 | --- | --- | (Not used.)
12 | --- | --- | (Not used.)
11 | --- | --- | (Not used.)
10 | --- | --- | (Not used.)
9 | --- | --- | (Not used.)
8 | --- | --- | (Not used.)
7 | --- | --- | (Not used.)
6 | --- | --- | (Not used.)
5 | --- | --- | (Not used.)
4 | --- | --- | (Not used.)
3 | --- | --- | (Not used.)
2 | Deskew Complete | Deskew Complete | A power application deskew operation is complete.
1 | Apply Complete | Apply Complete | A power application apply operation is complete.
0 | Setup Complete | Setup Complete | A power application setup operation is complete.

When enabled, the summary message for the Power Operation Register goes to Operation Status Register bit 7 (Power). See :STATus:OPERation Commands.


:STATus:OPERation:POWer:BIT<b>:CONDition?

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:BIT<b>:CONDition? —

Query Syntax

:STATus:OPERation:POWer:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:POWer:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer:BIT<b>:ENABle

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:BIT<b>:ENABle —

Command Syntax

:STATus:OPERation:POWer:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:POWer:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:POWer:BIT<b>:ENABle?

The :STATus:OPERation:POWer:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer:BIT<b>:NTRansition

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:BIT<b>:NTRansition —

Command Syntax

:STATus:OPERation:POWer:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:POWer:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:POWer:BIT<b>:NTRansition?

The :STATus:OPERation:POWer:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer:BIT<b>:PTRansition

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:BIT<b>:PTRansition —

Command Syntax

:STATus:OPERation:POWer:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:OPERation:POWer:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:OPERation:POWer:BIT<b>:PTRansition?

The :STATus:OPERation:POWer:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer:BIT<b>[:EVENt]?

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:BIT<b>[:EVENt]? —

Query Syntax

:STATus:OPERation:POWer:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:OPERation:POWer:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer:CONDition?

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:CONDition? —

Query Syntax

:STATus:OPERation:POWer:CONDition?

The :STATus:OPERation:POWer:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer:ENABle

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:ENABle —

Command Syntax

:STATus:OPERation:POWer:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:POWer:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:OPERation:POWer:ENABle?

The :STATus:OPERation:POWer:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer:NTRansition

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:NTRansition —

Command Syntax

:STATus:OPERation:POWer:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:POWer:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:OPERation:POWer:NTRansition?

The :STATus:OPERation:POWer:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer:PTRansition

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer:PTRansition —

Command Syntax

:STATus:OPERation:POWer:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:OPERation:POWer:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:OPERation:POWer:PTRansition?

The :STATus:OPERation:POWer:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:OPERation:POWer[:EVENt]?

:STATus:OPERation:POWer Commands

Name

:STATus:OPERation:POWer[:EVENt]? —

Query Syntax

:STATus:OPERation:POWer[:EVENt]?

The :STATus:OPERation:POWer[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:OPERation:POWer:BIT<b>:CONDition?

  • :STATus:OPERation:POWer:BIT<b>:ENABle

  • :STATus:OPERation:POWer:BIT<b>:NTRansition

  • :STATus:OPERation:POWer:BIT<b>:PTRansition

  • :STATus:OPERation:POWer:BIT<b>[:EVENt]?

  • :STATus:OPERation:POWer:CONDition?

  • :STATus:OPERation:POWer:ENABle

  • :STATus:OPERation:POWer:NTRansition

  • :STATus:OPERation:POWer:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger Commands

The :STATus:TRIGger commands control the Trigger Event Register.

:STATus:TRIGger Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:TRIGger:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:BIT<b>:ENABle <bit_value> | :STATus:TRIGger:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:BIT<b>:NTRansition <bit_value> | :STATus:TRIGger:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:BIT<b>:PTRansition <bit_value> | :STATus:TRIGger:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:TRIGger:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:TRIGger:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:ENABle <sum_of_bits> | :STATus:TRIGger:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:NTRansition <sum_of_bits> | :STATus:TRIGger:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:TRIGger:PTRansition <sum_of_bits> | :STATus:TRIGger:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:TRIGger[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

Trigger Event Register

To see where the Trigger Event Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the Trigger Event Register.

Trigger Event Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
15 | --- | --- | (Not used, always zero.)
14 | --- | --- | (Not used.)
13 | --- | --- | (Not used.)
12 | --- | --- | (Not used.)
11 | --- | --- | (Not used.)
10 | --- | --- | (Not used.)
9 | --- | --- | (Not used.)
8 | --- | --- | (Not used.)
7 | --- | --- | (Not used.)
6 | --- | --- | (Not used.)
5 | --- | --- | (Not used.)
4 | --- | --- | (Not used.)
3 | --- | --- | (Not used.)
2 | --- | --- | (Not used.)
1 | --- | --- | (Not used.)
0 | TER | Trigger Event | A trigger has occurred.

When enabled, the summary message for the Trigger Event Register goes to Status Byte Register bit 0 (TRG). See *CLS (Clear Status).


:STATus:TRIGger:BIT<b>:CONDition?

:STATus:TRIGger Commands

Name

:STATus:TRIGger:BIT<b>:CONDition? —

Query Syntax

:STATus:TRIGger:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:TRIGger:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger:PTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger:BIT<b>:ENABle

:STATus:TRIGger Commands

Name

:STATus:TRIGger:BIT<b>:ENABle —

Command Syntax

:STATus:TRIGger:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:TRIGger:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:TRIGger:BIT<b>:ENABle?

The :STATus:TRIGger:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger:PTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger:BIT<b>:NTRansition

:STATus:TRIGger Commands

Name

:STATus:TRIGger:BIT<b>:NTRansition —

Command Syntax

:STATus:TRIGger:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:TRIGger:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:TRIGger:BIT<b>:NTRansition?

The :STATus:TRIGger:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger:PTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger:BIT<b>:PTRansition

:STATus:TRIGger Commands

Name

:STATus:TRIGger:BIT<b>:PTRansition —

Command Syntax

:STATus:TRIGger:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:TRIGger:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:TRIGger:BIT<b>:PTRansition?

The :STATus:TRIGger:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger:PTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger:BIT<b>[:EVENt]?

:STATus:TRIGger Commands

Name

:STATus:TRIGger:BIT<b>[:EVENt]? —

Query Syntax

:STATus:TRIGger:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:TRIGger:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

[Note]

The :TER? query is an alias for the :STATus:TRIGger:BIT0[:EVENt]? query.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger:PTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)

  • :TER? (Trigger Event Register)


:STATus:TRIGger:CONDition?

:STATus:TRIGger Commands

Name

:STATus:TRIGger:CONDition? —

Query Syntax

:STATus:TRIGger:CONDition?

The :STATus:TRIGger:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger:PTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger:ENABle

:STATus:TRIGger Commands

Name

:STATus:TRIGger:ENABle —

Command Syntax

:STATus:TRIGger:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:TRIGger:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:TRIGger:ENABle?

The :STATus:TRIGger:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger:PTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger:NTRansition

:STATus:TRIGger Commands

Name

:STATus:TRIGger:NTRansition —

Command Syntax

:STATus:TRIGger:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:TRIGger:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:TRIGger:NTRansition?

The :STATus:TRIGger:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:PTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger:PTRansition

:STATus:TRIGger Commands

Name

:STATus:TRIGger:PTRansition —

Command Syntax

:STATus:TRIGger:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:TRIGger:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:TRIGger:PTRansition?

The :STATus:TRIGger:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:TRIGger[:EVENt]?

:STATus:TRIGger Commands

Name

:STATus:TRIGger[:EVENt]? —

Query Syntax

:STATus:TRIGger[:EVENt]?

The :STATus:TRIGger[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

[Note]

Because bit 0 is the only bit being used in the Trigger Event Register and the only one that can be latched into the Event register, the :TER? query is an alias for the :STATus:TRIGger[:EVENt]? query.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:TRIGger:BIT<b>:CONDition?

  • :STATus:TRIGger:BIT<b>:ENABle

  • :STATus:TRIGger:BIT<b>:NTRansition

  • :STATus:TRIGger:BIT<b>:PTRansition

  • :STATus:TRIGger:BIT<b>[:EVENt]?

  • :STATus:TRIGger:CONDition?

  • :STATus:TRIGger:ENABle

  • :STATus:TRIGger:NTRansition

  • :STATus:TRIGger:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)

  • :TER? (Trigger Event Register)


:STATus:USER Commands

The :STATus:USER commands control the User Event Register.

:STATus:USER Commands Summary:

Command | Query | Options and Query Returns
n/a | :STATus:USER:BIT<b>:CONDition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:USER:BIT<b>:ENABle <bit_value> | :STATus:USER:BIT<b>:ENABle? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:USER:BIT<b>:NTRansition <bit_value> | :STATus:USER:BIT<b>:NTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
:STATus:USER:BIT<b>:PTRansition <bit_value> | :STATus:USER:BIT<b>:PTRansition? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:USER:BIT<b>[:EVENt]? | <bit_value> ::= {0 | 1|} <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:USER:CONDition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:USER:ENABle <sum_of_bits> | :STATus:USER:ENABle? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:USER:NTRansition <sum_of_bits> | :STATus:USER:NTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
:STATus:USER:PTRansition <sum_of_bits> | :STATus:USER:PTRansition? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format
n/a | :STATus:USER[:EVENt]? | <sum_of_bits> ::= 0-32767; an integer in NR1 format <b> ::= 0-14; an integer in NR1 format

User Event Register

To see where the User Event Register appears in the status register hierarchy, see Status Reporting.

To understand the SCPI status register model, see Introduction to :STATus Commands.

The following bits appear in the User Event Register.

User Event Register Bits:

Bit | Name | Description | When Set (1 = High = True), Indicates:
15 | --- | --- | (Not used, always zero.)
14 | --- | --- | (Not used.)
13 | --- | --- | (Not used.)
12 | --- | --- | (Not used.)
11 | --- | --- | (Not used.)
10 | --- | --- | (Not used.)
9 | --- | --- | (Not used.)
8 | --- | --- | (Not used.)
7 | --- | --- | (Not used.)
6 | --- | --- | (Not used.)
5 | --- | --- | (Not used.)
4 | --- | --- | (Not used.)
3 | --- | --- | (Not used.)
2 | --- | --- | (Not used.)
1 | --- | --- | (Not used.)
0 | USR | User Event | An enabled user event condition has occurred.

When enabled, the summary message for the Trigger Event Register goes to Status Byte Register bit 1 (USR). See *CLS (Clear Status).


:STATus:USER:BIT<b>:CONDition?

:STATus:USER Commands

Name

:STATus:USER:BIT<b>:CONDition? —

Query Syntax

:STATus:USER:BIT<b>:CONDition?
<b> ::= 0-14; an integer in NR1 format

The :STATus:USER:BIT<b>:CONDition? query returns the value of a particular bit in the Condition register.

The Condition register continuously monitors status. Reading a Condition register bit does not affect its contents.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:CONDition?

  • :STATus:USER:ENABle

  • :STATus:USER:NTRansition

  • :STATus:USER:PTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER:BIT<b>:ENABle

:STATus:USER Commands

Name

:STATus:USER:BIT<b>:ENABle —

Command Syntax

:STATus:USER:BIT<b>:ENABle <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:USER:BIT<b>:ENABle command sets a particular bit in the Enable register that identifies a corresponding Event register bit that will be ORed with other identified Event register bits to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:USER:BIT<b>:ENABle?

The :STATus:USER:BIT<b>:ENABle? query returns the value of the specified Enable register bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:CONDition?

  • :STATus:USER:ENABle

  • :STATus:USER:NTRansition

  • :STATus:USER:PTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER:BIT<b>:NTRansition

:STATus:USER Commands

Name

:STATus:USER:BIT<b>:NTRansition —

Command Syntax

:STATus:USER:BIT<b>:NTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:USER:BIT<b>:NTRansition command sets a particular bit in the Negative Transition filter that identifies a Condition register bit on which a transition from 1 to 0 or TRUE to FALSE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:USER:BIT<b>:NTRansition?

The :STATus:USER:BIT<b>:NTRansition? query returns the value of the specified Negative Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:CONDition?

  • :STATus:USER:ENABle

  • :STATus:USER:NTRansition

  • :STATus:USER:PTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER:BIT<b>:PTRansition

:STATus:USER Commands

Name

:STATus:USER:BIT<b>:PTRansition —

Command Syntax

:STATus:USER:BIT<b>:PTRansition <bit_value>
<b> ::= 0-14; an integer in NR1 format
<bit_value> ::= {0 | 1}

The :STATus:USER:BIT<b>:PTRansition command sets a particular bit in the Positive Transition filter that identifies a Condition register bit on which a transition from 0 to 1 or FALSE to TRUE will be latched into the corresponding Event register bit.

Query Syntax

:STATus:USER:BIT<b>:PTRansition?

The :STATus:USER:BIT<b>:PTRansition? query returns the value of the specified Positive Transition filter bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:CONDition?

  • :STATus:USER:ENABle

  • :STATus:USER:NTRansition

  • :STATus:USER:PTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER:BIT<b>[:EVENt]?

:STATus:USER Commands

Name

:STATus:USER:BIT<b>[:EVENt]? —

Query Syntax

:STATus:USER:BIT<b>[:EVENt]?
<b> ::= 0-14; an integer in NR1 format

The :STATus:USER:BIT<b>[:EVENt]? query returns the value of the specified Event register bit and clears the bit.

Return Format

<bit_value><NL>
<bit_value> ::= {0 | 1}

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:CONDition?

  • :STATus:USER:ENABle

  • :STATus:USER:NTRansition

  • :STATus:USER:PTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER:CONDition?

:STATus:USER Commands

Name

:STATus:USER:CONDition? —

Query Syntax

:STATus:USER:CONDition?

The :STATus:USER:CONDition? query returns the decimal value of the sum of the bits in the Condition register.

The Condition register continuously monitors status. Reading the Condition register does not affect its contents.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:ENABle

  • :STATus:USER:NTRansition

  • :STATus:USER:PTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER:ENABle

:STATus:USER Commands

Name

:STATus:USER:ENABle —

Command Syntax

:STATus:USER:ENABle <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:USER:ENABle command sets bits in the Enable register that identify which Event register bits are ORed to create the Summary Message bit that is sent to the parent status register.

Query Syntax

:STATus:USER:ENABle?

The :STATus:USER:ENABle? query returns the decimal value of the sum of the bits in the Enable register.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:CONDition?

  • :STATus:USER:NTRansition

  • :STATus:USER:PTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER:NTRansition

:STATus:USER Commands

Name

:STATus:USER:NTRansition —

Command Syntax

:STATus:USER:NTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:USER:NTRansition command sets bits in the Negative Transition filter that identify the Condition register bits on which transitions from 1 to 0 or TRUE to FALSE will be latched into the Event register.

Query Syntax

:STATus:USER:NTRansition?

The :STATus:USER:NTRansition? query returns the decimal value of the sum of the bits in the Negative Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:CONDition?

  • :STATus:USER:ENABle

  • :STATus:USER:PTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER:PTRansition

:STATus:USER Commands

Name

:STATus:USER:PTRansition —

Command Syntax

:STATus:USER:PTRansition <sum_of_bits>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

The :STATus:USER:PTRansition command sets bits in the Positive Transition filter that identify the Condition register bits on which transitions from 0 to 1 or FALSE to TRUE will be latched into the Event register.

Query Syntax

:STATus:USER:PTRansition?

The :STATus:USER:PTRansition? query returns the decimal value of the sum of the bits in the Positive Transition filter.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:CONDition?

  • :STATus:USER:ENABle

  • :STATus:USER:NTRansition

  • :STATus:USER[:EVENt]?

  • :STATus:PRESet

  • *CLS (Clear Status)


:STATus:USER[:EVENt]?

:STATus:USER Commands

Name

:STATus:USER[:EVENt]? —

Query Syntax

:STATus:USER[:EVENt]?

The :STATus:USER[:EVENt]? query returns the decimal value of the sum of the bits in the Event register and clears the register.

The contents of the Event register show the events that have occurred since the last time the register was read.

Return Format

<sum_of_bits><NL>
<sum_of_bits> ::= 0-32767; an integer in NR1 format

See Also

  • :STATus:USER:BIT<b>:CONDition?

  • :STATus:USER:BIT<b>:ENABle

  • :STATus:USER:BIT<b>:NTRansition

  • :STATus:USER:BIT<b>:PTRansition

  • :STATus:USER:BIT<b>[:EVENt]?

  • :STATus:USER:CONDition?

  • :STATus:USER:ENABle

  • :STATus:USER:NTRansition

  • :STATus:USER:PTRansition

  • :STATus:PRESet

  • *CLS (Clear Status)


:SYSTem Commands

Control basic system functions of the oscilloscope. See Introduction to :SYSTem Commands.

:SYSTem Commands Summary:

Command | Query | Options and Query Returns
:SYSTem:DATE <date> | :SYSTem:DATE? | <date> ::= <year>,<month>,<day> <year> ::= 4-digit year in NR1 format <month> ::= {1,..,12 | JANuary | FEBruary | MARch | APRil | MAY | JUNe | JULy | AUGust | SEPtember | OCTober | NOVember | DECember} <day> ::= {1,..31}
n/a | :SYSTem:DIDentifier? | n/a
:SYSTem:DSP <string> | n/a | <string> ::= up to 75 characters as a quoted ASCII string
n/a | :SYSTem:ERRor:ALL? | <errors_list> ::= comma-separated list of all errors from the queue (codes and strings)
n/a | :SYSTem:ERRor:CODE[:NEXT]? | <error_code> ::= the next error (code only) from the queue
n/a | :SYSTem:ERRor:COUNt? | <count> ::= an integer number of errors in the queue
n/a | :SYSTem:ERRor:EXTended? <type> | <type> ::= {INFO | WARNING | ERROR | FATAL | MESSAGE | ALL} <errors_list> ::= returns a comma-separated list of all errors (strings, no codes) of the specified type from the queue
n/a | :SYSTem:ERRor[:NEXT]? | <error_number>,<error_string> ::= the next error (code and string) from the queue <error_number> ::= an integer error code <error string> ::= quoted ASCII string. See Error Messages.
n/a | :SYSTem:HELP:HEADers? | <binary_block> ::= newline-separated list of supported SCPI commands/queries
n/a | :SYSTem:HID? | n/a
:SYSTem:LOCK <value> | :SYSTem:LOCK? | <value> ::= {{1 | ON} | {0 | OFF}}
n/a | :SYSTem:LOCK:OWNer? | <session_string> ::= quoted session string or "NONE"
:SYSTem:LOCK:RELease | n/a | n/a
n/a | :SYSTem:LOCK:REQuest? | {1 | 0} (for granted or not)
:SYSTem:PERSona[:MANufacturer] <manufacturer_string> | :SYSTem:PERSona[:MANufacturer]? | <manufacturer_string> ::= quoted ASCII string, up to 63 characters
:SYSTem:PERSona[:MANufacturer]:DEFault | n/a | Sets manufacturer string to "KEYSIGHT TECHNOLOGIES"
:SYSTem:POWercycle | n/a | n/a
:SYSTem:PRECision:LENGth <length> | :SYSTem:PRECision:LENGth? | <length> ::= {64K | 128K | 256K | 512K | 1M | 1.5M | 2M | 4M | 8M | 12M | 16M | 24M | 32M}
:SYSTem:PRECision:PEAK {{0 | OFF} | {1 | ON}} | :SYSTem:PRECision:PEAK? | <setting> ::= {0 | 1}
:SYSTem:PRESet | n/a | See :SYSTem:PRESet
:SYSTem:PRODuction:FRESet | n/a | See :SYSTem:PRODuction:FRESet
:SYSTem:PROTection:LOCK <value> | :SYSTem:PROTection:LOCK? | <value> ::= {{1 | ON} | {0 | OFF}}
:SYSTem:RLOGger <setting>[,<file_name>[,<write_mode>]] | n/a | <setting> ::= {{0 | OFF} | {1 | ON}} <file_name> ::= quoted ASCII string <write_mode> ::= {CREate | APPend}
:SYSTem:RLOGger:DESTination <dest> | :SYSTem:RLOGger:DESTination? | <dest> ::= {FILE | SCReen | BOTH}
:SYSTem:RLOGger:DISPlay {{0 | OFF} | {1 | ON}} | :SYSTem:RLOGger:DISPlay? | <setting> ::= {0 | 1}
:SYSTem:RLOGger:FNAMe <file_name> | :SYSTem:RLOGger:FNAMe? | <file_name> ::= quoted ASCII string
:SYSTem:RLOGger:STATe {{0 | OFF} | {1 | ON}} | :SYSTem:RLOGger:STATe? | <setting> ::= {0 | 1}
:SYSTem:RLOGger:TRANsparent {{0 | OFF} | {1 | ON}} | :SYSTem:RLOGger:TRANsparent? | <setting> ::= {0 | 1}
:SYSTem:RLOGger:WMODe <write_mode> | :SYSTem:RLOGger:WMODe? | <write_mode> ::= {CREate | APPend}
:SYSTem:SETup <setup_data> | :SYSTem:SETup? | <setup_data> ::= data in IEEE 488.2 # format.
:SYSTem:SHUTdown | n/a | n/a
:SYSTem:TIME <time> | :SYSTem:TIME? | <time> ::= hours,minutes,seconds in NR1 format
n/a | :SYSTem:TIME:DSAVing? | <setting> ::= {0 | 1}
:SYSTem:TIME:NTPRotocol {{0 | OFF} | {1 | ON}} | :SYSTem:TIME:NTPRotocol? | <setting> ::= {0 | 1}
:SYSTem:TIME:ZONE <zone> | :SYSTem:TIME:ZONE? | <zone> ::= {UP0000 | Europe_London | UP0100 | Europe_Paris | UP0200 | Africa_Cairo | UP0300 | UP0330 | Asia_Tehran | UP0400 | Asia_Dubai | UP0430 | Asia_Kabul | UP0500 | Asia_Karachi | UP0530 | Asia_Kolkata | UP0600 | Asia_Dhaka | UP0700 | Asia_Bangkok | UP0800 | Asia_Hong_Kong | UP0845 | Australia_Eucla | UP0900 | Asia_Tokyo | UP0930 | Australia_Adelaide | Australia_Darwin | UP1000 | Australia_Brisbane | Australia_Sydney | UP1030 | Australia_Lord_Howe | UP1100 | Pacific_Noumea | UP1200 | UM0100 | UM0200 | UM0300 | America_Sao_Paulo | UM0330 | America_St_Johns | UM0400 | America_Caracas | UM0500 | America_New_York | UM0600 | America_Chicago | UM0700 | America_Denver | UM0800 | America_Los_Angeles | UM0900 | America_Anchorage | UM1000 | Pacific_Honolulu | UM1100 | UM1200}
:SYSTem:TOUCh {{1 | ON} | {0 | OFF}} | :SYSTem:TOUCh? | {1 | 0}
n/a | :SYSTem:VERSion? | <SCPI_version_implemented> ::= 1999.0
:SYSTem:WINDow:LOCK {{0 | OFF} | {1 | ON}} | :SYSTem:WINDow:LOCK? | {0 | 1}

Introduction to :SYSTem Commands

SYSTem subsystem commands enable writing messages to the display, setting and reading both the time and the date, querying for errors, and saving and recalling setups.


:SYSTem:DATE

:SYSTem Commands

Name

:SYSTem:DATE —

Command Syntax

:SYSTem:DATE <date>
<date> ::= <year>,<month>,<day>
<year> ::= 4-digit year in NR1 format
<month> ::= {1,..,12 | JANuary | FEBruary | MARch | APRil | MAY | JUNe
            | JULy | AUGust | SEPtember | OCTober | NOVember | DECember}
<day> ::= {1,..,31}

The :SYSTem:DATE command sets the date. Validity checking is performed to ensure that the date is valid.

Query Syntax

:SYSTem:DATE?

The SYSTem:DATE? query returns the date.

Return Format

<year>,<month>,<day><NL>

See Also

  • Introduction to :SYSTem Commands

  • :SYSTem:TIME


:SYSTem:DIDentifier?

:SYSTem Commands

Name

:SYSTem:DIDentifier? —

Query Syntax

:SYSTem:DIDentifier?

The :SYSTem:DIDentifier? query returns the oscilloscope's Host ID string.

The oscilloscope's Host ID is needed when redeeming licenses for oscilloscope upgrades or other licensed features.

The exact format of returned string are product-specific. This example returns a model number and serial number in a comma-separated format:

X12345A,US12345678

Portable programs should not attempt to parse the contents of the returned string. Use the *IDN? query instead to get the model number and/or serial number in a defined portable format.

[Note]

This query is the same as the :SYSTem:HID? query.

Return Format

<host_id><NL>
<host_id> ::= ASCII string

See Also

  • *IDN? (Identification Number)

  • :SYSTem:HID?

  • Queries Not Supported in Multiple Program Message Units


:SYSTem:DSP

:SYSTem Commands

Name

:SYSTem:DSP —

Command Syntax

:SYSTem:DSP <string>
<string> ::= quoted ASCII string (up to 75 characters)

The :SYSTem:DSP command writes the quoted string (excluding quotation marks) to a text box on-screen.

Use :SYSTem:DSP "" to remotely remove the message from the display and save it in the message log. (Two sets of quote marks without a space between them creates a NULL string.)

Also, to manually remove the message from the display and save it in the message log, you can:

  • Press any front panel key.

  • Select the close button ("X") in the graphical user interface's message dialog box.

See Also

  • Introduction to :SYSTem Commands


:SYSTem:ERRor:ALL?

:SYSTem Commands

Name

:SYSTem:ERRor:ALL? —

Query Syntax

:SYSTem:ERRor:ALL?

The :SYSTem:ERRor:ALL? query returns a comma-separated list of all errors from the queue (codes and strings).

Return Format

<errors_list><NL>
<errors_list> ::= comma-separated list of all errors from the queue
   (codes and strings)

See Also

  • :SYSTem:ERRor:CODE[:NEXT]?

  • :SYSTem:ERRor:COUNt?

  • :SYSTem:ERRor:EXTended?

  • :SYSTem:ERRor[:NEXT]?


:SYSTem:ERRor:CODE[:NEXT]?

:SYSTem Commands

Name

:SYSTem:ERRor:CODE[:NEXT]? —

Query Syntax

:SYSTem:ERRor:CODE[:NEXT]?

The :SYSTem:ERRor:CODE[:NEXT]? query returns the next error (code only) from the queue.

Except for the shortened response, the query operates identically to the SYSTem:ERRor[:NEXT]? query.

Return Format

<error_code><NL>
<error_code> ::= the next error (code only) from the queue

See Also

  • :SYSTem:ERRor:ALL?

  • :SYSTem:ERRor:COUNt?

  • :SYSTem:ERRor:EXTended?

  • :SYSTem:ERRor[:NEXT]?


:SYSTem:ERRor:COUNt?

:SYSTem Commands

Name

:SYSTem:ERRor:COUNt? —

Query Syntax

:SYSTem:ERRor:COUNt?

The :SYSTem:ERRor:COUNt? query returns an integer number of errors in the queue.

Return Format

<count><NL>
<count> ::= an integer number of errors in the queue

See Also

  • :SYSTem:ERRor:ALL?

  • :SYSTem:ERRor:CODE[:NEXT]?

  • :SYSTem:ERRor:EXTended?

  • :SYSTem:ERRor[:NEXT]?


:SYSTem:ERRor:EXTended?

:SYSTem Commands

Name

:SYSTem:ERRor:EXTended? —

Query Syntax

:SYSTem:ERRor:EXTended? <type>
<type> ::= {INFO | WARNING | ERROR | FATAL | MESSAGE | ALL}

The :SYSTem:ERRor:EXTended? query returns a comma-separated list of all errors (strings, no codes) of the specified type from the queue.

Return Format

<errors_list><NL>
<errors_list> ::= comma-separated list of all errors (strings,
   no codes) of the specified type from the queue

See Also

  • :SYSTem:ERRor:ALL?

  • :SYSTem:ERRor:CODE[:NEXT]?

  • :SYSTem:ERRor:COUNt?

  • :SYSTem:ERRor[:NEXT]?


:SYSTem:ERRor[:NEXT]?

:SYSTem Commands

Name

:SYSTem:ERRor[:NEXT]? —

Query Syntax

:SYSTem:ERRor[:NEXT]?

The :SYSTem:ERRor[:NEXT]? query outputs the next error number and text from the error queue. The instrument has an error queue that is 30 errors deep and operates on a first-in, first-out basis. Repeatedly sending the :SYSTem:ERRor[:NEXT]? query returns the errors in the order that they occurred until the queue is empty. Any further queries then return zero until another error occurs.

When remote logging is enabled (using the oscilloscope's front panel), additional debug information can be included in the returned error string. If the error is detected by the SCPI command parser, such as a header error or other syntax error, the extra debug information is generated and included. But if the error is detected by the oscilloscope system, such as when an out-of-range value is sent, then no extra debug information is included.

Error 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 least recent 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).

When the error queue is read with the :SYSTem:ERRor[:NEXT]? query, the oldest error is removed 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:

  • the instrument is powered up,

  • the instrument receives the *CLS common command, or

  • the last item is read from the error queue.

Return Format

<error_number>,<error_string><NL>
<error_number> ::= an integer error code in NR1 format
<error_string> ::= quoted ASCII string containing the error message

Error messages are listed in Error Messages.

See Also

  • Introduction to :SYSTem Commands

  • *ESR? (Standard Event Status Register)

  • *CLS (Clear Status)

  • :SYSTem:ERRor:ALL?

  • :SYSTem:ERRor:CODE[:NEXT]?

  • :SYSTem:ERRor:COUNt?

  • :SYSTem:ERRor:EXTended?


:SYSTem:HELP:HEADers?

:SYSTem Commands

Name

:SYSTem:HELP:HEADers? —

Query Syntax

:SYSTem:HELP:HEADers?

The :SYSTem:HELP:HEADers? query returns a binary block that contains a newline-separated list of supported SCPI commands and queries.

Return Format

<binary_block><NL>
<binary_block> ::= newline-separated list of supported SCPI commands/queries

Lines can have the following suffixes:

  • /nquery/ — There is no "query" version of the SCPI header.

  • /qonly/ — There is no "command" version of the SCPI header.

For example, a portion of the returned result looks like:

...
*SRE
*STB?/qonly/
*TRG/nquery/
*TST?/qonly/
*WAI/nquery/
:ACQuire:AALias?/qonly/
:ACQuire:COMPlete
:ACQuire:COUNt
:ACQuire:DAALias
:ACQuire:DIGitizer
:ACQuire:MANual
:ACQuire:MANual:POINts?/qonly/
:ACQuire:MANual:SRATe?/qonly/
:ACQuire:MODE
:ACQuire:POINts:MAX?/qonly/
:ACQuire:POINts[:ANALog]
:ACQuire:POINts[:ANALog]:AUTO
:ACQuire:SEGMented:ANALyze/nquery/
:ACQuire:SEGMented:COUNt
:ACQuire:SEGMented:INDex
:ACQuire:SRATe[:ANALog]
:ACQuire:SRATe[:ANALog]:AUTO
:ACQuire:TYPE
:ACQuire?/qonly/
:ACTivity
:AER?/qonly/
:AUToscale/nquery/
:AUToscale:AMODe
:AUToscale:CHANnels
...

Square brackets in a SCPI header show optional parts of a command/query. The previous example shows :ACQuire:POINts:AUTO is the same as :ACQuire:POINts:ANALog:AUTO.


:SYSTem:HID?

:SYSTem Commands

Name

:SYSTem:HID? —

Query Syntax

:SYSTem:HID?

The :SYSTem:HID? query returns the oscilloscope's Host ID string.

The oscilloscope's Host ID is needed when redeeming licenses for oscilloscope upgrades or other licensed features.

The exact format of returned string are product-specific. This example returns a model number and serial number in a comma-separated format:

X12345A,US12345678

Portable programs should not attempt to parse the contents of the returned string. Use the *IDN? query instead to get the model number and/or serial number in a defined portable format.

[Note]

This query is the same as the :SYSTem:DIDentifier? query.

Return Format

<host_id><NL>
<host_id> ::= ASCII string

See Also

  • *IDN? (Identification Number)

  • :SYSTem:DIDentifier?

  • Queries Not Supported in Multiple Program Message Units


:SYSTem:LOCK

:SYSTem Commands

Name

:SYSTem:LOCK —

Command Syntax

:SYSTem:LOCK <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :SYSTem:LOCK command disables the front panel (and touch screen). LOCK ON is the equivalent of sending a local lockout message over the programming interface.

Query Syntax

:SYSTem:LOCK?

The :SYSTem:LOCK? query returns the lock status of the front panel.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :SYSTem Commands


:SYSTem:LOCK:OWNer?

:SYSTem Commands

Name

:SYSTem:LOCK:OWNer? —

Query Syntax

:SYSTem:LOCK:OWNer?

The :SYSTem:LOCK:OWNer? query returns what session currently has the lock on this device. If no session has a lock then "NONE" is returned.

Return Format

<session_string><NL>
<session_string> ::= quoted session string or "NONE"

See Also

  • :SYSTem:LOCK:RELease

  • :SYSTem:LOCK:REQuest?


:SYSTem:LOCK:RELease

:SYSTem Commands

Name

:SYSTem:LOCK:RELease —

Command Syntax

:SYSTem:LOCK:RELease

The :SYSTem:LOCK:RELease command releases the lock if owned by this session.

If this session does not have the lock, this command has no effect.

See Also

  • :SYSTem:LOCK:OWNer?

  • :SYSTem:LOCK:REQuest?


:SYSTem:LOCK:REQuest?

:SYSTem Commands

Name

:SYSTem:LOCK:REQuest? —

Query Syntax

:SYSTem:LOCK:REQuest?

The :SYSTem:LOCK:REQuest? query attempts to attain the lock on this device and returns 1 if successful or 0 if it fails.

Return Format

<grant_status><NL>
<grant_status> ::= {1 | 0}

See Also

  • :SYSTem:LOCK:OWNer?

  • :SYSTem:LOCK:RELease


:SYSTem:PERSona[:MANufacturer]

:SYSTem Commands

Name

:SYSTem:PERSona[:MANufacturer] —

Command Syntax

:SYSTem:PERSona[:MANufacturer] <manufacturer_string>
<manufacturer_string> ::= ::= quoted ASCII string, up to 63 characters

The :SYSTem:PERSona[:MANufacturer] command lets you change the manufacturer string portion of the identification string returned by the *IDN? query.

The default manufacturer string is "KEYSIGHT TECHNOLOGIES".

If your remote programs depend on a legacy manufacturer string, for example, you could use this command to set the manufacturer string to "AGILENT TECHNOLOGIES".

Query Syntax

:SYSTem:PERSona[:MANufacturer]?

The :SYSTem:PERSona[:MANufacturer]? query returns the currently set manufacturer string.

Return Format

<manufacturer_string><NL>

See Also

  • *IDN? (Identification Number)

  • :SYSTem:PERSona[:MANufacturer]:DEFault

  • Introduction to :SYSTem Commands


:SYSTem:PERSona[:MANufacturer]:DEFault

:SYSTem Commands

Name

:SYSTem:PERSona[:MANufacturer]:DEFault —

Command Syntax

:SYSTem:PERSona[:MANufacturer]:DEFault

The :SYSTem:PERSona[:MANufacturer]:DEFault command sets the manufacturer string to "KEYSIGHT TECHNOLOGIES".

See Also

  • *IDN? (Identification Number)

  • :SYSTem:PERSona[:MANufacturer]

  • Introduction to :SYSTem Commands


:SYSTem:POWercycle

:SYSTem Commands

Name

:SYSTem:POWercycle —

Command Syntax

:SYSTem:POWercycle

The :SYSTem:POWercycle command powers down the oscilloscope and restarts it. This is the same as pressing the front panel power button to power down the oscilloscope and then pressing the power button again to start the oscilloscope.

See Also

  • :SYSTem:SHUTdown


:SYSTem:PRECision:LENGth

:SYSTem Commands

Name

:SYSTem:PRECision:LENGth —

Command Syntax

:SYSTem:PRECision:LENGth <length>
<length> ::= {64K | 128K | 256K | 512K | 1M | 1.5M | 2M | 4M | 8M
   | 12M | 16M | 24M | 32M}

The :SYSTem:PRECision:LENGth command specifies the length of the analysis record. You can specify 64K, 128K, 256K, 512K, 1M, 1.5M, 2M, 4M, 8M, 12M, 16M, 24M, or 32M points unless limited by the oscilloscope's overall memory depth.

Query Syntax

:SYSTem:PRECision:LENGth?

The :SYSTem:PRECision:LENGth? query returns the current analysis record length setting.

Return Format

<length><NL>
<length> ::= {64K | 128K | 256K | 512K | 1M | 1.5M | 2M | 4M | 8M
   | 12M | 16M | 24M | 32M}

See Also

  • Introduction to :SYSTem Commands

  • :SYSTem:PRECision:PEAK

  • :WAVeform:POINts:MODE

  • *RST (Reset)


:SYSTem:PRECision:PEAK

:SYSTem Commands

Name

:SYSTem:PRECision:PEAK —

Command Syntax

:SYSTem:PRECision:PEAK {{0 | OFF} | {1 | ON}}

The :SYSTem:PRECision:PEAK command enables or disables the Analyze Peaks option for the analysis record. When enabled, peak detection is used when decimating the raw acquisition record into the analysis record. For each block of samples that must be reduced, the maximum and minimum samples are kept. When disabled, the decimator is configured to provide a best-estimate of all the samples that each point in the record represents, with no filtering.

Query Syntax

:SYSTem:PRECision:PEAK?

The :SYSTem:PRECision:PEAKs? query returns the Analyze Peaks option setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :SYSTem:PRECision:LENGth


:SYSTem:PRESet

:SYSTem Commands

Name

:SYSTem:PRESet —

Command Syntax

:SYSTem:PRESet

The :SYSTem:PRESet command places the instrument in a known state. This is the same as pressing the [Default Setup] key or selecting Control > Default Setup in the graphical user interface.

When you perform a default setup, some user settings (like preferences) remain unchanged. To reset all user settings to their factory defaults, use the *RST command.

Reset conditions are:

Acquire Settings
Mode | Normal
Averaging | Off
# Averages | 8
Analog Channel Settings
Channel 1 | On
Channel 2/3/4 | Off
Volts/division | 5.00 V
Offset | 0.00
Coupling | DC
Probe attenuation | 10:1
Vernier | Off
Invert | Off
BW limit | Off
Impedance | 1 M Ohm (cannot be changed)
Units | Volts
Skew | 0
Cursor Settings
Source Channel 1
Digital Channel Settings
Channel 0 - 7 | Off
Labels | Off
Threshold | TTL (1.4 V)
Display Settings
Persistence | Off
Grid | 20%
Measurement Settings
Source Channel 1
Run Control Settings
Scope is running
Time Base Settings
Main time/division | 100 us
Main time base delay | 0.00 s
Delay time/division | 500 ns
Delay time base delay | 0.00 s
Reference | center
Mode | main
Vernier | Off
Trigger Settings
Type | Edge
Mode | Auto
Coupling | dc
Source | Channel 1
Level | 0.0 V
Slope | Positive
HF Reject and noise reject | Off
Holdoff | 40 ns
External probe attenuation | 1:1
External Units | Volts
External Impedance | 1 M Ohm (cannot be changed)

See Also

  • Introduction to Common (*) Commands

  • *RST (Reset)


:SYSTem:PRODuction:FRESet

:SYSTem Commands

Name

:SYSTem:PRODuction:FRESet —

Command Syntax

:SYSTem:PRODuction:FRESet

The :SYSTem:PRODuction:FRESet command wipes the oscilloscope's non-volatile storage like Secure Erase, but it does not perform the National Industrial Security Program Operation Manual (NISPOM) Chapter 8 procedure and is much faster.

See Also

  • Introduction to Common (*) Commands

  • *RST (Reset)

  • :SYSTem:PRESet


:SYSTem:PROTection:LOCK

:SYSTem Commands

Name

:SYSTem:PROTection:LOCK —

Command Syntax

:SYSTem:PROTection:LOCK <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :SYSTem:PROTection:LOCK command disables the fifty ohm impedance setting for all analog channels.

[Note]

Be careful when turning ON the :SYSTem:PROTection:LOCK because there is no visual indication of this setting in the front-panel user interface (other than a disabled 50 Ω channel input impedance selection), and a user could think the oscilloscope is not working properly.

Query Syntax

:SYSTem:PROTection:LOCK?

The :SYSTem:PROTection:LOCK? query returns the analog channel protection lock status.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :SYSTem Commands


:SYSTem:RLOGger

:SYSTem Commands

Name

:SYSTem:RLOGger —

Command Syntax

:SYSTem:RLOGger <setting>[,<file_name>[,<write_mode>]]
<setting> ::= {{0 | OFF} | {1 | ON}}
<file_name> ::= quoted ASCII string
<write_mode> ::= {CREate | APPend}

The :SYSTem:RLOGger command enables or disables remote command logging, optionally specifying the log file name and write mode.

See Also

  • :SYSTem:RLOGger:DESTination

  • :SYSTem:RLOGger:DISPlay

  • :SYSTem:RLOGger:FNAMe

  • :SYSTem:RLOGger:STATe

  • :SYSTem:RLOGger:TRANsparent

  • :SYSTem:RLOGger:WMODe


:SYSTem:RLOGger:DESTination

:SYSTem Commands

Name

:SYSTem:RLOGger:DESTination —

Command Syntax

:SYSTem:RLOGger:DESTination <dest>
<dest> ::= {FILE | SCReen | BOTH}

The :SYSTem:RLOGger:DESTination command specifies whether remote commands are logged to a text file (on a connected USB storage device), logged to the screen, or both.

[Note]

If the destination is changed while remote command logging is running, remote command logging is turned off.

Query Syntax

:SYSTem:RLOGger:DESTination?

The :SYSTem:RLOGger:DESTination? query returns the remote command logging destination.

Return Format

<dest><NL>
<dest> ::= {FILE | SCR | BOTH}

See Also

  • :SYSTem:RLOGger

  • :SYSTem:RLOGger:DISPlay

  • :SYSTem:RLOGger:FNAMe

  • :SYSTem:RLOGger:STATe

  • :SYSTem:RLOGger:TRANsparent

  • :SYSTem:RLOGger:WMODe


:SYSTem:RLOGger:DISPlay

:SYSTem Commands

Name

:SYSTem:RLOGger:DISPlay —

Command Syntax

:SYSTem:RLOGger:DISPlay {{0 | OFF} | {1 | ON}}

The :SYSTem:RLOGger:DISPlay command enables or disables the screen display of logged remote commands and their return values (if applicable).

Query Syntax

:SYSTem:RLOGger:DISPlay?

The :SYSTem:RLOGger:DISPlay? query returns whether the screen display for remote command logging is enabled or disabled.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :SYSTem:RLOGger

  • :SYSTem:RLOGger:DESTination

  • :SYSTem:RLOGger:FNAMe

  • :SYSTem:RLOGger:STATe

  • :SYSTem:RLOGger:TRANsparent

  • :SYSTem:RLOGger:WMODe


:SYSTem:RLOGger:FNAMe

:SYSTem Commands

Name

:SYSTem:RLOGger:FNAMe —

Command Syntax

:SYSTem:RLOGger:FNAMe <file_name>
<file_name> ::= quoted ASCII string

The :SYSTem:RLOGger:FNAMe command specifies the remote command log file name.

Because log files are ASCII text files, the ".txt" extension is automatically added to the name specified.

Query Syntax

:SYSTem:RLOGger:FNAMe?

The :SYSTem:RLOGger:FNAMe? query returns the remote command log file name.

Return Format

<file_name><NL>

See Also

  • :SYSTem:RLOGger

  • :SYSTem:RLOGger:DESTination

  • :SYSTem:RLOGger:DISPlay

  • :SYSTem:RLOGger:STATe

  • :SYSTem:RLOGger:TRANsparent

  • :SYSTem:RLOGger:WMODe


:SYSTem:RLOGger:STATe

:SYSTem Commands

Name

:SYSTem:RLOGger:STATe —

Command Syntax

:SYSTem:RLOGger:STATe {{0 | OFF} | {1 | ON}}

The :SYSTem:RLOGger:STATe command enables or disables remote command logging.

Query Syntax

:SYSTem:RLOGger:STATe?

The :SYSTem:RLOGger:STATe? query returns the remote command logging state.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :SYSTem:RLOGger

  • :SYSTem:RLOGger:DESTination

  • :SYSTem:RLOGger:DISPlay

  • :SYSTem:RLOGger:FNAMe

  • :SYSTem:RLOGger:TRANsparent

  • :SYSTem:RLOGger:WMODe


:SYSTem:RLOGger:TRANsparent

:SYSTem Commands

Name

:SYSTem:RLOGger:TRANsparent —

Command Syntax

:SYSTem:RLOGger:TRANsparent {{0 | OFF} | {1 | ON}}

The :SYSTem:RLOGger:TRANsparent command specifies whether the screen display background for remote command logging is transparent or solid.

Query Syntax

:SYSTem:RLOGger:TRANsparent?

The :SYSTem:RLOGger:TRANsparent? query returns the setting for transparent screen display background.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :SYSTem:RLOGger

  • :SYSTem:RLOGger:DESTination

  • :SYSTem:RLOGger:DISPlay

  • :SYSTem:RLOGger:FNAMe

  • :SYSTem:RLOGger:STATe

  • :SYSTem:RLOGger:WMODe


:SYSTem:RLOGger:WMODe

:SYSTem Commands

Name

:SYSTem:RLOGger:WMODe —

Command Syntax

:SYSTem:RLOGger:WMODe <write_mode>
<write_mode> ::= {CREate | APPend}

The :SYSTem:RLOGger:WMODe command specifies the remote command logging write mode.

Query Syntax

:SYSTem:RLOGger:WMODe?

The :SYSTem:RLOGger:WMODe? query returns the remote command logging write mode.

Return Format

<write_mode><NL>
<write_mode> ::= {CRE | APP}

See Also

  • :SYSTem:RLOGger

  • :SYSTem:RLOGger:DESTination

  • :SYSTem:RLOGger:DISPlay

  • :SYSTem:RLOGger:FNAMe

  • :SYSTem:RLOGger:STATe

  • :SYSTem:RLOGger:TRANsparent


:SYSTem:SETup

:SYSTem Commands

Name

:SYSTem:SETup —

Command Syntax

:SYSTem:SETup <setup_data>
<setup_data> ::= binary block data in IEEE 488.2 # format.

The :SYSTem:SETup command sets the oscilloscope as defined by the data in the setup (learn) string sent from the controller. The setup string does not change the interface mode or interface address.

Query Syntax

:SYSTem:SETup?

The :SYSTem:SETup? query operates the same as the *LRN? query. It outputs the current oscilloscope setup in the form of a learn string to the controller. The setup (learn) string is sent and received as a binary block of data. The format for the data transmission is the # format defined in the IEEE 488.2 specification.

Return Format

<setup_data><NL>
<setup_data> ::= binary block data in IEEE 488.2 # format

See Also

  • Introduction to :SYSTem Commands

  • *LRN? (Learn Device Setup)

Example Code

  ' SAVE_SYSTEM_SETUP - The :SYSTem:SETup? query returns a program
  ' message that contains the current state of the instrument.  Its
  ' format is a definite-length binary block, for example,
  ' #800075595<setup string><NL>
  ' where the setup string is 75595 bytes in length.
  myScope.WriteString ":SYSTem:SETup?"
  varQueryResult = myScope.ReadIEEEBlock(BinaryType_UI1)
  CheckForInstrumentErrors   ' After reading query results.

  ' Output setup string to a file:
  Dim strPath As String
  strPath = "c:\scope\config\setup.scp"

  ' Open file for output.
  Dim hFile As Integer
  hFile = FreeFile
  Open strPath For Binary Access Write Lock Write As hFile
  Put hFile, , varQueryResult   ' Write data.
  Close hFile   ' Close file.

  ' RESTORE_SYSTEM_SETUP - Read the setup string from a file and
  ' write it back to the oscilloscope.
  Dim varSetupString As Variant
  strPath = "c:\scope\config\setup.scp"

  ' Open file for input.
  Open strPath For Binary Access Read As hFile
  Get hFile, , varSetupString   ' Read data.
  Close hFile   ' Close file.

  ' Write setup string back to oscilloscope using ":SYSTem:SETup"
  ' command:
  myScope.WriteIEEEBlock ":SYSTem:SETup ", varSetupString
  CheckForInstrumentErrors

See complete example programs at: Programming Examples


:SYSTem:SHUTdown

:SYSTem Commands

Name

:SYSTem:SHUTdown —

Command Syntax

:SYSTem:SHUTdown

The :SYSTem:SHUTdown command powers down the oscilloscope. This is the same as pressing the front panel power button to power down the oscilloscope. This allows the oscilloscope to shut down gracefully.

See Also

  • :SYSTem:POWercycle


:SYSTem:TIME

:SYSTem Commands

Name

:SYSTem:TIME —

Command Syntax

:SYSTem:TIME <time>
<time> ::= hours,minutes,seconds in NR1 format

The :SYSTem:TIME command sets the system time, using a 24-hour format. Commas are used as separators. Validity checking is performed to ensure that the time is valid.

Query Syntax

:SYSTem:TIME? <time>

The :SYSTem:TIME? query returns the current system time.

Return Format

<time><NL>
<time> ::= hours,minutes,seconds in NR1 format

See Also

  • Introduction to :SYSTem Commands

  • :SYSTem:DATE

  • :SYSTem:TIME:DSAVing?

  • :SYSTem:TIME:NTPRotocol

  • :SYSTem:TIME:ZONE


:SYSTem:TIME:DSAVing?

:SYSTem Commands

Name

:SYSTem:TIME:DSAVing? —

Query Syntax

:SYSTem:TIME:DSAVing?

For the selected time zone (see :SYSTem:TIME:ZONE), the :SYSTem:TIME:DSAVing? query returns whether "automatically adjust clock for Daylight Savings Time" is enabled or disabled.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :SYSTem Commands

  • :SYSTem:TIME

  • :SYSTem:TIME:NTPRotocol

  • :SYSTem:TIME:ZONE


:SYSTem:TIME:NTPRotocol

:SYSTem Commands

Name

:SYSTem:TIME:NTPRotocol —

Command Syntax

:SYSTem:TIME:NTPRotocol {{0 | OFF} | {1 | ON}}

The :SYSTem:TIME:NTPRotocol command enables or disables automatically setting the oscilloscope's clock using Network Time Protocol.

Query Syntax

:SYSTem:TIME:NTPRotocol?

The :SYSTem:TIME:NTPRotocol? query returns whether or not the oscilloscope's clock is being set using Network Time Protocol.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :SYSTem:TIME

  • :SYSTem:TIME:DSAVing?

  • :SYSTem:TIME:ZONE


:SYSTem:TIME:ZONE

:SYSTem Commands

Name

:SYSTem:TIME:ZONE —

Command Syntax

:SYSTem:TIME:ZONE <zone>
<zone> ::= {UP0000 | Europe_London | UP0100 | Europe_Paris | UP0200
   | Africa_Cairo | UP0300 | UP0330 | Asia_Tehran | UP0400
   | Asia_Dubai | UP0430 | Asia_Kabul | UP0500 | Asia_Karachi | UP0530
   | Asia_Kolkata | UP0600 | Asia_Dhaka | UP0700 | Asia_Bangkok
   | UP0800 | Asia_Hong_Kong | UP0845 | Australia_Eucla | UP0900
   | Asia_Tokyo | UP0930 | Australia_Adelaide | Australia_Darwin
   | UP1000 | Australia_Brisbane | Australia_Sydney | UP1030
   | Australia_Lord_Howe | UP1100 | Pacific_Noumea | UP1200 | UM0100
   | UM0200 | UM0300 | America_Sao_Paulo | UM0330 | America_St_Johns
   | UM0400 | America_Caracas | UM0500 | America_New_York | UM0600
   | America_Chicago | UM0700 | America_Denver | UM0800
   | America_Los_Angeles | UM0900 | America_Anchorage | UM1000
   | Pacific_Honolulu | UM1100 | UM1200}

The :SYSTem:TIME:ZONE command sets the system time zone based on the specified name or offset from UTC.

UTC offsets are: +0, +100, +200, +300, +330, +400, +430, +500, +530, +600, +700, +800, +845, +900, +930, +1000, +1030, +1100, +1200, -100, -200, -300, -330, -400, -500, -600, -700, -800, -900, -1000, -1100, or -1200, where "+" is "UP" and "-" is "UM" followed by the "HHMM" hours and minutes.

The named zones all select the "Automatically adjust clock for Daylight Savings Time" setting (see :SYSTem:TIME:DSAVing?). The UTC offset zones may or may not select the "Automatically adjust clock for Daylight Savings Time" setting

Because licenses are based on Coordinated Universal Time (UTC), the proper time zone setting allows licenses to work immediately after they are generated.

Query Syntax

:SYSTem:TIME:ZONE?

The :SYSTem:TIME:ZONE? query returns the time zone offset setting.

Return Format

<zone><NL>

See Also

  • :SYSTem:TIME

  • :SYSTem:TIME:DSAVing?

  • :SYSTem:TIME:NTPRotocol


:SYSTem:TOUCh

:SYSTem Commands

Name

:SYSTem:TOUCh —

Command Syntax

:SYSTem:TOUCh <on_off>
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :SYSTem:TOUCh command disables or enables the touchscreen.

Query Syntax

:SYSTem:TOUCh?

The :SYSTem:TOUCh? query returns the touchscreen's on/off status.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :SYSTem Commands


:SYSTem:VERSion?

:SYSTem Commands

Name

:SYSTem:VERSion? —

Query Syntax

:SYSTem:VERSion?

The :SYSTem:VERSion? query returns the version of the SCPI standard that is implemented by the oscilloscope.

Return Format

<SCPI_version_implemented><NL>
<SCPI_version_implemented> ::= 1999.0


:SYSTem:WINDow:LOCK

:SYSTem Commands

Name

:SYSTem:WINDow:LOCK —

Command Syntax

:SYSTem:WINDow:LOCK {{0 | OFF} | {1 | ON}}

In the Zoom mode (see :TIMebase:MODE), the :SYSTem:WINDow:LOCK command specifies whether the Lock Zoom Scale & Offset setting is on or off.

When unlocked, each channel can have its own distinct vertical scale and offset within the Zoom window, thereby allowing for different Zoom area heights and vertical positions for each channel.

When locked, the Zoom area height and vertical position remains the same for all channels. Adjusting one channel's vertical scale and offset within the Zoom window will also adjust the vertical scales and offsets for other channels so that the Zoom area stays consistent for each.

Query Syntax

:SYSTem:WINDow:LOCK?

The :SYSTem:WINDow:LOCK? query returns the Zoom mode

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :TIMebase:MODE

  • :CHANnel<n>:WINDow:OFFSet

  • :CHANnel<n>:WINDow:SCALe


:TIMebase Commands

Control all horizontal sweep functions. See Introduction to :TIMebase Commands.

:TIMebase Commands Summary:

Command | Query | Options and Query Returns
:TIMebase[:MAIN]:POSition <pos> | :TIMebase[:MAIN]:POSition? | <pos> ::= time from the trigger event to the display reference point in NR3 format
:TIMebase[:MAIN]:RANGe <range_value> | :TIMebase[:MAIN]:RANGe? | <range_value> ::= time for 10 div in seconds in NR3 format
:TIMebase[:MAIN]:SCALe <scale_value> | :TIMebase[:MAIN]:SCALe? | <scale_value> ::= time/div in seconds in NR3 format
:TIMebase:MODE <value> | :TIMebase:MODE? | <value> ::= {MAIN | WINDow | XY | ROLL}
:TIMebase:REFerence {LEFT | CENTer | RIGHt | CUSTom} | :TIMebase:REFerence? | <return_value> ::= {LEFT | CENTer | RIGHt | CUSTom}
:TIMebase:REFerence:LOCation <loc> | :TIMebase:REFerence:LOCation? | <loc> ::= 0.0 to 1.0 in NR3 format
:TIMebase:VERNier {{0 | OFF} | {1 | ON}} | :TIMebase:VERNier? | {0 | 1}
:TIMebase:WINDow:POSition <pos> | :TIMebase:WINDow:POSition? | <pos> ::= time from the trigger event to the zoomed view reference point in NR3 format
:TIMebase:WINDow:RANGe <range_value> | :TIMebase:WINDow:RANGe? | <range value> ::= range value in seconds in NR3 format for the zoomed window
:TIMebase:WINDow:SCALe <scale_value> | :TIMebase:WINDow:SCALe? | <scale_value> ::= scale value in seconds in NR3 format for the zoomed window

Introduction to :TIMebase Commands

The TIMebase subsystem commands control the horizontal (X-axis) functions and set the oscilloscope to X-Y mode (where channel 1 becomes the X input and channel 2 becomes the Y input). The time per division, delay, vernier control, and reference can be controlled for the main and window (zoomed) time bases.

Reporting the Setup. Use :TIMebase? to query setup information for the TIMebase subsystem.

Return Format. The following is a sample response from the :TIMebase? query. In this case, the query was issued following a *RST command.

:TIM:MODE MAIN;REF CENT;MAIN:RANG +1.000E-03;POS +0.0E+00


:TIMebase[:MAIN]:POSition

:TIMebase Commands

Name

:TIMebase[:MAIN]:POSition —

Command Syntax

:TIMebase[:MAIN]:POSition <pos>
<pos> ::= time in seconds from the trigger to the display reference
          in NR3 format

The :TIMebase[:MAIN]:POSition command sets the time interval between the trigger event and the display reference point on the screen. The display reference point is either left, right, or center and is set with the :TIMebase:REFerence command. The maximum position value depends on the time/division settings.

[Note]

This command is an alias for the :TIMebase[:MAIN]:DELay command.

Query Syntax

:TIMebase[:MAIN]:POSition?

The :TIMebase[:MAIN]:POSition? query returns the current time from the trigger to the display reference in seconds.

Return Format

<pos><NL>
<pos> ::= time in seconds from the trigger to the display reference
          in NR3 format

See Also

  • Introduction to :TIMebase Commands

  • :TIMebase:REFerence

  • :TIMebase[:MAIN]:RANGe

  • :TIMebase[:MAIN]:SCALe

  • :TIMebase:WINDow:POSition

  • :TIMebase[:MAIN]:DELay


:TIMebase[:MAIN]:RANGe

:TIMebase Commands

Name

:TIMebase[:MAIN]:RANGe —

Command Syntax

:TIMebase[:MAIN]:RANGe <range_value>
<range_value> ::= time for 10 div in seconds in NR3 format

The :TIMebase[:MAIN]:RANGe command sets the full-scale horizontal time in seconds for the main window. The range is 10 times the current time-per-division setting.

Query Syntax

:TIMebase[:MAIN]:RANGe?

The :TIMebase[:MAIN]:RANGe query returns the current full-scale range value for the main window.

Return Format

<range_value><NL>
<range_value> ::= time for 10 div in seconds in NR3 format

See Also

  • Introduction to :TIMebase Commands

  • :TIMebase:MODE

  • :TIMebase[:MAIN]:SCALe

  • :TIMebase:WINDow:RANGe

Example Code

   ' TIME_RANGE - Sets the full scale horizontal time in seconds.  The
   ' range value is 10 times the time per division.
   myScope.WriteString ":TIM:RANG 2e-3"   ' Set the time range to 0.002 seconds.

See complete example programs at: Programming Examples


:TIMebase[:MAIN]:SCALe

:TIMebase Commands

Name

:TIMebase[:MAIN]:SCALe —

Command Syntax

:TIMebase[:MAIN]:SCALe <scale_value>
<scale_value> ::= time/div in seconds in NR3 format

The :TIMebase[:MAIN]:SCALe command sets the horizontal scale or units per division for the main window.

Query Syntax

:TIMebase[:MAIN]:SCALe?

The :TIMebase[:MAIN]:SCALe? query returns the current horizontal scale setting in seconds per division for the main window.

Return Format

<scale_value><NL>
<scale_value> ::= time/div in seconds in NR3 format

See Also

  • Introduction to :TIMebase Commands

  • :TIMebase[:MAIN]:RANGe

  • :TIMebase:WINDow:SCALe

  • :TIMebase:WINDow:RANGe


:TIMebase:MODE

:TIMebase Commands

Name

:TIMebase:MODE —

Command Syntax

:TIMebase:MODE <value>
<value> ::= {MAIN | WINDow | XY | ROLL}

The :TIMebase:MODE command sets the current time base. There are four time base modes:

  • MAIN — The normal time base mode is the main time base. It is the default time base mode after the *RST (Reset) command.

  • WINDow — In the WINDow (zoomed or delayed) time base mode, measurements are made in the zoomed time base if possible; otherwise, the measurements are made in the main time base.

  • XY — In the XY mode, the :TIMebase:RANGe, :TIMebase:POSition, and :TIMebase:REFerence commands are not available. No measurements are available in this mode.

  • ROLL — In the ROLL mode, data moves continuously across the display from left to right. The oscilloscope runs continuously and is untriggered. The :TIMebase:REFerence selection changes to RIGHt.

Query Syntax

:TIMebase:MODE?

The :TIMebase:MODE query returns the current time base mode.

Return Format

<value><NL>
<value> ::= {MAIN | WIND | XY | ROLL}

See Also

  • Introduction to :TIMebase Commands

  • *RST (Reset)

  • :TIMebase[:MAIN]:RANGe

  • :TIMebase[:MAIN]:POSition

  • :TIMebase:REFerence

  • :DISPlay:XYColor

Example Code

   ' TIMEBASE_MODE - (not executed in this example)
   ' Set the time base mode to MAIN, DELAYED, XY, or ROLL.

   ' Set time base mode to main.
   myScope.WriteString ":TIMebase:MODE MAIN"

See complete example programs at: Programming Examples


:TIMebase:REFerence

:TIMebase Commands

Name

:TIMebase:REFerence —

Command Syntax

:TIMebase:REFerence <reference>
<reference> ::= {LEFT | CENTer | RIGHt | CUSTom}

The :TIMebase:REFerence command sets the time reference to:

  • LEFT — one division from the left side of the screen.

  • CENTer — the center of the screen.

  • RIGHt — one division from the right side of the screen.

  • CUSTom — lets you use the :TIMebase:REFerence:LOCation command to place the time reference location at a percent of the graticule width (where 0.0 is the left edge and 1.0 is the right edge).

The time reference is the point on the display where the trigger point is referenced.

Query Syntax

:TIMebase:REFerence?

The :TIMebase:REFerence? query returns the current display reference for the main window.

Return Format

<reference><NL>
<reference> ::= {LEFT | CENT | RIGH | CUST}

See Also

  • Introduction to :TIMebase Commands

  • :TIMebase:REFerence:LOCation

  • :TIMebase:MODE

Example Code

   myScope.WriteString ":TIMebase:REFerence CENTer"   ' Set reference to center.

See complete example programs at: Programming Examples


:TIMebase:REFerence:LOCation

:TIMebase Commands

Name

:TIMebase:REFerence:LOCation —

Command Syntax

:TIMebase:REFerence:LOCation <loc>
<loc> ::= 0.0 to 1.0 in NR3 format

When the :TIMebase:REFerence is set to CUSTom, the :TIMebase:REFerence:LOCation command lets you place the time reference location at a percent of the graticule width (where 0.0 is the left edge and 1.0 is the right edge).

Query Syntax

:TIMebase:REFerence:LOCation?

The :TIMebase:REFerence:LOCation? query returns the time base reference custom location setting.

Return Format

<loc><NL>
<loc> ::= 0.0 to 1.0 in NR3 format

See Also

  • :TIMebase:REFerence


:TIMebase:VERNier

:TIMebase Commands

Name

:TIMebase:VERNier —

Command Syntax

:TIMebase:VERNier <vernier value>
<vernier value> ::= {{1 | ON} | {0 | OFF}

The :TIMebase:VERNier command specifies whether the time base control's vernier (fine horizontal adjustment) setting is ON (1) or OFF (0).

Query Syntax

:TIMebase:VERNier?

The :TIMebase:VERNier? query returns the current state of the time base control's vernier setting.

Return Format

<vernier value><NL>
<vernier value> ::= {0 | 1}

See Also

  • Introduction to :TIMebase Commands


:TIMebase:WINDow:POSition

:TIMebase Commands

Name

:TIMebase:WINDow:POSition —

Command Syntax

:TIMebase:WINDow:POSition <pos value>
<pos value> ::= time from the trigger event to the zoomed (delayed)
                view reference point in NR3 format

The :TIMebase:WINDow:POSition command sets the horizontal position in the zoomed (delayed) view of the main sweep. The main sweep range and the main sweep horizontal position determine the range for this command. The value for this command must keep the zoomed view window within the main sweep range.

Query Syntax

:TIMebase:WINDow:POSition?

The :TIMebase:WINDow:POSition? query returns the current horizontal window position setting in the zoomed view.

Return Format

<value><NL>
<value> ::= position value in seconds

See Also

  • Introduction to :TIMebase Commands

  • :TIMebase:MODE

  • :TIMebase[:MAIN]:POSition

  • :TIMebase[:MAIN]:RANGe

  • :TIMebase[:MAIN]:SCALe

  • :TIMebase:WINDow:RANGe

  • :TIMebase:WINDow:SCALe


:TIMebase:WINDow:RANGe

:TIMebase Commands

Name

:TIMebase:WINDow:RANGe —

Command Syntax

:TIMebase:WINDow:RANGe <range value>
<range value> ::= range value in seconds in NR3 format

The :TIMebase:WINDow:RANGe command sets the full-scale horizontal time in seconds for the zoomed (delayed) window. The range is 10 times the current zoomed view window seconds per division setting. The main sweep range determines the range for this command. The maximum value is one half of the :TIMebase:RANGe value.

Query Syntax

:TIMebase:WINDow:RANGe?

The :TIMebase:WINDow:RANGe? query returns the current window timebase range setting.

Return Format

<value><NL>
<value> ::= range value in seconds

See Also

  • Introduction to :TIMebase Commands

  • :TIMebase[:MAIN]:RANGe

  • :TIMebase[:MAIN]:POSition

  • :TIMebase[:MAIN]:SCALe


:TIMebase:WINDow:SCALe

:TIMebase Commands

Name

:TIMebase:WINDow:SCALe —

Command Syntax

:TIMebase:WINDow:SCALe <scale_value>
<scale_value> ::= scale value in seconds in NR3 format

The :TIMebase:WINDow:SCALe command sets the zoomed (delayed) window horizontal scale (seconds/division). The main sweep scale determines the range for this command. The maximum value is one half of the :TIMebase:SCALe value.

Query Syntax

:TIMebase:WINDow:SCALe?

The :TIMebase:WINDow:SCALe? query returns the current zoomed window scale setting.

Return Format

<scale_value><NL>
<scale_value> ::= current seconds per division for the zoomed window

See Also

  • Introduction to :TIMebase Commands

  • :TIMebase[:MAIN]:RANGe

  • :TIMebase[:MAIN]:POSition

  • :TIMebase[:MAIN]:SCALe

  • :TIMebase:WINDow:RANGe


:TRIGger Commands

Control the trigger modes and parameters for each trigger type. See:

  • Introduction to :TRIGger Commands

  • General :TRIGger Commands

  • :TRIGger:DELay Commands

  • :TRIGger[:EDGE] Commands

  • :TRIGger:GLITch Commands (Pulse Width trigger)

  • :TRIGger:OR Commands

  • :TRIGger:PATTern Commands

  • :TRIGger:RUNT Commands

  • :TRIGger:SHOLd Commands

  • :TRIGger:TRANsition Commands

  • :TRIGger:WINDow Commands

  • :TRIGger:ZONE Commands

Introduction to :TRIGger Commands

The commands in the TRIGger subsystem define the conditions for an internal trigger. Many of these commands are valid in multiple trigger modes.

The default trigger mode is :EDGE.

The trigger subsystem controls the trigger sweep mode and the trigger specification. The trigger sweep (see :TRIGger:SWEep) can be AUTO or NORMal.

  • NORMal mode — displays a waveform only if a trigger signal is present and the trigger conditions are met. Otherwise the oscilloscope does not trigger and the display is not updated. This mode is useful for low-repetitive-rate signals.

  • AUTO trigger mode — generates an artificial trigger event if the trigger specification is not satisfied within a preset time, acquires unsynchronized data and displays it.

    AUTO mode is useful for signals other than low-repetitive-rate signals. You must use this mode to display a DC signal because there are no edges on which to trigger.

The following trigger types are available (see :TRIGger:MODE).

  • Edge — identifies a trigger by looking for a specified slope and voltage level on a waveform.

  • Edge Then Edge — (:TRIGger:DELay commands) triggers when the trigger edge occurs after an arming edge within the minimum and maximum delay times without any intervening arming or triggering edges.

  • Pulse Width — (:TRIGger:GLITch commands) sets the oscilloscope to trigger on a positive pulse or on a negative pulse of a specified width.

  • Pattern — identifies a trigger condition by looking for a specified pattern. This pattern is a logical AND combination of the channels. You can also trigger on a specified time duration of a pattern.

  • OR — triggers when any one (or more) of the specified edges on analog or digital channels is found.

  • Rise/Fall Time — (:TRIGger:TRANsition commands) looks for a rising or falling transition from one level to another level in greater than or less than a certain amount of time.

  • Runt — looks for pulses that cross one threshold but not another.

  • Window — allows you to specify a voltage range and then trigger when the waveform either exits this range, enters this range, stays outside the range for too long or too short, or stays inside the range for too long or too short.

  • Setup and Hold — looks for setup and hold violations.

You can also trigger on protocol events using the :SBUS<n> Commands.

Reporting the Setup. Use :TRIGger? to query setup information for the TRIGger subsystem.

Return Format. The return format for the TRIGger? query varies depending on the current mode. The following is a sample response from the :TRIGger? query. In this case, the query was issued following a *RST command.

:TRIG:MODE EDGE;SWE AUTO;NREJ 0;HFR 0;HOLD +4.00000000E-08;
:TRIG:EDGE:SOUR CHAN1;LEV +0.0E+00;SLOP POS;REJ OFF;COUP DC;
:TRIG:ZONE1:STAT 0;:TRIG:ZONE2:STAT 0


General :TRIGger Commands

General :TRIGger Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:FORCe | n/a | n/a
:TRIGger:HFReject {{0 | OFF} | {1 | ON}} | :TRIGger:HFReject? | {0 | 1}
:TRIGger:HOLDoff <holdoff_time> | :TRIGger:HOLDoff? | <holdoff_time> ::= 60 ns to 10 s in NR3 format
:TRIGger:HOLDoff:MAXimum <max_holdoff> | :TRIGger:HOLDoff:MAXimum? | <max_holdoff> ::= maximum holdoff time in seconds in NR3 format
:TRIGger:HOLDoff:MINimum <min_holdoff> | :TRIGger:HOLDoff:MINimum? | <min_holdoff> ::= minimum holdoff time in seconds in NR3 format
:TRIGger:HOLDoff:RANDom {{0 | OFF} | {1 | ON}} | :TRIGger:HOLDoff:RANDom? | <setting> ::= {0 | 1}
:TRIGger:HYSTeresis:STATe {{0 | OFF} | {1 | ON}} | :TRIGger:HYSTeresis:STATe? | {0 | 1}
:TRIGger:JFRee {{0 | OFF} | {1 | ON}} | :TRIGger:JFRee? | {0 | 1}
:TRIGger:LEVel:ASETup | n/a | n/a
:TRIGger:LEVel:HIGH <level>, <source> | :TRIGger:LEVel:HIGH? <source> | <level> ::= .75 x full-scale voltage from center screen in NR3 format. <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:LEVel:LOW <level>, <source> | :TRIGger:LEVel:LOW? <source> | <level> ::= .75 x full-scale voltage from center screen in NR3 format. <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:MODE <mode> | :TRIGger:MODE? | <mode> ::= {EDGE | GLITch | PATTern | DELay | OR | RUNT | SHOLd | TRANsition | WINDow | {PBUS{1 | 2} | SBUS{1 | 2}}} <return_value> ::= {<mode> | <none>} <none> ::= query returns "NONE" if the :TIMebase:MODE is ROLL or XY
:TRIGger:NREJect {{0 | OFF} | {1 | ON}} | :TRIGger:NREJect? | {0 | 1}
:TRIGger:SWEep <sweep> | :TRIGger:SWEep? | <sweep> ::= {AUTO | NORMal}


:TRIGger:FORCe

General :TRIGger Commands

Name

:TRIGger:FORCe —

Command Syntax

:TRIGger:FORCe

The :TRIGger:FORCe command causes an acquisition to be captured even though the trigger condition has not been met. This command is equivalent to the front panel [Force Trigger] key.

See Also

  • Introduction to :TRIGger Commands


:TRIGger:HFReject

General :TRIGger Commands

Name

:TRIGger:HFReject —

Command Syntax

:TRIGger:HFReject <value>
<value> ::= {{0 | OFF} | {1 | ON}}

The :TRIGger:HFReject command turns the high frequency reject filter off and on. The high frequency reject filter adds a 50 kHz low-pass filter in the trigger path to remove high frequency components from the trigger waveform. Use this filter to remove high-frequency noise, such as AM or FM broadcast stations, from the trigger path.

Query Syntax

:TRIGger:HFReject?

The :TRIGger:HFReject? query returns the current high frequency reject filter mode.

Return Format

<value><NL>
<value> ::= {0 | 1}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger[:EDGE]:REJect


:TRIGger:HOLDoff

General :TRIGger Commands

Name

:TRIGger:HOLDoff —

Command Syntax

:TRIGger:HOLDoff <holdoff_time>
<holdoff_time> ::= 40 ns to 10 s in NR3 format

The :TRIGger:HOLDoff command defines the holdoff time value in seconds. Holdoff keeps a trigger from occurring until after a certain amount of time has passed since the last trigger. This feature is valuable when a waveform crosses the trigger level multiple times during one period of the waveform. Without holdoff, the oscilloscope could trigger on each of the crossings, producing a confusing waveform. With holdoff set correctly, the oscilloscope always triggers on the same crossing. The correct holdoff setting is typically slightly less than one period.

Query Syntax

:TRIGger:HOLDoff?

The :TRIGger:HOLDoff? query returns the holdoff time value for the current trigger mode.

Return Format

<holdoff_time><NL>
<holdoff_time> ::= the holdoff time value in seconds in NR3 format.

See Also

  • Introduction to :TRIGger Commands


:TRIGger:HOLDoff:MAXimum

General :TRIGger Commands

Name

:TRIGger:HOLDoff:MAXimum —

Command Syntax

:TRIGger:HOLDoff:MAXimum <max_holdoff>
<max_holdoff> ::= maximum holdoff time in seconds in NR3 format

When the random trigger holdoff mode is enabled (see :TRIGger:HOLDoff:RANDom), the :TRIGger:HOLDoff:MAXimum command specifies the maximum trigger holdoff time.

Query Syntax

:TRIGger:HOLDoff:MAXimum?

The :TRIGger:HOLDoff:MAXimum? query returns the maximum random trigger holdoff time setting.

Return Format

<max_holdoff><NL>

See Also

  • :TRIGger:HOLDoff:MINimum

  • :TRIGger:HOLDoff:RANDom


:TRIGger:HOLDoff:MINimum

General :TRIGger Commands

Name

:TRIGger:HOLDoff:MINimum —

Command Syntax

:TRIGger:HOLDoff:MINimum <min_holdoff>
<min_holdoff> ::= minimum holdoff time in seconds in NR3 format

When the random trigger holdoff mode is enabled (see :TRIGger:HOLDoff:RANDom), the :TRIGger:HOLDoff:MINimum command specifies the minimum trigger holdoff time.

Query Syntax

:TRIGger:HOLDoff:MINimum?

The :TRIGger:HOLDoff:MINimum? query returns the minimum random trigger holdoff time setting.

Return Format

<min_holdoff><NL>

See Also

  • :TRIGger:HOLDoff:MAXimum

  • :TRIGger:HOLDoff:RANDom


:TRIGger:HOLDoff:RANDom

General :TRIGger Commands

Name

:TRIGger:HOLDoff:RANDom —

Command Syntax

:TRIGger:HOLDoff:RANDom {{0 | OFF} | {1 | ON}}

The :TRIGger:HOLDoff:RANDom command enables or disables the random trigger holdoff mode. This mode randomizes the holdoff time from one acquisition to the next. The randomized holdoff time values will be between the values specified by the :TRIGger:HOLDoff:MINimum and :TRIGger:HOLDoff:MAXimum commands.

The random trigger 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 time increases the likelihood that the oscilloscope will trigger on different data phases of a multi-phase (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 Syntax

:TRIGger:HOLDoff:RANDom?

The :TRIGger:HOLDoff:RANDom? query returns random trigger holdoff mode setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :TRIGger:HOLDoff:MAXimum

  • :TRIGger:HOLDoff:MINimum


:TRIGger:HYSTeresis:STATe

General :TRIGger Commands

Name

:TRIGger:HYSTeresis:STATe —

Command Syntax

:TRIGger:HYSTeresis:STATe {{0 | OFF} | {1 | ON}}

The :TRIGger:HYSTeresis:STATe command disables or enables the trigger Hysteresis option.

Oscilloscope triggers use hysteresis techniques to reduce false triggering on noisy signals. This oscilloscope's fully digital triggers implement hysteresis as a sensitivity limit. The default hysteresis setting (enabled) delivers optimal triggering performance for almost all signals.

By disabling hysteresis, the sensitivity of the trigger drops to one least significant bit (LSB). It is limited only by the noise floor of the signal and oscilloscope. You must be mindful of signal and measurement noise to avoid false triggers. This mode is often paired with Bandwidth Limit filters or Averaging (see :CHANnel<n>:BANDwidth or :ACQuire:TYPE).

Query Syntax

:TRIGger:HYSTeresis:STATe?

The :TRIGger:HYSTeresis:STATe? query returns the trigger Hysteresis option setting.

Return Format

{0 | 1}

See Also

  • Introduction to :TRIGger Commands

  • :CHANnel<n>:BANDwidth

  • :ACQuire:TYPE


:TRIGger:JFRee

General :TRIGger Commands

Name

:TRIGger:JFRee —

Command Syntax

:TRIGger:JFRee {{0 | OFF} | {1 | ON}}

The :TRIGger:JFRee command disables or enables the Jitter-Free Trigger option.

Oscilloscope trigger circuitry introduces a certain amount of noise and jitter that result in horizontal error. To correct for this error, in certain trigger modes and at certain timebase ranges, hardware Jitter-Free Trigger correction is used to minimize trigger jitter at the trigger point.

The effect seen on the oscilloscope display is that all plotted acquisitions cross through the same pixel location at the intersection of the trigger level and time=0.

Jitter-Free Trigger correction works well for fast digital edges, but you may want to turn it off for some slow slew rate analog signals.

Query Syntax

:TRIGger:JFRee?

The :TRIGger:JFRee? query returns the Jitter-Free Trigger option setting.

Return Format

{0 | 1}


:TRIGger:LEVel:ASETup

General :TRIGger Commands

Name

:TRIGger:LEVel:ASETup —

Command Syntax

:TRIGger:LEVel:ASETup

The :TRIGger:LEVel:ASETup command automatically sets the trigger levels of all displayed analog channels to their waveforms' 50% values.

If AC coupling is used, the trigger levels are set to 0 V.

When High and Low (dual) trigger levels are used (as with Rise/Fall Time and Runt triggers, for example), this command has no effect.

See Also

  • :TRIGger[:EDGE]:LEVel


:TRIGger:LEVel:HIGH

General :TRIGger Commands

Name

:TRIGger:LEVel:HIGH —

Command Syntax

:TRIGger:LEVel:HIGH <level>, <source>
<level> ::= 0.75 x full-scale voltage from center screen in NR3 format
            for internal triggers
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :TRIGger:LEVel:HIGH command sets the high trigger voltage level voltage for the specified source.

High and low trigger levels are used with runt triggers and rise/fall time (transition) triggers.

Query Syntax

:TRIGger:LEVel:HIGH? <source>

The :TRIGger:LEVel:HIGH? query returns the high trigger voltage level for the specified source.

Return Format

<level><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:LEVel:LOW

  • :TRIGger:RUNT Commands

  • :TRIGger:TRANsition Commands

  • :TRIGger[:EDGE]:SOURce


:TRIGger:LEVel:LOW

General :TRIGger Commands

Name

:TRIGger:LEVel:LOW —

Command Syntax

:TRIGger:LEVel:LOW <level>, <source>
<level> ::= 0.75 x full-scale voltage from center screen in NR3 format
            for internal triggers
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :TRIGger:LEVel:LOW command sets the low trigger voltage level voltage for the specified source.

High and low trigger levels are used with runt triggers and rise/fall time (transition) triggers.

Query Syntax

:TRIGger:LEVel:LOW? <source>

The :TRIGger:LEVel:LOW? query returns the low trigger voltage level for the specified source.

Return Format

<level><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:LEVel:HIGH

  • :TRIGger:RUNT Commands

  • :TRIGger:TRANsition Commands

  • :TRIGger[:EDGE]:SOURce


:TRIGger:MODE

General :TRIGger Commands

Name

:TRIGger:MODE —

Command Syntax

:TRIGger:MODE <mode>
<mode> ::= {EDGE | GLITch | PATTern | DELay | OR | RUNT | SHOLd
   | TRANsition | WINDow | {PBUS{1 | 2} | SBUS{1 | 2}}}

The :TRIGger:MODE command selects the trigger mode (trigger type).

Query Syntax

:TRIGger:MODE?

The :TRIGger:MODE? query returns the current trigger mode. If the :TIMebase:MODE is ROLL or XY, the query returns "NONE".

Return Format

<mode><NL>
<mode> ::= {EDGE | GLIT | PATT | DEL | OR | RUNT | SHOL
           | TRAN | WIND | PBUS{1 | 2}}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:SWEep

  • :TIMebase:MODE

Example Code

   ' TRIGGER_MODE - Set the trigger mode to EDGE.
   myScope.WriteString ":TRIGger:MODE EDGE"

See complete example programs at: Programming Examples


:TRIGger:NREJect

General :TRIGger Commands

Name

:TRIGger:NREJect —

Command Syntax

:TRIGger:NREJect <value>
<value> ::= {{0 | OFF} | {1 | ON}}

The :TRIGger:NREJect command turns the noise reject filter off and on. When the noise reject filter is on, the trigger circuitry is less sensitive to noise but may require a greater amplitude waveform to trigger the oscilloscope.

Query Syntax

:TRIGger:NREJect?

The :TRIGger:NREJect? query returns the current noise reject filter mode.

Return Format

<value><NL>
<value> ::= {0 | 1}

See Also

  • Introduction to :TRIGger Commands


:TRIGger:SWEep

General :TRIGger Commands

Name

:TRIGger:SWEep —

Command Syntax

:TRIGger:SWEep <sweep>
<sweep> ::= {AUTO | NORMal}

The :TRIGger:SWEep command selects the trigger sweep mode.

When AUTO sweep mode is selected, a baseline is displayed in the absence of a signal. If a signal is present but the oscilloscope is not triggered, the unsynchronized signal is displayed instead of a baseline.

When NORMal sweep mode is selected and no trigger is present, the instrument does not sweep, and the data acquired on the previous trigger remains on the screen.

[Note]

This feature is called "Mode" on the instrument's front panel.

Query Syntax

:TRIGger:SWEep?

The :TRIGger:SWEep? query returns the current trigger sweep mode.

Return Format

<sweep><NL>
<sweep> ::= current trigger sweep mode

See Also

  • Introduction to :TRIGger Commands


:TRIGger:DELay Commands

:TRIGger:DELay Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:DELay:ARM:SLOPe <slope> | :TRIGger:DELay:ARM:SLOPe? | <slope> ::= {NEGative | POSitive}
:TRIGger:DELay:ARM:SOURce <source> | :TRIGger:DELay:ARM:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger:DELay:TDELay:TMAX <time_value> | :TRIGger:DELay:TDELay:TMAX? | <time_value> ::= time in seconds in NR3 format
:TRIGger:DELay:TDELay:TMIN <time_value> | :TRIGger:DELay:TDELay:TMIN? | <time_value> ::= time in seconds in NR3 format
:TRIGger:DELay:TRIGger:SLOPe <slope> | :TRIGger:DELay:TRIGger:SLOPe? | <slope> ::= {NEGative | POSitive}
:TRIGger:DELay:TRIGger:SOURce <source> | :TRIGger:DELay:TRIGger:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format

The :TRIGger:DELay:ARM:SOURce and :TRIGger:DELay:TRIGger:SOURce commands are used to specify the source channel for the arming edge and the trigger edge in the Edge Then Edge trigger.

The Edge Then Edge trigger mode triggers when the trigger edge occurs after an arming edge within the minimum and maximum delay times without any intervening arming or triggering edges. The sequence is restarted without a trigger if:

  • An arming or triggering edge occurs while waiting for the minimum delay time to complete.

  • An arming edge occurs before a triggering edge during the maximum delay time.

  • The maximum delay time completes with no triggering edge.

[Note]

This Edge Then Edge trigger mode differs from previous InfiniiVision X-Series oscilloscopes where intervening edges were allowed (you could trigger on an Nth triggering edge) and there was no maximum delay time.

If an analog channel is selected as a source, the :TRIGger:EDGE:LEVel command is used to set the trigger level.

If a digital channel is selected as the source, the :DIGital<n>:THReshold or :POD<n>:THReshold command is used to set the trigger level.


:TRIGger:DELay:ARM:SLOPe

:TRIGger:DELay Commands

Name

:TRIGger:DELay:ARM:SLOPe —

Command Syntax

:TRIGger:DELay:ARM:SLOPe <slope>
<slope> ::= {NEGative | POSitive}

The :TRIGger:DELay:ARM:SLOPe command specifies rising (POSitive) or falling (NEGative) for the arming edge in the Edge Then Edge trigger.

Query Syntax

:TRIGger:DELay:ARM:SLOPe?

The :TRIGger:DELay:ARM:SLOPe? query returns the current arming edge slope setting.

Return Format

<slope><NL>
<slope> ::= {NEG | POS}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:DELay:ARM:SOURce

  • :TRIGger:DELay:TDELay:TMIN

  • :TRIGger:DELay:TDELay:TMAX


:TRIGger:DELay:ARM:SOURce

:TRIGger:DELay Commands

Name

:TRIGger:DELay:ARM:SOURce —

Command Syntax

:TRIGger:DELay:ARM:SOURce <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :TRIGger:DELay:ARM:SOURce command selects the input used for the arming edge in the Edge Then Edge trigger.

Query Syntax

:TRIGger:DELay:ARM:SOURce?

The :TRIGger:DELay:ARM:SOURce? query returns the current arming edge source.

Return Format

<source><NL>
<source> ::= {CHAN<n> | DIG<d>}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:DELay:ARM:SLOPe

  • :TRIGger:DELay:TDELay:TMIN

  • :TRIGger:DELay:TDELay:TMAX

  • :TRIGger:MODE


:TRIGger:DELay:TDELay:TMAX

:TRIGger:DELay Commands

Name

:TRIGger:DELay:TDELay:TMAX —

Command Syntax

:TRIGger:DELay:TDELay:TMAX <time_value>
<time_value> ::= time in seconds in NR3 format

The :TRIGger:DELay:TDELay:TMAX command sets the maximum delay time between the arming edge and the trigger edge in the Edge Then Edge trigger.

[Note]

Entered delay times automatically adjust to the nearest valid increment of ~156.5 ps.

Query Syntax

:TRIGger:DELay:TDELay:TMAX?

The :TRIGger:DELay:TDELay:TMAX? query returns current maximum delay time setting.

Return Format

<time value><NL>
<time_value> ::= time in seconds in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:DELay:TDELay:TMIN

  • :TRIGger:DELay:TRIGger:SLOPe


:TRIGger:DELay:TDELay:TMIN

:TRIGger:DELay Commands

Name

:TRIGger:DELay:TDELay:TMIN —

Command Syntax

:TRIGger:DELay:TDELay:TMIN <time_value>
<time_value> ::= time in seconds in NR3 format

The :TRIGger:DELay:TDELay:TMIN command sets the minimum delay time between the arming edge and the trigger edge in the Edge Then Edge trigger.

[Note]

Entered delay times automatically adjust to the nearest valid increment of ~156.5 ps.

Query Syntax

:TRIGger:DELay:TDELay:TMIN?

The :TRIGger:DELay:TDELay:TMIN? query returns current minimum delay time setting.

Return Format

<time value><NL>
<time_value> ::= time in seconds in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:DELay:TDELay:TMAX

  • :TRIGger:DELay:TRIGger:SLOPe


:TRIGger:DELay:TRIGger:SLOPe

:TRIGger:DELay Commands

Name

:TRIGger:DELay:TRIGger:SLOPe —

Command Syntax

:TRIGger:DELay:TRIGger:SLOPe <slope>
<slope> ::= {NEGative | POSitive}

The :TRIGger:DELay:TRIGger:SLOPe command specifies rising (POSitive) or falling (NEGative) for the trigger edge in the Edge Then Edge trigger.

Query Syntax

:TRIGger:DELay:TRIGger:SLOPe?

The :TRIGger:DELay:TRIGger:SLOPe? query returns the current trigger edge slope setting.

Return Format

<slope><NL>
<slope> ::= {NEG | POS}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:DELay:TRIGger:SOURce

  • :TRIGger:DELay:TDELay:TMIN

  • :TRIGger:DELay:TDELay:TMAX


:TRIGger:DELay:TRIGger:SOURce

:TRIGger:DELay Commands

Name

:TRIGger:DELay:TRIGger:SOURce —

Command Syntax

:TRIGger:DELay:TRIGger:SOURce <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :TRIGger:DELay:TRIGger:SOURce command selects the input used for the trigger edge in the Edge Then Edge trigger.

Query Syntax

:TRIGger:DELay:TRIGger:SOURce?

The :TRIGger:DELay:TRIGger:SOURce? query returns the current trigger edge source.

Return Format

<source><NL>
<source> ::= {CHAN<n> | DIG<d>}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:DELay:TRIGger:SLOPe

  • :TRIGger:DELay:TDELay:TMIN

  • :TRIGger:DELay:TDELay:TMAX

  • :TRIGger:MODE


:TRIGger[:EDGE] Commands

:TRIGger[:EDGE] Commands Summary:

Command | Query | Options and Query Returns
:TRIGger[:EDGE]:COUPling {AC | DC | LFReject} | :TRIGger[:EDGE]:COUPling? | {AC | DC | LFReject}
:TRIGger[:EDGE]:LEVel <level> [,<source>] | :TRIGger[:EDGE]:LEVel? [<source>] | For internal triggers, <level> ::= .75 x full-scale voltage from center screen in NR3 format. For external triggers, <level> ::= ±(external range setting) in NR3 format. For digital channels, <level> ::= ±8 V. <source> ::= {CHANnel<n> | DIGital<d> | EXTernal } <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger[:EDGE]:REJect {OFF | LFReject | HFReject} | :TRIGger[:EDGE]:REJect? | {OFF | LFReject | HFReject}
:TRIGger[:EDGE]:SLOPe <polarity> | :TRIGger[:EDGE]:SLOPe? | <polarity> ::= {POSitive | NEGative | EITHer | ALTernate}
:TRIGger[:EDGE]:SOURce <source> | :TRIGger[:EDGE]:SOURce? | <source> ::= {CHANnel<n> | DIGital<d> | EXTernal | LINE | WGEN | WGEN1 | WMOD} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format Note: WGEN and WGEN1 are equivalent.


:TRIGger[:EDGE]:COUPling

:TRIGger[:EDGE] Commands

Name

:TRIGger[:EDGE]:COUPling —

Command Syntax

:TRIGger[:EDGE]:COUPling <coupling>
<coupling> ::= {AC | DC | LFReject}

The :TRIGger[:EDGE]:COUPling command sets the input coupling for the selected trigger sources. The coupling can be set to AC, DC, or LFReject.

  • AC coupling places a high-pass filter (10 Hz for analog channels, and 3.5 Hz for all External trigger inputs) in the trigger path, removing dc offset voltage from the trigger waveform. Use AC coupling to get a stable edge trigger when your waveform has a large dc offset.

  • LFReject coupling places a 50 kHz high-pass filter in the trigger path.

  • DC coupling allows dc and ac signals into the trigger path.

[Note]

The :TRIGger[:EDGE]:COUPling and the :TRIGger[:EDGE]:REJect selections are coupled. Changing the setting of the :TRIGger[:EDGE]:REJect can change the COUPling setting.

Query Syntax

:TRIGger[:EDGE]:COUPling?

The :TRIGger[:EDGE]:COUPling? query returns the current coupling selection.

Return Format

<coupling><NL>
<coupling> ::= {AC | DC | LFR}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger[:EDGE]:REJect


:TRIGger[:EDGE]:LEVel

:TRIGger[:EDGE] Commands

Name

:TRIGger[:EDGE]:LEVel —

Command Syntax

:TRIGger[:EDGE]:LEVel <level>
<level> ::= <level>[,<source>]
<level> ::= 0.75 x full-scale voltage from center screen in NR3 format
            for internal triggers
<level> ::= ±(external range setting) in NR3 format
            for external triggers
<level> ::= ±8 V for digital channels
<source> ::= {CHANnel<n> | DIGital<d> | EXTernal}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :TRIGger[:EDGE]:LEVel command sets the trigger level voltage for the active trigger source.

[Note]

If the optional source is specified and is not the active source, the level on the active source is not affected and the active source is not changed.

Query Syntax

:TRIGger[:EDGE]:LEVel? [<source>]

The :TRIGger[:EDGE]:LEVel? query returns the trigger level of the current trigger source.

Return Format

<level><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger[:EDGE]:SOURce

  • :EXTernal:RANGe

  • :POD<n>:THReshold

  • :DIGital<d>:THReshold


:TRIGger[:EDGE]:REJect

:TRIGger[:EDGE] Commands

Name

:TRIGger[:EDGE]:REJect —

Command Syntax

:TRIGger[:EDGE]:REJect <reject>
<reject> ::= {OFF | LFReject | HFReject}

The :TRIGger[:EDGE]:REJect command turns the low-frequency or high-frequency reject filter on or off. You can turn on one of these filters at a time.

  • The high frequency reject filter adds a 50 kHz low-pass filter in the trigger path to remove high frequency components from the trigger waveform. Use the high frequency reject filter to remove high-frequency noise, such as AM or FM broadcast stations, from the trigger path.

  • The low frequency reject filter adds a 50 kHz high-pass filter in series with the trigger waveform to remove any unwanted low frequency components from a trigger waveform, such as power line frequencies, that can interfere with proper triggering.

[Note]

The :TRIGger[:EDGE]:REJect and the :TRIGger[:EDGE]:COUPling selections are coupled. Changing the setting of the :TRIGger[:EDGE]:COUPling can change the COUPling setting.

Query Syntax

:TRIGger[:EDGE]:REJect?

The :TRIGger[:EDGE]:REJect? query returns the current status of the reject filter.

Return Format

<reject><NL>
<reject> ::= {OFF | LFR | HFR}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:HFReject

  • :TRIGger[:EDGE]:COUPling


:TRIGger[:EDGE]:SLOPe

:TRIGger[:EDGE] Commands

Name

:TRIGger[:EDGE]:SLOPe —

Command Syntax

:TRIGger[:EDGE]:SLOPe <slope>
<slope> ::= {NEGative | POSitive | EITHer | ALTernate}

The :TRIGger[:EDGE]:SLOPe command specifies the slope of the edge for the trigger.

Query Syntax

:TRIGger[:EDGE]:SLOPe?

The :TRIGger[:EDGE]:SLOPe? query returns the current trigger slope.

Return Format

<slope><NL>
<slope> ::= {NEG | POS | EITH | ALT}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

Example Code

   ' TRIGGER_EDGE_SLOPE - Sets the slope of the edge for the trigger.

   ' Set the slope to positive.
   myScope.WriteString ":TRIGGER:EDGE:SLOPE POSITIVE"

See complete example programs at: Programming Examples


:TRIGger[:EDGE]:SOURce

:TRIGger[:EDGE] Commands

Name

:TRIGger[:EDGE]:SOURce —

Command Syntax

:TRIGger[:EDGE]:SOURce <source>
<source> ::= {CHANnel<n> | DIGital<d> | EXTernal | LINE | WGEN | WGEN1
             | WMOD}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format
Note: WAVE and WGEN1 are equivalent.

The :TRIGger[:EDGE]:SOURce command selects the input that produces the trigger.

  • EXTernal — triggers on the rear panel EXT TRIG IN signal.

  • LINE — triggers at the 50% level of the rising or falling edge of the AC power source signal.

  • WGEN, WGEN1 — triggers at the 50% level of the rising edge of the waveform generator output signal. This option is not available when the DC, NOISe, or CARDiac waveforms are selected.

  • WMOD — when waveform generator FM modulation is used, triggers at the 50% level of the rising edge of the modulating signal.

Query Syntax

:TRIGger[:EDGE]:SOURce?

The :TRIGger[:EDGE]:SOURce? query returns the current source. If all channels are off, the query returns "NONE."

Return Format

<source><NL>
<source> ::= {CHAN<n> | DIG<d> | EXTernal | LINE | WGEN | WGEN1
             | WMOD | NONE}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

Example Code

   ' TRIGGER_EDGE_SOURCE - Selects the channel that actually produces the
   ' edge trigger.  Any channel can be selected.
   myScope.WriteString ":TRIGger:EDGE:SOURce CHANnel1"

See complete example programs at: Programming Examples


:TRIGger:GLITch Commands

:TRIGger:GLITch Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:GLITch:GREaterthan <greater_than_time>[suffix] | :TRIGger:GLITch:GREaterthan? | <greater_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:GLITch:LESSthan <less_than_time>[suffix] | :TRIGger:GLITch:LESSthan? | <less_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:GLITch:LEVel <level> [<source>] | :TRIGger:GLITch:LEVel? | For internal triggers, <level> ::= .75 x full-scale voltage from center screen in NR3 format. For digital channels, <level> ::= ±8 V. <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger:GLITch:POLarity <polarity> | :TRIGger:GLITch:POLarity? | <polarity> ::= {POSitive | NEGative}
:TRIGger:GLITch:QUALifier <qualifier> | :TRIGger:GLITch:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan | RANGe}
:TRIGger:GLITch:RANGe <less_than_time>[suffix], <greater_than_time>[suffix] | :TRIGger:GLITch:RANGe? | <less_than_time> ::= 15 ns to 10 seconds in NR3 format <greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:GLITch:SOURce <source> | :TRIGger:GLITch:SOURce? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format


:TRIGger:GLITch:GREaterthan

:TRIGger:GLITch Commands

Name

:TRIGger:GLITch:GREaterthan —

Command Syntax

:TRIGger:GLITch:GREaterthan <greater_than_time>[<suffix>]
<greater_than_time> ::= floating-point number in NR3 format
<suffix> ::= {s | ms | us | ns | ps}

The :TRIGger:GLITch:GREaterthan command sets the minimum pulse width duration for the selected :TRIGger:GLITch:SOURce.

Query Syntax

:TRIGger:GLITch:GREaterthan?

The :TRIGger:GLITch:GREaterthan? query returns the minimum pulse width duration time for :TRIGger:GLITch:SOURce.

Return Format

<greater_than_time><NL>
<greater_than_time> ::= floating-point number in NR3 format.

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:GLITch:SOURce

  • :TRIGger:GLITch:QUALifier

  • :TRIGger:MODE


:TRIGger:GLITch:LESSthan

:TRIGger:GLITch Commands

Name

:TRIGger:GLITch:LESSthan —

Command Syntax

:TRIGger:GLITch:LESSthan <less_than_time>[<suffix>]
<less_than_time> ::= floating-point number in NR3 format
<suffix> ::= {s | ms | us | ns | ps}

The :TRIGger:GLITch:LESSthan command sets the maximum pulse width duration for the selected :TRIGger:GLITch:SOURce.

Query Syntax

:TRIGger:GLITch:LESSthan?

The :TRIGger:GLITch:LESSthan? query returns the pulse width duration time for :TRIGger:GLITch:SOURce.

Return Format

<less_than_time><NL>
<less_than_time> ::= floating-point number in NR3 format.

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:GLITch:SOURce

  • :TRIGger:GLITch:QUALifier

  • :TRIGger:MODE


:TRIGger:GLITch:LEVel

:TRIGger:GLITch Commands

Name

:TRIGger:GLITch:LEVel —

Command Syntax

:TRIGger:GLITch:LEVel <level>[,<source>]
<level> ::= .75 x full-scale voltage from center screen in NR3 format
            for internal triggers
<level> ::= ±8 V for digital channels
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :TRIGger:GLITch:LEVel command sets the trigger level voltage for the active pulse width trigger.

Query Syntax

:TRIGger:GLITch:LEVel?

The :TRIGger:GLITch:LEVel? query returns the trigger level of the current pulse width trigger mode. If all channels are off, the query returns "NONE."

Return Format

<level><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:GLITch:SOURce

  • :EXTernal:RANGe


:TRIGger:GLITch:POLarity

:TRIGger:GLITch Commands

Name

:TRIGger:GLITch:POLarity —

Command Syntax

:TRIGger:GLITch:POLarity <polarity>
<polarity> ::= {POSitive | NEGative}

The :TRIGger:GLITch:POLarity command sets the polarity for the glitch pulse width trigger.

Query Syntax

:TRIGger:GLITch:POLarity?

The :TRIGger:GLITch:POLarity? query returns the glitch pulse width trigger polarity.

Return Format

<polarity><NL>
<polarity> ::= {POS | NEG}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:GLITch:SOURce


:TRIGger:GLITch:QUALifier

:TRIGger:GLITch Commands

Name

:TRIGger:GLITch:QUALifier —

Command Syntax

:TRIGger:GLITch:QUALifier <operator>
<operator> ::= {GREaterthan | LESSthan | RANGe}

This command sets the mode of operation of the glitch pulse width trigger. The oscilloscope can trigger on a pulse width that is greater than a time value, less than a time value, or within a range of time values.

Query Syntax

:TRIGger:GLITch:QUALifier?

The :TRIGger:GLITch:QUALifier? query returns the glitch pulse width qualifier.

Return Format

<operator><NL>
<operator> ::= {GRE | LESS | RANG}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:GLITch:SOURce

  • :TRIGger:MODE


:TRIGger:GLITch:RANGe

:TRIGger:GLITch Commands

Name

:TRIGger:GLITch:RANGe —

Command Syntax

:TRIGger:GLITch:RANGe <less_than_time>[suffix],
                      <greater_than_time>[suffix]
<less_than_time> ::= (15 ns - 10 seconds) in NR3 format
<greater_than_time> ::= (10 ns - 9.99 seconds) in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

The :TRIGger:GLITch:RANGe command sets the pulse width duration for the selected :TRIGger:GLITch:SOURce. You can enter the parameters in any order — the smaller value becomes the <greater_than_time> and the larger value becomes the <less_than_time>.

Query Syntax

:TRIGger:GLITch:RANGe?

The :TRIGger:GLITch:RANGe? query returns the pulse width duration time for :TRIGger:GLITch:SOURce.

Return Format

<less_than_time>,<greater_than_time><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:GLITch:SOURce

  • :TRIGger:GLITch:QUALifier

  • :TRIGger:MODE


:TRIGger:GLITch:SOURce

:TRIGger:GLITch Commands

Name

:TRIGger:GLITch:SOURce —

Command Syntax

:TRIGger:GLITch:SOURce <source>
<source> ::= {DIGital<d> | CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :TRIGger:GLITch:SOURce command selects the channel that produces the pulse width trigger.

Query Syntax

:TRIGger:GLITch:SOURce?

The :TRIGger:GLITch:SOURce? query returns the current pulse width source. If all channels are off, the query returns "NONE".

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:GLITch:LEVel

  • :TRIGger:GLITch:POLarity

  • :TRIGger:GLITch:QUALifier

  • :TRIGger:GLITch:RANGe

Example Code

  • Example Code


:TRIGger:OR Commands

:TRIGger:OR Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:OR <string> | :TRIGger:OR? | <string> ::= "nn...n" where n ::= {R | F | E | X} R = rising edge, F = falling edge, E = either edge, X = don't care. Each character in the string is for an analog or digital channel as shown on the front panel display.


:TRIGger:OR

:TRIGger:OR Commands

Name

:TRIGger:OR —

Command Syntax

:TRIGger:OR <string>
<string> ::= "nn...n" where n ::= {R | F | E | X}
R = rising edge, F = falling edge, E = either edge, X = don't care.

The :TRIGger:OR command specifies the edges to include in the OR'ed edge trigger.

In the <string> parameter, each bit corresponds to a channel as described in the following table:

Oscilloscope Models | Value and Mask Bit Assignments
4 analog + 16 digital channels (mixed-signal) | Bits 0 through 15 - digital channels 0 through 15. Bits 16 through 19 - analog channels 4 through 1.
2 analog + 16 digital channels (mixed-signal) | Bits 0 through 15 - digital channels 0 through 15. Bits 16 and 17 - analog channels 2 and 1.

Query Syntax

:TRIGger:OR?

The :TRIGger:OR? query returns the current OR'ed edge trigger string.

Return Format

<string><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE


:TRIGger:PATTern Commands

:TRIGger:PATTern Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:PATTern <string>[,<edge_source>,<edge>] | :TRIGger:PATTern? | <string> ::= "nn...n" where n ::= {0 | 1 | X | R | F} when <base> = ASCii <string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when <base> = HEX <edge_source> ::= {CHANnel<n> | DIGital<d> | NONE} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format <edge> ::= {POSitive | NEGative}
:TRIGger:PATTern:FORMat <base> | :TRIGger:PATTern:FORMat? | <base> ::= {ASCii | HEX}
:TRIGger:PATTern:GREaterthan <greater_than_time>[suffix] | :TRIGger:PATTern:GREaterthan? | <greater_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:PATTern:LESSthan <less_than_time>[suffix] | :TRIGger:PATTern:LESSthan? | <less_than_time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:PATTern:QUALifier <qualifier> | :TRIGger:PATTern:QUALifier? | <qualifier> ::= {ENTered | GREaterthan | LESSthan | INRange | OUTRange | TIMeout}
:TRIGger:PATTern:RANGe <less_than_time>[suffix], <greater_than_time>[suffix] | :TRIGger:PATTern:RANGe? | <less_than_time> ::= 15 ns to 10 seconds in NR3 format <greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format [suffix] ::= {s | ms | us | ns | ps}


:TRIGger:PATTern

:TRIGger:PATTern Commands

Name

:TRIGger:PATTern —

Command Syntax

:TRIGger:PATTern <pattern>
<pattern> ::= <string>[,<edge_source>,<edge>]
<string> ::= "nn...n" where n ::= {0 | 1 | X | R | F} when
             <base> = ASCii
<string> ::= "0xnn...n" where n ::= {0,..,9 | A,..,F | X | $} when
             <base> = HEX
<edge_source> ::= {CHANnel<n> | DIGital<d>
                  | NONE}
<n> ::= 1 to (# of analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format
<edge> ::= {POSitive | NEGative}

The :TRIGger:PATTern command specifies the channel values to be used in the pattern trigger.

In the <string> parameter, each bit corresponds to a channel as described in the following table:

Oscilloscope Models | Value and Mask Bit Assignments
4 analog + 16 digital channels (mixed-signal) | Bits 0 through 15 - digital channels 0 through 15. Bits 16 through 19 - analog channels 4 through 1.
2 analog + 16 digital channels (mixed-signal) | Bits 0 through 15 - digital channels 0 through 15. Bits 16 and 17 - analog channels 2 and 1.

The format of the <string> parameter depends on the :TRIGger:PATTern:FORMat command setting:

  • When the format is ASCii, the string looks just like the string you see on the oscilloscope's front panel, made up of 0, 1, X (don't care), R (rising edge), and F (falling edge) characters.

  • When the format is HEX, the string begins with "0x" and contains hex digit characters or X (don't care for all four bits in the nibble).

    With the hex format string, you can use the <edge_source> and <edge> parameters to specify an edge on one of the channels.

[Note]

The optional <edge_source> and <edge> parameters should be sent together or not at all. The edge can be specified in the ASCII <string> parameter. If the edge source and edge parameters are used, they take precedence.

You can only specify an edge on one channel. When an edge is specified, the :TRIGger:PATTern:QUALifier does not apply.

Query Syntax

:TRIGger:PATTern?

The :TRIGger:PATTern? query returns the pattern string, edge source, and edge.

Return Format

<string>,<edge_source>,<edge><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:PATTern:FORMat

  • :TRIGger:PATTern:QUALifier

  • :TRIGger:MODE

  • Commands Not Supported in Multiple Program Message Units


:TRIGger:PATTern:FORMat

:TRIGger:PATTern Commands

Name

:TRIGger:PATTern:FORMat —

Command Syntax

:TRIGger:PATTern:FORMat <base>
<base> ::= {ASCii | HEX}

The :TRIGger:PATTern:FORMat command sets the entry (and query) number base used by the :TRIGger:PATTern command. The default <base> is ASCii.

Query Syntax

:TRIGger:PATTern:FORMat?

The :TRIGger:PATTern:FORMat? query returns the currently set number base for pattern trigger patterns.

Return Format

<base><NL>
<base> ::= {ASC | HEX}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:PATTern


:TRIGger:PATTern:GREaterthan

:TRIGger:PATTern Commands

Name

:TRIGger:PATTern:GREaterthan —

Command Syntax

:TRIGger:PATTern:GREaterthan <greater_than_time>[<suffix>]
<greater_than_time> ::= minimum trigger duration in seconds
                        in NR3 format
<suffix> ::= {s | ms | us | ns | ps }

The :TRIGger:PATTern:GREaterthan command sets the minimum duration for the defined pattern when :TRIGger:PATTern:QUALifier is set to GREaterthan. The command also sets the timeout value when the :TRIGger:PATTern:QUALifier is set to TIMeout.

Query Syntax

:TRIGger:PATTern:GREaterthan?

The :TRIGger:PATTern:GREaterthan? query returns the minimum duration time for the defined pattern.

Return Format

<greater_than_time><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:PATTern

  • :TRIGger:PATTern:QUALifier

  • :TRIGger:MODE


:TRIGger:PATTern:LESSthan

:TRIGger:PATTern Commands

Name

:TRIGger:PATTern:LESSthan —

Command Syntax

:TRIGger:PATTern:LESSthan <less_than_time>[<suffix>]
<less_than_time> ::= maximum trigger duration in seconds
                     in NR3 format
<suffix> ::= {s | ms | us | ns | ps}

The :TRIGger:PATTern:LESSthan command sets the maximum duration for the defined pattern when :TRIGger:PATTern:QUALifier is set to LESSthan.

Query Syntax

:TRIGger:PATTern:LESSthan?

The :TRIGger:PATTern:LESSthan? query returns the duration time for the defined pattern.

Return Format

<less_than_time><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:PATTern

  • :TRIGger:PATTern:QUALifier

  • :TRIGger:MODE


:TRIGger:PATTern:QUALifier

:TRIGger:PATTern Commands

Name

:TRIGger:PATTern:QUALifier —

Command Syntax

:TRIGger:PATTern:QUALifier <qualifier>
<qualifier> ::= {ENTered | GREaterthan | LESSthan | INRange | OUTRange
                | TIMeout}

The :TRIGger:PATTern:QUALifier command qualifies when the trigger occurs:

  • ENTered — when the pattern is entered.

  • LESSthan — when the pattern is present for less than a time value.

  • GREaterthan — when the pattern is present for greater than a time value. The trigger occurs when the pattern exits (not when the GREaterthan time value is exceeded).

  • TIMeout — when the pattern is present for greater than a time value. In this case, the trigger occurs when the GREaterthan time value is exceeded (not when the pattern exits).

  • INRange — when the pattern is present for a time within a range of values.

  • OUTRange — when the pattern is present for a time outside of range of values.

Pattern durations are evaluated using a timer. The timer starts on the last edge that makes the pattern (logical AND) true. Except when the TIMeout qualifier is selected, the trigger occurs on the first edge that makes the pattern false, provided the time qualifier criteria has been met.

Set the GREaterthan qualifier value with the :TRIGger:PATTern:GREaterthan command.

Set the LESSthan qualifier value with the :TRIGger:PATTern:LESSthan command.

Set the INRange and OUTRange qualifier values with the :TRIGger:PATTern:RANGe command.

Set the TIMeout qualifier value with the :TRIGger:PATTern:GREaterthan command.

Query Syntax

:TRIGger:PATTern:QUALifier?

The :TRIGger:PATTern:QUALifier? query returns the trigger duration qualifier.

Return Format

<qualifier><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:PATTern:GREaterthan

  • :TRIGger:PATTern:LESSthan

  • :TRIGger:PATTern:RANGe


:TRIGger:PATTern:RANGe

:TRIGger:PATTern Commands

Name

:TRIGger:PATTern:RANGe —

Command Syntax

:TRIGger:PATTern:RANGe <less_than_time>[<suffix>],
                        <greater_than_time>[<suffix>]
<greater_than_time> ::= 10 ns to 9.99 seconds in NR3 format
<less_than_time> ::= 15 ns to 10 seconds in NR3 format
<suffix> ::= {s | ms | us | ns | ps}

The :TRIGger:PATTern:RANGe command sets the duration for the defined pattern when the :TRIGger:PATTern:QUALifier command is set to INRange or OUTRange. You can enter the parameters in any order — the smaller value becomes the <greater_than_time> and the larger value becomes the <less_than_time>.

Query Syntax

:TRIGger:PATTern:RANGe?

The :TRIGger:PATTern:RANGe? query returns the duration time for the defined pattern.

Return Format

<less_than_time>,<greater_than_time><NL>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:PATTern

  • :TRIGger:PATTern:QUALifier

  • :TRIGger:MODE


:TRIGger:RUNT Commands

:TRIGger:RUNT Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:RUNT:POLarity <polarity> | :TRIGger:RUNT:POLarity? | <polarity> ::= {POSitive | NEGative}
:TRIGger:RUNT:QUALifier <qualifier> | :TRIGger:RUNT:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan | NONE}
:TRIGger:RUNT:SOURce <source> | :TRIGger:RUNT:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:RUNT:TIME <time>[suffix] | :TRIGger:RUNT:TIME? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}


:TRIGger:RUNT:POLarity

:TRIGger:RUNT Commands

Name

:TRIGger:RUNT:POLarity —

Command Syntax

:TRIGger:RUNT:POLarity <polarity>
<polarity> ::= {POSitive | NEGative}

The :TRIGger:RUNT:POLarity command sets the polarity for the runt trigger:

  • POSitive — positive runt pulses.

  • NEGative — negative runt pulses.

Query Syntax

:TRIGger:RUNT:POLarity?

The :TRIGger:RUNT:POLarity? query returns the runt trigger polarity.

Return Format

<polarity><NL>
<polarity> ::= {POS | NEG | EITH}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:LEVel:HIGH

  • :TRIGger:LEVel:LOW

  • :TRIGger:RUNT:SOURce


:TRIGger:RUNT:QUALifier

:TRIGger:RUNT Commands

Name

:TRIGger:RUNT:QUALifier —

Command Syntax

:TRIGger:RUNT:QUALifier <qualifier>
<qualifier> ::= {GREaterthan | LESSthan | NONE}

The :TRIGger:RUNT:QUALifier command selects the qualifier used for specifying runt pulse widths:

  • GREaterthan — triggers on runt pulses whose width is greater than the :TRIGger:RUNT:TIME.

  • LESSthan — triggers on runt pulses whose width is less than the :TRIGger:RUNT:TIME.

  • NONE — triggers on runt pulses of any width.

Query Syntax

:TRIGger:RUNT:QUALifier?

The :TRIGger:RUNT:QUALifier? query returns the runt trigger qualifier setting.

Return Format

<qualifier><NL>
<qualifier> ::= {GRE | LESS NONE}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:RUNT:TIME


:TRIGger:RUNT:SOURce

:TRIGger:RUNT Commands

Name

:TRIGger:RUNT:SOURce —

Command Syntax

:TRIGger:RUNT:SOURce <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :TRIGger:RUNT:SOURce command selects the channel used to produce the trigger.

Query Syntax

:TRIGger:RUNT:SOURce?

The :TRIGger:RUNT:SOURce? query returns the current runt trigger source.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:RUNT:POLarity


:TRIGger:RUNT:TIME

:TRIGger:RUNT Commands

Name

:TRIGger:RUNT:TIME —

Command Syntax

:TRIGger:RUNT:TIME <time>[suffix]
<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

When triggering on runt pulses whose width is greater than or less than a certain value (see :TRIGger:RUNT:QUALifier), the :TRIGger:RUNT:TIME command specifies the time used with the qualifier.

Query Syntax

:TRIGger:RUNT:TIME?

The :TRIGger:RUNT:TIME? query returns the current runt pulse qualifier time setting.

Return Format

<time><NL>
<time> ::= floating-point number in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:RUNT:QUALifier


:TRIGger:SHOLd Commands

:TRIGger:SHOLd Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:SHOLd:SLOPe <slope> | :TRIGger:SHOLd:SLOPe? | <slope> ::= {NEGative | POSitive}
:TRIGger:SHOLd:SOURce:CLOCk <source> | :TRIGger:SHOLd:SOURce:CLOCk? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger:SHOLd:SOURce:DATA <source> | :TRIGger:SHOLd:SOURce:DATA? | <source> ::= {CHANnel<n> | DIGital<d>} <n> ::= 1 to (# analog channels) in NR1 format <d> ::= 0 to (# digital channels - 1) in NR1 format
:TRIGger:SHOLd:TIME:HOLD <time>[suffix] | :TRIGger:SHOLd:TIME:HOLD? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}
:TRIGger:SHOLd:TIME:SETup <time>[suffix] | :TRIGger:SHOLd:TIME:SETup? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}


:TRIGger:SHOLd:SLOPe

:TRIGger:SHOLd Commands

Name

:TRIGger:SHOLd:SLOPe —

Command Syntax

:TRIGger:SHOLd:SLOPe <slope>
<slope> ::= {NEGative | POSitive}

The :TRIGger:SHOLd:SLOPe command specifies whether the rising edge or the falling edge of the clock signal is used.

Query Syntax

:TRIGger:SHOLd:SLOPe?

The :TRIGger:SHOLd:SLOPe? query returns the current rising or falling edge setting.

Return Format

<slope><NL>
<slope> ::= {NEG | POS}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:SHOLd:SOURce:CLOCk

  • :TRIGger:SHOLd:SOURce:DATA


:TRIGger:SHOLd:SOURce:CLOCk

:TRIGger:SHOLd Commands

Name

:TRIGger:SHOLd:SOURce:CLOCk —

Command Syntax

:TRIGger:SHOLd:SOURce:CLOCk <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :TRIGger:SHOLd:SOURce:CLOCk command selects the input channel probing the clock signal.

Query Syntax

:TRIGger:SHOLd:SOURce:CLOCk?

The :TRIGger:SHOLd:SOURce:CLOCk? query returns the currently set clock signal source.

Return Format

<source><NL>
<source> ::= {CHAN<n> | DIG<d>}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:SHOLd:SLOPe


:TRIGger:SHOLd:SOURce:DATA

:TRIGger:SHOLd Commands

Name

:TRIGger:SHOLd:SOURce:DATA —

Command Syntax

:TRIGger:SHOLd:SOURce:DATA <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

The :TRIGger:SHOLd:SOURce:DATA command selects the input channel probing the data signal.

Query Syntax

:TRIGger:SHOLd:SOURce:DATA?

The :TRIGger:SHOLd:SOURce:DATA? query returns the currently set data signal source.

Return Format

<source><NL>
<source> ::= {CHAN<n> | DIG<d>}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:SHOLd:SLOPe


:TRIGger:SHOLd:TIME:HOLD

:TRIGger:SHOLd Commands

Name

:TRIGger:SHOLd:TIME:HOLD —

Command Syntax

:TRIGger:SHOLd:TIME:HOLD <time>[suffix]
<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

The :TRIGger:SHOLd:TIME:HOLD command sets the hold time.

Query Syntax

:TRIGger:SHOLd:TIME:HOLD?

The :TRIGger:SHOLd:TIME:HOLD? query returns the currently specified hold time.

Return Format

<time><NL>
<time> ::= floating-point number in NR3 format

See Also

  • Introduction to :TRIGger Commands


:TRIGger:SHOLd:TIME:SETup

:TRIGger:SHOLd Commands

Name

:TRIGger:SHOLd:TIME:SETup —

Command Syntax

:TRIGger:SHOLd:TIME:SETup <time>[suffix]
<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

The :TRIGger:SHOLd:TIME:SETup command sets the setup time.

Query Syntax

:TRIGger:SHOLd:TIME:SETup?

The :TRIGger:SHOLd:TIME:SETup? query returns the currently specified setup time.

Return Format

<time><NL>
<time> ::= floating-point number in NR3 format

See Also

  • Introduction to :TRIGger Commands


:TRIGger:TRANsition Commands

The :TRIGger:TRANsition commands set the rise/fall time trigger options.

:TRIGger:TRANsition Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:TRANsition:QUALifier <qualifier> | :TRIGger:TRANsition:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan}
:TRIGger:TRANsition:SLOPe <slope> | :TRIGger:TRANsition:SLOPe? | <slope> ::= {NEGative | POSitive}
:TRIGger:TRANsition:SOURce <source> | :TRIGger:TRANsition:SOURce? | <source> ::= CHANnel<n> <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:TRANsition:TIME <time>[suffix] | :TRIGger:TRANsition:TIME? | <time> ::= floating-point number in NR3 format [suffix] ::= {s | ms | us | ns | ps}


:TRIGger:TRANsition:QUALifier

:TRIGger:TRANsition Commands

Name

:TRIGger:TRANsition:QUALifier —

Command Syntax

:TRIGger:TRANsition:QUALifier <qualifier>
<qualifier> ::= {GREaterthan | LESSthan}

The :TRIGger:TRANsition:QUALifier command specifies whether you are looking for rise/fall times greater than or less than a certain time value. The time value is set using the :TRIGger:TRANsition:TIME command.

Query Syntax

:TRIGger:TRANsition:QUALifier?

The :TRIGger:TRANsition:QUALifier? query returns the current rise/fall time trigger qualifier setting.

Return Format

<qualifier><NL>
<qualifier> ::= {GRE | LESS}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:TRANsition:TIME

  • :TRIGger:MODE


:TRIGger:TRANsition:SLOPe

:TRIGger:TRANsition Commands

Name

:TRIGger:TRANsition:SLOPe —

Command Syntax

:TRIGger:TRANsition:SLOPe <slope>
<slope> ::= {NEGative | POSitive}

The :TRIGger:TRANsition:SLOPe command specifies a POSitive rising edge or a NEGative falling edge.

Query Syntax

:TRIGger:TRANsition:SLOPe?

The :TRIGger:TRANsition:SLOPe? query returns the current rise/fall time trigger slope setting.

Return Format

<slope><NL>
<slope> ::= {NEG | POS}

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:TRANsition:SOURce


:TRIGger:TRANsition:SOURce

:TRIGger:TRANsition Commands

Name

:TRIGger:TRANsition:SOURce —

Command Syntax

:TRIGger:TRANsition:SOURce <source>
<source> ::= CHANnel<n>
<n> ::= 1 to (# analog channels) in NR1 format

The :TRIGger:TRANsition:SOURce command selects the channel used to produce the trigger.

Query Syntax

:TRIGger:TRANsition:SOURce?

The :TRIGger:TRANsition:SOURce? query returns the current transition trigger source.

Return Format

<source><NL>
<source> ::= CHAN<n>

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:MODE

  • :TRIGger:TRANsition:SLOPe


:TRIGger:TRANsition:TIME

:TRIGger:TRANsition Commands

Name

:TRIGger:TRANsition:TIME —

Command Syntax

:TRIGger:TRANsition:TIME <time>[suffix]
<time> ::= floating-point number in NR3 format
[suffix] ::= {s | ms | us | ns | ps}

The :TRIGger:TRANsition:TIME command sets the time value for rise/fall time triggers. You also use the :TRIGger:TRANsition:QUALifier command to specify whether you are triggering on times greater than or less than this time value.

Query Syntax

:TRIGger:TRANsition:TIME?

The :TRIGger:TRANsition:TIME? query returns the current rise/fall time trigger time value.

Return Format

<time><NL>
<time> ::= floating-point number in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:TRANsition:QUALifier


:TRIGger:WINDow Commands

With low and high trigger thresholds specifying a voltage range, the :TRIGger:WINDow commands let you trigger when entering the range, when exiting the range, when inside the range for too long or too short a time, or when outside the range for too long or too short a time.

:TRIGger:WINDow Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:WINDow:CONDition <type> | :TRIGger:WINDow:CONDition? | <type> ::= {ENTer | EXIT | INSide | OUTSide}
:TRIGger:WINDow:QUALifier <qualifier> | :TRIGger:WINDow:QUALifier? | <qualifier> ::= {GREaterthan | LESSthan}
:TRIGger:WINDow:SOURce <source> | :TRIGger:WINDow:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format
:TRIGger:WINDow:TIME <seconds> | :TRIGger:WINDow:TIME? | <seconds> ::= time in seconds in NR3 format
:TRIGger:WINDow:TPOint <trigger_point> | :TRIGger:WINDow:TPOint? | <trigger_point> ::= {BOUNdary | TIMeout}


:TRIGger:WINDow:CONDition

:TRIGger:WINDow Commands

Name

:TRIGger:WINDow:CONDition —

Command Syntax

:TRIGger:WINDow:CONDition <type>
<type> ::= {ENTer | EXIT | INSide | OUTSide}

The :TRIGger:WINDow:CONDition command lets you select from these types of trigger conditions:

ENTer

Triggers when the waveform enters the range.

EXIT

Triggers when the waveform exits the range.

INSide

< time

> time

Triggers on a waveform that has been inside the range for either too long (> Time) or too short (< Time) (see :TRIGger:WINDow:QUALifier and :TRIGger:WINDow:TIME).

The Trigger Point option (see :TRIGger:WINDow:TPOint) specifies exactly when the oscilloscope triggers.

OUTSide

< time

> time

Triggers on a waveform that has been outside the range for either too long (> Time) or too short (< Time) (see :TRIGger:WINDow:QUALifier and :TRIGger:WINDow:TIME).

The Trigger Point option (see :TRIGger:WINDow:TPOint) specifies exactly when the oscilloscope triggers.

The voltage range is specified using the :TRIGger:LEVel:LOW and :TRIGger:LEVel:HIGH commands.

Query Syntax

:TRIGger:WINDow:CONDition?

The :TRIGger:WINDow:CONDition? query returns the currently selected window trigger condition.

Return Format

<type><NL>
<type> ::= {ENT | EXIT | INS | OUTS}

See Also

  • :TRIGger:WINDow:QUALifier

  • :TRIGger:WINDow:SOURce

  • :TRIGger:WINDow:TIME

  • :TRIGger:WINDow:TPOint

  • :TRIGger:LEVel:LOW

  • :TRIGger:LEVel:HIGH

  • :TRIGger:MODE


:TRIGger:WINDow:QUALifier

:TRIGger:WINDow Commands

Name

:TRIGger:WINDow:QUALifier —

Command Syntax

:TRIGger:WINDow:QUALifier {GREaterthan | LESSthan}

When the INSide or OUTSide window trigger condition is selected (see :TRIGger:WINDow:CONDition), the :TRIGger:WINDow:QUALifier command lets you select:

  • LESSthan — When looking for a period less than a time value.

  • GREaterthan — When looking for a period greater than a time value.

Query Syntax

:TRIGger:WINDow:QUALifier?

The :TRIGger:WINDow:QUALifier? query returns the currently selected window trigger qualifier.

Return Format

<qualifier><NL>
<qualifier> ::= {GRE | LESS}

See Also

  • :TRIGger:WINDow:CONDition

  • :TRIGger:WINDow:SOURce

  • :TRIGger:WINDow:TIME

  • :TRIGger:WINDow:TPOint

  • :TRIGger:LEVel:LOW

  • :TRIGger:LEVel:HIGH

  • :TRIGger:MODE


:TRIGger:WINDow:SOURce

:TRIGger:WINDow Commands

Name

:TRIGger:WINDow:SOURce —

Command Syntax

:TRIGger:WINDow:SOURce <source>
<source> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format

The :TRIGger:WINDow:SOURce command specifies the analog channel trigger source.

Query Syntax

:TRIGger:WINDow:SOURce?

The :TRIGger:WINDow:SOURce? query returns the source selected for the window trigger.

Return Format

<source><NL>
<source> ::= {CHAN<n>}

See Also

  • :TRIGger:WINDow:CONDition

  • :TRIGger:WINDow:QUALifier

  • :TRIGger:WINDow:TIME

  • :TRIGger:WINDow:TPOint

  • :TRIGger:LEVel:LOW

  • :TRIGger:LEVel:HIGH

  • :TRIGger:MODE


:TRIGger:WINDow:TIME

:TRIGger:WINDow Commands

Name

:TRIGger:WINDow:TIME —

Command Syntax

:TRIGger:WINDow:TIME <seconds>
<seconds> ::= time in seconds in NR3 format

When the INSide or OUTSide window trigger condition is selected (see :TRIGger:WINDow:CONDition), the :TRIGger:WINDow:TIME command specifies the amount of time.

Use the :TRIGger:WINDow:QUALifier command to specify whether the trigger qualifier is greater than or less than the specified time.

Query Syntax

:TRIGger:WINDow:TIME?

The :TRIGger:WINDow:TIME? query returns the currently specified amount of time.

Return Format

<seconds><NL>
<seconds> ::= time in seconds in NR3 format

See Also

  • :TRIGger:WINDow:CONDition

  • :TRIGger:WINDow:QUALifier

  • :TRIGger:WINDow:SOURce

  • :TRIGger:WINDow:TPOint

  • :TRIGger:LEVel:LOW

  • :TRIGger:LEVel:HIGH

  • :TRIGger:MODE


:TRIGger:WINDow:TPOint

:TRIGger:WINDow Commands

Name

:TRIGger:WINDow:TPOint —

Command Syntax

:TRIGger:WINDow:TPOint {BOUNdary | TIMeout}

When the INSide or OUTSide window trigger condition is selected (see :TRIGger:WINDow:CONDition), the :TRIGger:WINDow:TPOint command specifies the actual trigger point after the condition is met:

BOUNdary | The trigger occurs on the next voltage range crossing after the time condition becomes true.
TIMeout | The trigger occurs immediately after the time condition becomes true.

In the pictures, the top and bottom triangles show the trigger point in an INSide voltage range (see :TRIGger:WINDow:CONDition), GREaterthan (see :TRIGger:WINDow:QUALifier) time (see :TRIGger:WINDow:TIME) example.

Query Syntax

:TRIGger:WINDow:TPOint?

The :TRIGger:WINDow:TPOint? query returns the currently selected trigger point.

Return Format

<trigger_point><NL>
<trigger_point> ::= {BOUN | TIM}

See Also

  • :TRIGger:WINDow:CONDition

  • :TRIGger:WINDow:QUALifier

  • :TRIGger:WINDow:SOURce

  • :TRIGger:WINDow:TIME

  • :TRIGger:LEVel:LOW

  • :TRIGger:LEVel:HIGH

  • :TRIGger:MODE


:TRIGger:ZONE Commands

:TRIGger:ZONE Commands Summary:

Command | Query | Options and Query Returns
:TRIGger:ZONE<z>:LOGic {AND | OR} | :TRIGger:ZONE<z>:LOGic? | {AND | OR} <z> ::= 2-4 in NR1 format
:TRIGger:ZONE<z>:MODE <mode> | :TRIGger:ZONE<z>:MODE? | <mode> ::= {INTersect | NOTintersect} <z> ::= 1-4 in NR1 format
:TRIGger:ZONE<z>:PLACement <width>, <height>, <x_center>, <y_center> | :TRIGger:ZONE<z>:PLACement? | <width> ::= width of zone in seconds <height> ::= height of zone in volts <x_center> ::= center of zone in seconds <y_center> ::= center of zone in volts <z> ::= 1-4 in NR1 format
:TRIGger:ZONE<z>:SOURce <source> | :TRIGger:ZONE<z>:SOURce? | <source> ::= {CHANnel<n>} <n> ::= 1 to (# analog channels) in NR1 format <z> ::= 1-4 in NR1 format
:TRIGger:ZONE<z>:STATe {{0 | OFF} | {1 | ON}} | :TRIGger:ZONE<z>:STATe? | {0 | 1} <z> ::= 1-4 in NR1 format
n/a | :TRIGger:ZONE<z>:VALidity? | <value> ::= {VALid | INValid | OSCReen} <z> ::= 1-4 in NR1 format


:TRIGger:ZONE<z>:LOGic

:TRIGger:ZONE Commands

Name

:TRIGger:ZONE<z>:LOGic —

Command Syntax

:TRIGger:ZONE<z>:LOGic {AND | OR}
<z> ::= 2-4 in NR1 format

For Zones 2, 3, or 4, the :TRIGger:ZONE<z>:LOGic command sets the logic to be used when combining with the previous Zone.

The overall Zone Logic is displayed in the grid and in the Zone Trigger dialog box. AND combinations occur before OR combinations.

Query Syntax

:TRIGger:ZONE<n>:LOGic?

The :TRIGger:ZONE<n>:LOGic? query returns the logic to be used when combining with the previous Zone.

Return Format

<logic><NL>
<logic> ::= {AND | OR}

See Also

  • :TRIGger:ZONE<z>:STATe


:TRIGger:ZONE<z>:MODE

:TRIGger:ZONE Commands

Name

:TRIGger:ZONE<z>:MODE —

Command Syntax

:TRIGger:ZONE<z>:MODE <mode>
<mode> ::= {INTersect | NOTintersect}
<z> ::= 1-4 in NR1 format

The :TRIGger:ZONE<z>:MODE command sets the zone qualifying condition for the Zone as either "Must Intersect" or "Must Not Intersect".

Query Syntax

:TRIGger:ZONE<z>:MODE?

The :TRIGger:ZONE<z>:MODE? query returns the zone qualifying condition for the Zone.

Return Format

<mode><NL>
<mode> ::= {INT | NOT}

See Also

  • :TRIGger:ZONE<z>:STATe

  • :TRIGger:ZONE<z>:PLACement

  • :TRIGger:ZONE<z>:VALidity?


:TRIGger:ZONE<z>:PLACement

:TRIGger:ZONE Commands

Name

:TRIGger:ZONE<z>:PLACement —

Command Syntax

:TRIGger:ZONE<z>:PLACement <width>, <height>, <x_center>, <y_center>
<width> ::= width of zone in seconds
<height> ::= height of zone in volts
<x_center> ::= center of zone in seconds
<y_center> ::= center of zone in volts
<z> ::= 1-4 in NR1 format

The :TRIGger:ZONE<z>:PLACement command sets the size and location of a Zone.

No error is returned if the zone is placed off-screen, or if the zones overlap such that the Zone becomes invalid. The :TRIGger:ZONE<z>:VALidity? query is used to retrieve this information.

Query Syntax

:TRIGger:ZONE<z>:PLACement?

The :TRIGger:ZONE<z>:PLACement? query returns the size and location of the Zone.

Return Format

<opt><NL>
<opt> ::= <width>, <height>, <x_center>, <y_center>

See Also

  • :TRIGger:ZONE<z>:STATe

  • :TRIGger:ZONE<z>:MODE

  • :TRIGger:ZONE<z>:VALidity?


:TRIGger:ZONE<z>:SOURce

:TRIGger:ZONE Commands

Name

:TRIGger:ZONE<z>:SOURce —

Command Syntax

:TRIGger:ZONE<z>:SOURce <source>
<source> ::= {CHANnel<n>}
<n> ::= 1 to (# analog channels) in NR1 format
<z> ::= 1-4 in NR1 format

The :TRIGger:ZONE<z>:SOURce command sets the analog source channel for a particular Zone.

Query Syntax

:TRIGger:ZONE<z>:SOURce?

The :TRIGger:ZONE<z>:SOURce? query returns the analog source channel specified for a particular Zone.

Return Format

<source><NL>
<source> ::= {CHAN<n>}

See Also

  • :TRIGger:ZONE<z>:MODE

  • :TRIGger:ZONE<z>:PLACement

  • :TRIGger:ZONE<z>:STATe

  • :TRIGger:ZONE<z>:VALidity?


:TRIGger:ZONE<z>:STATe

:TRIGger:ZONE Commands

Name

:TRIGger:ZONE<z>:STATe —

Command Syntax

:TRIGger:ZONE<z>:STATe <on_off>
<on_off> ::= {{0 | OFF} | {1 | ON}}
<z> ::= 1-4 in NR1 format

The :TRIGger:ZONE<n>:STATe command specifies whether a Zone is ON or OFF.

When a zone's state is on, that zone is actively being used to qualify the trigger if it is not invalid or off-screen (see :TRIGger:ZONE<z>:VALidity?).

Query Syntax

:TRIGger:ZONE<z>:STATe?

The :TRIGger:ZONE<z>:STATe? query returns whether a Zone is ON or OFF.

Return Format

<on_off><NL>
<on_off> ::= {0 | 1}

See Also

  • :TRIGger:ZONE<z>:VALidity?


:TRIGger:ZONE<z>:VALidity?

:TRIGger:ZONE Commands

Name

:TRIGger:ZONE<z>:VALidity? —

Query Syntax

:TRIGger:ZONE<z>:VALidity?
<z> ::= 1-4 in NR1 format

The :TRIGger:ZONE<z>:VALidity? query returns the validity of the specified Zone.

  • INValid is returned when a Zone overlaps and has opposing qualifying conditions (modes). Zone 1 can never be invalid.

  • OSCReen (off-screen) is returned when the associated zone is off-screen, and thus not being used to qualify the trigger.

  • A zone is valid when it is neither invalid nor off-screen.

The validity of a zone is not affected by the zone's state. For example, a zone can be valid and off. You cannot directly set the validity of a zone.

Return Format

<validity><NL>
<validity> ::= {VALid | INValid | OSCReen}

See Also

  • :TRIGger:ZONE<z>:STATe

  • :TRIGger:ZONE<z>:MODE

  • :TRIGger:ZONE<z>:PLACement


:WAVeform Commands

Provide access to waveform data. See Introduction to :WAVeform Commands.

:WAVeform Commands Summary:

Command | Query | Options and Query Returns
:WAVeform:BYTeorder <value> | :WAVeform:BYTeorder? | <value> ::= {LSBFirst | MSBFirst}
n/a | :WAVeform:COUNt? | <count> ::= an integer from 1 to 65536 in NR1 format
n/a :WAVeform:DATA?

<binary block length bytes>, <binary data>

For example, to transmit 1000 bytes of data, the syntax would be: #800001000<1000 bytes of data><NL>

8 is the number of digits that follow

00001000 is the number of bytes to be transmitted

<1000 bytes of data> is the actual data

:WAVeform:FORMat <value> | :WAVeform:FORMat? | <value> ::= {WORD | BYTE | ASCII}
:WAVeform:POINts <wfm_points> :WAVeform:POINts?

<wfm_points> ::= <#_points>

<#_points> ::= an integer in NR1 format

:WAVeform:POINts:MODE <points_mode> :WAVeform:POINts:MODE?

<points_mode> ::= {NORMal | MAXimum | RAW}

n/a :WAVeform:PREamble?

<preamble_block> ::= <format NR1>, <type NR1>,<points NR1>,<count NR1>, <xincrement NR3>, <xorigin NR3>, <xreference NR1>,<yincrement NR3>, <yorigin NR3>, <yreference NR1>

<format> ::= an integer in NR1 format:

 • 0 for BYTE format
 • 1 for WORD format
 • 2 for ASCii format

<type> ::= an integer in NR1 format:

 • 0 for NORMal type
 • 1 for PEAK detect type
 • 3 for AVERage type

<count> ::= Average count, or 1 if PEAK detect type or NORMal; an integer in NR1 format

:WAVeform:SEGMented:ALL {{0 | OFF} | {1 | ON}} :WAVeform:SEGMented:ALL?

<setting> ::= {0 | 1}

n/a :WAVeform:SEGMented:COUNt?

<count> ::= an integer in NR1 format

n/a :WAVeform:SEGMented:TTAG?

<time_tag> ::= in NR3 format

n/a :WAVeform:SEGMented:XLISt? <xlist_type>

<xlist_type> ::= {RELXorigin | ABSXorigin | TTAG}

<return_value> ::= X-info for all segments

:WAVeform:SOURce <source> :WAVeform:SOURce?

<source> ::= {CHANnel<n> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m> | MATH<m> | FFT | | {PBUS{1 | 2} | SBUS{1 | 2}}}

<n> ::= 1 to (# analog channels) in NR1 format

<m> ::= 1 to (# math functions) in NR1 format

:WAVeform:SOURce:SUBSource <subsource> | :WAVeform:SOURce:SUBSource? | <subsource> ::= {{SUB0 | RX | MOSI | FAST} | {SUB1 | TX | MISO | SLOW}}
n/a | :WAVeform:TYPE? | <return_mode> ::= {NORM | PEAK | AVER}
:WAVeform:UNSigned {{0 | OFF} | {1 | ON}} | :WAVeform:UNSigned? | {0 | 1}
:WAVeform:VIEW <view> | :WAVeform:VIEW? | <view> ::= {MAIN | ALL}
n/a | :WAVeform:XINCrement? | <return_value> ::= x-increment in the current preamble in NR3 format
n/a | :WAVeform:XORigin? | <return_value> ::= x-origin value in the current preamble in NR3 format
n/a | :WAVeform:XREFerence? | <return_value> ::= 0 (x-reference value in the current preamble in NR1 format)
n/a | :WAVeform:YINCrement? | <return_value> ::= y-increment value in the current preamble in NR3 format
n/a | :WAVeform:YORigin? | <return_value> ::= y-origin in the current preamble in NR3 format
n/a | :WAVeform:YREFerence? | <return_value> ::= y-reference value in the current preamble in NR1 format

Introduction to :WAVeform Commands

The WAVeform subsystem is used to transfer data to a controller from the oscilloscope waveform memories. The queries in this subsystem will only operate when the channel selected by :WAVeform:SOURce is on.

Waveform Data and Preamble. The waveform record is actually contained in two portions: the preamble and waveform data. The waveform record must be read from the oscilloscope by the controller using two separate commands, :WAVeform:DATA and :WAVeform:PREamble. The waveform data is the actual data acquired for each point in the specified source. The preamble contains the information for interpreting the waveform data, which includes the number of points acquired, the format of acquired data, and the type of acquired data. The preamble also contains the X and Y increments, origins, and references for the acquired data, so that word and byte data can be translated to time and voltage values.

Data Acquisition Types. There are four types of waveform acquisitions that can be selected for analog channels with the :ACQuire:TYPE command: NORMal, AVERage, and PEAK. Digital channels are always acquired using NORMal. When the data is acquired using the :DIGitize command or :RUN command, the data is placed in the channel buffer of the specified source.

Once you have acquired data with the :DIGitize command, the instrument is stopped. If the instrument is restarted (via the programming interface or the front panel), or if any instrument setting is changed, the data acquired with the :DIGitize command may be overwritten.You should first acquire the data with the :DIGitize command, then immediately read the data with the :WAVeform:DATA? query before changing any instrument setup.

A waveform record consists of either all of the acquired points or a subset of the acquired points. The number of points acquired may be queried using :ACQuire:POINts[:ANALog]?.

Helpful Hints:

The number of points transferred to the computer is controlled using the :WAVeform:POINts command. If :WAVeform:POINts MAXimum is specified and the instrument is not running (stopped), all of the points that are displayed are transferred. This can be as many as 4,000,000 in some operating modes or as many as 8,000,000 for a digital channel on the mixed signal oscilloscope. Fewer points may be specified to speed data transfers and minimize controller analysis time. The :WAVeform:POINts may be varied even after data on a channel is acquired. However, this decimation may result in lost pulses and transitions. The number of points selected for transfer using :WAVeform:POINts must be an even divisor of 1,000 or be set to MAXimum. :WAVeform:POINts determines the increment between time buckets that will be transferred. If POINts = MAXimum, the data cannot be decimated. For example:

  • :WAVeform:POINts 1000 — returns time buckets 0, 1, 2, 3, 4 ,.., 999.

  • :WAVeform:POINts 500 — returns time buckets 0, 2, 4, 6, 8 ,.., 998.

  • :WAVeform:POINts 250 — returns time buckets 0, 4, 8, 12, 16 ,.., 996.

  • :WAVeform:POINts 100 — returns time buckets 0, 10, 20, 30, 40 ,.., 990.

Analog Channel Data.

NORMal Data

Normal data consists of the last data point (hit) in each time bucket. This data is transmitted over the programming interface in a linear fashion starting with time bucket 0 and going through time bucket n - 1, where n is the number returned by the :WAVeform:POINts? query. Only the magnitude values of each data point are transmitted. The first voltage value corresponds to the first time bucket on the left side of the screen and the last value corresponds to the next-to-last time bucket on the right side of the screen. Time buckets without data return 0. The time values for each data point correspond to the position of the data point in the data array. These time values are not transmitted.

AVERage Data

AVERage data consists of the average of the first n hits in a time bucket, where n is the value returned by the :ACQuire:COUNt query. Time buckets that have fewer than n hits return the average of the data they do have. If a time bucket does not have any data in it, it returns 0.

This data is transmitted over the interface linearly, starting with time bucket 0 and proceeding through time bucket n-1, where n is the number returned by the :WAVeform:POINts? query. The first value corresponds to a point at the left side of the screen and the last value corresponds to one point away from the right side of the screen. The maximum number of points that can be returned in average mode is 1000 unless ACQuire:COUNt has been set to 1.

PEAK Data

Peak detect display mode is used to detect glitches for time base settings of 500 us/div and slower. In this mode, the oscilloscope can sample more data than it can store and display. So, when peak detect is turned on, the oscilloscope scans through the extra data, picks up the minimum and maximum for each time bucket, then stores the data in an array. Each time bucket contains two data sample.

The array is transmitted over the interface bus linearly, starting with time bucket 0 proceeding through time bucket n-1, where n is the number returned by the :WAVeform:POINts? query. In each time bucket, two values are transmitted, first the minimum, followed by the maximum. The first pair of values corresponds to the time bucket at the leftmost side of the screen. The last pair of values corresponds to the time bucket at the far right side of the screen. In :ACQuire:TYPE PEAK mode, the value returned by the :WAVeform:XINCrement query should be doubled to find the time difference between the min-max pairs.

Data Conversion

Word or byte data sent from the oscilloscope must be scaled for useful interpretation. The values used to interpret the data are the X and Y references, X and Y origins, and X and Y increments. These values are read from the waveform preamble. Each channel has its own waveform preamble.

In converting a data value to a voltage value, the following formula is used:

voltage = [(data value - yreference) * yincrement] + yorigin

If the :WAVeform:FORMat data format is ASCii, the data values are converted internally and sent as floating point values separated by commas.

In converting a data value to time, the time value of a data point can be determined by the position of the data point. For example, the fourth data point sent with :WAVeform:XORigin = 16 ns, :WAVeform:XREFerence = 0, and :WAVeform:XINCrement = 2 ns, can be calculated using the following formula:

time = [(data point number - xreference) * xincrement] + xorigin

This would result in the following calculation for time bucket 3:

time = [(3 - 0) * 2 ns] + 16 ns = 22 ns

In :ACQuire:TYPE PEAK mode, because data is acquired in max-min pairs, modify the previous time formula to the following:

time=[(data pair number - xreference) * xincrement * 2] + xorigin

Data Format for Transfer

There are three formats for transferring waveform data over the interface: BYTE, WORD and ASCii (see :WAVeform:FORMat). BYTE, WORD and ASCii formatted waveform records are transmitted using the arbitrary block program data format specified in IEEE 488.2.

When you use the block data format, the ASCII character string "#8<DD...D>" is sent prior to sending the actual data. The 8 indicates how many Ds follow. The Ds are ASCII numbers that indicate how many data bytes follow.

For example, if 1000 points will be transferred, and the WORD format was specified, the block header "#800001000" would be sent. The 8 indicates that eight length bytes follow, and 00001000 indicates that 1000 binary data bytes follow.

Use the :WAVeform:UNSigned command to control whether data values are sent as unsigned or signed integers. This command can be used to match the instrument's internal data type to the data type used by the programming language. This command has no effect if the data format is ASCii.

Data Format for Transfer - ASCii format

The ASCii format (see :WAVeform:FORMat) provides access to the waveform data as real Y-axis values without using Y origin, Y reference, and Y increment to convert the binary data. Values are transferred as ASCii digits in floating point format separated by commas. In ASCii format, holes are represented by the value 9.9e+37. The setting of :WAVeform:BYTeorder and :WAVeform:UNSigned have no effect when the format is ASCii.

Data Format for Transfer - WORD format

WORD format (see :WAVeform:FORMat) provides 16-bit access to the waveform data. In the WORD format, the number of data bytes is twice the number of data points. The number of data points is the value returned by the :WAVeform:POINts? query. If the data intrinsically has less than 16 bits of resolution, the data is left-shifted to provide 16 bits of resolution and the least significant bits are set to 0. Currently, the greatest intrinsic resolution of any data is 12 bits, so at least the lowest 4 bits of data will be 0. If there is a hole in the data, the hole is represented by a 16 bit value equal to 0.

Use :WAVeform:BYTeorder to determine if the least significant byte or most significant byte is to be transferred first. The :BYTeorder command can be used to alter the transmit sequence to match the storage sequence of an integer in the programming language being used.

Data Format for Transfer - BYTE format

The BYTE format (see :WAVeform:FORMat ) allows 8-bit access to the waveform data. If the data intrinsically has more than 8 bits of resolution (averaged data), the data is right-shifted (truncated) to fit into 8 bits. If there is a hole in the data, the hole is represented by a value of 0. The BYTE-formatted data transfers over the programming interface faster than ASCii or WORD-formatted data, because in ASCii format, as many as 13 bytes per point are transferred, in BYTE format one byte per point is transferred, and in WORD format two bytes per point are transferred.

The :WAVeform:BYTeorder command has no effect when the data format is BYTE.

Digital Channel Data. The waveform record for digital channels is similar to that of analog channels. The main difference is that the data points represent either DIGital0,..,7 (POD1), DIGital8,..,15 (POD2), or any grouping of digital channels (BUS1 or BUS2).

For digital channels, :WAVeform:UNSigned must be set to ON.

Digital Channel POD Data Format

Data for digital channels is only available in groups of 8 bits (Pod1 = D0 - D7, Pod2 = D8 - D15). The bytes are organized as:

:WAVeform:SOURce | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0
POD1 | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0
POD2 | D15 | D14 | D13 | D12 | D11 | D10 | D9 | D8

If the :WAVeform:FORMat is WORD is WORD, every other data byte will be 0. The setting of :WAVeform:BYTeorder controls which byte is 0.

If a digital channel is not displayed, its bit value in the pod data byte is not defined.

Digital Channel BUS Data Format

Digital channel BUS definitions can include any or all of the digital channels. Therefore, data is always returned as 16-bit values. :BUS commands are used to select the digital channels for a bus.

Reporting the Setup. The following is a sample response from the :WAVeform? query. In this case, the query was issued following a *RST command.

:WAV:UNS 1;VIEW MAIN;BYT MSBF;FORM BYTE;POIN +32000;SOUR CHAN1;
SOUR:SUBS SUB0


:WAVeform:BYTeorder

:WAVeform Commands

Name

:WAVeform:BYTeorder —

Command Syntax

:WAVeform:BYTeorder <value>
<value> ::= {LSBFirst | MSBFirst}

The :WAVeform:BYTeorder command sets the output sequence of the WORD data.

  • MSBFirst — sets the most significant byte to be transmitted first.

  • LSBFirst — sets the least significant byte to be transmitted first.

This command affects the transmitting sequence only when :WAVeform:FORMat WORD is selected.

The default setting is MSBFirst.

Query Syntax

:WAVeform:BYTeorder?

The :WAVeform:BYTeorder query returns the current output sequence.

Return Format

<value><NL>
<value> ::= {LSBF | MSBF}

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:DATA?

  • :WAVeform:FORMat

  • :WAVeform:PREamble?

Example Code

  • Example Code

  • Example Code


:WAVeform:COUNt?

:WAVeform Commands

Name

:WAVeform:COUNt? —

Query Syntax

:WAVeform:COUNt?

The :WAVeform:COUNT? query returns the count used to acquire the current waveform. This may differ from current values if the unit has been stopped and its configuration modified. For all acquisition types except average, this value is 1.

Return Format

<count_argument><NL>
<count_argument> ::= an integer from 1 to 65536 in NR1 format

See Also

  • Introduction to :WAVeform Commands

  • :ACQuire:COUNt

  • :ACQuire:TYPE


:WAVeform:DATA?

:WAVeform Commands

Name

:WAVeform:DATA? —

Query Syntax

:WAVeform:DATA?

The :WAVeform:DATA query returns the binary block of sampled data points transmitted using the IEEE 488.2 arbitrary block data format. The binary data is formatted according to the settings of the :WAVeform:UNSigned, :WAVeform:BYTeorder, :WAVeform:FORMat, and :WAVeform:SOURce commands. The number of points returned is controlled by the :WAVeform:POINts command.

In BYTE or WORD waveform formats, these data values have special meaning:

  • 0x00 or 0x0000 — Hole. Holes are locations where data has not yet been acquired.

    Another situation where there can be zeros in the data, incorrectly, is when programming over telnet port 5024. Port 5024 provides a command prompt and is intended for ASCII transfers. Use telnet port 5025 instead.

  • 0x01 or 0x0100 — Clipped low. These are locations where the waveform is clipped at the bottom of the oscilloscope display.

  • 0xFF or 0xFF00 — Clipped high. These are locations where the waveform is clipped at the top of the oscilloscope display.

Return Format

<binary block data><NL>

See Also

  • For a more detailed description of the data returned for different acquisition types, see: Introduction to :WAVeform Commands

  • :WAVeform:UNSigned

  • :WAVeform:BYTeorder

  • :WAVeform:FORMat

  • :WAVeform:POINts

  • :WAVeform:PREamble?

  • :WAVeform:SOURce

  • :WAVeform:TYPE?

Example Code

   ' QUERY_WAVE_DATA - Outputs waveform data that is stored in a buffer.

   ' Query the oscilloscope for the waveform data.
   myScope.WriteString ":WAV:DATA?"

   ' READ_WAVE_DATA - The wave data consists of two parts: the header,
   ' and the actual waveform data followed by a new line (NL) character.
   ' The query data has the following format:
   '
   '    <header><waveform_data><NL>
   '
   ' Where:
   '    <header> = #800001000 (This is an example header)
   ' The "#8" may be stripped off of the header and the remaining
   ' numbers are the size, in bytes, of the waveform data block.  The
   ' size can vary depending on the number of points acquired for the
   ' waveform.  You can then read that number of bytes from the
   ' oscilloscope and the terminating NL character.
   '
   Dim lngI As Long
   Dim lngDataValue As Long

   varQueryResult = myScope.ReadIEEEBlock(BinaryType_UI1)
   ' Unsigned integer bytes.
   For lngI = 0 To UBound(varQueryResult) _
       Step (UBound(varQueryResult) / 20)   ' 20 points.
     If intBytesPerData = 2 Then
       lngDataValue = varQueryResult(lngI) * 256 _
           + varQueryResult(lngI + 1)   ' 16-bit value.
     Else
       lngDataValue = varQueryResult(lngI)   ' 8-bit value.
     End If
     strOutput = strOutput + "Data point " + _
       CStr(lngI / intBytesPerData) + ", " + _
       FormatNumber((lngDataValue - lngYReference) _
           * sngYIncrement + sngYOrigin) + " V, " + _
       FormatNumber(((lngI / intBytesPerData - lngXReference) _
           * sngXIncrement + dblXOrigin) * 1000000) + " us" + vbCrLf
   Next lngI
   MsgBox "Waveform data:" + vbCrLf + strOutput

See complete example programs at: Programming Examples


:WAVeform:FORMat

:WAVeform Commands

Name

:WAVeform:FORMat —

Command Syntax

:WAVeform:FORMat <value>
<value> ::= {WORD | BYTE | ASCii}

The :WAVeform:FORMat command sets the data transmission mode for waveform data points. This command controls how the data is formatted when sent from the oscilloscope.

  • ASCii formatted data converts the internal integer data values to real Y-axis values. Values are transferred as ASCii digits in floating point notation, separated by commas.

    ASCII formatted data is transferred ASCii text.

  • WORD formatted data transfers 16-bit data as two bytes. The :WAVeform:BYTeorder command can be used to specify whether the upper or lower byte is transmitted first. The default (no command sent) is that the upper byte transmitted first.

  • BYTE formatted data is transferred as 8-bit bytes.

When the :WAVeform:SOURce is the serial decode bus (SBUS1 or SBUS2), ASCii is the only waveform format allowed.

When the :WAVeform:SOURce is one of the digital channel buses (BUS1 or BUS2), ASCii and WORD are the only waveform formats allowed.

Query Syntax

:WAVeform:FORMat?

The :WAVeform:FORMat query returns the current output format for the transfer of waveform data.

Return Format

<value><NL>
<value> ::= {WORD | BYTE | ASC}

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:BYTeorder

  • :WAVeform:SOURce

  • :WAVeform:DATA?

  • :WAVeform:PREamble?

Example Code

  • Example Code


:WAVeform:POINts

:WAVeform Commands

Name

:WAVeform:POINts —

Command Syntax

:WAVeform:POINts <#_points>
<#_points> ::= an integer in NR1 format

The :WAVeform:POINts command sets the desired number of waveform points to be transferred with the :WAVeform:DATA? query. This value represents the points contained in the waveform selected with the :WAVeform:SOURce command.

For the analog or digital sources, the records that can be transferred depend on the waveform points mode. The maximum number of points returned for math (function) waveforms is determined by the NORMal waveform points mode. See the :WAVeform:POINts:MODE command for more information.

To get the maximum number of points possible, you can set the waveform points mode to MAXimum and ask for the maximum memory depth of the oscilloscope.

Only data visible on the display will be returned.

When the :WAVeform:SOURce is the serial decode bus (SBUS1 or SBUS2), this command is ignored, and all available serial decode bus data is returned.

Query Syntax

:WAVeform:POINts?

The :WAVeform:POINts query returns the number of waveform points to be transferred when using the :WAVeform:DATA? query. Setting the points mode will affect what data is transferred (see the :WAVeform:POINts:MODE command for more information).

In any waveform points mode, the oscilloscope returns as close to the requested number of points as possible, but the actual number of points available depends on oscilloscope settings.

When the :WAVeform:SOURce is the serial decode bus (SBUS1 or SBUS2), this query returns the number of messages that were decoded.

Return Format

<#_points><NL>
<#_points> ::= an integer number of waveform points

See Also

  • Introduction to :WAVeform Commands

  • :ACQuire:POINts[:ANALog]

  • :WAVeform:DATA?

  • :WAVeform:SOURce

  • :WAVeform:VIEW

  • :WAVeform:PREamble?

  • :WAVeform:POINts:MODE

Example Code

   ' WAVE_POINTS - Specifies the number of points to be transferred
   ' using the ":WAVeform:DATA?" query.
   myScope.WriteString ":WAVeform:POINTS 1000"

See complete example programs at: Programming Examples


:WAVeform:POINts:MODE

:WAVeform Commands

Name

:WAVeform:POINts:MODE —

Command Syntax

:WAVeform:POINts:MODE <points_mode>
<points_mode> ::= {NORMal | MAXimum | RAW}

The :WAVeform:POINts:MODE command sets the data record to be transferred with the :WAVeform:DATA? query.

For the analog or digital sources, there are two different records that can be transferred:

  • The first is the raw acquisition record. The maximum number of points available in this record is returned by the :ACQuire:POINts? query. The raw acquisition record can only be retrieved from the analog or digital sources.

  • The second is referred to as the analysis record and defaults to a 64K-point representation of the raw acquisition record. The analysis record length can be increased at the expense of waveform update rate (see :SYSTem:PRECision:LENGth). The analysis record can be retrieved from any source.

If the <points_mode> is NORMal the analysis record is retrieved.

If the <points_mode> is RAW, the raw acquisition record is used. Under some conditions, this data record is unavailable.

If the <points_mode> is MAXimum, whichever record contains the maximum amount of points is used. Usually, this is the raw acquisition record. But, the analysis record may have more data. If data is being retrieved as the oscilloscope is stopped and as the data displayed is changing, the data being retrieved can switch between the analysis record and raw acquisition records.

[Note]

The decision about which record has the MAXimum number of points happens before any decimation that may result from a :WAVeform:POINts request. This means it is possible for the analysis record to have more points than the raw acquisition record, but then a :WAVeform:POINts request may cause an integer decimation that results in fewer points being returned by :WAVeform:DATA? than are in the raw acquisition record.

[Note]

If the :WAVeform:SOURce is not an analog or digital source, the only valid parameters for WAVeform:POINts:MODE is NORMal or MAXimum.

Considerations for MAXimum or RAW data retrieval

  • The instrument must be stopped (see the :STOP command or the :DIGitize command in the root subsystem) in order to return more than the analysis record.

  • :TIMebase:MODE must be set to MAIN.

  • :ACQuire:TYPE must be set to NORMal or AVERage.

  • MAXimum or RAW will allow up to the maximum memory depth number of points to be returned. The number of points returned will vary as the instrument's configuration is changed. Use the :WAVeform:POINts? MAXimum query to determine the maximum number of points that can be retrieved at the current settings.

Query Syntax

:WAVeform:POINts:MODE?

The :WAVeform:POINts:MODE? query returns the current points mode. Setting the points mode will affect what data is transferred. See the discussion above.

Return Format

<points_mode><NL>
<points_mode> ::= {NORMal | MAXimum | RAW}

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:DATA?

  • :ACQuire:POINts[:ANALog]

  • :SYSTem:PRECision:LENGth

  • :WAVeform:VIEW

  • :WAVeform:PREamble?

  • :WAVeform:POINts

  • :TIMebase:MODE

  • :ACQuire:TYPE

  • :ACQuire:COUNt


:WAVeform:PREamble?

:WAVeform Commands

Name

:WAVeform:PREamble? —

Query Syntax

:WAVeform:PREamble?

The :WAVeform:PREamble query requests the preamble information for the selected waveform source. The preamble data contains information concerning the vertical and horizontal scaling of the data of the corresponding channel.

Return Format

<preamble_block><NL>
<preamble_block> ::= <format 16-bit NR1>,
                     <type 16-bit NR1>,
                     <points 32-bit NR1>,
                     <count 32-bit NR1>,
                     <xincrement 64-bit floating point NR3>,
                     <xorigin 64-bit floating point NR3>,
                     <xreference 32-bit NR1>,
                     <yincrement 32-bit floating point NR3>,
                     <yorigin 32-bit floating point NR3>,
                     <yreference 32-bit NR1>
<format> ::= 0 for BYTE format, 1 for WORD format, 4 for ASCii format;
             an integer in NR1 format (format set by :WAVeform:FORMat).
<type> ::= 2 for AVERage type, 0 for NORMal
           type, 1 for PEAK detect type; an integer in NR1 format
           (type set by :ACQuire:TYPE).
<count> ::= Average count or 1 if PEAK or NORMal; an integer in NR1
            format (count set by :ACQuire:COUNt).

See Also

  • Introduction to :WAVeform Commands

  • :ACQuire:COUNt

  • :ACQuire:POINts[:ANALog]

  • :ACQuire:TYPE

  • :DIGitize

  • :WAVeform:COUNt?

  • :WAVeform:DATA?

  • :WAVeform:FORMat

  • :WAVeform:POINts

  • :WAVeform:TYPE?

  • :WAVeform:XINCrement?

  • :WAVeform:XORigin?

  • :WAVeform:XREFerence?

  • :WAVeform:YINCrement?

  • :WAVeform:YORigin?

  • :WAVeform:YREFerence?

Example Code

  ' GET_PREAMBLE - The preamble block contains all of the current
  ' WAVEFORM settings.  It is returned in the form <preamble_block><NL>
  ' where <preamble_block> is:
  '    FORMAT        : int16 - 0 = BYTE, 1 = WORD, 4 = ASCII.
  '    TYPE          : int16 - 0 = NORM, 1 = PEAK, 2 = AVER.
  '    POINTS        : int32 - number of data points transferred.
  '    COUNT         : int32 - 1 and is always 1.
  '    XINCREMENT    : float64 - time difference between data points.
  '    XORIGIN       : float64 - always the first data point in memory.
  '    XREFERENCE    : int32 - specifies the data point associated with
  '                            x-origin.
  '    YINCREMENT    : float32 - voltage diff between data points.
  '    YORIGIN       : float32 - value is the voltage at center screen.
  '    YREFERENCE    : int32 - specifies the data point where y-origin
  '                            occurs.
  Dim Preamble()
  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 strOutput As String

  myScope.WriteString ":WAVeform:PREamble?"   ' Query for the preamble.
  Preamble() = myScope.ReadList   ' Read preamble information.
  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)

See complete example programs at: Programming Examples


:WAVeform:SEGMented:ALL

:WAVeform Commands

Name

:WAVeform:SEGMented:ALL —

Command Syntax

:WAVeform:SEGMented:ALL {{0 | OFF} | {1 | ON}}

The :WAVeform:SEGMented:ALL command enables or disables the "waveform data for all segments" setting:

  • ON — The :WAVeform:DATA? query returns data for all segments.

    ON is available only when the :WAVeform:SOURce is an analog input channel.

    When ON, the :WAVeform:DATA? query returns data for the number of segments multiplied by the number of points in a segment (which is the points value returned by the :WAVeform:POINts? or :WAVeform:PREamble? queries).

  • OFF — The :WAVeform:DATA? query returns data for the current segment.

The ability to get waveform data for all segments is faster and more convenient than iterating over multiple segments and retrieving each one separately.

The performance improvement comes primarily when raw acquisition record data is being retrieved (:WAVeform:POINts:MODE RAW) instead of the analysis record data (:WAVeform:POINts:MODE NORMal).

One corner case where you may want to retrieve the analysis record data is when the acquired data for a segment is less than the screen resolution and the analysis record is interpolated.

Most often though, the acquired data for a segment is enough to fill the screen, and less than the maximum analysis record size, so the segmented raw acquisition data and the analysis record data are the same.

If the number of segments is small, the raw acquisition segment size is greater than the analysis record size.

Query Syntax

:WAVeform:SEGMented:ALL?

The :WAVeform:SEGMented:ALL? query returns the "waveform data for all segments" setting.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :WAVeform:DATA?

  • :WAVeform:SEGMented:XLISt?

  • :WAVeform:POINts:MODE

  • :WAVeform:POINts

  • :WAVeform:PREamble?


:WAVeform:SEGMented:COUNt?

:WAVeform Commands

Name

:WAVeform:SEGMented:COUNt? —

Query Syntax

:WAVeform:SEGMented:COUNt?

The :WAVeform:SEGMented:COUNt query returns the number of memory segments in the acquired data. You can use the :WAVeform:SEGMented:COUNt? query while segments are being acquired (although :DIGitize blocks subsequent queries until the full segmented acquisition is complete).

The segmented memory acquisition mode is enabled with the :ACQuire:MODE command. The number of segments to acquire is set using the :ACQuire:SEGMented:COUNt command, and data is acquired using the :DIGitize, :SINGle, or :RUN commands.

Return Format

<count> ::= an integer in NR1 format (count set by
            :ACQuire:SEGMented:COUNt).

See Also

  • :ACQuire:MODE

  • :ACQuire:SEGMented:COUNt

  • :DIGitize

  • :SINGle

  • :RUN

  • Introduction to :WAVeform Commands

Example Code

  • Example Code


:WAVeform:SEGMented:TTAG?

:WAVeform Commands

Name

:WAVeform:SEGMented:TTAG? —

Query Syntax

:WAVeform:SEGMented:TTAG?

The :WAVeform:SEGMented:TTAG? query returns the time tag of the currently selected segmented memory index. The index is selected using the :ACQuire:SEGMented:INDex command.

Return Format

<time_tag> ::= in NR3 format

See Also

  • :ACQuire:SEGMented:INDex

  • Introduction to :WAVeform Commands

Example Code

  • Example Code


:WAVeform:SEGMented:XLISt?

:WAVeform Commands

Name

:WAVeform:SEGMented:XLISt? —

Query Syntax

:WAVeform:SEGMented:XLISt? <xlist_type>
<xlist_type> ::= {RELXorigin | ABSXorigin | TTAG}

The :WAVeform:SEGMented:XLISt? query returns the X (time) information for all segments at once. The <xlist_type> option specifies the type of information that is returned:

  • RELXorigin — The relative X-origin for each segment (the value returned by the :WAVeform:XORigin? query) is returned.

  • TTAG — The time tag for each segment (the value returned by the :WAVeform:SEGMented:TTAG? query) will be returned.

  • ABSXorigin — The sum of the values of the RELXorigin and TTAG types is returned for each segment.

This command is useful when getting the waveform data for all segments at once (see :WAVeform:SEGMented:ALL).

Return Format

<return_value><NL>
<return_value> ::= binary block data in IEEE 488.2 # format, contains
   comma-separated string with X-info for all segments

See Also

  • :WAVeform:XORigin?

  • :WAVeform:SEGMented:TTAG?

  • :WAVeform:SEGMented:ALL


:WAVeform:SOURce

:WAVeform Commands

Name

:WAVeform:SOURce —

Command Syntax

:WAVeform:SOURce <source>
<source> ::= {CHANnel<n> | POD{1 | 2} | BUS{1 | 2} | FUNCtion<m>
   | MATH<m> | FFT | WMEMory<r> | {PBUS{1 | 2} | SBUS{1 | 2}}}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

The :WAVeform:SOURce command selects the analog channel, function, digital pod, digital bus, reference waveform, or serial decode bus to be used as the source for the :WAVeform commands.

Function capabilities include add, subtract, multiply, integrate, differentiate, and FFT (Fast Fourier Transform) operations.

When the :WAVeform:SOURce is the serial decode bus (SBUS1 or SBUS2), ASCii is the only waveform format allowed, and the :WAVeform:DATA? query returns a string with timestamps and associated bus decode information.

With MSO oscilloscope models, you can choose a POD or BUS as the waveform source. There are some differences between POD and BUS when formatting and getting data from the oscilloscope:

  • When POD1 or POD2 is selected as the waveform source, you can choose the BYTE, WORD, or ASCii formats (see :WAVeform:FORMat).

    When the WORD format is chosen, every other data byte will be 0. The setting of :WAVeform:BYTeorder controls which byte is 0.

    When the ASCii format is chosen, the :WAVeform:DATA? query returns a string with unsigned decimal values separated by commas.

  • When BUS1 or BUS2 is selected as the waveform source, you can choose the WORD or ASCii formats (but not BYTE because bus values are always returned as 16-bit values).

    When the ASCii format is chosen, the :WAVeform:DATA? query returns a string with hexadecimal bus values, for example: 0x1938,0xff38,...

Query Syntax

:WAVeform:SOURce?

The :WAVeform:SOURce? query returns the currently selected source for the WAVeform commands.

[Note]

MATH<m> is an alias for FUNCtion<m>. The :WAVeform:SOURce? query returns FUNC<m> if the source is FUNCtion<m> or MATH<m>.

Return Format

<source><NL>
<source> ::= {CHAN<n> | POD{1 | 2} | BUS{1 | 2} | FUNC<m> | WMEM<r>
   | PBUS{1 | 2}}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format

See Also

  • Introduction to :WAVeform Commands

  • :DIGitize

  • :WAVeform:FORMat

  • :WAVeform:BYTeorder

  • :WAVeform:DATA?

  • :WAVeform:PREamble?

Example Code

  ' WAVEFORM_DATA - To obtain waveform data, you must specify the
  ' WAVEFORM parameters for the waveform data prior to sending the
  ' ":WAVeform:DATA?" query.  Once these parameters have been sent,
  ' the waveform data and the preamble can be read.
  '
  ' WAVE_SOURCE - Selects the channel to be used as the source for
  ' the waveform commands.
  myScope.WriteString ":WAVeform:SOURce CHAN1"

  ' WAVE_POINTS - Specifies the number of points to be transferred
  ' using the ":WAVeform:DATA?" query.
  myScope.WriteString ":WAVeform:POINts 1000"

  ' WAVE_FORMAT - Sets the data transmission mode for the waveform
  ' data output.  This command controls whether data is formatted in
  ' a word or byte format when sent from the oscilloscope.
  Dim lngVSteps As Long
  Dim intBytesPerData As Integer

  ' Data in range 0 to 65535.
  myScope.WriteString ":WAVeform:FORMAT WORD"
  lngVSteps = 65536
  intBytesPerData = 2

  ' Data in range 0 to 255.
  'myScope.WriteString ":WAVeform:FORMat BYTE"
  'lngVSteps = 256
  'intBytesPerData = 1

  ' GET_PREAMBLE - The preamble block contains all of the current
  ' WAVEFORM settings.  It is returned in the form <preamble_block><NL>
  ' where <preamble_block> is:
  '    FORMAT        : int16 - 0 = BYTE, 1 = WORD, 4 = ASCII.
  '    TYPE          : int16 - 0 = NORMAL, 1 = PEAK DETECT, 2 = AVERAGE
  '    POINTS        : int32 - number of data points transferred.
  '    COUNT         : int32 - 1 and is always 1.
  '    XINCREMENT    : float64 - time difference between data points.
  '    XORIGIN       : float64 - always the first data point in memory.
  '    XREFERENCE    : int32 - specifies the data point associated with
  '                            x-origin.
  '    YINCREMENT    : float32 - voltage diff between data points.
  '    YORIGIN       : float32 - value is the voltage at center screen.
  '    YREFERENCE    : int32 - specifies the data point where y-origin
  '                            occurs.
  Dim Preamble()
  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 strOutput As String

  myScope.WriteString ":WAVeform:PREamble?"   ' Query for the preamble.
  Preamble() = myScope.ReadList   ' Read preamble information.
  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)
  strOutput = ""
  'strOutput = strOutput + "Format = " + CStr(intFormat) + vbCrLf
  'strOutput = strOutput + "Type = " + CStr(intType) + vbCrLf
  'strOutput = strOutput + "Points = " + CStr(lngPoints) + vbCrLf
  'strOutput = strOutput + "Count = " + CStr(lngCount) + vbCrLf
  'strOutput = strOutput + "X increment = " + _
  '            FormatNumber(dblXIncrement * 1000000) + " us" + vbCrLf
  'strOutput = strOutput + "X origin = " + _
  '            FormatNumber(dblXOrigin * 1000000) + " us" + vbCrLf
  'strOutput = strOutput + "X reference = " + _
  '            CStr(lngXReference) + vbCrLf
  'strOutput = strOutput + "Y increment = " + _
  '            FormatNumber(sngYIncrement * 1000) + " mV" + vbCrLf
  'strOutput = strOutput + "Y origin = " + _
  '            FormatNumber(sngYOrigin) + " V" + vbCrLf
  'strOutput = strOutput + "Y reference = " + _
  '            CStr(lngYReference) + vbCrLf
  strOutput = strOutput + "Volts/Div = " + _
              FormatNumber(lngVSteps * sngYIncrement / 8) + _
              " V" + vbCrLf
  strOutput = strOutput + "Offset = " + _
              FormatNumber((lngVSteps / 2 - lngYReference) * _
              sngYIncrement + sngYOrigin) + " V" + vbCrLf
  strOutput = strOutput + "Sec/Div = " + _
              FormatNumber(lngPoints * dblXIncrement / 10 * _
              1000000) + " us" + vbCrLf
  strOutput = strOutput + "Delay = " + _
              FormatNumber(((lngPoints / 2 - lngXReference) * _
              dblXIncrement + dblXOrigin) * 1000000) + " us" + vbCrLf

  ' QUERY_WAVE_DATA - Outputs waveform data that is stored in a buffer.

  ' Query the oscilloscope for the waveform data.
  myScope.WriteString ":WAVeform:DATA?"

  ' READ_WAVE_DATA - The wave data consists of two parts: the header,
  ' and the actual waveform data followed by a new line (NL) character.
  ' The query data has the following format:
  '
  '    <header><waveform_data><NL>
  '
  ' Where:
  '    <header> = #800001000 (This is an example header)
  ' The "#8" may be stripped off of the header and the remaining
  ' numbers are the size, in bytes, of the waveform data block.  The
  ' size can vary depending on the number of points acquired for the
  ' waveform.  You can then read that number of bytes from the
  ' oscilloscope and the terminating NL character.
  '
  Dim lngI As Long
  Dim lngDataValue As Long

  ' Unsigned integer bytes.
  varQueryResult = myScope.ReadIEEEBlock(BinaryType_UI1)

  For lngI = 0 To UBound(varQueryResult) _
      Step (UBound(varQueryResult) / 20)   ' 20 points.
    If intBytesPerData = 2 Then
      lngDataValue = varQueryResult(lngI) * 256 _
          + varQueryResult(lngI + 1)   ' 16-bit value.
    Else
      lngDataValue = varQueryResult(lngI)   ' 8-bit value.
    End If
    strOutput = strOutput + "Data point " + _
      CStr(lngI / intBytesPerData) + ", " + _
      FormatNumber((lngDataValue - lngYReference) _
          * sngYIncrement + sngYOrigin) + " V, " + _
      FormatNumber(((lngI / intBytesPerData - lngXReference) _
          * sngXIncrement + dblXOrigin) * 1000000) + " us" + vbCrLf
  Next lngI
  MsgBox "Waveform data:" + vbCrLf + strOutput

See complete example programs at: Programming Examples


:WAVeform:SOURce:SUBSource

:WAVeform Commands

Name

:WAVeform:SOURce:SUBSource —

Command Syntax

:WAVeform:SOURce:SUBSource <subsource>
<subsource> ::= {{SUB0 | RX | MOSI | FAST}
               | {SUB1 | TX | MISO | SLOW}}

If the :WAVeform:SOURce is SBUS<n> (serial decode), more than one data set may be available, and this command lets you choose from the available data sets.

When using UART serial decode, this option lets you get "TX" data. (TX is an alias for SUB1.) The default, SUB0, specifies "RX" data. (RX is an alias for SUB0.)

When using SPI serial decode, this option lets you get "MISO" data. (MISO is an alias for SUB1.) The default, SUB0, specifies "MOSI" data. (MOSI is an alias for SUB0.)

When using SENT serial decode, this option lets you get "SLOW" data. (SLOW is an alias for SUB1.) The default, SUB0, specifies "FAST" data. (FAST is an alias for SUB0.)

If the :WAVeform:SOURce is not SBUS, or the :SBUS<n>:MODE is not UART, SPI, or SENT, the only valid subsource is SUB0.

Query Syntax

:WAVeform:SOURce:SUBSource?

The :WAVeform:SOURce:SUBSource? query returns the current waveform subsource setting.

Return Format

<subsource><NL>
<subsource> ::= {SUB0 | SUB1}

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:SOURce


:WAVeform:TYPE?

:WAVeform Commands

Name

:WAVeform:TYPE? —

Query Syntax

:WAVeform:TYPE?

The :WAVeform:TYPE? query returns the acquisition mode associated with the currently selected waveform. The acquisition mode is set by the :ACQuire:TYPE command.

Return Format

<mode><NL>
<mode> ::= {NORM | PEAK | AVER}
[Note]

If the :WAVeform:SOURce is POD1, POD2, or SBUS1, SBUS2, the type is always NORM.

See Also

  • Introduction to :WAVeform Commands

  • :ACQuire:TYPE

  • :WAVeform:DATA?

  • :WAVeform:PREamble?

  • :WAVeform:SOURce


:WAVeform:UNSigned

:WAVeform Commands

Name

:WAVeform:UNSigned —

Command Syntax

:WAVeform:UNSigned <unsigned>
<unsigned> ::= {{0 | OFF} | {1 | ON}}

The :WAVeform:UNSigned command turns unsigned mode on or off for the currently selected waveform. Use the WAVeform:UNSigned command to control whether data values are sent as unsigned or signed integers. This command can be used to match the instrument's internal data type to the data type used by the programming language. This command has no effect if the data format is ASCii.

If :WAVeform:SOURce is set to POD1, POD2, BUS1, or BUS2, WAVeform:UNSigned must be set to ON.

Query Syntax

:WAVeform:UNSigned?

The :WAVeform:UNSigned? query returns the status of unsigned mode for the currently selected waveform.

Return Format

<unsigned><NL>
<unsigned> ::= {0 | 1}

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:SOURce


:WAVeform:VIEW

:WAVeform Commands

Name

:WAVeform:VIEW —

Command Syntax

:WAVeform:VIEW <view>
<view> ::= {MAIN | ALL}

The :WAVeform:VIEW command sets the view setting associated with the currently selected waveform:

  • MAIN — This view specifies the data you see in the oscilloscope's main waveform display area.

  • ALL — Available only when Digitizer mode is on (see :ACQuire:DIGitizer), this view specifies all the captured data, which may extend beyond the edges of the oscilloscope's main waveform display area depending on the settings for sample rate, memory depth, and horizontal time/div.

Query Syntax

:WAVeform:VIEW?

The :WAVeform:VIEW? query returns the view setting associated with the currently selected waveform.

Return Format

<view><NL>
<view> ::= {MAIN | ALL}

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:POINts

  • :ACQuire:DIGitizer


:WAVeform:XINCrement?

:WAVeform Commands

Name

:WAVeform:XINCrement? —

Query Syntax

:WAVeform:XINCrement?

The :WAVeform:XINCrement? query returns the x-increment value for the currently specified source. This value is the time difference between consecutive data points in seconds.

Return Format

<value><NL>
<value> ::= x-increment in the current preamble in 64-bit
            floating point NR3 format

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:PREamble?

Example Code

  • Example Code


:WAVeform:XORigin?

:WAVeform Commands

Name

:WAVeform:XORigin? —

Query Syntax

:WAVeform:XORigin?

The :WAVeform:XORigin? query returns the x-origin value for the currently specified source. XORigin is the X-axis value of the data point specified by the :WAVeform:XREFerence value. In this product, that is always the X-axis value of the first data point (XREFerence = 0).

Return Format

<value><NL>
<value> ::= x-origin value in the current preamble in 64-bit
            floating point NR3 format

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:PREamble?

  • :WAVeform:XREFerence?

Example Code

  • Example Code


:WAVeform:XREFerence?

:WAVeform Commands

Name

:WAVeform:XREFerence? —

Query Syntax

:WAVeform:XREFerence?

The :WAVeform:XREFerence? query returns the x-reference value for the currently specified source. This value specifies the index of the data point associated with the x-origin data value. In this product, the x-reference point is the first point displayed and XREFerence is always 0.

Return Format

<value><NL>
<value> ::= x-reference value = 0 in 32-bit NR1 format

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:PREamble?

  • :WAVeform:XORigin?

Example Code

  • Example Code


:WAVeform:YINCrement?

:WAVeform Commands

Name

:WAVeform:YINCrement? —

Query Syntax

:WAVeform:YINCrement?

The :WAVeform:YINCrement? query returns the y-increment value in volts for the currently specified source. This value is the voltage difference between consecutive data values. The y-increment for digital waveforms is always "1".

Return Format

<value><NL>
<value> ::= y-increment value in the current preamble in 32-bit
            floating point NR3 format

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:PREamble?

Example Code

  • Example Code


:WAVeform:YORigin?

:WAVeform Commands

Name

:WAVeform:YORigin? —

Query Syntax

:WAVeform:YORigin?

The :WAVeform:YORigin? query returns the y-origin value for the currently specified source. This value is the Y-axis value of the data value specified by the :WAVeform:YREFerence value. For this product, this is the Y-axis value of the center of the screen.

Return Format

<value><NL>
<value> ::= y-origin in the current preamble in 32-bit
            floating point NR3 format

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:PREamble?

  • :WAVeform:YREFerence?

Example Code

  • Example Code


:WAVeform:YREFerence?

:WAVeform Commands

Name

:WAVeform:YREFerence? —

Query Syntax

:WAVeform:YREFerence?

The :WAVeform:YREFerence? query returns the y-reference value for the currently specified source. This value specifies the data point value where the y-origin occurs. In this product, this is the data point value of the center of the screen. It is undefined if the format is ASCii.

Return Format

<value><NL>
<value> ::= y-reference value in the current preamble in 32-bit
            NR1 format

See Also

  • Introduction to :WAVeform Commands

  • :WAVeform:PREamble?

  • :WAVeform:YORigin?

Example Code

  • Example Code


:WGEN<w> Commands

When the built-in waveform generator is licensed (WAVEGEN license), you can use it to output sine, square, ramp, pulse, DC, noise, sine cardinal, exponential rise, exponential fall, cardiac, and gaussian pulse waveforms. The :WGEN<w> commands are used to select the waveform function and parameters. See Introduction to :WGEN<w> Commands.

:WGEN<w> Commands Summary:

Command | Query | Options and Query Returns
:WGEN<w>:ARBitrary:BYTeorder <order> | :WGEN<w>:ARBitrary:BYTeorder? | <order> ::= {MSBFirst | LSBFirst} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:DATA {<binary> | <value>, <value> ...} | n/a | <binary> ::= floating point values between -1.0 to +1.0 in IEEE 488.2 binary block format <value> ::= floating point values between -1.0 to +1.0 in comma-separated format <w> ::= 1 to (# WaveGen outputs) in NR1 format
n/a | :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts? | <points> ::= number of points in NR1 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:DATA:CLEar | n/a | <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:DATA:DAC {<binary> | <value>, <value> ...} | n/a | <binary> ::= decimal 16-bit integer values between -512 to +511 in IEEE 488.2 binary block format <value> ::= decimal integer values between -512 to +511 in comma-separated NR1 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:EDGE <type> | :WGEN<w>:ARBitrary:EDGE? | <type> ::= {FAST | STABle}
:WGEN<w>:ARBitrary:INTerpolate {{0 | OFF} | {1 | ON}} | :WGEN<w>:ARBitrary:INTerpolate? | {0 | 1} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:ARBitrary:LENGth <points> | :WGEN<w>:ARBitrary:LENGth? | <points> ::= {50 | 500 | 1K | 4K | 8K | 16K | 32K | 50K | 100K | 250K | 500K}
:WGEN<w>:ARBitrary:STORe <source> | n/a | <source> ::= {CHANnel<n> | WMEMory<r> | FUNCtion<m> | FFT | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format <r> ::= 1 to (# ref waveforms) in NR1 format <m> ::= 1 to (# math functions) in NR1 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:DCMode <mode> | :WGEN<w>:DCMode? | <mode> ::= {PRECise | WIDerange}
:WGEN<w>:FREQuency <frequency> | :WGEN<w>:FREQuency? | <frequency> ::= frequency in Hz in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:FUNCtion <signal> | :WGEN<w>:FUNCtion? | <signal> ::= {SINusoid | SQUare | RAMP | PULSe | NOISe | DC | SINC | EXPRise | EXPFall | CARDiac | GAUSsian | ARBitrary} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:FUNCtion:PULSe:WIDTh <width> | :WGEN<w>:FUNCtion:PULSe:WIDTh? | <width> ::= pulse width in seconds in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:FUNCtion:SQUare:DCYCle <percent> | :WGEN<w>:FUNCtion:SQUare:DCYCle? | <percent> ::= duty cycle percentage in NR1 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:MODulation:AM:DEPTh <percent> | :WGEN<w>:MODulation:AM:DEPTh? | <percent> ::= AM depth percentage from 0% to 100% in NR1 format <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:AM:FREQuency <frequency> | :WGEN<w>:MODulation:AM:FREQuency? | <frequency> ::= modulating waveform frequency in Hz in NR3 format <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:FM:DEViation <frequency> | :WGEN<w>:MODulation:FM:DEViation? | <frequency> ::= frequency deviation in Hz in NR3 format <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:FM:FREQuency <frequency> | :WGEN<w>:MODulation:FM:FREQuency? | <frequency> ::= modulating waveform frequency in Hz in NR3 format <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:FUNCtion <shape> | :WGEN<w>:MODulation:FUNCtion? | <shape> ::= {SINusoid} <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:NOISe <percent> | :WGEN<w>:MODulation:NOISe? | <percent> ::= 0 to 100 <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:STATe {{0 | OFF} | {1 | ON}} | :WGEN<w>:MODulation:STATe? | {0 | 1} <w> ::= 1 in NR1 format
:WGEN<w>:MODulation:TYPE <type> | :WGEN<w>:MODulation:TYPE? | <type> ::= {AM | FM} <w> ::= 1 in NR1 format
:WGEN<w>:OUTPut {{0 | OFF} | {1 | ON}} | :WGEN<w>:OUTPut? | {0 | 1} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:OUTPut:BURSt | n/a | n/a
:WGEN<w>:OUTPut:BURSt:COUNt <number> | :WGEN<w>:OUTPut:BURSt:COUNt? | <w> ::= 1 to (# WaveGen outputs) in NR1 format <number> ::= 1 to 10000 in NR1 format
:WGEN<w>:OUTPut:LOAD <impedance> | :WGEN<w>:OUTPut:LOAD? | <impedance> ::= {ONEMeg | FIFTy} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:OUTPut:MODE <mode> | :WGEN<w>:OUTPut:MODE? | <mode> ::= {NORMal | BURSt}
:WGEN<w>:OUTPut:POLarity <polarity> | :WGEN<w>:OUTPut:POLarity? | <polarity> ::= {NORMal | INVerted} <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:PERiod <period> | :WGEN<w>:PERiod? | <period> ::= period in seconds in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:RST | n/a | <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:VOLTage <amplitude> | :WGEN<w>:VOLTage? | <amplitude> ::= amplitude in volts in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:VOLTage:HIGH <high> | :WGEN<w>:VOLTage:HIGH? | <high> ::= high-level voltage in volts, in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:VOLTage:LOW <low> | :WGEN<w>:VOLTage:LOW? | <low> ::= low-level voltage in volts, in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format
:WGEN<w>:VOLTage:OFFSet <offset> | :WGEN<w>:VOLTage:OFFSet? | <offset> ::= offset in volts in NR3 format <w> ::= 1 to (# WaveGen outputs) in NR1 format

Introduction to :WGEN<w> Commands

The :WGEN<w> subsystem provides commands to select the waveform generator function and parameters.

In the :WGEN<w> commands, the <w> can be 1 or 2, and :WGEN is equivalent to :WGEN1

Reporting the Setup. Use :WGEN<w>? to query setup information for the WGEN<w> subsystem.

Return Format. The following is a sample response from the :WGEN? query. In this case, the query was issued following the *RST command.

:WGEN:FUNC SIN;OUTP 0;FREQ +1.00000E+03;VOLT +500.0E-03;
VOLT:OFFS +0.0E+00;:WGEN:OUTP:LOAD ONEM


:WGEN<w>:ARBitrary:BYTeorder

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:BYTeorder —

Command Syntax

:WGEN<w>:ARBitrary:BYTeorder <order>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<order> ::= {MSBFirst | LSBFirst}

The :WGEN<w>:ARBitrary:BYTeorder command selects the byte order for binary transfers.

Query Syntax

:WGEN<w>:ARBitrary:BYTeorder?

The :WGEN<w>:ARBitrary:BYTeorder query returns the current byte order selection.

Return Format

<order><NL>
<order> ::= {MSBFirst | LSBFirst}

See Also

  • :WGEN<w>:ARBitrary:DATA

  • :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

  • :WGEN<w>:ARBitrary:DATA:CLEar

  • :WGEN<w>:ARBitrary:DATA:DAC

  • :WGEN<w>:ARBitrary:EDGE

  • :WGEN<w>:ARBitrary:INTerpolate

  • :WGEN<w>:ARBitrary:LENGth

  • :WGEN<w>:ARBitrary:STORe

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]


:WGEN<w>:ARBitrary:DATA

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:DATA —

Command Syntax

:WGEN<w>:ARBitrary:DATA {<binary> | <value>, <value> ...}
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<binary> ::= floating point values between -1.0 to +1.0
             in IEEE 488.2 binary block format
<value> ::= floating point values between -1.0 to +1.0
            in comma-separated format

The :WGEN<w>:ARBitrary:DATA command downloads an arbitrary waveform in floating-point values format.

See Also

  • :WGEN<w>:ARBitrary:BYTeorder

  • :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

  • :WGEN<w>:ARBitrary:DATA:CLEar

  • :WGEN<w>:ARBitrary:DATA:DAC

  • :WGEN<w>:ARBitrary:EDGE

  • :WGEN<w>:ARBitrary:INTerpolate

  • :WGEN<w>:ARBitrary:LENGth

  • :WGEN<w>:ARBitrary:STORe

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]

Example Code

' Waveform generator arbitrary data commands example.
' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
    Private Declare PtrSafe Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
        (dest As Any, source As Any, ByVal bytes As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" _
        (dest As Any, source As Any, ByVal bytes As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 20000   ' Set I/O communication timeout.

  ' Turn on arbitrary waveform generator function.
  myScope.WriteString ":WGEN1:OUTPut ON"
  myScope.WriteString ":WGEN1:FUNCtion ARBitrary"
  myScope.WriteString ":WGEN1:FUNCtion?"
  strQueryResult = myScope.ReadString
  Debug.Print "WaveGen1 function: " + strQueryResult

  DefaultArbitraryWaveform

  ' Download comma-separated floating-point values.
  myScope.WriteString ":WGEN1:ARBitrary:DATA 0.0, 0.5, 1.0, 0.5, 0.0, -0.5, -1.0, -0.5"
  Debug.Print "WaveGen1 CSV floating-point values downloaded."
  Sleep 5000

  DefaultArbitraryWaveform

  ' Download comma-separated 16-bit integer (DAC) values.
  myScope.WriteString ":WGEN1:ARBitrary:DATA:DAC 0, 255, 511, 255, 0, -256, -512, -256"
  Debug.Print "WaveGen1 CSV 16-bit integer (DAC) values downloaded."
  Sleep 5000

  ' Set the byte order for binary data.
  myScope.WriteString ":WGEN1:ARBitrary:BYTeorder LSBFirst"
  myScope.WriteString ":WGEN1:ARBitrary:BYTeorder?"
  strQueryResult = myScope.ReadString
  Debug.Print "WaveGen1 byte order for binary data: " + strQueryResult

  DefaultArbitraryWaveform

  ' Download binary floating-point values.
  Dim mySingleArray(8) As Single
  mySingleArray(0) = 0!
  mySingleArray(1) = 0.5!
  mySingleArray(2) = 1!
  mySingleArray(3) = 0.5!
  mySingleArray(4) = 0!
  mySingleArray(5) = -0.5!
  mySingleArray(6) = -1!
  mySingleArray(7) = -0.5!

  Dim myByteArray(32) As Byte
  CopyMemory myByteArray(0), mySingleArray(0), 32 * LenB(myByteArray(0))

  myScope.WriteIEEEBlock ":WGEN1:ARBitrary:DATA", myByteArray, True
  Debug.Print "WaveGen1 binary floating-point values downloaded."
  Sleep 5000

  DefaultArbitraryWaveform

  ' Download binary 16-bit integer (DAC) values.
  Dim myIntegerArray(8) As Integer
  myIntegerArray(0) = 0
  myIntegerArray(1) = 255
  myIntegerArray(2) = 511
  myIntegerArray(3) = 255
  myIntegerArray(4) = 0
  myIntegerArray(5) = -256
  myIntegerArray(6) = -512
  myIntegerArray(7) = -256

  Dim myByteArray2(16) As Byte
  CopyMemory myByteArray2(0), myIntegerArray(0), 16 * LenB(myByteArray2(0))

  myScope.WriteIEEEBlock ":WGEN1:ARBitrary:DATA:DAC", myByteArray2, True
  Debug.Print "WaveGen1 binary 16-bit integer (DAC) values downloaded."
  Sleep 5000

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub

'
' Initialize WaveGen1 to a known state.
' -------------------------------------------------------------------
Private Sub DefaultArbitraryWaveform()

  On Error GoTo VisaComError

  ' Load default arbitrary waveform.
  myScope.WriteString ":WGEN1:ARBitrary:DATA:CLEar"
  Debug.Print "WaveGen1 default arbitrary waveform loaded."
  Sleep 5000

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description
  End

End Sub


:WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:DATA:ATTRibute:POINts? —

Query Syntax

:WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?
<w> ::= 1 to (# WaveGen outputs) in NR1 format

The :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts query returns the number of points used by the current arbitrary waveform.

Return Format

<points> ::= number of points in NR1 format

See Also

  • :WGEN<w>:ARBitrary:BYTeorder

  • :WGEN<w>:ARBitrary:DATA

  • :WGEN<w>:ARBitrary:DATA:CLEar

  • :WGEN<w>:ARBitrary:DATA:DAC

  • :WGEN<w>:ARBitrary:EDGE

  • :WGEN<w>:ARBitrary:INTerpolate

  • :WGEN<w>:ARBitrary:LENGth

  • :WGEN<w>:ARBitrary:STORe

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]


:WGEN<w>:ARBitrary:DATA:CLEar

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:DATA:CLEar —

Command Syntax

:WGEN<w>:ARBitrary:DATA:CLEar
<w> ::= 1 to (# WaveGen outputs) in NR1 format

The :WGEN<w>:ARBitrary:DATA:CLEar command clears the arbitrary waveform memory and loads it with the default waveform.

See Also

  • :WGEN<w>:ARBitrary:BYTeorder

  • :WGEN<w>:ARBitrary:DATA

  • :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

  • :WGEN<w>:ARBitrary:DATA:DAC

  • :WGEN<w>:ARBitrary:EDGE

  • :WGEN<w>:ARBitrary:INTerpolate

  • :WGEN<w>:ARBitrary:LENGth

  • :WGEN<w>:ARBitrary:STORe

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]

Example Code

  • Example Code


:WGEN<w>:ARBitrary:DATA:DAC

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:DATA:DAC —

Command Syntax

:WGEN<w>:ARBitrary:DATA:DAC {<binary> | <value>, <value> ...}
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<binary> ::= decimal 16-bit integer values between -512 to +511
             in IEEE 488.2 binary block format
<value> ::= decimal integer values between -512 to +511
            in comma-separated NR1 format

The :WGEN<w>:ARBitrary:DATA:DAC command downloads an arbitrary waveform using 16-bit integer (DAC) values.

See Also

  • :WGEN<w>:ARBitrary:BYTeorder

  • :WGEN<w>:ARBitrary:DATA

  • :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

  • :WGEN<w>:ARBitrary:DATA:CLEar

  • :WGEN<w>:ARBitrary:EDGE

  • :WGEN<w>:ARBitrary:INTerpolate

  • :WGEN<w>:ARBitrary:LENGth

  • :WGEN<w>:ARBitrary:STORe

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]

Example Code

  • Example Code


:WGEN<w>:ARBitrary:EDGE

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:EDGE —

Command Syntax

:WGEN<w>:ARBitrary:EDGE <type>
<type> ::= {FAST | STABle}

The :WGEN<w>:ARBitrary:EDGE command specifies the type of interpolation used for arbitrary waveform edges:

  • FAST — Provides a faster rise time and the full maximum repetition frequency at the cost of more ringing.

  • STABle — Provides a slower rise time with minimal overshoot and ringing at the cost of halving the maximum repetition frequency. This is the default setting after a waveform generator reset (:WGEN<w>:RST).

The maximum repetition frequency is determined by the maximum number of points allowed in the arbitrary waveform (see :WGEN<w>:ARBitrary:LENGth).

Query Syntax

:WGEN<w>:ARBitrary:EDGE?

The :WGEN<w>:ARBitrary:EDGE? query returns the arbitrary waveform edge setting.

Return Format

<type><NL>
<type> ::= {FAST | STABle}

See Also

  • :WGEN<w>:ARBitrary:BYTeorder

  • :WGEN<w>:ARBitrary:DATA

  • :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

  • :WGEN<w>:ARBitrary:DATA:CLEar

  • :WGEN<w>:ARBitrary:DATA:DAC

  • :WGEN<w>:ARBitrary:INTerpolate

  • :WGEN<w>:ARBitrary:LENGth

  • :WGEN<w>:ARBitrary:STORe

  • :WGEN<w>:RST

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]


:WGEN<w>:ARBitrary:INTerpolate

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:INTerpolate —

Command Syntax

:WGEN<w>:ARBitrary:INTerpolate {{0 | OFF} | {1 | ON}}
<w> ::= 1 to (# WaveGen outputs) in NR1 format

The :WGEN<w>:ARBitrary:INTerpolate command enables or disables the Interpolation control.

Interpolation specifies how lines are drawn between arbitrary waveform points:

  • When ON, lines are drawn between points in the arbitrary waveform. Voltage levels change linearly between one point and the next.

  • When OFF, all line segments in the arbitrary waveform are horizontal. The voltage level of one point remains until the next point.

Query Syntax

:WGEN<w>:ARBitrary:INTerpolate?

The :WGEN<w>:ARBitrary:INTerpolate query returns the current interpolation setting.

Return Format

{0 | 1}

See Also

  • :WGEN<w>:ARBitrary:BYTeorder

  • :WGEN<w>:ARBitrary:DATA

  • :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

  • :WGEN<w>:ARBitrary:DATA:CLEar

  • :WGEN<w>:ARBitrary:DATA:DAC

  • :WGEN<w>:ARBitrary:EDGE

  • :WGEN<w>:ARBitrary:LENGth

  • :WGEN<w>:ARBitrary:STORe

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]


:WGEN<w>:ARBitrary:LENGth

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:LENGth —

Command Syntax

:WGEN<w>:ARBitrary:LENGth <max_points>
<max_points> ::= {50 | 500 | 1K | 4K | 8K | 16K | 32K | 50K | 100K
   | 250K | 500K}

The :WGEN<w>:ARBitrary:LENGth command specifies the maximum number of uniformly spaced arbitrary waveform data points.

After a waveform generator reset (:WGEN<w>:RST), the maximum number of arbitrary waveform points is 8K.

The selected maximum number of arbitrary waveform points and the arbitrary edge interpolation setting (see :WGEN<w>:ARBitrary:EDGE) determine the maximum arbitrary waveform repetition frequency according to the following formulas:

With FAST arbitrary edge interpolation, Fmax = 400E06 / <max_points>

With STABle arbitrary edge interpolation, Fmax = 200E06 / <max_points>

For example, after a waveform generator reset (:WGEN<w>:RST), STABle arbitrary edge interpolation is set and the maximum arbitrary waveform repetition frequency is 200E06 / 8000, or 25 kHz.

Query Syntax

:WGEN<w>:ARBitrary:LENGth?

The :WGEN<w>:ARBitrary:LENGth? query returns the currently set maximum number of uniformly spaced arbitrary waveform data points.

Return Format

<max_points><NL>
<max_points> ::= {50 | 500 | 1K | 4K | 8K | 16K | 32K | 50K | 100K
   | 250K | 500K}

See Also

  • :WGEN<w>:ARBitrary:BYTeorder

  • :WGEN<w>:ARBitrary:DATA

  • :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

  • :WGEN<w>:ARBitrary:DATA:CLEar

  • :WGEN<w>:ARBitrary:DATA:DAC

  • :WGEN<w>:ARBitrary:EDGE

  • :WGEN<w>:ARBitrary:INTerpolate

  • :WGEN<w>:ARBitrary:STORe

  • :WGEN<w>:RST

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]


:WGEN<w>:ARBitrary:STORe

:WGEN<w> Commands

Name

:WGEN<w>:ARBitrary:STORe —

Command Syntax

:WGEN<w>:ARBitrary:STORe <source>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<source> ::= {CHANnel<n> | WMEMory<r> | FUNCtion<m> | MATH<m> | FFT}
<n> ::= 1 to (# analog channels) in NR1 format
<r> ::= 1 to (# ref waveforms) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format

The :WGEN<w>:ARBitrary:STORe command stores the source's waveform into the arbitrary waveform memory.

See Also

  • :WGEN<w>:ARBitrary:BYTeorder

  • :WGEN<w>:ARBitrary:DATA

  • :WGEN<w>:ARBitrary:DATA:ATTRibute:POINts?

  • :WGEN<w>:ARBitrary:DATA:CLEar

  • :WGEN<w>:ARBitrary:DATA:DAC

  • :WGEN<w>:ARBitrary:EDGE

  • :WGEN<w>:ARBitrary:INTerpolate

  • :WGEN<w>:ARBitrary:LENGth

  • :SAVE:ARBitrary[:STARt]

  • :RECall:ARBitrary[:STARt]


:WGEN<w>:DCMode

:WGEN<w> Commands

Name

:WGEN<w>:DCMode —

Command Syntax

:WGEN<w>:DCMode <mode>
<mode> ::= {PRECise | WIDerange}

When the DC waveform type is selected (see :WGEN<w>:FUNCtion), the :WGEN<w>:DCMode command specifies the DC output mode:

  • PRECise — You can select from a smaller range of output voltages (-1 V to 1 V) with greater accuracy of the specified level.

  • WIDerange — You can select from a wider range of output voltages (-8 V to 8 V) with with less accuracy of the specified level.

Query Syntax

:WGEN<w>:DCMode?

The :WGEN<w>:DCMode? query returns the selected DC output mode selection.

Return Format

<mode><NL>
<mode> ::= {PREC | WID}

See Also

  • :WGEN<w>:FUNCtion


:WGEN<w>:FREQuency

:WGEN<w> Commands

Name

:WGEN<w>:FREQuency —

Command Syntax

:WGEN<w>:FREQuency <frequency>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<frequency> ::= frequency in Hz in NR3 format

For all waveforms except Noise and DC, the :WGEN<w>:FREQuency command specifies the frequency of the waveform.

You can also specify the frequency indirectly using the :WGEN<w>:PERiod command.

Query Syntax

:WGEN<w>:FREQuency?

The :WGEN<w>:FREQuency? query returns the currently set waveform generator frequency.

Return Format

<frequency><NL>
<frequency> ::= frequency in Hz in NR3 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion

  • :WGEN<w>:PERiod


:WGEN<w>:FUNCtion

:WGEN<w> Commands

Name

:WGEN<w>:FUNCtion —

Command Syntax

:WGEN<w>:FUNCtion <signal>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<signal> ::= {SINusoid | SQUare | RAMP | PULSe | DC | NOISe | SINC
             | EXPRise | EXPFall | CARDiac | GAUSsian | ARBitrary}

The :WGEN<w>:FUNCtion command selects the type of waveform:

Waveform Type Characteristics Frequency Range1 Max. Amplitude (High-Z)2 Offset Range (High-Z)2

SINusoid

Use these commands to set the sine signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW

10 mHz to 100 MHz

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(800 mV - 0.5 * amplitude)

When amplitude ≥50 mV: ±(8 V - 0.5 * amplitude)

SQUare

Use these commands to set the square wave signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW

  • :WGEN<w>:FUNCtion:SQUare:DCYCle

The duty cycle can be adjusted from 0.5% to 99.5% depending on the square wave frequency. The resolution of the percentages that can be selected is finer at lower frequencies and coarser at higher frequencies.

10 mHz to 50 MHz

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(800 mV - 0.5 * amplitude)

When amplitude ≥50 mV: ±(8 V - 0.5 * amplitude)

RAMP

Use these commands to set the ramp signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW

  • :WGEN<w>:FUNCtion:RAMP:SYMMetry

Symmetry represents the amount of time per cycle that the ramp waveform is rising and can be adjusted from 0% to 100%.

300 mHz to 5 MHz

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(800 mV - 0.5 * amplitude)

When amplitude ≥50 mV: ±(8 V - 0.5 * amplitude)

PULSe

Use these commands to set the pulse signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW

  • :WGEN<w>:FUNCtion:PULSe:WIDTh

The minimum pulse width is 10 ns at all frequencies. The pulse width can be adjusted in 5 ns increments from the minimum to the period minus the minimum.

10 mHz to 50 MHz.

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(800 mV - 0.5 * amplitude)

When amplitude ≥50 mV: ±(8 V - 0.5 * amplitude)

DC

Use this command to set the DC level:

  • :WGEN<w>:VOLTage:OFFSet

Use this command to set the DC output mode:

  • :WGEN<w>:DCMode

n/a

n/a

±8.00 V or ±1.00 V, depending on the DC output mode selection

NOISe

Use these commands to set the noise signal parameters:

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW

n/a

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(800 mV - 0.5 * amplitude)

When amplitude ≥50 mV: ±(8 V - 0.5 * amplitude)

SINC

Use these commands to set the sine cardinal signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

300 mHz to 1 MHz

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(400 mV - 0.25 * amplitude)

When amplitude ≥50 mV: ±(4 V - 0.25 * amplitude)

EXPRise

Use these commands to set the exponential rise signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW

300 mHz to 5 MHz

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(800 mV - 0.5 * amplitude)

When amplitude ≥50 mV: ±(8 V - 0.5 * amplitude)

EXPFall

Use these commands to set the exponential fall signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW

300 mHz to 5 MHz

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(800 mV - 0.5 * amplitude)

When amplitude ≥50 mV: ±(8 V - 0.5 * amplitude)

CARDiac

Use these commands to set the cardiac signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

300 mHz to 2.5 MHz

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(400 mV - 0.25 * amplitude)

When amplitude ≥50 mV: ±(4 V - 0.25 * amplitude)

GAUSsian

Use these commands to set the gaussian pulse signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

300 mHz to 5 MHz

2 mVpp to 8 Vpp

When amplitude <50 mV: ±(400 mV - 0.25 * amplitude)

When amplitude ≥50 mV: ±(4 V - 0.25 * amplitude)

ARBitrary

Use these commands to set the arbitrary signal parameters:

  • :WGEN<w>:FREQuency

  • :WGEN<w>:PERiod

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW

300 mHz to max frequency determined by :WGEN<w>:ARBitrary:LENGth

2 mVpp to 10 Vpp

When amplitude <50 mV: ±(800 mV - 0.5 * amplitude)

When amplitude ≥50 mV: ±(8 V - 0.5 * amplitude)

1When burst output mode is selected (see :WGEN<w>:OUTPut:MODE), the maximum frequency is limited to 5 MHz.

2When the output load is 50 Ω, these values are halved.

Query Syntax

:WGEN<w>:FUNCtion?

The :WGEN<w>:FUNCtion? query returns the currently selected signal type.

Return Format

<signal><NL>
<signal> ::= {SIN | SQU | RAMP | PULS | DC | NOIS | SINC | EXPR | EXPF
             | CARD | GAUS | ARB}

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:MODulation:NOISe


:WGEN<w>:FUNCtion:PULSe:WIDTh

:WGEN<w> Commands

Name

:WGEN<w>:FUNCtion:PULSe:WIDTh —

Command Syntax

:WGEN<w>:FUNCtion:PULSe:WIDTh <width>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<width> ::= pulse width in seconds in NR3 format

For Pulse waveforms, the :WGEN<w>:FUNCtion:PULSe:WIDTh command specifies the width of the pulse.

The pulse width can be adjusted from 20 ns to the period minus 20 ns.

Query Syntax

:WGEN<w>:FUNCtion:PULSe:WIDTh?

The :WGEN<w>:FUNCtion:PULSe:WIDTh? query returns the currently set pulse width.

Return Format

<width><NL>
<width> ::= pulse width in seconds in NR3 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion


:WGEN<w>:FUNCtion:RAMP:SYMMetry

:WGEN<w> Commands

Name

:WGEN<w>:FUNCtion:RAMP:SYMMetry —

Command Syntax

:WGEN<w>:FUNCtion:RAMP:SYMMetry <percent>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<percent> ::= symmetry percentage from 0% to 100% in NR1 format

For Ramp waveforms, the :WGEN<w>:FUNCtion:RAMP:SYMMetry command specifies the symmetry of the waveform.

Symmetry represents the amount of time per cycle that the ramp waveform is rising.

Query Syntax

:WGEN<w>:FUNCtion:RAMP:SYMMetry?

The :WGEN<w>:FUNCtion:RAMP:SYMMetry? query returns the currently set ramp symmetry.

Return Format

<percent><NL>
<percent> ::= symmetry percentage from 0% to 100% in NR1 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion


:WGEN<w>:FUNCtion:SQUare:DCYCle

:WGEN<w> Commands

Name

:WGEN<w>:FUNCtion:SQUare:DCYCle —

Command Syntax

:WGEN<w>:FUNCtion:SQUare:DCYCle <percent>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<percent> ::= duty cycle percentage in NR1 format

For Square waveforms, the :WGEN<w>:FUNCtion:SQUare:DCYCle command specifies the square wave duty cycle.

Duty cycle is the percentage of the period that the waveform is high.

The duty cycle percentage can be from 0.5% to 99.5% depending on the square wave frequency (:WGEN<w>:FREQuency). The resolution of the percentages that can be selected is finer at lower frequencies and coarser at higher frequencies.

Query Syntax

:WGEN<w>:FUNCtion:SQUare:DCYCle?

The :WGEN<w>:FUNCtion:SQUare:DCYCle? query returns the currently set square wave duty cycle.

Return Format

<percent><NL>
<percent> ::= duty cycle percentage in NR1 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion


:WGEN<w>:MODulation:AM:DEPTh

:WGEN<w> Commands

Name

:WGEN<w>:MODulation:AM:DEPTh —

Command Syntax

:WGEN<w>:MODulation:AM:DEPTh <percent>
<w> ::= 1 in NR1 format
<percent> ::= AM depth percentage from 0% to 100% in NR1 format

The :WGEN<w>:MODulation:AM:DEPTh command specifies the amount of amplitude modulation.

AM Depth refers to the portion of the amplitude range that will be used by the modulation. For example, a depth setting of 80% causes the output amplitude to vary from 10% to 90% (90% – 10% = 80%) of the original amplitude as the modulating signal goes from its minimum to maximum amplitude.

Query Syntax

:WGEN<w>:MODulation:AM:DEPTh?

The :WGEN<w>:MODulation:AM:DEPTh? query returns the AM depth percentage setting.

Return Format

<percent><NL>
<percent> ::= AM depth percentage from 0% to 100% in NR1 format

See Also

  • :WGEN<w>:MODulation:AM:FREQuency

  • :WGEN<w>:MODulation:FM:DEViation

  • :WGEN<w>:MODulation:FM:FREQuency

  • :WGEN<w>:MODulation:FUNCtion

  • :WGEN<w>:MODulation:STATe

  • :WGEN<w>:MODulation:TYPE


:WGEN<w>:MODulation:AM:FREQuency

:WGEN<w> Commands

Name

:WGEN<w>:MODulation:AM:FREQuency —

Command Syntax

:WGEN<w>:MODulation:AM:FREQuency <frequency>
<w> ::= 1 in NR1 format
<frequency> ::= modulating waveform frequency in Hz in NR3 format

The :WGEN<w>:MODulation:AM:FREQuency command specifies the frequency of the modulating signal.

Query Syntax

:WGEN<w>:MODulation:AM:FREQuency?

The :WGEN<w>:MODulation:AM:FREQuency? query returns the frequency of the modulating signal.

Return Format

<frequency><NL>
<frequency> ::= modulating waveform frequency in Hz in NR3 format

See Also

  • :WGEN<w>:MODulation:AM:DEPTh

  • :WGEN<w>:MODulation:FM:DEViation

  • :WGEN<w>:MODulation:FM:FREQuency

  • :WGEN<w>:MODulation:FUNCtion

  • :WGEN<w>:MODulation:STATe

  • :WGEN<w>:MODulation:TYPE


:WGEN<w>:MODulation:FM:DEViation

:WGEN<w> Commands

Name

:WGEN<w>:MODulation:FM:DEViation —

Command Syntax

:WGEN<w>:MODulation:FM:DEViation <frequency>
<w> ::= 1 in NR1 format
<frequency> ::= frequency deviation in Hz in NR3 format

The :WGEN<w>:MODulation:FM:DEViation command specifies the frequency deviation from the original carrier signal frequency.

When the modulating signal is at its maximum amplitude, the output frequency is the carrier signal frequency plus the deviation amount, and when the modulating signal is at its minimum amplitude, the output frequency is the carrier signal frequency minus the deviation amount.

The frequency deviation cannot be greater than the original carrier signal frequency.

Also, the sum of the original carrier signal frequency and the frequency deviation must be less than or equal to the maximum frequency for the selected waveform generator function plus 100 kHz.

Query Syntax

:WGEN<w>:MODulation:FM:DEViation?

The :WGEN<w>:MODulation:FM:DEViation? query returns the frequency deviation setting.

Return Format

<frequency><NL>
<frequency> ::= frequency deviation in Hz in NR3 format

See Also

  • :WGEN<w>:MODulation:AM:DEPTh

  • :WGEN<w>:MODulation:AM:FREQuency

  • :WGEN<w>:MODulation:FM:FREQuency

  • :WGEN<w>:MODulation:FUNCtion

  • :WGEN<w>:MODulation:STATe

  • :WGEN<w>:MODulation:TYPE


:WGEN<w>:MODulation:FM:FREQuency

:WGEN<w> Commands

Name

:WGEN<w>:MODulation:FM:FREQuency —

Command Syntax

:WGEN<w>:MODulation:FM:FREQuency <frequency>
<w> ::= 1 in NR1 format
<frequency> ::= modulating waveform frequency in Hz in NR3 format

The :WGEN<w>:MODulation:FM:FREQuency command specifies the frequency of the modulating signal.

Query Syntax

:WGEN<w>:MODulation:FM:FREQuency?

The :WGEN<w>:MODulation:FM:FREQuency? query returns the frequency of the modulating signal.

Return Format

<frequency><NL>
<frequency> ::= modulating waveform frequency in Hz in NR3 format

See Also

  • :WGEN<w>:MODulation:AM:DEPTh

  • :WGEN<w>:MODulation:AM:FREQuency

  • :WGEN<w>:MODulation:FM:DEViation

  • :WGEN<w>:MODulation:FUNCtion

  • :WGEN<w>:MODulation:STATe

  • :WGEN<w>:MODulation:TYPE


:WGEN<w>:MODulation:FUNCtion

:WGEN<w> Commands

Name

:WGEN<w>:MODulation:FUNCtion —

Command Syntax

:WGEN<w>:MODulation:FUNCtion <shape>
<w> ::= 1 in NR1 format
<shape> ::= {SINusoid}

The :WGEN<w>:MODulation:FUNCtion command specifies the shape of the modulating signal.

This command applies to AM and FM modulation.

Query Syntax

:WGEN<w>:MODulation:FUNCtion?

The :WGEN<w>:MODulation:FUNCtion? query returns the specified modulating signal shape.

Return Format

<shape><NL>
<shape> ::= {SIN}

See Also

  • :WGEN<w>:MODulation:AM:DEPTh

  • :WGEN<w>:MODulation:AM:FREQuency

  • :WGEN<w>:MODulation:FM:DEViation

  • :WGEN<w>:MODulation:FM:FREQuency

  • :WGEN<w>:MODulation:STATe

  • :WGEN<w>:MODulation:TYPE


:WGEN<w>:MODulation:NOISe

:WGEN<w> Commands

Name

:WGEN<w>:MODulation:NOISe —

Command Syntax

:WGEN<w>:MODulation:NOISe <percent>
<w> ::= 1 in NR1 format
<percent> ::= 0 to 100

The :WGEN<w>:MODulation:NOISe command adds noise to the currently selected signal. The sum of the amplitude between the original signal and injected noise is limited to the regular amplitude limit (for example, 5 Vpp in 1 MOhm), so the range for <percent> varies according to current amplitude.

Note that adding noise affects edge triggering on the waveform generator source as well as the waveform generator sync pulse output signal (which can be sent to AUX OUT). This is because the trigger comparator is located after the noise source.

Query Syntax

:WGEN<w>:MODulation:NOISe?

The :WGEN<w>:MODulation:NOISe query returns the percent of added noise.

Return Format

<percent><NL>
<percent> ::= 0 to 100

See Also

  • :WGEN<w>:FUNCtion


:WGEN<w>:MODulation:STATe

:WGEN<w> Commands

Name

:WGEN<w>:MODulation:STATe —

Command Syntax

:WGEN<w>:MODulation:STATe <setting>
<w> ::= 1 in NR1 format
<setting> ::= {{OFF | 0} | {ON | 1}}

The :WGEN<w>:MODulation:STATe command enables or disables modulated waveform generator output.

You can enable modulation for all waveform generator function types except pulse, DC, and noise.

Query Syntax

:WGEN<w>:MODulation:STATe?

The :WGEN<w>:MODulation:STATe? query returns whether the modulated waveform generator output is enabled of disabled.

Return Format

<setting><NL>
<setting> ::= {0 | 1}

See Also

  • :WGEN<w>:MODulation:AM:DEPTh

  • :WGEN<w>:MODulation:AM:FREQuency

  • :WGEN<w>:MODulation:FM:DEViation

  • :WGEN<w>:MODulation:FM:FREQuency

  • :WGEN<w>:MODulation:FUNCtion

  • :WGEN<w>:MODulation:TYPE


:WGEN<w>:MODulation:TYPE

:WGEN<w> Commands

Name

:WGEN<w>:MODulation:TYPE —

Command Syntax

:WGEN<w>:MODulation:TYPE <type>
<w> ::= 1 in NR1 format
<type> ::= {AM | FM}

The :WGEN<w>:MODulation:TYPE command selects the modulation type:

  • AM (amplitude modulation) — the amplitude of the original carrier signal is modified according to the amplitude of the modulating signal.

    Use the :WGEN<w>:MODulation:AM:FREQuency command to set the modulating signal frequency.

    Use the :WGEN<w>:MODulation:AM:DEPTh command to specify the amount of amplitude modulation.

  • FM (frequency modulation) — the frequency of the original carrier signal is modified according to the amplitude of the modulating signal.

    Use the :WGEN<w>:MODulation:FM:FREQuency command to set the modulating signal frequency.

    Use the :WGEN<w>:MODulation:FM:DEViation command to specify the frequency deviation from the original carrier signal frequency.

Query Syntax

:WGEN<w>:MODulation:TYPE?

The :WGEN<w>:MODulation:TYPE? query returns the selected modulation type.

Return Format

<type><NL>
<type> ::= {AM | FM}

See Also

  • :WGEN<w>:MODulation:AM:DEPTh

  • :WGEN<w>:MODulation:AM:FREQuency

  • :WGEN<w>:MODulation:FM:DEViation

  • :WGEN<w>:MODulation:FM:FREQuency

  • :WGEN<w>:MODulation:FUNCtion

  • :WGEN<w>:MODulation:STATe


:WGEN<w>:OUTPut

:WGEN<w> Commands

Name

:WGEN<w>:OUTPut —

Command Syntax

:WGEN<w>:OUTPut <on_off>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<on_off> ::= {{1 | ON} | {0 | OFF}

The :WGEN<w>:OUTPut command specifies whether the waveform generator signal output is ON (1) or OFF (0).

Query Syntax

:WGEN<w>:OUTPut?

The :WGEN<w>:OUTPut? query returns the current state of the waveform generator output setting.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • Introduction to :WGEN<w> Commands


:WGEN<w>:OUTPut:BURSt

:WGEN<w> Commands

Name

:WGEN<w>:OUTPut:BURSt —

Command Syntax

:WGEN<w>:OUTPut:BURSt

When the BURSt output mode is selected (by the :WGEN<w>:OUTPut:MODE command), the :WGEN<w>:OUTPut:BURSt command causes the :WGEN<w>:OUTPut:BURSt:COUNt number of cycles of the defined waveform to be output.

Sending this command multiple times will interrupt a slow signal output before the cycle is completed.

See Also

  • :WGEN<w>:OUTPut:MODE

  • :WGEN<w>:OUTPut:BURSt:COUNt


:WGEN<w>:OUTPut:BURSt:COUNt

:WGEN<w> Commands

Name

:WGEN<w>:OUTPut:BURSt:COUNt —

Command Syntax

:WGEN<w>:OUTPut:BURSt:COUNt <number>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<number> ::= 1 to 10000 in NR1 format

When the BURSt output mode is selected (by the :WGEN<w>:OUTPut:MODE command), the :WGEN<w>:OUTPut:BURSt:COUNt command sets the burst count number.

Query Syntax

:WGEN<w>:OUTPut:BURSt:COUNt?

The :WGEN<w>:OUTPut:BURSt:COUNt? query returns the currently set burst count number.

Return Format

<number><NL>
<number> ::= 1 to 10000 in NR1 format

See Also

  • :WGEN<w>:OUTPut:MODE

  • :WGEN<w>:OUTPut:BURSt


:WGEN<w>:OUTPut:LOAD

:WGEN<w> Commands

Name

:WGEN<w>:OUTPut:LOAD —

Command Syntax

:WGEN<w>:OUTPut:LOAD <impedance>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<impedance> ::= {ONEMeg | FIFTy}

The :WGEN<w>:OUTPut:LOAD command selects the expected output load impedance.

The output impedance of the Gen Out BNC is fixed at 50 ohms. However, the output load selection lets the waveform generator display the correct amplitude and offset levels for the expected output load.

If the actual load impedance is different than the selected value, the displayed amplitude and offset levels will be incorrect.

Query Syntax

:WGEN<w>:OUTPut:LOAD?

The :WGEN<w>:OUTPut:LOAD? query returns the current expected output load impedance.

Return Format

<impedance><NL>
<impedance> ::= {ONEM | FIFT}

See Also

  • Introduction to :WGEN<w> Commands


:WGEN<w>:OUTPut:MODE

:WGEN<w> Commands

Name

:WGEN<w>:OUTPut:MODE —

Command Syntax

:WGEN<w>:OUTPut:MODE <mode>
<mode> ::= {NORMal | BURSt}

The :WGEN<w>:OUTPut:MODE command specifies whether the defined waveform is output continuously or as a specified number of cycles (burst):

  • NORMal — the defined waveform is output continuously.

  • BURSt — the :WGEN<w>:OUTPut:BURSt:COUNt number of cycles of the defined waveform is output when you send the :WGEN<w>:OUTPut:BURSt command.

    When burst output mode is selected, the maximum frequency is limited to 5 MHz.

Query Syntax

:WGEN<w>:OUTPut:MODE?

The :WGEN<w>:OUTPut:MODE? query returns the output mode setting.

Return Format

<mode><NL>
<mode> ::= {NORMal | BURSt}

See Also

  • :WGEN<w>:OUTPut:BURSt

  • :WGEN<w>:OUTPut:BURSt:COUNt


:WGEN<w>:OUTPut:POLarity

:WGEN<w> Commands

Name

:WGEN<w>:OUTPut:POLarity —

Command Syntax

:WGEN<w>:OUTPut:POLarity <polarity>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<polarity> ::= {NORMal | INVerted}

The :WGEN<w>:OUTPut:POLarity command specifies whether the waveform generator output is inverted..

Query Syntax

:WGEN<w>:OUTPut:POLarity?

The :WGEN<w>:OUTPut:POLarity? query returns the specified output polarity.

Return Format

<polarity><NL>
<polarity> ::= {NORM | INV}

See Also

  • Introduction to :WGEN<w> Commands


:WGEN<w>:PERiod

:WGEN<w> Commands

Name

:WGEN<w>:PERiod —

Command Syntax

:WGEN<w>:PERiod <period>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<period> ::= period in seconds in NR3 format

For all waveforms except Noise and DC, the :WGEN<w>:PERiod command specifies the period of the waveform.

You can also specify the period indirectly using the :WGEN<w>:FREQuency command.

Query Syntax

:WGEN<w>:PERiod?

The :WGEN<w>:PERiod? query returns the currently set waveform generator period.

Return Format

<period><NL>
<period> ::= period in seconds in NR3 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion

  • :WGEN<w>:FREQuency


:WGEN<w>:RST

:WGEN<w> Commands

Name

:WGEN<w>:RST —

Command Syntax

:WGEN<w>:RST
<w> ::= 1 to (# WaveGen outputs) in NR1 format

The :WGEN<w>:RST command restores the waveform generator factory default settings (1 kHz sine wave, 500 mVpp, 0 V offset).

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion

  • :WGEN<w>:FREQuency


:WGEN<w>:VOLTage

:WGEN<w> Commands

Name

:WGEN<w>:VOLTage —

Command Syntax

:WGEN<w>:VOLTage <amplitude>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<amplitude> ::= amplitude in volts in NR3 format

For all waveforms except DC, the :WGEN<w>:VOLTage command specifies the waveform's amplitude. Use the :WGEN<w>:VOLTage:OFFSet command to specify the offset voltage or DC level.

You can also specify the amplitude and offset indirectly using the :WGEN<w>:VOLTage:HIGH and :WGEN<w>:VOLTage:LOW commands. For example, an amplitude of 5 V and an offset of 1 V is the same as a high-level voltage of 4 V and a low-level voltage of -1 V.

[Note]

See :WGEN<w>:FUNCtion for a description of the amplitudes and offset ranges available for each of the waveform generator's waveform types.

Query Syntax

:WGEN<w>:VOLTage?

The :WGEN<w>:VOLTage? query returns the currently specified waveform amplitude.

Return Format

<amplitude><NL>
<amplitude> ::= amplitude in volts in NR3 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion

  • :WGEN<w>:VOLTage:OFFSet

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW


:WGEN<w>:VOLTage:HIGH

:WGEN<w> Commands

Name

:WGEN<w>:VOLTage:HIGH —

Command Syntax

:WGEN<w>:VOLTage:HIGH <high>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<high> ::= high-level voltage in volts, in NR3 format

For all waveforms except DC, the :WGEN<w>:VOLTage:HIGH command specifies the waveform's high-level voltage. Use the :WGEN<w>:VOLTage:LOW command to specify the low-level voltage.

You can also specify the high-level and low-level voltages indirectly using the :WGEN<w>:VOLTage and :WGEN<w>:VOLTage:OFFSet commands. For example, a high-level voltage of 4 V and a low-level voltage of -1 V is the same as an amplitude of 5 V and an offset of 1 V.

[Note]

See :WGEN<w>:FUNCtion for a description of the amplitudes and offset ranges available for each of the waveform generator's waveform types.

Query Syntax

:WGEN<w>:VOLTage:HIGH?

The :WGEN<w>:VOLTage:HIGH? query returns the currently specified waveform high-level voltage.

Return Format

<high><NL>
<high> ::= high-level voltage in volts, in NR3 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion

  • :WGEN<w>:VOLTage:LOW

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet


:WGEN<w>:VOLTage:LOW

:WGEN<w> Commands

Name

:WGEN<w>:VOLTage:LOW —

Command Syntax

:WGEN<w>:VOLTage:LOW <low>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<low> ::= low-level voltage in volts, in NR3 format

For all waveforms except DC, the :WGEN<w>:VOLTage:LOW command specifies the waveform's low-level voltage. Use the :WGEN<w>:VOLTage:HIGH command to specify the high-level voltage.

You can also specify the high-level and low-level voltages indirectly using the :WGEN<w>:VOLTage and :WGEN<w>:VOLTage:OFFSet commands. For example, a high-level voltage of 4 V and a low-level voltage of -1 V is the same as an amplitude of 5 V and an offset of 1 V.

[Note]

See :WGEN<w>:FUNCtion for a description of the amplitudes and offset ranges available for each of the waveform generator's waveform types.

Query Syntax

:WGEN<w>:VOLTage:LOW?

The :WGEN<w>:VOLTage:LOW? query returns the currently specified waveform low-level voltage.

Return Format

<low><NL>
<low> ::= low-level voltage in volts, in NR3 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion

  • :WGEN<w>:VOLTage:LOW

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:OFFSet


:WGEN<w>:VOLTage:OFFSet

:WGEN<w> Commands

Name

:WGEN<w>:VOLTage:OFFSet —

Command Syntax

:WGEN<w>:VOLTage:OFFSet <offset>
<w> ::= 1 to (# WaveGen outputs) in NR1 format
<offset> ::= offset in volts in NR3 format

The :WGEN<w>:VOLTage:OFFSet command specifies the waveform's offset voltage or the DC level. Use the :WGEN<w>:VOLTage command to specify the amplitude.

You can also specify the amplitude and offset indirectly using the :WGEN<w>:VOLTage:HIGH and :WGEN<w>:VOLTage:LOW commands. For example, an amplitude of 5 V and an offset of 1 V is the same as a high-level voltage of 4 V and a low-level voltage of -1 V.

[Note]

See :WGEN<w>:FUNCtion for a description of the amplitudes and offset ranges available for each of the waveform generator's waveform types.

Query Syntax

:WGEN<w>:VOLTage:OFFSet?

The :WGEN<w>:VOLTage:OFFSet? query returns the currently specified waveform offset voltage.

Return Format

<offset><NL>
<offset> ::= offset in volts in NR3 format

See Also

  • Introduction to :WGEN<w> Commands

  • :WGEN<w>:FUNCtion

  • :WGEN<w>:VOLTage

  • :WGEN<w>:VOLTage:HIGH

  • :WGEN<w>:VOLTage:LOW


:WMEMory<r> Commands

Control reference waveforms.

:WMEMory<r> Commands Summary:

Command | Query | Options and Query Returns
:WMEMory<r>:CLEar | n/a | <r> ::= 1 to (# ref waveforms) in NR1 format
:WMEMory<r>:DISPlay {{0 | OFF} | {1 | ON}} | :WMEMory<r>:DISPlay? | <r> ::= 1 to (# ref waveforms) in NR1 format {0 | 1}
:WMEMory<r>:LABel <string> | :WMEMory<r>:LABel? | <r> ::= 1 to (# ref waveforms) in NR1 format <string> ::= any series of 32 or less ASCII characters enclosed in quotation marks
:WMEMory<r>:SAVE <source> | n/a | <r> ::= 1 to (# ref waveforms) in NR1 format <source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>} <n> ::= 1 to (# analog channels) in NR1 format <m> ::= 1 to (# math functions) in NR1 format NOTE: Math functions whose x-axis is not frequency can be saved as reference waveforms.
:WMEMory<r>:SKEW <skew> | :WMEMory<r>:SKEW? | <r> ::= 1 to (# ref waveforms) in NR1 format <skew> ::= time in seconds in NR3 format
:WMEMory<r>:YOFFset <offset>[suffix] | :WMEMory<r>:YOFFset? | <r> ::= 1 to (# ref waveforms) in NR1 format <offset> ::= vertical offset value in NR3 format [suffix] ::= {V | mV}
:WMEMory<r>:YRANge <range> | :WMEMory<r>:YRANge? | <r> ::= 1 to (# ref waveforms) in NR1 format <range> ::= vertical full-scale range value in NR3 format
:WMEMory<r>:YSCale <scale> | :WMEMory<r>:YSCale? | <r> ::= 1 to (# ref waveforms) in NR1 format <scale> ::= vertical units per division value in NR3 format


:WMEMory<r>:CLEar

:WMEMory<r> Commands

Name

:WMEMory<r>:CLEar —

Command Syntax

:WMEMory<r>:CLEar
<r> ::= 1 to (# ref waveforms) in NR1 format

The :WMEMory<r>:CLEar command clears the specified reference waveform location.

See Also

  • :WMEMory<r> Commands

  • :WMEMory<r>:SAVE

  • :WMEMory<r>:DISPlay


:WMEMory<r>:DISPlay

:WMEMory<r> Commands

Name

:WMEMory<r>:DISPlay —

Command Syntax

:WMEMory<r>:DISPlay <on_off>
<r> ::= 1 to (# ref waveforms) in NR1 format
<on_off> ::= {{1 | ON} | {0 | OFF}}

The :WMEMory<r>:DISPlay command turns the display of the specified reference waveform on or off.

There are two reference waveform locations, but only one reference waveform can be displayed at a time. That means, if :WMEMory1:DISPlay is ON, sending the :WMEMory2:DISPlay ON command will automatically set :WMEMory1:DISPlay OFF.

Query Syntax

:WMEMory<r>:DISPlay?

The :WMEMory<r>:DISPlay? query returns the current display setting for the reference waveform.

Return Format

<on_off><NL>
<on_off> ::= {1 | 0}

See Also

  • :WMEMory<r> Commands

  • :WMEMory<r>:CLEar

  • :WMEMory<r>:LABel


:WMEMory<r>:LABel

:WMEMory<r> Commands

Name

:WMEMory<r>:LABel —

Command Syntax

:WMEMory<r>:LABel <string>
<r> ::= 1 to (# ref waveforms) in NR1 format
<string> ::= quoted ASCII string
[Note]

Label strings are 10 characters or less, and may contain any commonly used ASCII characters. Labels with more than 10 characters are truncated to 10 characters. Lower case characters are converted to upper case.

The :WMEMory<r>:LABel command sets the reference waveform label to the string that follows.

Setting a label for a reference waveform also adds the name to the label list in non-volatile memory (replacing the oldest label in the list).

Query Syntax

:WMEMory<r>:LABel?

The :WMEMory<r>:LABel? query returns the label associated with a particular reference waveform.

Return Format

<string><NL>
<string> ::= quoted ASCII string

See Also

  • :WMEMory<r> Commands

  • :WMEMory<r>:DISPlay


:WMEMory<r>:SAVE

:WMEMory<r> Commands

Name

:WMEMory<r>:SAVE —

Command Syntax

:WMEMory<r>:SAVE <source>
<r> ::= 1 to (# ref waveforms) in NR1 format
<source> ::= {CHANnel<n> | FUNCtion<m> | MATH<m>}
<n> ::= 1 to (# analog channels) in NR1 format
<m> ::= 1 to (# math functions) in NR1 format

The :WMEMory<r>:SAVE command copies the analog channel or math function waveform to the specified reference waveform location.

[Note]

Math functions whose x-axis is not frequency can be saved as reference waveforms.

See Also

  • :WMEMory<r> Commands

  • :WMEMory<r>:DISPlay


:WMEMory<r>:SKEW

:WMEMory<r> Commands

Name

:WMEMory<r>:SKEW —

Command Syntax

:WMEMory<r>:SKEW <skew>
<r> ::= 1 to (# ref waveforms) in NR1 format
<skew> ::= time in seconds in NR3 format

The :WMEMory<r>:SKEW command sets the skew factor for the specified reference waveform.

Query Syntax

:WMEMory<r>:SKEW?

The :WMEMory<r>:SKEW? query returns the current skew setting for the selected reference waveform.

Return Format

<skew><NL>
<skew> ::= time in seconds in NR3 format

See Also

  • :WMEMory<r> Commands

  • :WMEMory<r>:DISPlay

  • :WMEMory<r>:YOFFset

  • :WMEMory<r>:YRANge

  • :WMEMory<r>:YSCale


:WMEMory<r>:YOFFset

:WMEMory<r> Commands

Name

:WMEMory<r>:YOFFset —

Command Syntax

:WMEMory<r>:YOFFset <offset> [<suffix>]
<r> ::= 1 to (# ref waveforms) in NR1 format
<offset> ::= vertical offset value in NR3 format
<suffix> ::= {V | mV}

The :WMEMory<r>:YOFFset command sets the value that is represented at center screen for the selected reference waveform.

The range of legal values varies with the value set by the :WMEMory<r>:YRANge or :WMEMory<r>:YSCale commands. If you set the offset to a value outside of the legal range, the offset value is automatically set to the nearest legal value. Legal values are affected by the probe attenuation setting.

Query Syntax

:WMEMory<r>:YOFFset?

The :WMEMory<r>:YOFFset? query returns the current offset value for the selected reference waveform.

Return Format

<offset><NL>
<offset> ::= vertical offset value in NR3 format

See Also

  • :WMEMory<r> Commands

  • :WMEMory<r>:DISPlay

  • :WMEMory<r>:YRANge

  • :WMEMory<r>:YSCale

  • :WMEMory<r>:SKEW


:WMEMory<r>:YRANge

:WMEMory<r> Commands

Name

:WMEMory<r>:YRANge —

Command Syntax

:WMEMory<r>:YRANge <range>
<r> ::= 1 to (# ref waveforms) in NR1 format
<range> ::= vertical full-scale range value in NR3 format

The :WMEMory<r>:YRANge command defines the full-scale vertical axis of the selected reference waveform.

Legal values for the range are copied from the original source waveform (that is, the analog channel or math function waveform that was originally saved as a reference waveform).

Query Syntax

:WMEMory<r>:YRANge?

The :WMEMory<r>:YRANge? query returns the current full-scale range setting for the specified reference waveform.

Return Format

<range><NL>
<range> ::= vertical full-scale range value in NR3 format

See Also

  • :WMEMory<r> Commands

  • :WMEMory<r>:DISPlay

  • :WMEMory<r>:YOFFset

  • :WMEMory<r>:SKEW

  • :WMEMory<r>:YSCale


:WMEMory<r>:YSCale

:WMEMory<r> Commands

Name

:WMEMory<r>:YSCale —

Command Syntax

:WMEMory<r>:YSCale <scale>
<r> ::= 1 to (# ref waveforms) in NR1 format
<scale> ::= vertical units per division in NR3 format

The :WMEMory<r>:YSCale command sets the vertical scale, or units per division, of the selected reference waveform.

Legal values for the scale are copied from the original source waveform (that is, the analog channel or math function waveform that was originally saved as a reference waveform).

Query Syntax

:WMEMory<r>:YSCale?

The :WMEMory<r>:YSCale? query returns the current scale setting for the specified reference waveform.

Return Format

<scale><NL>
<scale> ::= vertical units per division in NR3 format

See Also

  • :WMEMory<r> Commands

  • :WMEMory<r>:DISPlay

  • :WMEMory<r>:YOFFset

  • :WMEMory<r>:YRANge

  • :WMEMory<r>:SKEW


Obsolete and Discontinued Commands

Obsolete Commands

Obsolete commands are older forms of commands that are provided to reduce customer rework for existing systems and programs (see [image] Obsolete Commands).

Obsolete Command | Current Command Equivalent | Behavior Differences
:CHANnel<n>:BWLimit | :CHANnel<n>:BANDwidth 20E+06 | In earlier versions of the HD3-Series software, the :CHANnel<n>:BWLimit command mapped to a 40 MHz bandwidth limit on the channel. Now that the "global" :ACQuire:BANDwidth command has been replaced by the "per channel" :CHANnel<n>:BANDwidth command, the :CHANnel<n>:BWLimit returns to the legacy 20 MHz limit of previous InfiniiVision oscilloscopes.
:TRIGger:DELay:TDELay:TIME | :TRIGger:DELay:TDELay:TMIN | The obsolete command was a delay time before looking for the trigger edge. The current command equivalent specifies the minimum time of a range in which to look for the trigger edge.

Discontinued Commands

Discontinued commands are commands that were used by previous oscilloscopes, but are not supported by the InfiniiVision HD3-Series oscilloscopes. Listed below are the Discontinued commands and the nearest equivalent command available (if any).

Discontinued Command | Current Command Equivalent | Comments
:ACQuire:AALias? | none | Anti-aliasing is always present in the HD3-Series oscilloscopes.
:ACQuire:BANDwidth | :CHANnel<n>:BANDwidth | In earlier versions of the HD3-Series software, the :ACQuire:BANDwidth command was a "global" bandwidth setting. The :CHANnel<n>:BANDwidth command is a "per channel" bandwidth setting (although its 5 MHz and 10 MHz settings are still global and must be applied to all channels).
:ACQuire:DAALias | none | There is no option to turn off anti-aliasing in the HD3-Series oscilloscopes.
:CHANnel2:SKEW | :CHANnel<n>:PROBe:SKEW | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel:ACTivity | :ACTivity | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel:LABel | :CHANnel<n>:LABel or :DIGital<n>:LABel | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel:THReshold | :POD<n>:THReshold or :DIGital<d>:THReshold | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel<n>:INPut | :CHANnel<n>:IMPedance | This was an obsolete command in the 3000G X-Series oscilloscopes.
:CHANnel<n>:PMODe | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:DIGital<d>:POSition | :DIGital:ORDer[:SET] | The notion of digital channel position locations is not present in the HD3-Series oscilloscopes. You can, however, order digital channels using the :DIGital:ORDer[:SET] command.
:DISPlay:ANNotation<n>:X1Position | :DISPlay:ANNotation<n>:XPOSition | Discontinued command positioned by pixel position, current command positions by percent of grid width.
:DISPlay:ANNotation<n>:Y1Position | :DISPlay:ANNotation<n>:YPOSition | Discontinued command positioned by pixel position, current command positions by percent of grid height.
:DISPlay:CONNect | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:DISPlay:GRATicule:TYPE | none | This command was for the TV trigger mode which is not available in the HD3-Series oscilloscopes.
:DISPlay:MENU | none | On earlier InfiniiVision oscilloscopes, this command would display a particular softkey menu. The HD3-Series oscilloscopes do not have softkey menus.
:DISPlay:ORDer | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:DISPlay:SIDebar | none | On earlier InfiniiVision oscilloscopes, this command would display a particular sidebar dialog box. The HD3-Series oscilloscopes do not have sidebar dialog boxes.
:DISPlay:VECTors | none | On the 3000G X-Series oscilloscopes, lines connecting acquisition points was always on. Because it is also always on in the HD3-Series oscilloscopes, this command is not necessary.
:DVM:FREQuency? | :COUNter<c>:CURRent? | The :DVM:FREQuency? query has been replaced by the new :COUNter<c> Commands.
:ERASe | :DISplay:CLEar | This was an obsolete command in the 3000G X-Series oscilloscopes.
:EXTernal:PMODe | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:FFT:DMODe | none | FFT display mode options are not available in the HD3-Series oscilloscopes. However, You can enable an FFT Max Function in the user interface.
:FUNCtion:GOFT:OPERation | :FUNCtion1:OPERation | GOFT maps to FUNCtion1. This was an obsolete command in the 3000G X-Series oscilloscopes.
:FUNCtion:GOFT:SOURce1 | :FUNCtion1:SOURce1 | GOFT maps to FUNCtion1. This was an obsolete command in the 3000G X-Series oscilloscopes.
:FUNCtion:GOFT:SOURce2 | :FUNCtion1:SOURce2 | GOFT maps to FUNCtion1. This was an obsolete command in the 3000G X-Series oscilloscopes.
:FUNCtion:SOURce | :FUNCtion:SOURce1 | Obsolete command has ADD, SUBTract, and MULTiply parameters; current command has GOFT parameter. This was an obsolete command in the 3000G X-Series oscilloscopes.
:FUNCtion:VIEW | :FUNCtion:DISPlay | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:DESTination | :RECall:FILename :SAVE:FILename | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:FILename | :RECall:FILename :SAVE:FILename | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:GRAYscale | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:IGColors | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HARDcopy:PDRiver | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:HWEenable | :STATus:OPERation:HARDware:ENABle | Status registers now use SCPI standard commands and queries for controlling and reading the registers.
:HWERegister:CONDition? | :STATus:OPERation:HARDware:CONDition?
:HWERegister[:EVENt]? | :STATus:OPERation:HARDware[:EVENt]?
:MEASure:ALL | :MEASure:QUICk | There is no "Snapshot All" feature in the HD3-Series oscilloscopes, but there is a "Quick Measure" that will install 10 common measurements on an analog input channel source.
:MEASure:DEFine | :MEASure:DELay:DEFine :MEASure:THResholds:ABSolute :MEASure:THResholds:METHod :MEASure:THResholds:PERCent :MEASure:THResholds:STANdard | The :MEASure:DEFine functionality is provided by the current command equivalents.
:MEASure:LOWer | :MEASure:THResholds:ABSolute :MEASure:THResholds:METHod :MEASure:THResholds:PERCent :MEASure:THResholds:STANdard | The :MEASure:THResholds commands can define absolute values or percentage. This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TDELta | :MARKer:XDELta | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:THResholds | :MEASure:THResholds:ABSolute :MEASure:THResholds:METHod :MEASure:THResholds:PERCent :MEASure:THResholds:STANdard | The :MEASure:THResholds commands can define absolute values or percentage. This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TMAX | :MEASure:XMAX | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TMIN | :MEASure:XMIN | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TSTArt | :MARKer:X1Position | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TSTOp | :MARKer:X2Position | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:TVOLt | :MEASure:TVALue | TVALue measures additional values such as db, Vs, etc. This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:UPPer | :MEASure:THResholds:ABSolute :MEASure:THResholds:METHod :MEASure:THResholds:PERCent :MEASure:THResholds:STANdard | The :MEASure:THResholds commands can define absolute values or percentage. This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:VDELta | :MARKer:YDELta | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:VSTArt | :MARKer:Y1Position | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:VSTOp | :MARKer:Y2Position | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MEASure:VTIMe | :MEASure:YATX | With :MEASure:YATX, there is a command for installing the measurement on the oscilloscope's display. :MEASure:VTIMe had no command, only a query.
:MTEenable | :STATus:OPERation:MTESt:ENABle | Status registers now use SCPI standard commands and queries for controlling and reading status registers.
:MTERegister[:EVENt]? | :STATus:OPERation:MTESt[:EVENt]?
:MTESt:AMASk:{SAVE | STORe} | :SAVE:MASK[:STARt] | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:AVERage | :ACQuire:TYPE AVERage | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:AVERage:COUNt | :ACQuire:COUNt | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:LOAD | :RECall:MASK[:STARt] | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:RUMode | :MTESt:RMODe | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:RUMode:SOFailure | :MTESt:RMODe:FACTion:STOP | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:{STARt | STOP} | :RUN or :STOP | This was an obsolete command in the 3000G X-Series oscilloscopes.
:MTESt:TRIGger:SOURce | :TRIGger Commands | There are various commands for setting the source with different types of triggers. This was an obsolete command in the 3000G X-Series oscilloscopes.
:OPEE | :STATus:OPERation:ENABle | Status registers now use SCPI standard commands and queries for controlling and reading status registers.
:OPERegister:CONDition? | :STATus:OPERation:CONDition?
:OPERegister[:EVENt]? | :STATus:OPERation[:EVENt]?
:OVLenable | :STATus:OPERation:OVERload:ENABle | Status registers now use SCPI standard commands and queries for controlling and reading status registers.
:OVLRegister? | :STATus:OPERation:OVERload[:EVENt]?
:PRINt? | :DISPlay:DATA? | This was an obsolete command in the 3000G X-Series oscilloscopes.
:SAVE:IMAGe:AREA | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:SAVE:IMAGe:PALette | none | Color images are always saved in the HD3-Series oscilloscopes.
:SBUS<n>:CAN:FDSTandard | none | This is no longer an option. The ISO standard is used when decoding or triggering on FD frames.
:SBUS<n>:LIN:SIGNal:DEFinition | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:SYSTem:MENU | none | This was an obsolete command in the 3000G X-Series oscilloscopes.
:SYSTem:PRECision | :SYSTem:PRECision:LENGth | Precision analysis is no longer a feature to be enabled. Instead, you simply choose the desired analysis record length.
:TRIGger:DELay:TRIGger:COUNt | none | You cannot trigger on an Nth edge.
:TRIGger:THReshold | :POD<n>:THReshold or :DIGital<d>:THReshold | This was an obsolete command in the 3000G X-Series oscilloscopes.
:TRIGger:ZONE:STATe | none | There is no longer an overall zone trigger feature on/off state.
:WAVeform:VIEW | none | In the HD3-Series oscilloscopes, all captured data is used.

Discontinued Parameters

Some previous oscilloscope queries returned control setting values of OFF and ON. The InfiniiVision HD3-Series oscilloscopes return only the enumerated values 0 (for off) and 1 (for on).


:CHANnel<n>:BWLimit

Obsolete and Discontinued Commands

Name

:CHANnel<n>:BWLimit —

Command Syntax

:CHANnel<n>:BWLimit <bwlimit>
<bwlimit> ::= {{1 | ON} | {0 | OFF}
<n> ::= 1 to (# analog channels) in NR1 format

The :CHANnel<n>:BWLimit command controls an internal low-pass filter. When the filter is on, the bandwidth of the specified channel is limited to approximately 20 MHz.

[Note]

This command is provided to support programs from earlier legacy InfiniiVision oscilloscopes. The HD3-Series oscilloscope command for limiting the bandwidth and increasing vertical resolution is :CHANnel<n>:BANDwidth.

Query Syntax

:CHANnel<n>:BWLimit?

The :CHANnel<n>:BWLimit? query returns the current setting of the channel bandwidth limit.

Return Format

<bwlimit><NL>
<bwlimit> ::= {1 | 0}

See Also

  • :CHANnel<n>:BANDwidth


:MEASure:SCRatch

Obsolete and Discontinued Commands

Name

:MEASure:SCRatch —

Command Syntax

:MEASure:SCRatch

The :MEASure:SCRatch command clears all selected measurements and markers from the screen.

[Note]

The :MEASure:SCRatch command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:CLEar command instead.


:SBUS<n>:SPI:SOURce:DATA

Obsolete and Discontinued Commands

Name

:SBUS<n>:SPI:SOURce:DATA —

Command Syntax

:SBUS<n>:SPI:SOURce:DATA <source>
<source> ::= {CHANnel<n> | DIGital<d>}
<n> ::= 1 to (# analog channels) in NR1 format
<d> ::= 0 to (# digital channels - 1) in NR1 format

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.

Query Syntax

:SBUS<n>:SPI:SOURce:DATA?

The :SBUS<n>:SPI:SOURce:DATA? query returns the current source for the SPI serial MOSI data.

Return Format

<source><NL>

See Also

  • Introduction to :TRIGger Commands

  • :SBUS<n>:SPI:SOURce:MOSI

  • :SBUS<n>:SPI:SOURce:MISO

  • :SBUS<n>:SPI:SOURce:CLOCk

  • :SBUS<n>:SPI:SOURce:FRAMe

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:DATA

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:DATA

  • :SBUS<n>:SPI:TRIGger:PATTern:MISO:WIDTh

  • :SBUS<n>:SPI:TRIGger:PATTern:MOSI:WIDTh


:TIMebase[:MAIN]:DELay

Obsolete and Discontinued Commands

Name

:TIMebase[:MAIN]:DELay —

Command Syntax

:TIMebase[:MAIN]:DELay <delay_value>
<delay_value> ::= time in seconds from trigger to the delay reference
                  point on the screen.
The valid range for delay settings depends on the time/division
setting for the main time base.

The :TIMebase[:MAIN]:DELay command sets the main time base delay. This delay is the time between the trigger event and the delay reference point on the screen. The delay reference point is set with the :TIMebase:REFerence command.

[Note]

The :TIMebase[:MAIN]:DELay command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :TIMebase[:MAIN]:POSition command instead.

Query Syntax

:TIMebase[:MAIN]:DELay?

The :TIMebase[:MAIN]:DELay query returns the current delay value.

Return Format

<delay_value><NL>
<delay_value> ::= time from trigger to display reference in seconds
                  in NR3 format.

Example Code

   ' TIMEBASE_DELAY - Sets the time base delay.  This delay
   ' is the internal time between the trigger event and the
   ' onscreen delay reference point.

   ' Set time base delay to 0.0.
   myScope.WriteString ":TIMebase:DELay 0.0"

See complete example programs at: Programming Examples


:TRIGger:DELay:TDELay:TIME

Obsolete and Discontinued Commands

Name

:TRIGger:DELay:TDELay:TIME —

Command Syntax

:TRIGger:DELay:TDELay:TIME <time_value>
<time_value> ::= time in seconds in NR3 format

The :TRIGger:DELay:TDELay:TIME command sets the delay time between the arming edge and the trigger edge in the Edge Then Edge trigger.

[Note]

This command is now mapped to :TRIGger:DELay:TDELay:TMIN.

[Note]

Entered delay times automatically adjust to the nearest valid increment of ~156.5 ps.

Query Syntax

:TRIGger:DELay:TDELay:TIME?

The :TRIGger:DELay:TDELay:TIME? query returns current delay time setting.

Return Format

<time value><NL>
<time_value> ::= time in seconds in NR3 format

See Also

  • Introduction to :TRIGger Commands

  • :TRIGger:DELay:TRIGger:SLOPe


Error Messages

-440, Query UNTERMINATED after indefinite response

-430, Query DEADLOCKED

-420, Query UNTERMINATED

-410, Query INTERRUPTED

-400, Query error

-340, Calibration failed

-330, Self-test failed

-321, Out of memory

-320, Storage fault

-315, Configuration memory lost

-314, Save/recall memory lost

-313, Calibration memory lost

-311, Memory error

-310, System error

-300, Device specific error

-278, Macro header not found

-277, Macro redefinition not allowed

-276, Macro recursion error

-273, Illegal macro label

-272, Macro execution error

-258, Media protected

-257, File name error

-256, File name not found

-255, Directory full

-254, Media full

-253, Corrupt media

-252, Missing media

-251, Missing mass storage

-250, Mass storage error

-241, Hardware missing

This message can occur when a feature is unavailable or unlicensed.

-240, Hardware error

-231, Data questionable

-230, Data corrupt or stale

-224, Illegal parameter value

-223, Too much data

-222, Data out of range

-221, Settings conflict

-220, Parameter error

-200, Execution error

-183, Invalid inside macro definition

-181, Invalid outside macro definition

-178, Expression data not allowed

-171, Invalid expression

-170, Expression error

-168, Block data not allowed

-161, Invalid block data

-158, String data not allowed

-151, Invalid string data

-150, String data error

-148, Character data not allowed

-138, Suffix not allowed

-134, Suffix too long

-131, Invalid suffix

-128, Numeric data not allowed

-124, Too many digits

-123, Exponent too large

-121, Invalid character in number

-120, Numeric data error

-114, Header suffix out of range

-113, Undefined header

-112, Program mnemonic too long

-109, Missing parameter

-108, Parameter not allowed

-105, GET not allowed

-104, Data type error

-103, Invalid separator

-102, Syntax error

-101, Invalid character

-100, Command error

+10, Software Fault Occurred

+100, File Exists

+101, End-Of-File Found

+102, Read Error

+103, Write Error

+104, Illegal Operation

+105, Print Canceled

+106, Print Initialization Failed

+107, Invalid Trace File

+108, Compression Error

+109, No Data For Operation

A remote operation wants some information, but there is no information available. For example, you may request a stored TIFF image using the :DISPlay:DATA? query, but there may be no image stored.

+112, Unknown File Type

+113, Directory Not Supported

+116, Probe Not Supported

This message occurs when using certain probe commands/queries with unsupported probes. For example, the :CHANnel<n>:PROBe:CALibration:VALidity? query is for PS000XA probes only and the :CHANnel<n>:PROBe:STATus? query is for PS000XA and N2893A probes only.


Status Reporting

Status Reporting Data Structures

Output Queue

Message Queue

Clearing Registers and Queues

Status Reporting Decision Chart

Example: Checking for Armed Status

Example: Waiting for IO Operation Complete

IEEE 488.2 defines data structures, commands, and common bit definitions for status reporting (for example, the Status Byte Register and the Standard Event Status Register). There are also instrument-defined structures and bits (for example, the Operation Status Register and the Overload Operation Register).

An overview of the oscilloscope's status reporting structure is shown in the following block diagram. The status reporting structure allows monitoring specified events in the oscilloscope. The ability to monitor and report these events allows determination of such things as 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 instrument.

  • To allow a service request (SRQ) interrupt to an external controller, enable at least one bit in the Status Byte Register (by setting, or unmasking, the bit in the Service Request Enable register).

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.

The bits in the status byte act as summary bits for the data structures residing behind them. In the case of queues, the summary bit is set if the queue is not empty. For status registers, the summary bit is set if an event in its Condition register, as defined by its Transition Filters, is latched into the Event register and the corresponding bit in its Enable register is set (see Introduction to :STATus Commands). Events latched to an Event register remain set until the register is queried or cleared. Registers are queried with their associated commands. The *CLS command clears all event registers and all queues except the output queue. If you send *CLS immediately after a program message terminator, the output queue is also cleared.

See Also

  • Service Request Enable Register

    • Status Byte Register

      • Trigger Event Register

      • User Event Register

      • Message Queue

      • Output Queue

      • Standard Event Status Register

      • Operation Status Register

        • Arm Event Register

        • Power Operation Register

        • Local Operation Register

        • Mask Test Operation Register

        • Overload Operation Register

          • Probe Fault Register

        • Hardware Operation Register


Status Reporting Data Structures

The status register bits are described in the following tables:

  • Service Request Enable Register (SRE) Bits — Summary message goes to Status Byte Register bit 6.

    • Status Byte Register (STB) Bits

      • Trigger Event Register Bits — Summary message goes to Status Byte Register bit 0 (TRG).

      • User Event Register Bits — Summary message goes to Status Byte Register bit 1 (USR).

      • Standard Event Status Register (ESR) — Summary message goes to Status Byte Register bit 5 (ESB).

      • Operation Status Register Bits — Summary message goes to Status Byte Register bit 7 (OPER).

        • Arm Event Register Bits — Summary message goes to Operation Status Register bit 5 (WAIT TRIG).

        • Power Operation Register Bits — Summary message goes to Operation Status Register bit 7 (Power).

        • Local Operation Register Bits — Summary message goes to Operation Status Register bit 8 (Lcl).

        • Mask Test Operation Register Bits — Summary message goes to Operation Status Register bit 9 (MTE).

        • Overload Operation Register Bits — Summary message goes to Operation Status Register bit 11 (OVLD).

          • Probe Fault Register Bits — Summary message goes to Overload Operation Register bit 12 (Channel Probe Fault Summary)

        • Hardware Operation Register Bits — Summary message goes to Operation Status Register bit 12 (HWE).

The status registers hierarchy above shows how the different status reporting data structures work together. To make it possible for any of the Standard Event Status Register bits to generate a summary bit, the bits must be enabled. 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 an external controller, at least one bit in the Status Byte Register must be enabled. 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.


Output Queue

The output queue stores the oscilloscope-to-controller responses that are generated by certain instrument 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.


Message Queue

The message queue contains the text of the last message written to the advisory line on the screen of the oscilloscope. The length of the oscilloscope's message queue is 1. Note that messages sent with the :SYSTem:DSP command do not set the MSG status bit in the Status Byte Register.


Clearing Registers and Queues

The *CLS common command clears all event registers and all queues except the output queue. If *CLS is sent immediately after a program message terminator, the output queue is also cleared.

See Also

  • *CLS (Clear Status)


Status Reporting Decision Chart


Example: Checking for Armed Status

#!python3
# -*- 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 InfiniiVision oscilloscope is
# armed.
# ********************************************************************

# Import modules
# --------------------------------------------------------------------
import sys
import pyvisa
import time

# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = "USB0::0x2A8D::0x4704::Unset::0::INSTR"
GLOBAL_TOUT =  20000   # IO timeout in milliseconds

# ====================================================================
# Method 1: Query the Armed Event Register with :AER?
# --------------------------------------------------------------------
# This method reads the 1-bit Armed Event Register using the :AER?
# query.
#
# The Armed Event Register bit goes low (0) when it is read using
# :AER? or when a *CLS command is issued.
# ====================================================================
def method_1():

    # Stop the oscilloscope.
    InfiniiVisionHD.query(":STOP;*OPC?")

    # Method 1: Initiate capture using :SINGle
    # ----------------------------------------------------------------
    print("Acquiring signal (Method 1, using :SINGle)...\n")
    now = time.perf_counter()

    # Clear all status registers before checking for new events.
    InfiniiVisionHD.write("*CLS")

    # Because the :AER? query will not work with :DIGitize (which is
    # blocking), use the :SINGle command to start the acquisition.
    InfiniiVisionHD.write(":SINGle")

    # Method 1: Determine if armed using :AER? query.
    # ----------------------------------------------------------------
    # Define armed criteria.
    ARMED = 1

    # Test for armed.
    ARMED_STATUS = int(InfiniiVisionHD.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(InfiniiVisionHD.query(":AER?"))

    print("Oscilloscope is armed (method 1, using :AER? query)!")
    print("It took " + str(time.perf_counter() - 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.
#
# CAUTION: The oscilloscope’s status registers are not updated until
# the :DIGitize completes.  So, while the ARM may go true midway
# through the :DIGitize, it does not get reported to the status model
# until the :DIGitize completes, and therefore the STB does not
# reflect it as true until the :DIGitize completes.
# ====================================================================
def method_2():

    # Stop the oscilloscope.
    InfiniiVisionHD.query(":STOP;*OPC?")

    # Method 2: Initiate capture using :DIGitize or :SINGle
    # ----------------------------------------------------------------
    print("Acquiring signal (Method 2, using :DIGitize)...\n")
    now = time.perf_counter()

    # Clear all status registers before checking for new events.
    InfiniiVisionHD.write("*CLS")

    # Mask out all bits in the Operation Status Event Register except
    # for the ARM bit.  "Unmask" only the arm bit.
    InfiniiVisionHD.write(":STATus:OPERation:ENABle 32")

    # Use the :DIGitize command to start the acquisition.
    InfiniiVisionHD.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 leftshift 7 = 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(InfiniiVisionHD.read_stb())
    ARMED_STATUS = STATUS_BYTE & ARM_MASK
    # Note that you could also do:
    #  ARMED_STATUS = int(InfiniiVisionHD.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(InfiniiVisionHD.read_stb())
        ARMED_STATUS = STATUS_BYTE & ARM_MASK

    print("Oscilloscope is armed (method 2, using Read STB function)!")
    print("It took " + str(time.perf_counter() - now) +\
          " seconds to arm.\n")

# ====================================================================
# Method 3: Query the Operation Status Event Register with
# :STATus:OPERation:EVENt?
# --------------------------------------------------------------------
# This method reads the Operation Status Event Register's Wait Trig
# bit (bit 5) using the :STATus:OPERation:EVENt? query.
#
# The Operation Status Event Register bits are cleared (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, by reading the
# Operation Status Event Register with the :STATus:OPERation:EVENt?
# query, or by reading the Armed Event Register register with the
# :AER? query.
# ====================================================================
def method_3():

    # Stop the oscilloscope.
    InfiniiVisionHD.query(":STOP;*OPC?")

    # Method 3: Initiate capture using :SINGle
    # ----------------------------------------------------------------
    print("Acquiring signal (Method 3, using :SINGle)...\n")
    now = time.perf_counter()

    # Clear all status registers before checking for new events.
    InfiniiVisionHD.write("*CLS")

    # Because the :STATus:OPERation:EVENt? query will not work with
    # :DIGitize (which is blocking), use the :SINGle command to
    # start the acquisition.
    InfiniiVisionHD.write(":SINGle")

    # Method 3: Determine if armed using :STATus:OPERation:EVENt?
    # query.
    # ----------------------------------------------------------------
    # Define bit masks for the Operation Status Event Register
    ARM_BIT = 5
    # 1 leftshift 5 = 32 (bit 5 in the Operation Status Event
    # Register)
    ARM_MASK = 1 << ARM_BIT

    # Define armed criteria.
    ARMED = 1 << ARM_BIT   # 1 leftshift 5 = 32

    # Test for armed.
    STATUS_REGISTER = \
        int(InfiniiVisionHD.query(":STATus:OPERation:EVENt?"))
    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(InfiniiVisionHD.query(":STATus:OPERation:EVENt?"))
       ARMED_STATUS = STATUS_REGISTER & ARM_MASK

    print("Oscilloscope is armed (method 3, using " +\
          ":STATus:OPERation:EVENt? query)!")
    print("It took " + str(time.perf_counter() - now) +\
          " seconds to arm.\n")

# ====================================================================
# Main
# ====================================================================

# Connect and initialize oscilloscope
# --------------------------------------------------------------------
# Define VISA Resource Manager & Install directory
rm = pyvisa.ResourceManager('C:\\Windows\\System32\\visa64.dll')

# Define and open the oscilloscope using the VISA address
InfiniiVisionHD = rm.open_resource(VISA_ADDRESS)

# Set the Global Timeout
InfiniiVisionHD.timeout = GLOBAL_TOUT

# Clear the instrument bus
InfiniiVisionHD.clear()

# Reset the oscilloscope.
InfiniiVisionHD.write("*RST")

# Autoscale to set up vertical scale and trigger level on Probe Comp.
InfiniiVisionHD.write(":CHANnel1:DISPlay OFF")
InfiniiVisionHD.write(":CHANnel2:DISPlay ON")
InfiniiVisionHD.write(":AUToscale:CHANnels DISPlayed")
InfiniiVisionHD.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
InfiniiVisionHD.write(":TIMebase:RANGe 10")
# Prevent Auto trigger.
InfiniiVisionHD.write(":TRIGger:SWEep NORMal")

# Use the three methods to check whether the oscilloscope is armed.
# --------------------------------------------------------------------
method_1()
method_2()
method_3()

# End of Script
# --------------------------------------------------------------------
InfiniiVisionHD.clear()   # Clear communications interface
InfiniiVisionHD.close()   # Close communications interface
print("All done.")


Example: Waiting for IO Operation Complete

[Note]

The IOC (IO Operation Complete) and IOF (IO Operation Failed) bits in the Operation Status Event Register identify when :WMEMory<r>:SAVE and other :SAVE and :RECall commands are completely done. To determine when a IO operation is complete, you should use these bits instead of the OPC (Operation Complete) bit in the Standard Event Status Register or the *OPC? query.

#!python3
# -*- coding: utf-8 -*-

# ********************************************************************
# This script using the Python language (http://www.python.org/) and
# the PyVISA package (http://pyvisa.readthedocs.org/) shows how to
# wait for IO operation completion in a Keysight InfiniiVision
# oscilloscope.
# ********************************************************************

# Import modules
# --------------------------------------------------------------------
import sys
import pyvisa
import time

# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = "USB0::0x2A8D::0x4704::Unset::0::INSTR"
GLOBAL_TOUT =  20000   # IO timeout in milliseconds

# ====================================================================
# Check for IO Operation Complete using :STATus:OPERation:EVENt? query.
# --------------------------------------------------------------------
# This method reads the Operation Status Register's IOC bit
# (bit 13) using the :STATus:OPERation:EVENt? query.
#
# The Operation Status Event Register bits are cleared (0) when the
# register is read.
#
# All status bits are cleared by a *CLS command.
# ====================================================================
def wait_io_operation():

    # ----------------------------------------------------------------
    now = time.perf_counter()
    # Define bit masks for the Operation Status Event Register
    IOC_BIT = 13
    # 1 leftshift 13 = 8192 (bit 13 in the Operation Status Event
    # Register)
    IOC_MASK = 1 << IOC_BIT

    # Define IO complete criteria.
    IO_COMPLETE = 1 << IOC_BIT   # 1 leftshift 13 = 8192

    # Test for armed.
    STATUS_REGISTER = \
        int(InfiniiVisionHD.query(":STATus:OPERation:EVENt?"))
    IO_COMPLETE_STATUS = STATUS_REGISTER & IOC_MASK

    # Wait indefinitely until armed.
    while IO_COMPLETE_STATUS != IO_COMPLETE:
       # Check the status again after small delay.
       time.sleep(0.1)   # 100 ms delay to prevent excessive queries.
       STATUS_REGISTER = \
        int(InfiniiVisionHD.query(":STATus:OPERation:EVENt?"))
       IO_COMPLETE_STATUS = STATUS_REGISTER & IOC_MASK

    time_in_seconds = str(time.perf_counter() - now)
    print("IO Operation Complete (from :STATus:OPERation:EVENt? query).")
    print("It took %s seconds for IO operation to complete.\n" % \
          time_in_seconds)

# ====================================================================
# Main
# ====================================================================

# Connect and initialize oscilloscope
# --------------------------------------------------------------------
# Define VISA Resource Manager & Install directory
rm = pyvisa.ResourceManager('C:\\Windows\\System32\\visa64.dll')

# Define and open the oscilloscope using the VISA address
InfiniiVisionHD = rm.open_resource(VISA_ADDRESS)

# Set the Global Timeout
InfiniiVisionHD.timeout = GLOBAL_TOUT

# Clear the instrument bus
InfiniiVisionHD.clear()

# Reset the oscilloscope.
# InfiniiVisionHD.write("*RST")
# Or comment out to use the current oscilloscope setup.

# Autoscale to set up vertical scale and trigger level on channels 1 and 2.
InfiniiVisionHD.write(":CHANnel1:DISPlay ON")
InfiniiVisionHD.write(":CHANnel2:DISPlay ON")
InfiniiVisionHD.write(":AUToscale:CHANnels DISPlayed")
InfiniiVisionHD.write(":AUToscale")

# Between :WMEMory<r>:SAVE commands, wait for IO complete.
# --------------------------------------------------------------------
# Clear all status registers before checking for new events.
InfiniiVisionHD.write("*CLS")

InfiniiVisionHD.write(":WMEMory1:SAVE CHANnel1")
wait_io_operation()
InfiniiVisionHD.write(":WMEMory2:SAVE CHANnel2")
wait_io_operation()

# End of Script
# --------------------------------------------------------------------
InfiniiVisionHD.clear()   # Clear communications interface
InfiniiVisionHD.close()   # Close communications interface
print("All done.")


Synchronizing Acquisitions

Synchronization in the Programming Flow

Blocking Synchronization

Polling Synchronization With Timeout

Synchronizing with a Single-Shot Device Under Test (DUT)

Synchronization with an Averaging Acquisition

Example: Blocking and Polling Synchronization

When remotely controlling an oscilloscope with programming commands, it is often necessary to know when the oscilloscope has finished the previous operation and is ready for the next command. The most common example is when an acquisition is started using the :DIGitize, :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.


Synchronization in the Programming Flow

Most remote programming follows these three general steps:

  1. Set up the oscilloscope and device under test.

  2. Acquire a waveform.

  3. Retrieve results.


Set Up the Oscilloscope

Before making changes to the oscilloscope setup, it is best to make sure it is stopped using the :STOP command followed by the *OPC? query.

[Note]

It is not necessary to use *OPC?, hard coded waits, or status checking when setting up the oscilloscope. After the oscilloscope is configured, it is ready for an acquisition.


Acquire a Waveform

When acquiring a waveform there are two possible methods used to wait for the acquisition to complete. These methods are blocking and polling. The table below details when each method should be chosen and why.

 | Blocking Wait | Polling Wait
Use When | You know the oscilloscope will trigger based on the oscilloscope setup and device under test. | You know the oscilloscope may or may not trigger on the oscilloscope setup and device under test.
Advantages | No need for polling. Fastest 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. Requires polling loop. Requires known maximum wait time.
Implementation Details | See Blocking Synchronization. | See Polling Synchronization With Timeout.


Retrieve Results

Once the acquisition is complete, it is safe to retrieve measurements and statistics.


Blocking Synchronization

Use the :DIGitize command to start the acquisition. This blocks subsequent queries until the acquisition and processing is complete. For example:

'
' Synchronizing acquisition using blocking.
' ===================================================================

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 10000   ' Set I/O communication timeout.

  ' Set up.
  ' -----------------------------------------------------------------
  myScope.WriteString ":TRIGger:MODE EDGE"
  myScope.WriteString ":TRIGger:EDGE:LEVel 2"
  myScope.WriteString ":TIMebase:SCALe 5e-8"

  ' Acquire.
  ' -----------------------------------------------------------------
  myScope.WriteString ":DIGitize"

  ' Get results.
  ' -----------------------------------------------------------------
  myScope.WriteString ":MEASure:RISetime"
  myScope.WriteString ":MEASure:RISetime?"
  varQueryResult = myScope.ReadNumber   ' Read risetime.
  Debug.Print "Risetime: " + _
      FormatNumber(varQueryResult * 1000000000, 1) + " ns"

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub


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:

'
' Synchronizing acquisition using polling.
' ===================================================================

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 60000   ' Set I/O communication timeout.

  ' Set up.
  ' -----------------------------------------------------------------
  ' Set up the trigger and horizontal scale.
  myScope.WriteString ":TRIGger:MODE EDGE"
  myScope.WriteString ":TRIGger:EDGE:LEVel 2"
  myScope.WriteString ":TIMebase:SCALe 5e-8"
  myScope.WriteString ":TRIGger:SWEep NORMal"

  ' Stop acquisitions and wait for the operation to complete.
  myScope.WriteString ":STOP"
  myScope.WriteString "*OPC?"
  strQueryResult = myScope.ReadString
  myScope.WriteString ":DISPlay:CLEar"

  ' Acquire.
  ' -----------------------------------------------------------------
  ' Start a single acquisition.
  myScope.WriteString ":SINGle"

  ' Oscilloscope is armed and ready, enable DUT here.
  Debug.Print "Oscilloscope is armed and ready, enable DUT."

  ' Look for RUN bit = stopped (acquisition complete).
  Dim lngTimeout As Long   ' Max millisecs to wait for single-shot.
  Dim lngElapsed As Long
  lngTimeout = 20000   ' 20 seconds.
  lngElapsed = 0

  Do While lngElapsed <= lngTimeout
    myScope.WriteString ":STATus:OPERation:CONDition?"
    varQueryResult = myScope.ReadNumber
    ' Mask RUN bit (bit 3, &H8).
    If (varQueryResult And &H8) = 0 Then
      Exit Do
    Else
      Sleep 100   ' Small wait to prevent excessive queries.
      lngElapsed = lngElapsed + 100
    End If
  Loop

  ' Get results.
  ' -----------------------------------------------------------------
  If lngElapsed < lngTimeout Then
    myScope.WriteString ":MEASure:RISetime"
    myScope.WriteString ":MEASure:RISetime?"
    varQueryResult = myScope.ReadNumber   ' Read risetime.
    Debug.Print "Risetime: " + _
        FormatNumber(varQueryResult * 1000000000, 1) + " ns"
  Else
    Debug.Print "Timeout waiting for single-shot trigger."
  End If

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub


Synchronizing with a Single-Shot Device Under Test (DUT)

The examples in Blocking Synchronization and Polling Synchronization With Timeout assume 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.

[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.

This example is the same Polling Synchronization With Timeout with the addition of checking for the armed event status.

'
' Synchronizing single-shot acquisition using polling.
' ===================================================================

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 60000   ' Set I/O communication timeout.

  ' Set up.
  ' -----------------------------------------------------------------
  ' Set up the trigger and horizontal scale.
  myScope.WriteString ":TRIGger:MODE EDGE"
  myScope.WriteString ":TRIGger:EDGE:LEVel 2"
  myScope.WriteString ":TIMebase:SCALe 5e-8"
  myScope.WriteString ":TRIGger:SWEep NORMal"

  ' Stop acquisitions and wait for the operation to complete.
  myScope.WriteString ":STOP"
  myScope.WriteString "*OPC?"
  strQueryResult = myScope.ReadString
  myScope.WriteString ":DISPlay:CLEar"

  ' Acquire.
  ' -----------------------------------------------------------------
  ' Start a single acquisition.
  myScope.WriteString ":SINGle"

  ' Wait until the trigger system is armed.
  Do
    Sleep 100   ' Small wait to prevent excessive queries.
    myScope.WriteString ":AER?"
    varQueryResult = myScope.ReadNumber
  Loop Until varQueryResult = 1

  ' Oscilloscope is armed and ready, enable DUT here.
  Debug.Print "Oscilloscope is armed and ready, enable DUT."

  ' Now, look for RUN bit = stopped (acquisition complete).
  Dim lngTimeout As Long   ' Max millisecs to wait for single-shot.
  Dim lngElapsed As Long
  lngTimeout = 20000   ' 20 seconds.
  lngElapsed = 0

  Do While lngElapsed <= lngTimeout
    myScope.WriteString ":STATus:OPERation:CONDition?"
    varQueryResult = myScope.ReadNumber
    ' Mask RUN bit (bit 3, &H8).
    If (varQueryResult And &H8) = 0 Then
      Exit Do
    Else
      Sleep 100   ' Small wait to prevent excessive queries.
      lngElapsed = lngElapsed + 100
    End If
  Loop

  ' Get results.
  ' -----------------------------------------------------------------
  If lngElapsed < lngTimeout Then
    myScope.WriteString ":MEASure:RISetime"
    myScope.WriteString ":MEASure:RISetime?"
    varQueryResult = myScope.ReadNumber   ' Read risetime.
    Debug.Print "Risetime: " + _
        FormatNumber(varQueryResult * 1000000000, 1) + " ns"
  Else
    Debug.Print "Timeout waiting for single-shot trigger."
  End If

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub


Synchronization with an Averaging Acquisition

When averaging, it is necessary to know when the average count has been reached. The :SINGle command does not average.

If it is known that a trigger will occur, a :DIGitize will acquire the complete number of averages, but if the number of averages is large, a timeout on the connection can occur.

The example below polls during the :DIGitize to prevent a timeout on the connection.

'
' Synchronizing in averaging acquisition mode.
' ===================================================================

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 5000

  ' Set up.
  ' -----------------------------------------------------------------
  ' Set up the trigger and horizontal scale.
  myScope.WriteString ":TRIGger:SWEep NORMal"
  myScope.WriteString ":TRIGger:MODE EDGE"
  myScope.WriteString ":TRIGger:EDGE:LEVel 2"
  myScope.WriteString ":TIMebase:SCALe 5e-8"

  ' Stop acquisitions and wait for the operation to complete.
  myScope.WriteString ":STOP"
  myScope.WriteString "*OPC?"
  strQueryResult = myScope.ReadString

  ' Set up average acquisition mode.
  Dim lngAverages As Long
  lngAverages = 256
  myScope.WriteString ":ACQuire:COUNt " + CStr(lngAverages)
  myScope.WriteString ":ACQuire:TYPE AVERage"

  ' Save *ESE (Standard Event Status Enable register) mask
  ' (so it can be restored later).
  Dim varInitialESE As Variant
  myScope.WriteString "*ESE?"
  varInitialESE = myScope.ReadNumber

  ' Set *ESE mask to allow only OPC (Operation Complete) bit.
  myScope.WriteString "*ESE " + CStr(CInt("&H01"))

  ' Acquire using :DIGitize.  Set up OPC bit to be set when the
  ' operation is complete.
  ' -----------------------------------------------------------------
  myScope.WriteString ":DIGitize"
  myScope.WriteString "*OPC"

  ' Assume the oscilloscope will trigger, if not put a check here.

  ' Wait until OPC becomes true (bit 5 of Status Byte register, STB,
  ' from Standard Event Status register, ESR, is set).  STB can be
  ' read during :DIGitize without generating a timeout.
  Do
    Sleep 4000   ' Poll more often than the timeout setting.
    varQueryResult = myScope.IO.ReadSTB
  Loop While (varQueryResult And &H20) = 0

  ' Clear ESR and restore previously saved *ESE mask.
  myScope.WriteString "*ESR?"   ' Clear ESR by reading it.
  varQueryResult = myScope.ReadNumber
  myScope.WriteString "*ESE " + CStr(varInitialESE)

  ' Get results.
  ' -----------------------------------------------------------------
  myScope.WriteString ":WAVeform:COUNt?"
  varQueryResult = myScope.ReadNumber
  Debug.Print "Averaged waveforms: " + CStr(varQueryResult)

  myScope.WriteString ":MEASure:RISetime"
  myScope.WriteString ":MEASure:RISetime?"
  varQueryResult = myScope.ReadNumber   ' Read risetime.
  Debug.Print "Risetime: " + _
      FormatNumber(varQueryResult * 1000000000, 1) + " ns"

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description

End Sub


Example: Blocking and Polling Synchronization

#!python3
# -*- 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 InfiniiVision 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 pyvisa
import time

# Initialization constants
# --------------------------------------------------------------------
# Get VISA address from Keysight IO Libraries Connection Expert
VISA_ADDRESS = \
    "USB0::0x2A8D::0x4704::Unset::0::INSTR"
GLOBAL_TOUT =  10000   # IO timeout in milliseconds

TIME_TO_TRIGGER = 10   # Time in seconds
# --------------------------------------------------------------------
# This is the time until the FIRST trigger event.
#
# While the script calculates a general timeout 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.
#
# 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.
# --------------------------------------------------------------------

# ====================================================================
# Define a simple and fast function utilizing the blocking :DIGitize
# command in conjunction with *OPC?.
# --------------------------------------------------------------------
#
# Benefits of this method:
#
#   -  Fastest, compact
#   -  Only way for Average Acquisition type:
#         -  The :SINGle command does not do a complete average.
#         -  Counting triggers with :RUN is much too slow.
#   -  Allows for easy synchronization with math functions
#   -  Don't have to deal with the status registers, which can be
#      confusing.
#   -  Potentially faster than polling_method(), for better throughput
#   -  Because it's faster, one can retrieve more accurate acquisition
#      times than with a polling method.
#   -  Works best for segmented memory if any post processing is done
#      on the oscilloscope, for example, measurements, lister, math,
#      as this does not come back until the processing is all done
#         -  In this scenario, :DIGitize does not reduce the sample
#            rate or memory depth.
#
# Drawbacks of this method:
#
#   -  Usually does not fill acquisition memory to the maximum
#      available, usually only on-screen data.
#
#   -  May not be at the highest sample rate (compared with the
#      polling_method).
#
#   -  Requires a well-chosen, hard-set timeout that will cover the
#      time to arm, trigger, and finish acquisition.
#
#   -  Requires Exception handling and a device_clear() for a
#      possible timeout (no trigger event).
#
#   -  Socket connection cannot do device_clear()
#
#   -  Because :DIGitize is a "specialized form of the :RUN" command,
#      on these oscilloscopes, that results in:
#
#         -  the sample rate MAY be reduced from using :SINGle -
#            usually at longer time scales - typically only acquires
#            what is on screen, though at the fastest time scales,
#            more than on screen data may be acquired.  Thus, for max
#            memory and max sample rate, use the polling_method(),
#            which uses :SINGle.
#
# How it works:
#
#   -  The :DIGitize command is a blocking command, and thus, all
#      other SCPI commands are blocked until :DIGitize is completely
#      done.  This includes any subsequent processing that is already
#      set up, such as math and 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:
#
#         InfiniiVisionHD.write(":DIGitize")
#         print("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
#      this case:
#
#         query_result = InfiniiVisionHD.query(":DIGitize;*OPC?")
#         print("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 should set a
#      very long timeout.
#
#   -  The timeout should be adjusted before and after the :DIGitize
#      operation, though this is not absolutely required.
#
#   -  A :DIGitize can be aborted with a device clear, which also
#      stops the oscilloscope:
#      InfiniiVisionHD.clear()
#
#   -  :DIGItize disables the anti-aliasing feature (sample rate
#      dither) on all InfiniiVision and InfiniiVision X-Series
#      oscilloscopes.
#
#   -  :DIGitize temporarily blocks the front panel, and all front
#      panel presses are queued until :DIGitize is done.  So if you
#      change the vertical scale, it will not happen until the
#      acquisition is done.
#
#      The exception is that the Run/Stop button on the front panel
#      is NOT blocked (unless the front panel is otherwise locked by
#      ":SYSTem:LOCK ON").
# ====================================================================
def blocking_method():

    InfiniiVisionHD.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,
    # InfiniiVisionHD.
    #
    # 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.

    print("Acquiring signal(s)...")
    # Set up a try/except block to catch a possible timeout and exit.
    try:
        InfiniiVisionHD.query(":DIGitize;*OPC?")
        # Acquire the signal(s) with :DIGItize (blocking) and wait
        # until *OPC? comes back with a one.
        print("Signal acquired.")

        # Reset timeout back to what it was, GLOBAL_TOUT.
        InfiniiVisionHD.timeout =  GLOBAL_TOUT

    # 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")
        InfiniiVisionHD.clear() # Clear communications interface;
                                 # A device clear also aborts digitize.
        InfiniiVisionHD.close() # Close communications interface
        sys.exit("Exiting script.")

# ====================================================================
# Define a function using the non-blocking :SINGle command and polling
# on the Operation Status Condition Register
# --------------------------------------------------------------------
#
# Benefits of this method:
#
#  -  Don't have to worry about interface timeouts.
#  -  Easy to expand to know when the oscilloscope is armed.
#  -  Don't have to worry about interface timeouts
#  -  Easy to expand to know when scope is armed, and triggered
#  -  MAY result in a higher sample rate than the blocking method
#  -  Always fills max available memory
#  -  Can use with a socket connection if desired
#
#
# Drawbacks of this method:
#
#  -  Slow, as you don't want to poll the oscilloscope too fast.
#
#  -  DOES NOT work for Equivalent time mode.  MUST use the blocking
#     method.
#
#  -  Slow
#
#  -  Does NOT work for Average Acquisition type
#       -  :SINGle does not do a complete average
#            -  It does a single acquisition as if it were in NORMal
#               acq. type
#            -  Counting triggers in :RUN is much too slow
#
#  -  Works for Segmented Memory, BUT if any post processing is done
#     on the oscilloscope, for example measurements, lister, math, as
#     this reports that the acquisition is done, which is correct,
#     BUT the processing is NOT done, and it will take an indefinite
#     amount of time to wait for that, though there is no way to tell
#     if it is done.  Use the blocking_method for Segmented Memory.
#
#  -  Can't be used effectively for synchronizing math functions
#
#     It can be done by applying an additional hard coded wait after
#     the acquisition is done.  At least 200 ms is suggested, more
#     may be required.
#
#     However, as long as the timeout is not excessively short, the
#     math happens fast enough that once :STATus:OPERation:CONDition?
#     comes back as done that one can just wait for it when it is
#     time to pull the math waveform.
#
#  -  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
#
#     Max timeout (here MAX_TIME_TO_WAIT) must also account for any
#     processing done (see comments on math above)
#
#     Max timeout (here MAX_TIME_TO_WAIT) must also account for time
#     to arm the scope and finish the acquisition
#
#     This arm/trigger/finish part is accounted for in the main script.
#
# How it works:
#
#  -  What really matters is the RUN bit in the Operation Condition
#     (not Event) Register.  This bit changes based on the
#     oscilloscope state.
#
#     If the oscilloscope is running, it is high (8), and low (0) if
#     it is stopped.
#
#     The only (best) way to get at this bit is with the
#     :STATus:OPERation:CONDition? query.  The Operation Condition Register
#     can reflect states for other oscilloscope properties, for
#     example, if the oscilloscope is armed, thus it can produce
#     values other than 0 (stopped) or 8 (running).
#
#     To handle that, the result of :STATus:OPERation:CONDition? is bitwise
#     ANDed (& in Python) with an 8.  This is called "unmasking".
#
#     Here, the "unmasking" is done in the script.  On the other
#     hand, it is possible to "mask" which bits get passed to the
#     summary bit to the next register below on the instrument
#     itself.  However, this method it typically only used when
#     working with the Status Byte, and not used here.
#
#  -  Why 8 = running = not done?
#
#     The Run bit is the 4th bit of the Operation Status Condition
#     (and Event) Registers.
#
#     The registers are binary and start counting at zero, thus the
#     4th bit is bit number 3, and 2^3 = 8, and thus it returns an
#     8 for high and a 0 for low.
#
#  -  Why the CONDITION and NOT the EVENT register?
#
#     The Condition register reflects the CURRENT state, while the
#     EVENT register reflects the first event that occurred since it
#     was cleared or read (as in: has it EVER happened?), thus the
#     CONDITION register is used.
#
#     Note that with this method using :SINGle, for InfiniiVision
#     X-Series oscilloscopes only, :SINGle itself forces the trigger
#     sweep mode into NORMal.  This does not happen with the blocking
#     method, using :DIGitize, or on the InfiniiVision notXs.
# ====================================================================
def polling_method():

    MAX_TIME_TO_WAIT = SCOPE_ACQUISITION_TIME_OUT/float(1000)
    # Time in seconds to wait for the oscilloscope to arm, trigger,
    # and finish acquisition.
    #
    # Note that this is NOT a property of the device interface,
    # InfiniiVisionHD, but rather some constant in the script to be
    # used later with the Python module "time", and will be used with
    # time.perf_counter().

    # Define "mask" bits.
    #
    # Mask condition for Run state in the Operation Status Condition
    # (and Event) Register.
    #
    # Refer to Programmer's Guide chapters on Status Reporting and
    # Synchronizing Acquisitions.
    RUN_BIT = 3
    # The run bit is the 4th bit (see next set of comments @
    # Completion Criteria).
    RUN_MASK = 1<<RUN_BIT
    # This basically means:  2^3 = 8, or rather, in Python 2**3
    # (<< is a left shift; left shift is fastest); this is used later
    # to "unmask" the result of the Operation Status Event Register
    # as there is no direct access to the RUN bit.

    # Define completion criterion:
    ACQ_DONE = 0
    # Means the oscilloscope is stopped
    ACQ_NOT_DONE = 1<<RUN_BIT
    # Means the oscilloscope is running; value is 8.  This is the
    # 4th bit of the Operation Status Condition (and Event) Register.
    # The registers are binary and start counting at zero, thus the
    # 4th bit (4th position in a binary representation of decimal
    # 8 = 2^3 = (1 left shift 3).  This is either High (running = 8)
    # or low (stopped and therefore done with acquisition = 0).

    print("Acquiring signal(s)...")

    # Define acquisition start time.  This is in seconds.
    StartTime = time.perf_counter()

    # Begin Acquisition with *CLS and the non-blocking :SINGle
    # command, concatenated together. The *CLS clears all (non-mask)
    # registers & sets them to 0;
    InfiniiVisionHD.write("*CLS;:SINGle")

    # Initialize the loop entry condition (assume Acq. is not done).
    Acq_State = ACQ_NOT_DONE

    # Poll the oscilloscope until Acq_State is a one. (This is NOT a
    # "Serial Poll.")
    while Acq_State == ACQ_NOT_DONE and (time.perf_counter() - StartTime
                                             <= MAX_TIME_TO_WAIT):

        # Ask oscilloscope if it is done with the acquisition via the
        # Operation Status Condition (not Event) Register.
        # The Condition register reflects the CURRENT state, while
        # the EVENT register reflects the first event that occurred
        # since it was cleared or read, thus the CONDITION register
        # is used.
        #
        # DO NOT do:
        # InfiniiVisionHD.query("*CLS;SINGle;STATus:OPERation:CONDition?")
        # as putting :STATus:OPERation:CONDition? right after :SINgle
        # doesn't work reliably
        #
        # The oscilloscope SHOULD trigger, but it sits there with the
        # Single hard key on the oscilloscope lit yellow; pressing
        # this key causes a trigger.
        Status = int(InfiniiVisionHD.query(":STATus:OPERation:CONDition?"))

        # Bitwise AND of the Status and RUN_MASK.  This exposes ONLY
        # the 4th bit, which is either High (running = 8) or low
        # (stopped and therefore done with acquisition = 0)
        Acq_State = (Status & RUN_MASK)
        if Acq_State == ACQ_DONE:
            break # Break out of while loop so that the 100 ms pause
            # below is not incurred if done.
        time.sleep(0.1)   # Pause 100 ms to prevent excessive queries
        # This can actually be set a little faster, at 0.045.  The
        # point here is that:
        #
        #   1.  If there are other things being controlled, going too
        #       fast can tie up the bus.
        #   2.  Going faster does not work on all scopes.  The
        #       symptom of this not working is:
        #
        # The oscilloscope SHOULD trigger, but it sits there with the
        # Single hard key on the oscilloscope lit yellow; pressing
        # this key causes a trigger.
        #
        # The pause should be at the end of the loop, so that the
        # oscilloscope is immediately asked if it is done.
        #
        # Loop exits when Acq_State != NOT_DONE, that is, it exits
        # the loop when it is DONE or if the max wait time is
        # exceeded.

    if Acq_State == ACQ_DONE: # Acquisition fully completed
        print("Signal acquired.")
    else: # Acquisition failed for some reason
        print("Max wait time exceeded.")
        print("This happens if there was no trigger event.")
        print("Adjust settings accordingly.\n")
        print("Properly closing oscilloscope connection and exiting " \
              "script.\n")
        InfiniiVisionHD.clear() # Clear communications interface
        InfiniiVisionHD.query(":STOP;*OPC?")
        # Stop the oscilloscope
        InfiniiVisionHD.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(InfiniiVisionHD.query("MEASure:VPP? CHANnel1")).strip("\n")
    # The result has a newline, so remove it with .strip("\n")
    print("Vpp Ch1 = " + Vpp_Ch1 + " V\n")

# ====================================================================
# Main code
# ====================================================================

# Connect and initialize oscilloscope
# --------------------------------------------------------------------
# Define VISA Resource Manager & Install directory
rm = pyvisa.ResourceManager('C:\\Windows\\System32\\visa64.dll')

# Define and open the oscilloscope using the VISA address
try:
    InfiniiVisionHD = rm.open_resource(VISA_ADDRESS)
except Exception:
    print("Unable to connect to oscilloscope at " + str(VISA_ADDRESS)\
          + ". Aborting script.\n")
    sys.exit()

# Set the Global Timeout
InfiniiVisionHD.timeout = GLOBAL_TOUT

# Clear the instrument bus
InfiniiVisionHD.clear()

# Clear all status registers and errors
InfiniiVisionHD.write("*CLS")

try:

    # 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.
    # InfiniiVisionHD.query("*RST;*OPC?")   # Resets the oscilloscope

    # Always stop the oscilloscope when making any changes.
    InfiniiVisionHD.query(":STOP;*OPC?")

    # Always use normal trigger sweep, never auto.
    InfiniiVisionHD.write(":TRIGger:SWEep NORMal")

    # For this example, the oscilloscope will trigger on CHANnel1.
    # You can use the Probe Comp input signal.
    InfiniiVisionHD.query(":TRIGger:EDGE:SOURce CHANnel1;*OPC?")

    # Clear the display (so you can see the waveform being acquired -
    # otherwise, there is no need for this).
    InfiniiVisionHD.write(":DISPlay:CLEar")

    # Calculate acquisition timeout/wait time by short, overestimate
    # method
    # ----------------------------------------------------------------

    # Create some default variables
    N_AVERAGES = 1
    N_SEGMENTS = 1

    # Get some info about the scope time base setup
    HO         = float(InfiniiVisionHD.query(":TRIGger:HOLDoff?"))
    T_RANGE    = float(InfiniiVisionHD.query(":TIMebase:RANGe?"))
    T_POSITION = float(InfiniiVisionHD.query(":TIMebase:POSition?"))

    # Determine Acquisition Type and Mode:
    ACQ_TYPE = str(InfiniiVisionHD.query(":ACQuire:TYPE?").strip("\n"))
    ACQ_MODE = str(InfiniiVisionHD.query(":ACQuire:MODE?").strip("\n"))

    if ACQ_MODE == "SEGM":
        N_SEGMENTS = \
            float(InfiniiVisionHD.query(":ACQuire:SEGMented:COUNt?"))
        # Note that if there are a lot of analysis associated segments,
        # for example, serial data decode, the timeout will likely need
        # to be longer than calculated.
        #
        # You are encouraged to manually set up the oscilloscope in
        # this case, as it will be used, time it, and use that, with
        # a little overhead.
        #
        # Blocking method is recommended for Segmented Memory mode.
    elif ACQ_TYPE == "AVER":
        N_AVERAGES = float(InfiniiVisionHD.query(":ACQuire:COUNt?"))

    # Calculate acquisition timeout by overestimate method:
    # Recall that PyVISA timeouts are in ms, so multiply by 1000.
    SCOPE_ACQUISITION_TIME_OUT = (float(TIME_TO_TRIGGER)*1.1 +
        (T_RANGE*2.0 + abs(T_POSITION)*2.0 + HO*1.1 +
        float(TIME_BETWEEN_TRIGGERS)*1.1)*N_SEGMENTS*N_AVERAGES)*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()
    # If Acquisition Type is Average, always use blocking_method() to
    # get complete average.
    do_something_with_data()

    polling_method()
    do_something_with_data()

    # Done - cleanup
    InfiniiVisionHD.clear() # Clear communications interface
    InfiniiVisionHD.close() # Close communications interface
except KeyboardInterrupt:
    InfiniiVisionHD.clear()
    InfiniiVisionHD.query(":STOP;*OPC?")
    InfiniiVisionHD.write(":SYSTem:LOCK OFF")
    InfiniiVisionHD.clear()
    InfiniiVisionHD.close()
    sys.exit("User Interupt.  Properly closing oscilloscope and "
             "aborting script.")
except Exception:
    InfiniiVisionHD.clear()
    InfiniiVisionHD.query(":STOP;*OPC?")
    InfiniiVisionHD.write(":SYSTem:LOCK OFF")
    InfiniiVisionHD.clear()
    InfiniiVisionHD.close()
    sys.exit("Something went wrong.  Properly closing oscilloscope "
             "and aborting script.")

# End of Script
# --------------------------------------------------------------------
print("Done.")


More About Oscilloscope Commands

Command Classifications

Valid Command/Query Strings

Query Return Values


Command Classifications

To help you use existing programs with your oscilloscope, or use current programs with the next generation of Keysight InfiniiVision oscilloscopes, commands are classified by the following categories:

  • Core Commands

  • Non-Core Commands

  • Obsolete Commands


Core Commands

Core commands are a common set of commands that provide basic oscilloscope functionality on this oscilloscope and future Keysight InfiniiVision oscilloscopes. Core commands are unlikely to be modified in the future. If you restrict your programs to core commands, the programs should work across product offerings in the future, assuming appropriate programming methods are employed.


Non-Core Commands

Non-core commands are commands that provide specific features, but are not universal across all Keysight InfiniiVision oscilloscope models. Non-core commands may be modified or deleted in the future. With a command structure as complex as the one for your oscilloscope, some evolution over time is inevitable. Keysight's intent is to continue to expand command subsystems, such as the rich and evolving trigger feature set.


Obsolete Commands

Obsolete commands are older forms of commands that are provided to reduce customer rework for existing systems and programs. Generally, these commands are mapped onto some of the Core and Non-core commands, but may not strictly have the same behavior as the new command. None of the obsolete commands are guaranteed to remain functional in future products. New systems and programs should use the Core (and Non-core) commands. Obsolete commands are listed in:

  • Obsolete and Discontinued Commands


Valid Command/Query Strings

  • Program Message Syntax

  • Duplicate Mnemonics

  • Tree Traversal Rules and Multiple Commands


Program Message Syntax

To program the instrument remotely, you must understand the command format and structure expected by the instrument. The IEEE 488.2 syntax rules govern how individual elements such as headers, separators, program data, and terminators may be grouped together to form complete instructions. Syntax definitions are also given to show how query responses are formatted. The following figure shows the main syntactical parts of a typical program statement.

Instructions (both commands and queries) normally appear as a string embedded in a statement of your host language, such as Visual Basic or C/C++. 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 <learn string>. There are only a few instructions that use block data.

Program messages can have long or short form commands (and data in some cases — see Long Form to Short Form Truncation Rules), and upper and/or lower case ASCII characters may be used. (Query responses, however, are always returned in upper case.)

Instructions are composed of two main parts:

  • The header, which specifies the command or query to be sent.

  • The program data, which provide additional information needed to clarify the meaning of the instruction.

Instruction Header

The instruction header is one or more mnemonics separated by colons (:) that represent the operation to be performed by the instrument.

":DISPlay:LABel ON" is a command. Queries are indicated by adding a question mark (?) to the end of the header, for example, ":DISPlay:LABel?". Many instructions can be used as either commands or queries, depending on whether or not you have included the question mark. The command and query forms of an instruction usually have different program data. Many queries do not use any program data.

There are three types of headers:

  • Simple Command Headers

  • Compound Command Headers

  • Common Command Headers

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. White space is defined as one or more space characters. ASCII defines a space to be character 32 (in decimal).

Program Data

Program data are used to clarify the meaning of the command or query. They provide 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, as well as the values they accept. Program Data Syntax Rules describes all of the general rules about acceptable values.

When there is more than one data parameter, they are separated by commas(,). Spaces can be added around the commas to improve readability.

Program Message Units

Within a program message, there can be multiple program message units separated by semicolons (;). Each program message unit represents a separate command or query. See Multiple Program Message Units.

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 programming 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. The NL (New Line) terminator has the same function as an EOS (End Of String) and EOT (End Of Text) terminator.


Long Form to Short Form Truncation Rules

To get the short form of a command/keyword:

  • When the command/keyword is longer than four characters, use the first four characters of the command/keyword unless the fourth character is a vowel; when the fourth character is a vowel, use the first three characters of the command/keyword.

  • When the command/keyword is four or fewer characters, use all of the characters.

Long Form | Short form
RANGe | RANG
PATTern | PATT
TIMebase | TIM
DELay | DEL
TYPE | TYPE

In the oscilloscope programmer's documentation, the short form of a command is indicated by uppercase characters.

Programs written in long form are easily read and are almost self-documenting. The short form syntax conserves the amount of controller memory needed for program storage and reduces I/O activity.


Simple Command Headers

Simple command headers contain a single mnemonic. :AUToscale and :DIGitize are examples of simple command headers typically used in the oscilloscope. The syntax is:

<program mnemonic><terminator>

Simple command headers must occur at the beginning of a program message; if not, they must be preceded by a colon.

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>


Compound Command Headers

Compound command headers are a combination of two or more 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


Common Command Headers

Common command headers control IEEE 488.2 functions within the instrument (such as clear status). Their 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.


Program Data Syntax Rules

Program data is used to convey a parameter information related to the command header. At least one space must separate the command header or query header from the program data.

<program mnemonic><separator><data><terminator>

When a program mnemonic or query has multiple program data, a comma separates sequential program data.

<program mnemonic><separator><data>,<data><terminator>

For example, :MEASure:DELay CHANnel1,CHANnel2 has two program data: CHANnel1 and CHANnel2.

Two main types of program data are used in commands: character and numeric.

Character Program Data

Character program data is used to convey parameter information as alpha or alphanumeric strings. For example, the :TIMebase:MODE command can be set to normal, zoomed (delayed), XY, or ROLL. The character program data in this case may be MAIN, WINDow, XY, or ROLL. The command :TIMebase:MODE WINDow sets the time base mode to zoomed.

The available mnemonics for character program data are always included with the command's syntax definition.

When sending commands, you may either the long form or short form (if one exists). Uppercase and lowercase letters may be mixed freely.

When receiving query responses, uppercase letters are used exclusively.

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 have the option of using exponential notation or using 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, that means that the number should be whole. Any fractional part will be ignored, truncating the number. Numeric data parameters accept fractional values are called real numbers.

All numbers must be strings of ASCII characters. Thus, 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). This is handled automatically when you include the entire instruction in a string.


Multiple Program Message Units

Within a program message, there can be multiple program message units separated by semicolons (;). Each program message unit represents a separate command or query. The program message syntax is:

<program message unit>;<program message unit><terminator>

For example, in the program message ":TIMebase:REFerence CENTer;:DISPlay:LABel ON", one program message unit is ":TIMebase:REFerence CENTer" and the other program message unit is ":DISPlay:LABel ON".

Some commands and queries are not supported in program messages that have multiple program message units (for various reasons). Sending these commands and queries within multiple program message units will give unexpected errors.

Commands Not Supported in Multiple Program Message Units

These commands are not supported in program messages that have multiple program message units:

  • :BUS<n>:BITS

  • :BUS<n>:MASK

  • :MEASure:FFT:THD

  • :MEASure:TEDGe

  • :RECall:ARBitrary[:STARt]

  • :RECall:DBC[:STARt]

  • :RECall:LDF[:STARt]

  • :RECall:WMEMory<r>[:STARt]

  • :SAVE:ARBitrary[:STARt]

  • :SBUS<n>:IIC:TRIGger:PATTern:DATA

  • :SBUS<n>:IIC:TRIGger:PATTern:DATa2

  • :SBUS<n>:UART:FRAMing

  • :TRIGger:PATTern

  • :WGEN<w>:ARBitrary:DATA

Queries Not Supported in Multiple Program Message Units

These queries are not supported in program messages that have multiple program message units:

  • :BUS<n>:BITS?

  • :CHANnel<n>:PROBe:ID?

  • :MEASure:FFT:THD?

  • :MEASure:RESults?

  • :MEASure:TEDGe?

  • :SERial?

  • :SYSTem:DIDentifier?

  • :SYSTem:HID?

See Also

  • Tree Traversal Rules and Multiple Commands


Duplicate Mnemonics

Identical function mnemonics can be used in more than one subsystem. For example, the function mnemonic RANGe may be used to change the vertical range or to change the horizontal range:

:CHANnel1:RANGe .4

Sets the vertical range of channel 1 to 0.4 volts full scale.

:TIMebase:RANGe 1

Sets the horizontal time base to 1 second full scale.

:CHANnel1 and :TIMebase are subsystem selectors and determine which range is being modified.


Tree Traversal Rules and Multiple Commands

Command headers are created by traversing down the command tree. A legal command header would be :TIMebase:RANGe. This is referred to as a compound header. A compound header is a header made of two or more mnemonics separated by colons. The mnemonic created contains no spaces.

The following rules apply to traversing the tree:

  • A leading colon (<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 lets you access that subsystem until a leading colon or a program message terminator (<NL>) or EOI true is found.

  • In the command tree, use the last mnemonic in the compound header as the reference point (for example, RANGe). Then find the last colon above that mnemonic (TIMebase:). That is the point where the parser resides. Any command below that point can be sent within the current program message without sending the mnemonics which appear above them (for example, POSition).

The output statements in the examples are written using the Keysight VISA COM library in Visual Basic. The quoted string is placed on the bus, followed by a carriage return and linefeed (CRLF).

To execute more than one function within the same subsystem, separate the functions with a semicolon (;):

:<subsystem>:<function><separator><data>;<function><separator><data><terminator>

For example:

myScope.WriteString ":TIMebase:RANGe 0.5;POSition 0"
[Note]

The colon between TIMebase and RANGe is necessary because TIMebase:RANGe is a compound command. The semicolon between the RANGe command and the POSition command is the required program message unit separator. The POSition command does not need TIMebase preceding it because the TIMebase:RANGe command sets the parser to the TIMebase node in the tree.

Example 2: Program Message Terminator Sets Parser Back to Root

myScope.WriteString ":TIMebase:REFerence CENTer;POSition 0.00001"

or

myScope.WriteString ":TIMebase:REFerence CENTer"
myScope.WriteString ":TIMebase:POSition 0.00001"
[Note]

In the first line of example 2, the subsystem selector is implied for the POSition command in the compound command. The POSition command must be in the same program message as the REFerence command because the program message terminator places the parser back at the root of the command tree.

A second way to send these commands is by placing TIMebase: before the POSition command as shown in the second part of example 2. The space after POSition is required.

Example 3: 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 enables you to enter a new subsystem. For example:

<program mnemonic><data>;:<program mnemonic><data><terminator>

For example:

myScope.WriteString ":TIMebase:REFerence CENTer;:DISPlay:LABel ON"
[Note]

The leading colon before DISPlay:LABel ON tells the parser to go back to the root of the command tree. The parser can then see the DISPlay:LABel ON command. The space between REFerence and CENter is required; so is the space between LABel and ON.

Multiple commands may be any combination of compound and simple commands.


Query Return Values

Command headers immediately followed by a question mark (?) are queries. Queries are used to get results of measurements made by the instrument or to find out how the instrument is currently configured.

After receiving a query, the instrument interrogates the requested function and places the answer in its output queue. The answer remains in the output queue until it is read or another command is issued.

When read, the answer is transmitted across the bus to the designated listener (typically a controller). For example, the query :TIMebase:RANGe? places the current time base setting in the output queue. When using the Keysight VISA COM library in Visual Basic, the controller statements:

Dim strQueryResult As String
myScope.WriteString ":TIMebase:RANGe?"
strQueryResult = myScope.ReadString

pass the value across the bus to the controller and place it in the variable strQueryResult.

[Note]

Read Query Results Before Sending Another Command. Sending another command or query before reading the result of a query clears the output buffer (the current response) and places a Query INTERRUPTED error in the error queue.

Infinity Representation

The representation of infinity is +9.9E+37. This is also the value returned when a measurement cannot be made.


Programming Examples

VISA COM Examples

VISA Examples

VISA.NET Examples

SICL Examples

SCPI.NET Examples

The example programs in this manual are ASCII text files that can be cut from the help file and pasted into your favorite text editor.

See Also

  • You can find additional programming examples for the InfiniiVision HD3-Series oscilloscopes on the Keysight Technologies website at: www.keysight.com/find/HD3-Series-examples


VISA COM Examples

  • VISA COM Example in Visual Basic

  • VISA COM Example in C#

  • VISA COM Example in Visual Basic .NET

  • VISA COM Example in Python


VISA COM Example in Visual Basic

To run this example in Visual Basic for Applications (VBA):

  1. Start the application that provides Visual Basic for Applications (for example, Microsoft Excel).

  2. Press ALT+F11 to launch the Visual Basic editor.

  3. Reference the Keysight VISA COM library:

    1. Choose Tools > References... from the main menu.

    2. In the References dialog, check the "VISA COM 5.14 Type Library".

    3. Click OK.

  4. Choose Insert > Module.

  5. Cut-and-paste the code that follows into the editor.

  6. Edit the program to use the VISA address of your oscilloscope, and save the changes.

  7. Run the program.

'
' Keysight VISA COM Example in Visual Basic
' -------------------------------------------------------------------
' This program illustrates a few commonly-used programming
' features of your Keysight oscilloscope.
' -------------------------------------------------------------------

Option Explicit

Public myMgr As VisaComLib.ResourceManager
Public myScope As VisaComLib.FormattedIO488
Public varQueryResult As Variant
Public strQueryResult As String

' For Sleep subroutine.
#If VBA7 Then
    Private Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr)
#Else
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
#End If

'
' Main Program
' -------------------------------------------------------------------

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("USB0::0x2A8D::0x4704::Unset::0::INSTR")
  myScope.IO.Clear   ' Clear the interface.
  myScope.IO.Timeout = 20000   ' Set I/O communication timeout.

  ' 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

  ' Get and display the device's *IDN? string.
  strQueryResult = DoQueryString("*IDN?")
  Debug.Print "Identification string: " + strQueryResult

  ' Clear status and load the default setup.
  DoCommand "*CLS"
  DoCommand "*RST"

  Exit Sub

VisaComError:
  MsgBox "VISA COM Error:" + vbCrLf + Err.Description
  End

End Sub

'
' Capture the waveform.
' -------------------------------------------------------------------

Private Sub Capture()

  On Error GoTo VisaComError

  ' 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:EDGE:LEVel 1.5"
  Debug.Print "Trigger edge level: " + _
      DoQueryString(":TRIGger:EDGE:LEVel?")

  DoCommand ":TRIGger:EDGE:SLOPe POSitive"
  Debug.Print "Trigger edge slope: " + _
      DoQueryString(":TRIGger:EDGE:SLOPe?")

  ' Save oscilloscope configuration.
  ' -----------------------------------------------------------------
  Dim byteSetupSave() As Byte
  byteSetupSave = DoQueryIEEEBlock_UI1(":SYSTem:SETup?")

  ' Output file name:
  Dim strOutPath As String
  strOutPath = "c:\scope\config\setup.scp"

  ' If file exists, delete it.
  If (Dir(strOutPath) <> "") Then
    Kill strOutPath
  End If

  ' Output setup string to a file:
  Dim hFileOut As Integer
  hFileOut = FreeFile
  Open strOutPath For Binary Access Write Lock Write As hFileOut
  Put hFileOut, , byteSetupSave   ' Write data.
  Close hFileOut   ' Close file.

  ' Display number of bytes saved.
  Dim nOutLen As Long
  nOutLen = UBound(byteSetupSave) - LBound(byteSetupSave) + 1
  Debug.Print "Setup bytes saved: " + CStr(nOutLen)

  ' Change settings with individual commands:
  ' -----------------------------------------------------------------

  ' Set vertical scale and offset.
  DoCommand ":CHANnel1:SCALe 0.05"
  Debug.Print "Channel 1 vertical scale: " + _
      DoQueryString(":CHANnel1:SCALe?")

  DoCommand ":CHANnel1:OFFSet -1.5"
  Debug.Print "Channel 1 vertical offset: " + _
      DoQueryString(":CHANnel1:OFFSet?")

  ' Set horizontal scale and offset.
  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 type (NORMal, PEAK, or AVERage).
  DoCommand ":ACQuire:TYPE NORMal"
  Debug.Print "Acquire type: " + _
      DoQueryString(":ACQuire:TYPE?")

  ' Or, configure by loading a previously saved setup.
  ' -----------------------------------------------------------------
  Dim byteSetupRestore() As Byte

  ' Output file name:
  Dim strInPath As String
  strInPath = "c:\scope\config\setup.scp"

  ' Get setup string from file:
  Dim hFileIn As Integer
  hFileIn = FreeFile
  Open strInPath For Binary Access Read As hFileIn
  ReDim byteSetupRestore(0 To LOF(hFileIn) - 1)
  Get hFileIn, , byteSetupRestore   ' Read data.
  Close hFileIn   ' Close file.

  ' Write setup string back to oscilloscope using ":SYSTem:SETup"
  ' command:
  DoCommandIEEEBlock ":SYSTem:SETup", byteSetupRestore

  ' Display number of bytes restored.
  Dim nInLen As Long
  nInLen = UBound(byteSetupRestore) - LBound(byteSetupRestore) + 1
  Debug.Print "Setup bytes restored: " + CStr(nInLen)

  ' Capture an acquisition using :DIGitize.
  ' -----------------------------------------------------------------
  DoCommand ":DIGitize CHANnel1"

  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 a couple of measurements.
  ' -----------------------------------------------------------------
  DoCommand ":MEASure:SOURce CHANnel1"
  Debug.Print "Measure source: " + _
      DoQueryString(":MEASure:SOURce?")

  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 byteScreen() As Byte
  byteScreen = 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, , byteScreen   ' Write data.
  Close hFile   ' Close file.
  MsgBox "Screen image (" + CStr(UBound(byteScreen) + 1) + _
      " bytes) written to " + strPath

  ' Download waveform data.
  ' -----------------------------------------------------------------

  ' Set the waveform points mode.
  DoCommand ":WAVeform:POINts:MODE RAW"
  Debug.Print "Waveform points mode: " + _
      DoQueryString(":WAVeform:POINts:MODE?")

  ' Get the number of waveform points available.
  DoCommand ":WAVeform:POINts 10240"
  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 (WORD, BYTE, ASCII):
  DoCommand ":WAVeform:FORMat WORD"
  Debug.Print "Waveform format: " + _
      DoQueryString(":WAVeform:FORMat?")

  ' Specify the byte order in the word format data:
  DoCommand ":WAVeform:BYTeorder LSBF"
  Debug.Print "Waveform byte order: " + _
      DoQueryString(":WAVeform:BYTeorder?")

  ' Display the waveform settings:
  Dim Preamble()
  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

  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)

  If intFormat = 0 Then
    Debug.Print "Waveform format: BYTE"
  ElseIf intFormat = 1 Then
    Debug.Print "Waveform format: WORD"
  ElseIf intFormat = 4 Then
    Debug.Print "Waveform format: ASCii"
  End If

  If intType = 0 Then
    Debug.Print "Acquisition type: NORMal"
  ElseIf intType = 1 Then
    Debug.Print "Acquisition type: PEAK"
  ElseIf intType = 2 Then
    Debug.Print "Acquisition type: AVERage"
  ElseIf intType = 3 Then
    Debug.Print "Acquisition type: HRESolution"
  End If

  Debug.Print "Waveform points: " + _
      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)

  Debug.Print "Waveform Y reference: " + _
      FormatNumber(lngYReference, 0)

  ' Get the waveform data
  varQueryResult = DoQueryIEEEBlock_UI1(":WAVeform:DATA?")
  Debug.Print "Number of data values: " + _
      CStr((UBound(varQueryResult) + 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 lngI As Long

  For lngI = 0 To UBound(varQueryResult) Step 2
    lngDataValue = varQueryResult(lngI) + _
        (varQueryResult(lngI + 1) * 256)

    ' Write time value, voltage value.
    Print #hFile, _
        FormatNumber(dblXOrigin + ((lngI / 2) * dblXIncrement), 9) + _
        ", " + _
        FormatNumber(((lngDataValue - lngYReference) * _
        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

  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

  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 Sub CheckInstrumentErrors()

  On Error GoTo VisaComError

  Dim strErrVal As String
  Dim strOut As String

  myScope.WriteString ":SYSTem:ERRor?"   ' 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?"   ' 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:
  MsgBox "VISA COM Error: " + vbCrLf + Err.Description

End Sub


VISA COM Example in C#

To compile and run this example in Microsoft Visual Studio 2019:

  1. Open Visual Studio.

  2. Create a new Visual C#, Windows, Console Application project using the .NET Framework 4.7.2.

  3. Cut-and-paste the code that follows into the C# source file.

  4. Edit the program to use the VISA address of your oscilloscope.

  5. Add a reference to the VISA COM 5.14 Type Library:

    1. Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.

    2. Choose Add > Reference....

    3. In the Reference Manager dialog box, select the COM hierarchy on the left.

    4. Select VISA COM 5.14 Type Library; then click OK.

  6. In the Solution Explorer, expand References, and select VisaComLib. Then, in the Properties window, change Embed Interop Types to False.

  7. Build and run the program.

For more information, see the VISA COM Help that comes with Keysight IO Libraries Suite.

/*
 * Keysight VISA COM 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 Ivi.Visa.Interop;
using System.Runtime.InteropServices;

namespace InfiniiVision
{
  class VisaComInstrumentApp
  {
    private static VisaComInstrument myScope;

    public static void Main(string[] args)
    {
      try
      {
        myScope = new
          VisaComInstrument("USB0::0x2A8D::0x4704::Unset::0::INSTR");
        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 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;

      // Get and display the device's *IDN? string.
      strResults = myScope.DoQueryString("*IDN?");
      Console.WriteLine("*IDN? result is: {0}", strResults);

      // Clear status and load the default setup.
      myScope.DoCommand("*CLS");
      myScope.DoCommand("*RST");
    }

    /*
     * Capture the waveform.
     * --------------------------------------------------------------
     */
    private static void Capture()
    {
      // Use auto-scale to automatically configure oscilloscope.
      myScope.DoCommand(":AUToscale");

      // Set trigger mode (EDGE, PULSe, PATTern, etc., and input source.
      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:EDGE:LEVel 1.5");
      Console.WriteLine("Trigger edge level: {0}",
          myScope.DoQueryString(":TRIGger:EDGE:LEVel?"));

      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.
      ResultsArray = myScope.DoQueryIEEEBlock(":SYSTem:SETup?");
      nLength = ResultsArray.Length;

      // Write setup string to file.
      strPath = "c:\\scope\\config\\setup.scp";
      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.05");
      Console.WriteLine("Channel 1 vertical scale: {0}",
          myScope.DoQueryString(":CHANnel1:SCALe?"));

      myScope.DoCommand(":CHANnel1:OFFSet -1.5");
      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");
      Console.WriteLine("Timebase position: {0}",
          myScope.DoQueryString(":TIMebase:POSition?"));

      // Set the acquisition type (NORMal, PEAK, or AVERage).
      myScope.DoCommand(":ACQuire:TYPE NORMal");
      Console.WriteLine("Acquire type: {0}",
          myScope.DoQueryString(":ACQuire:TYPE?"));

      // Or, configure by loading a previously saved setup.
      byte[] DataArray;
      int nBytesWritten;

      // Read setup string from file.
      strPath = "c:\\scope\\config\\setup.scp";
      DataArray = File.ReadAllBytes(strPath);
      nBytesWritten = DataArray.Length;

      // Restore setup string.
      myScope.DoCommandIEEEBlock(":SYSTem:SETup", DataArray);
      Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);

      // Capture an acquisition using :DIGitize.
      myScope.DoCommand(":DIGitize CHANnel1");
    }

    /*
     * Analyze the captured waveform.
     * --------------------------------------------------------------
     */
    private static void Analyze()
    {
      byte[] ResultsArray;   // Results array.
      int nLength;   // Number of bytes returned from instrument.
      string strPath;

      // Make a couple of 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.
      // -----------------------------------------------------------

      // Get the screen data.
      ResultsArray =
          myScope.DoQueryIEEEBlock(":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.
      // -----------------------------------------------------------

      // Set the waveform points mode.
      myScope.DoCommand(":WAVeform:POINts:MODE RAW");
      Console.WriteLine("Waveform points mode: {0}",
          myScope.DoQueryString(":WAVeform:POINts:MODE?"));

      // Get the number of waveform points available.
      Console.WriteLine("Waveform points available: {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 (WORD, BYTE, ASCII):
      myScope.DoCommand(":WAVeform:FORMat WORD");
      Console.WriteLine("Waveform format: {0}",
          myScope.DoQueryString(":WAVeform:FORMat?"));

      // Specify the byte order in the word format data:
      myScope.DoCommand(":WAVeform:BYTeorder LSBF");
      Console.WriteLine("Waveform byte order: {0}",
          myScope.DoQueryString(":WAVeform:BYTeorder?"));

      // Display the waveform settings:
      double[] fResultsArray;
      fResultsArray = myScope.DoQueryNumbers(":WAVeform:PREamble?");

      double fFormat = fResultsArray[0];
      if (fFormat == 0.0)
      {
        Console.WriteLine("Waveform format: BYTE");
      }
      else if (fFormat == 1.0)
      {
        Console.WriteLine("Waveform format: WORD");
      }
      else if (fFormat == 2.0)
      {
        Console.WriteLine("Waveform format: ASCii");
      }

      double fType = fResultsArray[1];
      if (fType == 0.0)
      {
        Console.WriteLine("Acquire type: NORMal");
      }
      else if (fType == 1.0)
      {
        Console.WriteLine("Acquire type: PEAK");
      }
      else if (fType == 2.0)
      {
        Console.WriteLine("Acquire type: AVERage");
      }

      double fPoints = fResultsArray[2];
      Console.WriteLine("Waveform points: {0:e}", fPoints);

      double fCount = fResultsArray[3];
      Console.WriteLine("Waveform average count: {0:e}", fCount);

      double fXincrement = fResultsArray[4];
      Console.WriteLine("Waveform X increment: {0:e}", fXincrement);

      double fXorigin = fResultsArray[5];
      Console.WriteLine("Waveform X origin: {0:e}", fXorigin);

      double fXreference = fResultsArray[6];
      Console.WriteLine("Waveform X reference: {0:e}", fXreference);

      double fYincrement = fResultsArray[7];
      Console.WriteLine("Waveform Y increment: {0:e}", fYincrement);

      double fYorigin = fResultsArray[8];
      Console.WriteLine("Waveform Y origin: {0:e}", fYorigin);

      double fYreference = fResultsArray[9];
      Console.WriteLine("Waveform Y reference: {0:e}", fYreference);

      // Read waveform data.
      ResultsArray = myScope.DoQueryIEEEBlock(":WAVeform:DATA?");
      nLength = ResultsArray.Length;
      Console.WriteLine("Number of data values: {0}", nLength / 2);

      // 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 (int i = 0; i < nLength - 1; i+=2)
        writer.WriteLine("{0:f9}, {1:f6}",
            fXorigin + ((float)(i / 2) * fXincrement),
            (((float)BitConverter.ToUInt16(ResultsArray, i) - fYreference)
            * 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;

      // 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.
      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(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;
    }

    private void CheckInstrumentErrors(string strCommand)
    {
      // Check for instrument errors.
      string strInstrumentError;
      bool bFirstError = true;

      do   // While not "0,No error".
      {
        m_IoObject.WriteString(":SYSTem:ERRor?", 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);
      }
      catch { }

      try
      {
        Marshal.ReleaseComObject(m_ResourceManager);
      }
      catch { }
    }
  }
}


VISA COM Example in Visual Basic .NET

To compile and run this example in Microsoft Visual Studio 2019:

  1. Open Visual Studio.

  2. Create a new Visual Basic, Windows, Console Application project using the .NET Framework 4.7.2.

  3. Cut-and-paste the code that follows into the Visual Basic .NET source file.

  4. Edit the program to use the VISA address of your oscilloscope.

  5. Add a reference to the VISA COM 5.14 Type Library:

    1. Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.

    2. Choose Add > Reference....

    3. In the Reference Manager dialog box, select the COM hierarchy on the left.

    4. Select VISA COM 5.14 Type Library; then click OK.

    5. Right-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 "InfiniiVision.VisaComInstrumentApp" as the Startup object.

  6. In the Solution Explorer, expand References, and select VisaComLib. Then, in the Properties window, change Embed Interop Types to False.

  7. Build and run the program.

For more information, see the VISA COM Help that comes with Keysight IO Libraries Suite.

'
' Keysight VISA COM 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 Ivi.Visa.Interop
Imports System.Runtime.InteropServices

Namespace InfiniiVision
  Class VisaComInstrumentApp
    Private Shared myScope As VisaComInstrument

    Public Shared Sub Main(ByVal args As String())
      Try
        myScope = New _
          VisaComInstrument("USB0::0x2A8D::0x4704::Unset::0::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

      ' Get and display the device's *IDN? string.
      strResults = myScope.DoQueryString("*IDN?")
      Console.WriteLine("*IDN? result is: {0}", strResults)

      ' Clear status and load the default setup.
      myScope.DoCommand("*CLS")
      myScope.DoCommand("*RST")

    End Sub

    ' Capture the waveform.
    ' --------------------------------------------------------------

    Private Shared Sub Capture()

      ' Use auto-scale to automatically configure oscilloscope.
      myScope.DoCommand(":AUToscale")

      ' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source.
      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:EDGE:LEVel 1.5")
      Console.WriteLine("Trigger edge level: {0}",
          myScope.DoQueryString(":TRIGger:EDGE:LEVel?"))

      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(":SYSTem:SETup?")
      nLength = ResultsArray.Length

      ' Write setup string to file.
      strPath = "c:\scope\config\setup.scp"
      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.05")
      Console.WriteLine("Channel 1 vertical scale: {0}",
          myScope.DoQueryString(":CHANnel1:SCALe?"))

      myScope.DoCommand(":CHANnel1:OFFSet -1.5")
      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")
      Console.WriteLine("Timebase position: {0}",
          myScope.DoQueryString(":TIMebase:POSition?"))

      ' Set the acquisition type (NORMal, PEAK, or AVERage).
      myScope.DoCommand(":ACQuire:TYPE NORMal")
      Console.WriteLine("Acquire type: {0}",
          myScope.DoQueryString(":ACQuire:TYPE?"))

      ' 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.scp"
      DataArray = File.ReadAllBytes(strPath)
      nBytesWritten = DataArray.Length

      ' Restore setup string.
      myScope.DoCommandIEEEBlock(":SYSTem:SETup", DataArray)
      Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)

      ' Capture an acquisition using :DIGitize.
      myScope.DoCommand(":DIGitize CHANnel1")

    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 a couple of 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(":DISPlay:DATA? PNG")
      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.
      ' ------------------------------------------------------------

      ' Set the waveform points mode.
      myScope.DoCommand(":WAVeform:POINts:MODE RAW")
      Console.WriteLine("Waveform points mode: {0}",
          myScope.DoQueryString(":WAVeform:POINts:MODE?"))

      ' Get the number of waveform points available.
      myScope.DoCommand(":WAVeform:POINts 10240")
      Console.WriteLine("Waveform points available: {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 (WORD, BYTE, ASCII):
      myScope.DoCommand(":WAVeform:FORMat WORD")
      Console.WriteLine("Waveform format: {0}",
          myScope.DoQueryString(":WAVeform:FORMat?"))

      ' Specify the byte order in the word format data:
      myScope.DoCommand(":WAVeform:BYTeorder LSBF")
      Console.WriteLine("Waveform byte order: {0}",
          myScope.DoQueryString(":WAVeform:BYTeorder?"))

      ' Display the waveform settings:
      Dim fResultsArray As Double()
      fResultsArray = myScope.DoQueryNumbers(":WAVeform:PREamble?")

      Dim fFormat As Double = fResultsArray(0)
      If fFormat = 0 Then
        Console.WriteLine("Waveform format: BYTE")
      ElseIf fFormat = 1 Then
        Console.WriteLine("Waveform format: WORD")
      ElseIf fFormat = 2 Then
        Console.WriteLine("Waveform format: ASCii")
      End If

      Dim fType As Double = fResultsArray(1)
      If fType = 0 Then
        Console.WriteLine("Acquire type: NORMal")
      ElseIf fType = 1 Then
        Console.WriteLine("Acquire type: PEAK")
      ElseIf fType = 2 Then
        Console.WriteLine("Acquire type: AVERage")
      End If

      Dim fPoints As Double = fResultsArray(2)
      Console.WriteLine("Waveform points: {0:e}", fPoints)

      Dim fCount As Double = fResultsArray(3)
      Console.WriteLine("Waveform average count: {0:e}", fCount)

      Dim fXincrement As Double = fResultsArray(4)
      Console.WriteLine("Waveform X increment: {0:e}", fXincrement)

      Dim fXorigin As Double = fResultsArray(5)
      Console.WriteLine("Waveform X origin: {0:e}", fXorigin)

      Dim fXreference As Double = fResultsArray(6)
      Console.WriteLine("Waveform X reference: {0:e}", fXreference)

      Dim fYincrement As Double = fResultsArray(7)
      Console.WriteLine("Waveform Y increment: {0:e}", fYincrement)

      Dim fYorigin As Double = fResultsArray(8)
      Console.WriteLine("Waveform Y origin: {0:e}", fYorigin)

      Dim fYreference As Double = fResultsArray(9)
      Console.WriteLine("Waveform Y reference: {0:e}", fYreference)

      ' Get the waveform data.
      ResultsArray = myScope.DoQueryIEEEBlock(":WAVeform:DATA?")
      nLength = ResultsArray.Length
      Console.WriteLine("Number of data values: {0}", nLength / 2)

      ' 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 Step 2
        ' Write time value, voltage value.
        writer.WriteLine("{0:f9}, {1:f6}",
            fXorigin + (CSng(index / 2) * fXincrement),
            ((CSng(BitConverter.ToUInt16(ResultsArray, index)) - fYreference) _
            * 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

    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)

      ' 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(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

    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".
        m_IoObject.WriteString(":SYSTem:ERRor?", 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.

The Python language and "comtypes" package can be downloaded from the web at http://www.python.org/ and https://pypi.org/project/comtypes/, respectively.

To run this example with Python and "comtypes":

  1. Cut-and-paste the code that follows into a file named "example.py".

  2. Edit the program to use the VISA address of your oscilloscope.

  3. If "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

#!python3
# -*- coding: utf-8 -*-

# Keysight VISA COM Example in Python using "comtypes"
# *********************************************************
# This program illustrates a few commonly-used programming
# features of your Keysight oscilloscope.
# *********************************************************

# Import Python modules.
# ---------------------------------------------------------
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.
# ---------------------------------------------------------
visa_address = "USB0::0x2A8D::0x4704::Unset::0::INSTR"
input_channel = "CHANnel1"
# input_channel = "CHANnel2"
setup_file_name = "setup.scp"
screen_image_file_name = "screen_image.png"
waveform_data_file_name = "waveform_data.csv"

# =========================================================
# Initialize:
# =========================================================
def initialize():

 # Get and display the device's *IDN? string.
 idn_string = do_query_string("*IDN?")
 print(f"Identification string: '{idn_string}'")

 # Clear status and load the default setup.
 do_command("*CLS")
 do_command("*RST")

# =========================================================
# Capture:
# =========================================================
def capture():

 # 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(f"Trigger mode: {qresult}")

 # Set EDGE trigger parameters.
 do_command(f":TRIGger:EDGE:SOURce {input_channel}")
 qresult = do_query_string(":TRIGger:EDGE:SOURce?")
 print(f"Trigger edge source: {qresult}")

 do_command(":TRIGger:EDGE:LEVel 1.5")
 qresult = do_query_string(":TRIGger:EDGE:LEVel?")
 print(f"Trigger edge level: {qresult}")

 do_command(":TRIGger:EDGE:SLOPe POSitive")
 qresult = do_query_string(":TRIGger:EDGE:SLOPe?")
 print(f"Trigger edge slope: {qresult}")

 # Save oscilloscope setup.
 setup_bytes = do_query_ieee_block(":SYSTem:SETup?")
 setup_bytes_length = len(setup_bytes)
 f = open(setup_file_name, "wb")
 f.write(bytearray(setup_bytes))
 f.close()
 print(f"Setup bytes saved: {setup_bytes_length}")

 # Change oscilloscope settings with individual commands:

 # Set vertical scale and offset.
 do_command(f":{input_channel}:SCALe 0.05")
 qresult = do_query_string(f":{input_channel}:SCALe?")
 print(f"{input_channel} vertical scale: {qresult}")

 do_command(f":{input_channel}:OFFSet -1.5")
 qresult = do_query_string(f":{input_channel}:OFFSet?")
 print(f"{input_channel} offset: {qresult}")

 # Set horizontal scale and offset.
 do_command(":TIMebase:SCALe 0.0002")
 qresult = do_query_string(":TIMebase:SCALe?")
 print(f"Timebase scale: {qresult}")

 do_command(":TIMebase:POSition 0.0")
 qresult = do_query_string(":TIMebase:POSition?")
 print(f"Timebase position: {qresult}")

 # Set the acquisition type.
 do_command(":ACQuire:TYPE NORMal")
 qresult = do_query_string(":ACQuire:TYPE?")
 print(f"Acquire type: {qresult}")

 # Or, set up oscilloscope by loading a previously saved setup.
 f = open(setup_file_name, "rb")
 setup_bytes = f.read()
 f.close()
 do_command_ieee_block(":SYSTem:SETup", array.array('B', setup_bytes))
 print(f"Setup bytes restored: {len(setup_bytes)}")

 # Capture an acquisition using :DIGitize.
 do_command(f":DIGitize {input_channel}")

# =========================================================
# Analyze:
# =========================================================
def analyze():

 # Make measurements.
 # --------------------------------------------------------
 do_command(f":MEASure:SOURce {input_channel}")
 qresult = do_query_string(":MEASure:SOURce?")
 print(f"Measure source: {qresult}")

 do_command(":MEASure:FREQuency")
 qresult = do_query_string(":MEASure:FREQuency?")
 print(f"Measured frequency on {input_channel}: {qresult}")

 do_command(":MEASure:VAMPlitude")
 qresult = do_query_string(":MEASure:VAMPlitude?")
 print(f"Measured vertical amplitude on {input_channel}: {qresult}")

 # Download the screen image.
 # --------------------------------------------------------

 screen_bytes = do_query_ieee_block(":DISPlay:DATA? PNG")

 # Save display data values to file.
 f = open(screen_image_file_name, "wb")
 f.write(bytearray(screen_bytes))
 f.close()
 print(f"Screen image written to {screen_image_file_name}.")

 # Download waveform data.
 # --------------------------------------------------------

 # Set the waveform source.
 do_command(f":WAVeform:SOURce {input_channel}")
 qresult = do_query_string(":WAVeform:SOURce?")
 print(f"Waveform source: {qresult}")

 # Set the waveform points mode.
 do_command(":WAVeform:POINts:MODE RAW")
 qresult = do_query_string(":WAVeform:POINts:MODE?")
 print(f"Waveform points mode: {qresult}")

 # Get the number of waveform points available.
 do_command(":WAVeform:POINts 10240")
 qresult = do_query_string(":WAVeform:POINts?")
 print(f"Waveform points available: {qresult}")

 # Choose the format of the data returned (BYTE or WORD):
 do_command(f":WAVeform:FORMat WORD")
 qresult = do_query_string(":WAVeform:FORMat?")
 print(f"Waveform format: {qresult}")

 # Display the waveform settings from preamble:
 wav_form_dict = {
  0 : "BYTE",
  1 : "WORD",
  4 : "ASCii",
 }
 acq_type_dict = {
  0 : "NORMal",
  1 : "PEAK",
  2 : "AVERage",
 }

 (
  wav_form,
  acq_type,
  wfmpts,
  avgcnt,
  x_increment,
  x_origin,
  x_reference,
  y_increment,
  y_origin,
  y_reference
 ) = do_query_numbers(":WAVeform:PREamble?")

 print(f"Waveform format: {wav_form_dict[int(wav_form)]}")
 print(f"Acquire type: {acq_type_dict[int(acq_type)]}")
 print(f"Waveform points desired: {wfmpts}")
 print(f"Waveform average count: {avgcnt}")
 print(f"Waveform X reference: {x_reference}")   # Always 0.

 # Get numeric values for later calculations.
 x_increment = do_query_number(":WAVeform:XINCrement?")
 print(f"Waveform X increment: {x_increment}")
 x_origin = do_query_number(":WAVeform:XORigin?")
 print(f"Waveform X origin: {x_origin}")
 y_increment = do_query_number(":WAVeform:YINCrement?")
 print(f"Waveform Y increment: {y_increment}")
 y_origin = do_query_number(":WAVeform:YORigin?")
 print(f"Waveform Y origin: {y_origin}")
 y_reference = do_query_number(":WAVeform:YREFerence?")
 print(f"Waveform Y reference: {y_reference}")

 # Specify the byte order in WORD data.
 do_command(":WAVeform:BYTeorder LSBF")
 qresult = do_query_string(":WAVeform:BYTeorder?")
 print(f"Waveform byte order for WORD data: {qresult}")

 # Get the waveform data bytes.
 data_bytes = do_query_ieee_block(":WAVeform:DATA?")
 data_bytes_length = len(data_bytes)
 print(f"Byte count: {data_bytes_length}")

 # Get the waveform data values.
 data_bytes_array = array.array('B', data_bytes)   # Array of unsigned bytes.
 values = array.array('H')   # Interpret as array of unsigned shorts.
 values.frombytes(data_bytes_array)
 print(f"Number of data values: {len(values)}")

 # Save waveform data values to CSV file.
 f = open(waveform_data_file_name, "w")

 for i in range(0, len(values) - 1):
  time_val = x_origin + (i * x_increment)
  voltage = ((values[i] - y_reference) * y_increment) + y_origin
  f.write(f"{time_val:E}, {voltage:f}\n")

 # Close output file.
 f.close()
 print(f"Waveform format WORD data written to {waveform_data_file_name}.")

# =========================================================
# Send a command and check for errors:
# =========================================================
def do_command(command):
 myScope.WriteString(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(query, True)
 result = myScope.ReadString()
 check_instrument_errors(query)
 return result.strip()

# =========================================================
# Send a query, check for errors, return string:
# =========================================================
def do_query_ieee_block(query):
 myScope.WriteString(query, True)
 result = myScope.ReadIEEEBlock(VisaComLib.BinaryType_UI1, \
   False, True)
 check_instrument_errors(query)
 return result

# =========================================================
# Send a query, check for errors, return values:
# =========================================================
def do_query_number(query):
 myScope.WriteString(query, True)
 result = myScope.ReadNumber(VisaComLib.ASCIIType_R8, True)
 check_instrument_errors(query)
 return result

# =========================================================
# Send a query, check for errors, return values:
# =========================================================
def do_query_numbers(query):
 myScope.WriteString(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?", True)
  error_string = myScope.ReadString()
  if error_string:   # If there is an error string value.

   if error_string.find("+0,", 0, 3) == -1:   # Not "No error".
    print(f"ERROR: {error_string}, command: '{command}'")
    print("Exited because of error.")
    sys.exit(1)

   else:   # "No error"
    break

  else:   # :SYSTem:ERRor? should always return string.
   print("ERROR: :SYSTem:ERRor? 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(visa_address)

# 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()

myScope.IO.Close()
print("End of program.")
sys.exit()


VISA Examples

  • VISA Example in C

  • VISA Example in C#

  • VISA Example in Visual Basic .NET

  • VISA Example in Python


VISA Example in C

To compile and run this example in Microsoft Visual Studio 2019:

  1. Open Visual Studio.

  2. Create a new Visual C++, Windows, Console, Empty project.

  3. Cut-and-paste the code that follows into a file named "example.c" in the project directory.

  4. In Visual Studio 2019, right-click the Source Files folder, choose Add > Add Existing Item..., select the example.c file, and click Add.

  5. Edit the program to use the VISA address of your oscilloscope.

  6. In the Solution Explorer, right-click the project (not the solution), and choose Properties. In the Property Pages dialog box, update these project settings:

    1. Under Configuration Properties, Linker, Input, add "visa32.lib" to the Additional Dependencies field.

    2. Under Configuration Properties, C/C++, Code Generation, select Multi-threaded DLL for the Runtime Library field.

    3. Under Configuration Properties, C/C++, Preprocessor, add "_CRT_SECURE_NO_WARNINGS" to the Preprocessor Definitions.

    4. Under Configuration Properties, VC++ Directories, show directories for Include Directories, and add the include directory (for example, Program Files (x86)\IVI Foundation\VISA\WinNT\Include).

    5. Under Configuration Properties, VC++ Directories, show directories for Library Directories, and add the library files directory (for example, Program Files (x86)\IVI Foundation\VISA\WinNT\lib\msc).

    6. Click OK to close the Property Pages dialog.

  7. Build and run the program.

/*
 * Keysight VISA Example in C
 * ------------------------------------------------------------------
 * This program illustrates a few commonly-used programming
 * features of your Keysight 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 "USB0::0x2A8D::0x4704::Unset::0::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 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(). */
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();

    /* 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 the interface. */
    err = viClear(vi);
    if (err != VI_SUCCESS) error_handler();

    /* Get and display the device's *IDN? string. */
    do_query_string("*IDN?");
    printf("Oscilloscope *IDN? string: %s\n", str_result);

    /* Clear status and load the default setup. */
    do_command("*CLS");
    do_command("*RST");
}

/* Capture the waveform.
 * --------------------------------------------------------------- */
void capture(void)
{
    int num_bytes;
    FILE* fp;

    /* Use auto-scale to automatically configure oscilloscope. */
    do_command(":AUToscale");

    /* Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. */
    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:EDGE:LEVel 1.5");
    do_query_string(":TRIGger:EDGE:LEVel?");
    printf("Trigger edge level: %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_bytes = do_query_ieeeblock(":SYSTem:SETup?");
    printf("Read setup string query (%d bytes).\n", num_bytes);

    /* Write setup string to file. */
    fp = fopen("c:\\scope\\config\\setup.scp", "wb");
    num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,
        fp);
    fclose(fp);
    printf("Wrote setup string (%d bytes) to ", num_bytes);
    printf("c:\\scope\\config\\setup.stp.\n");

    /* Change settings with individual commands:

    /* Set vertical scale and offset. */
    do_command(":CHANnel1:SCALe 0.05");
    do_query_string(":CHANnel1:SCALe?");
    printf("Channel 1 vertical scale: %s\n", str_result);

    do_command(":CHANnel1:OFFSet -1.5");
    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 type (NORMal, PEAK, or AVERage). */
    do_command(":ACQuire:TYPE NORMal");
    do_query_string(":ACQuire:TYPE?");
    printf("Acquire type: %s\n", str_result);

    /* Or, configure by loading a previously saved setup. */

    /* Read setup string from file. */
    fp = fopen("c:\\scope\\config\\setup.scp", "rb");
    num_bytes = fread(ieeeblock_data, sizeof(unsigned char),
        IEEEBLOCK_SPACE, fp);
    fclose(fp);
    printf("Read setup string (%d bytes) from file ", num_bytes);
    printf("c:\\scope\\config\\setup.stp.\n");

    /* Restore setup string. */
    num_bytes = do_command_ieeeblock(":SYSTem:SETup", num_bytes);
    printf("Restored setup string (%d bytes).\n", num_bytes);

    /* Capture an acquisition using :DIGitize. */
    do_command(":DIGitize CHANnel1");
}

/* 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 x_reference;
    double y_increment;
    double y_origin;
    double y_reference;

    FILE* fp;
    int num_bytes;   /* Number of bytes returned from instrument. */
    int i;

    /* Make a couple of 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_bytes = do_query_ieeeblock(":DISPlay:DATA? PNG");
    printf("Screen image bytes: %d\n", num_bytes);

    /* Write screen image bytes to file. */
    fp = fopen("c:\\scope\\data\\screen.png", "wb");
    num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,
        fp);
    fclose(fp);
    printf("Wrote screen image (%d bytes) to ", num_bytes);
    printf("c:\\scope\\data\\screen.png.\n");

    /* Download waveform data.
     * ------------------------------------------------------------- */

     /* Set the waveform points mode. */
    do_command(":WAVeform:POINts:MODE RAW");
    do_query_string(":WAVeform:POINts:MODE?");
    printf("Waveform points mode: %s\n", str_result);

    /* Get the number of waveform points available. */
    do_query_string(":WAVeform:POINts?");
    printf("Waveform points available: %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 (WORD, BYTE, ASCII): */
    do_command(":WAVeform:FORMat WORD");
    do_query_string(":WAVeform:FORMat?");
    printf("Waveform format: %s\n", str_result);

    /* Specify the byte order in the word format data: */
    do_command(":WAVeform:BYTeorder LSBF");
    do_query_string(":WAVeform:BYTeorder?");
    printf("Waveform byte order: %s\n", str_result);

    /* Display the waveform settings: */
    do_query_numbers(":WAVeform:PREamble?");

    wav_format = dbl_results[0];
    if (wav_format == 0.0)
    {
        printf("Waveform format: BYTE\n");
    }
    else if (wav_format == 1.0)
    {
        printf("Waveform format: WORD\n");
    }
    else if (wav_format == 2.0)
    {
        printf("Waveform format: ASCii\n");
    }

    acq_type = dbl_results[1];
    if (acq_type == 0.0)
    {
        printf("Acquire type: NORMal\n");
    }
    else if (acq_type == 1.0)
    {
        printf("Acquire type: PEAK\n");
    }
    else if (acq_type == 2.0)
    {
        printf("Acquire type: AVERage\n");
    }

    wav_points = dbl_results[2];
    printf("Waveform points: %e\n", wav_points);

    avg_count = dbl_results[3];
    printf("Waveform average count: %e\n", avg_count);

    x_increment = dbl_results[4];
    printf("Waveform X increment: %e\n", x_increment);

    x_origin = dbl_results[5];
    printf("Waveform X origin: %e\n", x_origin);

    x_reference = dbl_results[6];
    printf("Waveform X reference: %e\n", x_reference);

    y_increment = dbl_results[7];
    printf("Waveform Y increment: %e\n", y_increment);

    y_origin = dbl_results[8];
    printf("Waveform Y origin: %e\n", y_origin);

    y_reference = dbl_results[9];
    printf("Waveform Y reference: %e\n", y_reference);

    /* Read waveform data. */
    num_bytes = do_query_ieeeblock(":WAVeform:DATA?");
    printf("Number of data values: %d\n", num_bytes / 2);

    /* Open file for output. */
    fp = fopen("c:\\scope\\data\\waveform_data.csv", "wb");

    /* Output waveform data in CSV format. */
    for (i = 0; i < num_bytes - 1; i+=2)
    {
        /* Write time value, voltage value. */
        fprintf(fp, "%9f, %6f\n",
            x_origin + ((float)(i / 2) * x_increment),
            (((float)(ieeeblock_data[i] + (ieeeblock_data[i+1] * 256))
                - y_reference) * 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");
    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();
}

/* 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 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();

    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?\n", "%t", str_err_val);
    if (err != VI_SUCCESS) error_handler();
    while (strncmp(str_err_val, "+0,No error", 3) != 0)
    {
        strcat(str_out, ", ");
        strcat(str_out, str_err_val);
        err = viQueryf(vi, ":SYSTem:ERRor?\n", "%t", str_err_val);
        if (err != VI_SUCCESS) error_handler();
    }

    if (strcmp(str_out, "") != 0)
    {
        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 C#

To compile and run this example in Microsoft Visual Studio 2019:

  1. Open Visual Studio.

  2. Create a new Visual C#, Windows, Console Application project using the .NET Framework 4.7.2.

  3. Cut-and-paste the code that follows into the C# source file.

  4. Edit the program to use the VISA address of your oscilloscope.

  5. Add Keysight's VISA header file to your project:

    1. Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.

    2. Choose Add > Existing Item...

    3. Navigate 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.

    4. Click the down arrow to the right of the Add button, and choose Add as Link.

      You should now see the file underneath your project in the Solution Explorer. It will have a little arrow icon in its lower left corner, indicating that it is a link.

  6. Build and run the program.

For more information, see the tutorial on using VISA in Microsoft .NET in the VISA Help that comes with Keysight IO Libraries Suite.

/*
 * Keysight VISA Example in C#
 * -------------------------------------------------------------------
 * This program illustrates a few commonly used programming
 * features of your Keysight oscilloscope.
 * -------------------------------------------------------------------
 */

using System;
using System.IO;
using System.Text;

namespace InfiniiVision
{
  class VisaInstrumentApp
  {
    private static VisaInstrument myScope;

    public static void Main(string[] args)
    {
      try
      {
        myScope = new
          VisaInstrument("USB0::0x2A8D::0x4704::Unset::0::INSTR");
        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;

      // Get and display the device's *IDN? string.
      strResults = myScope.DoQueryString("*IDN?");
      Console.WriteLine("*IDN? result is: {0}", strResults);

      // Clear status and load the default setup.
      myScope.DoCommand("*CLS");
      myScope.DoCommand("*RST");
    }

    /*
     * Capture the waveform.
     * --------------------------------------------------------------
     */
    private static void Capture()
    {
      // Use auto-scale to automatically configure oscilloscope.
      myScope.DoCommand(":AUToscale");

      // Set trigger mode (EDGE, PULSe, PATTern, etc., and input source.
      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:EDGE:LEVel 1.5");
      Console.WriteLine("Trigger edge level: {0}",
          myScope.DoQueryString(":TRIGger:EDGE:LEVel?"));

      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(":SYSTem:SETup?",
        out ResultsArray);

      // Write setup string to file.
      strPath = "c:\\scope\\config\\setup.scp";
      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.05");
      Console.WriteLine("Channel 1 vertical scale: {0}",
          myScope.DoQueryString(":CHANnel1:SCALe?"));

      myScope.DoCommand(":CHANnel1:OFFSet -1.5");
      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?"));

      myScope.DoCommand(":TIMebase:POSition 0.0");
      Console.WriteLine("Timebase position: {0}",
          myScope.DoQueryString(":TIMebase:POSition?"));

      // Set the acquisition type (NORMal, PEAK, or AVERage).
      myScope.DoCommand(":ACQuire:TYPE NORMal");
      Console.WriteLine("Acquire type: {0}",
          myScope.DoQueryString(":ACQuire:TYPE?"));

      // Or, configure by loading a previously saved setup.
      byte[] DataArray;
      int nBytesWritten;

      // Read setup string from file.
      strPath = "c:\\scope\\config\\setup.scp";
      DataArray = File.ReadAllBytes(strPath);

      // Restore setup string.
      nBytesWritten = myScope.DoCommandIEEEBlock(":SYSTem:SETup",
        DataArray);
      Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);

      // Capture an acquisition using :DIGitize.
      myScope.DoCommand(":DIGitize CHANnel1");
    }

    /*
     * Analyze the captured waveform.
     * --------------------------------------------------------------
     */
    private static void Analyze()
    {
      byte[] ResultsArray;   // Results array.
      int nLength;   // Number of bytes returned from instrument.
      string strPath;

      // Make a couple of 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.
      // -----------------------------------------------------------

      // Get the screen data.
      nLength = myScope.DoQueryIEEEBlock(":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.
      // -----------------------------------------------------------

      // Set the waveform points mode.
      myScope.DoCommand(":WAVeform:POINts:MODE RAW");
      Console.WriteLine("Waveform points mode: {0}",
          myScope.DoQueryString(":WAVeform:POINts:MODE?"));

      // Get the number of waveform points available.
      myScope.DoCommand(":WAVeform:POINts 10240");
      Console.WriteLine("Waveform points available: {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 (WORD, BYTE, ASCII):
      myScope.DoCommand(":WAVeform:FORMat WORD");
      Console.WriteLine("Waveform format: {0}",
          myScope.DoQueryString(":WAVeform:FORMat?"));

      // Specify the byte order in the word format data:
      myScope.DoCommand(":WAVeform:BYTeorder LSBF");
      Console.WriteLine("Waveform byte order: {0}",
          myScope.DoQueryString(":WAVeform:BYTeorder?"));

      // Display the waveform settings:
      double[] fResultsArray;
      fResultsArray = myScope.DoQueryNumbers(":WAVeform:PREamble?");

      double fFormat = fResultsArray[0];
      if (fFormat == 0.0)
      {
        Console.WriteLine("Waveform format: BYTE");
      }
      else if (fFormat == 1.0)
      {
        Console.WriteLine("Waveform format: WORD");
      }
      else if (fFormat == 2.0)
      {
        Console.WriteLine("Waveform format: ASCii");
      }

      double fType = fResultsArray[1];
      if (fType == 0.0)
      {
        Console.WriteLine("Acquire type: NORMal");
      }
      else if (fType == 1.0)
      {
        Console.WriteLine("Acquire type: PEAK");
      }
      else if (fType == 2.0)
      {
        Console.WriteLine("Acquire type: AVERage");
      }

      double fPoints = fResultsArray[2];
      Console.WriteLine("Waveform points: {0:e}", fPoints);

      double fCount = fResultsArray[3];
      Console.WriteLine("Waveform average count: {0:e}", fCount);

      double fXincrement = fResultsArray[4];
      Console.WriteLine("Waveform X increment: {0:e}", fXincrement);

      double fXorigin = fResultsArray[5];
      Console.WriteLine("Waveform X origin: {0:e}", fXorigin);

      double fXreference = fResultsArray[6];
      Console.WriteLine("Waveform X reference: {0:e}", fXreference);

      double fYincrement = fResultsArray[7];
      Console.WriteLine("Waveform Y increment: {0:e}", fYincrement);

      double fYorigin = fResultsArray[8];
      Console.WriteLine("Waveform Y origin: {0:e}", fYorigin);

      double fYreference = fResultsArray[9];
      Console.WriteLine("Waveform Y reference: {0:e}", fYreference);

      // Read waveform data.
      nLength = myScope.DoQueryIEEEBlock(":WAVeform:DATA?",
          out ResultsArray);
      Console.WriteLine("Number of data values: {0}", nLength / 2);

      // 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 (int i = 0; i < nLength - 1; i+=2)
        writer.WriteLine("{0:f9}, {1:f6}",
            fXorigin + ((float)(i / 2) * fXincrement),
            (((float)BitConverter.ToUInt16(ResultsArray, i) - fYreference) *
            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();

      // 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);

      // 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(string strQuery,
      out byte[] ResultsArray)
    {
      // Send the query.
      VisaSendCommandOrQuery(strQuery);

      // Get the result string.
      int length;   // Number of bytes returned from instrument.
      length = VisaGetResultIEEEBlock(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);

      return fResultsArray;
    }

    private int VisaGetResultIEEEBlock(out byte[] ResultsArray)
    {
      // Results array, big enough to hold a PNG.
      ResultsArray = new byte[3000000];
      int length;   // Number of bytes returned from instrument.

      // Set the default number of bytes that will be contained in
      // the ResultsArray to 300,000 (300kB).
      length = 3000000;

      // 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 void CheckInstrumentErrors(string strCommand)
    {
      // Check for instrument errors.
      StringBuilder strInstrumentError = new StringBuilder(1000);
      bool bFirstError = true;

      do   // While not "0,No error"
      {
        VisaSendCommandOrQuery(":SYSTem:ERRor?");
        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,
          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 2019:

  1. Open Visual Studio.

  2. Create a new Visual Basic, Windows, Console Application project using the .NET Framework 4.7.2.

  3. Cut-and-paste the code that follows into the Visual Basic .NET source file.

  4. Edit the program to use the VISA address of your oscilloscope.

  5. Add Keysight's VISA header file to your project:

    1. Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.

    2. Choose Add > Existing Item...

    3. Navigate 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.

    4. Click the down arrow to the right of the Add button, and choose Add as Link.

      You should now see the file underneath your project in the Solution Explorer. It will have a little arrow icon in its lower left corner, indicating that it is a link.

    5. Right-click the project again and choose Properties; then, select "InfiniiVision.VisaInstrumentApp" as the Startup object.

  6. Build and run the program.

For more information, see the tutorial on using VISA in Microsoft .NET in the VISA Help that comes with Keysight IO Libraries Suite.

'
' Keysight VISA 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

Namespace InfiniiVision
  Class VisaInstrumentApp
    Private Shared myScope As VisaInstrument

    Public Shared Sub Main(ByVal args As String())
      Try
        myScope =
          New VisaInstrument("USB0::0x2A8D::0x4704::Unset::0::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)
      End Try
    End Sub

    '
    ' Initialize the oscilloscope to a known state.
    ' --------------------------------------------------------------

    Private Shared Sub Initialize()
      Dim strResults As StringBuilder

      ' Get and display the device's *IDN? string.
      strResults = myScope.DoQueryString("*IDN?")
      Console.WriteLine("*IDN? result is: {0}", strResults)

      ' Clear status and load the default setup.
      myScope.DoCommand("*CLS")
      myScope.DoCommand("*RST")

    End Sub

    '
    ' Capture the waveform.
    ' --------------------------------------------------------------

    Private Shared Sub Capture()

      ' Use auto-scale to automatically configure oscilloscope.
      myScope.DoCommand(":AUToscale")

      ' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source.
      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:EDGE:LEVel 1.5")
      Console.WriteLine("Trigger edge level: {0}",
          myScope.DoQueryString(":TRIGger:EDGE:LEVel?"))

      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.
      nLength = myScope.DoQueryIEEEBlock(":SYSTem:SETup?",
          ResultsArray)

      ' Write setup string to file.
      strPath = "c:\scope\config\setup.scp"
      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.05")
      Console.WriteLine("Channel 1 vertical scale: {0}",
          myScope.DoQueryString(":CHANnel1:SCALe?"))

      myScope.DoCommand(":CHANnel1:OFFSet -1.5")
      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?"))

      myScope.DoCommand(":TIMebase:POSition 0.0")
      Console.WriteLine("Timebase position: {0}",
          myScope.DoQueryString(":TIMebase:POSition?"))

      ' Set the acquisition type (NORMal, PEAK, or AVERage).
      myScope.DoCommand(":ACQuire:TYPE NORMal")
      Console.WriteLine("Acquire type: {0}",
          myScope.DoQueryString(":ACQuire:TYPE?"))

      ' 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.scp"
      DataArray = File.ReadAllBytes(strPath)

      ' Restore setup string.
      nBytesWritten = myScope.DoCommandIEEEBlock(":SYSTem:SETup",
          DataArray)
      Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)

      ' Capture an acquisition using :DIGitize.
      myScope.DoCommand(":DIGitize CHANnel1")

    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 a couple of 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.
      nLength = myScope.DoQueryIEEEBlock(":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.
      ' ------------------------------------------------------------

      ' Set the waveform points mode.
      myScope.DoCommand(":WAVeform:POINts:MODE RAW")
      Console.WriteLine("Waveform points mode: {0}",
          myScope.DoQueryString(":WAVeform:POINts:MODE?"))

      ' Get the number of waveform points available.
      myScope.DoCommand(":WAVeform:POINts 10240")
      Console.WriteLine("Waveform points available: {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 (WORD, BYTE, ASCII):
      myScope.DoCommand(":WAVeform:FORMat WORD")
      Console.WriteLine("Waveform format: {0}",
          myScope.DoQueryString(":WAVeform:FORMat?"))

      ' Specify the byte order in the word format data:
      myScope.DoCommand(":WAVeform:BYTeorder LSBF")
      Console.WriteLine("Waveform byte order: {0}",
          myScope.DoQueryString(":WAVeform:BYTeorder?"))

      ' Display the waveform settings:
      Dim fResultsArray As Double()
      fResultsArray = myScope.DoQueryNumbers(":WAVeform:PREamble?")

      Dim fFormat As Double = fResultsArray(0)
      If fFormat = 0 Then
        Console.WriteLine("Waveform format: BYTE")
      ElseIf fFormat = 1 Then
        Console.WriteLine("Waveform format: WORD")
      ElseIf fFormat = 2 Then
        Console.WriteLine("Waveform format: ASCii")
      End If

      Dim fType As Double = fResultsArray(1)
      If fType = 0 Then
        Console.WriteLine("Acquire type: NORMal")
      ElseIf fType = 1 Then
        Console.WriteLine("Acquire type: PEAK")
      ElseIf fType = 2 Then
        Console.WriteLine("Acquire type: AVERage")
      End If

      Dim fPoints As Double = fResultsArray(2)
      Console.WriteLine("Waveform points: {0:e}", fPoints)

      Dim fCount As Double = fResultsArray(3)
      Console.WriteLine("Waveform average count: {0:e}", fCount)

      Dim fXincrement As Double = fResultsArray(4)
      Console.WriteLine("Waveform X increment: {0:e}", fXincrement)

      Dim fXorigin As Double = fResultsArray(5)
      Console.WriteLine("Waveform X origin: {0:e}", fXorigin)

      Dim fXreference As Double = fResultsArray(6)
      Console.WriteLine("Waveform X reference: {0:e}", fXreference)

      Dim fYincrement As Double = fResultsArray(7)
      Console.WriteLine("Waveform Y increment: {0:e}", fYincrement)

      Dim fYorigin As Double = fResultsArray(8)
      Console.WriteLine("Waveform Y origin: {0:e}", fYorigin)

      Dim fYreference As Double = fResultsArray(9)
      Console.WriteLine("Waveform Y reference: {0:e}", fYreference)

      ' Get the waveform data.
      nLength = myScope.DoQueryIEEEBlock(":WAVeform:DATA?",
          ResultsArray)
      Console.WriteLine("Number of data values: {0}", nLength / 2)

      ' 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 Step 2
        ' Write time value, voltage value.
        writer.WriteLine("{0:f9}, {1:f6}",
            fXorigin + (CSng(index / 2) * fXincrement),
            ((CSng(BitConverter.ToUInt16(ResultsArray, index)) - fYreference) _
            * 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

      ' 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()

      ' 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(ByVal strQuery As String,
        ByRef ResultsArray As Byte()) As Integer
      ' Send the query.
      VisaSendCommandOrQuery(strQuery)

      ' Get the result string.
      System.Threading.Thread.Sleep(2000) ' Delay before reading data.
      Dim length As Integer
      ' Number of bytes returned from instrument.
      length = VisaGetResultIEEEBlock(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)
      CheckVisaStatus(nViStatus)

      Return fResultsArray
    End Function

    Private Function VisaGetResultIEEEBlock(ByRef ResultsArray _
        As Byte()) As Integer
      ' Results array, big enough to hold a PNG.
      ResultsArray = New Byte(2999999) {}
      Dim length As Integer
      ' Number of bytes returned from instrument.
      ' Set the default number of bytes that will be contained in
      ' the ResultsArray to 3,000,000 (~3MB).
      length = 3000000

      ' 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 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?")
        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
        visa32.viClose(m_nResourceManager)
      End If
    End Sub
  End Class
End Namespace


VISA Example in Python

You can use the Python programming language with the PyVISA package to control Keysight InfiniiVision Series oscilloscopes.

The Python language and PyVISA package can be downloaded from the web at http://www.python.org/ and http://pyvisa.readthedocs.io/, respectively.

To run this example with Python and PyVISA:

  1. Cut-and-paste the code that follows into a file named "example.py".

  2. Edit the program to use the VISA address of your oscilloscope.

  3. If "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

#!python3
# -*- coding: utf-8 -*-

# *********************************************************
# This program illustrates a few commonly-used programming
# features of your Keysight oscilloscope.
# *********************************************************

# Import modules.
# ---------------------------------------------------------
import pyvisa
import struct
import sys

# Global variables.
# ---------------------------------------------------------
visa_address = "USB0::0x2A8D::0x4704::Unset::0::INSTR"
input_channel = "CHANnel1"
# input_channel = "CHANnel2"
setup_file_name = "setup.scp"
screen_image_file_name = "screen_image.png"
waveform_data_file_name = "waveform_data.csv"
debug = False

# =========================================================
# Initialize:
# =========================================================
def initialize():

 # Get and display the device's *IDN? string.
 idn_string = do_query_string("*IDN?")
 print(f"Identification string: '{idn_string}'")

 # Clear status and load the default setup.
 do_command("*CLS")
 do_command("*RST")

# =========================================================
# Capture:
# =========================================================
def capture():

 # 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(f"Trigger mode: {qresult}")

 # Set EDGE trigger parameters.
 do_command(f":TRIGger:EDGE:SOURce {input_channel}")
 qresult = do_query_string(":TRIGger:EDGE:SOURce?")
 print(f"Trigger edge source: {qresult}")

 do_command(":TRIGger:EDGE:LEVel 1.5")
 # do_command(":TRIGger:EDGE:LEVel -0.008")
 qresult = do_query_string(":TRIGger:EDGE:LEVel?")
 print(f"Trigger edge level: {qresult}")

 do_command(":TRIGger:EDGE:SLOPe POSitive")
 qresult = do_query_string(":TRIGger:EDGE:SLOPe?")
 print(f"Trigger edge slope: {qresult}")

 # Save oscilloscope setup.
 setup_bytes = do_query_ieee_block(":SYSTem:SETup?")

 f = open(setup_file_name, "wb")
 f.write(setup_bytes)
 f.close()
 print(f"Setup bytes saved: {len(setup_bytes)}")

 # Change oscilloscope settings with individual commands:

 # Set vertical scale and offset.
 do_command(f":{input_channel}:SCALe 0.05")
 # do_command(f":{input_channel}:SCALe 0.5")
 qresult = do_query_string(f":{input_channel}:SCALe?")
 print(f"{input_channel} vertical scale: {qresult}")

 do_command(f":{input_channel}:OFFSet -1.5")
 # do_command(f":{input_channel}:OFFSet -0.008")
 qresult = do_query_string(f":{input_channel}:OFFSet?")
 print(f"{input_channel} offset: {qresult}")

 # Set horizontal scale and offset.
 do_command(":TIMebase:SCALe 0.0002")
 qresult = do_query_string(":TIMebase:SCALe?")
 print(f"Timebase scale: {qresult}")

 do_command(":TIMebase:POSition 0.0")
 qresult = do_query_string(":TIMebase:POSition?")
 print(f"Timebase position: {qresult}")

 # Set the acquisition type.
 do_command(":ACQuire:TYPE NORMal")
 qresult = do_query_string(":ACQuire:TYPE?")
 print(f"Acquire type: {qresult}")

 # Or, set up oscilloscope by loading a previously saved setup.
 setup_bytes = ""
 f = open(setup_file_name, "rb")
 setup_bytes = f.read()
 f.close()
 do_command_ieee_block(":SYSTem:SETup", setup_bytes)
 print(f"Setup bytes restored: {len(setup_bytes)}")

 # Capture an acquisition using :DIGitize.
 do_command(f":DIGitize {input_channel}")

# =========================================================
# Analyze:
# =========================================================
def analyze():

 # Make measurements.
 # --------------------------------------------------------
 do_command(f":MEASure:SOURce {input_channel}")
 qresult = do_query_string(":MEASure:SOURce?")
 print(f"Measure source: {qresult}")

 do_command(":MEASure:FREQuency")
 qresult = do_query_string(":MEASure:FREQuency?")
 print(f"Measured frequency on {input_channel}: {qresult}")

 do_command(":MEASure:VAMPlitude")
 qresult = do_query_string(":MEASure:VAMPlitude?")
 print(f"Measured vertical amplitude on {input_channel}: {qresult}")

 # Download the screen image.
 # --------------------------------------------------------
 screen_bytes = do_query_ieee_block(":DISPlay:DATA? PNG")

 # Save display data values to file.
 f = open(screen_image_file_name, "wb")
 f.write(screen_bytes)
 f.close()
 print(f"Screen image written to {screen_image_file_name}.")

 # Download waveform data.
 # --------------------------------------------------------

 # Set the waveform source.
 do_command(f":WAVeform:SOURce {input_channel}")
 qresult = do_query_string(":WAVeform:SOURce?")
 print(f"Waveform source: {qresult}")

 # Set the waveform points mode.
 do_command(":WAVeform:POINts:MODE RAW")
 qresult = do_query_string(":WAVeform:POINts:MODE?")
 print(f"Waveform points mode: {qresult}")

 # Get the number of waveform points available.
 do_command(":WAVeform:POINts 10240")
 qresult = do_query_string(":WAVeform:POINts?")
 print(f"Waveform points available: {qresult}")

 # Choose the format of the data returned (BYTE or WORD):
 do_command(":WAVeform:FORMat WORD")
 qresult = do_query_string(":WAVeform:FORMat?")
 print(f"Waveform format: {qresult}")

 # Specify the byte order in WORD data.
 do_command(":WAVeform:BYTeorder LSBF")
 qresult = do_query_string(":WAVeform:BYTeorder?")
 print(f"Waveform byte order for WORD data: {qresult}")

 # Display the waveform settings from preamble:
 wav_form_dict = {
  0 : "BYTE",
  1 : "WORD",
  4 : "ASCii",
 }
 acq_type_dict = {
  0 : "NORMal",
  1 : "PEAK",
  2 : "AVERage",
 }

 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
 ) = preamble_string.split(",")

 print(f"Waveform format: {wav_form_dict[int(wav_form)]}")
 print(f"Acquire type: {acq_type_dict[int(acq_type)]}")
 print(f"Waveform points desired: {wfmpts}")
 print(f"Waveform average count: {avgcnt}")
 print(f"Waveform X increment: {x_increment}")
 print(f"Waveform X origin: {x_origin}")
 print(f"Waveform X reference: {x_reference}")   # Always 0.
 print(f"Waveform Y increment: {y_increment}")
 print(f"Waveform Y origin: {y_origin}")
 print(f"Waveform Y reference: {y_reference}")

 # 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?")
 y_reference = do_query_number(":WAVeform:YREFerence?")

 # Get the waveform data.
 data_bytes = do_query_ieee_block(":WAVeform:DATA?")
 data_bytes_length = len(data_bytes)
 print(f"Byte count: {data_bytes_length}")

 block_points = data_bytes_length / 2

 # Unpack or split into list of data values.
 values = struct.unpack("%dH" % block_points, data_bytes)
 print(f"Number of data values: {len(values)}")

 # Save waveform data values to CSV file.
 f = open(waveform_data_file_name, "w")

 for i in range(0, len(values) - 1):
  time_val = x_origin + (i * x_increment)
  voltage = ((values[i] - y_reference) * y_increment) + y_origin
  f.write(f"{time_val:E}, {voltage:f}\n")

 # Close output file.
 f.close()
 print(f"Waveform format WORD data written to {waveform_data_file_name}.")

# =========================================================
# Send a command and check for errors:
# =========================================================
def do_command(command, hide_params=False):

 if hide_params:
  (header, data) = command.split(" ", 1)
  if debug:
   print(f"Cmd = '{header}'")
 else:
  if debug:
   print(f"Cmd = '{command}'")

 InfiniiVision.write(f"{command}")

 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(f"Cmb = '{command}'")
 InfiniiVision.write_binary_values(f"{command} ", values, datatype='B')
 check_instrument_errors(command)

# =========================================================
# Send a query, check for errors, return string:
# =========================================================
def do_query_string(query):
 if debug:
  print(f"Qys = '{query}'")
 result = InfiniiVision.query(f"{query}")
 check_instrument_errors(query)
 return result.strip()

# =========================================================
# Send a query, check for errors, return floating-point value:
# =========================================================
def do_query_number(query):
 if debug:
  print(f"Qyn = '{query}'")
 results = InfiniiVision.query(f"{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(f"Qyb = '{query}'")
 result = InfiniiVision.query_binary_values(f"{query}", datatype='s', container=bytes)
 check_instrument_errors(query)
 return result

# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(command):

 while True:
  error_string = InfiniiVision.query(":SYSTem:ERRor?")
  if error_string:   # If there is an error string value.

   if error_string.find("+0,", 0, 3) == -1:   # Not "No error".

    print(f"ERROR: {error_string}, command: '{command}'")
    print("Exited because of error.")
    sys.exit(1)

   else:   # "No error"
    break

  else:   # :SYSTem:ERRor? should always return string.
   print(f"ERROR: :SYSTem:ERRor? returned nothing, command: '{command}'")
   print("Exited because of error.")
   sys.exit(1)

# =========================================================
# Main program:
# =========================================================

rm = pyvisa.ResourceManager("C:\\Windows\\System32\\visa64.dll")
InfiniiVision = rm.open_resource(visa_address)

InfiniiVision.timeout = 30000
InfiniiVision.clear()

# Initialize the oscilloscope, capture data, and analyze.
initialize()
capture()
analyze()

InfiniiVision.close()
print("End of program.")
sys.exit()


VISA.NET Examples

These programming examples show how to use the VISA.NET drivers that come with Keysight IO Libraries Suite.

  • VISA.NET Example in C#

  • VISA.NET Example in Visual Basic .NET

  • VISA.NET Example in Python


VISA.NET Example in C#

To compile and run this example in Microsoft Visual Studio 2019:

  1. Open Visual Studio.

  2. Create a new Visual C#, Windows, Console Application project using the .NET Framework 4.7.2.

  3. Cut-and-paste the code that follows into the C# source file.

  4. Edit the program to use the VISA address of your oscilloscope.

  5. Add a reference to the VISA.NET driver:

    1. Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.

    2. Choose Add > Reference....

    3. In the Reference Manager dialog box, under Assemblies, select Extensions.

    4. In the "Targeting: .NET Framework 4.7.2" list, select the Ivi.Visa Assembly check box; then, click OK.

  6. Build and run the program.

For more information, see the VISA.NET Help that comes with Keysight IO Libraries Suite.

/*
 * Keysight VISA.NET Example in C#
 * -------------------------------------------------------------------
 * This program illustrates a few commonly used programming
 * features of your Keysight InfiniiVision oscilloscope.
 * -------------------------------------------------------------------
 */

using System;
using System.IO;
using System.Collections.Generic;
using System.Text;

using Ivi.Visa;
using Ivi.Visa.FormattedIO;

namespace Example
{
  class Program
  {

    static void Main(string[] args)
    {
      // Change this variable to the address of your instrument
      string VISA_ADDRESS = "USB0::0x2A8D::0x4704::Unset::0::INSTR";

      // Create a connection (session) to the instrument
      IMessageBasedSession session;
      try
      {
        session = GlobalResourceManager.Open(VISA_ADDRESS) as
          IMessageBasedSession;
      }
      catch (NativeVisaException visaException)
      {
        Console.WriteLine("Couldn't connect.");
        Console.WriteLine("Error is:\r\n{0}\r\n", visaException);
        Console.WriteLine("Press any key to exit...");
        Console.ReadKey();
        return;
      }

      // Create a formatted I/O object which will help us format the
      // data we want to send/receive to/from the instrument
      MessageBasedFormattedIO myScope =
        new MessageBasedFormattedIO(session);

      // For Serial and TCP/IP socket connections enable the read
      // Termination Character, or read's will timeout
      if (session.ResourceName.Contains("ASRL") ||
          session.ResourceName.Contains("SOCKET"))
        session.TerminationCharacterEnabled = true;

      session.TimeoutMilliseconds = 20000;

      // Initialize - start from a known state.
      // ==============================================================
      string strResults;
      FileStream fStream;

      // Get and display the device's *IDN? string.
      myScope.WriteLine("*IDN?");
      strResults = myScope.ReadLine();
      Console.WriteLine("*IDN? result is: {0}", strResults);

      // Clear status and load the default setup.
      myScope.WriteLine("*CLS");
      myScope.WriteLine("*RST");

      // Capture data.
      // ==============================================================
      // Use auto-scale to automatically configure oscilloscope.
      myScope.WriteLine(":AUToscale");

      // Set trigger mode (EDGE, PULSe, PATTern, etc., and input source.
      myScope.WriteLine(":TRIGger:MODE EDGE");
      myScope.WriteLine(":TRIGger:MODE?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Trigger mode: {0}", strResults);

      // Set EDGE trigger parameters.
      myScope.WriteLine(":TRIGger:EDGE:SOURce CHANnel1");
      myScope.WriteLine(":TRIGger:EDGE:SOURce?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Trigger edge source: {0}", strResults);

      myScope.WriteLine(":TRIGger:EDGE:LEVel 1.5");
      myScope.WriteLine(":TRIGger:EDGE:LEVel?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Trigger edge level: {0}", strResults);

      myScope.WriteLine(":TRIGger:EDGE:SLOPe POSitive");
      myScope.WriteLine(":TRIGger:EDGE:SLOPe?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Trigger edge slope: {0}", strResults);

      // Save oscilloscope configuration.
      byte[] ResultsArray;   // Results array.
      int nLength;   // Number of bytes returned from instrument.
      string strPath;

      // Query and read setup string.
      myScope.WriteLine(":SYSTem:SETup?");
      ResultsArray = myScope.ReadLineBinaryBlockOfByte();
      nLength = ResultsArray.Length;

      // Write setup string to file.
      strPath = "c:\\scope\\config\\setup.scp";
      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.WriteLine(":CHANnel1:SCALe 0.05");
      myScope.WriteLine(":CHANnel1:SCALe?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Channel 1 vertical scale: {0}", strResults);

      myScope.WriteLine(":CHANnel1:OFFSet -1.5");
      myScope.WriteLine(":CHANnel1:OFFSet?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Channel 1 vertical offset: {0}", strResults);

      // Set horizontal scale and offset.
      myScope.WriteLine(":TIMebase:SCALe 0.0002");
      myScope.WriteLine(":TIMebase:SCALe?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Timebase scale: {0}", strResults);

      myScope.WriteLine(":TIMebase:POSition 0.0");
      myScope.WriteLine(":TIMebase:POSition?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Timebase position: {0}", strResults);

      // Set the acquisition type (NORMal, PEAK, or AVERage).
      myScope.WriteLine(":ACQuire:TYPE NORMal");
      myScope.WriteLine(":ACQuire:TYPE?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Acquire type: {0}", strResults);

      // Or, configure by loading a previously saved setup.
      byte[] DataArray;
      int nBytesWritten;

      // Read setup string from file.
      strPath = "c:\\scope\\config\\setup.scp";
      DataArray = File.ReadAllBytes(strPath);
      nBytesWritten = DataArray.Length;

      // Restore setup string.
      myScope.Write(":SYSTem:SETup ");
      myScope.WriteBinary(DataArray);
      myScope.WriteLine("");
      Console.WriteLine("Setup bytes restored: {0}", nBytesWritten);

      // Capture an acquisition using :DIGitize.
      myScope.WriteLine(":DIGitize CHANnel1");

      // Analyze the captured waveform.
      // ==============================================================

      // Make a couple of measurements.
      // -----------------------------------------------------------
      myScope.WriteLine(":MEASure:SOURce CHANnel1");
      myScope.WriteLine(":MEASure:SOURce?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Measure source: {0}", strResults);

      double fResult;
      myScope.WriteLine(":MEASure:FREQuency");
      myScope.WriteLine(":MEASure:FREQuency?");
      fResult = myScope.ReadLineDouble();
      Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000);

      myScope.WriteLine(":MEASure:VAMPlitude");
      myScope.WriteLine(":MEASure:VAMPlitude?");
      fResult = myScope.ReadLineDouble();
      Console.WriteLine("Vertical amplitude: {0:F2} V", fResult);

      // Download the screen image.
      // -----------------------------------------------------------

      // Get the screen data.
      myScope.WriteLine(":DISPlay:DATA? PNG");
      ResultsArray = myScope.ReadLineBinaryBlockOfByte();
      nLength = ResultsArray.Length;

      // Store the screen data to a file.
      strPath = "c:\\scope\\data\\screen.png";
      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.
      // -----------------------------------------------------------

      // Set the waveform points mode.
      myScope.WriteLine(":WAVeform:POINts:MODE RAW");
      myScope.WriteLine(":WAVeform:POINts:MODE?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Waveform points mode: {0}", strResults);

      // Get the number of waveform points available.
      myScope.WriteLine(":WAVeform:POINts 10240");
      myScope.WriteLine(":WAVeform:POINts?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Waveform points available: {0}", strResults);

      // Set the waveform source.
      myScope.WriteLine(":WAVeform:SOURce CHANnel1");
      myScope.WriteLine(":WAVeform:SOURce?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Waveform source: {0}", strResults);

      // Choose the format of the data returned (WORD, BYTE, ASCII):
      myScope.WriteLine(":WAVeform:FORMat WORD");
      myScope.WriteLine(":WAVeform:FORMat?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Waveform format: {0}", strResults);

      // Specify the byte order in the word format data:
      myScope.WriteLine(":WAVeform:BYTeorder MSBF");
      myScope.WriteLine(":WAVeform:BYTeorder?");
      strResults = myScope.ReadLine();
      Console.WriteLine("Waveform byte order: {0}", strResults);

      // Display the waveform settings:
      double[] fResultsArray;
      myScope.WriteLine(":WAVeform:PREamble?");
      fResultsArray = myScope.ReadLineListOfDouble();

      double fFormat = fResultsArray[0];
      if (fFormat == 0.0)
      {
        Console.WriteLine("Waveform format: BYTE");
      }
      else if (fFormat == 1.0)
      {
        Console.WriteLine("Waveform format: WORD");
      }
      else if (fFormat == 2.0)
      {
        Console.WriteLine("Waveform format: ASCii");
      }

      double fType = fResultsArray[1];
      if (fType == 0.0)
      {
        Console.WriteLine("Acquire type: NORMal");
      }
      else if (fType == 1.0)
      {
        Console.WriteLine("Acquire type: PEAK");
      }
      else if (fType == 2.0)
      {
        Console.WriteLine("Acquire type: AVERage");
      }

      double fPoints = fResultsArray[2];
      Console.WriteLine("Waveform points: {0:e}", fPoints);

      double fCount = fResultsArray[3];
      Console.WriteLine("Waveform average count: {0:e}", fCount);

      double fXincrement = fResultsArray[4];
      Console.WriteLine("Waveform X increment: {0:e}", fXincrement);

      double fXorigin = fResultsArray[5];
      Console.WriteLine("Waveform X origin: {0:e}", fXorigin);

      double fXreference = fResultsArray[6];
      Console.WriteLine("Waveform X reference: {0:e}", fXreference);

      double fYincrement = fResultsArray[7];
      Console.WriteLine("Waveform Y increment: {0:e}", fYincrement);

      double fYorigin = fResultsArray[8];
      Console.WriteLine("Waveform Y origin: {0:e}", fYorigin);

      double fYreference = fResultsArray[9];
      Console.WriteLine("Waveform Y reference: {0:e}", fYreference);

      // Read waveform data.
      ushort[] u16ResultsArray;   // Results array.
      myScope.WriteLine(":WAVeform:DATA?");
      u16ResultsArray = myScope.ReadLineBinaryBlockOfUInt16();
      nLength = u16ResultsArray.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 (int i = 0; i < nLength - 1; i++)
        writer.WriteLine("{0:f9}, {1:f6}",
            fXorigin + ((float)i * fXincrement),
            (((float)u16ResultsArray[i] - fYreference)
            * fYincrement) + fYorigin);

      // Close output file.
      writer.Close();
      Console.WriteLine("Waveform format WORD data written to {0}",
          strPath);

      // Close the connection to the instrument
      // --------------------------------------------------------------
      session.Dispose();

      Console.WriteLine("Press any key to exit...");
      Console.ReadKey();

    }
  }
}


VISA.NET Example in Visual Basic .NET

To compile and run this example in Microsoft Visual Studio 2019:

  1. Open Visual Studio.

  2. Create a new Visual Basic, Windows, Console Application project using the .NET Framework 4.7.2.

  3. Cut-and-paste the code that follows into the Visual Basic .NET source file.

  4. Edit the program to use the VISA address of your oscilloscope.

  5. Add a reference to the VISA.NET driver:

    1. Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.

    2. Choose Add > Reference....

    3. In the Reference Manager dialog box, under Assemblies, select Extensions.

    4. In the "Targeting: .NET Framework 4.7.2" list, select the Ivi.Visa Assembly check box; then, click OK.

  6. Specify the Startup object:

    1. Right-click the project you wish to modify (not the solution) in the Solution Explorer window of the Microsoft Visual Studio environment.

    2. Choose Properties.

    3. In the Properties dialog box, under Application, select the Startup object: field and choose Sub Main.

    4. Save your change and close the Properties dialog box.

  7. Build and run the program.

For more information, see the VISA.NET driver help that comes with Keysight Command Expert.

'
' Keysight VISA.NET Example in VB.NET
' -------------------------------------------------------------------
' This program illustrates a few commonly used programming
' features of your Keysight InfiniiVision oscilloscope.
' -------------------------------------------------------------------

Imports System
Imports System.IO
Imports System.Collections.Generic
Imports System.Text

Imports Ivi.Visa
Imports Ivi.Visa.FormattedIO

Namespace Example
  Class Program

    Public Shared Sub Main(args As String())
      ' Change this variable to the address of your instrument
      Dim VISA_ADDRESS As String = "USB0::0x2A8D::0x4704::Unset::0::INSTR"

      ' Create a connection (session) to the instrument
      Dim session As IMessageBasedSession
      Try
        session = TryCast(GlobalResourceManager.Open(VISA_ADDRESS),
            IMessageBasedSession)
      Catch visaException As NativeVisaException
        Console.WriteLine("Couldn't connect.")
        Console.WriteLine("Error is:" & vbCr & vbLf & "{0}" _
            & vbCr & vbLf, visaException)
        Console.WriteLine("Press any key to exit...")
        Console.ReadKey()
        Return
      End Try

      ' Create a formatted I/O object which will help us format the
      ' data we want to send/receive to/from the instrument
      Dim myScope As New MessageBasedFormattedIO(session)

      ' For Serial and TCP/IP socket connections enable the read
      ' Termination Character, or read's will timeout
      If session.ResourceName.Contains("ASRL") OrElse
        session.ResourceName.Contains("SOCKET") Then
        session.TerminationCharacterEnabled = True
      End If

      session.TimeoutMilliseconds = 20000

      ' Initialize - start from a known state.
      ' ==============================================================
      Dim strResults As String
      Dim fStream As FileStream

      ' Get and display the device's *IDN? string.
      myScope.WriteLine("*IDN?")
      strResults = myScope.ReadLine()
      Console.WriteLine("*IDN? result is: {0}", strResults)

      ' Clear status and load the default setup.
      myScope.WriteLine("*CLS")
      myScope.WriteLine("*RST")

      ' Capture data.
      ' ==============================================================
      ' Use auto-scale to automatically configure oscilloscope.
      myScope.WriteLine(":AUToscale")

      ' Set trigger mode (EDGE, PULSe, PATTern, etc., and input source.
      myScope.WriteLine(":TRIGger:MODE EDGE")
      myScope.WriteLine(":TRIGger:MODE?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Trigger mode: {0}", strResults)

      ' Set EDGE trigger parameters.
      myScope.WriteLine(":TRIGger:EDGE:SOURce CHANnel1")
      myScope.WriteLine(":TRIGger:EDGE:SOURce?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Trigger edge source: {0}", strResults)

      myScope.WriteLine(":TRIGger:EDGE:LEVel 1.5")
      myScope.WriteLine(":TRIGger:EDGE:LEVel?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Trigger edge level: {0}", strResults)

      myScope.WriteLine(":TRIGger:EDGE:SLOPe POSitive")
      myScope.WriteLine(":TRIGger:EDGE:SLOPe?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Trigger edge slope: {0}", strResults)

      ' Save oscilloscope configuration.
      Dim ResultsArray As Byte()
      ' Results array.
      Dim nLength As Integer
      ' Number of bytes returned from instrument.
      Dim strPath As String

      ' Query and read setup string.
      myScope.WriteLine(":SYSTem:SETup?")
      ResultsArray = myScope.ReadLineBinaryBlockOfByte()
      nLength = ResultsArray.Length

      ' Write setup string to file.
      strPath = "c:\scope\config\setup.scp"
      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.WriteLine(":CHANnel1:SCALe 0.05")
      myScope.WriteLine(":CHANnel1:SCALe?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Channel 1 vertical scale: {0}", strResults)

      myScope.WriteLine(":CHANnel1:OFFSet -1.5")
      myScope.WriteLine(":CHANnel1:OFFSet?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Channel 1 vertical offset: {0}", strResults)

      ' Set horizontal scale and offset.
      myScope.WriteLine(":TIMebase:SCALe 0.0002")
      myScope.WriteLine(":TIMebase:SCALe?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Timebase scale: {0}", strResults)

      myScope.WriteLine(":TIMebase:POSition 0.0")
      myScope.WriteLine(":TIMebase:POSition?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Timebase position: {0}", strResults)

      ' Set the acquisition type (NORMal, PEAK, or AVERage).
      myScope.WriteLine(":ACQuire:TYPE NORMal")
      myScope.WriteLine(":ACQuire:TYPE?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Acquire type: {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.scp"
      DataArray = File.ReadAllBytes(strPath)
      nBytesWritten = DataArray.Length

      ' Restore setup string.
      myScope.Write(":SYSTem:SETup ")
      myScope.WriteBinary(DataArray)
      myScope.WriteLine("")
      Console.WriteLine("Setup bytes restored: {0}", nBytesWritten)

      ' Capture an acquisition using :DIGitize.
      myScope.WriteLine(":DIGitize CHANnel1")

      ' Analyze the captured waveform.
      ' ==============================================================

      ' Make a couple of measurements.
      ' -----------------------------------------------------------
      myScope.WriteLine(":MEASure:SOURce CHANnel1")
      myScope.WriteLine(":MEASure:SOURce?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Measure source: {0}", strResults)

      Dim fResult As Double
      myScope.WriteLine(":MEASure:FREQuency")
      myScope.WriteLine(":MEASure:FREQuency?")
      fResult = myScope.ReadLineDouble()
      Console.WriteLine("Frequency: {0:F4} kHz", fResult / 1000)

      myScope.WriteLine(":MEASure:VAMPlitude")
      myScope.WriteLine(":MEASure:VAMPlitude?")
      fResult = myScope.ReadLineDouble()
      Console.WriteLine("Vertical amplitude: {0:F2} V", fResult)

      ' Download the screen image.
      ' -----------------------------------------------------------

      ' Get the screen data.
      myScope.WriteLine(":DISPlay:DATA? PNG")
      ResultsArray = myScope.ReadLineBinaryBlockOfByte()
      nLength = ResultsArray.Length

      ' Store the screen data to a file.
      strPath = "c:\scope\data\screen.png"
      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.
      ' -----------------------------------------------------------

      ' Set the waveform points mode.
      myScope.WriteLine(":WAVeform:POINts:MODE RAW")
      myScope.WriteLine(":WAVeform:POINts:MODE?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Waveform points mode: {0}", strResults)

      ' Get the number of waveform points available.
      myScope.WriteLine(":WAVeform:POINts 10240")
      myScope.WriteLine(":WAVeform:POINts?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Waveform points available: {0}", strResults)

      ' Set the waveform source.
      myScope.WriteLine(":WAVeform:SOURce CHANnel1")
      myScope.WriteLine(":WAVeform:SOURce?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Waveform source: {0}", strResults)

      ' Choose the format of the data returned (WORD, BYTE, ASCII):
      myScope.WriteLine(":WAVeform:FORMat WORD")
      myScope.WriteLine(":WAVeform:FORMat?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Waveform format: {0}", strResults)

      ' Specify the byte order in the word format data:
      myScope.WriteLine(":WAVeform:BYTeorder MSBF")
      myScope.WriteLine(":WAVeform:BYTeorder?")
      strResults = myScope.ReadLine()
      Console.WriteLine("Waveform byte order: {0}", strResults)

      ' Display the waveform settings:
      Dim fResultsArray As Double()
      myScope.WriteLine(":WAVeform:PREamble?")
      fResultsArray = myScope.ReadLineListOfDouble()

      Dim fFormat As Double = fResultsArray(0)
      If fFormat = 0.0 Then
        Console.WriteLine("Waveform format: BYTE")
      ElseIf fFormat = 1.0 Then
        Console.WriteLine("Waveform format: WORD")
      ElseIf fFormat = 2.0 Then
        Console.WriteLine("Waveform format: ASCii")
      End If

      Dim fType As Double = fResultsArray(1)
      If fType = 0.0 Then
        Console.WriteLine("Acquire type: NORMal")
      ElseIf fType = 1.0 Then
        Console.WriteLine("Acquire type: PEAK")
      ElseIf fType = 2.0 Then
        Console.WriteLine("Acquire type: AVERage")
      End If

      Dim fPoints As Double = fResultsArray(2)
      Console.WriteLine("Waveform points: {0:e}", fPoints)

      Dim fCount As Double = fResultsArray(3)
      Console.WriteLine("Waveform average count: {0:e}", fCount)

      Dim fXincrement As Double = fResultsArray(4)
      Console.WriteLine("Waveform X increment: {0:e}", fXincrement)

      Dim fXorigin As Double = fResultsArray(5)
      Console.WriteLine("Waveform X origin: {0:e}", fXorigin)

      Dim fXreference As Double = fResultsArray(6)
      Console.WriteLine("Waveform X reference: {0:e}", fXreference)

      Dim fYincrement As Double = fResultsArray(7)
      Console.WriteLine("Waveform Y increment: {0:e}", fYincrement)

      Dim fYorigin As Double = fResultsArray(8)
      Console.WriteLine("Waveform Y origin: {0:e}", fYorigin)

      Dim fYreference As Double = fResultsArray(9)
      Console.WriteLine("Waveform Y reference: {0:e}", fYreference)

      ' Read waveform data.
      Dim u16ResultsArray As UShort()
      myScope.WriteLine(":WAVeform:DATA?")
      u16ResultsArray = myScope.ReadLineBinaryBlockOfUInt16()
      nLength = u16ResultsArray.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 = 0 To nLength - 2
        writer.WriteLine("{0:f9}, {1:f6}",
            fXorigin + (CSng(i) * fXincrement),
            ((CSng(u16 ResultsArray(i)) - fYreference) _
            * fYincrement) + fYorigin)
      Next

      ' Close output file.
      writer.Close()
      Console.WriteLine("Waveform format WORD data written to {0}",
          strPath)

      ' Close the connection to the instrument
      ' --------------------------------------------------------------
      session.Dispose()

      Console.WriteLine("Press any key to exit...")
      Console.ReadKey()

    End Sub
  End Class
End Namespace


VISA.NET Example in Python

You can use the Python programming language with the "Python.NET" package (or IronPython) to control Keysight oscilloscopes.

The Python language and "Python.NET" package can be downloaded from the web at http://www.python.org/ and http://pythonnet.github.io/, respectively.

To run this example with Python and "Python.NET":

  1. Cut-and-paste the code that follows into a file named "example.py".

  2. Edit the program to use the VISA address of your oscilloscope.

  3. If "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

#!python3
# -*- coding: utf-8 -*-

# Keysight VISA.NET Example in Python.NET or IronPython
# *********************************************************
# This program illustrates a few commonly-used programming
# features of your Keysight InfiniiVision oscilloscope.
# *********************************************************

# Import Python modules.
# ---------------------------------------------------------
import sys
sys.path.append("C:\\Program Files\\IVI Foundation\\VISA\\Microsoft.NET\\Framework64\\v2.0.50727\\VISA.NET Shared Components 7.2.0")

# Import .NET modules.
# ---------------------------------------------------------
import clr
clr.AddReference("Ivi.Visa")
from Ivi.Visa import *
from Ivi.Visa.FormattedIO import *
from System import *
from System.IO import *

# Global variables.
# ---------------------------------------------------------
visa_addr = "USB0::0x2A8D::0x4704::Unset::0::INSTR"
io_timeout_ms = 20000
input_channel = "CHANnel1"
# input_channel = "CHANnel2"
setup_file_name = "setup.scp"
screen_image_file_name = "screen_image.png"
waveform_data_file_name = "waveform_data.csv"

# =========================================================
# Check for instrument errors:
# =========================================================
def check_instrument_errors(when):

 errors_found = False
 while True:
  # Keep reading errors until "No error".
  myScope.WriteLine(":SYSTem:ERRor?")
  error_string = myScope.ReadLine().strip()
  if error_string:   # If there is an error string value.

   if error_string.find("+0,", 0, 3) == -1:   # Not "No error".
    errors_found = True
    print(f"ERROR: {error_string}")

   else:   # "No error"
    break

  else:   # :SYSTem:ERRor? should always return string.
   errors_found = True
   print("ERROR: ':SYSTem:ERRor?' empty.")
   break

 if errors_found:
   print(f"Exited because error(s) found when: '{when}'")
   sys.exit(1)

# =========================================================
# Initialize:
# =========================================================
def initialize():

 # Get and display the device's *IDN? string.
 myScope.WriteLine("*IDN?")
 idn_string = myScope.ReadLine().strip()
 print(f"Identification string: '{idn_string}'")

 # Clear status and load the default setup.
 myScope.WriteLine("*CLS")
 myScope.WriteLine("*RST")

# =========================================================
# Capture:
# =========================================================
def capture():

 # Display the input channel.
 myScope.WriteLine(":CHANnel1:DISPlay OFF")
 myScope.WriteLine(f":{input_channel}:DISPlay ON")

 # Use auto-scale to automatically set up oscilloscope.
 print("Autoscale.")
 myScope.WriteLine(":AUToscale:CHANnels DISPlayed")
 myScope.WriteLine(":AUToscale")

 # Set trigger mode.
 myScope.WriteLine(":TRIGger:MODE EDGE")
 myScope.WriteLine(":TRIGger:MODE?")
 qresult = myScope.ReadLine().strip()
 print(f"Trigger mode: {qresult}")

 # Set EDGE trigger parameters.
 myScope.WriteLine(f":TRIGger:EDGE:SOURce {input_channel}")
 myScope.WriteLine(":TRIGger:EDGE:SOURce?")
 qresult = myScope.ReadLine().strip()
 print(f"Trigger edge source: {qresult}")

 myScope.WriteLine(":TRIGger:EDGE:LEVel 1.5")
 myScope.WriteLine(":TRIGger:EDGE:LEVel?")
 qresult = myScope.ReadLine().strip()
 print(f"Trigger edge level: {qresult}")

 myScope.WriteLine(":TRIGger:EDGE:SLOPe POSitive")
 myScope.WriteLine(":TRIGger:EDGE:SLOPe?")
 qresult = myScope.ReadLine().strip()
 print(f"Trigger edge slope: {qresult}")

 # Save oscilloscope setup to file.
 myScope.WriteLine(":SYSTem:SETup?")
 setup_bytes = myScope.ReadLineBinaryBlockOfByte()
 File.WriteAllBytes(setup_file_name, setup_bytes)
 print(f"Setup bytes saved: {len(setup_bytes)}")

 # Change settings with individual commands:

 # Set vertical scale and offset.
 myScope.WriteLine(f":{input_channel}:SCALe 0.05")
 myScope.WriteLine(f":{input_channel}:SCALe?")
 qresult = myScope.ReadLine().strip()
 print(f"{input_channel} vertical scale: {qresult}")

 myScope.WriteLine(f":{input_channel}:OFFSet -1.5")
 myScope.WriteLine(f":{input_channel}:OFFSet?")
 qresult = myScope.ReadLine().strip()
 print(f"{input_channel} offset: {qresult}")

 # Set horizontal scale and offset.
 myScope.WriteLine(":TIMebase:SCALe 0.0002")
 myScope.WriteLine(":TIMebase:SCALe?")
 qresult = myScope.ReadLine().strip()
 print(f"Timebase scale: {qresult}")

 myScope.WriteLine(":TIMebase:POSition 0.0")
 myScope.WriteLine(":TIMebase:POSition?")
 qresult = myScope.ReadLine().strip()
 print(f"Timebase position: {qresult}")

 # Set the acquisition type.
 myScope.WriteLine(":ACQuire:TYPE NORMal")
 myScope.WriteLine(":ACQuire:TYPE?")
 qresult = myScope.ReadLine().strip()
 print(f"Acquire type: {qresult}")

 # Or, configure by loading a previously saved setup.

 # Read setup string from file.
 setup_bytes = File.ReadAllBytes(setup_file_name)

 # Restore setup string.
 myScope.Write(":SYSTem:SETup ")
 write_binary = myScope.WriteBinary.Overloads[Array[Byte]]
 write_binary(setup_bytes)
 myScope.WriteLine("")
 print(f"Setup bytes restored: {len(setup_bytes)}")

 # Capture an acquisition using :DIGitize.
 myScope.WriteLine(f":DIGitize {input_channel}")

# =========================================================
# Analyze:
# =========================================================
def analyze():

 # Make measurements.
 # --------------------------------------------------------
 myScope.WriteLine(f":MEASure:SOURce {input_channel}")
 myScope.WriteLine(":MEASure:SOURce?")
 qresult = myScope.ReadLine().strip()
 print(f"Measure source: {qresult}")

 myScope.WriteLine(":MEASure:FREQuency")
 myScope.WriteLine(":MEASure:FREQuency?")
 qresult = myScope.ReadLineDouble()
 print(f"Measured frequency on {input_channel}: {qresult:f}")

 myScope.WriteLine(":MEASure:VAMPlitude")
 myScope.WriteLine(":MEASure:VAMPlitude?")
 qresult = myScope.ReadLineDouble()
 print(f"Measured vertical amplitude on {input_channel}: {qresult:f}")

 # Download the screen image.
 # --------------------------------------------------------

 # Get the screen data.
 myScope.WriteLine(":DISPlay:DATA? PNG")
 image_bytes = myScope.ReadLineBinaryBlockOfByte()
 image_bytes_length = len(image_bytes)
 fStream = File.Open(screen_image_file_name, FileMode.Create)
 fStream.Write(image_bytes, 0, image_bytes_length)
 fStream.Close()
 print(f"Screen image written to {screen_image_file_name}.")

 # Download waveform data.
 # --------------------------------------------------------

 # Set the waveform source.
 myScope.WriteLine(f":WAVeform:SOURce {input_channel}")
 myScope.WriteLine(":WAVeform:SOURce?")
 qresult = myScope.ReadLine().strip()
 print(f"Waveform source: {qresult}")

 # Set the waveform points mode.
 myScope.WriteLine(":WAVeform:POINts:MODE RAW")
 myScope.WriteLine(":WAVeform:POINts:MODE?")
 qresult = myScope.ReadLine().strip()
 print(f"Waveform points mode: {qresult}")

 # Get the number of waveform points available.
 myScope.WriteLine(":WAVeform:POINts 10240")
 myScope.WriteLine(":WAVeform:POINts?")
 qresult = myScope.ReadLine().strip()
 print(f"Waveform points available: {qresult}")

 # Choose the format of the data returned (BYTE or WORD):
 myScope.WriteLine(":WAVeform:FORMat WORD")
 myScope.WriteLine(":WAVeform:FORMat?")
 qresult = myScope.ReadLine().strip()
 print(f"Waveform format: {qresult}")

 # Display the waveform settings from preamble:
 wav_form_dict = {
  0 : "BYTE",
  1 : "WORD",
  4 : "ASCii",
 }
 acq_type_dict = {
  0 : "NORMal",
  1 : "PEAK",
  2 : "AVERage",
 }

 myScope.WriteLine(":WAVeform:PREamble?")
 (
  wav_form, acq_type, wfmpts, avgcnt, x_increment, x_origin,
  x_reference, y_increment, y_origin, y_reference
 ) = myScope.ReadLine().split(",")

 print(f"Waveform format: {wav_form_dict[int(wav_form)]}")
 print(f"Acquire type: {acq_type_dict[int(acq_type)]}")
 print(f"Waveform points desired: {wfmpts}")
 print(f"Waveform average count: {avgcnt}")
 print(f"Waveform X reference: {x_reference}")   # Always 0.

 # Get numeric values for later calculations.
 myScope.WriteLine(":WAVeform:XINCrement?")
 x_increment = myScope.ReadLineDouble()
 print(f"Waveform X increment: {x_increment}")
 myScope.WriteLine(":WAVeform:XORigin?")
 x_origin = myScope.ReadLineDouble()
 print(f"Waveform X origin: {x_origin}")
 myScope.WriteLine(":WAVeform:YINCrement?")
 y_increment = myScope.ReadLineDouble()
 print(f"Waveform Y increment: {y_increment}")
 myScope.WriteLine(":WAVeform:YORigin?")
 y_origin = myScope.ReadLineDouble()
 print(f"Waveform Y origin: {y_origin}")
 myScope.WriteLine(":WAVeform:YREFerence?")
 y_reference = myScope.ReadLineDouble()
 print(f"Waveform Y reference: {y_reference}")

 # Specify the byte order in WORD data.
 myScope.WriteLine(":WAVeform:BYTeorder MSBF")
 myScope.WriteLine(":WAVeform:BYTeorder?")
 qresult = myScope.ReadLine().strip()
 print(f"Waveform byte order for WORD data: {qresult}")

 # Get the waveform data values.
 myScope.WriteLine(":WAVeform:DATA?")
 values = myScope.ReadLineBinaryBlockOfUInt16()
 values_length = len(values)
 print(f"Number of data values: {values_length}")

 # Open file for output.
 writer = File.CreateText(waveform_data_file_name)

 # Output waveform data in CSV format.
 for i in range(0, values_length - 1):
  time_val = x_origin + i * x_increment
  voltage = (values[i] - y_reference) * y_increment + y_origin
  writer.WriteLine(f"{time_val:E}, {voltage:f}")

 # Close output file.
 writer.Close()
 print(f"Waveform format WORD data written to {waveform_data_file_name}.")

# =========================================================
# Main program:
# =========================================================
session = GlobalResourceManager.Open(visa_addr)
session.TimeoutMilliseconds = io_timeout_ms
myScope = MessageBasedFormattedIO(session)

# Initialize the oscilloscope, capture data, and analyze.
initialize()
capture()
analyze()

# Check for oscilloscope instrument errors.
check_instrument_errors("End of program")

# Close the connection to the instrument
session.Dispose()
print("End of program.")

# Wait for a key press before exiting.
print("Press any key to exit...")
Console.ReadKey(True)


SICL Examples

  • SICL Example in C


SICL Example in C

To compile and run this example in Microsoft Visual Studio 2019:

  1. Open Visual Studio.

  2. Create a new Visual C++, Windows, Console, Empty project.

  3. Cut-and-paste the code that follows into a file named "example.c" in the project directory.

  4. In Visual Studio 2019, right-click the Source Files folder, choose Add > Add Existing Item..., select the example.c file, and click Add.

  5. Change the build target from "x86" to "x64".

  6. Edit the program to use the VISA address of your oscilloscope.

  7. In the Solution Explorer, right-click the project (not the solution), and choose Properties. In the Property Pages dialog box, update these project settings:

    1. Under Configuration Properties, Linker, Input, add "sicl32.lib" to the Additional Dependencies field.

    2. Under Configuration Properties, C/C++, Code Generation, select Multi-threaded DLL for the Runtime Library field.

    3. Under Configuration Properties, C/C++, Preprocessor, add "_CRT_SECURE_NO_WARNINGS" to the Preprocessor Definitions.

    4. Under Configuration Properties, VC++ Directories, show directories for Include Directories, and add the include directory (for example, Program Files\Keysight\IO Libraries Suite\include).

    5. Under Configuration Properties, VC++ Directories, show directories for Library Directories, and add the library files directory (for example, Program Files\Keysight\IO Libraries Suite\lib_x64).

    6. Click OK to close the Property Pages dialog.

  8. Build and run the program.

/*
 * Keysight SICL Example in C
 * ------------------------------------------------------------------
 * This program illustrates a few commonly-used programming
 * features of your Keysight oscilloscope.
 */

#include <stdio.h>            /* For printf(). */
#include <string.h>           /* For strcpy(), strcat(). */
#include <time.h>             /* For clock(). */
#include <sicl.h>             /* Keysight SICL routines. */

#define SICL_ADDRESS      "usb0[10893::18180::Unset::0]"
#define TIMEOUT           5000
#define IEEEBLOCK_SPACE   3000000

 /* 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. */
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(). */
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.  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");
    }

    /* 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)
{
    /* Set the I/O timeout value for this session to 5 seconds. */
    itimeout(id, TIMEOUT);

    /* Clear the interface. */
    iclear(id);

    /* Get and display the device's *IDN? string. */
    do_query_string("*IDN?");
    printf("Oscilloscope *IDN? string: %s\n", str_result);

    /* Clear status and load the default setup. */
    do_command("*CLS");
    do_command("*RST");
}

/* Capture the waveform.
 * --------------------------------------------------------------- */
void capture(void)
{
    int num_bytes;
    FILE* fp;

    /* Use auto-scale to automatically configure oscilloscope.
     * ------------------------------------------------------------- */
    do_command(":AUToscale");

    /* Set trigger mode (EDGE, PULSe, PATTern, etc., and input source. */
    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:EDGE:LEVel 1.5");
    do_query_string(":TRIGger:EDGE:LEVel?");
    printf("Trigger edge level: %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_bytes = do_query_ieeeblock(":SYSTem:SETup?");
    printf("Read setup string query (%d bytes).\n", num_bytes);

    /* Write setup string to file. */
    fp = fopen("c:\\scope\\config\\setup.scp", "wb");
    num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,
        fp);
    fclose(fp);
    printf("Wrote setup string (%d bytes) to ", num_bytes);
    printf("c:\\scope\\config\\setup.scp.\n");

    /* Change settings with individual commands:
     * ------------------------------------------------------------- */

     /* Set vertical scale and offset. */
    do_command(":CHANnel1:SCALe 0.05");
    do_query_string(":CHANnel1:SCALe?");
    printf("Channel 1 vertical scale: %s\n", str_result);

    do_command(":CHANnel1:OFFSet -1.5");
    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 type (NORMal, PEAK, or AVERage). */
    do_command(":ACQuire:TYPE NORMal");
    do_query_string(":ACQuire:TYPE?");
    printf("Acquire type: %s\n", str_result);

    /* Or, configure by loading a previously saved setup.
    * ------------------------------------------------------------- */

    /* Read setup string from file. */
    fp = fopen("c:\\scope\\config\\setup.scp", "rb");
    num_bytes = fread(ieeeblock_data, sizeof(unsigned char),
        IEEEBLOCK_SPACE, fp);
    fclose(fp);
    printf("Read setup string (%d bytes) from file ", num_bytes);
    printf("c:\\scope\\config\\setup.scp.\n");

    /* Restore setup string. */
    num_bytes = do_command_ieeeblock(":SYSTem:SETup", num_bytes);
    printf("Restored setup string (%d bytes).\n", num_bytes);

    /* Capture an acquisition using :DIGitize.
     * ------------------------------------------------------------- */
    do_command(":DIGitize CHANnel1");
}

/* 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 x_reference;
    double y_increment;
    double y_origin;
    double y_reference;

    FILE* fp;
    int num_bytes;   /* Number of bytes returned from instrument. */
    int i;

    /* Make a couple of 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_bytes = do_query_ieeeblock(":DISPlay:DATA? PNG");
    printf("Screen image bytes: %d\n", num_bytes);

    /* Write screen image bytes to file. */
    fp = fopen("c:\\scope\\data\\screen.png", "wb");
    num_bytes = fwrite(ieeeblock_data, sizeof(unsigned char), num_bytes,
        fp);
    fclose(fp);
    printf("Wrote screen image (%d bytes) to ", num_bytes);
    printf("c:\\scope\\data\\screen.png.\n");

    /* Download waveform data.
     * ------------------------------------------------------------- */

     /* Set the waveform points mode. */
    do_command(":WAVeform:POINts:MODE RAW");
    do_query_string(":WAVeform:POINts:MODE?");
    printf("Waveform points mode: %s\n", str_result);

    /* Get the number of waveform points available. */
    do_command(":WAVeform:POINts 10240");
    do_query_string(":WAVeform:POINts?");
    printf("Waveform points available: %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 (WORD, BYTE, ASCII): */
    do_command(":WAVeform:FORMat WORD");
    do_query_string(":WAVeform:FORMat?");
    printf("Waveform format: %s\n", str_result);

    /* Specify the byte order in the word format data: */
    do_command(":WAVeform:BYTeorder LSBF");
    do_query_string(":WAVeform:BYTeorder?");
    printf("Waveform byte order: %s\n", str_result);

    /* Display the waveform settings: */
    do_query_numbers(":WAVeform:PREamble?");

    wav_format = dbl_results[0];
    if (wav_format == 0.0)
    {
        printf("Waveform format: BYTE\n");
    }
    else if (wav_format == 1.0)
    {
        printf("Waveform format: WORD\n");
    }
    else if (wav_format == 2.0)
    {
        printf("Waveform format: ASCii\n");
    }

    acq_type = dbl_results[1];
    if (acq_type == 0.0)
    {
        printf("Acquire type: NORMal\n");
    }
    else if (acq_type == 1.0)
    {
        printf("Acquire type: PEAK\n");
    }
    else if (acq_type == 2.0)
    {
        printf("Acquire type: AVERage\n");
    }

    wav_points = dbl_results[2];
    printf("Waveform points: %e\n", wav_points);

    avg_count = dbl_results[3];
    printf("Waveform average count: %e\n", avg_count);

    x_increment = dbl_results[4];
    printf("Waveform X increment: %e\n", x_increment);

    x_origin = dbl_results[5];
    printf("Waveform X origin: %e\n", x_origin);

    x_reference = dbl_results[6];
    printf("Waveform X reference: %e\n", x_reference);

    y_increment = dbl_results[7];
    printf("Waveform Y increment: %e\n", y_increment);

    y_origin = dbl_results[8];
    printf("Waveform Y origin: %e\n", y_origin);

    y_reference = dbl_results[9];
    printf("Waveform Y reference: %e\n", y_reference);

    /* Read waveform data. */
    num_bytes = do_query_ieeeblock(":WAVeform:DATA?");
    printf("Number of data values: %d\n", num_bytes / 2);

    /* Open file for output. */
    fp = fopen("c:\\scope\\data\\waveform_data.csv", "wb");

    /* Output waveform data in CSV format. */
    for (i = 0; i < num_bytes - 1; i+=2)
    {
        /* Write time value, voltage value. */
        fprintf(fp, "%9f, %6f\n",
            x_origin + ((float)(i / 2) * x_increment),
            (((float)(ieeeblock_data[i] + (ieeeblock_data[i + 1] * 256))
            - y_reference) * 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);

    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");
    }

    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?\n", "%t", str_err_val);
    while (strncmp(str_err_val, "+0,No error", 3) != 0)
    {
        strcat(str_out, ", ");
        strcat(str_out, str_err_val);
        ipromptf(id, ":SYSTem:ERRor?\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);
    }
}


SCPI.NET Examples

You can also program the oscilloscope using the SCPI.NET drivers that come with Keysight's free Command Expert software.

While you can write code manually using the SCPI.NET drivers, 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.

To download the Keysight Command Expert software, see: http://www.keysight.com/find/commandexpert

For more on programming with the SCPI.NET drivers, see "Using SCPI.NET Drivers" in the help that comes with Keysight Command Expert.


Legal Notice

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.


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.


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.


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.