exponenta event banner

fgetl

Считывание строки текста с прибора и отбрасывание терминатора

Синтаксис

tline = fgetl(obj)
[tline,count] = fgetl(obj)
[tline,count,msg] = fgetl(obj)
[tline,count,msg,datagramaddress,datagramport] = fgetl(obj)

Аргументы

obj

Объект интерфейса.

tline

Текст, считываемый из инструмента, за исключением терминатора.

count

Число считанных значений, включая признак конца.

msg

Сообщение, указывающее, не удалась ли операция чтения.

datagramaddress

Адрес дейтаграммы.

datagramport

Порт дейтаграммы.

Описание

tline = fgetl(obj) считывает одну строку текста из прибора, подключенного к objи возвращает данные в tline. Возвращенные данные не включают признак конца с текстовой строкой. Чтобы включить терминатор, используйте fgets.

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

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

[tline,count,msg,datagramaddress,datagramport] = fgetl(obj) возвращает удаленный адрес и порт, из которого была создана дейтаграмма. Эти значения возвращаются только в том случае, если obj является объектом UDP.

Примеры

Создание объекта GPIB g, подключить g для осциллографа Tektronix ® TDS 210 настройте g для завершения операций чтения при чтении символа конца строки и записи *IDN? с помощью команды fprintf функция. *IDN? предписывает области вернуть идентификационную информацию.

g = gpib('ni',0,1);
fopen(g)
g.EOSMode = 'read';
fprintf(g,'*IDN?')

Асинхронное считывание идентификационной информации с прибора.

readasync(g)
g.BytesAvailable
ans =
    56

Использовать fgetl для переноса данных из входного буфера в рабочую область MATLAB ® и удаления терминатора.

idn = fgetl(g)
idn =
TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04

length(idn)
ans =
    55

Разъединить g из области и удалить g из памяти и рабочей области.

fclose(g)
delete(g)
clear g

Совет

Перед прочтением текста с прибора его необходимо подключить к obj с fopen функция. Подключенный объект интерфейса имеет Status значение свойства open. При попытке выполнить операцию чтения во время obj не подключен к прибору.

Если msg не включен в качестве выходного аргумента, и операция чтения не была выполнена, после чего в командную строку возвращается предупреждающее сообщение.

ValuesReceived значение свойства увеличивается на количество считываемых значений, включая признак конца, каждый раз fgetl выдается.

Примечание

Нельзя использовать значения ASCII длиной более 127 символов. Функция ограничена 127 двоичными символами.

Примечание

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

Правила выполнения операции чтения с помощью fgetl

Операция чтения с fgetl блокирует доступ к командному окну MATLAB до

  • Терминатор считывается. Для последовательного порта, TCPIP, UDP и последовательных объектов VISA терминатор задается Terminator собственность. Обратите внимание, что для объектов UDP DatagramTerminateMode должно быть off.

    Для всех других объектов интерфейса, кроме VISA-RSIB, терминатор задается EOSCharCode собственность.

  • Устанавливается линия EOI (только приборы GPIB и VXI).

  • Получена датаграмма (UDP-объекты только в том случае, если DatagramTerminateMode является on).

  • Время, указанное Timeout проходит свойство.

  • Входной буфер заполнен.

Примечание

Нельзя использовать значения ASCII длиной более 127 символов. Функция ограничена 127 двоичными символами.

Подробнее о терминаторе GPIB и VXI

EOSCharCode значение свойства распознается только тогда, когда EOSMode свойство настроено на read или read&write. Например, если EOSMode настроен на read и EOSCharCode настроен на LF, то один из способов завершения операции считывания заключается в получении символа подачи строки.

Если EOSMode является none или write, то не определен признак конца для операций чтения. В этом случае fgetl завершит выполнение и вернет управление в командную строку при выполнении другого критерия, такого как тайм-аут.

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

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

Не рекомендуется начинать с R2019b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2020b

Не рекомендуется начинать с R2021a

См. также

Функции

Свойства

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