Skip to main content
1 of 5
Jim Fischer
  • 3.1k
  • 12
  • 15

I've never used this particular oscilloscope, but I'll give it a go. Note that you'll need to figure out how to incorporate the command sequence I've recommended below into whichever data acquisition software package you're using (LabVIEW, MATLAB, VEE, etc.).

Start by resetting the oscilloscope's controls and settings to their "factory setup defaults" (see also appendix B "Factory Setup" in the TBS1000 Programmer manual [hint: search for "tbs1000 programmer manual" on tek.com]). This is done by issuing the SCPI "*RST" command:

*RST

Display channel 1, AND turn OFF channel 2:

SELECT:CH1 ON;CH2 OFF

Configure the horizontal, vertical, triggering controls, etc. as desired--e.g., horizontal time/div = 1ms/div; channel 1 volts/div = 1V/div:

HORIZONTAL:MAIN:SCALE 1E-3
CH1:SCALE 1

Configure the oscilloscope to acquire a single waveform when the oscilloscope detects that the triggering conditions are met:

ACQUIRE:STATE STOP
ACQUIRE:STOPAFTER SEQUENCE

Acquire a single waveform ("run once"):

ACQUIRE:STATE RUN

Wait for the data acquisition to complete. This is done by issuing the SCPI query "*OPC?" (operation complete?). As stated in the oscilloscope's Programmer manual, "[t]he *OPC? response is not available to read until all pending operations finish", meaning the *OPC? invocation blocks until the oscilloscope finishes the data acquisition task.

*OPC?

In the WAVEFORM commands group, use the CURVE? query to transfer Channel 1's waveform data from the oscilloscope to your computer:

DATA:SOURCE CH1
CURVE?

Note that the "CURVE?" query returns a stream of bytes that is typically stored in a buffer that your program creates for this purpose (e.g., a character array, or a byte array). Your program then parses the desired information from the stored data in the buffer. Exactly how this is done depends entirely upon the programming language and instrument I/O libraries you're using—e.g., LabVIEW, MATLAB, VEE, etc.—and is left as an exercise for the reader.

Jim Fischer
  • 3.1k
  • 12
  • 15