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