exponenta event banner

binblockread

Считывание данных binblock с прибора

Синтаксис

A = binblockread(obj)
A = binblockread(obj,'precision')
[A,count] = binblockread(...)
[A,count,msg] = binblockread(...)

Аргументы

obj

Объект интерфейса.

'precision'

Число битов, считанных для каждого значения, и интерпретация битов как символьных, целых или плавающих значений.

A

Данные Binblock, возвращенные из прибора.

count

Число прочитанных значений.

msg

Сообщение, указывающее, не удалась ли операция чтения.

Описание

A = binblockread(obj) считывает данные двоичного блока (binblock) из прибора, подключенного к obj и возвращает значения в A. Формат binblock описан в binblockwrite справочные страницы.

A = binblockread(obj,'precision') считывает данные binblock, преобразуя значения MATLAB ® в точность, заданную precision. По умолчанию uchar используется точность, а числовые значения возвращаются в массивах двойной точности. См. раздел fread для списка поддерживаемых уточнений.

[A,count] = binblockread(...) возвращает число значений, считанных с count.

[A,count,msg] = binblockread(...) возвращает предупреждающее сообщение msg если операция чтения не была успешно завершена.

Примеры

Создание объекта GPIB g связан с контроллером GPIB National Instruments ® с индексом платы 0 и осциллографом Tektronix ® TDS 210 с основным адресом 2.

g = gpib('ni',0,2);
g.InputBufferSize = 3000;

Соединиться g в прибор и записывать строковые команды, которые конфигурируют область для передачи данных двоичной формы сигнала из ячейки памяти A.

fopen(g)
fprintf(g,'DATA:DESTINATION REFA');
fprintf(g,'DATA:ENCDG SRPbinary');
fprintf(g,'DATA:WIDTH 1');
fprintf(g,'DATA:START 1');

Напишите CURVE? , которая подготавливает область для передачи данных и считывает данные с использованием формата binblock.

fprintf(g,'CURVE?')
data = binblockread(g);

Если область отправляет завершающий символ после binblock, binblockread не читает завершающий символ. Прочитать с помощью fread. В этом примере: count - количество байтов завершающего символа, которое может быть 1 или 2.

if g.BytesAvailable == count
   fread(g,count,'uint8');
end

Совет

Перед считыванием данных из прибора его необходимо подключить к obj с fopen функция. Подключенный объект интерфейса имеет Status значение свойства open. При попытке выполнить операцию чтения во время obj не подключен к прибору.

binblockread блокирует окно команд MATLAB, пока не произойдет одно из следующих действий:

  • Данные считываются полностью.

  • Время, указанное Timeout проходит свойство.

Если msg не включен в качестве выходного аргумента, и операция чтения не была выполнена, после чего в командную строку возвращается предупреждающее сообщение.

Каждый раз, когда выдается binblockread, ValuesReceived значение свойства увеличивается на число считанных значений.

Некоторые инструменты могут посылать завершающий символ после binblock. binblockread не считывает завершающий символ. Вы можете прочитать завершающий символ с помощью fread функция. Дополнительно, если obj является объектом GPIB, VISA-GPIB, VISA-VXI, VISA-USB или VISA-RSIB, вы можете использовать clrdevice для удаления завершающего символа.

Примечание

Чтобы получить список опций, которые можно использовать для функции, нажмите клавишу Tab после ввода функции в командной строке MATLAB. Список расширяется, и можно выполнить прокрутку для выбора свойства или значения. Сведения об использовании этой расширенной функции завершения вкладки см. в разделе Использование функции завершения вкладки для функций.

Вопросы совместимости

развернуть все

Не рекомендуется начинать с R2019b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2021a

См. также

Функции

Свойства

Представлен до R2006a