Skip to content

Tektronix TDS 2024B

Tektronix

TDS 2024B

200 MHz, 4-Channel, 2 GS/s Digital Storage Oscilloscope

oscilloscope SCPI
Tektronix TDS2024B 4-channel 200MHz digital oscilloscope front panel
eBay listing photo
Default Address 1
Termination LF
IEEE 488.2 Yes
IDN Patterns
TEKTRONIX,TDS 2024B,*,*TEKTRONIX,TDS2024B,*,*

The TDS 2024B command set closely follows SCPI conventions, though Tektronix documentation describes it as a Tektronix proprietary command set. Commands use the colon-separated hierarchical syntax familiar to SCPI users. The HEAD and VERB commands control response formatting: set HEAD OFF and VERB OFF for machine-parseable output. Query responses return 9.9E37 when a measurement cannot be made (no signal, wrong measurement type for signal shape, etc.). Waveform data from CURV? must be scaled using the WFMP? preamble parameters: voltage = ((raw_value - YOFF) * YMULT) + YZERO.

Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0
UnusedRQS/MSSESBMAVQuestionable DataError QueueUnusedUnused
Not usedRequesting service / Master summary statusEvent status byte summary bitMessage available in output bufferQuestionable data summary bitOne or more errors in error/event queueNot usedNot used

Use *STB? to read status byte, *SRE to set service request enable register

IEEE 488.2 common commands, header/verbose control, error handling, and factory reset

Command Type Description
*IDN? query Identification query -- returns manufacturer, model, serial, firmware
Details
Returns (string) — Comma-separated identification
Example: TEKTRONIX,TDS 2024B,C012345,CF:91.1CT FV:v22.11
*RST command Reset to factory default state
*CLS command Clear status registers and error queue
*ESE {mask} command Set event status enable register
Details
Parameters
  • mask (numeric) — Bitmask 0-255
*ESE? query Query event status enable register
Details
Returns (numeric)
Example: 0
*ESR? query Read and clear event status register
Details
Returns (numeric)
Example: 0
*OPC command Set operation complete bit in ESR when all pending operations finish
*OPC? query Returns 1 when all pending operations complete
Details
Returns (numeric)
Example: 1
*SRE {mask} command Set service request enable register
Details
Parameters
  • mask (numeric) — Bitmask 0-255
*SRE? query Query service request enable register
Details
Returns (numeric)
Example: 0
*STB? query Read status byte register
Details
Returns (numeric) — Status byte value
Example: 0
*TST? query Self-test; returns 0 for pass, non-zero for failure code
Details
Returns (numeric)
Example: 0
Note: Takes several seconds to complete
*TRG command Execute trigger command (Group Execute Trigger)
*LRN? query Returns complete instrument setup as a block of commands that can restore the current state
Details
Returns (string) — Concatenated setup commands
*WAI command Wait for all pending operations to complete before executing next command
HEAD {state} command Enable/disable response headers (command echo in query responses)
Details
Parameters
  • state (enum) Values: ON, OFF
Note: When ON, query responses include the command name (e.g., ':CH1:SCA 1.0'). When OFF, only the value is returned ('1.0'). Set OFF for machine parsing.
HEAD? query Query header state
Details
Returns (numeric)
Example: 1
VERB {state} command Enable/disable verbose response format
Details
Parameters
  • state (enum) Values: ON, OFF
Note: When ON, responses use full keywords (e.g., 'SAMPLE'). When OFF, abbreviated (e.g., 'SAM').
VERB? query Query verbose state
Details
Returns (numeric)
Example: 1
SYST:ERR? query Read and remove one error from the error/event queue
Details
Returns (string) — Error code and message
Example: 0,"No error"
FACT:REST command Restore factory default settings
Details
Note: Resets all scope settings to factory defaults, more thorough than *RST

Control waveform acquisition mode, averaging, and run/stop state

Command Type Description
ACQ:MOD {mode} command Set acquisition mode
Details
Parameters
  • mode (enum) — SAM=sample, AVE=average, PEAK=peak detect, ENV=envelope Values: SAM, AVE, PEAK, ENV
ACQ:MOD? query Query acquisition mode
Details
Returns (string)
Example: SAMPLE
ACQ:NUMAV {count} command Set number of waveforms to average
Details
Parameters
  • count (numeric) — 4, 16, 64, or 128
Note: Only applies when ACQ:MOD is set to AVE
ACQ:NUMAV? query Query number of averages
Details
Returns (numeric)
Example: 16
ACQ:NUME {count} command Set number of envelopes for envelope mode
Details
Parameters
  • count (numeric) — 1 to INFinity
