В этом примере показано, как сконфигурировать возможность 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