exponenta event banner

Запись и чтение данных ASCII с помощью VISA

В этом примере исследуются операции чтения и записи ASCII с объектом VISA с помощью осциллографа Tektronix ® TDS210.

Объект VISA поддерживает семь интерфейсов: последовательный, GPIB, VXI, PXI, USB, Serial, TCP/IP и Socket. В этом примере исследуются операции чтения и записи ASCII с использованием объекта VISA-GPIB. Однако операции чтения и записи ASCII для всех интерфейсов идентичны друг другу. Поэтому можно использовать те же самые команды. Единственное отличие - имя ресурса, указанное в конструкторе VISA visadev.

Операции чтения и записи ASCII для объекта VISA-Serial идентичны операциям чтения и записи ASCII для объекта последовательного порта. Поэтому инструкции по выполнению операций чтения и записи ASCII для объекта VISA-Serial см. в разделе Запись и чтение данных последовательного порта.

Подключение к прибору

Создайте объект VISA-GPIB, используя приведенную ниже строку ресурсов VISA.

v = visadev("GPIB0::2::INSTR")
v = 

  GPIB with properties:

         ResourceName: "GPIB0::2::INSTR"
                Alias: "OSCOPE"
               Vendor: "TEKTRONIX"
                Model: "TDS 210"
           BoardIndex: 0
       PrimaryAddress: 1
     SecondaryAddress: 0
    NumBytesAvailable: 0

  Show all properties, functions

Запись данных ASCII

Используйте writeline функция для записи данных ASCII в прибор. Например, "Display:Contrast" команда изменяет контраст отображения осциллографа.

writeline(v,"Display:Contrast 45")

Функция приостанавливает выполнение MATLAB ® до тех пор, пока не будут записаны все данные или не наступит тайм-аут, как указано вTimeout имущества visadev объект.

Проверьте терминатор ASCII по умолчанию.

v.Terminator
ans = 

    "LF"

writeline функция автоматически добавляет терминатор линейки (LF) к "Display:Contrast 45" перед записью на сервер, указывая конец команды.

Проверьте значение EOIMode собственность. Это свойство доступно только для интерфейсов VISA-GPIB, VISA-VXI и VISA-PXI.

v.EOIMode
ans = 

  OnOffSwitchState enumeration

    on

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

Подтвердите успешность операции записи, просмотрев NumBytesAvailable собственность.

v.NumBytesWritten
ans =

    20

Перед переходом к следующему шагу очистите все данные в буфере.

flush(v)

Считывание данных ASCII

Используйте readline функция для считывания данных ASCII из прибора. Например, команда осциллографа "Display:Contrast?" возвращает контраст дисплея осциллографа.

writeline(v,"Display:Contrast?")
data = readline(v)
data =

    45

readline функция считывает данные до тех пор, пока не достигнет терминатора, удаляет терминатор и возвращает данные.

Вы также можете использовать writeread для выполнения той же операции. Напишите ASCII-команду на прибор и прочитайте ответ.

data = writeread(v,"Display:Contrast?")
data =

    45

Очистить

Завершив работу с объектом VISA-GPIB, очистите его.

clear v

См. также

| | |

Связанные темы