3. VISA и программы VISA

История

В те времена, когда шина GPIB служила основным физическим интерфейсом связи, приложения дистанционного управления взаимодействовали непосредственно с драйверами оборудования GPIB. Позднее в качестве экономичной альтернативы GPIB был внедрен последовательный интерфейс RS232. В нем приложения также взаимодействовали непосредственно с драйверами оборудования RS232.

Ситуация усложнилась, когда интерфейс локальной сети LAN стал стандартом в компьютерной отрасли. Поставщики контрольно-измерительного оборудования распознали потенциал интерфейса LAN и возможности, которые он открывал при подключении приборов. Однако применение третьего программного интерфейса для подключенных по локальной сети приборов означало дополнительные проблемы с совместимостью измерительных приложений.

В целях унификации программного интерфейса ассоциация VXIplug&play разработала стандарт VISA (Virtual Instrument Software Architecture = программная архитектура виртуальных приборов). В настоящее время стандарт VISA находится во владении консорциума IVI Foundation. Для интерфейса LAN был разработан протокол VXI-11 на основе TCP/IP. Позднее была представлена его улучшенная версия HiSLIP (High Speed LAN Instrument Protocol = протокол высокоскоростной локальной сети для приборов). Последним дополнением стала поддержка интерфейса USB. Класс USB-устройств, поддерживаемых в стандарте VISA, называется USB-TMC (контрольно-измерительный класс).

Структура VISA

Далее представлен список основных функций VISA:

Функции доступа и поиска:

  • VISA Open Default RM — открывает новый диспетчер ресурсов (Resource Manager) для всех удаленных подключений VISA.
  • VISA Find Resource / Find Next Resource — поиск прибора согласно выбранным критериям.
  • VISA Open / Close — открывает и закрывает удаленное подключение к прибору.
  • VISA Set / Get Attribute — задает или считывает атрибут сеанса.

Функции ввода-вывода:

  • VISA Write — записывает строку команды на прибор.
  • VISA Read — считывает ответную строку с прибора.
  • VISA Clear — очищает буферы ввода-вывода на приборе.
  • VISA Read STB — считывает с прибора байт общего состояния системы (STatus Byte).
CH3_Layers_16x9.png

На рисунке представлены различные уровни программного и аппаратного обеспечения, которые участвуют в процессе дистанционного управления. Прибор находится на нижнем уровне, а ваше приложение — на верхнем уровне. Уровень VISA защищает ваше приложение от особенностей физического интерфейса связи. Единственным исключением, когда можно пропустить VISA, является соединение по Telnet (см. *Примечание 1).

R&S VISA

На рынке доступны программные реализации VISA от различных поставщиков, однако все они должны соответствовать одному стандарту интерфейса VISA. В следующих далее разделах будут представлены программы VISA от компаний Rohde & Schwarz и National Instruments.

Преимущества R&S VISA по сравнении с решениями других поставщиков:

  • Компактность — размер установщика составляет всего ок. 35 МБ, после внедрения 45 МБ
  • Поиск приборов в сети через mDNS и VXI-11
  • Полноценная поддержка датчиков мощности R&S NRP-Zxx (см. *Примечание 5)
  • Предлагается для Windows, Linux, Mac OS

Rohde & Schwarz VISA можно скачать по адресу:

1DC02: описание R&S®VISA

Установщики R&S®VISA

ОС Windows

Скачивая R&S®VISA для Windows, вы принимаете Условия использования бесплатного программного обеспечения

Тестовые программы VISA

Тестовые программы VISA — это готовые приложения, с помощью которых вы можете подключить ваш прибор, передавать команды SCPI и считывать ответные сигналы. Они позволяют полностью независимо проверить связь с вашим прибором.

Тестовая программа VISA от Rohde & Schwarz называется RsVisaTester. Путь к программе:

Меню «Пуск» ОС Windows -> Все программы -> R&S VISA -> Tester 32bit/64bit