ACQ:STOPA {mode} command Set acquisition stop-after mode
Details
Parameters
  • mode (enum) — SEQ=stop after single sequence, RUNST=run until stopped Values: SEQ, RUNST
ACQ:STOPA? query Query stop-after mode
Details
Returns (string)
Example: RUNSTOP
ACQ:STATE {state} command Start or stop acquisition
Details
Parameters
  • state (enum) — ON/RUN=start acquisition, OFF/STOP=stop acquisition Values: ON, OFF, RUN, STOP
ACQ:STATE? query Query acquisition state (1=running, 0=stopped)
Details
Returns (numeric)
Example: 1

Configure vertical channel parameters for channels 1-4

Command Type Description
CH{n}:SCA {scale} command Set channel vertical scale (volts per division)
Details
Parameters
  • n (numeric) — Channel number 1-4
  • scale (numeric) — Volts per division (2mV to 5V with 1x probe)
Example CH1:SCA 1.0
CH{n}:SCA? query Query channel vertical scale
Details
Returns (numeric)
Example: 1.0E+0
CH{n}:POS {position} command Set channel vertical position in divisions from center
Details
Parameters
  • n (numeric) — Channel number 1-4
  • position (numeric) — Vertical position in divisions
CH{n}:POS? query Query channel vertical position
Details
Returns (numeric)
Example: 0.0E+0
CH{n}:COUP {coupling} command Set channel input coupling
Details
Parameters
  • n (numeric) — Channel number 1-4
  • coupling (enum) — AC=AC coupled, DC=DC coupled, GND=ground reference Values: AC, DC, GND
CH{n}:COUP? query Query channel coupling
Details
Returns (string)
Example: DC
CH{n}:BWL {bandwidth} command Set channel bandwidth limit
Details
Parameters
  • n (numeric) — Channel number 1-4
  • bandwidth (enum) — ON=20 MHz bandwidth limit enabled, OFF=full 200 MHz bandwidth Values: ON, OFF
Example CH1:BWL ON
CH{n}:BWL? query Query channel bandwidth limit state
Details
Returns (string)
Example: OFF
CH{n}:PROB {attenuation} command Set probe attenuation factor
Details
Parameters
  • n (numeric) — Channel number 1-4
  • attenuation (numeric) — 1, 10, 100, or 1000
CH{n}:PROB? query Query probe attenuation factor
Details
Returns (numeric)
Example: 1.0E+1
CH{n}:YUNIT {unit} command Set vertical axis units string
Details
Parameters
  • n (numeric) — Channel number 1-4
  • unit (string) — Units string, e.g. "V", "A"
SEL:CH{n} {state} command Turn channel display on or off
Details
Parameters
  • n (numeric) — Channel number 1-4
  • state (enum) Values: ON, OFF
SEL:CH{n}? query Query channel display state
Details
Returns (numeric)
Example: 1

Horizontal timebase scale, position, and record length controls

Command Type Description
HOR:MAI:SCA {scale} command Set horizontal scale (seconds per division)
Details
Parameters
  • scale (numeric) — Seconds per division (5ns to 50s)
Example HOR:MAI:SCA 1e-3
HOR:MAI:SCA? query Query horizontal scale
Details
Returns (numeric)
Example: 1.0E-3
HOR:MAI:POS {position} command Set horizontal trigger position (percentage from left edge)
Details
Parameters
  • position (numeric) — Trigger position as percentage (0 to 100)
Note: 0% = left edge, 50% = center (default)
HOR:MAI:POS? query Query horizontal position
Details
Returns (numeric)
Example: 5.0E+1
HOR:REC {length} command Set record length
Details
Parameters
  • length (enum) — Number of sample points per record Values: 500, 2500
HOR:REC? query Query record length
Details
Returns (numeric)
Example: 2500
HOR:DEL:STATE {state} command Enable/disable delayed sweep (Window/Zoom)
Details
Parameters
  • state (enum) Values: ON, OFF
HOR:DEL:STATE? query Query delayed sweep state
Details
Returns (numeric)
Example: 0
HOR:DEL:SCA {scale} command Set delayed timebase scale
Details
Parameters
  • scale (numeric) — Seconds per division for delayed sweep
HOR:DEL:POS {position} command Set delayed timebase position
Details
Parameters
  • position (numeric) — Delayed sweep position in seconds

