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. После этого вы можете ввести требуемую строку ресурса из списка или, при наличии нескольких подключенных датчиков мощности, вы можете сопоставить идентификатор изделия с серийным номером, который нанесен на корпусе датчика над штриховым кодом.

Request information

Do you have questions or need additional information? Simply fill out this form and we will get right back to you.

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