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 сопоставленный с Национальным контроллером Instruments® GPIB с параметром плат 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. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.

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

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

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

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

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

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

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

Смотрите также

Функции

Свойства

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