Как в VISA задается прибор и интерфейс, через который он подключается? Вся эта информация содержится в строке ресурса, которая передается в функцию VISA Open. Если строка ресурса уже известна, достаточно ввести ее в поле ресурса. Если строка ресурса не известна, можно воспользоваться меню Find Resource (найти ресурс).

Типичные примеры строки ресурса:

  • TCPIP0::192.168.2.100::inst0::INSTR— прибор подключается через LAN (протокол VXI-11), IP-адрес прибора 192.168.2.100. Элемент "TCPIP0" обозначает индекс LAN-адаптера при наличии нескольких адаптеров. Элемент "inst0" обозначает экземпляр прибора в том случае, если несколько логических приборов совместно используют одинаковый IP-адрес (например, R&S CMW). Этот элемент можно опустить и использовать сокращенный формат TCPIP::192.168.2.100::INSTR
  • TCPIP0::192.168.2.100::hislip0— прибор подключается через LAN (протокол HiSLIP), IP-адрес прибора 192.168.2.100. По аналогии с протоколом VXI-11, "0" на конце обозначает экземпляр прибора. См. *Примечание 2.
  • TCPIP0::192.168.2.100::5025::SOCKET— прибор подключается через LAN (RawSocket), IP-адрес прибора 192.168.2.100, порт прибора 5025.
  • GPIB0::20::INSTR— прибор подключается через интерфейс GPIB, адрес прибора в шине GPIB = 20. При наличии нескольких плат контроллера GPIB они идентифицируются как "GPIB0", "GPIB1", "GPIB2" и т. д. См. *Примечание 3.
  • ASRL3::INSTR— прибор подключается через последовательный интерфейс COM3.
  • USB::0x0AAD::0x0119::022019943::INSTR— прибор подключается через интерфейс USB (контрольно-измерительный класс), идентификатор поставщика = 0xAAD, идентификатор изделия = 0x119, серийный номер = 022019943.
  • RSNRP::0x0095::104015::INSTR— Rohde & Schwarz NRP-Zxx, идентификатор изделия = 0x095 (NRP-Z86), серийный номер = 104015 (см. *Примечание 5)

Если строка ресурса задана правильно, нажмите на кнопку Connect(подключение), чтобы установить соединение с прибором. Затем введите команду *IDN?\nи нажмите на кнопки Write + Read(запись + чтение) или на кнопку Query(запрос), которая автоматически комбинирует операции записи и чтения. Сведения о символе "\n" см. *Примечание 4. В ответ на команду прибор передает идентификационную строку:

NI VISA предлагает аналогичные функции в своем приложении NI MAX. На левой панели в древовидной структуре Devices and Interfaces(устройства и интерфейсы) вы можете найти ваш прибор или добавить новый прибор. Для установления соединения откройте тестовую панель VISA Test Panel. На вкладке Input/Output(ввод-вывод) содержатся аналогичные элементы, как в RsVisaTester:

Программы отслеживания VISA

Еще одно преимущество стандарта VISA заключается в возможности отслеживания и протоколирования всего обмена данными с вашим прибором. В журнал вносятся сведения обо всех выполненных в VISA операциях: все отправленные команды и все полученные от прибора ответы, а также метки времени для этих событий и произошедшие ошибки. Путем анализа журнала можно выявлять ошибки, снижение производительности и прочие проблемы. Если вам не удается устранить проблему самостоятельно, вы можете сохранить журнал в файл и отправить его коллеге или специалистам службы поддержки Rohde & Schwarz. Наша надстройка драйвера прибора позволяет импортировать трассировку ввода-вывода и быстро преобразовывать ее в код LabVIEW (см. подсказку 2.1 в 1MA228).

Утилита для отслеживания ввода-вывода VISA от Rohde & Schwarz называется RsVisaTraceTool. Путь к программе в Windows: Меню «Пуск» -> Все программы -> R&S VISA -> Trace Tool. Подробное описание см. в руководстве пользователя R&S VISA, которое также содержится в этой папке. Протоколирование запросов *IDN? в RsVisaTraceTool:

