binblockread

Считайте данные бинблока из инструмента

Синтаксис

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. Формат бинблока описан в binblockwrite страницы с описанием.

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

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

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

Примеры

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

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

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

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);

Если возможности отправляют завершающий символ после бинблока, 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 значение свойства увеличивается на количество считанных значений.

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

Примечание

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

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

расширить все

Не рекомендуемый запуск в R2019b

Не рекомендуемый запуск в R2020b

Не рекомендуемый запуск в R2020b

Не рекомендуемый запуск в R2020b

Не рекомендуемый запуск в R2021a

См. также

Функции

Свойства

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