Запись и чтение двоичных данных с помощью VISA

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

См. также

| |

Похожие темы