Запись и чтение данных

Прежде, чем выполнить запись или операции чтения

Связь с вашим инструментом включает запись и чтение данных. Например, вы можете записать текстовую команду в функциональный преобразователь, который запрашивает его напряжение от пика к пику, и затем считайте назад значение напряжения как массив с двойной точностью.

Прежде, чем выполнить запись или операцию чтения, рассмотрите следующее:

  • 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. Текстовые данные состоят из команд строки, в то время как двоичные данные являются формой волны, которая должна быть загружена на осциллограф и сохранена в его памяти:

  1. Создайте инструментальный объект — Создают объект VISA-GPIB g сопоставленный с National Instruments ™® Контроллер GPIB с параметром плат 0 и инструмент с первичным адресом 1.

    g = visadev("GPIB0::1::0::INSTR");
  2. Запишите данные — использование команд строки Записи 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
  3. Разъединитесь и вымойтесь — Использование 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 кГц.

  1. Создайте инструментальный объект — Создают объект VISA-GPIB g сопоставленный с контроллером GPIB National Instruments ™ с параметром плат 0 и инструментом с первичным адресом 1.

    g = visadev("GPIB0::1::0::INSTR");
  2. Запишите и считайте данные — Запись *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
         "
    
  3. Разъединитесь и вымойтесь — Использование clear отключать инструмент от объекта VISA-GPIB g и очистить его от рабочего пространства MATLAB, когда вы закончите работающего с ним.

    clear g

Смотрите также

| | | |

Похожие темы