Связь с вашим инструментом включает запись и чтение данных. Например, вы можете записать текстовую команду в функциональный преобразователь, который запрашивает его напряжение от пика к пику, и затем считайте назад значение напряжения как массив с двойной точностью.
Прежде, чем выполнить запись или операцию чтения, рассмотрите следующее:
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.NumBytesAvailable
ans = 56
idn = 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 g
serialport
| tcpclient
| tcpserver
| udpport
| visadev