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