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