Связь с вашим инструментом включает запись и чтение данных. Например, вы можете записать текстовую команду в функциональный преобразователь, который запрашивает его напряжение от пика к пику, и затем считайте назад значение напряжения как массив с двойной точностью.
Прежде, чем выполнить запись или операцию чтения, рассмотрите следующее:
Instrument Control Toolbox™ автоматически управляет данными, переданными между MATLAB® рабочая область и инструмент. Для многих распространенных приложений можно проигнорировать процесс буферизации и потока данных. Однако, если вы передаете большое количество значений или отлаживаете ваше приложение, вы можете должны быть знать, как этот процесс работает.
Для многих инструментов, пишущий текстовые данные означает писать команды строки, которые изменяют инструментальные настройки, готовят инструмент, чтобы возвратить данные или информацию о статусе и так далее. Можно использовать writeline функционируйте, чтобы записать текстовые данные, и значение терминатора строки записи автоматически добавлено к записанным данным.
Запись двоичных данных означает писать численные значения в инструмент, такие как данные о форме волны или калибровка. Можно использовать write функционируйте, чтобы записать числовой или текстовые данные.
Можно также записать двоичные данные как блок значений. Используйте writebinblock функционируйте, чтобы записать binblock данных.
Операции чтения в Instrument Control Toolbox синхронны. Синхронная операция блокирует доступ к командной строке, пока операция чтения не завершает выполнение.
Когда вы вызываете read, функция приостанавливает выполнение MATLAB, пока конкретное количество значений не читается, или тайм-аут происходит.
Когда вы вызываете readline, функция приостанавливает выполнение MATLAB, пока терминатор строки не читается, или тайм-аут происходит.
Когда вы вызываете readbinblock, функция приостанавливает выполнение MATLAB, пока количество значений, заданных в binblock, не читается, или тайм-аут происходит.
Функции, связанные с Записью данных
| FunctionName | Описание |
|---|---|
write | Запишите двоичные данные в инструмент |
writeline | Запишите линию данных о ASCII к инструменту |
writebinblock | Запишите один binblock данных к инструменту |
writeread | Запишите команду и считайте ответ |
Примечание
writebinblock функция не доступна для udpport интерфейс. writeread функция не доступна для tcpserver и udpport интерфейсы.
Свойства, связанные с Записью данных
| PropertyName | Описание |
|---|---|
Timeout | Допустимое время, чтобы завершить запись и операции чтения |
Terminator | Символ Терминатора для записи и чтения текстовых данных |
NumBytesWritten | Общее количество записанных байтов |
Можно изменить значение Timeout использование записи через точку и Terminator использование configureTerminator функция. NumBytesWritten свойство только для чтения.
Для многих инструментов, пишущий текстовые данные означает писать команды строки, которые изменяют инструментальные настройки, готовят инструмент, чтобы возвратить данные или информацию о статусе и так далее. Запись двоичных данных означает писать численные значения в инструмент, такие как данные о форме волны или калибровка.
Можно записать текстовые данные с writeline функция. writeline функциональные форматы данные как строка и автоматически добавляют терминатор строки. Можно записать двоичные данные с write функция. write функция записывает данные как uint8 по умолчанию, но можно задать другие типы данных с помощью аргумента значения имени.
Следующий пример иллюстрирует текстовые данные о записи и двоичные данные к Tektronix® Осциллограф TDS 210. Текстовые данные состоят из команд строки, в то время как двоичные данные являются формой волны, которая должна быть загружена на осциллограф и сохранена в его памяти:
Создайте инструментальный объект — Создают объект VISA-GPIB g сопоставленный с National Instruments ™® Контроллер GPIB с параметром плат 0 и инструмент с первичным адресом 1.
g = visadev("GPIB0::1::0::INSTR");Запишите данные — использование команд строки Записи writeline сконфигурировать осциллограф, чтобы хранить данные о сигнале в двоичной форме в ячейке памяти A.
writeline(g,"DATA:DESTINATION REFA"); writeline(g,"DATA:ENCDG SRPbinary"); writeline(g,"DATA:WIDTH 1"); writeline(g,"DATA:START 1");
Создайте данные о форме волны.
t = linspace(0,25,2500); data = round(sin(t)*90 + 127);
Запишите данные о сигнале в двоичной форме в использование осциллографа write.
cmd = double('CURVE #42500');
write(g,[cmd data]);NumBytesWritten свойство указывает на общее количество байтов, которые были записаны в инструмент.
g.NumBytesWritten
ans =
2581Разъединитесь и вымойтесь — Использование clear отключать инструмент от объекта VISA-GPIB g и очистить его от рабочего пространства MATLAB, когда вы закончите работающего с ним.
clear gФункции, связанные с чтением данных
| FunctionName | Описание |
|---|---|
read | Считайте двоичные данные из инструмента |
readline | Прочитайте строку данных о ASCII из инструмента |
readbinblock | Считайте один binblock данных из инструмента |
writeread | Запишите команду ASCII и считайте ответ |
Примечание
readbinblock функция не доступна для udpport интерфейс. writeread функция не доступна для tcpserver и udpport интерфейсы.
Свойства, связанные с чтением данных
| PropertyName | Описание |
|---|---|
Timeout | Допустимое время, чтобы завершить запись и операции чтения |
Terminator | Символ Терминатора для записи и чтения текстовых данных |
NumBytesAvailable | Количество байтов, доступных в чтение |
Можно изменить значение Timeout использование записи через точку и Terminator использование configureTerminator функция. NumBytesAvailable свойство только для чтения.
Для многих инструментов, считывая текстовые данные означает данные о строке чтения, которые отражают инструментальные настройки, информацию о статусе, и так далее. Чтение двоичных данных означает читать численные значения из инструмента.
Можно считать текстовые данные с readline функция. readline функция считывает данные до первого вхождения терминатора строки и возвращает его как строку без терминатора строки. Можно считать двоичные данные с read функция. read функция возвращает конкретное количество значений как uint8 данные по умолчанию, но можно задать другие типы данных с помощью аргумента значения имени.
Следующий пример иллюстрирует текстовые данные о чтении и двоичные данные от осциллографа Tektronix TDS 210, который отображает периодический входной сигнал с номинальной частотой 1,0 кГц.
Создайте инструментальный объект — Создают объект VISA-GPIB g сопоставленный с контроллером GPIB National Instruments ™ с параметром плат 0 и инструментом с первичным адресом 1.
g = visadev("GPIB0::1::0::INSTR");Запишите и считайте данные — Запись *IDN? команда к инструментальному использованию writeline, и затем считайте назад результат использования команды readline.
writeline(g,"*IDN?")
g.NumBytesAvailableans =
56idn = readline(g)
idn =
"TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04"Можно также использовать writeread функция, чтобы выполнить ту же операцию. Запишите команду в свой инструмент и считайте ответ.
idn = writeread(g,"*IDN?")idn =
"TEKTRONIX,TDS 210,0,CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04"Примечание
writeread функция не доступна для tcpserver и udpport интерфейсы.
Сконфигурируйте осциллограф, чтобы возвратить период входного сигнала. Использование read считать период как строку.
writeline(g,"MEASUREMENT:MEAS1:TYPE PERIOD") writeline(g,"MEASUREMENT:MEAS1:VALUE?") period = read(g,9,"string")
period =
"1.006E-3
"
Разъединитесь и вымойтесь — Использование clear отключать инструмент от объекта VISA-GPIB g и очистить его от рабочего пространства MATLAB, когда вы закончите работающего с ним.
clear gserialport | tcpclient | tcpserver | udpport | visadev