В этом примере показано, как сконфигурировать осциллограф Tektronix TDS 1002 и считать форму волны из осциллографа с помощью осциллографа определенные команды SCPI.
Соедините осциллограф Tektronix TDS 1002 со своим компьютером. На осциллографе нажмите кнопку Utility, затем выберите Options, сопровождаемый RS232 Setup. Установите следующую настройку:
Строка EOL к "CR/LF"
Бод к 9 600
Управление потоками ни к Одному
Четность ни к одному
Соединитесь с осциллографом с помощью serialport
функция. Задайте порт, что ваш осциллограф соединяется с на вашем компьютере. В этом примере портом является "COM1"
. Установите BaudRate
к 9 600, чтобы совпадать с тем, что вы устанавливаете на осциллографе.
s = serialport("COM1",9600)
s = Serialport with properties: Port: "COM1" BaudRate: 9600 NumBytesAvailable: 0 Show all properties, all methods
Установите Terminator
свойство для serialport
объект с помощью configureTerminator
. 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