VISA (программная архитектура)

VISA (программная архитектура)

VISA, Virtual Instrument Software Architecture — широко используемый стандартизированный[1] интерфейс ввода/вывода в области тестирования и измерений для управления приборами с персонального компьютера. Поддерживает интерфейсы IEEE-488 (GPIB), VXI, RS-232, а также USB для измерительных устройств[2]. Имплементация VISA (например, NI VISA) представляет собой библиотеку функций для языков C, Visual Basic и G, которые унифицируют доступ ко все измерительным устройствам, независимо от используемого протокола и аппаратуры (например, независимо от модели GPIB-адаптера).

Интерфейс VISA предполагает общение с прибором вида «запрос-ответ»[3]. Компьютер отправляет специфичную для конкретного прибора команду-запрос (например, требование выполнить измерение физической величины) и ждёт ответа (например, отчёт о состоянии или результаты измерений) от прибора. Интерфейс также поддерживает специфичные для шины особенности, например, при работе с GPIB общение может также быть инициировано прибором с помощью прерывания, а для RS-232 можно конфигурировать битрейт, количество битов в кадре данных и т. д.

VISA был разработан компанией National Instruments в середине 1990-х для автоматизации измерений с помощью так называемых «виртуальных приборов» (VI). Используется в основном в таких программных продуктах компании, как LabVIEW, LabWindows и Measurement Studio. Несмотря на то, что интерфейс VISA стандартизирован, наиболее часто используется проприетарная реализация от National Instruments. Эта библиотека может быть бесплатно скачана с сайта компании после регистрации, есть версии для Linux, Mac OS, Windows. В комплект с библиотекой включены также несколько программных инструментов, например, NI Spy — программа для протоколирования обращений к библиотеке NI VISA.

Содержание

PyVISA

PyVISA — это обёртка для библиотеки NI VISA, предоставляющая интерфейс для языка программирования Python. Авторы библиотеки Torsten Bronger, Ахен, Германия и Gregor Thalhammer, Иннсбрук, Австрия; издана по свободной лицензии MIT. Библиотека позволяет использовать всё удобство и гибкость высокоуровневого языка программирования Python для быстрой разработки систем сбора и обработки данных с измерительного оборудования в научной лаборатории.

PyVISA предоставляет высокоуровневые функции для опроса приборов и работы с массивами данных.

Пример использования

Ниже приведён пример использования PyVISA для получения спектра и измерения мощности лазерного излучения, приходящего в оптический спектроанализатор Agilent 86142.

Прежде всего, нужно импортировать библиотеку PyVISA (в коде именуется visa). Для каждого инструмента создаётся класс instrument, в котором есть методы для чтения/отправки данных (read, write, ask, ask_for_values…).

import visa
visa.get_instrument_list()  # Просмотр всех доступных инструментов
OSA = visa.instrument("GPIB::02::INSTR")

Опрос и идентификация прибора с использованием стандартной команды SCPI «*IDN?»

OSA.ask("*IDN?")  # Вернёт модель прибора с адресом GPIB::02
OSA.timeout = 40  # Ответ от прибора ожидается до 40 секунд

Получение текущего спектра в виде массива в переменную trace:

OSA.write("CALC1:AVER:STAT ON")  # Включаем усреднение измерений
OSA.write("CALC1:AVER:COUN 9")   # Усреднение производится по 9-ти спектрам
OSA.ask("INIT; *OPC?")           # Запускаем измерение и ждём его окончания, после чего прибор вернёт "+1"
trace = OSA.ask_for_values("TRACE? TRA")  # Получаем спектр в переменную trace

Установка маркера мощности на спектр и опрос его значения:

OSA.write("CALC:MAKR1:MAX")       # Устанавливаем маркер на пик в спектре
power = OSA.ask("CALC:MARK1:Y?")  # Считываем значение мощности лазера
wl    = OSA.ask("CALC:MARK1:X?")  # Считываем длину волны лазера

См. также

Примечания

  1. VISA Specification, IVI Foundation.
  2. USB Test & Measurement Class Specification, USB Implementers Forum Inc..
  3. Следует отметить, что интерфейс VISA основан на передаче команд и не работает с устройствами сбора данных (АЦП), работающими по протоколу DAQ и производным от него, так как DAQ предполагает единовременное конфигурирование АЦП и затем непрерывную передачу потока с результатами измерений в компьютерную программу.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "VISA (программная архитектура)" в других словарях:

  • VISA — VISA: VISA (платёжная система) платёжная система. VISA (программная архитектура) программная архитектура.     …   Википедия

  • VISA (значения) — VISA может означать: VISA (платёжная система) VISA (программная архитектура) См. также Виза …   Википедия

  • Виза — О платежной системе см. VISA (платежная система). О компьютерной архитектуре см. VISA (программная архитектура). Виза  разрешительный документ, дающий право человеку на пересечение тех или иных границ. Как правило под… …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»