Программа отслеживания от NI VISA называется NI IO Trace. Путь к программе в Windows: Меню «Пуск» -> Все программы -> National Instruments -> NI IO Trace. Протоколирование запросов *IDN? в NI IO Trace содержит большее количество записей по причине считывания нескольких атрибутов сеанса:

*Примечание 1 — подключение по Telnet и RawSocket

Приборы Rohde & Schwarz поддерживают протокол Telnet (Teletype Network) в ситуациях, когда невозможно использовать VISA (как правило, в LINUX или встроенных системах) или это недопустимо (например, в аэрокосмической и оборонной промышленности). Если прибор поддерживает протокол Telnet для дистанционного управления, вы можете по-прежнему использовать VISA для связи с прибором. В этом случае соединение называется RawSocket.

*Примечание 2 — протокол HiSLIP

Подробное описание протокола HiSLIP содержится в руководстве по применению 1MA208: Быстрое дистанционное управление прибором с помощью HiSLIP, которое также включает в себя список приборов Rohde & Schwarz, поддерживающих протокол HiSLIP.

*Примечание 3 — интерфейс GPIB и R&S VISA

Поставщик вашего контроллера GPIB (PCI / PCIe / USB-GPIB) должен соответствовать поставщику VISA. Например, если вы используете контроллер NI GPIB, вам требуется NI VISA.

*Примечание 4 — заключительный символ "\n"

"\n" — это символ перевода строки (LF), в шестнадцатеричном формате 0x0A. Он служит для завершения сообщения.

В случае соединения RawSocket или последовательного соединения все операции записи VISA должны завершаться символом перевода строки, поскольку это единственный способ сообщить прибору о том, что сообщение закончено. Чтобы распознавать конец ответного сообщения в операциях чтения VISA, необходимо задать атрибуты VI_ATTR_TERMCHAR_EN= TRUE и VI_ATTR_TERMCHAR= 0x0A. В противном случае будет возникать ошибка таймаута, т. к. несмотря на поступление правильного ответа система будет ожидать получения дальнейших байтов.

В некоторых приборах символ перевода строки требуется независимо от типа соединения. Завершение сообщения символом перевода строки всегда является универсальным и правильным способом.

Согласно стандарту SCPI приборы должны завершать свои ответные сообщения символом перевода строки. В приведенном выше примере символ перевода строки имеется в конце полученной в ответ идентификационной строки на тестовой панели в NI VISA. RsVisaTester не отображает служебные символы, однако вы можете увидеть их в журнале RsVisaTraceTool.

*Примечание 5 — поддержка R&S NRP-Zxx

Начиная с версии 5.11.0, R&S VISA для Windowsподдерживает предыдущее поколение датчиков мощности R&S NRP-Zxx. Для активации этой функции необходимо установить R&S NRP Toolkit в версии 4.17 или выше для Windows.

Вы можете использовать любой из двух вариантов строки ресурса:

  • RSNRP::0x0095::104015::INSTR— Rohde & Schwarz NRP-Zxx, идентификатор изделия = 0x095 (NRP-Z86), серийный номер = 104015
  • USB::0x0AAD::0x0095::104015::INSTR— идентификатор поставщика = 0x0AAD (Rohde & Schwarz), идентификатор изделия = 0x095 (NRP-Z86), серийный номер = 104015

Подсказка: если вы не знаете идентификатор изделия для ваших датчиков мощности, подключите их к вашему компьютеру и выполните операцию Find Resource (найти ресурс) в программе R&S Visa Tester. После этого вы можете ввести требуемую строку ресурса из списка или, при наличии нескольких подключенных датчиков мощности, вы можете сопоставить идентификатор изделия с серийным номером, который нанесен на корпусе датчика над штриховым кодом.

Запросить информацию

У вас есть вопросы или вам нужна дополнительная информация? Просто заполните эту форму, и мы свяжемся с вами в ближайшее время.

Ваш запрос отправлен. Мы свяжемся с вами в ближайшее время.
An error is occurred, please try it again later.