Запишите и считанные данные о GPIB

Правила для завершения записи и операций чтения

Завершение операций записи

Операция записи с помощью write, writeline, или writebinblock завершается, когда одному из этих условий удовлетворяют:

  • Заданные данные записаны.

  • Время задано Timeout передачи свойства.

Инструмент определяет, завершена ли операция записи на основе Terminator и EOIMode значения свойств. Значение по умолчанию Terminator символ перевода строки. Обратитесь к документации для своего инструмента, чтобы определить терминатор строки, требуемый вашим инструментом.

Если EOIMode on, затем линия Конца или идентифицирует (EOI) утверждается, когда последний байт записан в инструмент. Последний байт может быть частью потока двоичных данных или текстового потока данных. Последним записанным байтом является Terminator значение и линия EOI утверждаются, когда инструмент получает этот байт.

Завершение операций чтения

Операция чтения с read, readline, или readbinblock завершается, когда одному из этих условий удовлетворяют:

  • Терминатор строки задан Terminator свойство читается.

  • Время задано Timeout передачи свойства.

  • Конкретное количество значений читается.

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

Этот пример иллюстрирует, как связаться с инструментом VISA-GPIB путем записи и чтения текстовых данных.

Инструментом является Tektronix® TDS 210 двухканальный осциллограф. Поэтому многие команды в примере характерны для этого инструмента. Синусоида вводится в канал 2 из осциллографа, и вы хотите измерить напряжение от пика к пику входного сигнала.

Можно использовать эти функции и свойства при чтении и записи текста.

ФункцияЦель
writelineЗапишите текст в инструмент.
readlineСчитайте данные из инструмента и отформатируйте как текст.
NumBytesAvailableКоличество байтов, доступных в чтение.
EOIModeУтверждается ли EOI (заканчивают или идентифицируют) линия.
ТерминаторСимвол раньше отключал команды, отправленные в инструмент.
  1. Создайте объект VISA-GPIB — Создают объект VISA-GPIB g сопоставленный с National Instruments ™® Контроллер GPIB с параметром плат 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"

    Необходимо определить источник измерения. Возможные источники измерения включают канал 1 и канал 2 из осциллографа.

    writeline(g,"MEASUREMENT:IMMED:SOURCE?")
    source = readline(g)
    source =
    
         "CH1"

    Осциллограф сконфигурирован, чтобы возвратить измерение в канал 1. Поскольку входной сигнал соединяется с каналом 2, необходимо сконфигурировать инструмент, чтобы возвратить измерение в этот канал.

    writeline(g,"MEASUREMENT:IMMED:SOURCE CH2")
    writeline(g,"MEASUREMENT:IMMED:SOURCE?")
    source = readline(g)
    source =
    
         "CH2"

    Можно теперь сконфигурировать осциллограф, чтобы возвратить напряжение от пика к пику, и затем запросить значение этого измерения.

    writeline(g,"MEASUREMENT:MEAS1:TYPE PK2PK")
    writeline(g,"MEASUREMENT:MEAS1:VALUE?")

    Считайте назад результат с помощью readline функция.

    ptop = readline(g)
    ptop =
    
         "2.0199999809E0"
  3. Разъединитесь и вымойтесь — Использование clear отключать инструмент от объекта VISA-GPIB g и очистить его от MATLAB® рабочая область, когда вы закончите работающая с ним.

    clear g

Свойства записи ASCII

По умолчанию линия Конца или идентифицирует (EOI) утверждается, когда последний байт записан в инструмент. Этим поведением управляет EOIMode свойство. Когда EOIMode установлен в on, линия EOI утверждается, когда последний байт записан в инструмент. Когда EOIMode установлен в off, линия EOI не утверждается, когда последний байт записан в инструмент.

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

Этот пример иллюстрирует, как можно загрузить отображение на экране осциллографа TDS 210. Данные об отображении на экране сохранены в диск с помощью Windows® растровый формат. Эти данные обеспечивают постоянную запись вашей работы и являются простым способом зарегистрировать важный сигнал и параметры осциллографа.

Вы используете эти функции при чтении и записи двоичных данных.

ФункцияЦель
readСчитайте двоичные данные из инструмента.
writeЗапишите двоичные данные в инструмент.

Примечание

При выполнении операции чтения или операции записи, думайте о принятых данных в терминах значений, а не байтов. Значение состоит из одного или нескольких байтов. Например, один uint32 значение состоит из четырех байтов.

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

    g = visadev("GPIB0::1::0::INSTR");
  2. Сконфигурируйте значение тайм-аута — Конфигурируют значение тайм-аута к двум минутам с учетом медленной передачи данных.

    g.Timeout = 120;
  3. Запишите и считайте данные — Конфигурируют осциллограф, чтобы передать отображение на экране как битовый массив.

    writeline(g,"HARDCOPY:PORT GPIB")
    writeline(g,"HARDCOPY:FORMAT BMP")
    writeline(g,"HARDCOPY START")

    Передайте данные рабочему пространству MATLAB как 8-битные целые числа без знака.

    out = read(g,g.NumBytesAvailable,"uint8");
  4. Разъединитесь и вымойтесь — Использование clear отключать инструмент от объекта VISA-GPIB g и очистить его от рабочего пространства MATLAB, когда вы закончите работающего с ним.

    clear g

Просмотр растровых данных

Выполните эти шаги, чтобы просмотреть растровые данные.

  1. Откройте дисковый файл.

  2. Запишите данные в дисковый файл.

  3. Закройте дисковый файл.

  4. Считайте данные с помощью imread функция.

  5. Масштабируйте и отобразите данные с помощью imagesc функция.

Используйте функции ввода-вывода программного файла MATLAB fopen, fwrite, и fclose.

fid = fopen("test1.bmp","w");
fwrite(fid,out,"uint8");
fclose(fid)
a = imread("test1.bmp","bmp");

Отобразите изображение.

imagesc(a)

Используйте серую палитру, поскольку инструмент генерирует только полутоновые изображения.

c = colormap(gray);
colormap(flipud(c));

Изображение полученного растрового изображения показывают в следующем рисунке.

Image of an oscilloscope screen displaying a sine wave in a MATLAB figure window

Проанализируйте данные о входной строке

Этот пример иллюстрирует, как использовать split функционируйте, чтобы проанализировать данные, которые вы считываете из осциллографа Tektronix TDS 210. split функция особенно полезна, когда это необходимо, чтобы проанализировать строку в один или несколько элементов массива, где каждый элемент полон решимости быть или двойным или вектором символов.

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

    g = visadev("GPIB0::1::0::INSTR");
  2. Запишите и считайте данные — Возвращают идентификационную информацию, чтобы разделить элементы массива ячеек с помощью "," разделители.

    writeline(g,"*IDN?")
    idn = readline(g);
    idn = split(idn,",")
    
    idn = 
    
      4×1 string array
    
        "TEKTRONIX"
        "TDS 210"
        "0"
        "CF:91.1CT FV:v1.16 TDS2CM:CMV:v1.04"
  3. Разъединитесь и вымойтесь — Использование clear отключать инструмент от объекта VISA-GPIB g и очистить его от рабочего пространства MATLAB, когда вы закончите работающего с ним.

    clear g

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

| | | |

Похожие темы