Прочитайте строку текста от инструмента и включайте терминатор строки
tline = fgets(obj)
[tline,count] = fgets(obj)
[tline,count,msg] = fgets(obj)
[tline,count,msg,datagramaddress,datagramport]
= fgets(obj)
| Интерфейсный объект. |
| Текст считан из инструмента, включая терминатор строки. |
| Количество чтения значений. |
| Сообщение, указывающее, что операция чтения не завершалась успешно. |
| Дейтаграммный адрес. |
| Дейтаграммный порт. |
tline = fgets(obj)
читает одну строку текста от инструмента, соединенного с obj
, и возвращает данные в tline
. Возвращенные данные включают терминатор строки с текстовой строкой. Чтобы исключить терминатор строки, используйте fgetl
.
[tline,count] = fgets(obj)
возвращает количество чтения значений к count
.
[tline,count,msg] = fgets(obj)
возвращает предупреждающее сообщение в msg
, если операция чтения была неудачна.
[tline,count,msg,datagramaddress,datagramport]
= fgets(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
Используйте fgets
, чтобы передать данные от входного буфера до рабочей области MATLAB® и включать терминатор строки.
idn = fgets(g) idn = TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04 length(idn) ans = 56
Отключите g
от осциллографа и удалите g
из памяти и рабочей области.
fclose(g) delete(g) clear g
Прежде чем можно будет считать текст из инструмента, он должен быть соединен с obj
с функцией fopen
. Связанный интерфейсный объект имеет значение свойства Status
open
. Ошибка возвращена, при попытке выполнить операцию чтения, в то время как obj
не соединяется с инструментом.
Если msg
не включен как выходной аргумент, и операция чтения не была успешна, то предупреждающее сообщение возвращено в командную строку.
Значение свойства ValuesReceived
увеличено количеством чтения значений — включая терминатор строки — каждый раз, когда fgets
выпущен.
Вы не можете использовать значения ASCII, больше, чем 127 символов. Функция ограничивается 127 бинарными символами.
Чтобы получить список опций, можно использовать на функции, нажать клавишу Tab после ввода функции на командной строке MATLAB. Список расширяется, и можно прокрутить, чтобы выбрать свойство или значение. Для получения информации об использовании этой функции завершения вкладки "Дополнительно" смотрите Используя Заполнение клавишей Tab для Функций.
Операция чтения с fgets
блокирует доступ к командной строке MATLAB до
Терминатор строки читается. Для последовательного порта, TCPIP, UDP и последовательных ВИЗОЙ объектов, терминатор строки дан свойством Terminator
. Обратите внимание на то, что для объектов UDP, DatagramTerminateMode
должен быть off
.
Для всех других интерфейсных объектов кроме VISA-RSIB терминатор строки дан свойством EOSCharCode
.
Строка EOI утверждается (только GPIB и инструменты VXI).
Дейтаграмма была получена (объекты UDP, только если DatagramTerminateMode
является on
).
Прошло время, заданное как свойство Timeout.
Входной буфер заполнен.
Вы не можете использовать значения ASCII, больше, чем 127 символов. Функция ограничивается 127 бинарными символами.
Значение свойства EOSCharCode
распознано только, когда свойство EOSMode
сконфигурировано к read
или read&write
. Например, если EOSMode
сконфигурирован к read
, и EOSCharCode
сконфигурирован к LF
, то один из способов, которыми останавливается операция чтения, - когда символ перевода строки получен.
Если EOSMode
является none
или write
, то нет никакого терминатора строки, заданного для операций чтения. В этом случае fgets
завершит выполнение и возвратит управление в командную строку, когда другому критерию, такому как тайм-аут, будут соответствовать.
BytesAvailable
| EOSCharCode
| EOSMode
| InputBufferSize
| Status
| Terminator
| Timeout
| ValuesReceived
| fgetl
| fopen
| instrhelp
| query