В предыдущих разделах мы ознакомились с принципами дистанционного управления приборами Rohde & Schwarz посредством прямых команд SCPI. В качестве альтернативы Rohde & Schwarz предлагает бесплатные драйверы приборов, которые обеспечивают уровень абстракции между вашим приложением и командами SCPI прибора.
5. Драйверы приборов в сравнении с прямыми командами SCPI
Вместо функций записи и чтения VISA и прямых команд SCPI вы можете использовать функции и атрибуты в драйвере прибора. Простой пример такой замены в драйвере прибора LabVIEW rsscope:
Аналогичная замена в C# выполняется с помощью драйвера прибора IVI.NET RsScope. Вы можете задавать отдельные параметры с помощью свойств или множество параметров с помощью метода:
В целях упрощения представленные выше иллюстрации прямых команд SCPI не содержат все операции, выполняемые драйверами приборов. Например, драйверы также ожидают от прибора подтверждения выполнения команды (см. Раздел 6 Синхронизация измерения) и проводят проверку на наличие ошибок после каждой команды (см. Раздел 7 Проверка прибора на наличие ошибок). Если вы используете прямые команды SCPI, вам придется самостоятельно позаботиться об этих задачах.
Преимущества и недостатки применения прямых команд SCPI
Преимущества:
- Быстрое начало работы; описание всех команд SCPI содержится в руководстве пользователя для прибора.
- Более быстрое исполнение.
Недостатки:
- Необходимо отдельно позаботиться о синхронизации измерений и проверке на наличие ошибок на приборе.
- Необходимо форматировать аргументы в команды SCPI. Это особенно сложно при работе с двоичными данными.
- Полученную в ответ от прибора строку ресурса необходимо преобразовать в подходящий тип (например, целое число, число двойной точности, логическое значение, массивы или двоичные данные).
Преимущества и недостатки применения драйверов приборов
Преимущества:
- Выполнение проверки на наличие ошибок после каждой команды. Проверку можно выключить для критических участков, где требуется максимальная скорость.
- Синхронизация команд, выполнение которых занимает длительное время.
- Форматирование аргументов в команды SCPI и интерпретация ответов прибора.
- Драйверы приборов сопровождаются собственными справочными файлами *.chm.
- Драйверы приборов всегда позволяют применять прямые команды SCPI.
Недостатки:
- Требуется обучение и знакомство со структурой драйвера.
- Дополнительные временные затраты. Их можно свести к минимуму за счет правильного подхода, см. Раздел 8 Оптимизация скорости
- Иногда приходится ждать, пока в драйверах приборов будет реализована поддержка новых функций приборов.
Совместимость драйверов приборов Rohde & Schwarz с различными языками программирования
Представленная далее таблица устанавливает соответствие между драйверами приборов и языками программирования. Особенности каждой среды мы обсудим позднее.
Драйверы VXI plug&play | Драйверы LabWindows/CVI | Драйверы LabVIEW | Драйверы IVI.NET | Драйверы SCPI | |
---|---|---|---|---|---|
Python | X (громоздкие) | X (некоторые приборы) | |||
MATLAB | X | ||||
C#, VB.NET | X (если IVI.NET отсутствует) | X | X (некоторые приборы) | ||
LabVIEW | X | ||||
LabWindows/CVI | X |
Для пользователей MATLAB
Rohde & Schwarz предлагает драйверы MATLAB MDD. Для работы с драйверами MDD требуются глубокие знания структуры драйверов VXI plug&play: необходимо вручную импортировать все перечислимые константы из заголовочного файла драйвера. Кроме того, требуется лицензия на MATLAB Instrument Control Toolbox. Пользователям MATLAB мы рекомендуем использовать прямые команды SCPI. В этом руководстве по применению рассматриваются оба подхода:
1MA171: Использование приборов Rohde & Schwarz в среде MATLAB
Для пользователей LabVIEW
Rohde & Schwarz предлагает полноценные драйверы LabVIEW. Подробнее см. руководство по применению:
1MA228: 10 советов и рекомендаций по использованию драйверов приборов Rohde & Schwarz LabVIEW
Для пользователей C# и VB.NET
Возможные варианты:
- Драйверы IVI.NET — предлагаются для большинства приборов. Здесь вы также можете использовать драйверы VXI plug&play, которые содержат классы-оболочки C# и VB.NET. См. специальное руководство по применению:
1MA268: Как использовать драйверы приборов Rohde & Schwarz IVI.NET
Драйверы можно скачать на страницах нашей продукции. - Драйверы на основе SCPI — автоматически генерируются из дерева SCPI-команд прибора и точно следуют его синтаксису. Если вы привыкли работать с командами SCPI, используйте данный вариант. Эти драйверы обеспечивают интеллектуальное дополнение ввода и защищенный от ошибок интерфейс для команд SCPI. Драйверы можно скачать в виде пакетов NuGet на сайте nuget.org:
https://www.nuget.org/profiles/rohde-schwarz
Для пользователей LabWindows/CVI и прочих сред C/C++
Драйверы VXI plug&play представляют собой компилированные драйверы CVI для 32- и 64-битных приложений Windows. Их можно использовать в языках C/C++.
Чтобы использовать драйвер CVI, необходимо полностью добавить его исходный код в ваш проект.
Чтобы использовать драйвер VXI plug&play, необходимо добавить его LLB-файл (для статического связывания) или DLL-файл (для динамического связывания) в ваш проект.