Этот пример исследует двоичные операции чтения и записи с объектом 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