Trigger system configuration for edge, video, and pulse width triggers

Command Type Description
TRIG:MAI:TYP {type} command Set trigger type
Details
Parameters
  • type (enum) — EDGE=edge trigger, VIDEO=video trigger, PULS=pulse width trigger Values: EDGE, VIDEO, PULS
TRIG:MAI:TYP? query Query trigger type
Details
Returns (string)
Example: EDGE
TRIG:MAI:LEV {level} command Set trigger level in volts
Details
Parameters
  • level (numeric) — Trigger level in volts
Example TRIG:MAI:LEV 1.5
TRIG:MAI:LEV? query Query trigger level
Details
Returns (numeric)
Example: 1.5E+0
TRIG:MAI:EDGE:SOU {source} command Set edge trigger source
Details
Parameters
  • source (enum) — CH1-CH4=input channels, EXT=external BNC, EXT5=ext/5, LINE=AC line Values: CH1, CH2, CH3, CH4, EXT, EXT5, LINE
TRIG:MAI:EDGE:SOU? query Query edge trigger source
Details
Returns (string)
Example: CH1
TRIG:MAI:EDGE:SLOP {slope} command Set edge trigger slope
Details
Parameters
  • slope (enum) — RISE=rising edge, FALL=falling edge Values: RISE, FALL
TRIG:MAI:EDGE:SLOP? query Query edge trigger slope
Details
Returns (string)
Example: RISE
TRIG:MAI:EDGE:COUP {coupling} command Set trigger coupling
Details
Parameters
  • coupling (enum) — AC, DC, high-frequency reject, low-frequency reject, noise reject Values: AC, DC, HFR, LFR, NOISE
TRIG:MAI:EDGE:COUP? query Query trigger coupling
Details
Returns (string)
Example: DC
TRIG:MAI:MOD {mode} command Set trigger mode
Details
Parameters
  • mode (enum) — AUTO=auto-trigger if no event, NORM=wait for trigger event Values: AUTO, NORM
TRIG:MAI:MOD? query Query trigger mode
Details
Returns (string)
Example: AUTO
TRIG FORC command Force a trigger event regardless of signal conditions

Automatic waveform measurements (immediate and display slots 1-5)

Command Type Description
MEASU:IMM:TYP {type} command Set immediate measurement type
Details
Parameters
  • type (enum) — FREQ=frequency, MEAN=mean, PK2=peak-to-peak, CRM=RMS, MINI=minimum, MAXI=maximum, RISE=rise time, FALL=fall time, PER=period, PWI=positive width, NWI=negative width, PDU=positive duty cycle, NDU=negative duty cycle Values: FREQ, MEAN, PK2, CRM, MINI, MAXI, RISE, FALL, PER, PWI, NWI, PDU, NDU, NONE
MEASU:IMM:TYP? query Query immediate measurement type
Details
Returns (string)
Example: FREQUENCY
MEASU:IMM:SOU {source} command Set immediate measurement source channel
Details
Parameters
  • source (enum) Values: CH1, CH2, CH3, CH4
MEASU:IMM:SOU? query Query immediate measurement source
Details
Returns (string)
Example: CH1
MEASU:IMM:VAL? query Execute and return the immediate measurement result
Details
Returns (numeric) — Measurement value in appropriate units
Example: 1.0E+3
Note: Returns 9.9E37 if measurement cannot be made (no signal, wrong type for signal shape, etc.)
MEASU:MEAS{n}:TYP {type} command Set display measurement slot type
Details
Parameters
  • n (numeric) — Measurement slot 1-5
  • type (enum) Values: FREQ, MEAN, PK2, CRM, MINI, MAXI, RISE, FALL, PER, PWI, NWI, PDU, NDU, NONE
MEASU:MEAS{n}:SOU {source} command Set display measurement slot source channel
Details
Parameters
  • n (numeric) — Measurement slot 1-5
  • source (enum) Values: CH1, CH2, CH3, CH4
MEASU:MEAS{n}:VAL? query Query display measurement slot value
Details
Returns (numeric)
Example: 1.0E+3
Note: Returns 9.9E37 if measurement cannot be made

Cursor measurement controls for manual on-screen voltage and time measurements

Command Type Description
CURS:FUNC {function} command Set cursor function mode
Details
Parameters
  • function (enum) — OFF=disabled, HBA=horizontal bars (voltage), VBA=vertical bars (time), WAV=waveform cursors Values: OFF, HBA, VBA, WAV
