Считайте данные бинблока из инструмента
A = binblockread(obj)
A = binblockread(obj,'precision')
[A,count] = binblockread(...)
[A,count,msg] = binblockread(...)
| Объект интерфейса. |
| Количество бит, считанных для каждого значения, и интерпретация бит как символов, целого числа или значений с плавающей точкой. |
| Данные binblock, возвращенные с инструмента. |
| Количество считанных значений. |
| Сообщение, указывающее, была ли операция чтения неудачной. |
A = binblockread(obj) считывает данные двоичного блока (binblock) из инструмента, подключенного к obj и возвращает значения в A. Формат бинблока описан в binblockwrite страницы с описанием.
A = binblockread(obj,' считывает данные бинблока, преобразовывая MATLAB® значения к точности, заданной precision')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 для функций.