В этом примере исследуются операции двоичного чтения и записи с объектом VISA с помощью осциллографа Tektronix ® TDS210.
Объект VISA поддерживает семь интерфейсов: последовательный, GPIB, VXI, PXI, USB, Serial, TCP/IP и Socket. В этом примере исследуются операции двоичного чтения и записи с использованием объекта VISA-GPIB. Однако двоичные операции чтения и записи для всех интерфейсов идентичны друг другу. Поэтому можно использовать те же самые команды. Единственное отличие - имя ресурса, указанное в конструкторе VISA visadev.
Операции двоичного чтения и записи для объекта VISA-Serial идентичны операциям двоичного чтения и записи для объекта последовательного порта. Поэтому инструкции по выполнению операций двоичного чтения и записи для объекта 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
Используйте write функция записи двоичных данных в прибор. Следующие команды конфигурируют и затем посылают синусоидальную волну в прибор.
writeline(v,"Data:Destination RefB"); writeline(v,"Data:Encdg SRPbinary"); writeline(v,"Data:Width 2"; writeline(v,"Data:Start 1"); t = (0:499) .* 8 * pi / 500; data = round(sin(t) * 90 + 127); writeline(v,"CURVE #3500"); write(v,data,"int16")
write функция приостанавливает выполнение MATLAB ® до тех пор, пока не будут записаны все данные или не наступит тайм-аут, как указано вTimeout имущества visadev объект.
По умолчанию write функция записывает двоичные данные как uint8 данные. Дополнительные сведения об указании других типов данных см. в разделе write.
Примечание
При выполнении операции записи следует считать передаваемые данные значениями, а не байтами. Значение состоит из одного или нескольких байтов. Например, один uint32 значение состоит из четырех байт.
Используйте read функция для считывания двоичных данных из прибора. Используйте следующие команды для считывания синусоидальной волны из прибора.
writeline(v,"Data:Source CH1"); writeline(v,"Data:Encdg SRIbinary"); writeline(v,"Data:Width 2"); writeline(v,"Data:Start 1"); writeline(v,"Curve?") data = read(v,1200,"int16");
read функция приостанавливает выполнение MATLAB до одного из следующих случаев:
Тайм-аут выполняется, как указано в Timeout собственность
Входной буфер заполнен
Считывается указанное количество значений
Линия EOI утверждается
Терминатор принимается в соответствии с указаниями Terminator собственность
По умолчанию read функция считывает двоичные данные как uint8 данные. Дополнительные сведения об указании других типов данных см. в разделе read.
Примечание
При выполнении операции чтения следует считать полученные данные значениями, а не байтами. Значение состоит из одного или нескольких байтов. Например, один uint32 значение состоит из четырех байт.
Завершив работу с объектом VISA-GPIB, очистите его.
clear v