Этот пример исследует операции чтения и записи 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
Используйте 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)
Используйте 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 vreadline | visadev | writeline | writeread