Считывание строки текста с прибора и включение терминатора
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. Список расширяется, и можно выполнить прокрутку для выбора свойства или значения. Сведения об использовании этой расширенной функции завершения вкладки см. в разделе Использование функции завершения вкладки для функций.
Операция чтения с fgets блокирует доступ к командной строке MATLAB до
Терминатор считывается. Для последовательного порта, TCPIP, UDP и последовательных объектов VISA терминатор задается 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