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

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

Объект VISA поддерживает семь интерфейсов: последовательный, GPIB, VXI, PXI, USB, последовательный, TCP/IP и сокет. Этот пример исследует операции чтения и записи 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"

The writeline функция автоматически добавляет терминатора строки linefeed (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

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

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

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

    45

Очистка

Когда вы закончите с объектом VISA-GPIB, очистите его.

clear v

См. также

| | |

Похожие темы