Copyright: Agilent 54620/40-Series Oscilloscopes Programmer's Reference, Version A.02.31, Copyright © 2000-2002 Agilent Technologies


 Contents

Agilent 54620-Series and 54640-Series Oscilloscopes
Programmer's Reference (Revision A.02.31)

This online help file supplements the Agilent 54620-Series and 54640-Series Programmer's Guide. It gives detailed information on all the commands available for control of these oscilloscope models:

54621A Oscilloscope

54622A Oscilloscope

54624A Oscilloscope

54641A Oscilloscope

54642A Oscilloscope

54621D Mixed-Signal Oscilloscope

54622D Mixed-Signal Oscilloscope

54641D Mixed-Signal Oscilloscope

54642D Mixed-Signal Oscilloscope

Commands by Subsystem

Commands A-Z

Obsolete and Discontinued Commands

Subsystem Introduction

Error Messages

Programming Examples

Conventions

See your instrument's User's Guide for more information on front-panel operation of the oscilloscopes.

Channels differ on oscilloscopes and mixed-signal oscilloscopes

Because both the oscilloscopes and the mixed-signal oscilloscopes have analog channels, commands for all contain references to analog channels. Whenever a topic references the digital channels, that information applies only to the mixed-signal oscilloscopes.

Example Code

The example programs are designed to work with multiple 54600-Series Oscilloscopes. Therefore, the commands may not match the example code exactly, but the example code should run because of the designed-in backward compatibility with earlier commands.


Command Overview
Subsystem Introduction

ACQuire Subsystem Introduction

CALibrate Subsystem Introduction

CHANnel<n> Subsystem Introduction

Common Command Introduction

DIGital Subsystem Introduction

DISPlay Subsystem Introduction

EXTernal Trigger Introduction

FUNCtion Subsystem Introduction

HARDcopy Subsystem Introduction

MARKer Subsystem Introduction

MEASure Subsystem Introduction

POD Subsystem Introduction

Root Subsystem Introduction

SYSTem Subsystem Introduction

TIMebase Subsystem Introduction

TRIGger Subsystem Introduction

WAVeform Subsystem Introduction


Programming Examples

Example BASIC Program for GPIB

Example C Program for GPIB

Example BASIC Program for RS-232

Example Program Execution Instructions


Commands by Category
Commands by Subsystem

ACQuire Commands

CALibrate Commands

CHANnel<n> Commands

Common Commands

DIGital<n> Commands

DISPlay Commands

EXTernal Trigger Subsystem

FUNCtion Commands

HARDcopy Commands

MARKer Commands

MEASure Commands

POD Commands

Root Commands

SYSTem Commands

TIMebase Commands

TRIGger Commands

WAVeform Commands


Commands A-Z (Expanded Menu)
Commands A-Z

Collapse Menu

A

ACKNowledge

:ACQuire:COMPlete

:ACQuire:COUNt

:ACQuire:MODE

:ACQuire:POINts

:ACQuire:SRATe

:ACQuire:TYPE

:ACTivity

:ADDRess

:AER

:AUToscale

B

:BAUDrate

:BLANk

:BWLimit

:BYTeorder

C

:CALibrate:DATE

:CALibrate:LABel

:CALibrate:SWITch

:CALibrate:TIME

CAN TRIGger Commands

:CDISplay

:CENTer

:CHANnel:ACTivity

:CHANnel:LABel

:CHANnel:THReshold

:CHANnel2:SKEW

:CHANnel<n>:BWLimit

:CHANnel<n>:COUPling

:CHANnel<n>:DISPlay

:CHANnel<n>:IMPedance

:CHANnel<n>:INPut

:CHANnel<n>:INVert

:CHANnel<n>:LABel

:CHANnel<n>:OFFSet

:CHANnel<n>:PMODe

:CHANnel<n>:PROBe

:CHANnel<n>:PROBe:SKEW

:CHANnel<n>:PROTection

:CHANnel<n>:RANGe

:CHANnel<n>:SCALe

:CLEAR

:CLOCk

*CLS

:COMPlete

:CONNect

:COUNt

:COUNter

:COUPling

D

:DATA

:DATE

:DEFine

:DEFinition

:DELay

:DESTination

:DEVice

:DIGital:DISPlay

:DIGital:LABel

:DIGital:POSition

:DIGital:THReshold

:DIGitize

:DISPlay

:DISPlay:CLEar

:DISPlay:CONNect

:DISPlay:DATA

:DISPlay:LABel

:DISPlay:LABList

:DISPlay:ORDer

:DISPlay:PERSistence

:DISPlay:SOURce

:DISPlay:VECTors

*DMC

:DMINus

:DPLus

:DSP

DURation TRIGger Commands

:DUTYcycle

E

EDGE TRIGger Commands

*EMC

:ERASe

:ERRor

*ESE

*ESR

:EXTernal:BWLimit

:EXTernal:IMPedance

:EXTernal:INPut

:EXTernal:PMODe

:EXTernal:PROBe

:EXTernal:PROTection

:EXTernal:RANGe

F

:FACTors

:FALLtime

:FFEed

:FIND

:FORMat

:FRAME

:FRAMing

:FREQuency

:FUNCtion:CENTer

:FUNCtion:DISPlay

:FUNCtion:OFFSet

:FUNCtion:OPERation

:FUNCtion:RANGe

:FUNCtion:REFerence

:FUNCtion:SCALe

:FUNCtion:SOURce

:FUNCtion:SPAN

:FUNCtion:VIEW

:FUNCtion:WINDow

G

GLITch TRIGger Commands (Pulse Width trigger)

*GMC

:GRAYscale

:GREaterthan

H

:HARDcopy:DESTination

:HARDcopy:DEVice

:HARDcopy:FACTors

:HARDcopy:FFEed

:HARDcopy:FORMat

:HARDcopy:GRAYscale

:HFReject

:HOLDoff

I

:ID

*IDN

IIC TRIGger Commands

:IMPedance

:INVert

L

:LABel

:LABList

:LENGth

:LESSthan

:LEVel

LIN TRIGger Commands

:LINE

*LMC

:LOCK

:LOWer

*LRN

M

:MARKer:MODE

:MARKer:X1Position

:MARKer:X1Y1source

:MARKer:X2Position

:MARKer:X2Y2source

:MARKer:XDELta

:MARKer:Y1Position

:MARKer:Y2Position

:MARKer:YDELta

:MEASure:CLEar

:MEASure:COUNter

:MEASure:DEFine

:MEASure:DELay

:MEASure:DUTYcycle

:MEASure:FALLtime

:MEASure:FREQuency

:MEASure:LOWer

:MEASure:NWIDth

:MEASure:OVERshoot

:MEASure:PERiod

:MEASure:PHASe

:MEASure:PREShoot

:MEASure:PWIDth

:MEASure:RISetime

:MEASure:SCRatch

:MEASure:SHOW

:MEASure:SOURce

:MEASure:TDELta

:MEASure:TEDGe

:MEASure:THResholds

:MEASure:TMAX

:MEASure:TMIN

:MEASure:TSTArt

:MEASure:TSTOp

:MEASure:TVALue

:MEASure:TVOLt

:MEASure:UPPer

:MEASure:VAMPlitude

:MEASure:VAVerage

:MEASure:VBASe

:MEASure:VDELta

:MEASure:VMAX

:MEASure:VMIN

:MEASure:VPP

:MEASure:VRMS

:MEASure:VSTArt

:MEASure:VSTOp

:MEASure:VTIMe

:MEASure:VTOP

:MEASure:XMAX

:MEASure:XMIN

:MERGe

:MODE

N

:NREJect

:NWIDth

O

:OFFSet

*OPC

:OPEE

:OPER

:OPERation

*OPT

:ORDer

:OVERshoot

:OVLenable

:OVLRegister

P

:PATTern

:PERiod

:PERSistence

:PHASe

*PMC

:PMODe

:POD:DISPlay

:POD:THReshold

:PMODe

:POINts

:POLarity

:POSition

:PREamble

:PREShoot

:PRINt

:PROBe

:PROTection

Pulse Width (GLITch) TRIGger Commands

:PWIDth

Q

:QUALifier

R

:RANGe

*RCL

:REFerence

:REJect

:RESet

:RISetime

Root

*RST

:RUN

S

SAMPlepoint

*SAV

:SCALe

:SCRatch

:SERial

:SETup

SEQuence TRIGger Commands

:SHOW

:SIGNal

:SINGle

SKEW

:SLOPe

:SOURce

:SPAN

:SPEed

SPI TRIGger Commands

:SRATe

*SRE

:STANdard

:STATus

*STB

:STOP

:SWEep

:SWITch

:SYSTem:DATE

:SYSTem:DSP

:SYSTem:ERRor

:SYSTem:LOCK

:SYSTem:SETup

:SYSTem:TIME

T

:TDELta

:TEDGe

:TER

:THReshold

:THResholds

:TIME

:TIMebase:DELay

:TIMebase:MODE

:TIMebase:POSition

:TIMebase:RANGe

:TIMebase:REFerence

:TIMebase:SCALe

:TIMebase:WINDow:POSition

:TIMebase:WINDow:RANGe

:TIMebase:WINDow:SCALe

:TIMeout:

:TIMer:

:TMAX

:TMIN

*TRG

:TRIGger

:TRIGger:HFReject

:TRIGger:HOLDoff

:TRIGger:MODE

:TRIGger:NREJect

:TRIGger:PATTern

:TRIGger:SWEep

:TRIGger:THReshold

:TRIGger:CAN:ACKNowledge

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:CAN:SAMPlepoint

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:CAN:SOURce

:TRIGger:CAN:TRIGger

:TRIGger:DURation:GREaterthan

:TRIGger:DURation:LESSthan

:TRIGger:DURation:PATTern

:TRIGger:DURation:QUALifier

:TRIGger:DURation:RANGe

:TRIGger:EDGE:COUPling

:TRIGger:EDGE:LEVel

:TRIGger:EDGE:REJect

:TRIGger:EDGE:SLOPe

:TRIGger:EDGE:SOURce

:TRIGger:GLITch:GREaterthan

:TRIGger:GLITch:LESSthan

:TRIGger:GLITch:LEVel

:TRIGger:GLITch:POLarity

:TRIGger:GLITch:QUALifier

:TRIGger:GLITch:RANGe

:TRIGger:GLITch:SOURce

:TRIGger:HFReject

:TRIGger:HOLDoff

:TRIGger:IIC:PATTern:ADDRess

:TRIGger:IIC:PATTern:DATA

:TRIGger:IIC:SOURce:CLOCk

:TRIGger:IIC:SOURce:DATA

:TRIGger:IIC:TRIGger:QUALifier

:TRIGger:IIC:TRIGger:TYPE

:TRIGger:LIN:SIGNal:BAUDrate

:TRIGger:LIN:SIGNal:DEFinition

:TRIGger:LIN:SOURce

:TRIGger:LIN:TRIGger

:TRIGger:MODE

:TRIGger:NREJect

:TRIGger:PATTern

:TRIGger:SEQuence:COUNt

:TRIGger:SEQuence:EDGE

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:PATTern

:TRIGger:SEQuence:RESet

:TRIGger:SEQuence:TIMer

:TRIGger:SEQuence:TRIGger

:TRIGger:SPI:CLOCk:SLOPe

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:FRAMing

:TRIGger:SPI:PATTern:DATA

:TRIGger:SPI:PATTern:WIDth

:TRIGger:SPI:SOURce:CLOCk

:TRIGger:SPI:SOURce:DATA

:TRIGger:SPI:SOURce:FRAMe

:TRIGger:SWEep

:TRIGger:THReshold

:TRIGger:TV:LINE

:TRIGger:TV:MODE

:TRIGger:TV:POLarity

:TRIGger:TV:SOURce

:TRIGger:TV:STANdard

:TRIGger:TV:TVMode

:TRIGger:USB:SOURce:DMINus

:TRIGger:USB:SOURce:DPLus

:TRIGger:USB:SPEed

:TRIGger:USB:TRIGger

*TST

:TSTArt

:TSTOp

TV TRIGger Commands

:TVALue

:TVOLt

:TYPE

U

:UNITs

:UNSigned

:UPPer

USB TRIGger Commands

V

:VAMPlitude

:VAVerage

:VBASe

:VDELta

:VECTors

:VIEW

:VMAX

:VMIN

:VPP

:VRMS

:VSTArt

:VSTOp

:VTIMe

:VTOP

W

*WAI

:WAVeform:BYTeorder

:WAVeform:COUNt

:WAVeform:DATA

:WAVeform:FORMat

:WAVeform:POINts

:WAVeform:PREamble

:WAVeform:SOURce

:WAVeform:TYPE

:WAVeform:UNSigned

:WAVeform:VIEW

:WAVeform:XINCrement

:WAVeform:XORigin

:WAVeform:XREFerence

:WAVeform:YINCrement

:WAVeform:YORigin

:WAVeform:YREFerence

:WIDth

:WINDow

X

:X1Position

:X1Y1source

:X2Position

:X2Y2source

:XDELta

:XINCrement

:XMAX

:XMIN

:XORigin

:XREFerence

Y

:Y1Position

:Y2Position

:YDELta

:YINCrement

:YORigin

:YREFerence


Changes
 Changes since last release (A.02.20)

•	Revised *OPT to add CAN trigger module

•	Revised MEASure:DEFine to change threshold spec from VOLTage to ABSolute values.

•	Revised TRIGger:DURation commands to add clarification text for all qualifiers.

•	Added obsolete commands :MEASure:UPPer, MEASure:LOWer, and MEASure:THResholds for consistency.

•	Added LIN trigger to TRIGger:MODE command

•	Added TRIGger CAN commands for N2758A CAN Trigger Module

•	Added TRIGger:LIN commands

•	Added new link at top of all advanced trigger topics that gives you the list of commands for the specific trigger subsystem you are in (e.g., CAN, SPI, etc). Keeps you from needing to go back to full list of trigger topics if you want to stay in that trigger subsystem.

•	Numerous corrections to add links for cross-referenced commands in topics.


Introduction to ACQuire Commands

ACQuire Subsystem

The ACQuire subsystem controls the way in which waveforms are acquired.Three acquisition types are available: normal, averaging, and peak detect. Two acquisition modes are available: real-time mode, and equivalent-time mode.

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 1 (smoothing) to 16,383. 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.

Real-time Mode

The :ACQuire:MODE RTIMe command sets the oscilloscope in real time mode. This mode is useful to inhibit equivalent time sampling at fast sweep speeds.

Equivalent-time Mode

The :ACQuire:MODE ETIME command sets the oscilloscope in equivalent time mode.

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 ETIM;TYPE NORM; COMP 100; COUNT 8


:ACQuire:COMPlete

ACQuire Subsystem

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

:DIGitize

:WAVeform:POINts

Example Program Code

:ACQuire:COMPlete Code


:ACQuire:COUNT
:ACQuire:COUNt <count>

ACQuire Subsystem

Command	: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 1 (smoothing) to 16383.

Query	: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 1 to 16383 in NR1 format

See Also

Introduction to ACQuire commands

:ACQuire:TYPE

:DIGitize

:WAVeform:COUNt


:ACQuire:MODE

ACQuire Subsystem

Command	:ACQuire:MODE <mode>

<mode> ::= {RTIMe | ETIMe}

The :ACQuire:MODE command sets the acquisition mode of the oscilloscope. The :ACQuire:MODE RTIMe command sets the oscilloscope in real time mode. This mode is useful to inhibit equivalent time sampling at fast sweep speeds. The :ACQuire:MODE ETIME command sets the oscilloscope in equivalent time mode.

Note

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

Query	:ACQuire:MODE?

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

Return format

<mode_argument><NL>

<mode_argument> ::= {RTIM | ETIM}

See Also

Introduction to ACQuire commands

:ACQuire:TYPE


:ACQuire:POINts

ACQuire Subsystem

Query	:ACQuire:POINts?

The :ACQuire:POINts? query returns the number of 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 to be transferred from the oscilloscope.

Return format

<points_argument><NL>

<points_argument> ::= an integer in NR1 format

See Also

Introduction to ACQuire commands

:DIGitize

:WAVeform:POINts


:ACQuire:SRATe

ACQuire Subsystem

Query	:ACQuire:SRATe?

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

Return format

<sample_rate><NL>

<sample_rate> ::= sample rate in NR3 format

See Also

Introduction to ACQuire commands

:ACQuire:POINts


:ACQuire:TYPE

ACQuire Subsystem

Command	:ACQuire:TYPE <type>

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

The :ACQuire:TYPE command selects the type of acquisition that is to take place. There are three acquisition types: NORMal, AVERage, and PEAK. The :ACQuire:TYPE NORMal command sets the oscilloscope in the normal mode. 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 1 (smoothing) to 16,383. The COUNt value determines the number of averages that must be acquired. The :ACQuire:TYPE PEAK command sets the oscilloscope in the peak detect mode. In this mode, :ACQuire:COUNt has no meaning.

Note

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

Query	: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:TYPE

:WAVeform:PREamble

Example Program Code

:ACQuire:TYPE Code


Main_menu - main_menu:005

Command_Over - main:005

Summary - menu:055

Acquire - sum:005

Calibrate - sum:011

Channel - sum:013

Common - sum:015

Digital - sum:018

Display - sum:020

Intro to Meas Storage Module - sum:022

Command Changes - sum:023

Function - sum:024

Hardcopy - sum:025

Mask - sum:027

Measure - sum:028

Pod - sum:029

Root - sum:030

System - sum:035

Timebase - sum:040

Trace - sum:043

Trigger - sum:045

Waveform - sum:050

Command_A_Z_Collapsed - main:011

A - alpha:005

B - alpha:010

C - alpha:015

D - alpha:020

E - alpha:025

F - alpha:026

G - alpha:027

H - alpha:028

I - alpha:030

J - alpha:031

K - alpha:032

L - alpha:035

M - alpha:040

N - alpha:043

O - alpha:045

P - alpha:050

R - alpha:055

S - alpha:060

T - alpha:065

U - alpha:067

V - alpha:070

W - alpha:075

X - alpha:077

Y - alpha:078

Command_A_Z_Expanded - main:010

Command_Cat - main:015

Acquire - menu:005

Complete - Acq_commands:005

Count - Acq_commands:010

Mode - Acq_commands:020

Points - Acq_commands:025

Srate - Acq_commands:030

Type - Acq_commands:035

Calibrate - menu:011

DATE - Cal_commands:003

LABel - Cal_commands:005

SWITch - Cal_commands:030

TEMPerature - Cal_commands:035

TIME - Cal_commands:040

Channel_n - menu:013

Bwlimit – CH2_commands:005

Coupling – CH2_commands:010

Display – CH2_commands:015

Impedance – CH2_commands:020

Invert – CH2_commands:030

Label – CH2_commands:035

Offset – CH2_commands:040

Pmode – CH2_commands:045

Probe – CH2_commands:050

Range – CH2_commands:055

Scale – CH2_commands:060

Common - menu:015

CLS - Com_commands:005

DMC - Com_commands:007

EMC - Com_commands:008

ESE - Com_commands:010

ESR - Com_commands:015

GMC - Com_commands:018

IDN - Com_commands:020

LMC - Com_commands:023

LRN - Com_commands:025

OPC - Com_commands:030

OPT - Com_commands:045

PMC - Com_commands:048

RCL - Com_commands:050

RST - Com_commands:055

SAV - Com_commands:060

SRE - Com_commands:065

STB - Com_commands:070

TRG - Com_commands:075

TST - Com_commands:080

WAI - Com_commands:085

Digital - menu:018

Display - Dig_commands:005

Label - Dig_commands:010

Position - Dig_commands:015

Threshold - Dig_commands:020

Display - menu:020

Clear - Dis_commands:003

Connect - Dis_commands:007

Label- Dis_commands:025

Order - Dis_commands:040

Persistence - Dis_commands:050

Vectors - Dis_commands:070

Function - menu:023

CENTer - Func_commands:010

DISPlay - Func_commands:015

OFFSet - Func_commands:020

OPERation - Func_commands:025

RANGe - Func_commands:035

REFerence - Func_commands:040

SCALe - Func_commands:043

SOURce - Func_commands:045

SPAN - Func_commands:050

VIEW - Func_commands:055

WINDow - Func_commands:060

Hardcopy - menu:024

MODE - Mark_commands:005

X1Position - Mark_commands:010

X1Y1source - Mark_commands:015

X2Position - Mark_commands:020

X2Y2source - Mark_commands:025

XDELta - Mark_commands:030

Y1Position - Mark_commands:035

Y2Position - Mark_commands:040

YDELta - Mark_commands:045

Marker - menu:027

DESTination - Hard_commands:005

DEVice - Hard_commands:010

FACTors - Hard_commands:015

FFEed - Hard_commands:020

Measure - menu:028

Clear - Mea_commands:005

Define - Mea_commands:012

Delay - Mea_commands:015

Dutycycle - Mea_commands:020

FALLtime - Mea_commands:023

Frequency - Mea_commands:025

Nwidth - Mea_commands:035

OVERshoot - Mea_commands:037

Period - Mea_commands:040

PHASe - Mea_commands:041

PREShoot - Mea_commands:042

Pwidth - Mea_commands:045

RISetime - Mea_commands:047

Scratch - Mea_commands:050

Show - Mea_commands:060

Source - Mea_commands:065

Tdelta - Mea_commands:075

Tedge - Mea_commands:080

Tmax - Mea_commands:083

Tstart - Mea_commands:085

Tstop - Mea_commands:090

Tvalue - Mea_commands:093

TVOLt - Mea_commands:095

VAMPlitude - Mea_commands:098

VAVerage - Mea_commands:100

VBASe - Mea_commands:105

VDELta - Mea_commands:110

VMAX - Mea_commands:115

VMIN - Mea_commands:120

VPP - Mea_commands:125

VRMS - Mea_commands:130

VSTart - Mea_commands:135

VSTop - Mea_commands:140

VTIMe - Mea_commands:145

VTOP - Mea_commands:150

Xmax - Mea_commands:155

Pod - menu:029

DISPlay - Pod_commands:005

THReshold - Pod_commands:010

Root - menu:030

Activity - Root_commands:002

AER - Root_commands:003

Autoscale - Root_commands:010

Blank - Root_commands:015

Cdisplay - Root_commands:018

Digitize - Root_commands:020

Erase - Root_commands:025

OPEE - Root_commands:037

OPER - Root_commands:038

Print - Root_commands:040

Run - Root_commands:045

Serial - Root_commands:048

Single - Root_commands:050

Status - Root_commands:055

Stop - Root_commands:060

Temperature - Root_commands:063

Ter - Root_commands:065

View - Root_commands:070

System - menu:035

Date - Sys_commands:003

Dsp - Sys_commands:005

Error - Sys_commands:010

Lock - Sys_commands:020

Setup - Sys_commands:025

Time - Sys_commands:030

Timebase - menu:040

Delay - Tim_commands:005

Mode - Tim_commands:010

Position - Tim_commands:013

Range - Tim_commands:015

Reference - Tim_commands:020

Scale - Tim_commands:025

Win_Position - Tim_commands:035

Win_Range - Tim_commands:040

Win_Scale - Tim_commands:045

Trigger - menu:045

HFReject - Trig_commands:005

Holdoff - Trig_commands:010

Mode - Trig_commands:015

Nreject - Trig_commands:020

Pattern - Trig_commands:025

Sweep - Trig_commands:030

Threshold - Trig_commands:035

Duration_Greaterthan - Trig_commands:045

Duration_Lessthan - Trig_commands:050

Duration_Pattern - Trig_commands:055

Duration_Qualifier - Trig_commands:060

Duration_Range - Trig_commands:065

Edge_Coupling - Trig_commands:085

Edge_Level - Trig_commands:090

Edge_Reject - Trig_commands:093

Edge_Slope - Trig_commands:095

Edge_Source - Trig_commands:100

Glitch_Duration - Trig_commands:103

Glitch_Greaterthan - Trig_commands:105

Glitch_Lessthan - Trig_commands:110

Glitch_Level - Trig_commands:115

Glitch_Polarity - Trig_commands:120

Glitch_Qualifier - Trig_commands:125

Glitch_Range - Trig_commands:130

Glitch_Source - Trig_commands:135

IIC_Trigger - Trig_commands:136

IIC_Source_Clock - Trig_commands:138

IIC_Source_Data - Trig_commands:140

IIC_Pattern_Address - Trig_commands:142

IIC_Pattern_Data - Trig_commands:144

Sequence_Count - Trig_commands:145

Sequence_Edge - Trig_commands:150

Sequence_Find - Trig_commands:155

Sequence_Pattern - Trig_commands:160

Sequence_Reset - Trig_commands:165

Sequence_Timer - Trig_commands:170

Sequence_Trigger - Trig_commands:175

TV_Line - Trig_commands:180

TV_Mode - Trig_commands:185

TV_POLarity - Trig_commands:190

TV_SOURce - Trig_commands:195

TV_STANdard - Trig_commands:200

TV_TVMode - Trig_commands:205

Waveform - menu:050

Byteorder - Wav_commands:005

Count - Wav_commands:007

Data - Wav_commands:010

Format - Wav_commands:015

Points - Wav_commands:020

Preamble - Wav_commands:025

Source - Wav_commands:030

Type - Wav_commands:035

Unsigned - Wav_commands:036

View - Wav_commands:038

Xincrement - Wav_commands:040

Xorigin - Wav_commands:045

Xreference - Wav_commands:050

Yincrement - Wav_commands:055

Yorigin - Wav_commands:060

Yreference - Wav_commands:065

Error_Message - main:020

Prog_Examples - main:025

Code - Example:005

HPIB_Basic_Example - code:005

HPIB_C_Example - code:010

Example_RS_232_Basic_Code - code:020

Read_Me_Text - code:025

Code Examples - chunks:005

Initialize Code - chunk:005

RST Code - chunk:010

ANALog:PROBe Code - chunk:015

ANALog:RANGe Code - chunk:020

CHANnel:LABel Code - chunk:022

CHANnel:THReshold Code - chunk:024

TIMebase:REFerence Code - chunk:035

TIMebase:RANGe Code - chunk:040

TIMebase:DELay Code - chunk:045

TRIGger:MODE Code - chunk:050

TRIGger:TYPE Code - chunk:055

TRIGger:THReshold Code - chunk:057

TRIGger:SLOPe Code - chunk:060

AUToscale Code - chunk:065

RUN Code - chunk:075

STOP Code - chunk:080

ERASe Code - chunk:085

VIEW Code - chunk:090

TIMebase:MODe Code - chunk:100

TIMebase:VERNier Code - chunk:105

ACQuire:TYPE Code - chunk:107

ACQuire:COMPlete Code - chunk:108

DIGitize Code - chunk:110

LRN Code - chunk:125

SYSTEM:SETup Code = chunk:127

MEASure Code - chunk:130

DISPlay Code - chunk:132

PRINt Code - chunk:135

WAVeform Code - chunk:140

ACQuire:POINts Code - chunk:145

More WAVeform Code - chunk:155

WAVeform:DATA Code - chunk:160

Conventions - main:030


Introduction to CALibrate Commands

CALibrate Subsystem

The CALibrate subsystem provides utility commands for determining the state of the calibration factor protection switch (CAL PROTECT), for saving and querying the calibration label string, for reporting the calibration time and date, and reporting changes in the temperature since the last calibration.


:CALibrate:DATE

CALibrate Subsystem

Query	:CALibrate:DATE?

The :CALibrate:DATE? query returns the date of the last calibration.

Return format:

<date><NL>

<date> ::= day, month, year in NR1 format<NL>

See Also

Introduction to CALibrate commands


:CALibrate:LABel

CALibrate Subsystem

Command	: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	:CALibrate:LABel?

The :CALibrate:LABel? query returns the contents of the calibration label string.

Return format:

<string><NL>

<string>::= unquoted ASCII string of up to 32 characters in length

See Also

Introduction to CALibrate commands


:CALibrate:SWITch

CALibrate Subsystem

Query	:CALibrate:SWITch?

The :CALibrate:SWITch? query returns the rear-panel calibration protect switch state. The value PROTected indicates calibration is disabled, and UNPRotected indicates calibration is enabled.

Return format:

<switch><NL>

<switch> ::= {PROT | UNPR}

See Also

Introduction to CALibrate commands


:CALibrate:TIME

CALibrate Subsystem

Query	:CALibrate:TIME?

The :CALibrate:TIME? query returns the time of the last calibration.

Return format:

<date><NL>

<date> ::= hour, minutes, seconds in NR1 format

See Also

Introduction to CALibrate commands


:CHANnel:ACTivity

Command	:CHANnel:ACTivity

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

Note

The :CHANnel:ACtivity command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :ACTivity command for the 54620/40-series oscilloscopes.

Query	:CHANnel:ACTivity?

The :CHANnel:ACTivity? query returns the active edges since the last clear, and returns the current logic levels.

Return format:

<edges>, <levels> <NL>

<edges> ::= presence of edges (32-bit integer in NR1 format).

<levels>  ::= logical highs or lows (32-bit integer in NR1 format).

Note

A bit equal to zero indicates that no edges were detected at the specified threshold since the last clear on that channel. Edges may have occurred that were not detected because of the threshold setting.

A bit equal to one indicates that edges have been detected at the specified threshold since the last clear on that channel.


:CHANnel:LABel

Command	:CHANnel:LABel <source_text><string>

<source_text> ::= {CHANnel1 | CHANnel2 | DIGital0,…,DIGital15}

<string> ::= quoted ASCII string

The :CHANnel:LABel command sets the source text to the string that follows. Setting a channel will also result in the name being added to the label list.

Note

The :CHANnel:LABel command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :CHANnel<n>:LABel or DIGital<n>:LABel command for the 54620/40-series oscilloscopes.

This command is only available on the 54621D/22D Mixed-Signal Oscilloscope.

Query	:CHANnel:LABel?

The :CHANnel:LABel? query returns the label associated with a particular analog channel.

Return format:

<string><NL>

<string> ::= quoted ASCII string


:CHANnel:THReshold

Command	:CHANnel:THReshold <channel group>, <threshold type> [, <value>]

<channel group> ::= {POD1 | POD 2}

<threshold type> ::= {CMOS | ECL | TTL | USERdef}

<value> ::= voltage for USERdef in NR3 format [volt_type]

[volt_type] ::= {V | mV (-3) | uV (-6)}

The :CHANnel:THReshold command sets the threshold for a group of channels. The threshold is either set to a predefined value or to a user-defined value. For the predefined value, the voltage parameter is ignored.

Note

The :CHANnel:THReshold command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :POD:THReshold or :DIGital:THReshold command for the 54620/40-series oscilloscopes.

Query	:CHANnel:THReshold? <channel group>

The :CHANnel:THReshold? query returns the voltage and threshold text for a specific group of channels.

Return format:

<threshold type> [, <value>] <NL>

<threshold type> ::= {CMOS | ECL | TTL | USERdef}

<value> ::= voltage for USERdef (float 32 NR3).

Note

CMOS = 2.5V

TTL = 1.5V

ECL = -1.3V

USERdef ::= -6.0V to 6.0V


Introduction to CHANnel<n> Commands

CHANnel<n> Subsystem

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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 6 characters for the analog channels of the 54621D/22D/41D/42D models.

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.

For the 54621D/22D/41D/42D:

:CHAN1:RANG +40.00E+00;OFFS +0.0E00;COUP DC;IMP ONEM;DISP 1;BWL 0;INV 0;LAB "1";UNIT VOLT;PROB:SKEW +0.0E+00;:CHAN1:PROB +1.0E+00

For the 54621A/22A/24A/41A/42A:

:CHAN1:RANG +40.00E+00;OFFS +0.0E00;COUP DC;IMP ONEM;DISP 1;BWL 0;INV 0;UNIT VOLT;PROB:SKEW +0.0E+00;:CHAN1:PROB +1.0E+00


:CHANnel<n>:BWLimit

CHANnel<n> Subsystem

Command	:CHANnel<n>:BWLimit <bwlimit>

<bwlimit> ::= {{1 | ON} | {0 | OFF}}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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 for the 54620-series and 25 MHz for the 54640-series.

Query	:CHANnel<n>:BWLimit?

The :CHANnel<n>:BWLimit? query returns the current setting of the low-pass filter.

Return format:

<bwlimit><NL>

<bwlimit> ::= {1 | 0}

See Also

Introduction to CHANnel<n> commands


:CHANnel<n>:COUPling

CHANnel<n> Subsystem

Command	:CHANnel<n>:COUPling <coupling>

<coupling> ::= {AC | DC | GND} for 54620-series

<coupling> ::= {AC | DC} for 54640-series

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :CHANnel<n>:COUPling command selects the input coupling for the specified channel. The coupling for each analog channel can be set to AC, DC, or GND (54620-series only).

Query	: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 | GND} for 54620-series

<coupling value> ::= {AC | DC} for 54640-series

See Also

Introduction to CHANnel<n> commands


:CHANnel<n>:DISPlay

CHANnel<n> Subsystem

Command	:CHANnel<n>:DISPlay <display value>

<display value> ::= {{1 | ON} | {0 | OFF}}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :CHANnel<n>:DISPlay command turns the display of the specified channel on or off.

Query	: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<n>:DISPlay


:CHANnel<n>:IMPedance

CHANnel<n> Subsystem

Command	:CHANnel<n>:IMPedance <impedance>

<impedance> ::= {ONEMeg} for 54620-series

<impedance> ::= {ONEMeg | FIFTy} for 54640-series

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :CHANnel<n>:IMPedance command selects the input impedance setting for the specified channel. The legal values for this command are ONEMeg (1 MΩ) and FIFTy (50Ω, 54640-series only).

Query	:CHANnel<n>:IMPedance?

The :CHANnel<n>:IMPedance? query returns the current input impedance setting for the specified channel.

Return format:

<impedence value><NL>

<impedence value> ::= {ONEM} for 54620-series

<impedence value> ::= {ONEM | FIFT} for 54640-series

See Also

Introduction to CHANnel<n> commands


:CHANnel<n>:INPut

CHANnel<n> Subsystem

Command	:CHANnel<n>:INPut <inpedance>

<impedance> ::= {ONEMeg} for 54620-series

<impedance> ::= {ONEMeg | FIFTy} for 54640-series

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :CHANnel<n>:INPut command selects the input impedance setting for the specified channel. The legal values for this command are ONEMeg (1 MΩ) and FIFTy (50Ω, 54640-series only).

Note

The :CHANnel<n>:INPut command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :CHANnel<n>:IMPedance command for the 54620/40-series oscilloscopes.

Query	:CHANnel<n>:INPut?

The :CHANnel<n>:INPut? query returns the current input impedance setting for the specified channel.

Return format:

<impedence value><NL>

<impedence value> ::= {ONEM} for 54620-series

<impedence value> ::= {ONEM | FIFT} for 54640-series


:CHANnel<n>:INVert

CHANnel<n> Subsystem

Command	:CHANnel<n>:INVert <invert value>

<invert value> ::= {{1 | ON} | {0 | OFF}}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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

Command	:CHANnel<n>:LABel <string>

<string> ::= quoted ASCII string

<n> ::= {1 | 2} for the 54621D/22D/41D/42D

Note

Label strings are six characters or less, and may contain any commonly used ASCII characters. Labels with more than 6 characters are truncated to six characters. Lower case characters are converted to upper case.

The :CHANnel<n>:LABel command sets the analog channel label to the string that follows. Setting a label for a channel will also result in the name being added to the label list.

This command is only available on the 54621D/22D/41D/42D Mixed-Signal Oscilloscopes.

Query	: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:LABel

Example Code

CHANnel<n>:LABel Code


:CHANnel<n>:OFFSet

CHANnel<n> Subsystem

Command	:CHANnel<n>:OFFSet <offset> [<suffix>]

<offset> ::= Vertical offset value in NR3 format

<suffix> ::= {V | mV}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :CHANnel<n>: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 effected by the probe attenuation setting.

Query	:CHANnel<n>:OFFSet?

The :CHANnel<n>: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>:SCALe

:CHANnel<n>:PROBe


:CHANnel<n>:PMODe

CHANnel<n> Subsystem

Command	:CHANnel<n>:PMODe <pmode value>

<pmode value> ::= {AUTo | MANual}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The probe sense mode is controlled internally and cannot be set. If a probe with sense is connected to the specified channel, auto sensing is enabled; otherwise, the mode is manual.

If the pmode sent matches the oscilloscope's setting, the command will be accepted. Otherwise, a setting conflict error is generated.

Note

The :CHANnel<n>:PMODe command is an obsolete command provided for compatibility to previous oscilloscopes.

Query	:CHANnel<n>:PMODe?

The :CHANnel<n>:PMODe? query returns AUT if an autosense probe is attached and MAN otherwise.

Return format:

<pmode value><NL>

<pmode value> ::= {AUT | MAN}


:CHANnel<n>:PROBe

CHANnel<n> Subsystem

Command	:CHANnel<n>:PROBe <attenuation>

<attenuation> ::= probe attenuation ratio in NR3 format

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The obsolete attenuation values X1, X10, X20, X100 are also supported.

The :CHANnel<n>:PROBe command specifies the probe attenuation factor for the selected channel. The probe attenuation factor may be 0.1 to 1000. 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	: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>:SCALe

:CHANnel<n>:OFFSet

Example Code

CHANnel<n>:PROBe Code


:CHANnel<n>:PROBe:SKEW

CHANnel<n> Subsystem

Command	:CHANnel<n>:PROBe:SKEW <skew value>

<skew value> ::= skew time in NR3 format

<skew value> ::= =100 ns to -100 ns

<n> ::= {1 | 2} for 54640-series

The :CHANnel<n>:PROBe:SKEW command sets the channel-to-channel skew factor for the specifed channel. Each analog channel can be adjusted + or -100 ns for a total of 200 ns difference between channels. You can use the scope's probe skew control to remove cable-delay errors between channel 1 and channel 2.

Note

This command is only valid for the 54640-series oscilloscopes

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


:CHANnel2:SKEW

CHANnel<n> Subsystem

Command	:CHANnel2:SKEW <skew value>

<skew value> ::= skew time in NR3 format

<skew value> ::= =100 ns to -100 ns

The :CHANnel2:SKEW command sets the skew between channels 1 and 2. The maximum skew is +/-100 ns. You can use the scope's probe skew control to remove cable-delay errors between channel 1 and channel 2.

Note

The :CHANnel2:SKEW command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :CHANnel<n>:PROBe:SKEW command for the 54640-series oscilloscopes.

Note

This command is only valid for the 54640-series oscilloscopes

Query	:CHANnel2:SKEW?

The :CHANnel2: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>:PROTection
:CHANnel<n>:PROTection[:CLEar]

CHANnel<n> Subsystem

Command	:CHANnel<n>:PROTection[:CLEar]

<n> ::= {1 | 2} for 54640-series

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.

Note

This command is only valid for the 54640-series oscilloscopes

Query	: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> Subsystem

Command	:CHANnel<n>:RANGe <range>[<suffix>]

<range> ::= vertical full-scale range value in NR3 format

<suffix> ::= {V | mV}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :CHANnel<n>:RANGe command defines the full-scale vertical axis of the selected channel. The range can be set to any value from 8 mV to 40 V for 54620-series and 16 mV to 40V for 54640-series when using 1:1 probe attenuation. If the probe attenuation is changed, the range value is multiplied by the probe attenuation factor.

Query	: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>:SCALe

:CHANnel<n>:PROBe

Example Code

CHANnel<n>:RANGe Code


:CHANnel<n>:SCALe

CHANnel<n> Subsystem

Command	:CHANnel<n>:SCALe <scale>[<suffix>]

<scale> ::= vertical units per division in NR3 format

<suffix> ::= {V | mV}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :CHANnel<n>:SCALe command sets the vertical scale, or units per division, of the selected channel. Legal values for the scale range from 1 mV to 5 V for 54620-series and 2 mV to 5 V for 54640-series when using 1:1 probe attenuation. If the probe attenuation is changed, the scale value is multiplied by the probe's attenuation factor.

Query	:CHANnel<n>:SCALe?

The :CHANnel<n>: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>:PROBe


:CHANnel<n>:UNITs

CHANnel<n> Subsystem

Command	:CHANnel<n>:UNITs <units>

<units> ::= {VOLTs | AMPeres}

<n> ::= {1 | 2} for all other oscilloscope models

<n> ::= {1 | 2 | 3 | 4} for the 54624A

The :CHANnel<n>:UNITs command sets the measurement units for the connected probe. Select VOLTs for a voltage probe and select AMPeres for a current probe. Measurement results, channel sensitivity, and trigger level will reflect the measurement units you select.

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


Initialize Code

430   ! Initialize

440   !*************************************************************************

450   ! Initialize will start the program with the scope in a known state.  This is

460   ! required because some uninitialized conditions could cause the program to

470   ! fail or not perform as expected.

480   !

490   ! In this example we initialize the following:

500   ! GPIB interface and the Scope

510   ! Channel 1 range

520   ! Display Grid

530   ! Timebase reference, range and delay

540   ! Trigger mode and type

550   !

560   ! There are also some additional initialization commands, which are

570   ! not used, but shown for reference

580   !*************************************************************************

590   !

600   !

610   !***************************************************************************

620   ! INTERFACE_SETUP

630   ! The next two statements assign the scope address to the Scope variable and the

640   ! Interface address to the Isc variable.  Now all communication with the scope and

650   ! the interface can be done through the @Scope and @Isc variables.

660   ! The @Fast variable allows for faster transfer of data but is only

670   ! useful for unformatted data.

680   !

690   ! For RS-232 operation replace the lines below with:

700   ! CONTROL 9,3;9600   ! Set baud rate to 9600

710   ! CONTROL 9,4;3      ! 8 bit;1 stop; par disable; odd par

720   ! ASSIGN @Scope TO 9 ! Scope address

730   !

740   !*************************************************************************

750      ASSIGN @Scope TO 707           ! Scope address

760      ASSIGN @Isc TO 7               ! Interface select code = 7 (GPIB)

770      ASSIGN @Fast TO 707;FORMAT OFF ! Turn controller formatting off

780      CLEAR @Isc                     ! Clear the GPIB interface

790      !**********************************************************************

800      ! RESET

810      ! This command puts the scope in to a known state. This statement is

820      ! very important for programs to work as expected.

830      ! Most of the following initialization commands are initialized by

840      ! *RST.  It is not necessary to reinitialize them unless the default

850      ! setting is not suitable for your application.

860      !**********************************************************************

870      OUTPUT @Scope;"*RST"     ! Reset the scope to the default configuration

880      !**********************************************************************

890      ! AUTOSCALE

900      ! This command evaluates all the input signals and sets the correct

910      ! conditions to display all of the active signals.

920      !**********************************************************************

930      OUTPUT @Scope;":AUTOSCALE"     ! Same as pressing the Autoscale key

931      !**********************************************************************

932      ! CHANNEL_PROBE

933      ! Sets the probe attenuation factor for the selected channel.  The

934      ! probe attenuation factor may be set from 0.1 to 1000.

936      !**********************************************************************

940      OUTPUT @Scope;":CHAN1:PROBE 10"     ! Set Probe to 10:1

950      !**********************************************************************

960      ! CHANNEL_RANGE

970      ! Sets the full scale vertical range in volts.  The range value is

980      ! 8 times the volts per division

990      !**********************************************************************

1000     OUTPUT @Scope;":CHANNEL1:RANGE 8" ! Set the vertical range to 8 volts

1010     !**********************************************************************

1020     ! TIME_RANGE

1030     ! Sets the full scale horizontal time in seconds.  The range value is

1040     ! ten times the time per division.

1050     !**********************************************************************

1060     OUTPUT @Scope;":TIM:RANG 2e-3" !Set the time range to .002 seconds

1070     !********************************************************************

1080     ! TIME_REFERENCE

1090     ! Possible values are LEFT and CENTER

1100     ! LEFT sets the display reference on time division from the left.

1110     ! CENTER sets the display reference to the center of the screen.

1120     !********************************************************************

1130     OUTPUT @Scope;":TIMEBASE:REFERENCE CENTER" ! Set reference to center

1140     !********************************************************************

1260     ! TRIGGER_TV_SOURCE

1270     ! Selects the channel that actually produces the TV trigger.  Any

1280     ! channel can be selected.

1300     !********************************************************************

1310     OUTPUT @Scope;":TRIGGER:TV:SOURCE CHANNEL1"

1320     !********************************************************************

1330     ! TRIGGER_MODE

1340     ! Set the trigger mode to EDGE, GLITch, PATTern, CAN, DURation, IIC,

1345     ! LIN, SEQuence, SPI, TV, or USB.

1350     !********************************************************************

1360     OUTPUT @Scope;":TRIGGER:MODE EDGE"  ! Set the trigger mode to EDGE.

1370     !********************************************************************

1380     ! TRIGGER_EDGE_SLOPE

1390     ! Sets the slope of the edge for the trigger

1400     !********************************************************************

1410     OUTPUT @Scope;":TRIGGER:EDGE:SLOPE POSITIVE" ! Set the slope to positive

Example Program From the Start


RST Code

790      !**********************************************************************

800      ! RESET

810      ! This command puts the scope in to a known state. This statement is

820      ! very important for programs to work as expected.

830      ! Most of the following initialization commands are initialized by

840      ! *RST.  It is not necessary to reinitialize them unless the default

850      ! setting is not suitable for your application.

860      !**********************************************************************

870      OUTPUT @Scope;"*RST"     ! Reset the scope to the default configuration

880      !**********************************************************************

Example Program From the Start


CHANnel<n>:PROBe Code
CHANnel<n>:PROBe

931      !**********************************************************************

932      ! CHANNEL_PROBE

933      ! Sets the probe attenuation factor for the selected channel.  The

934      ! probe attenuation factor may be set from 0.1 to 1000.

935      !**********************************************************************

940      OUTPUT @Scope;":CHAN1:PROBE 10"     ! Set Probe to 10:1

950      !**********************************************************************

Example Program From the Start


CHANnel:RANGe Code
 CHANnel<n>:RANGe

950      !**********************************************************************

960      ! CHANNEL_RANGE

970      ! Sets the full scale vertical range in volts.  The range value is

980      ! 8 times the volts per division

990      !**********************************************************************

1000     OUTPUT @Scope;":CHANNEL1:RANGE 8" ! Set the vertical range to 8 volts

1010     !**********************************************************************

Example Program From the Start


 CHANnel:LABel Code

1350 !*********************************************************************

1360 !LABEL

1370 !

1380 ! - This command allows you to write a name (six characters maximum)

1390 !   next to the channel number.  It is not necessary, but can be useful

1400 !   for organizing the display.

1410 !*********************************************************************

1420                                   !label channel1  "CAL 1"

1430   OUTPUT @Analyzer;":CHANNEL1:LABEL ""CAL 1"""

1440                                   !label channel2 "CAL2"

1450   OUTPUT @Analyzer;":CHANNEL2:LABEL ""CAL2"""

1460

1470 !*********************************************************************

Example Program From the Start


THREShold Code

1100 !*********************************************************************

1110 !THRESHOLD

1120 !

1130 ! - This command is used to set the voltage threshold for the

1140 !   waveforms.  There are three preset values (TTL, CMOS, and ECL) and

1150 !   you can also set a user-defined threshold value between -8.0 volts

1160 !   and +8.0 volts.

1170 !

1180 ! - In this example we set channels 0-7 to CMOS, then set channels 8-15

1190 !   to a user defined 2.0 volts, and then set the external trigger to

1200 !   TTL.  Of course you only need to set the thresholds for the

1210 !   channels you will be using in your program.

1220 !*********************************************************************

1230                                   !set channels 0-7 to CMOS threshold

1240   OUTPUT @Analyzer;":POD1:THRESHOLD CMOS"

1250                                   !set channels 8-15 to 2.0 volts

1260   OUTPUT @Analyzer;":POD2:THRESHOLD 2.0"

1270                                   !set external channel to TTL threshold

1280                                   !(written in short form)

1290   OUTPUT @Analyzer;":TRIG:LEV TTL,EXT"

Example Program From the Start


DISPlay:LABel Code

3020 !*********************************************************************

3030 !VIEW_BLANK (not executed in this example)

3040 !

3050 ! - VIEW turns on (starts displaying) an active channel or pixel

3060 !   memory.

3070 !

3080 ! - BLANK turns off (stops displaying) a specified channel or pixel

3090 !   memory.

3100 !*********************************************************************

3110   OUTPUT @Analyzer;":VIEW DIGital0"       !turn channel0  ON

3120   OUTPUT @Analyzer;":VIEW DIGITal10"      !turn channel10 ON

3130   OUTPUT @Analyzer;":BLANK DIGital1"      !turn channel1  OFF

3140

3150 !*********************************************************************

3160 !DISP_LABEL (not executed in this example)

3170 !

3180 ! - Turns label names ON or OFF on the analyzer display.

3190 !*********************************************************************

3200   OUTPUT @Analyzer;":DISPLAY:LABEL ON"     !turn on labels

Example Program From the Start


DISPlay:ORDer Code

1550 !*********************************************************************

1560 !DISP_ORDER

1570 !

1580 ! - Set the order the channels are displayed on the analyzer.

1590 !   You can enter between 1 and 32 channels at one time.  If you leave

1600 !   out channels, they will not be displayed on the analyzer.

1610 !*********************************************************************

1620                                   !display ONLY channel 0 and channel 10

1630                                   !in that order

1640   OUTPUT @Analyzer;":DISPLAY:ORDER 0,10"

1650

1660 !*********************************************************************

Example Program From the Start


TIMebase:REFerence Code

1070     !********************************************************************

1080     ! TIME_REFERENCE

1090     ! Possible values are LEFT, CENTER, and RIGHT

1100     ! LEFT sets the display reference on time division from the left.

1110     ! CENTER sets the display reference to the center of the screen.

1115     ! RIGHT sets the display reference on time division from the right

1120     !********************************************************************

1130     OUTPUT @Scope;":TIMEBASE:REFERENCE CENTER" ! Set reference to center

1140     !********************************************************************

Example Program From the Start


TIMebase:RANGe Code

1010     !**********************************************************************

1020     ! TIME_RANGE

1030     ! Sets the full scale horizontal time in seconds.  The range value is

1040     ! ten times the time per division.

1050     !**********************************************************************

1060     OUTPUT @Scope;":TIM:RANG 2e-3" !Set the time range to .002 seconds

1070     !********************************************************************

Example Program From the Start


TIMebase:DELay Code

1140     !********************************************************************

1150     ! TIMEBASE_DELAY

1160     ! Sets the time base delay.  This delay is the internal time between

1170     ! the trigger event and the onscreen delay reference point.

1180     !********************************************************************

1190     OUTPUT @Scope;":TIMEBASE:DELAY 0.0"  ! Set time base delay to 0.0

1200     !********************************************************************

Example Program From the Start


TRIGger:MODE Code
Trigger MODE Code

1320     !********************************************************************

1330     ! TRIGGER_MODE

1340     ! Set the trigger mode to EDGE, GLITch, PATTern, CAN, DURation, IIC,

1345     ! LIN, SEQuence, SPI, TV, or USB.

1350     !********************************************************************

1360     OUTPUT @Scope;":TRIGGER:MODE EDGE"  ! Set the trigger mode to EDGE.

Example Program From the Start


TRIGger:SOURce Code
TRIGger Source Code

1140     !********************************************************************

1260     ! TRIGGER_TV_SOURCE

1270     ! Selects the channel that actually produces the TV trigger.  Any

1280     ! channel can be selected.

1300     !********************************************************************

1310     OUTPUT @Scope;":TRIGGER:TV:SOURCE CHANNEL1"

Example Program From the Start


TRIGger:SLOPe Code
TRIGger:EDGE:SLOPe

1370     !********************************************************************

1380     ! TRIGGER_SLOPE

1390     ! Sets the slope of the edge for the trigger

1400     !********************************************************************

1410     OUTPUT @Scope;":TRIGGER:SLOPE POSITIVE" ! Set the slope to positive

Example Program From the Start


AUToscale Code

880      !**********************************************************************

890      ! AUTOSCALE

900      ! This command evaluates all the input signals and sets the correct

910      ! conditions to display all of the active signals.

920      !**********************************************************************

930      OUTPUT @Scope;":AUTOSCALE"     ! Same as pressing the Autoscale key

931      !**********************************************************************

Example Program From the Start


RUN Code

1540     !********************************************************************

1550     ! RUN_STOP (not executed in this example)

1560     ! RUN starts the acquisition of data for the active waveform display

1570     ! STOP stops the data acquisition and turns off AUTOSTORE

1580     !********************************************************************

1590     OUTPUT @Scope;":RUN"  ! Start data acquisition

1600     OUTPUT @Scope;":STOP" ! Stop the data acquisition

1610     !********************************************************************

Example Program From the Start


STOP Code

1540     !********************************************************************

1550     ! RUN_STOP (not executed in this example)

1560     ! RUN starts the acquisition of data for the active waveform display

1570     ! STOP stops the data acquisition and turns off AUTOSTORE

1580     !********************************************************************

1590     OUTPUT @Scope;":RUN"  ! Start data acquisition

1600     OUTPUT @Scope;":STOP" ! Stop the data acquisition

1610     !********************************************************************

Example Program From the Start


VIEW Code
VIEW and BLANk Code

1660     !********************************************************************

1670     ! VIEW_BLANK (not executed in this example)

1680     ! VIEW turns on (starts displaying) a channel or pixel memory

1690     ! BLANK turns off (stops displaying) a channel or pixel memory

1700     !********************************************************************

1710     OUTPUT @Scope;":BLANK CHANNEL1"   ! Turn channel 1 off

1720     OUTPUT @Scope;":VIEW CHANNEL1"    ! Turn channel 1 on

1730     !********************************************************************

Example Program From the Start


TIMebase:MODe Code

1730     !********************************************************************

1740     ! TIMEBASE_MODE (not executed in this example)

1750     ! Set the time base mode to MAIN, DELAYED, XY, or ROLL.

1760     !********************************************************************

1770     OUTPUT @Scope;"TIMEBASE:MODE MAIN" ! Set time base mode to main

1780     !********************************************************************

Example Program From the Start


ACQuire:TYPE Code
ACQuire_TYPE_Code

1890     !**********************************************************************

1900     ! AQUIRE_TYPE

1910     ! Sets the acquisition mode.  The acquisition mode can be NORMAL, PEAK or

1920     ! AVERAGE.

1930     !**********************************************************************

1940     OUTPUT @Scope;":ACQUIRE:TYPE NORMAL"

1950     !**********************************************************************

Example Program From the Start


ACQuire:COMPlete Code
ACQuire_COMPlete_Code

1950     !**********************************************************************

1960     ! AQUIRE_COMPLETE

1970     ! Specifies the minimum completion criteria for an acquisition.  The

1980     ! parameter determines the percentage of time buckets needed to be

1990     ! "full" before an acquisition is considered to be complete

2000     !**********************************************************************

2010     OUTPUT @Scope;":ACQUIRE:COMPLETE 100"

2020     !**********************************************************************

Example Program From the Start


 DIGitize Code

2020     !**********************************************************************

2030     ! DIGITIZE

2040     ! Used to acquire the waveform data for transfer over the interface.

2050     ! Sending this command causes an acquisition to take place with the

2060     ! resulting data being placed in the buffer.

2070     !******************************** NOTE! *******************************

2080     ! The use of the DIGITIZE command is highly recommended as it will

2090     ! ensure that sufficient data is available for measurement.  Keep in

2100     ! mind when the oscilloscope is running, communication with the

2110     ! computer interrupts data acquisition.  Setting up the oscilloscope

2120     ! over the bus causes the data buffers to be cleared and internal

2130     ! hardware to be reconfigured.  If a measurement is immediately requested

2140     ! there may not have been enough time for the data acquisition process

2150     ! to collect data the results may not be accurate.  An error value of

2160     ! 9.9E+37 may be returned over the bus in this situation.

2170     !**********************************************************************

2180     OUTPUT @Scope;":DIGITIZE CHAN1"

Example Program From the Start


MEASure:PERiod Code
 MEASure Code

2710     !**********************************************************************

2720     ! MEASURE

2730     ! The commands in the MEASURE subsystem are used to make measurements

2740     ! on displayed waveforms

2750     !**********************************************************************

2760     OUTPUT @Scope;":MEASURE:SOURCE CHANNEL1"  ! Source to measure

2770     OUTPUT @Scope;":MEASURE:FREQUENCY?"  ! Query for frequency

2780     ENTER @Scope;Frequency               ! Read frequency

2790     PRINT "Frequency = ";Frequency       ! Write frequency to screen

2800     OUTPUT @Scope;"MEASURE:DUTYCYCLE?"   ! Query for duty cycle

2810     ENTER @Scope;Dutycycle               ! Read dutycycle

2820     PRINT "Dutycycle = ";Dutycycle       ! Write dutycycle to screen

2830     OUTPUT @Scope;":MEASURE:RISETIME?"   ! Query for risetime

2840     ENTER @Scope;Risetime                ! Read risetime

2850     PRINT "Risetime = ";Risetime         ! Write risetime to screen

2860     OUTPUT @Scope;":MEASURE:VPP?"        ! Query for Peak to Peak voltage

2870     ENTER @Scope;Vpp                     ! Read VPP

2880     PRINT "VPP = ";Vpp                   ! Write VPP to screen

2890     OUTPUT @Scope;":MEASURE:VMAX?"       ! Query for Vmax

2900     ENTER @Scope;Vmax                    ! Read Vmax

2910     PRINT "Vmax = ";Vmax                 ! Write Vmax to screen

Example Program From the Start


LRN Code
 *LRN Code

2290     !**********************************************************************

2300     ! SAVE_LEARN

2310     ! The *LRN query returns a program message that contains the

2320     ! current state of the instrument.  This is the same as the

2330     ! :SYSTEM:SETUP? query.  It returns #80000500<learn string><NL>

2340     ! where the learn string is 500 bytes in length

2350     !**********************************************************************

2360     DIM String$[550]          ! Allocate memory for learn string

2370     OUTPUT @Scope;"*LRN?"     ! Query for learn string

2380     ENTER @Scope USING "-K";String$ ! Read learn string

2390     ON ERROR GOTO 2410              ! if next line has an error continue

2400     PURGE "learn.dat"          ! try to delete file "learn.dat"

2410     OFF ERROR                  ! Turn off error condition

2420     CREATE "learn.dat",1       ! Create new file learn.dat

2430     ASSIGN @Learn TO "learn.dat" ! open file

2440     OUTPUT @Learn USING "#,K";String$ ! write learn string to file

2450     ASSIGN @Learn TO *           ! close file

2460     !**********************************************************************

Example Program From the Start


SYSTem SETup Code
 :SYSTem:SETup Code

2670     ASSIGN @Learn TO "learn.dat"

2680     ENTER @Learn USING "-K";String$

2690     ASSIGN @Learn TO *

2700     OUTPUT @Scope USING "#,K";"SYSTEM:SETUP ";String$

Example Program From the Start


 PRINt Code

2460     !**********************************************************************

2470     ! IMAGE_TRANSFER

2480     ! In this example we will query for the image data with :PRINT?,

2490     ! read the data into the string Print_info$, and then save the

2500     ! data to the file "image.dat: which you can then send to a printer.

2510     !**********************************************************************

2520     DIM Print_info$[19767]  ! allocate memory for low res printer data

2530     OUTPUT @Scope;":PRINT?" ! Query for print data

2540     PRINT "Reading printer data..."

2550     ENTER @Scope USING "-K";Print_info$ ! Read in print data

2560     ON ERROR GOTO 2580

2570     PURGE "image.dat"    ! try and delete old file

2580     OFF ERROR            ! turn off error condition

2590     CREATE "image.dat",1 ! create new file

2600     ASSIGN @Image TO "image.dat"  ! open file

2610     OUTPUT @Image USING "#,K";Print_info$ ! write data to file

2620     ASSIGN @Image TO *   ! close file

Example Program From the Start


 WAVeform Code

2920     !*********************************************************************

2930     ! WAVEFORM_DATA

2940     ! To obtain waveform data you must specify the WAVEFORM parameters

2950     ! for the waveform data prior to sending the :WAVEFORM:DATA? query.

2960     ! Once these parameters have been sent, the waveform data and

2970     ! the preamble can read.

2980     !**********************************************************************

3000     ! WAVE_SOURCE

3010     ! Selects the channel to be used as the source for the waveform commands.

3020     !**********************************************************************

3030     OUTPUT @Scope;":WAVEFORM:SOURCE CHAN1"

3040     !**********************************************************************

3110     ! WAVE_FORMAT

3120     ! Sets the data transmission mode for the waveform data output.  This

3130     ! command controls how the data is formatted when sent from the oscilloscope

3140     ! in either a word, ascii or byte format.

3150     !**********************************************************************

3160     OUTPUT @Scope;":WAVEFORM:FORMAT WORD"

3170     !**********************************************************************

Example Program From the Start


ACQuire:POINts Code
 POINts Code

3040     !**********************************************************************

3050     ! WAVE_POINTS

3060     ! Specifies the number of points to be transferred using the

3070     ! :WAVEFORM:DATA? query.

3080     !**********************************************************************

3090     OUTPUT @Scope;":WAVEFORM:POINTS 2000"

3100     !**********************************************************************

Example Program From the Start


More WAVeform Code
 WAVeform Code

3170     !**********************************************************************

3180     ! GET_PREAMBLE

3190     ! The preamble block contains all of the current WAVEFORM settings.  It

3200     ! is returned in the form <preamble block><NL> where <preamble block> is:

3210     !   FORMAT        : int16 0 = ASCII, 1 = BYTE, 2 = WORD

3220     !   TYPE          : int16 0 = AVERAGE, 1 = NORMAL, 2 = PEAK DETECT

3230     !   POINTS        : int32 number of data points transferred

3240     !   COUNT         : int32 1 and is always 1

3250     !   XINCREMENT    : float32 - time difference between data points

3260     !   XORIGIN       : float64 - always the first data point in memory

3270     !   XREFERENCE    : int32 - specifies the data point associated with x-origin

3280     !   YINCREMENT    : float32 - voltage difference between data points

3290     !   YORIGIN       : float32 - value is the voltage at center screen

3300     !   YREFERENCE    : int16 - specifies data point where y-origin occurs

3310     !**********************************************************************

3320     DIM Preamble(1:10)

3330     OUTPUT @Scope;"WAVEFORM:PREAMBLE?" ! Query for the preamble

3340     ENTER @Scope;Preamble(*)           ! Read preamble information

Example Program From the Start


 WAVeform:DATA Code

3350     !**********************************************************************

3360     ! QUERY_WAVE_DATA

3370     ! Outputs waveform data that is stored in a buffer.

3380     !***********************************************************************

3390     OUTPUT @Scope;":WAV:DATA?"  ! Query the scope for the waveform data

3400     !***********************************************************************

3410     !READ_WAVE_DATA

3420     ! The wave data consists of two parts: the header, and the actual waveform

3430     ! data followed by a new line (NL) character.  The query data has the

3440     ! following format:

3450     !

3460     !   <header> <waveform data> <NL>

3470     ! Where:

3480     !   <header> = #800008000 (This is an example header)

3490     ! The "#8" may be stripped off of the header and the remaining

3500     ! numbers are the size. in bytes, of the waveform data block.  The

3510     ! size can vary depending on the number of points acquired for the

3520     ! waveform.  You can then read that number of bytes from the oscilloscope

3530     ! and the terminating NL character.

3540     !

3550     ! The @Fast variable is used in this example to read the actual

3560     ! waveform data block from the scope unformatted one word at time.

3570     ! This is much faster than reading the data one byte at a time.

3580     !**********************************************************************

3590     ENTER @Scope USING "#,2A,8D";Header$,Bytes ! Strip off header and size

3600     PRINT "Reading ";Bytes;" bytes from scope..."

3610     ALLOCATE INTEGER Waveform(1:Bytes/2) ! Allocate an array for data

3620     ENTER @Fast;Waveform(*)              ! Read unformatted word data

3630     ENTER @Scope USING "-K,B";End$       ! Read terminating New Line character

3640     PRINT "Volts/Div = ";32*Preamble(8)

3650     PRINT "Offset = ";(128-Preamble(10))*Preamble(8)+Preamble(9)

3660     PRINT "Sec/Div = ";Preamble(3)*Preamble(5)/10

3670     PRINT "Delay = ";(Preamble(3)/2-Preamble(7))*Preamble(5)+Preamble(6)

3680     FOR I=1 TO 2000 STEP 100

3690     PRINT "Data point ";I;(Waveform(I)-Preamble(10))*Preamble(8)+Preamble(9);" Volts";(I-Preamble(7))*Preamble(5)+Preamble(6);" Seconds"

3700     NEXT I

3710     !**********************************************************************

Example Program From the Start


 MEASure:TEDGe Code

3710    ! Make a delay measurement between channel 1 and 2

3715    OUTPUT @Scope;":MEASURE:TEDGE? +1, CHAN1" !Query time at 1st rising edge on ch 1

3720    ENTER @Scope;Chan1Edge1                   !Read time at edge 1 on ch 1

3725    OUTPUT @Scope;":MEASURE:TEDGE? +1, CHAN2" !Query time at 1st rising edge on ch 2

3730    ENTER @Scope;Chan2Edge1                   !Read time at edge 1 on ch 2

3735    Delay=Chan2Edge1-Chan1Edge1               !Calculate delay time between ch 1 and 2

3740    PRINT "Delay = ";Delay                    !Write calculated delay time to screen

3745    !

3750    ! Make a phase difference measurement between channel 1 and 2

3755    OUTPUT @Scope;":MEASURE:TEDGE? +2, CHAN1" !Query time at 2nd rising edge on ch 1

3760    ENTER @Scope;Chan1Edge2                   !Read time at edge 2 on ch 1

3765    Period=Chan1Edge2-Chan1Edge1              !Calculate period of ch 1

3770    Phase=(Delay/Period)360                   !Calculate phase difference between ch1 and 2

3775    PRINT "Phase = ";Phase;" degrees"         !Write calculated phase difference to screen

Example Program From the Start


Introduction to Common Commands

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 mentioned in this chapter has an enable (mask) register. By setting the bits in the enable register, you can select the status information you want to use.


*CLS
*CLS	(Clear Status)

Common Commands

Command	*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

*ESE

*ESR

*SRE

:SYSTem:ERRor?


*DMC
 *DMC	(Define Macro)

Common Commands

Command	*DMC <macro label>, <macro definition>

<macro label> ::= quoted ASCII

<macro definition> ::= definite block data in IEEE 488.2 # format

The *DMC command assigns a sequence of zero or more program message unit elements to a macro label.

Example:

*DMC “SETUP2”,#247:TIM:RANG 10ns;DEL 0;:CHANNEL1:RANG 1v;OFFSET 0

Note

The #247 indicates that 2 characters follow that set the length of the block (47 characters, in this case).

Note

The macro definition remains until the instrument is powered off.

See Also

Introduction to Common Commands

*EMC

*GMC

*LMC

*PMC


*EMC
 *EMC	(Enable Macro)

Common Commands

Command	*EMC <enable>

<enable> ::= {{OFF | 0} | {ON | 1}

The *EMC (enable macro) macro command enables and disables expansion macros.  Macro definitions are not affected by this command. *EMC can be used to turn off macro expansion in order to execute a device specific command with the same name as a macro.

Query	*EMC?

The *EMC? query returns the state of macro expansion.

Return format:

<enable><NL>

<enable> ::= {0 | 1}

See Also

Introduction to Common Commands

*DMC


*ESE
*ESE	(Standard Event Status Enable)

Common Commands

Command	*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 Table

Query	*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

*OPC

*CLS


*ESR
*ESR	(Standard Event Status Register)

Common Commands

Query	*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.

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

See the Standard Event Status Register Table for bit weight, name, and condition.

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

*OPC

*CLS

:SYSTem:ERRor


*GMC
 *GMC	(Get Macro Contents)

Common Commands

Query	*GMC?  <macro label>

<macro label> ::= quoted ASCII string

The *GMC query retrieves the current definition of a macro from the oscilloscope.

Return format:

<macro definition><NL>

<macro definition> ::= definite block data in # format

See Also

Introduction to Common Commands

*DMC

*LMC


*IDN
*IDN	(Identification Number)

Common Commands

Query	*IDN?

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

Return format:

AGILENT TECHNOLOGIES,<model>,<serial number>,X.XX.XX <NL>

<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


*LMC
  *LMC	(Learn Macro)

Common Commands

Query	*LMC?

The *LMC query returns the currently defined macro labels.

Return format:

<ascii_string><NL>

<ascii_string> ::= string list separated by commas

See Also

Introduction to Common Commands

*DMC

*GMC


*LRN
*LRN	(Learn Device Setup)

Common Commands

Query	*LRN?

The *LRN? query returns a response message that contains the current state of the instrument. This query performs the same function as the :SYSTem:SETup? query. It allows you to store an instrument setup in the controller. The stored setup can then be returned to the instrument at a later time using the :SYSTem:SETup command.

Return format:

<learn_string><NL>

<learn_string> ::= block data in IEEE 488.2 # format.

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

See Also

Introduction to Common Commands

*RCL

*SAV

:SYSTem:SETup

Example Program Code

*LRN Code


*OPC
*OPC	(Operation Complete)

Common Commands

Command	*OPC

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

Query	*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.

Return format:

<complete><NL>

<complete> ::= 1

See Also

Introduction to Common Commands

*ESE

*ESR

*CLS


*OPT
*OPT	(Option Identification)

Common Commands

Query	*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:

<io module id> A.XX.XX,<trigger module id> A.XX.XX<NL>

<io module id> ::= identifies the IO module

<trigger module id> ::= identifies the trigger module

A.XX.XX ::= the software revision of the module. If there is no software revision for the module, this value contains the system software revision.

The *OPT? query returns the following:

Module	Module Id
No modules attached	0,0
N2757A GPIB only	N2757A A.XX.XX,0
N2758A CAN Trigger only	0,N2758A A.XX.XX
Both modules attached	N2757A A.XX.XX,N2758A A.XX.XX
See Also

Introduction to Common Commands

*IDN


*PMC
 *PMC	(Purge Macro)

Common Commands

Command	*PMC

The *PMC command deletes all macros that have been previously defined using the *DMC macro command, and removes all stored macro command sequences and labels from the oscilloscope’s memory.

See Also

Introduction to Common Commands

*DMC


*RCL
*RCL	(Recall)

Common Commands

Command	*RCL <value>

<value> ::= {0 | 1 | 2} for 54620-series

<value> ::= {0 | 1 | 2 | 3} for 54640-series

The *RCL command restores the state of the instrument from the specified save/recall register.

See Also

Introduction to Common Commands

*SAV


*RST
*RST	(Reset)

Common Commands

Command	*RST

The *RST command places the instrument in a known state. Reset conditions are:

Acquire Menu

Mode	Normal
Realtime	Off
Averaging	Off
# Averages	8
Analog Channel Menu

Channel 1	On
Channel 2	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 (54640-series)	1 M Ohm
Units	Volts
Skew (54640-series)	0
Cursor Menu

Source	Channel 1
Digital Channel Menu (54621D/22D/41D/42D only)

Channel 0 – 15	Off
Labels	Off
Threshold	TTL (1.4V)
Display Menu

Definite persistence	Off
Grid	20%
Vectors	On
Quick Meas Menu

Source	Channel 1
Run Control

	Scope is running
Time Base Menu

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 Menu

Type	Edge
Mode	Auto
Coupling	dc
Source	Channel 1
Level	0.0 V
Slope	Positive
HF Reject and noise reject	Off
Holdoff	60 ns
External probe attenuation	AutoProbe (if AutoProbe is connected), otherwise 1.0:1
External Units	Volts
External Impedance (54640-series)	1 M Ohm
See Also

Introduction to Common Commands

Example Program Code

*RST Code


*SAV
*SAV	(Save)

Common Commands

Command	*SAV <value>

The *SAV command stores the current state of the instrument in a save register. The data parameter specifies the register where the data will be saved.

<value> ::= {0 | 1 | 2} for 54620-series

<value> ::= {0 | 1 | 2 | 3} for 54640-series

See Also

Introduction to Common Commands

*RCL


*SRE
*SRE	(Service Request Enable)

Common Commands

Command	*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 Table

Query	*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

*CLS


*STB
*STB	(Read Status Byte)

Common Commands

Query	*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.

Return format:

<value><NL>

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

Status Byte Register Table

Note

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

See Also

Introduction to Common Commands

*SRE


*TRG
*TRG	(Trigger)

Common Commands

Command	*TRG

The *TRG command has the same effect as the :RUN command.

See Also

Introduction to Common Commands

:RUN

:STOP


*TST
*TST	(Self Test)

Common Commands

Query	*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
*WAI	(Wait To Continue)

Common Commands

Command	*WAI

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

See Also

Introduction to Common Commands


 Conventions

Core Commands

Core commands are a common set of commands that provide basic oscilloscope functionality on this oscilloscope and future Agilent 54600-series 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 oscilloscope models. Non-core commands may be modified or deleted in the future. With a command structure as complex as the 54620/40-series, some evolution over time is inevitable. Agilent'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 may only be accessed from Commands A-Z on the Contents page or from Obsolete and Discontinued Commands.

Command Types

Three types of commands are used:

Common

Root

Subsystem

Common Commands

See Introduction to Common Commands for more information.

Root Level Commands

See Introduction to Root Commands for more information.

Subsystem Commands

Subsystem commands are grouped together under a common node of the command tree, such as the TIMebase commands. Only one subsystem may be selected at any given time. When the instrument is initially turned on, the command parser is set to the root of the command tree, therefore, no subsystem is selected.

Tree Traversal Rules

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

The output statements in the examples are written using HP BASIC. The quoted string is placed on the bus, followed by a carriage return and linefeed (CRLF).

Example 1

OUTPUT 707;":TIMEBASE:RANGE 0.5;DELAY 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 DELay command is the required program message unit separator. The DELay command does not need TIMebase preceding it, since the TIMebase:RANGe command sets the parser to the TIMebase node in the tree.

Example 2

OUTPUT 707;":TIMEBASE:REFERENCE CENTER;DELAY 0.00001"

or

OUTPUT 707;":TIMEBASE:REFERENCE CENTER"

OUTPUT 707;":TIMEBASE:POSITION 0.00001"

Note

In the first line of example 2, the subsystem selector is implied for the DELay command in the compound command. The DELay command must be in the same program message as the REFerence command, since 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 DELay command as shown in the second part of example 2. The space after DELay is required.

Example 3

OUTPUT 707;":TIMEBASE:REFERENCE CENTER;:DISPLAY:VECTors ON"

Note

The leading colon before DISPlay:VECTors ON tells the parser to go back to the root of the command tree. The parser can then see the DISPlay:VECTors ON command. The space between REFerence and CENter is required; so is the space between VECTors and ON.

Infinity Representation

The representation of infinity is 9.9E +37. This is also the value returned when a measurement cannot be made.

Sequential and Overlapped Commands

IEEE 488.2 makes the distinction between sequential and overlapped commands. Sequential commands finish their task before the execution of the next command starts. Overlapped commands run concurrently. Commands following an overlapped command may be stated before the overlapped command is completed. All of the commands are sequential.

Response Generation

As defined by IEEE 488.2 query responses may be buffered for the following conditions:

•	When the query is parsed by the instrument.

•	When the controller addresses the instrument to talk so that it may read the response.

The responses to a query are buffered when the query is parsed.

Legal Command Forms

The way the instrument is set up to respond to a command or query has no bearing on how you send the command or query. That is, the command or query can be sent using the long or short form, if a short form exists for that command. You can send the command or query using uppercase letters or lowercase letters. Also, the data can be sent using almost any form you wish. For example, if you are sending a range value of 100 mV, that value could be sent using a decimal (.1), or an exponential (1e-1 or 1.0E-1), or a suffix (100mV or 100MV).

Number Format

NR1 specifies integer data

NR3 specifies exponent data in floating point format

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.

Truncation Rules

(Short Form)

Use the first four characters of the command/keyword unless the fourth character is a vowel. If the fourth character is a vowel, then use the first three characters of the command/keyword. If the length of the command/keyword is exactly four characters, then use all four characters.

Examples:

Long form	Short form
RANGe	RANG
PATTern	PATT
TIMebase	TIM
DELay	DEL
TYPE	TYPE
Value Ranges

n,..,p ::= all integers between n and p inclusive, where n and p are ASCII numeric characters, 1 - 9.

Digits

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

Quoted Ascii String

A quoted ASCII string is a string delimited by either " or '. This quoted string must be received by the instrument. In order to get these characters in the output stream, some programming languages require special handling or syntax.

For example, in HP BASIC the line:

OUTPUT @Scope;":DISPLAY:VECTORS ON"

sends the string:

:DISPLAY:VECTORS ON

to the instrument.

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 4000 bytes of data, the syntax would be:

#800004000<4000 bytes of data> <NL>

8 is the number of digits that follow

00004000 is the number of bytes to be transmitted

<4000 bytes of data> is the actual data


Introduction to DIGital Commands
Introduction to DIGital<n> Commands

DIGital Subsystem

<n> ::= {0,..,15}

The DIGital subsystem commands control the viewing, labeling, and positioning of digital channels. They also control threshold settings for groups of digital channels (D0-D7, D8-D15).

Note

These commands are only valid for the 54621D/22D/41D/42D mixed-signal oscilloscopes.

Reporting the Setup

Use :DIGital<n>? to query setup information for the DIGital subsystem.

Return format:

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

:DIG0:DISP 0;THR +1.40E+00;LAB "D0";POS 0


:DIGital:DISPlay
:DIGital<n>:DISPlay

DIGital Subsystem

Command	:DIGital<n>:DISPlay <display>

<display> ::= {{1 | ON} | {0 | OFF}}

<n> ::= An integer, 0, 1,…, 15, is attached as a suffix to the command and defines the logic channel that is affected by the command.

The :DIGital<n>:DISPlay command turns digital display on or off for the specified channel.

Note

This command is only valid for the 54621D/22D/41D/42D mixed-signal oscilloscopes.

Query	:DIGital<n>:DISPlay?

The :DIGital<n>:DISPlay? query returns the current digital display setting for the specified channel.

Return format:

<display><NL>

<display> ::= {0 | 1}

See Also

Introduction to DIGital commands

POD<n>:DISPlay

CHANnel<n>:DISPlay

VIEW

BLANk

STATus


:DIGital:LABel
:DIGital<n>:LABel

DIGital Subsystem

Command	:DIGital<n>:LABel <string>

<string> ::= any series of 6 or less characters as a quoted ASCII string.

<n> ::= An integer, 0,…, 15, is attached as a suffix to the command and defines the logic channel that is affected by the command.

The :DIGital<n>:LABel command sets the channel label to the string that follows. Setting a label for a channel will also result in the name being added to the label list in NVRAM.

Note

This command is only valid for the 54621D/22D/41D/42D mixed-signal oscilloscopes.

Note

Label strings are six characters or less, and may contain any commonly used ASCII characters. Labels with more than 6 characters are truncated to six characters.

Query	:DIGital<n>:LABel?

The :DIGital<n>:LABel? query returns the name of the specified channel.

Return format:

<label string><NL>

<label string> ::= any series of 6 or less characters as a quoted ASCII string.

See Also

Introduction to DIGital commands

CHANnel<n>:LABel


:DIGital:POSition
:DIGital<n>:POSition

DIGital Subsystem

Command	:DIGital<n>:POSition <position>

<position> ::= integer in NR1 format.

<n> ::= An integer, 0, 1,…, 15, is attached as a suffix to the command and defines the logic channel that is affected by the command.

Channel Size	Position	Top	Bottom
Large	0-7	7	0
Medium	0-15	15	0
Small	0-31	31	0

The :DIGital<n>:POSition command sets the position of the specified channel.

Note

This command is only valid for the 54621D/22D/41D/42D mixed-signal oscilloscopes.

Query	:DIGital<n>:POSition?

The :DIGital<n>:POSition? query returns the position of the specified channel.

Return format:

<position><NL>

<position> ::= integer in NR1 format.

See Also

Introduction to DIGital commands


:DIGital:THReshold
:DIGital<n>:THReshold

DIGital Subsystem

Command	:DIGital<n>:THReshold <value>

<value> ::= {CMOS | ECL | TTL | <user defined value>[<suffix>]}

<user defined value> ::= -8.00 to +8.00 in NR3 format

<suffix> ::= {V | mV | uV}

<n> ::= An integer, 0, 1,…, 15, is attached as a suffix to the command and defines the logic channel that is affected by the command.

TTL = 1.4V

CMOS = 2.5V

ECL = -1.3V

The :DIGital<n>:THReshold command sets the logic threshold value for all channels grouped with the specified channel (D0-D7, D8-D15). The threshold is used for triggering purposes and for displaying the digital data as high (above the threshold) or low (below the threshold).

Note

This command is only valid for the 54621D/22D/41D/42D mixed-signal oscilloscopes.

Query	:DIGital<n>:THREShold?

The :DIGital<n>: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 commands

POD<n>:THReshold

TRIGger:EDGe:LEVel


Introduction to DISPlay Commands

DISPlay Subsystem

The DISPlay subsystem is used to control the display storage and retrieval of waveform data, labels (54621D/22D/41D/42D only) and text.  This subsystem allows the following actions:

•	Clear the waveform area on the display.

•	Turn vectors on or off.

•	Set waveform persistence.

•	Specify labels (54621D/22D/41D/42D only)

•	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;CONN 1;PERS MIN;SOUR PMEM1


:DISPlay:CLEar

DISPlay Subsystem

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

:CDISplay


:DISPlay:CONNect

DISPlay Subsystem

Command	:DISPlay:CONNect <connect>

<connect> ::=Defined_As {{ 1 | ON} | {0 | OFF}}

The :DISPlay:CONNect command turns vectors on and off. When vectors are turned on, the oscilloscope displays lines connecting sampled data points. When vectors are turned off, only the sampled data is displayed.

Note

The :DISPlay:CONNEct command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :DISPlay:VECTors command for the 54620/40-series oscilloscopes.

Query	:DISPlay:CONNect?

The :DISPlay:CONNect? query returns the current state of the vectors setting.

Return format:

<connect><NL>

<connect> ::= {1 | 0}

See Also

:DISPlay:VECTors


:DISPlay:DATA

DISPlay Subsystem

Command	:DISPlay:DATA [<format>][,][<area>] <display data>

<format> ::= {TIFF}

<area> ::= {GRATicule}

<display data> ::= binary block data in IEEE-488.2 # format.

The :DISPlay:DATA command writes trace memory data (a display bitmap) to the display or to one of the trace memories in the instrument.

If a data format or area is specified, the :DISPlay:DATA command transfers the data directly to the display. If neither the data format nor the area is specified, the command transfers data to the trace memory specified by the :DISPlay:SOURce command. Available trace memories are PMEMory {0 | 1 | 2} and these memories correspond to the INTERN_{0 | 1 | 2} files in the front panel Save/Recall menu.

Graticule data is a low resolution bitmap at the graticule area only. It must be formatted as tiff. Only tiff formatted data can be sent to the instrument and this is the same data saved using the front panel Save/Recall menu or the *SAV command.

Query	:DISPlay:DATA? [<format>][,] [<area>]

<format> ::= {TIFF | BMP}

<area> ::= {GRATicule | SCReen}

The :DISPlay:DATA? query reads display data from the screen or from one of the trace memories in the instrument. The format for the data transmission is the # format defined in the IEEE 488.2 specification.

If a data format or area is specified, the :DISPlay:DATA query transfers the data directly from the display. If neither the data format nor the area is specified, the query transfers data from the trace memory specified by the :DISPlay:SOURce command.

Screen data is the full display and is high resolution (gray scale). It may be read from the instrument in tiff or bmp format. This data can not be sent back to the instrument.

Graticule data is a low resolution bitmap at the graticule area only. It must be formatted as tiff. Only tiff formatted data can be sent to the instrument.

Return format:

<display data><NL>

<display data> ::= binary block data in IEEE-488.2 # format.

See Also

Introduction to DISPlay commands

:DISPlay:SOURce

:MERGe

:PRINt

*RCL

*SAV

:VIEW


:DISPlay:LABel

DISPlay Subsystem

Command	:DISPlay:LABel <value>

<value> ::= {{1 | ON} | {0 | OFF}}

The :DISPlay:LABel command turns the analog and digital channel labels on and off.

Note

This command is available only on the 54621D/22D/41D/42D Mixed-Signal Oscilloscopes.

Query	: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 Program Code

:DISPlay:LABel Code


:DISPlay:LABList

DISPlay Subsystem

Command	:DISPlay:LABList #80000524 <binary block>

<binary block> ::= an ordered list of 75 labels. Each label name can be a maximum of six characters followed by a comma.

The :DISPlay:LABList command sets the label list. The labels are added in alphabetical order.

Note

This command is available only on the 54621D/22D Mixed-Signal Oscilloscopes.

Query	:DISPlay:LABList?

The :DISPlay:LABList? query returns the alphabetical label list.

Return format:

#80000524 <binary block><NL>

<binary block> ::= an ordered list of 75 labels. Each label name can be a maximum of six characters followed by a comma.

524 ::= the size in bytes of the binary block

See Also

Introduction to DISPlay commands

:DISPlay:LABel

:CHANnel<n>:LABel

:DIGital<n>:LABel


:DISPlay:ORDer

DISPlay Subsystem

Query	:DISPlay:ORDer?

The :DISPlay:ORDer? query returns a list of digital channel numbers in screen order, from top to bottom, separated by commas. Bussing is displayed as digital channels with no separator. For example, in the following list, the bus consists of digital channels 4 and 5: DIG1, DIG4 DIG5, DIG7.

Note

The :DISPlay:ORDer command is an obsolete command provided for compatibility to previous oscilloscopes. This command is only available on the 54621D/22D/41D/42D Mixed-Signal Oscilloscopes.

Return format:

<order><NL>

<order> ::= Unquoted ASCII string

Note

A return value is included for each digital channel. A return value of NONE indicates that a channel is turned off.

See Also

:DIGital:POSition


:DISPlay:PERSistence

DISPlay Subsystem

Command	:DISPlay:PERSistence <value>

<value> ::= {MINimum | INFinite}

The :DISPlay:PERSistence command specifies the persistence setting. MINimum indicates zero persistence and INFinite indicates infinite persistence. Use the :DISPlay:CLEar or :CDISplay root command to erase points stored by infinite persistence.

Query	:DISPlay:PERSistence?

The :DISPlay:PERSistence? query returns the specified persistence value.

Return format:

<value><NL>

<value> ::= {MIN | INF}

See Also

Introduction to DISPlay commands

:DISPlay:CLEar

:CDISplay


:DISPlay:SOURce

DISPlay Subsystem

Command	:DISPlay:SOURce <value>

<value> ::= {PMEMory0 | PMEMory1 | PMEMory2}

PMEMory0 ::= pixel memory 0

PMEMory1 ::= pixel memory 1

PMEMory2 ::= pixel memory 2

The :DISPlay:SOURce command specifies the default source and destination for the :DISPlay:DATA command and query. PMEMory 0-2 correspond to the INTERN_{0 | 1 | 2} files found in the front panel Save/Recall menu.

Query	:DISPlay:SOURce?

The :DISPlay:SOURce? query returns the specified SOURce.

Return format:

<value><NL>

<value> ::= {PMEM0 | PMEM1 | PMEM2}

See Also

Introduction to DISPlay commands

:DISPlay:DATA


:DISPlay:VECTors

DISPlay Subsystem

Command	: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. When vectors are turned off, only the sampled data is displayed.

Query	:DISPlay:VECTors?

The :DISPlay:VECTors? query returns whether vector display is on or off.

Return format:

<vectors><NL>

<vectors> ::= {1 | 0}

See Also

Introduction to DISPlay commands


Example BASIC Program for GPIB

10    !  HP BASIC for Windows program using the GPIB interface

20    !*************************************************************************

30    ! This program illustrates most of the commonly used programming features

40    ! of the Agilent 54620/40-series Oscilloscopes.

50    !

60    ! This example assumes your GPIB card's address is 7 and your scope's

70    ! address is also 7.  If these addresses do not match your configuration

80    ! these examples will not work.

81    !

82    ! This example also offers RS-232 support.  See the Initialize routine.

90    !*************************************************************************

100   !

110   !*************************************************************************

120   ! MAIN PROGRAM

130   ! This example shows the fundamental parts of a program (initialize,

140   ! capture, analyze).

150   ! The commands sent to the scope are written in both long and short

160   ! form.  Both forms are acceptable.

170   ! The input signal is the probe calibration signal from the front

180   ! panel of the scope connected to channel 1.

190   ! If you are using a different signal or different channels, these

200   ! commands may not work as explained in the comments.

210   !*************************************************************************

220   !

230   !*************************************************************************

240   ! Initialize

250   ! Initialization will start the program with the scope in a known state.

260   !*************************************************************************

270   GOSUB 430    ! Initialize

280   !*************************************************************************

290   ! Capture

300   ! After initialization, you must make waveform data available to

310   ! analyze.  To do this, capture the data using the DIGITIZE command.

320   !*************************************************************************

330   GOSUB 1850   ! Capture

340   !*************************************************************************

350   ! Analyze

360   ! Once the waveform has been capture it can be analyzed.  There are many

370   ! parts of a wave form to analyze.  This example shows some of the

380   ! possible ways to analyze a various parts of a waveform.

390   !*************************************************************************

400   GOSUB 2210   ! Analyze

410   !

420   !

430   ! Initialize

440   !*************************************************************************

450   ! Initialize will start the program with the scope in a known state.  This is

460   ! required because some uninitialized conditions could cause the program to

470   ! fail or not perform as expected.

480   !

490   ! In this example we initialize the following:

500   ! GPIB interface and the Scope

510   ! Channel 1 range

520   ! Display Grid

530   ! Timebase reference, range and delay

540   ! Trigger mode and type

550   !

560   ! There are also some additional initialization commands, which are

570   ! not used, but shown for reference

580   !*************************************************************************

590   !

600   !

610   !***************************************************************************

620   ! INTERFACE_SETUP

630   ! The next two statements assign the scope address to the Scope variable and the

640   ! Interface address to the Isc variable.  Now all communication with the scope and

650   ! the interface can be done through the @Scope and @Isc variables.

660   ! The @Fast variable allows for faster transfer of data but is only

670   ! useful for unformatted data.

680   !

690   ! For RS-232 operation replace the lines below with:

700   ! CONTROL 9,3;9600   ! Set baud rate to 9600

710   ! CONTROL 9,4;3      ! 8 bit;1 stop; par disable; odd par

720   ! ASSIGN @Scope TO 9 ! Scope address

730   !

740   !*************************************************************************

750      ASSIGN @Scope TO 707           ! Scope address

760      ASSIGN @Isc TO 7               ! Interface select code = 7 (GPIB)

770      ASSIGN @Fast TO 707;FORMAT OFF ! Turn controller formatting off

780      CLEAR @Isc                     ! Clear the GPIB interface

790      !**********************************************************************

800      ! RESET

810      ! This command puts the scope in to a known state. This statement is

820      ! very important for programs to work as expected.

830      ! Most of the following initialization commands are initialized by

840      ! *RST.  It is not necessary to reinitialize them unless the default

850      ! setting is not suitable for your application.

860      !**********************************************************************

870      OUTPUT @Scope;"*RST"     ! Reset the scope to the default configuration

880      !**********************************************************************

890      ! AUTOSCALE

900      ! This command evaluates all the input signals and sets the correct

910      ! conditions to display all of the active signals.

920      !**********************************************************************

930      OUTPUT @Scope;":AUTOSCALE"     ! Same as pressing the Autoscale key

931      !**********************************************************************

932      ! CHANNEL_PROBE

933      ! Sets the probe attenuation factor for the selected channel.  The

934      ! probe attenuation factor may be set from 0.1 to 1000.

935      !

936      !**********************************************************************

940      OUTPUT @Scope;":CHAN1:PROBE 10"     ! Set Probe to 10:1

950      !**********************************************************************

960      ! CHANNEL_RANGE

970      ! Sets the full scale vertical range in volts.  The range value is

980      ! 8 times the volts per division

990      !**********************************************************************

1000     OUTPUT @Scope;":CHANNEL1:RANGE 8" ! Set the vertical range to 8 volts

1010     !**********************************************************************

1020     ! TIME_RANGE

1030     ! Sets the full scale horizontal time in seconds.  The range value is

1040     ! ten times the time per division.

1050     !**********************************************************************

1060     OUTPUT @Scope;":TIM:RANG 2e-3" !Set the time range to .002 seconds

1070     !********************************************************************

1080     ! TIME_REFERENCE

1090     ! Possible values are LEFT and CENTER

1100     ! LEFT sets the display reference on time division from the left.

1110     ! CENTER sets the display reference to the center of the screen.

1120     !********************************************************************

1130     OUTPUT @Scope;":TIMEBASE:REFERENCE CENTER" ! Set reference to center

1140     !********************************************************************

1260     ! TRIGGER_TV_SOURCE

1270     ! Selects the channel that actually produces the TV trigger.  Any

1280     ! channel can be selected.

1300     !********************************************************************

1310     OUTPUT @Scope;":TRIGGER:TV:SOURCE CHANNEL1"

1320     !********************************************************************

1330     ! TRIGGER_MODE

1340     ! Set the trigger mode to EDGE, GLITch, PATTern, CAN, DURation, IIC,

1345     ! LIN, SEQuence, SPI, TV, or USB.

1350     !********************************************************************

1360     OUTPUT @Scope;":TRIGGER:MODE EDGE"  ! Set the trigger mode to EDGE.

1370     !********************************************************************

1380     ! TRIGGER_EDGE_SLOPE

1390     ! Sets the slope of the edge for the trigger

1400     !********************************************************************

1410     OUTPUT @Scope;":TRIGGER:EDGE:SLOPE POSITIVE" ! Set the slope to positive

1420     RETURN

1430     !********************************************************************

1440     ! The following commands up to the Capture subroutine are not executed

1450     ! and are shown for reference purposes only.  To execute these commands

1460     ! comment out or erase the above return line.

1470     !

1480     !********************************************************************

1550     ! RUN_STOP (not executed in this example)

1560     ! RUN starts the acquisition of data for the active waveform display

1570     ! STOP stops the data acquisition and turns off AUTOSTORE

1580     !********************************************************************

1590     OUTPUT @Scope;":RUN"  ! Start data acquisition

1600     OUTPUT @Scope;":STOP" ! Stop the data acquisition

1610     !********************************************************************

1670     ! VIEW_BLANK (not executed in this example)

1680     ! VIEW turns on (starts displaying) a channel or pixel memory

1690     ! BLANK turns off (stops displaying) a channel or pixel memory

1700     !********************************************************************

1710     OUTPUT @Scope;":BLANK CHANNEL1"   ! Turn channel 1 off

1720     OUTPUT @Scope;":VIEW CHANNEL1"    ! Turn channel 1 on

1730     !********************************************************************

1740     ! TIMEBASE_MODE (not executed in this example)

1750     ! Set the time base mode to MAIN, DELAYED, XY, or ROLL

1760     !********************************************************************

1770     OUTPUT @Scope;"TIMEBASE:MODE MAIN" ! Set time base mode to main

1830     RETURN  ! from initialize if the above commands are executed

1840  !************************************************************************

1850  ! Capture

1860  ! We will capture the waveform using the digitize command

1870  !*************************************************************************

1880  !

1890     !**********************************************************************

1900     ! AQUIRE_TYPE

1910     ! Sets the acquisition mode.  The acquisition mode can be NORMAL, PEAK or

1920     ! AVERAGE.

1930     !**********************************************************************

1940     OUTPUT @Scope;":ACQUIRE:TYPE NORMAL"

1950     !**********************************************************************

1960     ! AQUIRE_COMPLETE

1970     ! Specifies the minimum completion criteria for an acquisition.  The

1980     ! parameter determines the percentage of time buckets needed to be

1990     ! "full" before an acquisition is considered to be complete

2000     !**********************************************************************

2010     OUTPUT @Scope;":ACQUIRE:COMPLETE 100"

2020     !**********************************************************************

2030     ! DIGITIZE

2040     ! Used to acquire the waveform data for transfer over the interface.

2050     ! Sending this command causes an acquisition to take place with the

2060     ! resulting data being placed in the buffer.

2070     !******************************** NOTE! *******************************

2080     ! The DIGITIZE command is highly recommended for triggering modes other

2081     ! than SINGLE. This ensures that sufficient data is available for

2090     ! measurement. If DIGITIZE is used with single mode, the completion

2091     ! criteria may never be met. The number of points gathered in Single mode

2092     ! is related to the sweep speed, memory depth, and maximum sample rate.

2093     ! For example, take a scope with a 2000-point memory and a sweep speed of

2094     ! 20 us/div (200 us total time across the screen), and a scope with a

2095     ! 20-MSa/s maximum sample rate. 2000 divided by 200 us equals 10 MSa/s.

2096     ! Because this number is less than or equal to the maximum sample rate,

2097     ! the full 2000 points will be digitized in a single acquisition.

2098     ! Now use 2 us/div (20 us across the screen). 2000 divided by 20 us equals

2099     ! 100 MSa/s because this is greater than the maximum sample rate by 5 times.

2100     ! Only 400 points or 1/5 the points can be gathered on a single trigger.

2101     ! Keep in mind when the oscilloscope is running, communication with the

2110     ! computer interrupts data acquisition.  Setting up the oscilloscope

2120     ! over the bus causes the data buffers to be cleared and internal

2130     ! hardware to be reconfigured.  If a measurement is immediately requested

2140     ! there may not have been enough time for the data acquisition process

2150     ! to collect data the results may not be accurate.  An error value of

2160     ! 9.9E+37 may be returned over the bus in this situation.

2170     !**********************************************************************

2180     OUTPUT @Scope;":DIGITIZE CHAN1"

2190     RETURN

2200     !**********************************************************************

2210     ! ANALYZE

2220     !**********************************************************************

2230     ! In analyze we will do the following:

2240     ! Save the system setup to a file and restore it.

2250     ! Save the waveform data to a file on the computer.

2260     ! Make single channel measurements.

2270     ! Save the oscilloscope display to file that can be sent to a printer.

2280     !**********************************************************************

2290     !**********************************************************************

2300     ! SAVE_LEARN

2310     ! The *LRN query returns a program message that contains the

2320     ! current state of the instrument.  This is the same as the

2330     ! :SYSTEM:SETUP? query.  It returns #80000500<learn string><NL>

2340     ! where the learn string is 500 bytes in length

2350     !**********************************************************************

2360     DIM String$[550]                  ! Allocate memory for learn string

2370     OUTPUT @Scope;"*LRN?"             ! Query for learn string

2380     ENTER @Scope USING "-K";String$   ! Read learn string

2390     ON ERROR GOTO 2410                ! if next line has an error continue

2400     PURGE "learn.dat"                 ! try to delete file "learn.dat"

2410     OFF ERROR                         ! Turn off error condition

2420     CREATE "learn.dat",1              ! Create new file learn.dat

2430     ASSIGN @Learn TO "learn.dat"      ! open file

2440     OUTPUT @Learn USING "#,K";String$ ! write learn string to file

2450     ASSIGN @Learn TO *                ! close file

2460     !**********************************************************************

2470     ! IMAGE_TRANSFER

2480     ! In this example we will query for the image data with :PRINT?,

2490     ! read the data into the string Print_info$, and then save the

2500     ! data to the file "image.dat: which you can then send to a printer.

2510     !**********************************************************************

2520     DIM Print_info$[19767]  ! allocate memory for low res printer data

2530     OUTPUT @Scope;":PRINT?" ! Query for print data

2540     PRINT "Reading printer data..."

2550     ENTER @Scope USING "-K";Print_info$ ! Read in print data

2560     ON ERROR GOTO 2580

2570     PURGE "image.dat"       ! try and delete old file

2580     OFF ERROR               ! turn off error condition

2590     CREATE "image.dat",1    ! create new file

2600     ASSIGN @Image TO "image.dat"  ! open file

2610     OUTPUT @Image USING "#,K";Print_info$ ! write data to file

2620     ASSIGN @Image TO *      ! close file

2630     !**********************************************************************

2640     ! RESTORE_LEARN

2650     ! Read the learn string from a file and output it back to the scope.

2660     !**********************************************************************

2670     ASSIGN @Learn TO "learn.dat"

2680     ENTER @Learn USING "-K";String$

2690     ASSIGN @Learn TO *

2700     OUTPUT @Scope USING "#,K";"SYSTEM:SETUP ";String$

2710     !**********************************************************************

2720     ! MEASURE

2730     ! The commands in the MEASURE subsystem are used to make measurements

2740     ! on displayed waveforms

2750     !**********************************************************************

2760     OUTPUT @Scope;":MEASURE:SOURCE CHANNEL1"  ! Source to measure

2770     OUTPUT @Scope;":MEASURE:FREQUENCY?"  ! Query for frequency

2780     ENTER @Scope;Frequency               ! Read frequency

2790     PRINT "Frequency = ";Frequency       ! Write frequency to screen

2800     OUTPUT @Scope;"MEASURE:DUTYCYCLE?"   ! Query for duty cycle

2810     ENTER @Scope;Dutycycle               ! Read dutycycle

2820     PRINT "Dutycycle = ";Dutycycle       ! Write dutycycle to screen

2830     OUTPUT @Scope;":MEASURE:RISETIME?"   ! Query for risetime

2840     ENTER @Scope;Risetime                ! Read risetime

2850     PRINT "Risetime = ";Risetime         ! Write risetime to screen

2860     OUTPUT @Scope;":MEASURE:VPP?"        ! Query for Peak to Peak voltage

2870     ENTER @Scope;Vpp                     ! Read VPP

2880     PRINT "VPP = ";Vpp                   ! Write VPP to screen

2890     OUTPUT @Scope;":MEASURE:VMAX?"       ! Query for Vmax

2900     ENTER @Scope;Vmax                    ! Read Vmax

2910     PRINT "Vmax = ";Vmax                 ! Write Vmax to screen

2920     !*********************************************************************

2930     ! WAVEFORM_DATA

2940     ! To obtain waveform data you must specify the WAVEFORM parameters

2950     ! for the waveform data prior to sending the :WAVEFORM:DATA? query.

2960     ! Once these parameters have been sent, the waveform data and

2970     ! the preamble can read.

2980     !**********************************************************************

2990     !**********************************************************************

3000     ! WAVE_SOURCE

3010     ! Selects the channel to be used as the source for the waveform commands.

3020     !**********************************************************************

3030     OUTPUT @Scope;":WAVEFORM:SOURCE CHAN1"

3040     !**********************************************************************

3050     ! WAVE_POINTS

3060     ! Specifies the number of points to be transferred using the

3070     ! :WAVEFORM:DATA? query.

3080     !**********************************************************************

3090     OUTPUT @Scope;":WAVEFORM:POINTS 2000"

3100     !**********************************************************************

3110     ! WAVE_FORMAT

3120     ! Sets the data transmission mode for the waveform data output.  This

3130     ! command controls how the data is formatted when sent from the oscilloscope

3140     ! in either a word or byte format.

3150     !**********************************************************************

3160     OUTPUT @Scope;":WAVEFORM:FORMAT WORD"

3170     !**********************************************************************

3180     ! GET_PREAMBLE

3190     ! The preamble block contains all of the current WAVEFORM settings.  It

3200     ! is returned in the form <preamble block><NL> where <preamble block> is:

3210     !   FORMAT        : int16 0 = ASCII, 1 = BYTE, 2 = WORD

3220     !   TYPE          : int16 0 = AVERAGE, 1 = NORMAL, 2 = PEAK DETECT

3230     !   POINTS        : int32 number of data points transferred

3240     !   COUNT         : int32 1 and is always 1

3250     !   XINCREMENT    : float32 - time difference between data points

3260     !   XORIGIN       : float64 - always the first data point in memory

3270     !   XREFERENCE    : int32 - specifies the data point associated with x-origin

3280     !   YINCREMENT    : float32 - voltage difference between data points

3290     !   YORIGIN       : float32 - value is the voltage at center screen

3300     !   YREFERENCE    : int16 - specifies data point where y-origin occurs

3310     !**********************************************************************

3320     DIM Preamble(1:10)

3330     OUTPUT @Scope;"WAVEFORM:PREAMBLE?" ! Query for the preamble

3340     ENTER @Scope;Preamble(*)           ! Read preamble information

3350     !**********************************************************************

3360     ! QUERY_WAVE_DATA

3370     ! Outputs waveform data that is stored in a buffer.

3380     !***********************************************************************

3390     OUTPUT @Scope;":WAV:DATA?"  ! Query the scope for the waveform data

3400     !***********************************************************************

3410     !READ_WAVE_DATA

3420     ! The wave data consists of two parts: the header, and the actual waveform

3430     ! data followed by a new line (NL) character.  The query data has the

3440     ! following format:

3450     !

3460     !   <header> <waveform data> <NL>

3470     ! Where:

3480     !   <header> = #800008000 (This is an example header)

3490     ! The "#8" may be stripped off of the header and the remaining

3500     ! numbers are the size. in bytes, of the waveform data block.  The

3510     ! size can vary depending on the number of points acquired for the

3520     ! waveform.  You can then read that number of bytes from the oscilloscope

3530     ! and the terminating NL character.

3540     !

3550     ! The @Fast variable is used in this example to read the actual

3560     ! waveform data block from the scope unformatted one word at time.

3570     ! This is much faster than reading the data one byte at a time.

3580     !**********************************************************************

3590     ENTER @Scope USING "#,2A,8D";Header$,Bytes ! Strip off header and size

3600     PRINT "Reading ";Bytes;" bytes from scope..."

3610     ALLOCATE INTEGER Waveform(1:Bytes/2)       ! Allocate an array for data

3620     ENTER @Fast;Waveform(*)                    ! Read unformatted word data

3630     ENTER @Scope USING "-K,B";End$             ! Read terminating New Line char

3640     PRINT "Volts/Div = ";32*Preamble(8)

3650     PRINT "Offset = ";(128-Preamble(10))*Preamble(8)+Preamble(9)

3660     PRINT "Sec/Div = ";Preamble(3)*Preamble(5)/10

3670     PRINT "Delay = ";(Preamble(3)/2-Preamble(7))*Preamble(5)+Preamble(6)

3680     FOR I=1 TO 2000 STEP 100

3690     PRINT "Data point ";I;(Waveform(I)-Preamble(10))*Preamble(8)+Preamble(9);" Volts";(I-Preamble(7))*Preamble(5)+Preamble(6);" Seconds"

3700     NEXT I

3710    ! Make a delay measurement between channel 1 and 2

3715    OUTPUT @Scope;":MEASURE:TEDGE? +1, CHAN1" !Query time at 1st rising edge on ch 1

3720    ENTER @Scope;Chan1Edge1                   !Read time at edge 1 on ch 1

3725    OUTPUT @Scope;":MEASURE:TEDGE? +1, CHAN2" !Query time at 1st rising edge on ch 2

3730    ENTER @Scope;Chan2Edge1                   !Read time at edge 1 on ch 2

3735    Delay=Chan2Edge1-Chan1Edge1               !Calculate delay time between ch 1 and 2

3740    PRINT "Delay = ";Delay                    !Write calculated delay time to screen

3745    !

3750    ! Make a phase difference measurement between channel 1 and 2

3755    OUTPUT @Scope;":MEASURE:TEDGE? +2, CHAN1" !Query time at 2nd rising edge on ch 1

3760    ENTER @Scope;Chan1Edge2                   !Read time at edge 2 on ch 1

3765    Period=Chan1Edge2-Chan1Edge1              !Calculate period of ch 1

3770    Phase=(Delay/Period)360                   !Calculate phase difference between ch1 and 2

3775    PRINT "Phase = ";Phase;" degrees"         !Write calculated phase difference to screen

3820     END


Example C Program for GPIB

/************************************************************************/

/* This is a programming example for the 54620/40-series oscilloscopes. */

/* This example uses an GPIB card at ISC 7 and assumes your scope       */

/* address is 7.  Connect a signal to channel 1 before executing this   */

/* program.  The probe calibration signal is a good signal to use.      */

/*                                                                      */

/* This example uses the GPIB command library for DOS.  RS-232          */

/* is not supported in this example.  RS-232 users should use the HP    */

/* Standard Instrument Control Library (SICL) Part Number E2094 or      */

/* a BASIC interpreter, such as HP BASIC, that supports RS-232.         */

/*                                                                      */

/************************************************************************/

#include <stdio.h>            /* printf... */

#include <stdlib.h>

#include <string.h>           /* strlen... */

#include "c:\hpib\c\chpib.h"  /* HPIB functions */

#include "c:\hpib\c\cfunc.h"

#define ISC 7                 /* interface select code of your GPIB card */

#define SCOPE (ISC*100)+7     /* scope address */

/* Function prototypes */

void initialize(void);              /* initialize the interface and scope */

void extra(void);                   /* misc. commands not executed shown for

                                       reference purposes */

void capture(void);                 /* digitize the data from the scope */

void analyze(void);                 /* make some measurements */

void get_waveform(void);            /* download waveform data from the scope */

void save_waveform(void);           /* save waveform data to a file */

void retrieve_waveform(void);       /* load waveform data from a file */

void trace(void);                   /* download a trace from memory 1 and

                                       upload it to memory 2 */

void sendstringcmd(char *);         /* sends commands to the scope */

void errorhandle(int error, char *function, char *cause); /* error handler */

/* global variables */

long isc;      /* global that represents the GPIB interface */

long scope;    /* global that represents the scope */

int error;     /* used for error handling */

unsigned char waveform_data[5000];       /* array to hold the waveform data */

float preamble[10];                      /* array to hold the preamble */

void main(void)

{

initialize();

/* the extras function contains misc. commands that do not need */

/* to be executed for the proper operation of this example.     */

/* The commands in the extras function are shown for reference  */

/* purposes only.                                               */

/*  extra(); */ /* <-- Uncomment to execute the extra function */

capture();

analyze();

printf ("Program execution is complete...\n");

}

/************************************************************************/

/* initialize - This function initializes both the interface and the    */

/*              scope to a known state.                                 */

/************************************************************************/

void initialize (void)

{

/************************************************************************/

/*SETUP_INTERFACE                                                       */

/*                                                                      */

/* - This assigns the oscilloscope I/O address to the oscilloscope and  */

/*   Isc variables, and selects and clears the GPIB Interface.         */

/*                                                                      */

/************************************************************************/

printf ("**********************************************************\n");

printf ("This program assumes that your GPIB card is at ISC 7 and\n");

printf ("your scope's address is 7.  If your settings do not match\n");

printf ("this program will fail.\n");

printf ("Make sure a test signal is connected to Channel 1.\n");

printf ("**********************************************************\n");

isc = ISC;

scope = SCOPE;

error = IORESET(isc);          /* reset the interface card */

errorhandle(error, "IORESET", "IORESET");

 	error = IOTIMEOUT(isc, 5.0);   /* set the interface timeout to 5 seconds */

errorhandle(error, "IOTIMEOUT", "IOTIMEOUT");

error = IOCLEAR(isc);          /* clear the interface */

errorhandle(error, "IOCLEAR", "IOCLEAR");

/************************************************************************/

/*RESET                                                                 */

/*                                                                      */

/* - This command puts the oscilloscope in a known state.               */

/*   Without this command, the oscilloscope settings are unknown.       */

/*   This command is very important for program control.                */

/*                                                                      */

/* - Many of the following initialization commands are initialized by   */

/*   this command.  It is not necessary to reinitialize them unless     */

/*   you want to change the default setting.                            */

/************************************************************************/

sendstringcmd("*RST");

/************************************************************************/

/*AUTOSCALE                                                             */

/* - This command evaluates all the input signals and sets the correct  */

/*   conditions to display all of the active signals.                   */

/************************************************************************/

sendstringcmd(":AUTOSCALE");

/************************************************************************/

/* CHANNEL_PROBE                                                        */

/* - Sets the probe attenuation factor for the selected channel.  The   */

/*   probe attenuation factor may be from 0.1 to 1000.                  */

/************************************************************************/

sendstringcmd(":CHAN1:PROBE 10");

/************************************************************************/

/*CHANNEL_RANGE                                                         */

/* - Sets the full scale vertical range in volts.  The range value is   */

/*   eight times the volts per division.                                */

/************************************************************************/

sendstringcmd(":CHANNEL1:RANGE 8");

/************************************************************************/

/*TIME_RANGE                                                            */

/* - Sets the full scale horizontal time in seconds.  The range value   */

/*   is ten times the time per division.                                */

/************************************************************************/

sendstringcmd(":TIM:RANG 2e-3");

/************************************************************************/

/*TIME_REFERENCE                                                        */

/* - Possible values are LEFT and CENTER.                               */

/* - LEFT sets the display reference one time division from the left.   */

/* - CENTER sets the display reference to the center of the screen.     */

/************************************************************************/

sendstringcmd(":TIMEBASE:REFERENCE CENTER");

/************************************************************************/

/* TRIGGER_SOURCE                                                       */

/* - Selects the channel that actually produces the tv trigger.  Any    */

/*   Channel can be selected                                            */

/************************************************************************/

sendstringcmd(":TRIGGER:TV:SOURCE CHANNEL1");

/************************************************************************/

/*TRIGGER_MODE                                                          */

/* - Set the trigger mode to, EDGE, GLITch, PATTern, CAN, DURation,     */

/* IIC, LIN, SEQuence, SPI, TV, or USB.                                 */

/************************************************************************/

sendstringcmd(":TRIGGER:MODE EDGE");

/************************************************************************/

/*TRIGGER_EDGE_SLOPE                                                    */

/* - Set the slope of the edge for the trigger to either POSITIVE or    */

/*   NEGATIVE.                                                          */

/************************************************************************/

sendstringcmd(":TRIGGER:EDGE:SLOPE POSITIVE");

return;

}

void extra (void)

{

/************************************************************************/

/* The commands in this function are not executed and are shown for     */

/* reference purposes only.  To execute these commands, call this       */

/* function from main.                                                  */

/************************************************************************/

/************************************************************************/

/* RUN_STOP (not executed in this example)                              */

/*                                                                      */

/* - RUN starts the acquisition of data for the active waveform display. */

/*                                                                      */

/* - STOP stops the data acquisition and turns off AUTOSTORE.           */

/************************************************************************/

  	sendstringcmd(":RUN");

  	sendstringcmd(":STOP");

/************************************************************************/

/*VIEW_BLANK (not executed in this example)                             */

/*                                                                      */

/* - VIEW turns on (starts displaying) an active channel or pixel       */

/*   memory.                                                            */

/*                                                                      */

/* - BLANK turns off (stops displaying) a specified channel or pixel    */

/*   memory.                                                            */

/************************************************************************/

sendstringcmd(":BLANK CHANNEL1");

sendstringcmd(":VIEW CHANNEL1");

/************************************************************************/

/*TIME_MODE (not executed in this example)                              */

/*                                                                      */

/* - Set the time base mode to MAIN, DELAYED, XY or ROLL.              */

/************************************************************************/

  	sendstringcmd(":TIMEBASE:MODE MAIN" );

}

/************************************************************************/

/* capture - This function prepares the scope for data acquisition      */

/*          and then uses the DIGITIZE MACRO to capture some data.      */

/************************************************************************/

void capture (void)

{

/************************************************************************/

/*AQUIRE_TYPE                                                           */

/* - Sets the acquisition mode.  There are three acquisition types      */

/*    NORMAL, PEAK or AVERAGE.                                          */

/************************************************************************/

sendstringcmd(":ACQUIRE:TYPE NORMAL");

/************************************************************************/

/*AQUIRE_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.         */

/************************************************************************/

sendstringcmd(":ACQUIRE:COMPLETE 100");

/************************************************************************/

/*DIGITIZE                                                              */

/* - Used to acquire the waveform data for transfer over the interface. */

/*   Sending this command causes an acquisition to take place with      */

/*   the resulting data being placed in the buffer.                     */

/************************************************************************/

/****************************** NOTE ************************************/

/* The use of the DIGITIZE command is highly recommended as it will     */

/* ensure that sufficient data is available for measurement.  Keep in   */

/* mind when the oscilloscope is running, communication with the        */

/* computer interrupts data acquisition.  Setting up the oscilloscope   */

/* over the bus causes the data buffers to be cleared and internal      */

/* hardware to be reconfigured.  If a measurement is immediately        */

/* requested there may not have been enough time for the data           */

/* acquisition process to collect data and the results may not be       */

/* accurate.  An error value of 9.9E+37 may be returned over the bus    */

/* in this situation.                                                   */

/************************************************************************/

sendstringcmd(":DIGITIZE CHAN1");

}

/************************************************************************/

/* analyze -  In this example we will do the following:                 */

/* - Save the system setup to a file for restoration at a later time.   */

/* - Save the scope display to a file which can be printed.             */

/* - Make single channel measurements.                                  */

/************************************************************************/

void analyze (void)

{

float frequency, vpp; /* measurements */

    /* values calculated from the preamble data */

float vdiv, off, sdiv, delay;

    int i;       /* loop counter */

    FILE *fp;

    long length;

/************************************************************************/

/* SAVE_LEARN                                                           */

/* - The *LRN? query returns a program message that contains the        */

/*   current state of the instrument.  This is the same as the          */

/*   :SYSTEM:SETUP? query.  It returns #80000158<learn string><NL>      */

/*   where <learn string> is 158 bytes in length.                       */

/************************************************************************/

IOMATCH(isc, '\n', 0);             /* turn off linefeed terminator */

IOEOI(isc, 1);                     /* Enable EOI as terminator */

sendstringcmd ("*LRN?");           /* send a query */

fp = fopen ("learn.dat", "wb");

fprintf (fp, ":SYSTEM:SETUP ");

fclose (fp);

length = 200;                      /* learn string length plus overflow */

error = IOENTERF(scope, "learn.dat", &length, 1);

errorhandle(error, "IOENTERF", "*LRN?");

printf ("Received %ld bytes of learn string.\n", length);

/************************************************************************/

/* RESTORE_LEARN                                                        */

/* - Uploads a previously saved learn string to the scope.              */

/************************************************************************/

error = IOOUTPUTF (scope, "learn.dat", length + 14);

errorhandle (error, "IOOUTPUTF", "Send LRN");

printf ("Uploaded the learn string to the scope.\n");

/************************************************************************/

/*IMAGE_TRANSFER                                                        */

/*                                                                      */

/* - In this example we will query for the image data with :PRINT?,     */

/*   read the data and save the data                                    */

/*   to the file "image.dat" which you can then send to a printer.      */

/************************************************************************/

IOMATCH(isc,'\n', 0 );       /* Turn off linefeed as terminator */

IOEOI( isc, 1);              /* Enable EOI as terminator */

printf("Transferring image to image.dat\n");

sendstringcmd ( ":PRINT?");

/* Receive the binary info, 19767 bytes = low res, 223048 = high res  */

length = 19767 + 2;

error = IOENTERF(scope, "image.dat", &length, 0 );

errorhandle( error, "IOENTERF", "PRINT?" );

printf("Done transferring image.\n");

/************************************************************************/

/*MEASURE                                                               */

/* - The commands in the MEASURE subsystem are used to make             */

/*   measurements on displayed waveforms.                               */

/************************************************************************/

sendstringcmd(":MEASURE:SOURCE CHANNEL1");/* set source to measure */

sendstringcmd(":MEASURE:FREQUENCY?");     /* query for frequency */

error = IOENTER(scope, &frequency);

errorhandle(error, "IOENTER", " FREQUENCY?" );

sendstringcmd(":MEASURE:VPP?");           /* query - peak to peak voltage */

error = IOENTER(scope, &vpp);

errorhandle(error, "IOENTER", " VPP?" );

printf ("The frequency is %f Hz\n", frequency);

printf ("The peak to peak voltage is %f V\n", vpp);

get_waveform();                           /* get waveform data from scope */

/* make some calculations from the preamble data */

vdiv  = 32 * preamble [7];

off   = (128 - preamble [9]) * preamble [7] + preamble [8];

sdiv  = preamble [2] * preamble [4] / 10;

delay = (preamble [2] / 2 - preamble [6]) * preamble [4] + preamble [5];

/* print them out... */

printf ("Scope Settings for Channel 1:\n");

printf ("Volts per Division = %f\n", vdiv);

printf ("Offset = %f\n", off);

printf ("Seconds per Division = %f\n", sdiv);

printf ("Delay = %f\n", delay);

/* print out the waveform voltage at selected points */

for (i = 0; i < 2000; i = i + 100)

printf ("Data Point %4d = %6.2f Volts at %10f Seconds\n", i,

((float)waveform_data[i] - preamble[9]) * preamble[7] + preamble[8],

((float)i - preamble[6]) * preamble[4] + preamble[5]);

save_waveform();        /* save waveform data to disk */

retrieve_waveform();    /* load waveform data from disk */

}

/************************************************************************/

/* get_waveform - This function transfers the data displayed on the     */

/*                scope to the computer for storage, plotting or        */

/*                further analysis.                                     */

/************************************************************************/

void get_waveform (void)

{

int preamble_length, waveform_size = 4000;

char tmp[5];

/************************************************************************/

/*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:PREAMBLE? query*/

/*   provides information concerning the vertical and horizontal scaling*/

/*   of the waveform data.                                              */

/*                                                                      */

/* - With the preamble information you can then use the :WAVEFORM:DATA? */

/*   query and read the data block in the correct format.               */

/************************************************************************/

/************************************************************************/

/*WAVE_FORMAT                                                           */

/*                                                                      */

/* - Sets the data transmission mode for waveform data output.  This    */

/*   command controls how the data is formatted when sent from the      */

/*   oscilloscope and can be set to WORD or BYTE format.                */

/************************************************************************/

/* set waveform format to BYTE   */

sendstringcmd (":WAVEFORM:FORMAT BYTE");

/************************************************************************/

/*WAVE_POINTS                                                           */

/*                                                                      */

/* - Sets the number of points to be transferred.  The number of time   */

/*   points available is returned by the ACQUIRE:POINTS? query.  This   */

/*   can be set to any binary fraction of the total time points         */

/*   available.                                                         */

/************************************************************************/

sendstringcmd(":WAVEFORM:POINTS 2000");

/************************************************************************/

/*GET_PREAMBLE                                                          */

/*                                                                      */

/* - The preamble contains all of the current WAVEFORM settings returned*/

/*   in the form <preamble block><NL> where the <preamble block> is:    */

/*                                                                      */

/*     - FORMAT     : int16 0 = ASCII, 1 = BYTE, 2 = WORD               */

/*     - TYPE       : int16 0 = AVERAGE, 1 = NORMAL, 2 = PEAK DETECT    */

/*     - POINTS     : int32 number of data points transferred            */

/*     - COUNT      : int32 1 and is always 1                           */

/*     - XINCREMENT : float32 time difference between data points       */

/*     - XORIGIN    : float64 always the first data point in memory     */

/*     - XREFERENCE : int32   specifies the data pt associated w/x-orig */

/*     - YINCREMENT : float32 voltage difference between data points    */

/*     - YORIGIN    : float32 value of the voltage at center screen     */

/*     - YREFERENCE : int16   data point where y-origin occurs          */

/************************************************************************/

sendstringcmd(":WAVEFORM:PREAMBLE?" );  /* query for points available*/

printf("Reading preamble\n");

preamble_length = 10;

error = IOENTERA(scope, preamble, &preamble_length);

errorhandle(error, "IOENTERA", " PREAMBLE " );

/************************************************************************/

/*QUERY_WAVE_DATA                                                       */

/*                                                                      */

/* - Outputs waveform records to the controller over the interface that */

/*   is stored in a buffer previously specified with the                */

/*   :WAVEFORM:SOURCE command.                                          */

/************************************************************************/

sendstringcmd( ":WAVEFORM:DATA?"); /* query for waveform data */

/************************************************************************/

/* READ_WAVE_DATA                                                       */

/*                                                                      */

/* - The wave data consists of two parts: the header, and the actual    */

/*   waveform data followed by an New Line (NL) character.  The query   */

/*   data has the following format:                                     */

/*                                                                      */

/*               <header> <waveform data block> <NL>                    */

/*                                                                      */

/*               <header> = #800002048    (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 which can be set using the :WAVEFORM:POINTS command.  You */

/*   may then read that number of bytes from the oscilloscope, then read*/

/*   the following NL character to terminate the query.                 */

/************************************************************************/

printf("Reading waveform data from scope... size = %d\n", waveform_size);

waveform_size = 4000;

error = IOENTERAB(scope, waveform_data, &waveform_size, 1);

errorhandle(error, "IOENTERAB", " WAVEFORM DATA " );

printf("Done reading waveform data size = %d\n", waveform_size);

waveform_size = 1;

error = IOENTERS(scope, tmp, &waveform_size);  /* Read in terminating NL */

errorhandle(error, "IOENTERS", "WAVEFORM LINE FEED");

}

/************************************************************************/

/* save_waveform - This function saves the waveform data from the       */

/*                 get_waveform function to disk.  The data is saved to */

/*                 a file called "wave.dat"                             */

/************************************************************************/

void save_waveform(void)

{

FILE *fp;

fp = fopen("wave.dat", "wb");

fwrite(preamble, sizeof(preamble[0]), 10, fp); /* write preamble */

    /* write actually waveform data */

fwrite(waveform_data, sizeof(waveform_data[0]), (int)preamble[2], fp);

fclose (fp);

}

/************************************************************************/

/* retrieve_waveform - This function retrieves previously saved         */

/*                     waveform data from a file called "wave.dat".     */

/************************************************************************/

void retrieve_waveform(void)

{

FILE *fp;

fp = fopen("wave.dat", "rb");

fread (preamble, sizeof(preamble[0]), 10, fp); /* read preamble*/

    /* read the waveform data */

fread (waveform_data, sizeof(waveform_data[0]), (int)preamble[2], fp);

fclose (fp);

}

/************************************************************************/

/* sendstringcmd - this function interfaces to the actual GPIB output   */

/*                 functions.  It also checks for errors and calls the  */

/*                 errorhandler function above                          */

/************************************************************************/

void sendstringcmd( char *cmd)

{

   /* If you need to replace the function call that outputs strings this */

     /* is the place                                                	*/

error = IOOUTPUTS( scope, cmd, strlen(cmd) );

errorhandle(error, "IOOUTPUTS", cmd);

}

/************************************************************************/

/* errorhandle - This function prints an error message of the screen    */

/*                 regarding the command that caused the error.         */

/************************************************************************/

void errorhandle( int error, char *function, char *cmdcause )

{

  if ( error != NOERR )

  {

printf("GPIB error in call to %s with %s, error = %s\n",

function, cmdcause, errstr(error) );

 /*	wait_time(); */

    exit(1);

  }

}


Example RS-232 BASIC Code
Example RS232 BASIC Code

30   !*********************************************************************

40   !MAIN PROGRAM

50   !

60   !This example shows the fundamental parts of a program (initialize,

70   !capture, analyze).

80   !

90   !The commands sent to the 54620/40-series are written in

100  !both long and short form.  Both forms are acceptable.

110  !

120  !The input signal used is the AC CAL signal at the front panel of the

130  !analyzer connected to channel 0 and channel 10.

140  !

150  !If you are using a different signal or different channels, these

160  !commands may not work exactly as explained in the comments.

170  !*********************************************************************

180

190  !*********************************************************************=

200  !INITIALIZE

210  !

220  !Initialization will start the program with the analyzer in a known

230  !state.  This is required because some uninitialized condition could

240  !drastically change the outcome of the program.

250  !

260  !First, initialize the analyzer and RS232 interface.  Then, if needed,

270  !initialize the timebase, channels, and trigger systems.  Finally,

280  !modify the ACQUIRE subsystem to suit your measurement needs.

290  !*********************************************************************

300    GOSUB Initialize                 !initialize interface and analyzer

310

320  !*********************************************************************

330  !CAPTURE

340  !

350  !After initialization, you must make the waveform data available to

360  !analyze.  To do this, we recommend that you capture the data using

370  !the DIGITIZE command.

380  !

390  !DIGITIZE clears the waveform data buffers and begins to acquire new

400  !data.  DIGITIZE continues until all the new data is acquired and then

410  !stops.  Once it stops, the captured data can be measured, stored in

420  !memory, or transferred to the computer for analysis.

430  !*********************************************************************

440    GOSUB Capture                    !digitize and acquire waveform

450

460  !*********************************************************************

470  !ANALYZE

480  !

490  !Once the waveform has been captured, it can be analyzed.

500  !

510  !There are many parts of the waveform to analyze.  The parts that need

520  !to be analyzed depend on the purpose of the program.  This example

530  !shows some of the possible ways to analyze various parts of waveforms.

540  !*********************************************************************

550    GOSUB Analyze                    !analyze waveform

560

570  !*********************************************************************

580  !Again, not all initialization steps are necessary for your program to

590  !run correctly.  You only need to include or add those steps that are

600  !necessary for your program.

610  !

620  !Also, analysis of the waveform(s) can be done in any way you choose.

630  !This example only shows some of the possible forms of analysis.

640  !*********************************************************************

650    STOP                             !Exit program

660

670  !*********************************************************************

680  !INITIALIZE

690  !

700  !In this example we will initialize the following:

710  !

720  ! - Analyzer and RS232 interface

730  ! - POD thresholds and labels

740  ! - DISPLAY grid and order of the channels

750  ! - TIMEBASE reference, range, and delay

760  ! - TRIGGER mode and type

770  ! - ADVANCED TRIGGER source, pattern, and operator

780  !

790  !There are also some additional initialization commands, which are not

800  !used, but are shown for reference purposes only.

810  !*********************************************************************

820 Initialize:

830

840  !*********************************************************************-

850  !SETUP_INTERFACE

860  !

870  ! - This assigns the analyzer I/O address to the Analyzer variable,

880  !   and sets up the RS232 Interface.

890  !

900  ! - Now all communication with the analyzer can be done through the

910  !   variable @Analyzer.

920  !*********************************************************************-

930    CONTROL 9,3;9600                !set RS232 baud rate to 9600

940    CONTROL 9,4;3                   !8 bit;1stop;par disable;odd par

950    ASSIGN @Analyzer TO 9           !analyzer address

960

970  !*********************************************************************-

980  !RESET

990  !

1000 ! - This command puts the analyzer in a known state.

1010 !   Without this command, the analyzer settings are unknown.

1020 !   This command is very important for program control.

1030 !

1040 ! - Many of the following initialization commands are initialized by

1050 !   this command.  It is not necessary to reinitialize them unless

1060 !   you want to change the default setting.

1070 !*********************************************************************

1080   OUTPUT @Analyzer;"*RST"         !set analyzer to default config

1090

1100 !*********************************************************************

1110 !THRESHOLD

1120 !

1130 ! - This command is used to set the voltage threshold for the

1140 !   waveforms.  There are three preset values (TTL, CMOS, and ECL) and

1150 !   you can also set a user-defined threshold value between -8.0 volts

1160 !   and +8.0 volts.

1170 !

1180 ! - In this example we set channels 0-7 to CMOS, then set channels 8-15

1190 !   to a user defined 2.0 volts, and then set the external trigger to

1200 !   TTL.  Of course you only need to set the thresholds for the

1210 !   channels you will be using in your program.

1220 !*********************************************************************

1230                                   !set channels 0-7 to CMOS threshold

1240   OUTPUT @Analyzer;":POD1:THRESHOLD CMOS"

1250                                   !set channels 8-15 to 2.0 volts

1260   OUTPUT @Analyzer;":POD2:THRESHOLD 2.0"

1270                                   !set external channel to TTL threshold

1280                                   !(written in short form)

1290   OUTPUT @Analyzer;":TRIG:LEV TTL,EXT"

1300

1310 !*********************************************************************

1320 !LABEL

1330 !

1340 ! - This command allows you to write a name (six characters maximum)

1350 !   next to the channel number.  It is not necessary, but can be useful

1360 !   for organizing the display.

1370 !*********************************************************************

1380                                   !label channel1  "CAL 0"

1390   OUTPUT @Analyzer;":CHANNEL1:LABEL ""CAL 0"""

1400                                   !label channel10 "CAL10"

1410   OUTPUT @Analyzer;":CHANNEL10:LABEL ""CAL10"""

1420

1510 !*********************************************************************

1520 !DISP_ORDER

1530 !

1540 ! - Set the order in which the channels are displayed on the analyzer.

1550 !   You can enter between 1 and 32 channels at one time.  If you leave

1560 !   out channels, they will not be displayed on the analyzer.

1570 !*********************************************************************

1580                                   !display ONLY channel 0 and channel 10

1590                                   !in that order

1600   OUTPUT @Analyzer;":DISPLAY:ORDER 0,10"

1610

1620 !*********************************************************************

1630 !TIME_REFERENCE

1640 !

1650 ! - Possible values are LEFT, CENTER, and RIGHT.

1660 ! - LEFT sets the display reference to one time division from the left

1670 !   side of the screen.

1680 ! - CENTER sets the display reference to the center of the screen.

1690 ! - RIGHT sets the display reference to one time division from the

1700 !   right side of the screen.

1710 !*********************************************************************

1720                                   !set timebase reference to CENTER

1730   OUTPUT @Analyzer;":TIMEBASE:REFERENCE CENTER"

1740

1750 !*********************************************************************

1760 !TIME_RANGE

1770 !

1780 ! - Sets the full-scale horizontal time in seconds.  The range value is

1790 !   ten times the time per division.  When the delayed timebase is

1800 !   selected, the range command will set the full-scale horizontal time

1810 !   of the delayed timebase.

1820 !*********************************************************************

1830   OUTPUT @Analyzer;":TIMEBASE:RANGE 200US" !set timebase range to 200us

1840

1850 !*********************************************************************

1860 !TIME_DELAY

1870 !

1880 ! - Sets the time base delay.  This delay is the internal time between

1890 !   the trigger event and the onscreen delay reference point.

1900 !*********************************************************************

1910   OUTPUT @Analyzer;":TIMEBASE:DELAY 0.0"   !set timebase delay to 0.0

1920

1930 !*********************************************************************

1940 !TRIGGER_MODE

1950 !

1960 ! - Set the trigger mode to AUTO or NORMAL.

1970 !

1980 ! - If the AUTO mode is selected and the analyzer does not find a

1990 !   trigger, the waveform will still be displayed.

2000 !

2010 ! - If the NORMAL mode is selected and no trigger is present, the

2020 !   waveform(s) will not be acquired; therefore, the waveform(s) can

2030 !   not be displayed on the screen.

2040 !*********************************************************************

2050   OUTPUT @Analyzer;":TRIGGER:MODE NORMAL"  !set trigger mode to NORMAL

2060

2070 !*********************************************************************

2080 !TRIGGER_TYPE

2090 !

2100 ! - Set trigger type to EDGE, simple PATTERN, or ADVANCED.

2110 !*********************************************************************

2120                                    !set trigger type to ADVANCED

2130   OUTPUT @Analyzer;":TRIGGER:TYPE ADVANCED"

2140

2150 !*********************************************************************

2160 !TV_SOURCE

2170 !

2180 ! - Set the trigger tv source.

2190 !

2200 !*********************************************************************

2210                                    !set trigger tv source to

2220                                    !CHANNEL1

2230   OUTPUT @Analyzer;":TRIGGER:TV:SOURCE CHANNEL1"

2240

2250 !*********************************************************************

2260 !DUR_PATTERN

2270 !

2280 ! - Set the trigger duration pattern using pattern and mask values.

2290 !   These can be entered in decimal or as a string in hexadecimal.

2300 !

2310 ! - The HIGH bits in the pattern set the corresponding channels HIGH

2320 !   and the LOW bits in the pattern set the corresponding channels LOW.

2330 !

2340 ! - The HIGH bits in the mask define which channels are affected by the

2350 !   pattern and the LOW bits set the corresponding channels to

2360 !   DON'T CARE.

2370 !

2380 ! - In this example, the pattern is "0X0001" which will set channel 0

2390 !   to HIGH and all other channels to LOW.  Further, the mask is

2400 !   1 which means only channel 0 is affected by the pattern and all

2410 !   other channels will be set to DON'T CARE.

2420 !

2430 ! - This example writes the pattern as a string and the mask as a

2440 !   decimal.  You may write the pattern and mask in either the string

2450 !   or decimal format.

2460 !*********************************************************************

2470                                    !Set advanced pattern to

2480                                    !CHANNEL 0 HIGH and all other

2490                                    !channels to DON'T CARE.

2500   OUTPUT @Analyzer;":TRIGGER:DURATION:PATTERN ""0X0001"", 1"

2510   RETURN

2520 !*********************************************************************

2650 !The following commands up to the Capture Subroutine are not executed

2660 !and are shown for reference purposes only.  To execute these commands

2670 !remove the "RETURN" from line 2510.

2680 !========================================================

2690

2700 !*********************************************************************

2710 !AUTOSCALE (not executed in this example)

2720 !

2730 ! - Evaluates all input signals and sets the correct conditions to

2740 !   display all of the active signals.

2750 !*********************************************************************

2760   OUTPUT @Analyzer;":AUTOSCALE"    !display active waveforms

2770

2850 !*********************************************************************

2860 ! RUN_STOP (not executed in this example)

2870 !

2880 ! - RUN starts the acquisition of data for the active waveform display.

2890 !

2900 ! - STOP stops the data acquisition and turns off AUTOSTORE.

2910 !*********************************************************************

2920   OUTPUT @Analyzer;":RUN"          !start data acquisition

2930   OUTPUT @Analyzer;":STOP"         !stop data acquisition

2940

3020 !*********************************************************************

3030 !VIEW_BLANK (not executed in this example)

3040 !

3050 ! - VIEW turns on (starts displaying) an active channel or pixel

3060 !   memory.

3070 !

3080 ! - BLANK turns off (stops displaying) a specified channel or pixel

3090 !   memory.

3100 !*********************************************************************

3110   OUTPUT @Analyzer;":VIEW DIGital0"       !turn channel0  ON

3120   OUTPUT @Analyzer;":VIEW DIGITal10"      !turn channel10 ON

3130   OUTPUT @Analyzer;":BLANK DIGital1"      !turn channel1  OFF

3140

3150 !*********************************************************************

3160 !DISP_LABEL (not executed in this example)

3170 !

3180 ! - Turns label names ON or OFF on the analyzer display.

3190 !*********************************************************************

3200   OUTPUT @Analyzer;":DISPLAY:LABEL ON"     !turn on labels

3210

3220 !*********************************************************************

3230 !TIME_MODE (not executed in this example)

3240 !

3250 ! - Set the timebase mode to MAIN, XY, ROLL or DELAYED.

3260 !*********************************************************************

3270                                    !set timebase mode to MAIN

3280   OUTPUT @Analyzer;":TIMEBASE:MODE MAIN"

3290

3390 !========================================================

3400 !CAPTURE

3410 !

3420 !In this example we want to initialize the advanced trigger

3430 !duration based on the period of channel 0.  However, we can't measure

3440 !the period until we capture the waveform data.  Therefore, the

3450 !initialization and capture stages of the program overlap.

3460 !

3470 !To accomplish this, we will first capture the waveform using DIGITIZE,

3480 !measure the period of channel 0, set the advanced trigger

3490 !duration, then DIGITIZE again for waveform analysis.

3500 !========================================================

3510 Capture:

3520

3530 !*********************************************************************

3540 !DIGITIZE

3550 !

3560 ! - Used to acquire waveform data for transfer over the interface.

3570 !   Sending the command causes an acquisition to take place with the

3580 !   resulting data being placed in the buffer.  When the DIGITIZE

3590 !   operation is complete the instrument is placed in the stopped mode.

3600 !   The length of time DIGITIZE takes is dependent on which system it

3610 !   is run on and the current timebase range setting.

3620 !*********************************************************************

3630   OUTPUT @Analyzer;":DIGITIZE"     !acquire waveform data and stop

3640

3650 !*********************************************************************

3660 !MEASURE_PERIOD

3670 !

3680 ! - Measures the period of the first complete cycle on the screen.

3690 !*********************************************************************

3700                                    !set measure source to channel 0

3710   OUTPUT @Analyzer;":MEASURE:SOURCE CHANNEL0"

3720   OUTPUT @Analyzer;":MEASURE:PERIOD?"      !query for period

3730   ENTER @Analyzer;Period                   !read period

3740

3750 !*********************************************************************

3760 !SET_DURATION

3770 !

3780 ! - Set trigger duration.

3790 !

3800 ! - We will start with the duration equal to the period, attempt to

3810 !   capture the waveform, and check if a trigger is acquired.  If not,

3820 !   we will decrease the length of the duration and attempt to capture

3830 !   the new waveform until a trigger is acquired.

3840 !

3850 ! - The "WAIT 1" instruction is required to allow the RUNSINGLE command

3860 !   time to acquire the waveform data.  The wait time required depends

3870 !   on the current timebase range and delay settings.  The higher the

3880 !   timebase range, the more wait time must be added.

3890 !*********************************************************************

3900   Duration=Period                  !set Time to Period

3910                                    !set maximum trigger duration

3920   OUTPUT @Analyzer;":TRIGGER:DURATION:LESSthan ";Duration

3930   OUTPUT @Analyzer;":TER?"         !query for trigger and clear bit

3940   ENTER @Analyzer;Ter              !read if trigger was acquired

3950   OUTPUT @Analyzer;":SINGLE"       !acquire waveform with new trigger

3960   WAIT 1                           !wait for single

3970   OUTPUT @Analyzer;":TER?"         !query for trigger

3980   ENTER @Analyzer;Ter              !read if trigger was acquired

3990   WHILE Ter<>1                     !do loop while trigger not acquired

4000     Duration=Duration*.9           !decrease duration by 10%

4010                                    !set maximum trigger duration

4020                                    !(written in short form)

4030     OUTPUT @Analyzer;":TRIG:DUR:LESS ";Duration

4040     OUTPUT @Analyzer;":TER?"       !query for trigger and clear bit

4050     ENTER @Analyzer;Ter            !read if trigger was acquired

4060     OUTPUT @Analyzer;":SINGLE"     !acquire waveform with new trigger

4070     WAIT 1                         !wait for single

4080     OUTPUT @Analyzer;":TER?"       !query for trigger

4090     ENTER @Analyzer;Ter            !read if trigger was acquired

4100   END WHILE                        !end loop

4110   OUTPUT @Analyzer;":DIGITIZE"     !acquire waveform data and stop

4120   RETURN                           !from Capture

4130

4140 !========================================================

4150 !ANALYZE

4160 !

4170 !In this example we will show how to do the following:

4180 !

4190 ! - Save the system setup to a file and restore it at a later time

4200 ! - Make single and dual channel measurements

4210 ! - Use cursor information

4220 ! - Save the analyzer display to a file that can be sent to a printer

4230 ! - Read the waveform(s) data and send it to a file

4240 !

4250 !These are only some of the basic tools for analysis.

4260 !========================================================

4270 Analyze:

4280

4290 !*********************************************************************

4300 !SAVE_LEARN

4310 !

4320 ! - The *LRN query returns a program message that contain the current

4330 !   state of the instrument.  This is the same as the :SYSTEM:SETUP?

4340 !   query.  It returns #800000500<learn string><NL>.

4350 !

4360 !*********************************************************************

4370   DIM String$[511]                 !allocate memory for learn string

4380   OUTPUT @Analyzer;"*LRN?"         !query for learn string

4390   ENTER @Analyzer USING "-K";String$        !read learn string

4400   ON ERROR GOTO No_learn_dat       !if next line has error, continue

4410   PURGE "learn.dat"                !try to delete file "learn.dat"

4420 No_learn_dat:

4430   OFF ERROR                        !turn off any error condition

4440   CREATE "learn.dat",1             !create new file "learn.dat"

4450   ASSIGN @Learn_file TO "learn.dat"        !open file "learn.dat"

4460   OUTPUT @Learn_file USING "#,K";String$   !write learn string to file

4470   ASSIGN @Learn_file TO *          !close file "learn.dat"

4480

4490 !*********************************************************************

4500 !MEASUREMENTS

4510 !

4520 ! - The commands in the MEASURE subsystem are used to make

4530 !   measurements on displayed waveforms.

4540 !*********************************************************************

4550

4560 !*********************************************************************

4570 !SINGLE_CHANNEL_MEASUREMENTS

4580 !

4590 ! - Allows you to measure the FREQuency, PERiod, and DUTYcycle of the

4600 !   waveform(s).  :MEASURE:SOURCE sets the channel to be measured.

4610 !*********************************************************************

4620                                    !Set measure source to channel 1

4700   OUTPUT @Analyzer;":MEASURE:SOURCE CHANNEL1"

4930

5110 !*********************************************************************

5120 !IMAGE_TRANSFER

5130 !

5140 ! - In this example we will query for the image data with :PRINT?,

5150 !   read the data into the string Print_info$, and then save the data

5160 !   to the file "image.dat" which you can then send to a printer.

5170 !*********************************************************************

5180                                            !allocate memory for printer data.

5190                                            !19768 bytes is the size for LOW RES

5200   DIM Print_info$[19768]                   !image data.  HI RES needs 223049.

5210   OUTPUT @Analyzer;":PRINT?"               !query for printer data

5220   PRINT "Reading printer data. . .."

5230   ENTER @Analyzer USING "-K";Print_info$   !this can take a while

5240   PRINT "Done reading printer data"

5250   ON ERROR GOTO No_image_dat               !if next line has error, continue

5260   PURGE "image.dat"                        !try to delete file "image.dat"

5270 No_image_dat:

5280   OFF ERROR                                !turn off any error condition

5290   CREATE "image.dat",1                     !create new file "image.dat"

5300   ASSIGN @Image_file TO "image.dat"        !open file "image.dat"

5310                                            !write data to file "image.dat"

5320   OUTPUT @Image_file USING "#,K";Print_info$

5330   ASSIGN @Image_file TO *                  !close file "image.dat"

5340

5350 !*********************************************************************

5360 !WAVEFORM_DATA

5370 !

5380 ! - To obtain waveform data, you must specify the WAVEFORM parameters

5390 !   for the waveform data prior to sending the :WAVEFORM:DATA? query.

5400 !

5410 ! - Once these parameters have been sent, the :WAVEFORM:PREAMBLE? query

5420 !   provides information concerning the vertical and horizontal scaling

5430 !   of the waveform data.

5440 !

5450 ! - With the preamble information you can then use the :WAVEFORM:DATA?

5460 !   query and read the data block in the correct format.

5470 !*********************************************************************

5480

5490 !*********************************************************************

5500 !WAVE_POINTS

5510 !

5520 ! - Sets the number of points to be transferred.  The number of time

5530 !   points available is returned by the ACQUIRE:POINTS? query.  This

5540 !   can be set to any binary fraction of the total time points

5550 !   available.

5560 !*********************************************************************

5570   OUTPUT @Analyzer;":ACQUIRE:POINTS?"      !query for points available

5580   ENTER @Analyzer;Points                   !read points available

5590   PRINT "Number of points acquired = ";Points

5600   OUTPUT @Analyzer;":WAVEFORM:POINTS 100"  !set points wanted to 100

5610

5620 !*********************************************************************

5630 !WAVE_FORMAT

5640 !

5650 ! - Sets the data transmission mode for waveform data output.  This

5660 !   command controls how the data is formatted when sent from the

5670 !   analyzer and can be set to WORD or BYTE format.

5680 !*********************************************************************

5690   OUTPUT @Analyzer;":WAVEFORM:FORMAT WORD" !set waveform format to WORD

5700

5710 !*********************************************************************

5720 !WAVE_SOURCE

5730 !

5740 ! - Selects the channel(s) to be used as the source for the waveform

5750 !   commands.

5760 !*********************************************************************

5770                                    !set source to all 16 channels

5780   OUTPUT @Analyzer;":WAVEFORM:SOURCE POD1"

5790

5800 !*********************************************************************

5810 !WAVE_BYTE_ORDER

5820 !

5830 ! - Sets the output sequence of the word data.  The parameter MSBFIRST

5840 !   sets the most significant byte to be transmitted first.  The

5850 !   parameter LSBFIRST sets the least significant byte to be

5860 !   transmitted first.  This command affects the transmitting sequence

5870 !   only when :TIMEBASE:MODE is set to NORMAL and the selected

5875 !   WAVEFORM:SOURCE:CHANNEL is turned on.

5880 !*********************************************************************

5882                                    !set timebase mode to normal

5884   OUTPUT @Analyzer;":TIMEBASE:MODE NORMAL"

5890                                    !set waveform byte order to LSBFIRST

5900   OUTPUT @Analyzer;":WAVEFORM:BYTEORDER LSBFIRST"

5910

5920 !*********************************************************************

5930 !GET_PREAMBLE

5940 !

5950 ! - The preamble contains all of the current WAVEFORM settings returned

5960 !   in the form <preamble block><NL> where the <preamble block> is:

5970 !

5980 !     - FORMAT     : int16

5990 !     - TYPE       : int16

6000 !     - POINTS     : int32

6010 !     - COUNT      : int32

6020 !     - XINCREMENT : float32

6030 !     - XORIGIN    : float64

6040 !     - XREFERENCE : int32

6050 !     - YINCREMENT : float32

6060 !     - YORIGIN    : float32

6070 !     - YREFERENCE : int16

6080 !*********************************************************************

6090   DIM Preamble(1:10)                       !allocate space for waveform preamble

6100   OUTPUT @Analyzer;":WAVEFORM:PREAMBLE?"   !query for waveform preamble

6110   ENTER @Analyzer;Preamble(*)              !read the preamble

6120

6130 !*********************************************************************

6140 !QUERY_WAVE_DATA

6150 !

6160 ! - Outputs waveform records to the controller over the interface that

6170 !   is stored in a buffer previously specified with the

6180 !   :WAVEFORM:SOURCE command.

6190 !

6200 ! - The wave data consists of two parts: the header, and the actual

6210 !   waveform data followed by an New Line (NL) character.  The query

6220 !   data has the following format:

6230 !

6240 !               <header> <waveform data block> <NL>

6250 !

6260 !               <header> = #800002048    (this is an example header)

6270 !*********************************************************************

6280   OUTPUT @Analyzer;":WAVEFORM:DATA?"       !query for waveform data

6290   ENTER @Analyzer USING "#,2A,8D";Header$,Bytes

6300   PRINT "Reading";Bytes;"bytes from analyzer. . .."

6310   ALLOCATE INTEGER Waveform(1:Bytes+1)

6320   ENTER @Analyzer USING "#,B";Waveform(*)  !read data

6330   PRINT "Done reading bytes from analyzer"

6340

6350 !*********************************************************************

6360 !WAVE_DATA_FILE

6370 !

6380 ! - Create data file to save the waveform data in.  The data file will

6390 !   have the following format:

6400 !

6410 !      STATE #        CAL 0         CAL10         TIME

6420 !

6430 !       0000             0             0        0.000E+0

6440 !       0001          GL 0          GL 0        1.237E-6

6450 !       0002             1             1        2.474E-6

6460 !       0003             0             0        4.948E-6

6470 !       ...           ...           ...         ...

6480 !*********************************************************************

6490   ON ERROR GOTO No_waveform_dat    !if next line has error, continue

6500   PURGE "waveform.dat"             !try to delete file "waveform.dat"

6510 No_waveform_dat:

6520   OFF ERROR                        !turn off any error condition

6530   CREATE "waveform.dat",1          !create file "waveform.dat"

6540   ASSIGN @Data_file TO "waveform.dat"      !open file "waveform.dat"

6550                                    !Write column headers to file.

6560   OUTPUT @Data_file USING "#,53A,L,L";"      STATE #        CAL 0         CAL10         TIME"

6570

6580 !*********************************************************************

6590 !TRANSFER_WAVE_DATA_TO_FILE

6600 !

6610 ! - This will check if the waveform data was acquired in GLITCH mode

6620 !   or NORMAL mode.  (The Type variable was read from the :WAVEFORM:

6630 !   PREAMBLE? query.)  It will then transfer the waveform data to the

6640 !   data file accordingly.

6650 !*********************************************************************

6660   IF Preamble(2)=0 THEN            !if acquire type = GLITCH

6670                                    !the Glitch subroutine is very slow

6680     GOSUB Glitch                   !read GLITCH waveform data

6690   ELSE                             !if acquire type = NORMAL

6700                                    !the Normal subroutine is very slow

6710     GOSUB Normal                   !read NORMAL waveform data

6720   END IF                           !end if

6730   ASSIGN @Data_file TO *           !close file "waveform.dat"

6740

6750 !*********************************************************************

6760 !RESTORE_LEARN

6770 !

6780 ! - Sets the analyzer as defined by the data in the setup (learn)

6790 !   string sent from the controller.  Again, the setup (learn) string

6800 !   has the form #800000500<setup data string>,  where the

6810 !   <setup data string> is 500 bytes long.

6820 !*********************************************************************

6830 Restore_learn:

6840   ASSIGN @Learn_file TO "learn.dat"!open file "learn.dat"

6850   ENTER @Learn_file USING "-K";String$     !read learn string from file

6860   ASSIGN @Learn_file TO *          !close file "learn.dat"

6870                                    !restore system setup

6880   OUTPUT @Analyzer USING "#,K";"SYSTEM:SETUP ";String$

6890   RETURN                           !from Analyze

6900

6910 !*********************************************************************

6920 !GLITCH (this subroutine is very slow)

6930 !

6940 ! - The Glitch data contains 4 bytes for each acquired point.  The

6950 !   first 16 bits contain the glitch data for each of the 16 channels.

6960 !   A HIGH bit means a glitch was detected between the acquired points.

6970 !   The second 16 bits contain the waveform data for each of the

6980 !   16 channels.  A HIGH bit means the waveform is HIGH at that point

6990 !   and a LOW bit means the waveform is LOW at that point.

7000 !*********************************************************************

7010 Glitch:

7020   Index=1                          !initialize index to 1

7030   Time=0                           !initialize time to 0

7040   Time_inc=Preamble(5)             !Preamble(5) = time between points

7050   FOR I=1 TO Preamble(3)           !Preamble(3) = number of points

7060     Glitch0=BIT(Waveform(Index),0) !check channel 0 glitch bit

7070     Index=Index+1                  !advance index

7080     Glitch10=BIT(Waveform(Index),2)!check channel 10 glitch bit

7090     Index=Index+1                  !advance index

7100     Data0=BIT(Waveform(Index),0)   !check channel 0 data bit

7110     Index=Index+1                  !advance index

7120     Data10=BIT(Waveform(Index),2)  !check channel 10 data bit

7130     Index=Index+1                  !advance index

7140                                    !the next subroutine is very slow

7150     GOSUB Write_to_file            !write data to file

7160     Time=Time+Time_inc             !increment time

7170   NEXT I

7180   RETURN                           !from Glitch

7190

7200 !*********************************************************************

7210 !NORMAL (this subroutine is very slow)

7220 !

7230 ! - The Normal data contains 2 bytes for each acquired point.

7240 !   The bits contain the waveform data for each of the 16 channels

7250 !   A HIGH bit means the waveform is HIGH at that point and a LOW bit

7260 !   means the waveform is LOW at that point.

7270 !*********************************************************************

7280 Normal:

7290   Glitch0=0                        !no glitches in normal mode

7300   Glitch10=0                       !no glitches in normal mode

7310   Index=11                         !initialize index to 1

7320   Time=0                           !initialize time to 0

7330   Time_inc=Preamble(5)             !Preamble(5) = time between points

7340   FOR I=1 TO Preamble(3)           !Preamble(3) = number of points

7350     Data0=BIT(Waveform(Index),0)   !check channel 0 data bit

7360     Index=Index+1                  !advance index

7370     Data10=BIT(Waveform(Index),2)  !check channel 10 data bit

7380     Index=Index+1                  !advance index

7390                                    !the next subroutine is very slow

7400     GOSUB Write_to_file            !write data to file

7410     Time=Time+Time_inc             !increment time

7420   NEXT I

7430   RETURN                           !from Normal

7440

7450 !*********************************************************************

7460 !WRITE_TO_FILE (This subroutine is very slow)

7470 !

7480 ! - This will write the waveform data for channel 0 and channel 10 to

7490 !   the file "waveform.dat".  The following is an example of the file:

7500 !*********************************************************************

7510 Write_to_file:

7520   IF Glitch0=1 THEN                !if channel 0 has a glitch

7530     Glitch0$="GL"                  !write "GL"

7540   ELSE                             !if channel 0 has no glitch

7550     Glitch0$="  "                  !write spaces

7560   END IF                           !end if for channel 0

7570   IF Glitch10=1 THEN               !if channel 10 has a glitch

7580     Glitch10$="GL"                 !write "GL"

7590   ELSE                             !if channel 10 has no glitch

7600     Glitch10$="  "                 !write spaces

7610   END IF                           !end if for channel 10

7620

7630                                    !Write waveform data to file.

7640                                    !The format string used here simply

7650                                    !writes the waveform data in a

7660                                    !column format.

7670

7680   OUTPUT @Data_file USING "#,7X,4Z,10X,2A,X,D,10X,2A,X,D,8X,D.3DESZ,L";I,Glitch0$;Data0,Glitch10$;Data10,Time

7690   RETURN                           !from Write_data

7700   END


Commands A-Z (Collapsed Menu)
Commands A-Z

Expand Menu

A

B

C

D

E

F

G

H

I

L

M

N

O

P

Q

R

S

T

U

V

W

X

Y


Activity Commands Submenu
ACTivity Commands

:CHANnel:ACTivity

:ACTivity


BWLimit Commands Submenu
BAUDrate Commands

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:LIN:SIGNal:BAUDrate


BAUDrate Commands Submenu
BWLimit Commands

:CHANnel<n>:BWLimit

:EXternal:BWLimit


Clock Commands Submenu
CLOCk Commands

:TRIGger:IIC:SOURce:CLOCk

:TRIGger:SPI:CLOCk:SLOPe

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:SOURce:CLOCk


Count Commands Submenu
COUNt Commands

:ACQuire:COUNt

:WAVeform:COUNt


Coupling Commands Submenu
COUPling Commands

:CHANnel<n>:COUPling

:TRIGger:EDGE:COUPling


Clear Commands Submenu
Clear Commands

:DISPlay:CLEar

:MEASure:CLEar


Data Commands Submenu
DATA Commands

:DISPlay:DATA

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:IIC:PATTern:DATA

:TRIGger:IIC:SOURce:DATA

:TRIGger:SPI:PATTern:DATA

:TRIGger:SPI:SOURce:DATA

:WAVeform:DATA


DATE Commands Submenu
DATE Commands

:SYSTem:DATE

:CALibrate:DATE


DEFinition Commands Submenu
DEFintion Commands

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:LIN:SIGNal:DEFinition


DELay Commands Submenu
DELay Commands

:MEASure:DELay

:TIMEbase:DELay


Display Commands Submenu
DISPlay Commands

:CHANnel<n>:DISPlay

:DIGital<n>:DISPlay

:FUNCtion[<n>]:DISPlay

:POD<n>:DISPlay


Edge Commands Submenu
:EDGE Commands

:TRIGger:EDGE:COUPling

:TRIGger:EDGE:LEVel

:TRIGger:EDGE:REJect

:TRIGger:EDGE:SLOPe

:TRIGger:EDGE:SOURce

:TRIGger:SEQuence:EDGe


Format Commands Submenu
FORMAt Commands

:HARDcopy:FORMat

:WAVeform:FORMat


Greaterthan Commands Submenu
GREaterthan Commands

:TRIGger:DURation:GREaterthan

:TRIGger:GLITch:GREaterthan


Identifier Commands Submenu
ID Commands

:TRIGger:CAN:PATTern:ID

:TRIGger:CAN:PATTern:ID:MODE


Impedance Commands Submenu
IMPedance Commands

:CHANnel<n>:IMPedance

:EXTernal:IMPedance


Label Commands Submenu
 LABel Commands

:CALibrate:LABel

:CHANnel:LABel

:CHANnel<n>:LABel

:DIGital:LABel

:DISPlay:LABel


Lessthan Commands Submenu
LESSthan Commands

:TRIGger:DURation:LESSthan

:TRIGger:GLITch:LESSthan


Level Commands Submenu
LEVel Commands

:TRIGger:EDGe:LEVel

:TRIGger:GLITch:LEVel


Line Commands Submenu
 LINE Commands

:TRIGger:TV:LINE


Mode Commands Submenu
MODE Commands

:ACQuire:MODE

:MARKer:MODE

:TIMebase:MODE

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:MODE

:TRIGger:TV:MODE


Offset Commands Submenu
OFFSet Commands

:CHANnel<n>:OFFSet

:FUNCtion:OFFSet


PATTern Commands Submenu
PATTern Commands

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:DURation:PATTern

:TRIGger:PATTern

:TRIGger:SEQuence:PATTern

:TRIGger:SPI:PATTern:DATA

:TRIGger:SPI:PATTern:WIDth


PMODe Commands Submenu
PMODe Commands

:CHANnel<n>:PMODe


POINts Commands Submenu
POINts Commands

:ACQuire:POINts

:WAVeform:POINts


Polarity Commands Submenu
POLarity Commands

:TRIGger:GLITch:POLarity

:TRIGger:TV:POLarity


Position Commands Submenu
POSition Commands

:DIGital:POSition

:TIMEbase:POSition

:TIMEbase:WNDow:POSition


PROBe Commands Submenu
PROBe Commands

:CHANnel<n>:PROBe

:EXTernal:PROBe


PROTection Commands Submenu
PROTection Commands

:CHANnel<n>:PROTection

:EXTernal:PROTection


QUALifier Commands Submenu
QUALifier Commands

:TRIGger:DURation:QUALifier

:TRIGger:GLITch:QUALifier

:TRIGger:IIC:TRIGger:QUALifier


Range Commands Submenu
RANGe Commands

:CHANnel<n>:RANGe

:EXTernal:RANGe

:FUNCtion:RANGe

:TIMebase:RANGe

:TIMebase:WINDow:RANGe

:TRIGger:DURation:RANGe

:TRIGger:GLITch:RANGe


Reference Commands Submenu
REFerence Commands

:FUNCtion:REFerence

:TIMebase:REFerence


Scale Commands Submenu
SCALe Commands

:CHANnel<n>:SCALe

:FUNCtion[<n>]:SCALe

:TIMEbase:SCALe

:TIMEbase:WINDow:SCALe


Setup Commands Submenu
SETup Commands

:SYSTem:SETup


Signal Commands Submenu
SIGNal Commands

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:LIN:SIGNal:BAUDrate

:TRIGger:LIN:SIGNal:DEFinition


Slope Commands Submenu
SLOPe Commands

:TRIGger:[EDGE:]SLOPe

:TRIGger:SPI:CLOCk:SLOPe


Source Commands Submenu
SOURce Commands

:DISPlay:SOURce

:FUNCtion:SOURce

:MEASure:SOURce

:TRIGger:CAN:SOURce

:TRIGger:GLITch:SOURce

:TRIGger:IIC:SOURCE;CLOCk

:TRIGger:IIC:SOURCE:DATA

:TRIGger:LIN:SOURce

:TRIGger:SPI:SOURCE:CLOCk

:TRIGger:SPI:SOURCE:DATA

:TRIGger:SPI:SOURCE:FRAMe

:TRIGger:TV:SOURce

:TRIGger:USB:SOURce:DMINus

:TRIGger:USB:SOURce:DPLus

:WAVeform:SOURce


Threshold Commands Submenu
THReshold Commands

:CHANnel:THReshold

:DIGital:THReshold

:MEASure:THResholds

:POD:THReshold

:TRIGger:THReshold


Time Commands Submenu
TIME Commands

:SYSTem:TIME

:CALibrate:TIME


Trigger Commands Submenu
TRIGger Commands

:TRIGger:CAN:TRIGger

:TRIGger:IIC:TRIGger:QUALifier

:TRIGger:IIC:TRIGger:TYPE

:TRIGger:LIN:TRIGger

:TRIGger:SEQuence:TRIGger

:TRIGger:USB:TRIGger


Type Commands Submenu
TYPE Commands

:ACQuire:TYPE

:WAVeform:TYPE

:TRIGger:IIC:TRIGger:TYPE


Units Commands Submenu
UNITs Commands

:CHANnel<n>:UNITs

:EXTernal:UNITs


View Commands Submenu
VIEW Commands

:FUNCtion:VIEW

:VIEW

:WAVeform:VEW


Commands by Category Popup
Commands by Subsystem

ACQuire Commands

CALibrate Commands

CHANnel<n> Commands

Common Commands

DIGital Commands

DISPlay Commands

EXTernal Trigger Subsystem

FUNCtion Commands

HARDcopy Commands

MARKer Commands

MEASure Commands

POD Commands

Root Commands

SYSTem Commands

TIMebase Commands

TRIGger Commands

WAVeform Commands


Commands-A

:ACKNowledge

:ACQuire:COMPlete

:ACQuire:COUNt

:ACQuire:MODE

:ACQuire:POINts

:ACQuire:SRATe

:ACQuire:TYPE

:ACTivity

:ADDRess

:AER

:AUToscale


Commands-B

:BAUDrate

:BLANk

:BWLimit

:BYTeorder


Commands-C

:CALibrate:DATE

:CALibrate:LABel

:CALibrate:SWITch

:CALibrate:TIME

CAN TRIGger Commands

:CDISplay

:CENTer

:CHANnel:ACTivity

:CHANnel:LABel

:CHANnel:THReshold

:CHANnel2:SKEW

:CHANnel<n>:BWLimit

:CHANnel<n>:COUPling

:CHANnel<n>:DISPlay

:CHANnel<n>:IMPedance

:CHANnel<n>:INPut

:CHANnel<n>:INVert

:CHANnel<n>:LABel

:CHANnel<n>:OFFSet

:CHANnel<n>:PMODe

:CHANnel<n>:PROBe

:CHANnel<n>:PROBe:SKEW

:CHANnel<n>:PROTection

:CHANnel<n>:RANGe

:CHANnel<n>:SCALe

:CLEAR

:CLOCk

*CLS

:COMPlete

:CONNect

:COUNt

:COUNter

:COUPling


Commands-D

:DATE

:DATA

:DEFine

:DEFinition

:DELay

:DESTination

:DEVice

:DIGital:DISPlay

:DIGital:LABel

:DIGital:POSition

:DIGital:THReshold

:DIGitize

:DISPlay

:DISPlay:CLEar

:DISPlay:CONNect

:DISPlay:DATA

:DISPlay:LABel

:DISPlay:LABList

:DISPlay:ORDer

:DISPlay:PERSistence

:DISPlay:SOURce

:DISPlay:VECTors

*DMC

:DMINus

:DPLus

:DSP

DURation TRIGger Commands

:DUTYcycle


Commands-E

EDGE TRIGger Commands

*EMC

:ERASe

:ERRor

*ESE

*ESR

:EXTernal:BWLimit

:EXTernal:IMPedance

:EXTernal:INPut

:EXTernal:PMODe

:EXTernal:PROBe

:EXTernal:PROTection

:EXTernal:RANGe


Commands-F

:FACTors

:FALLtime

:FFEed

:FIND

:FORMat

:FRAMe

:FRAMing

:FREQuency

:FUNCtion:CENTer

:FUNCtion:DISPlay

:FUNCtion:OFFSet

:FUNCtion:OPERation

:FUNCtion:RANGe

:FUNCtion:REFerence

:FUNCtion:SCALe

:FUNCtion:SOURce

:FUNCtion:SPAN

:FUNCtion:VIEW

:FUNCtion:WINDow


Commands-G

GLITch TRIGger Commands (Pulse Width trigger)

*GMC

:GRAYscale

:GREaterthan


Commands-H

:HARDcopy:DESTination

:HARDcopy:DEVice

:HARDcopy:FACTors

:HARDcopy:FFEed

:HARDcopy:FORMat

:HARDcopy:GRAYscale

:HFReject

:HOLDoff


Commands-I

:ID

*IDN

IIC TRIGger Commands

:IMPedance

:INVert


Commands-K


Commands-L

:LABel

:LABList

:LENGth

:LESSthan

:LEVel

LIN TRIGger Commands

:LINE

*LMC

:LOCK

:LOWer

*LRN


Commands-M

:MARKer:MODE

:MARKer:X1Position

:MARKer:X1Y1source

:MARKer:X2Position

:MARKer:X2Y2source

:MARKer:XDELta

:MARKer:Y1Position

:MARKer:Y2Position

:MARKer:YDELta

:MEASure:CLEar

:MEASure:COUNter

:MEASure:DEFine

:MEASure:DELay

:MEASure:DUTYcycle

:MEASure:FALLtime

:MEASure:FREQuency

:MEASure:LOWer

:MEASure:NWIDth

:MEASure:OVERshoot

:MEASure:PERiod

:MEASure:PHASe

:MEASure:PREShoot

:MEASure:PWIDth

:MEASure:RISetime

:MEASure:SCRatch

:MEASure:SHOW

:MEASure:SOURce

:MEASure:TDELta

:MEASure:TEDGe

:MEASure:THResholds

:MEASure:TMAX

:MEASure:TMIN

:MEASure:TSTArt

:MEASure:TSTOp

:MEASure:TVALue

:MEASure:TVOLt

:MEASure:UPPer

:MEASure:VAMPlitude

:MEASure:VAVerage

:MEASure:VBASe

:MEASure:VDELta

:MEASure:VMAX

:MEASure:VMIN

:MEASure:VPP

:MEASure:VRMS

:MEASure:VSTArt

:MEASure:VSTOp

:MEASure:VTIMe

:MEASure:VTOP

:MEASure:XMAX

:MEASure:XMIN

:MERGe

:MODE


Commands-N

:NREJect

:NWIDth


Commands-O

:OFFSet

*OPC

:OPEE

:OPER

:OPERation

*OPT

:ORDer

:OVERshoot

:OVLenable

:OVLRegister


Commands-P

:PATTern

:PERiod

:PERSistence

:PHASe

*PMC

:PMODe

:POD:DISPlay

:POD:THReshold

:POINts

:POLarity

:POSition

:PREamble

:PREShoot

:PRINt

:PROBe

:PROTection

Pulse Width (GLITch) TRIGger Commands

:PWIDth


Commands-Q
Q

:QUALifier


Commands-R

:RANGe

*RCL

:REFerence

:REJect

:RESet

:RISetime

Root

*RST

:RUN


Commands-S

:SAMPlepoint

*SAV

:SCALe

:SCRatch

SEQuence TRIGger Commands

:SERial

:SEQuence

:SETup

:SHOW

:SIGNal

:SINGle

SKEW

:SLOPe

:SOURce

:SPAN

:SPEed

SPI TRIGger Commands

:SRATe

*SRE

:STANdard

:STATus

*STB

:STOP

:SWEep

:SWITch

:SYSTemDATE

:SYSTem:DSP

:SYSTem:ERRor

:SYSTem:LOCK

:SYSTem:SETup

:SYSTem:TIME


Commands-T

:TDELta

:TEDGe

:TER

:THReshold

:THResholds

:TIME

:TIMebase:DELay

:TIMebase:MODE

:TIMebase:POSition

:TIMebase:RANGe

:TIMebase:REFerence

:TIMebase:SCALe

:TIMebase:WINDow:POSition

:TIMebase:WINDow:RANGe

:TIMebase:WINDow:SCALe

:TIMeout

:TIMer

:TMAX

:TMIN

*TRG

:TRIGger

:TRIGger:HFReject

:TRIGger:HOLDoff

:TRIGger:MODE

:TRIGger:NREJect

:TRIGger:PATTern

:TRIGger:SWEep

:TRIGger:THReshold

:TRIGger:CAN:ACKNowledge

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:CAN:SAMPlepoint

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:CAN:SOURce

:TRIGger:CAN:TRIGger

:TRIGger:DURation:GREaterthan

:TRIGger:DURation:LESSthan

:TRIGger:DURation:PATTern

:TRIGger:DURation:QUALifier

:TRIGger:DURation:RANGe

:TRIGger:EDGE:COUPling

:TRIGger:EDGE:LEVel

:TRIGger:EDGE:REJect

:TRIGger:EDGE:SLOPe

:TRIGger:EDGE:SOURce

:TRIGger:GLITch:GREaterthan

:TRIGger:GLITch:LESSthan

:TRIGger:GLITch:LEVel

:TRIGger:GLITch:POLarity

:TRIGger:GLITch:QUALifier

:TRIGger:GLITch:RANGe

:TRIGger:GLITch:SOURce

:TRIGger:HFReject

:TRIGger:HOLDoff

:TRIGger:IIC:PATTern:ADDRess

:TRIGger:IIC:PATTern:DATA

:TRIGger:IIC:SOURce:CLOCk

:TRIGger:IIC:SOURce:DATA

:TRIGger:IIC:TRIGger:QUALifier

:TRIGger:IIC:TRIGger:TYPE

:TRIGger:LIN:SIGNal:BAUDrate

:TRIGger:LIN:SIGNal:DEFinition

:TRIGger:LIN:SOURce

:TRIGger:LIN:TRIGger

:TRIGger:MODE

:TRIGger:NREJect

:TRIGger:PATTern

:TRIGger:SEQuence:COUNt

:TRIGger:SEQuence:EDGE

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:PATTern

:TRIGger:SEQuence:RESet

:TRIGger:SEQuence:TIMer

:TRIGger:SEQuence:TRIGger

:TRIGger:SPI:CLOCk:SLOPe

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:FRAMing

:TRIGger:SPI:PATTern:DATA

:TRIGger:SPI:PATTern:WIDth

:TRIGger:SPI:SOURce:CLOCk

:TRIGger:SPI:SOURce:DATA

:TRIGger:SPI:SOURce:FRAMe

:TRIGger:SWEep

:TRIGger:THReshold

:TRIGger:TV:LINE

:TRIGger:TV:MODE

:TRIGger:TV:POLarity

:TRIGger:TV:SOURce

:TRIGger:TV:STANdard

:TRIGger:USB:SOURce:DMINus

:TRIGger:USB:SOURce:DPLus

:TRIGger:USB:SPEed

:TRIGger:USB:TRIGger

*TST

:TSTArt

:TSTOp

:TV

:TVALue

TV TRIGger Commands

:TVOLt

TYPE


Commands-U

:UNITs

:UNSigned

:UPPer

USB TRIGger Commands


Commands-V

:VAMPlitude

:VAVerage

:VBASe

:VDELta

:VECTors

:VIEW

:VMAX

:VMIN

:VPP

:VRMS

:VSTArt

:VSTOp

:VTIMe

:VTOP


Commands-W

*WAI

:WAVeform:BYTeorder

:WAVeform:COUNt

:WAVeform:DATA

:WAVeform:FORMat

:WAVeform:POINts

:WAVeform:PREamble

:WAVeform:SOURce

:WAVeform:TYPE

:WAVeform:UNSigned

:WAVeform:VIEW

:WAVeform:XINCrement

:WAVeform:XORigin

:WAVeform:XREFerence

:WAVeform:YINCrement

:WAVeform:YORigin

:WAVeform:YREFerence

:WIDth

:WINDow


Commands-X

:X1Position

:X1Y1source

:X2Position

:X2Y2source

:XDELta

:XINCrement

:XMAX

:XMIN

:XORigin

:XREFerence


Commands-Y

:Y1Position

:Y2Position

:YDELta

:YINCrement

:YORigin

:YREFerence


ACQuire Commands

Commands by Subsystem

Introduction

:ACQuire:COMPlete

:ACQuire:COUNt

:ACQuire:MODE

:ACQuire:POINts

:ACQuire:SRATe

:ACQuire:TYPE


CALibrate Commands

Commands by Subsystem

Introduction

:CALibrate:DATE

:CALibrate:LABel

:CALibrate:SWITch

:CALibrate:TIME


CHANnel<n> Commands

Commands by Subsystem

Introduction

:CHANnel<n>:BWLimit

:CHANnel<n>:COUPling

:CHANnel<n>:DISPlay

:CHANnel<n>:IMPedance

:CHANnel<n>:INVert

:CHANnel<n>:LABel

:CHANnel<n>:OFFSet

:CHANnel<n>:PROBe

:CHANnel<n>:PROBe:SKEW

:CHANnel<n>:PROTection

:CHANnel<n>:RANGe

:CHANnel<n>:SCALe

:CHANnel<n>:UNITs


Common Commands

Commands by Subsystem

Introduction

*CLS

*DMC

*EMC

*ESE

*ESR

*GMC

*IDN

*LMC

*LRN

*OPC

*OPT

*PMC

*RCL

*RST

*SAV

*SRE

*STB

*TRG

*TST

*WAI


DIGital Commands
DIGital<n> Commands

Commands by Subsystem

Introduction

:DIGital<n>:DISPlay

:DIGital<n>:LABel

:DIGital<n>:POSition

:DIGital<n>:THReshold


DISPlay Commands

Commands by Subsystem

Introduction

:DISPlay:CLEar

:DISPlay:DATA

:DISPlay:LABel

:DISPlay:LABList

:DISPlay:PERSistence

:DISPlay:SOURce

:DISPlay:VECTors


EXTernal Commands
EXTernal trigger Commands

Commands by Subsystem

Introduction

:EXTernal:BWLimit

:EXTernal:IMPedance

:EXTernal:PROBe

:EXTernal:PROTection

:EXTernal:RANGe

:EXTernal:UNITs


FUNCtion Commands

Commands by Subsystem

Introduction

:FUNCtion:CENTer

:FUNCtion:DISPlay

:FUNCtion:OFFSet

:FUNCtion:OPERation

:FUNCtion:RANGe

:FUNCtion:REFerence

:FUNCtion:SCALe

:FUNCtion:SOURce

:FUNCtion:SPAN

:FUNCtion:WINDow


HARDcopy Commands

Commands by Subsystem

Introduction

:HARDcopy:DESTination

:HARDcopy:FACTors

:HARDcopy:FFEed

:HARDcopy:FORMat

:HARDcopy:GRAYscale


MARKer Commands

Commands by Subsystem

Introduction

:MARKer:MODE

:MARKer:X1Position

:MARKer:X1Y1source

:MARKer:X2Position

:MARKer:X2Y2source

:MARKer:XDELta

:MARKer:Y1Position

:MARKer:Y2Position

:MARKer:YDELta


MEASure Commands

Commands by Subsystem

Introduction

:MEASure:CLEar

:MEASure:COUNter

:MEASure:DEFine

:MEASure:DELay

:MEASure:DUTYcycle

:MEASure:FALLtime

:MEASure:FREQuency

:MEASure:NWIDth

:MEASure:OVERshoot

:MEASure:PERiod

:MEASure:PHASe

:MEASure:PREShoot

:MEASure:PWIDth

:MEASure:RISetime

:MEASure:SHOW

:MEASure:SOURce

:MEASure:TEDGe

:MEASure:TVALue

:MEASure:VAMPlitude

:MEASure:VAVerage

:MEASure:VBASe

:MEASure:VMAX

:MEASure:VMIN

:MEASure:VPP

:MEASure:VRMS

:MEASure:VTIMe

:MEASure:VTOP

:MEASure:XMAX

:MEASure:XMIN


+menu:060$POD Commands Submenu
POD Commands

Commands by Subsystem

Introduction

:POD:DISPlay

:POD:THReshold


Root Commands

Commands by Subsystem

Introduction

:ACTivity

:AER

:AUToscale

:BLANk

:CDISplay

:DIGitize

:MERGe

:OPEE

:OPER

:OVLenable

:OVLRegister

:PRINt

:RUN

:SERial

:SINGle

:STATus

:STOP

:TER

:VIEW


SYSTem Commands

Commands by Subsystem

Introduction

:SYSTem:DATE

:SYSTem:DSP

:SYSTem:ERRor

:SYSTem:LOCK

:SYSTem:SETup

:SYSTem:TIME


TIMebase Commands

Commands by Subsystem

Introduction

:TIMebase:MODE

:TIMebase:POSition

:TIMebase:RANGe

:TIMebase:REFerence

:TIMebase:SCALe

:TIMebase:WINDow:POSition

:TIMebase:WINDow:RANGe

:TIMebase:WINDow:SCALe


TRIGger Commands

Commands by Subsystem

Introduction

:TRIGger:HFReject

:TRIGger:HOLDoff

:TRIGger:MODE

:TRIGger:NREJect

:TRIGger:PATTern

:TRIGger:SWEep

:TRIGger:CAN commands

:TRIGger:DURation commands

:TRIGger:EDGE commands

:TRIGger:GLITch commands (Pulse Width trigger)

:TRIGger:IIC commands

:TRIGger:LIN commands

:TRIGger:SEQuence commands

:TRIGger:SPI commands

:TRIGger:TV commands

:TRIGger:USB commands


:TRIGger:CAN:ACKNowledge

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:CAN:SAMPlepoint

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:CAN:SOURce

:TRIGger:CAN:TRIGger

:TRIGger:DURation:GREaterthan

:TRIGger:DURation:LESSthan

:TRIGger:DURation:PATTern

:TRIGger:DURation:QUALifier

:TRIGger:DURation:RANGe

:TRIGger:EDGE:COUPling

:TRIGger:EDGE:LEVel

:TRIGger:EDGE:REJect

:TRIGger:EDGE:SLOPe

:TRIGger:EDGE:SOURce

:TRIGger:GLITch:GREaterthan

:TRIGger:GLITch:LESSthan

:TRIGger:GLITch:LEVel

:TRIGger:GLITch:POLarity

:TRIGger:GLITch:QUALifier

:TRIGger:GLITch:RANGe

:TRIGger:GLITch:SOURce

:TRIGger:IIC:PATTern:ADDRess

:TRIGger:IIC:PATTern:DATA

:TRIGger:IIC:SOURce:CLOCk

:TRIGger:IIC:SOURce:DATA

:TRIGger:IIC:TRIGger:QUALifier

:TRIGger:IIC:TRIGger:TYPE

:TRIGger:LIN:SIGNal:BAUDrate

:TRIGger:LIN:SIGNal:DEFinition

:TRIGger:LIN:SOURce

:TRIGger:LIN:TRIGger

:TRIGger:SEQuence:COUNt

:TRIGger:SEQuence:EDGE

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:PATTern

:TRIGger:SEQuence:RESet

:TRIGger:SEQuence:TIMer

:TRIGger:SEQuence:TRIGger

:TRIGger:SPI:CLOCk:SLOPe

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:FRAMing

:TRIGger:SPI:PATTern:DATA

:TRIGger:SPI:PATTern:WIDth

:TRIGger:SPI:SOURce:CLOCk

:TRIGger:SPI:SOURce:DATA

:TRIGger:SPI:SOURce:FRAMe

:TRIGger:TV:LINE

:TRIGger:TV:MODE

:TRIGger:TV:POLarity

:TRIGger:TV:SOURce

:TRIGger:TV:STANdard

:TRIGger:USB:SOURce:DMINus

:TRIGger:USB:SOURce:DPLus

:TRIGger:USB:SPEed

:TRIGger:USB:TRIGger


The following group of trigger menus is for popups within the Trigger command list (if so required later)


TRIGger CAN Commands Submenu
TRIGger:CAN Commands

:TRIGger:CAN:ACKNowledge

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:CAN:SAMPlepoint

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:CAN:SOURce

:TRIGger:CAN:TRIGger


TRIGger DURation Commands Submenu
TRIGger:DURation Commands

:TRIGger:DURation:GREaterthan

:TRIGger:DURation:LESSthan

:TRIGger:DURation:PATTern

:TRIGger:DURation:QUALifier

:TRIGger:DURation:RANGe


TRIGger EDGE Commands Submenu
TRIGger:EDGE Commands

:TRIGger:EDGE:COUPling

:TRIGger:EDGE:LEVel

:TRIGger:EDGE:REJect

:TRIGger:EDGE:SLOPe

:TRIGger:EDGE:SOURce


Trigger Glitch Commands Submenu
TRIGger:GLITch Commands

:TRIGger:GLITch:GREaterthan

:TRIGger:GLITch:LESSthan

:TRIGger:GLITch:LEVel

:TRIGger:GLITch:POLarity

:TRIGger:GLITch:QUALifier

:TRIGger:GLITch:RANge

:TRIGger:GLITch:SOURce


TRIGger IIC Commands Submenu
TRIGgger:IIC Commands

:TRIGger:IIC:PATTern:ADDRess

:TRIGger:IIC:PATTern:DATA

:TRIGger:IIC:SOURce:CLOCk

:TRIGger:IIC:SOURce:DATA

:TRIGger:IIC:TRIGger:QUALifier

:TRIGger:IIC:TRIGger:TYPE


TRIGger LIN Commands Submenu
TRIGgger:LIN Commands

:TRIGger:LIN:SIGNal:BAUDrate

:TRIGger:LIN:SIGNal:DEFinition

:TRIGger:LIN:SOURce

:TRIGger:LIN:TRIGger


TRIGger SEQuence Commands Submenu
TRIGgger:SEQuence Commands

:TRIGger:SEQuence:COUNt

:TRIGger:SEQuence:EDGE

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:PATTern

:TRIGger:SEQuence:RESet

:TRIGger:SEQuence:TIMer

:TRIGger:SEQuence:TRIGger


TRIGger SPI Commands Submenu
TRIGgger:SPI Commands

:TRIGger:SPI:CLOCk:SLOPe

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:FRAMing

:TRIGger:SPI:PATTern:DATA

:TRIGger:SPI:PATTern:WIDth

:TRIGger:SPI:SOURce:CLOCk

:TRIGger:SPI:SOURce:DATA

:TRIGger:SPI:SOURce:FRAMe


TRIGger TV Commands Submenu
TRIGgger:TV Commands

:TRIGger:TV:LINE

:TRIGger:TV:MODE

:TRIGger:TV:POLarity

:TRIGger:TV:SOURce

:TRIGger:TV:STANdard


TRIGger USB Commands Submenu
TRIGgger:USB Commands

:TRIGger:USB:SOURce:DMINus

:TRIGger:USB:SOURce:DPLus

:TRIGger:USB:SPEed

:TRIGger:USB:TRIGger


The following group of trigger menus is for navigation after a search for a trigger type


Trigger CAN Commands
TRIGger:CAN Commands

Commands by Subsystem

:TRIGger:CAN:ACKNowledge

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:CAN:SAMPlepoint

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:CAN:SOURce

:TRIGger:CAN:TRIGger


Trigger DURation Commands
TRIGger:DURation Commands

Commands by Subsystem

:TRIGger:DURation:GREaterthan

:TRIGger:DURation:LESSthan

:TRIGger:DURation:PATTern

:TRIGger:DURation:QUALifier

:TRIGger:DURation:RANGe


TRIGger EDGE Commands
TRIGger:EDGE Commands

Commands by Subsystem

:TRIGger:EDGE:COUPling

:TRIGger:EDGE:LEVel

:TRIGger:EDGE:REJect

:TRIGger:EDGE:SLOPe

:TRIGger:EDGE:SOURce


TRIGger GLITch Commands
TRIGger:GLITch Commands

Commands by Subsystem

:TRIGger:GLITch:GREaterthan

:TRIGger:GLITch:LESSthan

:TRIGger:GLITch:LEVel

:TRIGger:GLITch:POLarity

:TRIGger:GLITch:QUALifier

:TRIGger:GLITch:RANGe

:TRIGger:GLITch:SOURce


TRIGger IIC Commands
TRIGgger:IIC Commands

Commands by Subsystem

:TRIGger:IIC:PATTern:ADDRess

:TRIGger:IIC:PATTern:DATA

:TRIGger:IIC:SOURce:CLOCk

:TRIGger:IIC:SOURce:DATA

:TRIGger:IIC:TRIGger:QUALifier

:TRIGger:IIC:TRIGger:TYPE


TRIGger LIN Commands
TRIGgger:LIN Commands

Commands by Subsystem

:TRIGger:LIN:SIGNal:BAUDrate

:TRIGger:LIN:SIGNal:DEFinition

:TRIGger:LIN:SOURce

:TRIGger:LIN:TRIGger


TRIGger SEQuence Commands
TRIGgger:SEQuence Commands

Commands by Subsystem

:TRIGger:SEQuence:COUNt

:TRIGger:SEQuence:EDGE

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:PATTern

:TRIGger:SEQuence:RESet

:TRIGger:SEQuence:TIMer

:TRIGger:SEQuence:TRIGger


TRIGger SPI Commands
TRIGgger:SPI Commands

Commands by Subsystem

:TRIGger:SPI:CLOCk:SLOPe

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:FRAMing:TRIGger:SPI:PATTern:DATA

:TRIGger:SPI:PATTern:WIDth

:TRIGger:SPI:SOURce:CLOCk

:TRIGger:SPI:SOURce:DATA

:TRIGger:SPI:SOURce:FRAMe


TRIGger TV Commands
TRIGger:TV Commands

Commands by Subsystem

:TRIGger:TV:LINE

:TRIGger:TV:MODE

:TRIGger:TV:POLarity

:TRIGger:TV:SOURce

:TRIGger:TV:STANdard


TRIGger USB Commands
TRIGger:USB Commands

Commands by Subsystem

:TRIGger:USB:SOURce:DMINus

:TRIGger:USB:SOURce:DPLus

:TRIGger:USB:SPEed

:TRIGger:USB:TRIGger


WAVeform Commands

Commands by Subsystem

Introduction

:WAVeform:BYTeorder

:WAVeform:COUNt

:WAVeform:DATA

:WAVeform:FORMat

:WAVeform:POINts

:WAVeform:PREamble

:WAVeform:SOURce

:WAVeform:TYPE

:WAVeform:UNSigned

:WAVeform:VIEW

:WAVeform:XINCrement

:WAVeform:XORigin

:WAVeform:XREFerence

:WAVeform:YINCrement

:WAVeform:YORigin

:WAVeform:YREFerence


Number Format

NR1 specifies integer data

NR3 specifies exponential data in floating point format


Line Terminator

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


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.


Truncation Rules

(Short Form)

Use the first four characters of the command/keyword unless the fourth character is a vowel. If the fourth character is a vowel, then use the first three characters of the command/keyword. If the length of the command/keyword is exactly four characters, then use all four characters.

Examples:

Long form	Short form
RANGe	RANG
PATTern	PATT
TIMebase	TIM
DELay	DEL
TYPE	TYPE


Value Ranges

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


Digits

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


Definite Length Block Response Data
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 4000 bytes of data, the syntax would be

#800004000<4000 bytes of data> <NL>

8 is the number of digits that follow

00004000 is the number of bytes to be transmitted

<4000 bytes of data> is the actual data


Standard Event Status Enable Register

Bit	Weight	Enables
7	128	PON - Power On
6	64	URQ - User Request
5	32	CME - Command Error
4	16	EXE - Execution Error
3	8	DDE - Device Dependent Error
2	4	QYE - Query Error
1	2	TRG - Trigger Query
0	1	OPC - Operation Complete


Standard Event Status Register

Table Key:

0 = False = Low

1 = True = High

Bit	Weight	Name	Condition
7	128	PON	1 = OFF to ON transition has occurred
6	64	URQ	0 = no front-panel key has been pressed 1 = a front-panel key has been pressed
5	32	CME	0 = no command errors 1 = a command error has been detected
4	16	EXE	0 = no execution error 1 = an execution error has been detected
3	8	DDE	0 = no device-dependent errors 1 = a device-dependent error has been detected
2	4	QYE	0 = no query errors 1 = a query error has been detected
1	2	RQC	Not Used
0	1	OPC	0 = operation is not complete 1 = operation is complete


Service Request Enable Register

(High - Enables the SRE bit)

Bit	Weight	Enables
7	128	OPER Operation Status Register
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


Status Byte Register Table

0 = False = Low

1 = True = High

Bit	Weight	Name	Condition
7	128	OPER	0 = no enabled operation status conditions have occurred 1 = an enabled operation status condition has occurred
6	64	RQS/MSS	0 = instrument has no reason for service 1= instrument is requesting service
5	32	ESB	0 = no event status conditions have occurred 1 = an enabled event status condition has occurred
4	16	MAV	0 = no output messages are ready 1 = an output message is ready
3	8	---	0 = not used
2	4	MSG	0 = no message has been displayed 1 = message has been displayed
1	2	USR	0 = no enabled user event conditions have occurred 1 = an enabled user event condition has occurred
0	1	TRG	0 = no trigger has occurred 1 = a trigger occurred


Quoted Ascii String

A quoted ASCII string is a string delimited by either " or '. This quoted string must be received by the instrument. In order to get these characters in the output stream, some programming languages require special handling or syntax.

For example in HP BASIC the line:

OUTPUT @Scope;":DISPLAY:VECTORS ON"

sends the string:

:DISPLAY:VECTORS ON

to the instrument.


Error messages

Error #	Description
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	Tiff compression error
109	No data for operation
-100	Command error (unknown command)
-101	Invalid character
-102	Syntax error
-103	Invalid separator
-104	Data type error
-105	GET not allowed
-108	Parameter not allowed
-109	Missing parameter
-112	Program mnemonic too long
-113	Undefined header
-120	Numeric data error
-121	Invalid character in number
-123	Numeric overflow
-124	Too many digits
-128	Numeric data not allowed
-130	Suffix error
-131	Invalid suffix
-134	Suffix too long
-138	Suffix not allowed
-140	Character data error
-141	Invalid character data
-144	Character data too long
-148	Character data not allowed
-150	String data error
-151	Invalid string data
-158	String data not allowed
-160	Block data error
-161	Invalid block data
-168	Block data not allowed
-170	Expression error
-171	Invalid expression
-178	Expression data not allowed
-181	Invalid outside macro definition
-183	Invalid inside macro definition
-200	Execution error
-211	Trigger ignored
-220	Parameter error
-221	Settings conflict
-222	Data out of range
-223	Too much data
-224	Illegal parameter value
-230	Data corrupt or stale
-231	Data questionable
-240	Hardware error
-241	Hardware missing
-250	Mass storage error
-251	Missing mass storage
-252	Missing media
-253	Corrupt media
-254	Media full
-255	Directory full
-256	File name not found
-257	File name error
-258	Media protected
-272	Macro execution error
-273	Illegal macro label
-276	Macro recursion error
-277	Macro redefinition not allowed
-278	Macro header not found
-300	Device specific error
-310	System error
-311	Memory error
-313	Calibration memory lost
-314	Save/recall memory lost
-315	Configuration memory lost
-320	Storage fault
-321	Out of memory
-330	Self-test failed
-340	Calibration failed
-350	Queue overflow
-360	Serial interface error
-361	Parity error
-362	Overrun error
-363	Framing error
-400	Query error
-410	Query INTERRUPTED
-420	Query UNTERMINATED
-430	Query DEADLOCKED
-440	Query UNTERMINATED after indefinite response


Obsolete Commands Table
Obsolete and Discontinued Commands

Core Commands

Core commands are a common set of commands that provide basic oscilloscope functionality on this oscilloscope and future Agilent 54600-series 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 oscilloscope models. Non-core commands may be modified or deleted in the future. With a command structure as complex as the 54620/40-series, some evolution over time is inevitable. Agilent'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 may also be accessed from Commands A-Z on the Contents page.

Obsolete Command	Current Command Equivalent	Behavior Differences
ANALog<n>:BWLimit	CHANnel<n>:BWLimit
ANALog<n>:COUPling	CHANnel<n>:COUPling
ANALog<n>:INVert	CHANnel<n>:INVert
ANALog<n>:LABel	CHANnel<n>:LABel
ANALog<n>:OFFSet	CHANnel<n>:OFFSet
ANALog<n>:PROBe	CHANnel<n>:PROBe
ANALog<n>:PMODe	none
ANALog<n>:RANGe	CHANnel<n>:RANGe
CHANnel:ACTivity	ACTivity
CHANnel:LABel	CHANnel<n>:LABel or DIGital<n>:LABel	use CHANnel<n>:LABel for analog channels and use DIGital<n>:LABel for digital channels
CHANnel:THReshold	POD:THReshold or DIGital<n>:THReshold
CHANnel2:SKEW	CHANnel<n>:PROBe:SKEW
CHANnel<n>:INPut	CHANnel<n>:IMPedance
CHANnel<n>:PMODe	none
DISPlay:ORDer	none
DISPlay:CONNect	DISPlay:VECTors
ERASe	CDISplay
EXTernal:INPut	EXTernal:IMPedance
EXTernal:PMODe	none
FUNCtion1, FUNCtion2	FUNCtion subsystem	ADD not included
FUNCtion:VIEW	FUNCtion:DISPlay
HARDcopy:DEVice	HARDcopy:FORMat	PLOTter, THINkjet not supported; TIF, BMP, CSV, SEIko added
MEASure:LOWer	MEASure:DEFine:THResholds	MEASure:DEFine:THResholds can define absolute values or percentage
MEASure:SCRatch	MEASure:CLEar
MEASure:TDELta	MARKer:XDELTa
MEASure:THResholds	MEASure:DEFine:THResholds	MEASure:DEFine:THResholds can define absolute values or percentage
MEASure:TMAX	MEASure:XMAX
MEASure:TMIN	MEASure:XMIN
MEASure:TSTArt	MARKer:X1Position
MEASure:TSTOp	MARKer:X2Position
MEASure:TVOLt	MEASure:TVALue	TVALue measures additional values such as db, Vs, etc.
MEASure:UPPer	MEASure:DEFine:THResholds	MEASure:DEFine:THResholds can define absolute values or percentage
MEASure:VDELta	MARKer:YDELta
MEASure:VSTArt	MARKer:Y1Position
MEASure:VSTOp	MARKer:Y2Position
TIMebase:DELay	TIMebase:POSition or TIMebase:WINDow:POSition	TIMebase:POSition is position value of main time base; TIMebase:WINDow:POSition is position value of delayed time base window.
TRIGger:THReshold	POD:THREshold or DIGital<n>:THREshold
TRIGger:TV:TVMode	TRIGger:TV:MODE
Discontinued Commands

Discontinued commands are commands that were used by previous oscilloscopes, but are not supported by the 54620/40-series oscilloscopes.  Listed below are the Discontinued commands and the nearest equivalent command available (if any).

Discontinued Command	Current Command Equivalent	Comments
ASTore	DISPlay:PERSistence INFinite
CHANnel:MATH	FUNCtion:OPERation	ADD not included
CHANnel<n>:PROTect	CHANnel<n>:PROTection	Previous form of this command was used to enable/disable 50Ω protection. The new command resets a tripped protect and the query returns the status of TRIPed or NORMal.
DISPlay:INVerse	none
DISPlay:COLumn	none
DISPlay:GRID	none
DISPLay:LINE	none
DISPlay:PIXel	none
DISPlay:POSition	none
DISPlay:ROW	none
DISPlay:TEXT	none
FUNCtion:MOVE	none
FUNCtion:PEAKs	none
HARDcopy:ADDRess	none	Only parallel printer port is supported. GPIB printing not supported
MASK	none	All commands discontinued, feature not available
SYSTem:KEY	none
TEST:ALL	*TST
TRACE subsystem	none	All commands discontinued, feature not available
TRIGger:ADVanced subsystem		Use new GLITch, PATTern or TV trigger modes
TRIGger:TV:FIELd	TRIGger:TV:MODE
TRIGger:TV:TVHFrej
TRIGger:TV:VIR	none
VAUToscale	none

Discontinued Parameters

Some previous oscilloscope queries returned control setting values of OFF and ON.  The 54620/40-series oscilloscopes only return the enumerated values 0 (for off) and 1 (for on).


Core Commands Description
Core Commands

Core commands are a common set of commands that provide basic oscilloscope functionality on this oscilloscope and future Agilent 54600-series 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 Description
Non-Core Commands

Non-core commands are commands that provide specific features, but are not universal across all oscilloscope models. Non-core commands may be modified or deleted in the future. With a command structure as complex as the 54620/40-series, some evolution over time is inevitable. Agilent's intent is to continue to expand command subsystems, such as the rich and evolving trigger feature set.


Obsolete Commands Description
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 may only be accessed from Commands A-Z on the Contents page or from Obsolete and Discontinued Commands.


Readmetext
Example Program Execution Instructions

Example programs are ascii text files stored in the C:\Program Files\Agilent 54620/40-series Programmer's Reference\Examples directory. These example programs can also be cut from the help file and pasted into your favorite text editor.


Introduction to FUNCtion Commands

FUNCtion Subsystem

The FUNCtion subsystem controls the math functions in the oscilloscope. Multiply (channel 1 x channel 2), subtract (channel 1 – channel 2), differentiate, integrate, and FFT (Fast Fourier Transform) operations are available. These math operations only use the analog (vertical) channels.

Note

To perform analog channel addition, set analog channel 2 to invert and select subtract (channel 1 – channel 2).

The SOURce, DISPlay, RANGe, and OFFSet commands apply to any function. The SPAN, CENTer, and WINDow commands are only useful for FFT functions. When FFT is selected, the cursors change from volts and time to decibels (dB) and frequency (Hz).

Reporting the Setup

Use :FUNCtion? to query setup information for the FUNCtion subsystem.

Return format

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

:FUNC:OPER SUBT;DISP 0;RANG +8.00E+00;OFFS +0.0E+00


:FUNCtion_CENTer
:FUNCtion:CENTer

FUNCtion Subsystem

Command	:FUNCtion:CENTer <frequency>

<frequency> ::= the current center frequency in NR3 format. The range of legal values is from 0 Hz to 25.00 GHz.

The :FUNCtion:CENTer command sets the center frequency when FFT is selected.

Query	:FUNCtion:CENTer?

The :FUNCtion: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 0 Hz to 25.00 GHz.

Note

After a *RST or :AUToscale command, the values returned by the :FUNCtion:CENTer? and :FUNCtion:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FUNCtion:CENTer or :FUNCtion:SPAN value, they no longer track the :TIMebase:RANGe value.

See Also

Introduction to FUNCtion commands

:FUNCtion:SPAN

:TIMebase:RANGe

:TIMEbase:SCALe


:FUNCtion_DISPlay
:FUNCtion:DISPlay

FUNCtion Subsystem

Command	:FUNCtion:DISPlay <display>

<display> ::= {{1 | ON} | {0 | OFF}}

The :FUNCtion:DISPlay command turns the display of the function on or off. When ON is selected, the function performs as specified using the other FUNCtion commands. When OFF is selected, function is neither calculated nor displayed.

Query	:FUNCtion:DISPlay?

The :FUNCtion:DISPlay? query returns whether the function display is on or off.

Return format:

<display><NL>

<display> ::= {1 | 0}

See Also

Introduction to FUNCtion commands

:VIEW

:BLANk

:STATus


:FUNCtion_OFFSet
:FUNCtion:OFFSet

FUNCtion Subsystem

Command	:FUNCtion:OFFSet <offset>

<offset> ::= the value at center screen in NR3 format.

The :FUNCtion: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:OFFset command is equivalent to the :FUNCtion:REFerence command.

Query	:FUNCtion:OFFSet?

The :FUNCtion: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 commands

:FUNCtion:RANGe

:FUNCtion:REFerence

:FUNCtion:SCALe


:FUNCtion_OPERation
:FUNCtion:OPERation

FUNCtion Subsystem

Command	:FUNCtion:OPERation <operation>

<operation> ::= {SUBTract | MULTiply | INTegrate | DIFFerentiate | FFT}.

The :FUNCtion:OPERation command sets the desired operation for a function.

Query	:FUNCtion:OPERation?

The :FUNCtion:OPERation? query returns the current operation for the selected function.

Return format:

<operation><NL>

<operation> ::= {SUBT | MULT | INT | DIFF | FFT}.

See Also

Introduction to FUNCtion commands


:FUNCtion_RANGe
:FUNCtion:RANGe

FUNCtion Subsystem

Command	:FUNCtion:RANGe <range>

<range> ::= the full-scale vertical axis value in NR3 format.

The :FUNCtion:RANGe command defines the full-scale vertical axis for the selected function.

Query	:FUNCtion:RANGe?

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

The range for ADD, SUBT, MULT is 8E-6 to 800E+3.

The range for the INTegrate function is 8E-9 to 400E+3 (depends on sweep speed).

The range for the DIFFerentiate function is 80E-3 to 8.0E12 (depends on sweep speed).

The range for the FFT function is 8 to 800 dBV.

See Also

Introduction to FUNCtion commands

:FUNCtion:SCALe


:FUNCtion_REFerence
:FUNCtion:REFerence

FUNCtion Subsystem

Command	:FUNCtion:REFerence <level>

<level> ::= the current reference level in NR3 format.

The range of legal values is from -400.0 dBV to +400.0 dBV depending on the current :FUNCtion:RANGe value. If you set the reference level to a value outside of the legal range, it is automatically set to the nearest legal value.

The :FUNCtion:REFerence command is only used when an FFT operation is selected. The :FUNCtion:REFerence command sets the reference level represented by center screen.

Note

The FUNCtion:REFerence command is equivalent to the :FUNCtion:OFFSet command.

Query	:FUNCtion:REFerence?

The :FUNCtion:REFerence? query returns the current reference level in dBV.

Return format:

<level><NL>

<level> ::= the current reference level in NR3 format.

See Also

Introduction to FUNCtion commands

:FUNCtion:OFFSet

:FUNCtion:RANGe

:FUNCtion:SCALe


:FUNCtion_SCALe
:FUNCtion:SCALe

FUNCtion Subsystem

Command	:FUNCtion:SCALe <scale value>[<suffix>]

<scale value> ::= integer in NR1 format

<suffix> ::= {V | dB}

The :FUNCtion:SCALe command sets the vertical scale, or units per division, of the selected function. Legal values for the scale depend on the selected function.

Query	:FUNCtion:SCALe?

The :FUNCtion:SCALe? query returns the current scale value for the selected function.

Return format:

<scale value><NL>

<scale value> ::= integer in NR1 format

See Also

Introduction to FUNCtion commands

:FUNCtion:RANGe


:FUNCtion_SOURce
:FUNCtion:SOURce

FUNCtion Subsystem

Command	:FUNCtion:SOURce <value>

<value> ::= {CHANnel<n> | ADD | SUBTract | MULTiply}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :FUNCtion:SOURce command is only used when an FFT, DIFF, or INT operation is selected (see the :FUNCtion:OPERation command for more information about selecting an operation). The :FUNCtion:SOURce command selects the source for function operations. Choose CHANnel<n>, or ADD, SUBT, or MULT to specify the desired source for function DIFFerentiate, INTegrate, and FFT operations specified by the :FUNCtion:OPERation command.

Query	:FUNCtion:SOURce?

The :FUNCtion:SOURce? query returns the current source for function operations.

Return format:

<value><NL>

<value> ::= {CHAN<n> | ADD | SUBT | MULT}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

See Also

Introduction to FUNCtion commands

:FUNCtion:OPERation


:FUNCtion_SPAN
:FUNCtion:SPAN

FUNCtion Subsystem

Command	:FUNCtion: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 :FUNCtion:SPAN command sets the frequency span of the display (left graticule to right graticule) when FFT is selected.

Query	:FUNCtion:SPAN?

The :FUNCtion:SPAN? query returns the current frequency span in Hertz.

Note

After a *RST or :AUToscale command, the values returned by the :FUNCtion:CENTer? and :FUNCtion:SPAN? queries depend on the current :TIMebase:RANGe value. Once you change either the :FUNCtion:CENTer or :FUNCtion: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 commands

:FUNCtion:CENTer

:TIMebase:RANGe

:TIMebase:SCALe


:FUNCtion_VIEW
:FUNCtion:VIEW

FUNCtion Subsystem

Command	:FUNCtion:VIEW <view>

<view> ::= {{1 | ON} | (0 | OFF}}

The :FUNCtion:VIEW command turns the selected function on or off. When ON is selected, the function performs as specified using the other FUNCtion commands. When OFF is selected, function is neither calculated nor displayed.

Note

The :FUNCtion:VIEW command is provided for backward compatibility to previous oscilloscopes. Use the :FUNCtion:DISPlay command for the 54620/40-series oscilloscopes.

Query	:FUNCtion:VIEW?

The :FUNCtion:VIEW? query returns the current state of the selected function.

Return format:

<view><NL>

<view> ::= {1 | 0},


:FUNCtion_WINDow
:FUNCtion:WINDow

FUNCtion Subsystem

Command	:FUNCtionWINDow <window>

<window> ::= {RECTangular | HANNing | FLATtop}

The RECTangular window is useful for transient signals, and signals where there are an integral number of cycles in the time record.

The HANNing window is useful for frequency resolution and general purpose use. It is good for resolving two frequencies that are close together, or for making frequency measurements. This is the default window.

The FLATtop window is best for making accurate amplitude measurements of frequency peaks.

The :FUNCtion:WINDow command allows the selection of three different windowing transforms or operations for the FFT 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.

Query	:FUNCtion:WINDow?

The :FUNCtion:WINDow? query returns the value of the window selected for the FFT function.

Return format:

<window><NL>

<window> ::= {RECT | HANN | FLAT}

See Also

Introduction to FUNCtion commands


Introduction to HARDcopy Commands

HARDcopy Subsystem

The HARDcopy subsystem provides commands to set and query the selection of hardcopy device and formatting options such as inclusion of instrument settings (FACTors) and generation of formfeed (FFEed).

Reporting the Setup

Use :HARDcopy? to query setup information for the HARDcopy subsystem.

Return format

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

:HARD:FORM LAS;PRIN CENT; FACT 0;FFE 1;GRAY 0

See Also

:PRINt


:HARDcopy:DESTination

HARDcopy Subsystem

Command	:HARDcopy:DESTination <destination>

<destination> ::= {CENTronics | FLOPpy}

The HARDcopy:DESTination command sets the hardcopy destination.

Query	:HARDcopy:DESTination?

The :HARDcopy:DESTination? query returns the selected hardcopy destination.

Return format

<destination><NL>

<destination> ::= {CENT | FLOP}

See Also

Introduction to HARDcopy commands

:HARDcopy:FORMat


:HARDcopy:DEVice

HARDcopy Subsystem

Command	:HARDcopy:DEVice <device>

<device> ::= {TIFF | GIF | BMP | LASerjet | EPSon | DESKjet | BWDeskjet | SEIKo}

The HARDcopy:DEVice command sets the hardcopy device type.

Note

BWDeskjet option refers to the monochrome Deskjet printer.

Note

The :HARDcopy:DEVice command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :HARDcopy:FORMat command for the 54620/40-series oscilloscopes.

Query	:HARDcopy:DEVice?

The :HARDcopy:DEVice? query returns the selected hardcopy device type.

Return format

<device><NL>

<device> ::= {TIFF | GIF | BMP | LAS | EPS | DESK | BWD | SEIK}


:HARDcopy:FACTors

HARDcopy Subsystem

Command	:HARDcopy:FACTors <factors>

<factors> ::= {{OFF | 0} | {ON | 1}}

The HARDcopy:FACTors command controls whether the scale factors are output on the hardcopy dump.

Query	:HARDcopy:FACTors?

The :HARDcopy:FACTors? query returns a flag indicating whether scale factors are output on the hardcopy.

Return format

<factors><NL>

<factors> ::= {0 | 1}

See Also

Introduction to HARDcopy commands


:HARDcopy:FFEed

HARDcopy Subsystem

Command	:HARDcopy:FFEed <ffeed>

<ffeed> ::= {{OFF | 0} | {ON | 1}}

The HARDcopy:FFEed command controls whether a formfeed is output at the end of a hardcopy dump.

Query	:HARDcopy:FFEed?

The :HARDcopy:FFEed? query returns a flag indicating whether a formfeed is output at the end of the hardcopy dump.

Return format

<ffeed><NL>

<ffeed> ::= {0 | 1}

See Also

Introduction to HARDcopy commands


:HARDcopy:FORMat

HARDcopy Subsystem

Command	:HARDcopy:FORMat <format>

<format> ::= {TIFF | BMP | CSV | LASerjet | DESKjet | EPSon | SEIKo}

The HARDcopy:FORMat command sets the hardcopy format type.

Query	:HARDcopy:FORMat?

The :HARDcopy:FORMat? query returns the selected hardcopy format type.

Return format

<format><NL>

<format> ::= {TIFF | BMP | CSV | LAS | DESK | EPS | SEIK}

See Also

Introduction to HARDcopy commands


:HARDcopy:GRAYscale

HARDcopy Subsystem

Command	:HARDcopy:GRAYscale <gray>

<gray> ::= {{OFF | 0} | {ON | 1}}

The HARDcopy:GRAYscale command controls whether grayscaling is performed in the hardcopy dump. Printing in grayscale is more time consuming, but it allows finer resolution of details in the waveforms.

Query	:HARDcopy:GRAYscale?

The :HARDcopy:GRAYscale? query returns a flag indicating whether grayscaling is performed in the hardcopy dump.

Return format

<gray><NL>

<gray> ::= {0 | 1}

See Also

Introduction to HARDcopy commands


Introduction to MARKer Commands

MARKer subsytem

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

MARKer subsytem

Command	:MARKer:MODE <mode>

<mode> ::= {OFF | MEASure | MANual}

The :MARKer:MODE command sets the cursors mode. OFF removes the cursor information from the display. MANual mode enables manual placement of the X and Y cursors. In MEASure mode the cursors track the most recent measurement.

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.

Setting the mode to MEASure 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.

Query	:MARKer:MODE?

The :MARKer:MODE? query returns the current cursors mode.

Return format:

<mode><NL>

<mode> ::= {OFF | MEAS | MAN }

See Also

Introduction to MARKer commands

:MARker:X1Y1source

:MARker:X2Y2source

:MEASure:SOURce


:MARKer:X1Position

MARKer subsytem

Command	: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, sets the X1 cursor position and moves the X1 cursor to the specified value.

Query	:MARKer:X1Position?

The :MARKer:X1Position? query returns the current X1 cursor position. If the front-panel cursors are off an error is returned. This is functionally equivalent to the obsolete :MEASure:TSTArt command/query.

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

MARKer subsytem

Command	:MARKer:X1Y1source <source>

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.  Sending a :MARKer:X1Y1source command will put the cursors in the MANual mode (see :MARKer:MODE).

This product does not allow independent settings of the X1Y1 and X2Y2 marker sources. Setting the source for one pair of markers sets the source for the other. If :MARKer:MODE is set to OFF or MANual, setting :MEASure:SOURce to CHANnel<n>, FUNCtion, or MATH 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	: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 | NONE}

See Also

Introduction to MARKer commands

:MARKer:MODE

:MARKer:X2Y2source

:MEASure:SOURce


:MARKer:X2Position

MARKer subsytem

Command	: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, sets the X2 cursor position and moves the X2 cursor to the specified value.

Query	:MARKer:X2Position?

The :MARKer:X2Position? query returns current X2 cursor position. If the front-panel cursors are off an error is returned. This is functionally equivalent to the obsolete :MEASure:TSTOp command/query.

Return format:

<position><NL>

<position> ::= X2 cursor position in NR3 format

See Also

Introduction to MARKer commands

:MARKer:MODE

:MARKer:X1Position

:MARker:X2Y2source


:MARKer:X2Y2source

MARKer subsytem

Command	:MARKer:X2Y2source <source>

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.  Sending a MARKer:X2Y2source command puts the cursors in the MANual mode (see :MARKer:MODE).

This product does not allow independent settings of the X1Y1 and X2Y2 marker sources. Setting the source for one pair of markers sets the source for the other. If :MARKer:MODE is set to OFF or MANual, setting :MEASure:SOURce to CHANnel<n>, FUNCtion, or MATH 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	: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 | NONE}

See Also

Introduction to MARKer commands

:MARKer:MODE

:MARKer:X1Y1source

:MEASure:SOURce


:MARKer:XDELta

MARKer subsytem

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

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

MARKer subsytem

Command	:MARKer:Y1Position <position> [suffix]

<position> ::= Y1 cursor position in NR3 format

<suffix> ::= {mV | V | dB}

The :MARKer:Y1Position command sets :MARKer:MODE to MANual, sets the Y1 cursor position and moves the Y1 cursor to the specified value.

Query	:MARKer:Y1Position?

The :MARKer:Y1Position? query returns current Y1 cursor position. If the front-panel cursors are off an error is returned. This is functionally equivalent to the obsolete :MEASure:VSTArt command/query

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

MARKer subsytem

Command	:MARKer:Y2Position <position> [suffix]

<position> ::= Y2 cursor position in NR3 format

<suffix> ::= {mV | V | dB}

The :MARKer:Y2Position command sets :MARKer:MODE to MANual, sets the Y2 cursor position and moves the Y2 cursor to the specified value.

Query	:MARKer:Y2Position?

The :MARKer:Y2Position? query returns current Y2 cursor position. If the front-panel cursors are off an error is returned. This is functionally equivalent to the obsolete :MEASure:VSTOp command/query.

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

MARKer subsytem

Query	: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 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:X1Y1source

:MARker:X2Y2source

:MARKer:Y1Position

:MARKer:Y2Position


Introduction to MEASure Commands

MEASure Subsystem

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 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 delayed time base mode (:TIMebase:MODE WINDow), the oscilloscope will attempt to make the measurement inside the delayed 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 :MEAure: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,NONE


:MEASure:CLEar

MEASure Subsystem

Command	:MEASure:CLEar

This command clears all selected measurements and markers from the screen.

See Also

Introduction to MEASure commands


:MEASure:COUNter

MEASure Subsystem

Command	:MEASure:COUNter [<source>]

<source> ::= {<digital channels> | CHANnel<n>}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

The Counter measurement counts trigger level crossings at the selected trigger slope and displays the results in Hz. The gate time for the measurement is automatically adjusted to be 100 ms or twice the current time window, which ever is longer, up to 1 second. Any channel except Math may be selected for the source. Only one Counter measurement may be displayed at a time. The Y cursor shows the the edge threshold level used in the measurement.

The Counter measurement can measure frequencies up to 125 MHz. The minimum frequency supported is 1/(2 X gate time).

Note

This command is not available if the source is MATH.

Query	:MEASure:COUNter? [<source>]

The :MEASure:COUNter? query measures and outputs the counter frequency of the specified source.

Note

The :MEASure:COUNter? query is not available 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:DEFine

MEASure Subsystem

Command	:MEASure:DEFine <meas_spec>

<meas_spec> ::= {DELay | THResholds}

The :MEASure:DEFine command sets up the definition for measurements by specifying the delta time or threshold values. Changing these values may affect the resultant of other measure commands. The table below identifies which measurement results that can be affected by redefining the DELay specification or the THResholds values. For example, changing the THResholds definition from the default 10, 50, and 90% values may change the returned measurement result.

MEASure Command	DELay	THResholds
DUTYcycle		x
DELay	x	x
FALLtime		x
FREQuency		x
NWIDth		x
OVERshoot		x
PERiod		x
PHASe		x
PREShoot		x
PWIDth		x
RISetime		x
VAVerage		x
VRMS		x
Command	:MEASure:DEFine DELay,<delay spec>

<delay spec> ::= <edge spec1>,<edge spec2>

<edge spec1> ::= [<slope>]<occurrence>

<edge spec2> ::= [<slope>]<occurrence>

<slope> ::= {+ | -}

<occurrence> ::= integer

This command defines the behavior of the :MEASure:DELay? query by specifying the start and stop edge to be used. <edge spec1> specifies the slope and edge number on source1. <edge spec2> specifies the slope and edge number on source2. The measurement is taken as:

delay = t(<edge spec2>) - t(<edge spec1>)

Note

The :MEASure:DELay command and the front-panel delay measurement use an auto-edge selection method to determine the actual edge used for the measurement. The :MEASure:DEFine command has no effect on these delay measurements. The edges specified by the :MEASure:DEFine command only define the edges used by the :MEASure:DELay? query.

Command	:MEASure:DEFine THResholds,<threshold spec>

<threshold spec> ::= {STANdard} | {<threshold mode>,<upper>,<middle>,<lower>}

<threshold mode> ::= {PERCent | ABSolute}

for <threshold mode> = PERCent:

<upper>

<middle>

<lower> ::= A number specifying the upper, middle, and lower threshold percentage values between Vbase and Vtop in NR3 format.

for <threshold mode> = ABSolute:

<upper>

<middle>

<lower> ::= A number specifying the upper, middle, and lower threshold absolute values in NR3 format.

•	STANdard threshold specification sets the lower, middle, and upper measurement thresholds to 10, 50, and 90% values between Vbase and Vtop.

•	Threshold mode PERCent sets the measurement thresholds to any user-defined percentages between 5 and 95% of values between Vbase and Vtop.

•	Threshold mode ABSolute sets 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.

Query	:MEASure:DEFine? <meas_spec>

<meas_spec> ::= {DELay | THResholds}

The :MEASure:DEFine? query returns the current edge specification for the delay measurements setup or the current specification for the thresholds setup.

Return format:

for <meas_spec> = DELay:

{ <edge spec1> | <edge spec2> | <edge spec1>,<edge spec2>} <NL>

for <meas_spec> = THResholds and <threshold mode> =PERCent:

THR,PERC,<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.

for <meas_spec> = THResholds and <threshold mode> = ABSolute:

THR,ABS,<upper>,<middle>,<lower><NL>

<upper>

<middle>

<lower> ::= A number specifying the upper, middle, and lower threshold voltages in NR3 format.

for  <threshold spec> = STANdard:

THR,PERC,+90.0,+50.0,+10.0

See Also

Introduction to MEASure commands

:MEASure:DELay

:MEASure:SOURce


:MEASure:DELay

MEASure Subsystem

Command	:MEASure:DELay [<source1>][,<source2>]

<source1>, <source2> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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> defiinitions are set by the :MEASure:DEFine command

Note

The :MEASure:DELay command and the front-panel delay measurement differ from the :MEASure:DELay? query. The delay command or front-panel measurement run the delay measurement in auto-edge select mode. In this mode, the user may select the edge polarity, but the instrument will select the edges to use to make the best possible delay measurement. The source1 edge chosen will be the edge that meets the polarity specified and is closest to the trigger reference point. The source2 edge selected will be that edge of the specified polarity that gives the first of the following criteria:

The smallest positive delay value that is less than source1 period.

The smallest negative delay that is less than source1 period

The smallest absolute value of delay.

The :MEASure:DELay? query will make the measurement using the edges specified by the :MEASure:DEFine command.

Query	:MEASure:DELay? [<source1>][,<source2>]

The :MEASure:DELay? query measures and returns the delay between source1 and source2. The delay measurement is made from the user-defined slope and edge count of the signal connected to source1, to the defined slope and edge count of the signal connected to source2. Delay measurement slope and edge parameters are selected using the :MEASure:DEFine command.

Return format:

<value><NL>

<value> ::= floating-point number delay time in seconds in NR3 format

See Also

Introduction to MEASure commands

:MEASure:DEFine

:MEASure:PHASe


:MEASure:DUTYcycle

MEASure Subsystem

Command	:MEASure:DUTYcycle [<source>]

<source> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :MEASure:DUTYcycle command installs a screen measurement and starts a 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.

Query	:MEASure:DUTYcycle? [<source>]

The :MEASure:DUTYcycle? query measures and outputs the 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

Example Program Code

:MEASure:DUTYcycle Code


:MEASure:FALLtime

MEASure Subsystem

Command	:MEASure:FALLtime [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

Query	:MEASure:FALLtime? [<source>]

The :MEASure:FALLtime? query measures and outputs the fall time of the displayed falling (negative-going) edge closest to the trigger 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:FREQuency

MEASure Subsystem

Command	:MEASure:FREQuency [<source>]

<source> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

Query	: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 Program Code

:MEASure:FREQuency Code


:MEASure:LOWer

MEASure Subsystem

Command	:MEASure:LOWer <voltage>

The :MEASure:LOWer command sets the lower measurement threshold value. This value and the UPPer value represent absolute values when the thresholds are ABSolute and percentage when the thresholds are PERCent as defined by the :MEASure:DEFine THResholds command.

Note

The :MEASure:LOWer command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:DEFine THResholds command for the 54620/40-series oscilloscopes.

Query	:MEASure:LOWer?

The :MEASure:LOWer? query returns the current lower threshold level.

Return format:

<voltage><NL>

<voltage> ::= the user-defined lower threshold in volts in NR3 format

See Also

Introduction to MEASure commands

:MEASure:THResholds

:MEASure:UPPer


:MEASure:NWIDth

MEASure Subsystem

Command	:MEASure:NWIDth [<source>]

<source> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :MEASure:NWIDth command installs a screen measurement and starts a negative 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.

Query	: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 Subsystem

Command	:MEASure:OVERshoot [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

Query	: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:PERiod

MEASure Subsystem

Command	:MEASure:PERiod [<source>]

<source> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

Query	: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 Program Code

:MEASure:PERiod Code


:MEASure:PHASe

MEASure Subsystem

Command	:MEASure:PHASe [<source1>][,<source2>]

<source1>, <source2> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :MEASure:PHASe command places the instrument in the continuous measurement mode and starts a phase measurement.

Query	: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:PREShoot

MEASure Subsystem

Command	:MEASure:PREShoot [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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

Command	:MEASure:PWIDth [<source>]

<source> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

Query	: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:RISetime

MEASure Subsystem

Command	:MEASure: RISetime [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

Query	:MEASure: RISetime? [<source>]

The :MEASure:RISetime? query measures and outputs the rise time of the displayed rising (positive-going) edge closest to the trigger 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:SCRatch

MEASure Subsystem

Command	: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 for the 54620/40-series oscilloscopes.


:MEASure:SHOW

MEASure Subsystem

Command	:MEASure:SHOW <show>

<show> ::= {1 | ON}

The :MEASure:SHOW command enables markers for tracking measurements on the display. This feature is always on in the 54620/40-series products.

Query	:MEASure:SHOW?

The :MEASure:SHOW? query returns the current state of the markers.

Return format:

<show><NL>

<show> ::= 1

See Also

Introduction to MEASure commands


:MEASure:SOURce

MEASure Subsystem

Command	:MEASure:SOURce <source1>[,<source2>]

<source1>,<source2> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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, or MATH will also set :MARKer:X1Y1source to source1 and :MARKer:X2Y2source to source2.

Query	: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 only applies to :MEASure:DELay and :MEASure:PHASe measurements.

Note

MATH is an alias for FUNCtion. The query will return FUNC if the source is FUNCtion or MATH.

Return format:

<source1>,<source2><NL>

<source1>,<source2> ::= {<digital channels> | CHAN<n> | FUNC | NONE}

See Also

Introduction to MEASure commands

Example Program Code

:MEASure:Source Code


:MEASure:TDELta

MEASure Subsystem

Query	:MEASure:TDELta?

The :MEASure:TDELta? query returns the time difference between the Tstop marker (X2 cursor) and the Tstart marker (X1 cursor).

Tdelta = Tstop - Tstart

Tstart is the time at the start marker (X1 cursor) and Tstop is the time at the stop marker (X2 cursor). No measurement is made when the :MEASure:TDELta? query is received by the oscilloscope. The delta time value that is output is the current value. This is the same value as the front-panel cursors delta X value.

Note

The :MEASure:TDELta command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:XDELta command for the 54620/40-series oscilloscopes.

Return format:

<value><NL>

<value> ::= time difference between start and stop markers in NR3 format

See Also

Introduction to MARKer commands

Introduction to MEASure commands

:MARKer:X1Position

:MARKer:X2Position

:MARKer:XDELta

:MEASure:TSTart

:MEASure:TSTOp


:MEASure:TEDGe

MEASure Subsystem

Query	:MEASure:TEDGe? <slope><occurrence>[,<source>]

<slope> ::= direction of the waveform. A rising slope is indicated by a space or 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 from the left screen edge is reported. If the number is two, the second crossing is reported, etc.

<source> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

When the :MEASure:TEDGe query is sent, the displayed signal is searched for the specified transition. The time interval between the trigger event and this occurrence is returned as the response to the query. 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 occurrence defines the occurrence to be reported. For example, +3 returns the time for the third time the waveform crosses the midpoint threshold in the positive direction. Once this 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 vertical value, or if the waveform does not cross the specified vertical value for the specific number of times in the direction specified.

You can make delay and phase measurements using the MEASure:TEDGe command:

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 an example of making a delay and phase measurement, see Delay and Phase Measurement using MEASure:TEDGe.

If the optional source parameter is specified, the current source is modified.

Note

This query is not available if the source is FFT.

Return format:

<value><NL>

<value> ::= time in seconds of the specified transition in NR3 format

See Also

Introduction to MEASure commands

:MEASure:TVALue

:MEASure:VTIMe


:MEASure:THResholds

MEASure Subsystem

Command	:MEASure:THResholds {T1090 | T2080 | VOLTage}

The :MEASure:THResholds command selects the thresholds used when making time measurements..

Note

The :MEASure:THResholds command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:DEFine THResholds command for the 54620/40-series oscilloscopes.

Query	:MEASure:THResholds?

The :MEASure:THResholds? query returns the current thresholds selected when making time measurements.

Return format:

{T1090 | T2080 | VOLTage}<NL>

{T1090} uses the 10% and 90% levels of the selected waveform.

{T2080} uses the 20% and 80% levels of the selected waveform.

{VOLTage} uses the upper and lower voltage thresholds set by the UPPer and LOWer commands on the selected waveform

See Also

Introduction to MEASure commands

:MEASure:LOWer

:MEASure:UPPer


:MEASure:TMAX

MEASure Subsystem

Command	:MEASure:TMAX [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :MEASure:TMAX command installs a screen measurement and starts an X-at-Max-Y measurement on the selected waveform. If the optional source is specified, the current source is modified.

Note

The :MEASure:TMAX command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:XMAX command for the 54620/40-series oscilloscopes.

Query	:MEASure:TMAX? [<source>]

The :MEASure:TMAX? query returns the horizontal axis value at which the maximum vertical value occurs on the current source. If the optional source is specified, the current source is modified. If all channels are off, the query returns 9.9E+37.

Return format:

<value><NL>

<value> ::= time at maximum in NR3 format

See Also

Introduction to MEASure commands

:MEASure:TMIN

:MEASure:XMAX

:MEASure:XMIN


:MEASure:TMIN

MEASure Subsystem

Command	:MEASure:TMIN [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :MEASure:TMIN command installs a screen measurement and starts an X-at-Min-Y measurement on the selected waveform. If the optional source is specified, the current source is modified.

Note

The :MEASure:TMIN command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:XMIN command for the 54620/40-series oscilloscopes.

Query	:MEASure:TMIN? [<source>]

The :MEASure:TMIN? query returns the horizontal axis value at which the minimum vertical value occurs on the current source. If the optional source is specified, the current source is modified. If all channels are off, the query returns 9.9E+37.

Return format:

<value><NL>

<value> ::= time at minimum in NR3 format

See Also

Introduction to MEASure commands

:MEASure:TMAX

:MEASure:XMAX

:MEASure:XMIN


:MEASure:TSTArt

MEASure Subsystem

Command	:MEASure:TSTArt <value> [suffix]

<value> ::= time at the start marker in seconds

[suffix] ::= {s | ms | us | ns | ps}

The :MEASure:TSTArt command moves the start marker (X1 cursor) to the specified time with respect to the trigger time.

Note

The short form of this command, TSTA, does not follow the defined short form convention. The normal short form "TST" would be the same for both TSTArt and TSTOp, so sending TST for the TSTArt command produces an error.

Note

The :MEASure:TSTArt command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:X1Position command for the 54620/40-series oscilloscopes.

Query	:MEASure:TSTArt?

The :MEASure:TSTArt? query returns the time at the start marker (X1 cursor).

Return format:

<value><NL>

<value> ::= time at the start marker in NR3 format

See Also

Introduction to MARKer commands

Introduction to MEASure commands

:MARKer:X1Position

:MARKer:X2Position

:MARKer:XDELta

:MEASure:TDELta

:MEASure:TSTOp


:MEASure:TSTOp

MEASure Subsystem

Command	:MEASure:TSTOp <value> [suffix]

<value> ::= time at the stop marker in seconds

[suffix] ::= {s | ms | us | ns | ps}

The :MEASure:TSTOp command moves the stop marker (X2 cursor) to the specified time with respect to the trigger time.

Note

The short form of this command, TSTO, does not follow the defined short form convention. The normal short form "TST" would be the same for both TSTArt and TSTOp, so sending TST for the TSTOp command produces an error.

Note

The :MEASure:TSTOp command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:X2Position command for the 54620/40-series oscilloscopes.

Query	:MEASure:TSTOp?

The :MEASure:TSTOp? query returns the time at the stop marker (X2 cursor).

Return format:

<value><NL>

<value> ::= time at the stop marker in NR3 format

See Also

Introduction to MARKer commands

Introduction to MEASure commands

:MARKer:X1Position

:MARKer:X2Position

:MARKer:XDELta

:MEASure:TDELta

:MEASure:TSTArt


:MEASure:TVALue

MEASure Subsystem

Query	: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 | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

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


:MEASure:TVOLt

MEASure Subsystem

Query	:MEASure:TVOLt? <value>, [<slope>]<occurrence>[,<source>]

<value> ::= the voltage level that the waveform must cross.

<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> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= {DIGital0,..,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

When the :MEASure:TVOLt? query is sent, the displayed signal is searched for the specified voltage level and transition. The time interval between the trigger event and this defined occurrence is returned as the response to the query.

The specified voltage can be negative or positive. To specify a negative voltage, 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 voltage level in the positive direction. Once this voltage 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 voltage, or if the waveform does not cross the specified voltage for the specified number of times in the direction specified.

If the optional source parameter is specified, the current source is modified.

Note

The :MEASure:TVOLt command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:TVALue command for the 54620/40-series oscilloscopes.

Return format:

<value> <NL>

<value> ::= time in seconds of the specified voltage crossing in NR3 format


:MEASure:UPPer

MEASure Subsystem

Command	:MEASure:UPPer <value>

The :MEASure:UPPer command sets the upper measurement threshold value. This value and the LOWer value represent absolute values when the thresholds are ABSolute and percentage when the thresholds are PERCent as defined by the :MEASure:DEFine THResholds command.

Note

The :MEASure:UPPer command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :MEASure:DEFine THResholds command for the 54620/40-series oscilloscopes.

Query	:MEASure:UPPer?

The :MEASure:UPPer? query returns the current upper threshold level.

Return format:

<value><NL>

<value> ::= the user-defined upper threshold in NR3 format

See Also

Introduction to MEASure commands

:MEASure:LOWer

:MEASure:THResholds


:MEASure:VAMPlitude

MEASure Subsystem

Command	:MEASure:VAMPlitude [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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

Command	:MEASure:VAVerage [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :MEASure:VAVerage command installs a screen measurement and starts an average value measurement. If the optional source parameter is specified, the current source is modified.

Query	:MEASure:VAVerage? [<source>]

The :MEASure:VAVerage? query returns the average value of an integral number of periods of the signal. If at least three edges are not present, the oscilloscope averages all data points.

Return format:

<value> <NL>

<value> ::= calculated average value in NR3 format

See Also

Introduction to MEASure commands

:MEASure:SOURce


:MEASure:VBASe

MEASure Subsystem

Command	:MEASure:VBASe [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

Query	: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:VDELta

MEASure Subsystem

Query	:MEASure:VDELta?

The :MEASure:VDELta? query returns the voltage difference between vertical marker 1 (Y1 cursor) and vertical marker 2 (Y2 cursor). No measurement is made when the :MEASure:VDELta? query is received by the oscilloscope. The delta value that is returned is the current value. This is the same value as the front-panel cursors delta Y value.

VDELta = value at marker 2 - value at marker 1

Note

The :MEASure:VDELta command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:YDELta command for the 54620/40-series oscilloscopes.

Return format:

<value><NL>

<value> ::= delta V value in NR3 format

See Also

Introduction to MARKer commands

Introduction to MEASure commands

:MARKer:Y1Position

:MARKer:Y2Position

:MARKer:YDELta

:MEASure:TDELta

:MEASure:TSTArt


:MEASure:VMAX

MEASure Subsystem

Command	:MEASure:VMAX [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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

Command	:MEASure:VMIN [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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

Command	:MEASure:VPP [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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

MEASure Subsystem

Command	:MEASure:VRMS [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :MEASure:VRMS command installs a screen measurement and starts a dc RMS 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.

Query	:MEASure:VRMS? [<source>]

The :MEASure:VRMS? query measures and outputs the dc RMS value of the selected waveform. The dc RMS value is measured on an integral number of periods of the displayed signal. If at least three edges are not present, the oscilloscope computes the RMS value on all displayed data points.

Return format:

<value><NL>

<value> ::= calculated dc RMS value in NR3 format

See Also

Introduction to MEASure commands

:MEASure:SOURce


:MEASure:VSTArt

MEASure Subsystem

Command	:MEASure:VSTArt <vstart_argument>

<vstart_argument> ::= value for vertical marker 1

The :MEASure:VSTArt command moves the vertical marker (Y1 cursor) to the specified value corresponding to the selected source. The source can be selected by the MARKer:X1Y1source command.

Note

The short form of this command, VSTA, does not follow the defined short form convention. The normal short form, VST, would be the same for both VSTArt and VSTOp, so sending VST for the VSTArt command produces an error.

Note

The :MEASure:VSTArt command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:Y1Position command for the 54620/40-series oscilloscopes.

Query	:MEASure:VSTArt?

The :MEASure:VSTArt? query returns the current value of the Y1 cursor.

Return format:

<value><NL>

<value> ::= voltage at voltage marker 1 in NR3 format

See Also

Introduction to MARKer commands

Introduction to MEASure commands

:MARKer:Y1Position

:MARKer:Y2Position

:MARKer:YDELta

:MARKer:X1Y1source

:MEASure:SOURce

:MEASure:TDELta

:MEASure:TSTArt


:MEASure:VSTOp

MEASure Subsystem

Command	:MEASure:VSTOp <vstop_argument>

<vstop_argument> ::= value for Y2 cursor

The :MEASure:VSTOp command moves the vertical marker 2 (Y2 cursor) to the specified value corresponding to the selected source. The source can be selected by the MARKer:X2Y2source command.

Note

The short form of this command, VSTO, does not follow the defined short form convention. The normal short form, VST, would be the same for both VSTArt and VSTOp, so sending VST for the VSTOp command produces an error.

Note

The :MEASure:VSTOp command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :MARKer:Y2Position command for the 54620/40-series oscilloscopes.

Query	:MEASure:VSTOp?

The :MEASure:VSTOp? query returns the current value of the Y2 cursor.

Return format:

<value><NL>

<value> ::= value of the Y2 cursor in NR3 format

See Also

Introduction to MARKer commands

Introduction to MEASure commands

:MARKer:Y1Position

:MARKer:Y2Position

:MARKer:YDELta

:MARKer:X2Y2source

:MEASure:SOURce

:MEASure:TDELta

:MEASure:TSTArt


:MEASure:VTIMe

MEASure Subsystem

Query	:MEASure:VTIMe? <vtime_argument>[,<source>]

<vtime_argument> ::= time from trigger in seconds

<source> ::= {<digital channels> | CHANnel<n> | FUNCtion | MATH}

<digital channels> ::= DIGital0,..,DIGital15 for the 54621D/22D/41D/42D only

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :MEASure:VTIMe? query returns the value at a specified time on the source specified with :MEASure:SOURce. The specified time must be on the screen and is referenced to the trigger event. If the optional source parameter is specified, the current source is modified.

Note

This query is not available if the source is FFT.

Return format:

<value><NL>

<value> ::= value at the specified time in NR3 format

See Also

Introduction to MEASure commands

:MEASure:SOURce

:MEASure:TEDGe

:MEASure:TVALue


:MEASure:VTOP

MEASure Subsystem

Command	:MEASure:VTOP [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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.

Query	: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:XMAX

MEASure Subsystem

Command	:MEASure:XMAX [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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	: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. If all channels are off, the query returns 9.9E+37.

Return format:

<value><NL>

<value> ::= horizontal value of the maximum in NR3 format

See Also

Introduction to MEASure commands

:MEASure:XMIN


:MEASure:XMIN

MEASure Subsystem

Command	:MEASure:XMIN [<source>]

<source> ::= {CHANnel<n> | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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	: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. If all channels are off, the query returns 9.9E+37.

Return format:

<value><NL>

<value> ::= horizontal value of the minimum in NR3 format

See Also

Introduction to MEASure commands

:MEASure:XMAX


Introduction to POD Commands
Introduction to POD<n> Commands

POD Subsystem

<n> ::= {1 | 2}

The POD subsystem commands control the viewing and threshold of groups of digital channels.

POD1 ::= D0-D7

POD2 ::= D8-D15

Note

These commands are only valid for the 54621D/22D/41D/42D mixed-signal oscilloscopes.

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:DISPlay
:POD<n>:DISPlay

POD Subsystem

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

Note

This command is only valid for the 54621D/22D/41D/42D mixed-signal oscilloscopes.

Query	: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 commands

DIGital<n>:DISPlay

CHANnel<n>:DISPlay

VIEW

BLANk

STATus


:POD:THReshold
:POD<n>:THReshold

POD Subsystem

Command	:POD<n>:THReshold <type>[<suffix>]

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

<type> ::= {CMOS | ECL | TTL | <user defined value>}

<user defined value> ::= -8.00 to +8.00 in NR3 format

<suffix> ::= {V | mV | uV}

POD1 ::= D0-D7

POD2 ::= D8-D15

TTL ::= 1.4V

CMOS ::= 2.5V

ECL ::= -1.3V

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

Note

This command is only valid for the 54621D/22D/41D/42D mixed-signal oscilloscopes.

Query	: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 commands

DIGital<n>:THReshold

TRIGger:EDGE:LEVel

Example Code

:POD<n>:THReshold Code


Introduction to Root Commands

ROOT Subsystem

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 Subsystem

Command	:ACTivity

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

Query	:ACTivity?

The :ACTivity? query returns the active edges since the last clear, and returns the current logic levels.

Return format:

<edges>, <levels> <NL>

<edges> ::= presence of edges (32-bit integer in NR1 format).

<levels>  ::= logical highs or lows (32-bit integer in NR1 format).

Note

A bit = zero indicates that no edges were detected at the specified threshold since the last clear on that channel. Edges may have occurred that were not detected because of the threshold setting.

A bit = one indicates that edges have been detected at the specified threshold since the last clear on that channel.

bit 0 ::= DIGital 0

bit 15 ::= DIGital 15

See Also

Introduction to Root commands

:POD:THReshold

:DIGital:THReshold


  :AER

ROOT Subsystem

Query	:AER?

The AER query reads the Arm Event Register. After the Arm Event Register is read, it is cleared. A “1” indicates the trigger system is in the armed state, ready to accept a trigger.

The Armed Event Register is summarized in the Wait Trig bit of the Operation Status 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 and the Service Request Enable Register.

Return format

<value><NL>

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

See Also

Introduction to Root commands

:OPEE

:OPER

*STB

*SRE


:AUToscale

ROOT Subsystem

Command	:AUToscale

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

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

Trace memories

Delayed time base mode

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

See Also

Introduction to Root commands

Example Program Code

:AUToscale Code


:BLANk

ROOT Subsystem

Command	:BLANk <source>

<source>  ::= {CHANnel<n> | FUNCtion} for the 54621A/22A/24A/41A/42A

<source>  ::= {DIGital0,..,DIGital15 | POD1 | POD2 | CHANnel<n> | FUNCtion | MATH} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :BLANk command turns off (stops displaying) the specified channel, digital pod, or math function.

Note

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

Note

MATH is an alias for FUNCtion.

See Also

Introduction to Root commands

:CDISplay

:CHANnel<n>:DISPlay

:DIGital:DISPlay

:FUNCtion:DISPlay

:POD:DISPlay

:STATus

:VIEW

Example Program Code

:BLANk Code


:CDISplay

ROOT Subsystem

Command	:CDISplay

The :CDISplay command clears the display and resets all associated measurements. If the oscilloscope is stopped, all currently displayed data is erased. If the oscilloscope is running, all the data in active channels and functions is erased; however, new data is displayed on the next acquisition.

See Also

Introduction to Root commands

:DISPlay:CLEar


:DIGitize

ROOT Subsystem

Command	:DIGitize [<source>[,…,<source>]]

<source> ::= {CHANnel<n> | FUNCtion} for the 54621A/22A/24A/41A/42A

<source> ::= {DIGital0,..,DIGital15 | POD1 | POD2 | CHANnel<n> | FUNCtion | MATH} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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

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

Note

MATH is an alias for FUNCtion.

See Also

Introduction to Root commands

:RUN

:SINGle

:STOP

ACQuire subsystem commands

WAVeform subsystem commands

Example Program Code

:DIGitize Code


:ERASe

ROOT Subsystem

Command	:ERASe

The :ERASe command erases the screen.

Note

The :ERASe command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :CDISplay command for the 54620/40-series oscilloscopes.


:MERGe

ROOT Subsystem

Command	:MERGe <pixel memory>

<pixel memory> ::=  {PMEMory0 | PMEMory1| PMEMory2}

The :MERGe command stores the contents of the active display in the specified pixel memory. The previous contents of the pixel memory are overwritten. The pixel memories are PMEMory0, PMEMory1 or PMEMory2. This command is similar to the function of the "Save To: INTERN_<n>" key in the Save/Recall menu.

See Also

Introduction to Root commands

*SAV

*RCL

:VIEW

:BLANk


 :OPEE

ROOT Subsystem

Command	:OPEE<mask>

<mask> ::= 16-bit integer

The :OPEE command sets a mask in the Operation Status Enable register. Set any of the following bits to "1" to enable bit 7 in the Status Byte Register and potentially cause an SRQ to be generated.

Bit	Weight	Enables	Condition
0 – 2	--	--	not used
3	8	Running	Instrument not stopped
4	--	--	not used
5	32	Wait Trig	Trigger Armed
6 – 10	--	--	not used
11	2048	Overload	50Ω input overload occurred (54640-series only)
12 – 15	--	--	not used
Query	:OPEE?

The :OPEE? query returns the current value contained in the Operation Status Enable register as an integer number.

Return format

<value><NL>

<value> ::= integer in NR1 format.

See Also

Introduction to Root commands

:AER

:CHANnel<n>:PROTection

:EXTernal:PROTection

:OPER

:OVLenable

:OVLRegister

*STB

*SRE


:OPER

ROOT Subsystem

Query	:OPER?

The :OPER? query returns the integer value contained in the Operation Status Register. This register contains the following bits:

Bit	Weight	Conditon	Description
3	8	Running	Set whenever the instrument is not stopped.
5	32	Wait Trig	Set by the Trigger Armed Event Register (TER) and indicates that trigger is armed.
11	2048	Overload	Set when 50Ω input overload occurs (54640-series only)
Return format

<value><NL>

<value> ::=  integer in NR1 format.

See Also

Introduction to Root commands

:CHANnel<n>:PROTection

:EXTernal:PROTection

:OPEE

:OVLenable

:OVLRegister

*STB

*SRE


:OVLenable

ROOT Subsystem

Command	:OVLenable <enable_mask>

<enable_mask> ::= 8-bit integer

The overload enable mask is an integer representing an input as follows:

Bit	Weight	Input
0	1	Channel 1
1	2	Channel 2
2	4	Channel 3
3	8	Channel 4
4	16	External Trigger
The :OVLenable command sets the mask in the Overload Event Enable Register and enables the reporting of the Overload Event Register. If an overvoltage is sensed on a 50Ω input, the input will automatically switch to 1 MΩ input impedance. If enabled, such an event will set bit 11 in the Operation Status Register. This command is valid on the 54640-series only.

Query	:OVLenable?

The :OVLenable query returns the current enable mask value contained in the Overload Event Enable Register.This query is valid on the 54640-series only.

Return format

<enable_mask><NL>

<enable_mask> ::=  integer in NR1 format.

See Also

Introduction to Root commands

:CHANnel<n>:PROTection

:EXTernal:PROTection

:OPEE

:OPER

:OVLRegister

*STB

*SRE


:OVLRegister

ROOT Subsystem

Query	:OVLRegister?

The :OVLRegister query returns the overload protection value stored in the Overload Event Register. If an overvoltage is sensed on a 50Ω input, the input will automatically switch to 1 MΩ input impedance. A "1" indicates an overload has occurred. This register contains the following bits:

Bit	Weight	Input
0	1	Channel 1
1	2	Channel 2
2	4	Channel 3
3	8	Channel 4
4	16	External Trigger
This query is valid on the 54640-series only.

Return format

<value><NL>

<value> ::=  integer in NR1 format.

See Also

Introduction to Root commands

:CHANnel<n>:PROTection

:EXTernal:PROTection

:OPEE

:OVLenable

*STB

*SRE


:PRINt

ROOT Subsystem

Command	:PRINt [<options>]

<options> ::= [<print option>][,…,<print option>]

<print option> ::= {HIRes | LORes | PARallel | DISK | TIFF | BMP | PCL | NOFactors | FACTors}

The <print option> parameter may be repeated up to 5 times.

The PRINt command formats the output according to the currently selected format (device).  If an option is not specified, the value selected in the Print Config menu is used. Refer to :HARDcopy:FORMat for more information.

Query	:PRINt? [<options>]

<options> ::= [<print option>][,…,<print option>]

<print option> ::= {HIRes | LORes | TIFF | BMP | PCL}

The :PRINt? query pulls image data back over the bus for storage.

Print Option	:PRINt command	:PRINt? query	Query Default
HIRes	Sets grayscale on	Sets grayscale on
LORes	Sets grayscale off	Sets grayscale off	Grayscale off
PARallel	Causes the parallel port to be selected as destination	Not used	N/A
DISK	Causes the floppy disk to be selected as destination	Not used	N/A
TIFF	Sets print format to TIFF	Selects TIFF formatting for query	N/A
BMP	Sets print format to BMP	Selects BMP formatting for query	N/A
PCL	Sets print format to DESKJET	Selects PCL formatting for query	PCL query mode selected
FACTors	Selects outputting of additional settings information for :PRINT	Not used	N/A
NOFactors	Deselects outputting of additional settings information for :PRINT	Not used	N/A
Note

The PRINt? query is not a core command.

See Also

Introduction to Root commands

Introduction to HARDcopy commands

:HARDcopy:FORMat

:HARDcopy:FACTors

:HARDcopy:GRAYscale

:DISPlay:DATA

Example Program Code

:PRINt Code


:RUN

ROOT Subsystem

Command	: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 Program Code

:RUN Code


:SERial

ROOT Subsystem

Query	:SERial?

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

Return Format:

Unquoted string<NL>

See Also

Introduction to Root commands


:SINGle

ROOT Subsystem

Command	: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 Subsystem

Query	:STATus? <source>

<source> ::= {CHANnel<n> | FUNCtion} for the 54621A/22A/24A/41A/42A

<source> ::= {DIGital0,..,DIGital15 | CHANnel<n> | FUNCtion | MATH} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :STATus? query reports whether the channel, function or trace memory, specified by <source> is displayed.

Note

MATH is an alias for FUNCtion.

Return format:

<value> <NL>

<value>  ::=  {1 | 0}

See Also

Introduction to Root commands

:BLANk

:CHANnel<n>:DISPlay

:DIGital:DISPlay

:FUNCtion:DISPlay

:POD:DISPlay

:VIEW


:STOP

ROOT Subsystem

Command	: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 Program Code

:STOP Code


:TER

ROOT Subsystem

Query	:TER?

The :TER? query reads the Trigger Event Register. After the Trigger Event Register is read, it is cleared. A one indicates a trigger has occurred. A zero indicates a trigger has not occurred.

The Trigger Event Register is summarized in the TRG bit of the Status Byte Register. 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.

Return format:

<value> <NL>

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

See Also

Introduction to Root commands

*SRE

*STB


:VIEW

ROOT Subsystem

Command	:VIEW <source>

<source>  ::=  {CHANnel<n> | PMEMory0,..,PMEMory2 | FUNCtion} for the 54621A/22A/24A/41A/42A

<source>  ::=  {CHANnel<n> | DIGital0,..,DIGital15 | PMEMory0,..,PMEMory2 | FUNCtion | MATH} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :VIEW command turns on the specified channel, function or trace memory.

Note

MATH is an alias for FUNCtion.

See Also

Introduction to Root commands

:BLANk

:CHANnel<n>:DISPlay

:DIGital:DISPlay

:FUNCtion:DISPlay

:POD:DISPlay

:STATus

Example Program Code

:VIEW Code


Introduction to SYSTem Commands

SYSTem Subsystem

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 Subsystem

Command	: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	:SYSTem:DATE?

The SYSTem:DATE? query returns the date.

Return Format

<year>, <month>, <day><NL>

See Also

Introduction to SYSTem commands

:SYSTem:TIME


:SYSTem:DSP

SYSTem Subsystem

Command	:SYSTem:DSP <string>

<string> ::= quoted ASCII string (up to 254 characters)

The :SYSTem:DSP command writes the quoted string (excluding quotation marks) to a text box in the center of the display. Use :SYStem:DSP "" to remotely remove the message from the display. (Two sets of quote marks without a space between them creates a NULL string.) Press any menu key to manually remove the message from the display.

See Also

Introduction to SYSTem commands


:SYSTem:ERRor

SYSTem Subsystem

Query	:SYSTem:ERRor?

The :SYSTem:ERRor? 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? 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.

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

The following table contains the error messages.

Error messages Table

See Also

Introduction to SYSTem commands

*ESR

*CLS


:SYSTem:LOCK

SYSTem Subsystem

Command	:SYSTem:LOCK <value>

<value> ::= {{1 | ON} | {0 | OFF}}

The :SYSTem:LOCK command disables the front panel. LOCK ON is the equivalent of sending a local lockout message over GPIB.

Query	:SYSTem:LOCK?

The :SYSTem:LOCK? query returns the lock status of the front panel.

Return format:

<value><NL>

<value> ::= {1 | 0}

See Also

Introduction to SYSTem commands


:SYSTem:SETup

SYSTem Subsystem

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

Example Program Code

:SYSTem:SETup Code


:SYSTem:TIME

SYSTem Subsystem

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


Introduction to TIMebase Commands

TIMebase Subsystem

The TIMebase subsystem commands control the horizontal (X-axis) functions and set the scope 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 (delayed) 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;RANG +1.00E-03;POS +0.00000000000E+00


:TIMebase:DELay

TIMebase Subsystem

Command	:TIMebase: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: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:DELay command is obsolete and is provided for backward compatibility to previous oscilloscopes. Use the :TIMebase:POSition command for the 54620/40-series oscilloscopes.

Query	:TIMebase:DELay?

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


:TIMebase:MODE

TIMebase Subsystem

Command	: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 (delayed) time base mode measurements are made in the delayed 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.

Note

If a :DIGitize command is executed when the :TIMebase:MODE is not MAIN, the :TIMebase:MODE is set to MAIN.

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

Example Program Code

:TIMebase:MODE Code


:TIMebase:POSition

TIMebase Subsystem

Command	:TIMebase:POSition <pos>

<pos> ::= time from the trigger to the display reference in seconds

The :TIMebase: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:DELay command.

Query	:TIMebase:POSition?

The :TIMebase:POSition? query returns the current time from the trigger to the display reference in seconds.

Return format:

<pos> <NL>

<pos> ::= time from the trigger to the display reference in seconds

See Also

Introduction to TIMebase commands

:TIMebase:REFerence

:TIMebase:RANGe

:TIMebase:SCALe

:TIMebase:WINDow:POSition


:TIMebase:RANGe

TIMebase Subsystem

Command	:TIMebase:RANGe <range_value>

<range_value> ::= 50 ns through 500 s in NR3 format for 54620-series

<range_value> ::= 10 ns through 500 s in NR3 format for 54640-series

The :TIMebase: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	:TIMebase:RANGe?

The :TIMebase:RANGe query returns the current full-scale range value for the main window.

Return format:

<range_value> <NL>

<range_value> ::= 50 ns through 500 s in NR3 format for 54620-series

<range_value> ::= 10 ns through 500 s in NR3 format for 54640-series

See Also

Introduction to TIMebase commands

:TIMebase:MODE

:TIMebase:SCALe

:TIMebase:WINDow:RANGe

Example Program Code

:TIMebase:RANGe Code


:TIMebase:REFerence

TIMebase Subsystem

Command	:TIMebase:REFerence  <reference>

<reference> ::= {LEFT | CENTer | RIGHt}

The :TIMebase:REFerence command sets the time reference to one division from the left side of the screen, to the center of the screen, or to one division from the right side of the screen. Time reference is the point on the display where the trigger point is referenced.

Query	:TIMebase:REFerence?

The :TIMebase:REFerence? query returns the current display reference for the main window.

Return format:

<reference><NL>

<reference> ::= {LEFT | CENT | RIGH}

See Also

Introduction to TIMebase commands

:TIMebase:MODE

Example Program Code

:TIMebase:REFerence Code


:TIMebase:SCALe

TIMebase Subsystem

Command	:TIMebase:SCALe <scale_value>

<scale_value> ::= 5 ns through 50 s in NR3 format for 54620-series

<scale_value> ::= 1 ns through 50 s in NR3 format for 54640-series

The :TIMebase:SCALe command sets the horizontal scale or units per division for the main window.

Query	:TIMebase:SCALe?

The :TIMebase:SCALe? query returns the current horizontal scale setting in seconds per division for the main window.

Return format:

<scale_value><NL>

<scale_value> ::= 5 ns through 50 s in NR3 format for 54620-series

<scale_value> ::= 1 ns through 50 s in NR3 format for 54640-series

See Also

Introduction to TIMebase commands

:TIMebase:RANGe

:TIMebase:WINDow:SCALe

:TIMebase:WINDow:RANGe


:TIMebase:WINDow:POSition

TIMebase Subsystem

Command	:TIMebase:WINDow:POSition <pos value>

<pos value> ::= time from the trigger event to the delayed view reference point in NR3 format

The :TIMebase:WINDow:POSition command sets the horizontal position in the 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 delayed view window within the main sweep range.

Query	:TIMebase:WINDow:POSition?

The :TIMebase:WINDow:POSition? query returns the current horizontal window position setting in the delayed view.

Return format:

<value> <NL>

<value> ::= position value in seconds

See Also

Introduction to TIMebase commands

:TIMebase:MODE

:TIMebase:POSition

:TIMebase:RANGe

:TIMebase:SCALe

:TIMebase:WINDow:RANGe

:TIMebase:WINDow:SCALe


:TIMebase:WINDow:RANGe

TIMebase Subsystem

Command	: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 delayed window. The range is 10 times the current delayed 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	: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:RANGe

:TIMebase:POSition

:TIMebase:SCALe


:TIMebase:WINDow:SCALe

TIMebase Subsystem

Command	:TIMebase:WINDow:SCALe <scale_value>

<scale_value> ::= scale value in seconds in NR3 format

The :TIMebase:WINDow:SCALe command sets the 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	:TIMebase:WINDow:SCALe?

The :TIMebase:WINDow:SCALe? query returns the current delayed window scale setting.

Return format:

<scale_value><NL>

<scale_value> ::= current seconds per division for the delayed window

See Also

Introduction to TIMebase commands

:TIMebase:RANGe

:TIMebase:POSition

:TIMebase:SCALe

:TIMebase:WINDow:RANGe


Introduction to TRIGger Commands

TRIGger Subsystem

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 the TRIGger:SWEep command) can be AUTLevel (54620-series only), 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.

AUTLevel (54620-series only) mode works only when edge triggering on analog channels or an external trigger. The oscilloscope first tries to NORMal trigger. If no trigger is found, it searches for a signal at least 10% of full scale on the trigger source and sets the trigger level to the 50% amplitude point. If there is still no signal present, the oscilloscope auto triggers. This mode is useful when moving a probe from point to point on a circuit board.

AUTO and AUTLevel (54620-series only) modes are useful for signals other than low-repetitive-rate signals. You must use one of these modes to display a dc signal since there are no edges on which to trigger.

The follow trigger types are available (see the TRIGger:MODE command).

CAN (Controller Area Network) triggering will trigger on CAN version 2.0A and 2.0B 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. With the N2758A CAN Trigger module attached (mixed-signal oscilloscope only), you can also trigger on CAN data and identifier patterns, set the bit sample point, and have the module send an acknowledge to the bus when it receives a valid message.

Edge triggering identifies a trigger by looking for a specified slope and voltage level on a waveform.

Pulse width triggering (:TRIGger:GLITch commands) sets the oscilloscope to trigger on a positive pulse or on a negative pulse of a specified width.

Pattern triggering identifies a trigger condition by looking for a specified pattern. This pattern is a logical AND combination of the channels.

Duration triggering lets you define a pattern, then trigger on a specified time duration.

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

Sequence triggering allows you to trigger the oscilloscope after finding a sequence of events. Defining a sequence trigger requires three steps:

1.  Define the event to find before you trigger on the next event. This event can be a pattern, and edge from a single channel, or the combination of a pattern and a channel edge.

2.  Define the trigger event. This event can be a pattern, and edge from a single channel, the combination of a pattern and a channel edge, or the nth occurance of an edge from a single channel.

3.  Set an optional reset event. This event can be a pattern, an edge from a single channel, the combination of a pattern and a channel edge, or a timeout value.

SPI (Serial Peripheral Interface) triggering consists of connecting the oscilloscope to a clock, data, and framing signal. You can then trigger on a data pattern during a specific framing period. The serial data string can be speicfied to be from 4 to 32 bits long.

TV triggering is used to capture the complicated waveforms of television equipment. The trigger circuitry detects the vertical and horizontal interval of the waveform and produces triggers based on the TV trigger settings you selected. TV triggering requires greater than ¼ division of sync amplitude with any analog channel as the trigger source.

USB (Universal Serial Bus) triggering will trigger on a Start of Packet (SOP), End of Packet (EOP), Reset Complete, Enter Suspend, or Exit Suspend signal on the differential USB data lines. USB Low Speed and Full Speed are supported by this trigger.

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 on a 54622D oscilloscope.

:TRIG:MODE EDGE;SWE AUTO;NREJ 0;HFR 0;HOLD +60E-09;TRIG:EDGE:SOUR CHAN1;LEV +0.0E+00;SLOP POS;REJ OFF;COUP DC


:TRIGger: HFReject

TRIGger Subsystem

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

TRIGger Subsystem

Command	:TRIGger:HOLDoff <holdoff_time>

<holdoff_time> ::= 60 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 scope could trigger on each of the crossings, producing a confusing waveform. With holdoff set correctly, the scope always triggers on the same crossing. The correct holdoff setting is typically slightly less than one period.

Query	: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:MODE

TRIGger Subsystem

Command	:TRIGger:MODE <mode>

<mode> ::=  {EDGE | GLITch | PATTern | CAN | DURation | IIC | LIN | SEQuence | SPI | TV | USB}

The :TRIGger:MODE command selects the trigger mode (trigger type).

Query	: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> ::= {NONE | EDGE | GLITch | PATTern | CAN | DURation | IIC | LIN | SEQuence | SPI | TV | USB}

See Also

Introduction to TRIGger commands

TRIGger:SWEep

Example Program Code

TRIGger:MODE Code


:TRIGger: NREJect

TRIGger Subsystem

Command	: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. This command is not valid in TV trigger mode.

Query	: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:PATTern

TRIGger Subsystem

Command	:TRIGger: PATTern <pattern>

<pattern> ::= <value>, <mask> [, <edge source>,  <edge>]

<value> ::=  32-bit integer or <string>

<mask> ::= 32-bit integer or <string>

<string> ::= "0xnnnnnn"; n ::= {0,…,9 | A,…,F}

<edge source> ::= {DIGital0,..,DIGital15 | CHANnel<n> | NONE}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

<edge> ::=  {POSitive | NEGative}

The :TRIGger:PATTern command defines the specified pattern resource according to the value and the mask. For both <value> and <mask>, each bit corresponds to a possible trigger channel. The bit assignments vary by instrument:

	54621A/22A/41A/42A	Bits 0 and 1 - analog channels 1 and 2 Bit 4 - external trigger
	54624A	Bits 0 through 3 - analog channels 1 through 4 Bit 4 - external trigger
	54621D/22D/41D/42D	Bits 0 through 15 - digital channels 0 through 15 Bit 16 and 17 – analog channels 1 and 2

Set a <value> bit to "0" to set the pattern for the corresponding channel to low. Set a <value> bit to "1" to set the pattern to high.

Set a <mask> bit to "0" to ignore the data for the corresponding channel. Only channels with a "1" set on the appropriate mask bit are used.

Note

The optional source and the optional edge should be sent together or not at all. The edge will be set in the simple pattern if it is included. If the edge source is also specified in the mask, the edge takes precedence.

Query	:TRIGger:PATTern?

The :TRIGger:PATTern? query returns the pattern value, the mask, and the edge of interest in the simple pattern.

Return format:

<pattern><NL>

See Also

Introduction to TRIGger commands

:TRIGger:MODE


:TRIGger: SWEep

TRIGger Subsystem

Command	:TRIGger:SWEep <sweep>

<sweep> ::=  {AUTLevel | AUTO | NORMal} for 54620-series

<sweep> ::=  {AUTO | NORMal} for 54640-series

The :TRIGger:SWEep command selects the trigger sweep mode.

When you select the AUTLevel sweep mode (54620-series only) and there is no trigger, the trigger level is set to either the center of the signal (when DC coupled), or to the middle of the screen (when AC coupled).

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

TRIGger Subsystem

Command	:TRIGger:THReshold <channel group>, <threshold type> [, <value>]

<channel group> ::= {POD1 | POD2}

<threshold type> ::= {CMOS | ECL | TTL | USERdef}

<value>::= voltage for USERdef (floating-point number) [Volt type]

[Volt type] ::= {V | mV | uV}

The :TRIGger:THReshold command sets the threshold (trigger level) for a pod of 8 digital channels (either digital channels 0 through 7 or 8 through 15). The threshold can be set to a predefined value or to a user-defined value. For the predefined value, the voltage parameter is not required.

Note

This command is only available on the 54621D/22D/41D/42D.

Note

The :TRIGger:THReshold command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :POD<n>:THReshold or DIGital<n>:THReshold or :TRIGger:EDGe:LEVel command for the 54620/40-series oscilloscopes.

Query	:TRIGger:THReshold? <channel group>

The :TRIGger:THReshold? query returns the voltage and threshold text for analog channel 1 or 2, or POD1 or POD2.

Return format:

<threshold type>[, <value>] <NL>

<threshold type> ::= {CMOS | ECL | TTL | USER}

<value> ::= voltage for USERdef (a floating-point number in NR3).

Note

CMOS ::= 2.5V

TTL ::= 1.5 V

ECL ::= -1.3V

USERdef ::= range from -8.0V to +8.0V.


:TRIGger:CAN:ACKNowledge

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:ACKNowledge <value>

<value> ::= {{0 | OFF} | {1 | ON}}

Set the :TRIGger:CAN:ACKNowledge command to ON if you want the N2758A CAN Trigger module to transmit an acknowledge bit to the bus when the CAN Trigger module receives a valid message.

Note

This command is only valid when the N2758A CAN Trigger module is attached to the mixed-signal oscilloscope.

Query	:TRIGger:CAN:ACKNowledge?

The :TRIGger:CAN:ACKNowledge? query returns the current CAN acknowledge setting.

Return format:

<value><NL>

<value> ::= {0 | 1}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:CAN:TRIGger


:TRIGger:CAN:PATTern:DATA

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:PATTern:DATA <value>, <mask>

<value> ::= integer or <string>

<mask> ::= integer or <string>

<string> ::= "0xnn...n" where n ::= {0,…,9 | A,…,F} for hexadecimal, or
<string> ::= #Hnn...n where n ::= {0,…,9 | A,…,F} for hexadecimal, or
<string> ::= #Bnn...n where n ::= {0 | 1} for binary

The :TRIGger:CAN:PATTern:DATA command defines the CAN data pattern resource according to the value and the mask. This pattern, along with the data length (set by the :TRIGger:CAN:PATTern:DATA:LENGth command), control the data pattern searched for in each CAN message.

Set a <value> bit to "0" to set the corresponding bit in the data pattern to low. Set a <value> bit to "1" to set the bit to high.

Set a <mask> bit to "0" to ignore that bit in the data stream. Only bits with a "1" set on the mask are used.

Note

If more bytes are sent for <value> or <mask> than specified by the :TRIGger:CAN:PATTern:DATA:LENGth command, the most significant bytes will be truncated. If the data length is changed after the <value> and <mask> are programmed, the added or deleted bytes will be added to or deleted from the least significant bytes.

Note

This command is only valid when the N2758A CAN Trigger module is attached to the mixed-signal oscilloscope.

Query	:TRIGger:CAN:PATTern:DATA?

The :TRIGger:CAN:PATTern:DATA? query returns the current settings of the specified CAN data pattern resource.

Return format:

<value>, <mask><NL> in #H format

See Also

Introduction to TRIGger commands

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID


:TRIGger:CAN:PATTern:DATA:LENGth

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:PATTern:DATA:LENGth <length>

<length> ::= integer from 1 to 8 in NR1 format

The :TRIGger:CAN: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 0 bytes to 8 bytes (64 bits). The value for these bytes is set by the :TRIGger:CAN:PATTern:DATA command.

Note

This command is only valid when the N2758A CAN Trigger module is attached to the mixed-signal oscilloscope.

Query	:TRIGger:CAN:PATTern:DATA:LENGth?

The :TRIGger:CAN: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

See Also

Introduction to TRIGger commands

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:SOURce


:TRIGger:CAN:PATTern:ID

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:PATTern:ID <value>, <mask>

<value> ::= integer or <string>

<mask> ::= integer or <string>

<string> ::= "0xnn...n" where n ::= {0,…,9 | A,…,F} for hexadecimal, or
<string> ::= #Hnn...n where n ::= {0,…,9 | A,…,F} for hexadecimal, or
<string> ::= #Bnn...n where n ::= {0 | 1} for binary

The :TRIGger:CAN:PATTern:ID command defines the CAN identifier pattern resource according to the value and the mask. This pattern, along with the identifier mode (set by the :TRIGger:CAN:PATTern:ID:MODE command), control the identifier pattern searched for in each CAN message.

Set a <value> bit to "0" to set the corresponding bit in the identifier pattern to low. Set a <value> bit to "1" to set the bit to high.

Set a <mask> bit to "0" to ignore that bit in the identifier stream. Only bits with a "1" set on the mask are used.

Note

If more bits are sent than allowed (11 bits in standard mode, 29 bits in extended mode) by the :TRIGger:CAN:PATTern:ID:MODE command, the most significant bytes will be truncated. If the Id mode is changed after the <value> and <mask> are programmed, the added or deleted bits will be added to or deleted from the least significant bits. Since the Id pattern is either 11 or 29 bits and neither is divisible into 4-bit groups, the pattern will appear to change as the Id mode is switched.

Note

This command is only valid when the N2758A CAN Trigger module is attached to the mixed-signal oscilloscope.

Query	:TRIGger:CAN:PATTern:ID?

The :TRIGger:CAN:PATTern:ID? query returns the current settings of the specified CAN identifier pattern resource.

Return format:

<value>, <mask><NL> in #H format

See Also

Introduction to TRIGger commands

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:CAN:PATTern:DATA


:TRIGger:CAN:PATTern:ID:MODE

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:PATTern:ID:MODE <value>

<value> ::= {STANdard | EXTended}

The :TRIGger:CAN: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 :TRIGger:CAN:PATTern:ID command.

Note

This command is only valid when the N2758A CAN Trigger module is attached to the mixed-signal oscilloscope.

Query	:TRIGger:CAN:PATTern:ID:MODE?

The :TRIGger:CAN:PATTern:ID:MODE? query returns the current setting of the CAN identifier mode.

Return format:

<value><NL>

<value> ::= {STAN | EXT}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID


:TRIGger:CAN:SAMPlepoint

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:SAMPlepoint <value>

<value><NL>

<value> ::=  {60 | 62.5 | 68 | 70 | 75 | 80 | 87.5}  in NR3 format

The :TRIGger: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 is dependent on baud rate (see :TRIGger:CAN:SIGNal:BAUDrate ) and represents the percentage of time between the beginning of the bit time to the end of the bit time. The following sample point selections can be made:

68% for 10 kb/s baud rate
60%, 70%, or 80% for 800 kb/s baud rates
62.5%, 75%, and 87.5% for all other baud rates

Note

This command is only valid when the N2758A CAN Trigger module is attached to the mixed-signal oscilloscope.

Query	:TRIGger:CAN:SAMPlepoint?

The :TRIGger:CAN:SAMPlepoint? query returns the current CAN 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

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:CAN:TRIGger


:TRIGger:CAN:SIGNal:BAUDrate

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:SIGNal:BAUDrate <baudrate>

<baudrate> ::= integer in NR1 format

<baudrate> ::= {10000 | 20000 | 33300 | 50000 | 62500 | 83300 | 100000 | 125000 | 250000 | 500000 | 800000 |1000000}

The :TRIGger:CAN:SIGNal:BAUDrate command sets the standard baud rate of the CAN signal from 10 kb/s to 1 Mb/s. If a non-standard baud rate is sent, the baud rate will be set to the next highest standard rate.

If the baud rate you select does not match the system baud rate, false triggers may occur.

Query	:TRIGger:CAN:SIGNal:BAUDrate?

The :TRIGger:CAN:SIGNal:BAUDrate? query returns the current CAN baud rate setting.

Return format:

<baudrate><NL>

<baudrate> ::= integer = {10000 | 20000 | 33300 | 50000 | 62500 | 83300 | 100000 | 125000 | 250000 | 500000 | 800000 |1000000}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:CAN:TRIGger

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:CAN:SOURce


:TRIGger:CAN:SIGNal:DEFinition

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:SIGNal:DEFinition <value>

<value> ::= {CANH | CANL | RX | TX | DIFFerential}

The :TRIGger:CAN:SIGNal:DEFinition command sets the CAN signal type when  :TRIGger:CAN:TRIGger is set to SOF (start of frame). These signals can be set to:

Dominant high signal:

CANH - the actual CAN_H differential bus signal.

Dominant low signals:

CANL - the actual CAN_L differential bus signal.

RX - the Receive signal from the CAN bus tranceiver.

TX - the Transmit signal to the CAN bus tranceiver.

DIFFerential - the CAN differential bus signal connected to an analog source channel using a differential probe.

Note

When the N2758A CAN Trigger module is attached to the mixed-signal oscilloscope, RX is the only valid signal definition selection.

Query	:TRIGger:CAN:SIGNal:DEFinition?

The :TRIGger:CAN:SIGNal:DEFinition? query returns the current CAN signal type.

Return format:

<value><NL>

<value> ::= {CANH | CANL | RX | TX | DIFF}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:CAN:SIGNal:BAUDrate

:TRIGger:CAN:SOURce

:TRIGger:CAN:TRIGger


:TRIGger:CAN:SOURce

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:SOURce <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:CAN:SOURce command sets the source for the CAN signal. The source setting is only valid when :TRIGger:CAN:TRIGger is set to SOF (start of frame).

Note

When the N2758A CAN Trigger Module is attached to the mixed-signal oscilloscope, DIGital15 is always the source channel.

Query	:TRIGger:CAN:SOURce?

The :TRIGger:CAN:SOURce? query returns the current source for the CAN signal.

Return format:

<source><NL>

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:CAN:TRIGger

:TRIGger:CAN:SIGNal:DEFinition


:TRIGger:CAN:TRIGger

TRIGger Subsystem

:TRIGger:CAN Commands

Command	:TRIGger:CAN:TRIGger <condition>

<condition> ::= {SOF | DATA | ERRor | IDData | IDEither | IDRemote}

The :TRIGger:CAN:TRIGger command sets the CAN trigger on condition:

SOF - will trigger on the Start of Frame (SOF) bit of a Data frame, Remote Transfer Request (RTR) frame, or an Overload frame.

DATA - will trigger on CAN Data frames matching the specified Id, Data, and the DLC (Data length code).

ERRor - will trigger on CAN Error frame.

IDData - will trigger on CAN frames matching the specified Id of a Data frame.

IDEither - will trigger on the specified Id, regardless if it is a Remote frame or a Data frame.

IDRemote - will trigger on CAN frames matching the specified Id of a Remote frame.

The table below shows the programming parameter and the corresponding front-panel softkey selection:

Remote <condition> parameter SOF DATA ERRor IDData IDEither IDRemote	Front-panel Trigger on: softkey selection (softkey text - softkey popup text) SOF - Start of Frame Id & Data - Data Frame Id & Data Error - Error frame Id & ~RTR - Data Frame Id (~RTR) Id - Remote or Data Frame Id Id & RTR - Remote Frame Id (RTR)

CAN Id specification is set by the :TRIGger:CAN:PATTern:ID and  :TRIGger:CAN:PATTern:ID:MODE commands.

CAN Data specification is set by the :TRIGger:CAN:PATTern:DATA command.

CAN Data Length Code is set by the :TRIGger:CAN:PATTern:DATA:LENGth command.

Note

SOF is the only valid selection for analog oscilloscopes. If the N2758A CAN Trigger module is not attached to the mixed-signal oscilloscope, SOF is the only valid selection.

Query	:TRIGger:CAN:TRIGger?

The :TRIGger:CAN:TRIGger? query returns the current CAN trigger on condition.

Return format:

<condition><NL>

<condition> ::= {SOF | DATA | ERR |  IDD | IDE | IDR}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:CAN:PATTern:DATA

:TRIGger:CAN:PATTern:DATA:LENGth

:TRIGger:CAN:PATTern:ID

:TRIGger:CAN:PATTern:ID:MODE

:TRIGger:CAN:SIGNal:DEFinition

:TRIGger:CAN:SOURce


:TRIGger:DURation:GREaterthan

TRIGger Subsystem

:TRIGger:DURation Commands

Command	:TRIGger:DURation:GREaterthan <greater than time> [<suffix>]

<greater than time> ::= minimum trigger duration in seconds (5 ns - 10 seconds) in NR3 format

<suffix> ::= {s | ms | us | ns | ps }

The :TRIGger:DURation:GREaterthan command sets the minimum duration for the defined pattern when :TRIGger:DURation:QUALifier is set to GREaterthan. The command also sets the timeout value when the :TRIGger:DURation:QUALifier is set to TIMeout.

Query	:TRIGger:DURation:GREaterthan?

The :TRIGger:DURation:GREaterthan? query returns the minimum duration time for the defined pattern.

Return format:

<greater than time><NL>

See Also

Introduction to TRIGger commands

:TRIGger:DURation:PATTern

:TRIGger:DURation:QUALifier

:TRIGger:MODE


:TRIGger:DURation:LESSthan

TRIGger Subsystem

:TRIGger:DURation Commands

Command	:TRIGger:DURation:LESSthan <less than time> [<suffix>]

<less than time> ::= maximum trigger duration in seconds (5 ns - 10 seconds) in NR3 format

<suffix> ::= {s | ms | us | ns | ps}

The :TRIGger:DURation:LESSthan command sets the maximum duration for the defined pattern when :TRIGger:DURation:QUALifier is set to LESSthan.

Query	:TRIGger:DURation:LESSthan?

The :TRIGger:DURation:LESSthan? query returns the duration time for the defined pattern.

Return format:

<less than time><NL>

See Also

Introduction to TRIGger commands

:TRIGger:DURation:PATTern

:TRIGger:DURation:QUALifier

:TRIGger:MODE


:TRIGger:DURation:PATTern

TRIGger Subsystem

:TRIGger:DURation Commands

Command	:TRIGger:DURation:PATTern <value>, <mask>

<value> ::= integer or <string>

<mask> ::= integer or <string>

<string> ::= "0xnnnnnn"; n ::= {0,…,9 | A,…,F}

The :TRIGger:DURation:PATTern command defines the specified duration pattern resource according to the value and the mask. For both <value> and <mask>, each bit corresponds to a possible trigger channel. The bit assignments vary by instrument:

	54621A/22A/41A/42A	Bits 0 and 1 - analog channels 1 and 2 Bit 4 - external trigger
	54624A	Bits 0 through 3 - analog channels 1 through 4 Bit 4 - external trigger
	54621D/22D/41D/42D	Bits 0 through 15 - digital channels 0 through 15 Bit 16 and 17 – analog channels 1 and 2

Set a <value> bit to "0" to set the pattern for the corresponding channel to low. Set a <value> bit to "1" to set the pattern to high.

Set a <mask> bit to "0" to ignore the data for the corresponding channel. Only channels with a "1" set on the appropriate mask bit are used.

Query	:TRIGger:DURation:PATTern?

The :TRIGger:DURation:PATTern? query returns the pattern value.

Return format:

<value>, <mask> <NL>

<value> ::= a 32-bit integer in NR1 format.

<mask> ::= a 32-bit integer in NR1 format.

See Also

Introduction to TRIGger commands

:TRIGger:PATTern


:TRIGger:DURation:QUALifier

TRIGger Subsystem

:TRIGger:DURation Commands

Command	:TRIGger:DURation:QUALifier <qualifier>

<qualifier> ::= {GREaterthan | LESSthan | INRange | OUTRange | TIMeout}

The :TRIGger:DURation:QUALifier command qualifies the trigger duration.

Set the GREaterthan qualifier value with the :TRIGger:DURation:GREaterthan command.

Set the LESSthan qualifier value with the :TRIGger:DURation:LESSthan command.

Set the INRange and OUTRange qualifier values with the :TRIGger:DURation:RANGe command.

Set the TIMeout qualifier value with the :TRIGger:DURation:GREaterthan command.

Query	:TRIGger:DURation:QUALifier?

The :TRIGger:DURation:QUALifier? query returns the trigger duration qualifier.

Return format:

<qualifier><NL>

See Also

Introduction to TRIGger commands

:TRIGger:DURation:GREaterthan

:TRIGger:DURation:LESSthan

:TRIGger:DURation:RANGe


:TRIGger:DURation:RANGe

TRIGger Subsystem

:TRIGger:DURation Commands

Command	:TRIGger:DURation:RANGe <greater than time>[<suffix>],<less than time>[<suffix>]

<greater than time> ::= minimum duration in seconds (10 ns – 9.99 seconds) in NR3 format

<less than time> ::= maximum duration in seconds (15 ns - 10 seconds) in NR3 format

<suffix> ::= {s | ms | us | ns | ps}

The :TRIGger:DURation:RANGe command sets the duration for the defined pattern when the :TRIGger:DURation:QUALifier_TRIGger_DURation_QUALifier command is sert to INRange or OUTRange.

Note

If you set the minimum duration longer than the maximum duration, the order of the parameters is automatically reversed.

Query	:TRIGger:DURation:RANGe?

The :TRIGger:DURation:RANGe? query returns the duration time for the defined pattern.

Return format:

<greater than time>,<less than time><NL>

See Also

Introduction to TRIGger commands

:TRIGger:DURation:PATTern

:TRIGger:DURation:QUALifier

:TRIGger:MODE


:TRIGger:EDGE:COUPling
:TRIGger:[EDGE:]COUPling

TRIGger Subsystem

:TRIGger:EDGE Commands

Command	: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 LF. AC coupling places a high-pass filter (3.5 Hz for 54620-series analog channels, 10 Hz for 54640-series analog channels, and 3.5 Hz for all External trigger inputs) in the trigger path, removing dc offset voltage from the trigger waveform. LF coupling places a 50 KHz high-pass filter in the trigger path. Use AC coupling to get a stable edge trigger when your waveform has a large dc offset. 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	: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:]LEVel

TRIGger Subsystem

:TRIGger:EDGE Commands

Command	:TRIGger:[EDGE:]LEVel <level>

<level> ::= <level>[, <source>]

<level> ::= 0.75 x full-scale voltage from center screen in NR3 format for internal triggers

            ::= 2 V with probe attenuation at 1:1 in NR3 format for external triggers

            ::= 8 V for digital channels (54621D/22D/41D/42D)

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

               ::= {CHANnel<n> | DIGital0,...,DIGital15 | EXTernal} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

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

:POD:THReshold

:DIGital:THReshold


:TRIGger:EDGE:REJect
:TRIGger:[EDGE:]REJect

TRIGger Subsystem

:TRIGger:EDGE Commands

Command	: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	: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:]SLOPe

TRIGger Subsystem

:TRIGger:EDGE Commands

Command	:TRIGger: [EDGE:]SLOPe <slope>

<slope> ::= {NEGative | POSitive}

The :TRIGger:[EDGE:]SLOPe command specifies the slope of the edge for the trigger. The SLOPe command is not valid in TV trigger mode. Instead, use :TRIGger:TV:POLarity to set the polarity in TV trigger mode.

Query	:TRIGger:[EDGE:]SLOPe?

The :TRIGger:[EDGE:]SLOPe? query returns the current trigger slope.

Return format:

<slope><NL>

<slope> ::= {NEG | POS}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:TV:POLarity

Example Program Code

:TRIGger:EDGE:SLOPe Code


:TRIGger:EDGE:SOURce
:TRIGger:[EDGE:]SOURce

TRIGger Subsystem

:TRIGger:EDGE Commands

Command	:TRIGger: [EDGE:]SOURce <source>

<source> ::= {CHANnel<n> | EXTernal | LINE} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…DIGital15 | EXTernal | LINE} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:[EDGE:]SOURce command selects the channel that produces the trigger.

Query	: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> | EXT | LINE | NONE} for the 54621A/22A/24A/41A/42A

<source> ::= {CHAN<n> | DIG0,…DIG15 | EXTernal | LINE | NONE} for the 54621D/22D/41D/42D

See Also

Introduction to TRIGger commands

:TRIGger:MODE


:TRIGger:GLITch:GREaterthan

TRIGger Subsystem

:TRIGger:GLITch Commands

Command	:TRIGger:GLITch:GREaterthan <greater_than_time> [<suffix>]

<greater_than_time> ::= 32-bit floating-point number  (5 ns - 10 seconds) 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	: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>.

See Also

Introduction to TRIGger commands

:TRIGger:GLITch:SOURce

:TRIGger:GLITch:QUALifier

:TRIGger:MODE


:TRIGger:GLITch:LESSthan

TRIGger Subsystem

:TRIGger:GLITch Commands

Command	:TRIGger:GLITch:LESSthan <less_than_time> [<suffix>]

<less_than_time> ::= floating-point number  (5 ns - 10 seconds)

<suffix> ::= {s | ms | us | ns | ps}

The :TRIGger:GLITch:LESSthan command sets the maximum pulse width duration for the selected :TRIGger:GLITch:SOURce.

Query	: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> ::= a 32-bit floating-point number in NR3 format.

See Also

Introduction to TRIGger commands

:TRIGger:GLITch:SOURce

:TRIGger:GLITch:QUALifier

:TRIGger:MODE


:TRIGger:GLITch:LEVel

TRIGger Subsystem

:TRIGger:GLITch Commands

Command	:TRIGger:GLITch:LEVel <level_argument>

<level_argument> ::= <level>[, <source>]

<level> ::= .75 x full-scale voltage from center screen in NR3 format for internal triggers

           ::= 2 V with probe attenuation at 1:1 in NR3 format for external triggers

           ::= 6 V for digital channels (54621D/22D/41D/42D)

<source> ::= {CHANnel<n> | EXTernal} for 54621A/22A/24A/41A/42A

                    {CHANnel<n> | DIGital0,...,DIGital15} for 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:GLITch:LEVel command sets the trigger level voltage for the active pulse width trigger.

Query	: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_argument><NL>

See Also

Introduction to TRIGger commands

:TRIGGER:MODE

:TRIGGER:GLITch:SOURce


:TRIGger:GLITch:POLarity

TRIGger Subsystem

:TRIGger:GLITch Commands

Command	:TRIGger:GLITch:POLarity <polarity>

<polarity> ::= {POSitive | NEGative}

The :TRIGger:GLITch:POLarity command sets the polarity for the glitch pulse width trigger.

Query	: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 Subsystem

:TRIGger:GLITch Commands

Command	: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	: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 Subsystem

:TRIGger:GLITch Commands

Command	:TRIGger:GLITch:RANGe <greater than time> [suffix], <less than time> [suffix]

<greater than time> ::= start time (10 ns – 9.99 seconds) in NR3 format

<less than time> ::= stop time (15 ns - 10 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. If you set the stop time before the start time, the order of the parameters is automatically reversed.

Query	:TRIGger:GLITch:RANGe?

The :TRIGger:GLITch:RANGe? query returns the pulse width duration time for :TRIGger:GLITch:SOURce.

Return format:

<start time>, <stop time><NL>

See Also

Introduction to TRIGger commands

:TRIGger:GLITch:SOURce

:TRIGger:GLITch:QUALifier

:TRIGger:MODE


:TRIGger:GLITch:SOURce

TRIGger Subsystem

:TRIGger:GLITch Commands

Command	:TRIGger:GLITch:SOURce <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41a/42A

<source> ::= {DIGital0,.,DIGital15 | CHANnel<n>} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:GLITch:SOURce command selects the channel that produces the pulse width trigger.

Query	: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 Program Code

TRIGger:SOURce Code


:TRIGger:IIC:PATTern:ADDRess

TRIGger Subsystem

:TRIGger:IIC Commands

Command	:TRIGger:IIC:PATTern:ADDRess <value>

<value> ::= integer or <string>

<string> ::= "0xnn" where n ::= {0,...,9 | A,...,F}

The :TRIGger:IIC:PATTern:ADDRess command sets the address for IIC data.The address can range from 0x00 to 0x7F (7-bit) or 0x3FF (10-bit) hexadecimal. Use the don’t care address (-1 or 0xFFFFFFFF) to ignore the address value.

Query	:TRIGger:IIC:PATTern:ADDRess?

The :TRIGger:IIC:PATTern:ADDRess? query returns the current address for IIC data.

Return format:

<value><NL>

<value> ::= integer

See Also

Introduction to TRIGger commands

:TRIGger:IIC:PATTern:DATA

:TRIGger:IIC:TRIGger:TYPE


:TRIGger:IIC:PATTern:DATA

TRIGger Subsystem

:TRIGger:IIC Commands

Command	:TRIGger:IIC:PATTern:DATA <value>

<value> ::= integer or <string>

<string> ::= "0xnn" where n ::= {0,...,9 | A,...,F}

The :TRIGger:IIC:PATTern:DATA command sets IIC data. The data value can range from 0x00 to 0x0FF (hexadecimal). Use the don't care data pattern (-1 or 0xFFFFFFFF) to ignore the data value.

Query	:TRIGger:IIC:PATTern:DATA?

The :TRIGger:IIC:PATTern:DATA? query returns the current pattern for IIC data.

Return format:

<value><NL>

See Also

Introduction to TRIGger commands

:TRIGger:IIC:PATTern:ADDRess

:TRIGger:IIC:TRIGger:TYPE


:TRIGger:IIC:SOURce:CLOCk

TRIGger Subsystem

:TRIGger:IIC Commands

Command	:TRIGger:IIC:[SOURce:]CLOCk <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:IIC:[SOURce:]CLOCk command sets the source for the IIC serial clock (SCL).

Query	:TRIGger:IIC:[SOURce:]CLOCk?

The :TRIGger:IIC:[SOURce:]CLOCk? query returns the current source for the IIC serial clock.

Return format:

<source><NL>

See Also

Introduction to TRIGger commands

:TRIGger:IIC:SOURce:DATA


:TRIGger:IIC:SOURce:DATA

TRIGger Subsystem

:TRIGger:IIC Commands

Command	:TRIGger:IIC:[SOURce:]DATA <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:IIC:[SOURce:]DATA command sets the source for IIC serial data (SDA).

Query	:TRIGger:IIC:[SOURce:]DATA?

The :TRIGger:IIC:[SOURce:]DATA? query returns the current source for IIC serial data.

Return format:

<source><NL>

See Also

Introduction to TRIGger commands

:TRIGger:IIC:SOURce:CLOCk


:TRIGger:IIC:TRIGger:QUALifier

TRIGger Subsystem

:TRIGger:IIC Commands

Command	:TRIGger:IIC:TRIGger:QUALifier <value>

<value> ::= {EQUal | NOTequal | LESSthan | GREaterthan}

The :TRIGger:IIC:TRIGger:QUALifier command sets the IIC data qualifier when TRIGger:IIC:TRIGger[:TYPE] is set to READEeprom.

Query	:TRIGger:IIC:TRIGger:QUALifier?

The :TRIGger: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

:TRIGger:IIC:TRIGger:TYPE


:TRIGger:IIC:TRIGger:TYPE
:TRIGger:IIC:TRIGger[:TYPE]

TRIGger Subsystem

:TRIGger:IIC Commands

Command	:TRIGger:IIC:TRIGger[:TYPE] <value>

<value> ::= {STARt | STOP | READ7 | READEeprom | WRITe7 | WRITe10 | NACK | RESTart}

The :TRIGger:IIC:TRIGger[:TYPE] command sets the IIC trigger type:

STARt = Start condition

STOP = Stop condition

READ7 = 7-bit address frame containing (Start:Address7:Read:Ack:Data). The value READ is also accepted for READ7.

READEeprom = EEPROM data read

WRITe7 = 7-bit address frame containing (Start:Address7:Write:Ack:Data). The value WRITe is also accepted for WRITe7.

WRITe10 = 10-bit address frame containing (Start:Address byte1:Write:Ack:Address byte 2:Data)

NACK = Missing acknowledge

RESTart = Another start condition occurs before a stop condition

Note

The short form of READ7 (READ7), READEeprom (READE), WRITe7 (WRIT7), and WRITe10 (WRIT10) do not follow the defined short form convention.

Query	:TRIGger:IIC:TRIGger[:TYPE]?

The :TRIGger:IIC:TRIGger[:TYPE]? query returns the current IIC trigger type value.

Return format:

<value><NL>

<value> ::= {STAR | STOP | READ7 | READE | WRIT7 | WRIT10 | NACK | REST}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:IIC:PATTern:ADDRess

:TRIGger:IIC:PATTern:DATA

:TRIGger:IIC:TRIGger:QUALifier


:TRIGger:LIN:SIGNal:BAUDrate

TRIGger Subsystem

:TRIGger:LIN Commands

Command	:TRIGger:LIN:SIGNal:BAUDrate <baudrate>

<baudrate> ::= integer in NR1 format

<baudrate> ::= {2400 | 9600 | 19200}

The :TRIGger:LIN:SIGNal:BAUDrate command sets the standard baud rate of the LIN signal at 2400 b/s, 9600 b/s, or 19200 b/s. If a non-standard baud rate is sent, the baud rate will be set to the next highest standard rate.

Query	:TRIGger:LIN:SIGNal:BAUDrate?

The :TRIGger:LIN:SIGNal:BAUDrate? query returns the current LIN baud rate setting.

Return format:

<baudrate><NL>

<baudrate> ::= integer = {2400 | 9600 | 19200}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:LIN:TRIGger

:TRIGger:LIN:SIGNal:DEFinition

:TRIGger:LIN:SOURce


:TRIGger:LIN:SIGNal:DEFinition

TRIGger Subsystem

:TRIGger:LIN Commands

Command	:TRIGger:LIN:SIGNal:DEFinition <value>

<value> ::= {LIN | RX | TX}

The :TRIGger:LIN:SIGNal:DEFinition command sets the LIN signal type. These signals can be set to:

Dominant low signals:

LIN - the actual LIN single-end bus signal line.

RX - the Receive signal from the LIN bus tranceiver.

TX - the Transmit signal to the LIN bus tranceiver.

Query	:TRIGger:LIN:SIGNal:DEFinition?

The :TRIGger:LIN:SIGNal:DEFinition? query returns the current LIN signal type.

Return format:

<value><NL>

<value> ::= {LIN | RX | TX}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:LIN:SIGNal:BAUDrate

:TRIGger:LIN:SOURce


:TRIGger:LIN:SOURce

TRIGger Subsystem

:TRIGger:LIN Commands

Command	:TRIGger:LIN:SOURce <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:LIN:SOURce command sets the source for the LIN signal.

Query	:TRIGger:LIN:SOURce?

The :TRIGger:LIN:SOURce? query returns the current source for the LIN signal.

Return format:

<source><NL>

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:LIN:TRIGger

:TRIGger:LIN:SIGNal:DEFinition


:TRIGger:LIN:TRIGger

TRIGger Subsystem

:TRIGger:LIN Commands

Command	:TRIGger:LIN:TRIGger <condition>

<condition> ::= {SYNCbreak}

The :TRIGger:LIN:TRIGger command sets the LIN trigger on condition, Sync Break (SYNCbreak).

Query	:TRIGger:LIN:TRIGger?

The :TRIGger:LIN:TRIGger? query returns the current LIN trigger value.

Return format:

<condition><NL>

<condition> ::= {SYNC}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:LIN:SIGNal:DEFinition

:TRIGger:LIN:SOURce


:TRIGger:SEQuence:COUNt

TRIGger Subsystem

:TRIGger:SEQuence Commands

Command	:TRIGger:SEQuence:COUNt <count>

<count> ::= integer in NR1 format

The :TRIGger:SEQuence:COUNt command sets the sequencer edge counter resource. The edge counter is used in the trigger stage to determine the number of edges that must be found before the sequencer generates a trigger.

Query	:TRIGger:SEQuence:COUNt?

The :TRIGger:SEQuence:COUNt? query returns the current sequencer edge counter setting.

Return format:

<count><NL>

<count> ::= integer in NR1 format

See Also

Introduction to TRIGger commands

:TRIGger:SEQuence:TRIGger

:TRIGger:SEQuence:EDGE


:TRIGger:SEQuence:EDGE

TRIGger Subsystem

:TRIGger:SEQuence Commands

Command	:TRIGger:SEQuence:EDGE{1 | 2} <source>, <slope>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<slope> ::= {POSitive | NEGative}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:SEQuence:EDGE<n> command defines the specified sequencer edge resource according to the specified <source> and <slope>. To disable an edge resource, set its <source> to NONE. In this case, <slope> has no meaning.

Query	:TRIGger:SEQuence:EDGE{1 | 2}?

The :TRIGger:SEQuence:EDGE<n>? query returns the specified sequencer edge resource setting. If the edge resource is disabled, the returned <source> value is NONE. In this case, the <slope> is undefined.

Return format:

<source>, <slope><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:TRIGger

:TRIGger:SEQuence:RESet

:TRIGger:SEQuence:COUNt


:TRIGger:SEQuence:FIND

TRIGger Subsystem

:TRIGger:SEQuence Commands

Command	:TRIGger:SEQuence:FIND <value>

<value> ::= <resource1>[, <operator>[, <resource2>]]

<resource1> ::= {PATTern1 | EDGE1}

<operator> ::= {ENTered | EXITed | AND | NONE}

<resource2> ::= {PATTern1 | EDGE1 | NONE}

The :TRIGger:SEQuence:FIND command specifies the find stage of a sequence trigger. Specify the operator and/or second resource as NONE if they are not used, or simply omit them.

Query	:TRIGger:SEQuence:FIND?

The :TRIGger:SEQuence:FIND? query returns the find stage specification for a sequence trigger. If the operator and/or second resource is not used, NONE is returned.

Return format:

<resource1>, <operator>, <resource2><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SEQuence:PATTern

:TRIGger:SEQuence:EDGE

:TRIGger:SEQuence:TRIGger

:TRIGger:SEQuence:RESet


:TRIGger:SEQuence:PATTern

TRIGger Subsystem

:TRIGger:SEQuence Commands

Command	:TRIGger:SEQuence:PATTern{1 | 2} <value>, <mask>

<value> ::= integer or <string>

<mask> ::= integer or <string>

<string> ::= "0xnnnnnn" where n ::= {0,…,9 | A,…,F}

The :TRIGger:SEQuence:PATTern<n> command defines the specified sequence pattern resource according to the value and the mask. For both <value> and <mask>, each bit corresponds to a possible trigger channel. The bit assignments vary by instrument:

	54621A/22A/41A/42A	Bits 0 and 1 - analog channels 1 and 2 Bit 4 - external trigger
	54624A	Bits 0 through 3 - analog channels 1 through 4 Bit 4 - external trigger
	54621D/22D/41D/42D	Bits 0 through 15 - digital channels 0 through 15 Bit 16 and 17 – analog channels 1 and 2

Set a <value> bit to "0" to set the pattern for the corresponding channel to low. Set a <value> bit to "1" to set the pattern to high.

Set a <mask> bit to "0" to ignore the data for the corresponding channel. Only channels with a "1" set on the appropriate mask bit are used.

Query	:TRIGger:SEQuence:PATTern{1 | 2}?

The :TRIGger:SEQuence:PATTern<n>? query returns the current settings of the specified pattern resource.

Return format:

<value>, <mask><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:TRIGger

:TRIGger:SEQuence:RESet


:TRIGger:SEQuence:RESet

TRIGger Subsystem

:TRIGger:SEQuence Commands

Command	:TRIGger:SEQuence:RESet <value>

<value> ::= <resource1>[, <operator>[, <resource2>]]

<resource1> ::= {PATTern1 | PATTern2 | EDGE1 | EDGE2 | TIMer | NONE}

<operator> ::= {ENTered | EXITed | AND | NONE}

<resource2> ::= {PATTern1 | PATTern2 | EDGE1 | EDGE2 | TIMer | NONE}

The :TRIGger:SEQuence:RESet command specifies the reset stage of a sequence trigger. In multi-level trigger specifications, you may find a pattern, then search for another in sequence, but reset the entire search to the beginning if another condition occurs. Specify the operator and/or second resource as NONE if they are not used, or simply omit them.

Query	:TRIGger:SEQuence:RESet?

The :TRIGger:SEQuence:RESet? query returns the reset stage specification for a sequence trigger. If the operator and/or second resource is not used, NONE is returned.

Return format:

<resource1>, <operator>, <resource2><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SEQuence:PATTern

:TRIGger:SEQuence:EDGE

:TRIGger:SEQuence:TIMer

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:TRIGger


:TRIGger:SEQuence:TIMer

TRIGger Subsystem

:TRIGger:SEQuence Commands

Command	:TRIGger:SEQuence:TIMer <time_value>

<time_value> ::= time in seconds in NR1 format

The :TRIGger:SEQuence:TIMer command sets the sequencer timer resource in seconds from 100 ns to 10 s. The timer is used in the reset stage to determine how long to wait for the trigger to occur before restarting.

Query	:TRIGger:SEQuence:TIMer?

The :TRIGger:SEQuence:TIMer? query returns current sequencer timer setting.

Return format:

<time value><NL>

<time_value> ::= time in seconds in NR1 format

See Also

Introduction to TRIGger commands

:TRIGger:SEQuence:RESet


:TRIGger:SEQuence:TRIGger

TRIGger Subsystem

:TRIGger:SEQuence Commands

Command	:TRIGger:SEQuence:TRIGger <value>

<value> ::= <resource1>[, <operator>[, <resource2>]]

<resource1> ::= {PATTern2 | EDGE2}

<operator> ::= {ENTered | EXITed | AND | COUNt | NONE}

<resource2> ::= {PATTern2 | EDGE2 | NONE}

The :TRIGger:SEQuence:TRIGger command specifies the trigger stage of a sequence trigger. The sequence commands set various search terms. After all of these are found in sequence, the trigger condition itself is searched for. Specify the operator and/or second resource as NONE if they are not used, or simply omit them.

Query	:TRIGger:SEQuence:TRIGger?

The :TRIGger:SEQuence:TRIGger? query returns the trigger stage specification for a sequence trigger. If the operator and/or second resource are not used, NONE is returned.

Return format:

<resource1>, <operator>, <resource2><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SEQuence:PATTern

:TRIGger:SEQuence:EDGE

:TRIGger:SEQuence:COUNt

:TRIGger:SEQuence:FIND

:TRIGger:SEQuence:RESet

:TRIGger:SEQuence:RESet


:TRIGger:SPI:CLOCk:SLOPe

TRIGger Subsystem

:TRIGger:SPI Commands

Command	:TRIGger:SPI:CLOCk:SLOPe <slope>

<slope> ::= {NEGative | POSitive}

The :TRIGger: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	:TRIGger:SPI:CLOCk:SLOPe?

The :TRIGger:SPI:CLOCk:SLOPe? query returns the current SPI clock source slope.

Return format:

<slope><NL>

<slope> ::= {NEG | POS}

See Also

Introduction to TRIGger commands

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:SOURce:CLOCk


:TRIGger:SPI:CLOCk:TIMeout

TRIGger Subsystem

:TRIGger:SPI Commands

Command	:TRIGger:SPI:CLOCk:TIMeout <time_value>

<time_value> ::= time in seconds in NR1 format

The :TRIGger:SPI:CLOCk:TIMeout command sets the SPI signal clock timeout resource in seconds from 500 ns to 10 s when the :TRIGger:SPI:FRAMing command is set to TIMeout. The timer is used to frame a signal by a clock timeout.

Query	:TRIGger:SPI:CLOCk:TIMeout?

The :TRIGger:SPI:CLOCk:TIMeout? query returns current SPI clock timeout setting.

Return format:

<time value><NL>

<time_value> ::= time in seconds in NR1 format

See Also

Introduction to TRIGger commands

:TRIGger:SPI:CLOCk:SLOPe

:TRIGger:SPI:SOURce:CLOCk

:TRIGger:SPI:FRAMing


:TRIGger:SPI:FRAMing

TRIGger Subsystem

:TRIGger:SPI Commands

Command	:TRIGger:SPI:FRAMing <value>

<value> ::= {CHIPselect | NOTChipselect | TIMeout}

The :TRIGger:SPI:FRAMing command sets the SPI trigger framing value. If TIMeout is selected, the timeout value is set by the :TRIGger:SPI:CLOCk:TIMeout command.

Query	:TRIGger:SPI:FRAMing?

The :TRIGger:SPI:FRAMing? query returns the current SPI framing value.

Return format:

<value><NL>

<value> ::= {CHIPselect | NOTChipselect | TIMeout}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:SOURce:FRAMe


:TRIGger:SPI:PATTern:DATA

TRIGger Subsystem

:TRIGger:SPI Commands

Command	:TRIGger:SPI:PATTern:DATA <value>, <mask>

<value> ::= integer or <string>

<mask> ::= integer or <string>

<string> ::= "0xnnnnnn" where n ::= {0,…,9 | A,…,F}

The :TRIGger:SPI:PATTern:DATA command defines the SPI data pattern resource according to the value and the mask. This pattern, along with the data width, control the data pattern searched for in the data stream.

Set a <value> bit to "0" to set the corresponding bit in the data pattern to low. Set a <value> bit to "1" to set the bit to high.

Set a <mask> bit to "0" to ignore that bit in the data stream. Only bits with a "1" set on the mask are used.

Query	:TRIGger:SPI:PATTern:DATA?

The :TRIGger:SPI:PATTern:DATA? query returns the current settings of the specified SPI data pattern resource.

Return format:

<value>, <mask><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SPI:PATTern:WIDth

:TRIGger:SPI:SOURce:DATA


:TRIGger:SPI:PATTern:WIDth

TRIGger Subsystem

:TRIGger:SPI Commands

Command	:TRIGger:SPI:PATTern:WIDth <width>

<width> ::= integer from 4 to 32 in NR1 format

The :TRIGger:SPI:PATTern:WIDth command sets the width of the SPI data pattern anywhere from 4 bits to 32 bits.

Query	:TRIGger:SPI:PATTern:WIDth?

The :TRIGger:SPI:PATTern:WIDth? query returns the current SPI data pattern width setting.

Return format:

<count><NL>

<count> ::= integer from 4 to 32 in NR1 format

See Also

Introduction to TRIGger commands

:TRIGger:SPI:PATTern:DATA

:TRIGger:SPI:SOURce:DATA


:TRIGger:SPI:SOURce:CLOCk

TRIGger Subsystem

:TRIGger:SPI Commands

Command	:TRIGger:SPI:SOURce:CLOCk <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:SPI:SOURce:CLOCk command sets the source for the SPI serial clock.

Query	:TRIGger:SPI:SOURce:CLOCk?

The :TRIGger:SPI:SOURce:CLOCk? query returns the current source for the SPI serial clock.

Return format:

<source><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SPI:CLOCk:SLOPe

:TRIGger:SPI:CLOCk:TIMeout

:TRIGger:SPI:SOURce:FRAMe

:TRIGger:SPI:SOURce:DATA


:TRIGger:SPI:SOURce:DATA

TRIGger Subsystem

:TRIGger:SPI Commands

Command	:TRIGger:SPI:SOURce:DATA <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:SPI:SOURce:DATA command sets the source for the SPI serial data.

Query	:TRIGger:SPI:SOURce:DATA?

The :TRIGger:SPI:SOURce:DATA? query returns the current source for the SPI serial data.

Return format:

<source><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SPI:SOURce:CLOCk

:TRIGger:SPI:SOURce:FRAMe

:TRIGger:SPI_PATTern:DATA

:TRIGger:SPI:PATTern:WIDth


:TRIGger:SPI:SOURce:FRAMe

TRIGger Subsystem

:TRIGger:SPI Commands

Command	:TRIGger:SPI:SOURce:FRAMe <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:SPI:SOURce:FRAMe command sets the frame source when :TRIGger:SPI:FRAMing is set to CHIPselect or NOTChipselect.

Query	:TRIGger:SPI:SOURce:FRAMe?

The :TRIGger:SPI:SOURce:FRAMe? query returns the current frame source for the SPI serial frame.

Return format:

<sourcee><NL>

See Also

Introduction to TRIGger commands

:TRIGger:SPI:SOURce:CLOCk

:TRIGger:SPI:SOURce:DATA

:TRIGger:SPI:FRAMing


:TRIGger:TV:LINE

TRIGger Subsystem

:TRIGger:TV Commands

Command	:TRIGger:TV:LINE <line_number>

<line_number>::= integer in NR1 format

The :TRIGger:TV:LINE command allows triggering on a specific line of video. The line number limits vary with the standard and mode, as shown in the following table.

TV Standard	Line: 1	Line: 2	Line: Alt
NTSC	1 to 263	1 to 262	1 to 262
PAL	1 to 313	314 to 625	1 to 312
PAL-M	1 to 263	264 to 525	1 to 262
SECAM	1 to 313	314 to 625	1 to 312
GENERIC	1 to 1024	1 to 1024	1 to 1024 (vertical)
Query	:TRIGger:TV:LINE?

The :TRIGger:TV:LINE? query returns the current TV trigger line number setting.

Return format:

<line_number><NL>

<line_number>::= integer in NR1 format

See Also

Introduction to TRIGger commands

:TRIGger:TV:STANdard

:TRIGger:TV:MODE


:TRIGger:TV:MODE

TRIGger Subsystem

:TRIGger:TV Commands

Command	:TRIGger:TV:MODE <mode>

<mode> ::= {Field1 | Field2 | ALLFields | LINE | ALLLines | LINEField1 | LINEField2 | LINEAlt | LINEVert}

The :TRIGger:TV:MODE command selects the TV trigger mode and field. The LINEVert parameter is only available when ::TRIGger:TV:STANdard is GENeric. The LINEAlt parameter is not available when :TRIGger:TV:STANdard is GENeric.

Query	:TRIGger:TV:MODE?

The :TRIGger:TV:MODE? query returns the TV trigger mode.

Return format:

<value><NL>

<value> ::= {FIELD1 | FIELD2 | ALLF | LINE | ALLL | LINEF1 | LINEF2 | LINEA | LINEV}

See Also

Introduction to TRIGger commands

:TRIGger:TV:STANdard

:TRIGger:MODE


:TRIGger:TV:POLarity

TRIGger Subsystem

:TRIGger:TV Commands

Command	:TRIGger:TV:POLarity <polarity>

<polarity> ::= {POSitive | NEGative}

The :TRIGger:TV:POLarity command sets the polarity for the TV trigger.

Query	:TRIGger:TV:POLarity?

The :TRIGger:TV:POLarity? query returns the TV trigger polarity.

Return format:

<polarity><NL>

<polarity> ::= {POS | NEG}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:TV:SOURce


:TRIGger:TV:SOURce

TRIGger Subsystem

:TRIGger:TV Commands

Command	:TRIGger:TV:SOURce <source>

<source> ::= {CHANnel<n>}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:TV:SOURce command selects the channel used to produce the trigger.

Query	:TRIGger:TV:SOURce?

The :TRIGger:TV:SOURce? query returns the current TV trigger source.

Return format:

<source><NL>

<source> ::= {CHAN<n>}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:TV:POLarity

Example Program Code

TRIGger:SOURce Code


:TRIGger:TV:STANdard

TRIGger Subsystem

:TRIGger:TV Commands

Command	:TRIGger:TV:STANdard <standard>

<standard> ::= {GENeric | NTSC | PALM | PAL | SECam}

The :TRIGger:TV:STANdard command selects the video standard. GENeric mode is non-interlaced.

Query	:TRIGger:TV:STANdard?

The :TRIGger:TV:STANdard? query returns the current TV trigger standard setting.

Return format:

<standard><NL>

<standard> ::= {GEN | NTSC | PALM | PAL | SEC}


:TRIGger:TV:TVMode

TRIGger Subsystem

:TRIGger:TV Commands

Command	:TRIGger:TV:TVMode <value>

<value> ::= {Field1 | Field2 | ALLFields | LINE | ALLLines | LINEField1 | LINEField2 | LINEAlt | LINEVert}

The :TRIGger:TV:TVMode command selects the TV trigger mode and field. The LINEVert parameter is only available when :TRIGger:TV:STANdard is GENeric. The LINEAlt parameter is not available when :TRIGger:TV:STANdard is GENeric.

Note

The :TRIGger:TV:TVMode command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :TRIGger:TV:Mode command for the 54620/40-series oscilloscopes.

Query	:TRIGger:TV:TVMode?

The :TRIGger:TV:TVMode? query returns the TV trigger mode.

Return format:

<value><NL>

<value > ::= {FIELD1 | FIELD2 | ALLF | LINE | ALLL | LINEF1 | LINEF2 | LINEA | LINEV}


:TRIGger:USB:SOURce:DMINus

TRIGger Subsystem

:TRIGger:USB Commands

Command	:TRIGger:USB:SOURce:DMINus <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:USB:SOURce:DMINus command sets the source for the USB D- signal.

Query	:TRIGger:USB:SOURce:DMINus?

The :TRIGger:USB:SOURce:DMINus? query returns the current source for the USB D- signal.

Return format:

<source><NL>

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:USB:SOURce:DPLus

:TRIGger:USB:TRIGger


:TRIGger:USB:SOURce:DPLus

TRIGger Subsystem

:TRIGger:USB Commands

Command	:TRIGger:USB:SOURce:DPLus <source>

<source> ::= {CHANnel<n> | EXTernal} for the 54621A/22A/24A/41A/42A

<source> ::= {CHANnel<n> | DIGital0,…,DIGital15} for the 54621D/22D/41D/42D

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :TRIGger:USB:SOURce:DPLus command sets the source for the USB D+ signal.

Query	:TRIGger:USB:SOURce:DPLus?

The :TRIGger:USB:SOURce:DPLus? query returns the current source for the USB D+ signal.

Return format:

<source><NL>

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:USB:SOURce:DMINus

:TRIGger:USB:TRIGger


:TRIGger:USB:SPEed

TRIGger Subsystem

:TRIGger:USB Commands

Command	:TRIGger:USB:SPEed <value>

<value> ::= {LOW | FULL}

The :TRIGger:USB:SPEed command sets the expected USB signal speed to be Low Speed (1.5 Mb/s) or Full Speed (12 Mb/s).

Query	:TRIGger:USB:SPEed?

The :TRIGger:USB:SPEed? query returns the current speed value for the USB signal.

Return format:

<value><NL>

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:USB:SOURce:DMINus

:TRIGger:USB:SOURce:DPLus

:TRIGger:USB:TRIGger


:TRIGger:USB:TRIGger

TRIGger Subsystem

:TRIGger:USB Commands

Command	:TRIGger:USB:TRIGger <value>

<value> ::= {SOP | EOP | ENTersuspend | EXITsuspend | RESet}

The :TRIGger:USB:TRIGger command sets where the USB trigger will occur:

SOP = Start of packet

EOP = End of packet

ENTersuspend = Enter suspend state

EXITsuspend = Exit suspend state

RESet = Reset complete

Query	:TRIGger:USB:TRIGger?

The :TRIGger:USB:TRIGger? query returns the current USB trigger value.

Return format:

<value><NL>

<value> ::= {SOP | EOP | ENTersuspend | EXITsuspend | RESet}

See Also

Introduction to TRIGger commands

:TRIGger:MODE

:TRIGger:USB:SPEed


Introduction to EXTernal Commands
Introduction to EXTernal Trigger Commands

EXTernal Trigger Subsystem

The EXTernal trigger subsystem commands control the input characterisitics 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;IMP ONEM;PROB +1.0E+00;RANG +5.0E+00;UNIT VOLT


:EXTernal:BWLimit

EXTernal Trigger Subsystem

Command	: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	: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:IMPedance

EXTernal Trigger Subsystem

Command	:EXTernal:IMPedance <value>

<value> ::= {ONEMeg} for 54620-series

<value> ::= {ONEMeg | FIFTy} for 54640-series

The :EXTernal:IMPedance command selects the input impedance setting for the external trigger. The legal values for this command are ONEMeg (1 MΩ) and FIFTy (50Ω, 54640-series only).

Query	:EXTernal:IMPedance?

The :EXTernal:IMPedance? query returns the current input impedance setting for the external trigger.

Return format:

<impedence value><NL>

<impedence value> ::= {ONEM} for 54620-series

<impedence value> ::= {ONEM | FIFT} for 54640-series

See Also

Introduction to EXTernal trigger commands

Introduction to Trigger commands

:CHANnel<n>:IMPedance


:EXTernal:INPut

EXTernal Trigger Subsystem

Command	:EXTernal:INPut <impedance>

<impedance> ::= {ONEMeg} for 54620-series

<impedance> ::= {ONEMeg | FIFTy} for 54640-series

The :EXTernal:IMPedance command selects the input impedance setting for the external trigger. The legal values for this command are ONEMeg (1 MΩ) and FIFTy (50Ω, 54640-series only).

Note

The :EXTernal:INPut command is an obsolete command provided for compatibility to previous oscilloscopes. Use the :EXTernal:IMPedance command for the 54620/40-series oscilloscopes.

Query	:EXTernal:INPut?

The :EXTernal:INPut? query returns the current input impedance setting for the external trigger.

Return format:

<impedence value><NL>

<impedence value> ::= {ONEM} for 54620-series

<impedence value> ::= {ONEM | FIFT} for 54640-series

See Also

Introduction to EXTernal trigger commands

Introduction to Trigger commands

:CHANnel<n>:IMPedance


:EXTernal:PMODe

EXTernal Trigger Subsystem

Command	:EXTernal:PMODe <pmode value>

<pmode value> ::= {AUTo | MANual} for for 54621A, 54622A, 54641A, 54642A

<pmode value> ::= {MANual} for all other models

The probe sense mode is controlled internally and cannot be set. If a probe with sense is connected to the specified channel, auto sensing is enabled; otherwise, the mode is manual.

If the pmode sent matches the oscilloscope's setting, the command will be accepted. Otherwise, a setting conflict error is generated.

Note

The :EXTernal:PMODe command is an obsolete command provided for compatibility to previous oscilloscopes.

Query	:CHANnel<n>:PMODe?

The :EXTernal:PMODe? query returns AUT if an autosense probe is attached and MAN otherwise.

Return format:

<pmode value><NL>

<pmode value> ::= {AUT | MAN}


:EXTernal:PROBe

EXTernal Trigger Subsystem

Command	: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 may be 0.1 to 1000. 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	: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:PROTection
:EXTernal:PROTection[:CLEar]

EXTernal Trigger Subsystem

Command	:EXTernal:PROTection[:CLEar]

When the external trigger input impedance is set to 50Ω, the external trigger input is protected against overvoltage. When an overvoltage condition is sensed, the input impedance for the external trigger is automatically changed to 1 MΩ. The :EXTernal:PROTection[:CLEar] command is used to clear (reset) the overload protection. It allows the external trigger to be used again in 50Ω mode after the signal that caused the overload has been removed from the external trigger input. Reset the external trigger input impedance to 50Ω (see :EXTernal:IMPedance) after clearing the overvoltage protection.

Note

This command is only valid for the 54640-series oscilloscopes

Query	:EXTernal:PROTection?

The :EXTernal:PROTection query returns the state of the input protection for external trigger. If the external trigger input has experienced an overload, TRIP (tripped) will be returned; otherwise NORM (normal) is returned.

Return format:

{NORM | TRIP}<NL>

See Also

Introduction to EXTernal trigger commands

:EXTernal:IMPedance

:EXTernal:PROBe


:EXTernal:RANGe

EXTernal Trigger Subsystem

Command	: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. The range can only be set to 5.0 V when using 1:1 probe attenuation. If the probe attenuation is changed, the range value is multiplied by the probe attenuation factor.

Query	: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 = (5.0 V) * (probe attenuation factor)

See Also

Introduction to EXTernal trigger commands

:EXTernal:PROBe

Introduction to Trigger commands


:EXTernal:UNITs

EXTernal Trigger Subsystem

Command	:EXTernal:UNITs <units>

<units> ::= {VOLTs | AMPeres}

The :EXTernal:UNITs command sets the measurement units for the probe connected to the external trigger input. Select VOLTs for a voltage probe and select AMPeres for a current probe. Measurement results, channel sensitivity, and trigger level will reflect the measurement units you select.

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


Introduction to WAVeform Commands

WAVeform Subsystem

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 three 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 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 GPIB 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?.

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 2,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 2000 returns time buckets 0, 1, 2, 3, 4 ,..,1999

:WAVeform:POINts 1000 returns time buckets 0, 2, 4, 6, 8 ,.., 998

:WAVeform:POINts 500 returns time buckets 0, 4, 8, 12, 16 ,.., 996

:WAVeform:POINts 250 returns time buckets 0, 8, 16, 32, 64 ,.., 992

Analog Channel Data

NORMal Data

Normal data consists of the last data point (hit) in each time bucket. This data is transmitted over GPIB 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 2000 unless ACQuire:COUNt has been set to 1.

PEAK Data

Peak detect display mode is used to detect glitches for time base settings of 1 ms/div and slower for 54620-series and 500 us/div and slower for 54640-series. 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/2)-1, where n is the number returned by the :WAVeform:POINts? query. In each time bucket, two values are transmitted, first the maximum, followed by the minimum. 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 max-min 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) * 2ns] + 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 GPIB 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 2000 points will be transferred, and the WORD format was specified, the block header "#800002000" would be sent. The 8 indicates that eight length bytes follow, and 00002000 indicates that 2000 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 GPIB 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 (54621D/22D/41D/42D only)

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) or DIGital8,..,15 (POD2).

Digital Channel 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:

WAV:SOURCE	Bit 7	Bit 6	Bit 5	Bit 4	Bit 3	Bit 2	Bit 1	Bit 0
POD 1	D7	D6	D5	D4	D3	D2	D1	D0
POD 2	D15	D14	D13	D12	D11	D10	D9	D8

If the :WAVeform:FORMat is WORD, every other data byte will be 0. The setting of :WAVeform:BYTeorder controls which byte is 0. For digital channels, :WAVeform:UNSigned must be set to ON.

If a digital channel is not displayed, its bit value in the pod data byte is not defined.

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 MSB;FORM BYTE;POIN +2000;SOUR CHAN1


:WAVeform:BYTeorder

WAVeform Subsystem

Command	:WAVeform:BYTeorder <value>

<value> ::= {LSBFirst | MSBFirst}

The :WAVeform:BYTeorder command sets the output sequence of the WORD data. The parameter MSBFirst sets the most significant byte to be transmitted first. The parameter LSBFirst sets the least significant byte to be transmitted first. This command affects the transmitting sequence only when :WAVEform:FORMat WORD WORD is selected. The default setting is LSBFirst.

Query	: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 Program Code

WAVeform Code

More WAVeform Code


WAVeform:COUNt
:WAVeform:COUNt

WAVeform Subsystem

Query	: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 16383 in <NR1> format

See Also

Introduction to WAVeform commands

:ACQuire:COUNt

:ACQuire:TYPE


:WAVeform:DATA

WAVeform Subsystem

Query	: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 and :WAVeform:FORMat commands. The number of points returned is controlled by the :WAVeform:POINts command.

Return format:

<binary block length bytes>, <binary data> <NL>

See Also

Introduction to WAVeform commands

:WAVeform:BYTeorder

:WAVeform:FORMat

:WAVeform:POINts

:WAVeform:PREamble

:WAVeform:SOURce

:WAVeform:TYPE

Example Program Code

:WAVeform:DATA Code


:WAVeform:FORMat

WAVeform Subsystem

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

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.

ASCII-formatted data is transferred ASCii text.

Query	: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:DATA

:WAVeform:PREamble

Example Program Code

:WAVeform:FORMat Code


:WAVeform:POINts

WAVeform Subsystem

Command	:WAVeform:POINts <# points>

<# points> ::= {100 | 250 | 500 | 1000 | 2000 | MAXimum}

The :WAVeform:POINts command sets the number of waveform points to be transferred with the :WAVeform:DATA? query. The number of time buckets available is returned by the :ACQuire:POINts? query. This value represents the points contained in the waveform selected with the :WAVeform:SOURce command. If MAXimum is specified, the instrument will determine the maximum number of points that can be retrieved and set the points control to that value.

Only data visible on the display will be returned. Data less than one division in width will not be returned ("Settings Conflict" error will be issued).

The maximum number of points returned when the waveform source is math or function is 2000.

Considerations for MAXimum 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 2000 points.

•	:TIMebase:MODE must be set to MAIN.

•	:ACQuire:TYPE must be set to NORMal or AVERage. If AVERage, :ACQuire:COUNt must be set to 1 in order to return more than 2000 points.

•	MAXimum will allow up to 8,000,000 points (digital channels) or 4,000,000 points (analog channels) 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	:WAVeform:POINts? [MAXimum]

The :WAVeform:POINts query returns the number of waveform points to be transferred when using the :WAVeform:DATA? query. If MAXimum is specified, the instrument will determine the maximum number of points that can be retrieved and returns that value.

Return format:

<# points><NL>

<# points> ::= {100 | 250 | 500 | 1000 | 2000 | <maximum # points>}

Note

If a full screen of data is not displayed, the number of points returned will not be 2000 or an even divisor of it.

See Also

Introduction to WAVeform commands

:ACQuire:POINts

:WAVeform:DATA

:WAVeform:VIEW

:WAVeform:PREamble

Example Program Code

:WAVeform:POINts Code


:WAVeform:PREamble

WAVeform Subsystem

Query	: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 32-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 16-bit NR1>

<format> ::= 0 for BYTE format, 1 for WORD format, 2 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

: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 Program Code

:WAVeform:PREamble Code


:WAVeform:SOURce

WAVeform Subsystem

Command	:WAVeform:SOURce <source>

<source> ::= {CHANnel<n> | POD1 | POD2 | FUNCtion | MATH}

<n> ::= {1 | 2 | 3 | 4} for the 54624A

<n> ::= {1 | 2} for all other oscilloscope models

The :WAVeform:SOURce command selects the analog channel, function, or digital pod to be used as the source for the :WAVeform commands.

Function capabilities include add, subtract, multiply; integrate, differentiate, and FFT operations.

Query	:WAVeform:SOURce?

The :WAVeform:SOURce? query returns the currently selected source for the WAVeform commands.

Note

MATH is an alias for FUNCtion. The :WAVeform:SOURce? Query returns FUNC if the source is FUNCtion or MATH.

Return format:

<source><NL>

<source> ::= {CHAN<n> | POD1 | POD2 | FUNC}

See Also

Introduction to WAVeform commands

:DIGitize

:WAVeform:DATA

:WAVeform:PREamble

Example Program Code

:WAVeform:SOURce Code


:WAVeform:TYPE

WAVeform Subsystem

Query	: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 or POD2, the type is always NORM.

See Also

Introduction to WAVeform commands

:ACQuire:TYPE

:WAVeform:DATA

:WAVeform:PREamble

:WAVeform:SOURce


:WAVeform:UNSigned

WAVeform Subsystem

Command	: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 or POD2, WAVeform:UNSigned must be set to ON.

Query	: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:VIEW

WAVeform Subsystem

Command	:WAVeform:VIEW <view>

<view> ::= {MAIN}

The :WAVeform:VIEW command sets the view setting associated with the currently selected waveform. Currently, the only legal value for the view setting is MAIN.

Query	:WAVeform:VIEW?

The :WAVeform:VIEW? query returns the view setting associated with the currently selected waveform.

Return format:

<view><NL>

<view> ::= {MAIN}

See Also

Introduction to WAVeform commands

WAVeform:POINts


:WAVeform:XINCrement

WAVeform Subsystem

Query	: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 32-bit floating point NR3 format

See Also

Introduction to WAVeform commands

:WAVeform:PREamble

Example Program Code

:WAVeform:XINCrement Code


:WAVeform:XORigin

WAVeform Subsystem

Query	: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 Program Code

:WAVeform:XORigin Code


:WAVeform:XREFerence

WAVeform Subsystem

Query	: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 Program Code

:WAVeform:XREFerence Code


:WAVeform:YINCrement

WAVeform Subsystem

Query	: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 Program Code

:WAVeform:YINCrement Code


:WAVeform:YORigin

WAVeform Subsystem

Query	: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 Program Code

:WAVeform:YORigin Code


:WAVeform:YREFerence

WAVeform Subsystem

Query	: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 16-bit NR1 format

See Also

Introduction to WAVeform commands

:WAVeform:PREamble

:WAVeform:YORigin

Example Program Code

:WAVeform:YREFerence Code