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