Чтение формы волны из возможности TDS 1002 Tektronix с использованием команд SCPI

В этом примере показано, как сконфигурировать возможность TDS 1002 Tektronix и считать форму волны из возможностей, используя специальные команды SCPI возможностей.

Подключение к возможностям

Подключите возможность Tektronix TDS 1002 к компьютеру. В возможности нажмите кнопку Utility, затем выберите опции, далее RS232 Setup. Установите следующее строение:

  • Строка EOL в «CR/LF»

  • От БО до 9600

  • Управление потоком в None

  • Четность к отсутствию

Подключиться к возможностям с помощью serialport функция. Укажите порт, к которому подключена область возможностей на компьютере. В этом примере порт "COM1". Установите BaudRate 9600, чтобы соответствовать тому, что вы установили на возможностях.

s = serialport("COM1",9600)
s = 
  Serialport with properties:

                 Port: "COM1"
             BaudRate: 9600
    NumBytesAvailable: 0

  Show all properties, all methods

Сконфигурируйте терминатор

Установите Terminator свойство для serialport объект, использующий configureTerminator. The Terminator свойство соответствует строке EOL области возможностей.

configureTerminator(s,"CR/LF")
terminator = s.Terminator
terminator = 1×1 string
"CR/LF"

Запрос возможностей с помощью новой Terminator значение с помощью команды SCPI "*IDN?" в writeread. Если ваши возможности связаны и Terminator настроен правильно, затем возвращается строка, которая однозначно идентифицирует возможности.

scopeID = writeread(s,"*IDN?")
scopeID = 1×1 string
"TEKTRONIX,TDS 1002,0,CF:91.1CT FV:v2.12 TDS2CM:CMV:v1.04"

Сконфигурируйте канал

Сконфигурируйте 1-й канал возможностей помощью writeline. Запишите команды SCPI как ASCII, строку данные в serialport объект. Затем подтвердите, что канал 1 установлен в качестве источника, используя writeread.

writeline(s,"HEADER OFF")
writeline(s,"DATA:SOURCE CH1")
scopeSource = writeread(s,"DATA:SOURCE?")
scopeSource = 1×1 string
"CH1"

Установите метод кодирования данных формы волны на Самый значительный бит (MSB), переданный первым, используя writeline. Подтвердите метод кодирования с помощью writeread.

writeline(s,"DATA:ENCDG RIBINARY");
scopeEncodingMethod = writeread(s,"DATA:ENCDG?")
scopeEncodingMethod = 1×1 string
"RIB"

Получение информации о форме волны

Получите настройки передачи и форматирования формы волны.

scopeWaveformPreamble = writeread(s,"WFMpre?")
scopeWaveformPreamble = 1×1 string
"1;8;BIN;RI;MSB;2500;"Ch1, DC coupling, 2.0E0 V/div, 5.0E-4 s/div, 2500 points, Sample mode";Y;2.0E-6;0;-2.5E-3;"s";8.0E-2;0.0E0;0.0E0;"Volts""

Получите число точек в форме волны.

scopeNumPoints = writeread(s,"WFMpre:NR_Pt?")
scopeNumPoints = 1×1 string
"2500"

Чтение и построение графика формы волны

Получите данные формы волны из возможностей в MATLAB с помощью "CURVE?" Команда и чтение формы волны назад в MATLAB с помощью readbinblock.

writeline(s,"CURVE?")
scopeWaveform = readbinblock(s,"int16");

Постройте график формы волны.

plot(scopeWaveform)

Очистить соединение

Когда вы закончите работать с возможностями, очистите serialport объект.

clear s