(Чтобы быть удаленным) Рид binblock данные из инструмента
Этот serial
, Bluetooth
, tcpip
, udp
, visa
, и gpib
объектная функция будет удалена в будущем релизе. Использование serialport
, bluetooth
, tcpclient
, tcpserver
, udpport
, и visadev
возразите функциям вместо этого. Для получения дополнительной информации см. Вопросы совместимости.
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
сопоставленный с National 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 для Функций.