В этом примере показано, как сконфигурировать область TDS 1002 Tektronix и считывать форму сигнала из области с помощью команд SCPI, специфичных для области.
Подключите область TDS 1002 Tektronix к компьютеру. В области нажмите кнопку Utility, затем выберите Options, а затем RS232 Setup. Установите следующую конфигурацию:
Строка EOL в «CR/LF»
Бод до 9600
Управление потоком к отсутствию
Четность - нет
Подключиться к области с помощью 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. 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