Этот пример исследует двоичные операции чтения и записи с объектом VISA с помощью Tektronix® TDS210 осциллограф.
Объект VISA поддерживает семь интерфейсов: последовательный, GPIB, VXI, PXI, USB, последовательный, TCP/IP и сокет. Этот пример исследует двоичные операции чтения и записи с использованием объекта VISA-GPIB. Однако двоичные операции чтения и записи для всех интерфейсов идентичны друг другу. Поэтому можно использовать те же команды. Единственным различием является имя ресурса, заданное в конструкторе VISA visadev
.
Двоичные операции чтения и записи для объекта VISA-Serial идентичны двоичным операциям чтения и записи для объекта последовательного порта. Поэтому, чтобы узнать, как выполнить двоичные операции чтения и записи для объекта VISA-Serial, обратитесь к разделу Запись и чтение данных последовательного порта.
Создайте объект VISA-GPIB с помощью строки ресурса VISA, показанной ниже.
v = visadev("GPIB0::2::INSTR")
v = GPIB with properties: ResourceName: "GPIB0::2::INSTR" Alias: "OSCOPE" Vendor: "TEKTRONIX" Model: "TDS 210" BoardIndex: 0 PrimaryAddress: 1 SecondaryAddress: 0 NumBytesAvailable: 0 Show all properties, functions
Используйте write
функция для записи двоичных данных в инструмент. Следующие команды конфигурируют и затем отправляют синусоиду на инструмент.
writeline(v,"Data:Destination RefB"); writeline(v,"Data:Encdg SRPbinary"); writeline(v,"Data:Width 2"; writeline(v,"Data:Start 1"); t = (0:499) .* 8 * pi / 500; data = round(sin(t) * 90 + 127); writeline(v,"CURVE #3500"); write(v,data,"int16")
The write
функция приостанавливает работу MATLAB® выполнение до тех пор, пока не будут записаны все данные или не произойдет тайм-аут, заданный Timeout
свойство visadev
объект.
По умолчанию в write
функция записывает двоичные данные как uint8
данные. Для получения дополнительной информации об указании других типов данных см. write
.
Примечание
При выполнении операции записи следует думать о передаваемых данных с точки зрения значений, а не байтов. Значение состоит из одного или нескольких байтов. Для примера, один uint32
значение состоит из четырех байтов.
Используйте read
функция для чтения двоичных данных с инструмента. Используйте следующие команды, чтобы считать синусоиду с инструмента.
writeline(v,"Data:Source CH1"); writeline(v,"Data:Encdg SRIbinary"); writeline(v,"Data:Width 2"); writeline(v,"Data:Start 1"); writeline(v,"Curve?") data = read(v,1200,"int16");
The read
функция приостанавливает выполнение MATLAB до тех пор, пока не произойдет одно из следующих событий:
Тайм-аут происходит в соответствии с Timeout
свойство
Входной буфер заполнен
Считалось заданное количество значений
Задана линия EOI
Терминатор строки принимается в соответствии с Terminator
свойство
По умолчанию в read
функция считывает двоичные данные как uint8
данные. Для получения дополнительной информации об указании других типов данных см. read
.
Примечание
При выполнении операции read следует думать о полученных данных с точки зрения значений, а не байтов. Значение состоит из одного или нескольких байтов. Для примера, один uint32
значение состоит из четырех байтов.
Когда вы закончите с объектом VISA-GPIB, очистите его.
clear v