CURS:FUNC? query Query cursor function mode
Details
Returns (string)
Example: OFF
CURS:HBA:POS1 {position} command Set horizontal bar cursor 1 position (voltage level)
Details
Parameters
  • position (numeric) — Voltage level in waveform units
CURS:HBA:POS1? query Query horizontal bar cursor 1 position
Details
Returns (numeric)
Example: 1.0E+0
CURS:HBA:POS2 {position} command Set horizontal bar cursor 2 position (voltage level)
Details
Parameters
  • position (numeric) — Voltage level in waveform units
CURS:HBA:POS2? query Query horizontal bar cursor 2 position
Details
Returns (numeric)
Example: -1.0E+0
CURS:HBA:DELT? query Query delta between horizontal bar cursors
Details
Returns (numeric) — Voltage difference
Example: 2.0E+0
CURS:VBA:POS1 {position} command Set vertical bar cursor 1 position (time)
Details
Parameters
  • position (numeric) — Time in seconds
CURS:VBA:POS1? query Query vertical bar cursor 1 position
Details
Returns (numeric)
Example: -1.0E-3
CURS:VBA:POS2 {position} command Set vertical bar cursor 2 position (time)
Details
Parameters
  • position (numeric) — Time in seconds
CURS:VBA:POS2? query Query vertical bar cursor 2 position
Details
Returns (numeric)
Example: 1.0E-3
CURS:VBA:DELT? query Query delta between vertical bar cursors
Details
Returns (numeric) — Time difference in seconds
Example: 2.0E-3

Transfer waveform data and scaling parameters from the oscilloscope

Command Type Description
DAT:SOU {source} command Set waveform data source for transfer
Details
Parameters
  • source (enum) — Source channel for waveform transfer Values: CH1, CH2, CH3, CH4, MATH, REF1, REF2, REF3, REF4
DAT:SOU? query Query waveform data source
Details
Returns (string)
Example: CH1
DAT:ENC {encoding} command Set waveform data encoding format
Details
Parameters
  • encoding (enum) — ASCI=ASCII, RIBI=signed big-endian binary, RPBI=unsigned big-endian binary, SRIB=signed little-endian, SRPB=unsigned little-endian Values: ASCI, RIBI, RPBI, SRIB, SRPB
Note: ASCI is easiest for GPIB parsing; binary formats are faster for large transfers
DAT:ENC? query Query waveform encoding
Details
Returns (string)
Example: RIBINARY
DAT:WID {width} command Set bytes per data point
Details
Parameters
  • width (enum) — 1=8-bit, 2=16-bit Values: 1, 2
DAT:WID? query Query data width
Details
Returns (numeric)
Example: 1
DAT:STAR {point} command Set first data point to transfer
Details
Parameters
  • point (numeric) — Starting point number (1-based)
DAT:STOP {point} command Set last data point to transfer
Details
Parameters
  • point (numeric) — Ending point number (up to record length)
WAVF? query Transfer waveform preamble and data together in a single response
Details
Returns (string) — Combined preamble and waveform data
Note: Returns both scaling parameters and curve data in one query, reducing bus transactions
CURV? query Transfer waveform data from the selected source
Details
Returns (string) — Waveform data in selected encoding format
Note: Use WFMP? preamble to interpret the raw data values
WFMP? query Query waveform preamble (scaling parameters needed to convert raw data to engineering units)
Details
Returns (string) — Semicolon-separated parameters including YMULT, YOFF, YZERO, XINCR, XZERO, PT_OFF
Note: voltage = ((data_value - YOFF) * YMULT) + YZERO; time = (point_number - PT_OFF) * XINCR + XZERO
WFMP:YMUL? query Query Y-axis scale factor (volts per digitizer level)
Details
Returns (numeric)
Example: 4.0E-2
WFMP:YOF? query Query Y-axis offset (in digitizer levels)
Details
Returns (numeric)
Example: 0.0E+0
WFMP:YZE? query Query Y-axis zero (volts)
Details
Returns (numeric)
Example: 0.0E+0
WFMP:XIN? query Query X-axis increment (seconds per point)
Details
Returns (numeric)
Example: 4.0E-6
WFMP:XZE? query Query X-axis zero (seconds)
Details
Returns (numeric)
Example: -5.0E-3
WFMP:PT_O? query Query trigger point offset within record
Details
Returns (numeric)
Example: 0
WFMP:NR_P? query Query number of points in the waveform record
Details
Returns (numeric)
Example: 2500

Display format, persistence, and contrast controls

Command Type Description
DISP:FORM {format} command Set display format
Details
Parameters
  • format (enum) — YT=voltage vs time, XY=CH1 vs CH2 plot Values: YT, XY
DISP:FORM? query Query display format
Details
Returns (string)
Example: YT
DISP:PERS {persistence} command Set waveform persistence
Details
Parameters
  • persistence (enum) — OFF=normal, INF=infinite, 1/2/5=seconds Values: OFF, INF, 1, 2, 5
DISP:PERS? query Query persistence setting
Details
Returns (string)
Example: OFF
DISP:CONTRAST {level} command Set display contrast level
Details
Parameters
  • level (numeric) — Contrast level 1 to 100
DISP:CONTRAST? query Query display contrast
Details
Returns (numeric)
Example: 50

Configure a channel, acquire a triggered waveform, and read it back via GPIB

1

Reset to known state

*RST
2

Clear status registers

*CLS
3

Disable response headers for clean parsing

HEAD OFF
4

Enable channel 1

SEL:CH1 ON
5

Set channel 1 coupling to DC

CH1:COUP DC
6

Set channel 1 scale to 1V/div

CH1:SCA 1.0
7

Set channel 1 probe attenuation

CH1:PROB 10
8

Set horizontal scale to 1ms/div

HOR:MAI:SCA 1e-3
9

Set record length to 2500 points

HOR:REC 2500
10

Set trigger source to CH1, rising edge

TRIG:MAI:EDGE:SOU CH1
11

Set trigger slope to rising

TRIG:MAI:EDGE:SLOP RISE
12

Set trigger level to 1V

TRIG:MAI:LEV 1.0
13

Set single sequence acquisition

ACQ:STOPA SEQ
14

Start acquisition

ACQ:STATE RUN
15

Wait for acquisition to complete

*OPC?
Expected: 1
16

Select waveform source

DAT:SOU CH1
17

Set ASCII encoding for easy parsing

DAT:ENC ASCI
18

Set 2-byte width for full precision

DAT:WID 2
19

Read waveform preamble for scaling

WFMP?
20

Transfer waveform data

CURV?
Expected: Comma-separated integer values

Measure frequency and amplitude of a signal on channel 1 using immediate measurements

1

Reset to known state

*RST
2

Disable headers for machine parsing

HEAD OFF
3

Set channel 1 coupling to DC

CH1:COUP DC
4

Set channel 1 scale to 1V/div

CH1:SCA 1.0
5

Set trigger source to CH1

TRIG:MAI:EDGE:SOU CH1
6

Set trigger mode to auto

TRIG:MAI:MOD AUTO
7

Set immediate measurement source to CH1

MEASU:IMM:SOU CH1
8

Set measurement type to frequency

MEASU:IMM:TYP FREQ
9

Read frequency measurement

MEASU:IMM:VAL?
Expected: Frequency in Hz (e.g., 1.0E+3 for 1 kHz)
10

Switch to peak-to-peak measurement

MEASU:IMM:TYP PK2
11

Read peak-to-peak voltage

MEASU:IMM:VAL?
Expected: Peak-to-peak voltage in volts
12

Switch to RMS measurement

MEASU:IMM:TYP CRM
13

Read RMS voltage

MEASU:IMM:VAL?
Expected: RMS voltage in volts

Transfer full waveform data with scaling parameters for post-processing

1

Disable headers and verbose for compact responses

HEAD OFF
2

Disable verbose mode

VERB OFF
3

Select waveform source channel

DAT:SOU CH1
4

Set ASCII encoding for easy parsing

DAT:ENC ASCI
5

Set 2-byte width for best resolution

DAT:WID 2
6

Set start point to beginning of record

DAT:STAR 1
7

Set stop point to end of record

DAT:STOP 2500
8

Query Y-axis multiplier

WFMP:YMUL?
Expected: Volts per level (e.g., 4.0E-2)
9

Query Y-axis offset

WFMP:YOF?
Expected: Offset in digitizer levels
10

Query Y-axis zero

WFMP:YZE?
Expected: Voltage offset
11

Query X-axis increment

WFMP:XIN?
Expected: Seconds per point
12

Query X-axis zero

WFMP:XZE?
Expected: Time offset in seconds
13

Transfer waveform data

CURV?
Expected: Comma-separated integer sample values
14

Convert to engineering units

Manual step
voltage[i] = ((sample[i] - YOFF) * YMULT) + YZERO; time[i] = (i - PT_OFF) * XINCR + XZERO