5. Instruments Drivers vs. Direct SCPI Commands

CH5_InstrumentDriversLayer_16x9.png

In the previous chapters, we learned how to remote control Rohde & Schwarz instruments using direct SCPI commands. As an alternative, Rohde & Schwarz offers free instrument drivers that provide an abstraction layer between your application and the instrument’s SCPI commands.

Instead of using VISA Write / Read functions and direct SCPI commands, you use functions and attributes of an instrument driver. A simple example of such substitution in the LabVIEW rsscope Instrument driver:

The same substitution in C# using the IVI.NET RsScope instrument driver. You set the individual parameters with properties, or set more of them with a method:

For simplicity, the above direct SCPI command pictures do not contain all the operations that the instrument drivers perform. For example, the drivers also wait for the instrument acknowledgment that a command has been executed (see Chapter 6 Measurement Synchronization), and check for potential errors after each command (see Chapter 7 Instrument Error Checking). When you use direct SCPI commands, you have to take care of both of these tasks yourself.

Summarized advantages/disadvantages of using direct SCPI commands

Advantages:

  • Quicker start; Instrument user manual has all the SCPI commands described.
  • Faster execution speed.

Disadvantages:

  • You need to take care of the measurement synchronization and the instrument error checking.
  • You must format arguments into SCPI commands. This is especially tricky with binary data.
  • When you receive an instrument string response, you need to convert it into an appropriate type (e.g. integer, double or boolean, arrays or binary data).

Summarized advantages/disadvantages of using the instrument drivers

Advantages:

  • Performing error checking after each command. You can switch this off for the critical sections where you require the maximum speed.
  • Synchronization of commands that take long time to complete.
  • Formatting of arguments into the SCPI commands and parsing the instrument responses is already implemented.
  • Instrument drivers come with their own *.chm help files.
  • They always offer the option of using direct SCPI commands.

Disadvantages:

  • Longer learning curve, you have to get familiar with the driver structure.
  • Minor overhead. This can be minimized by the correct approach; see Chapter 8 Speed Optimization
  • Sometimes you have to wait until new instrument features are supported by instrument drivers.

Suitability of Rohde & Schwarz Instrument drivers for different programming languages

The following table shows, which instrument driver is suitable for which programming language. The specifics of the different environments we discuss afterwards.

VXI plug&play drivers LabWindows/CVI drivers LabVIEW drivers IVI.NET drivers
Python X (bulky)
MATLAB X
C#, VB.NET X (if IVI.NET is not available) X
LabVIEW X
LabWindows/CVI X

For Python users

Rohde & Schwarz provides Python 3.7+ instrument drivers for some instruments e.g. CMW. Check their product page, driver subpage for details. For instruments which do not provide Python instrument drivers, we recommend using direct SCPI commands.

For MATLAB users

Rohde & Schwarz provides MATLAB MDD drivers. Using MDD drivers requires advanced knowledge of VXI plug&play driver structure, you must manually import all enumeration constants from the driver header file. In addition, you need a MATLAB Instrument Control Toolbox license. For MATLAB users we recommend using direct SCPI commands. This application note covers both approaches:

1MA171: How to use Rohde & Schwarz Instruments in MATLAB

For LabVIEW users

Rohde & Schwarz provides native LabVIEW drivers. Find out more in the application note:

1MA228: 10 Tips & Tricks on how to use Rohde & Schwarz LabVIEW Instrument drivers

For C#, VB.NET users

IVI.NET drivers are the clear choice. However, since the IVI.NET drivers are not yet available for all the Rohde & Schwarz instruments, you can also use the VXI plug&play drivers that come with the C# and VB.NET wrapper classes.

Find out more in the dedicated application note:

1MA268: How to use Rohde & Schwarz IVI.NET Instrument drivers

For LabWindows/CVI and other C/C++ environment users

VXI plug&play drivers are compiled CVI drivers for 32-bit and 64-bit Windows applications. You can use them both in C/C++ languages.

To use a CVI driver, add its entire source code into your project.

To use a VXI plug&play driver, add the driver's LLB file (for static linking) or its DLLs file (for dynamic linking) into your project.

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

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

Я хочу получать информацию от Rohde & Schwarz по

Согласие на получение маркетинговых материалов

Что именно это означает?

Я соглашаюсь с тем, что ROHDE & SCHWARZ GmbH & Co. KG и предприятие ROHDE & SCHWARZ или его дочерняя компания, указанная на данном Веб-сайте, может обращаться ко мне выбранным способом (по электронной или обычной почте) с целью маркетинга и рекламы (например, сообщения о специальных предложениях и скидках), относящейся в числе прочего к продуктам и решениям в области контрольно-измерительной техники, защищенной связи, мониторинга и тестирования сети, вещания и средств массовой информации, а также кибербезопасности.

Ваши права

Настоящее заявление о согласии может быть в любое время отозвано путем отправки электронного письма с темой «Unsubscribe» (отказ от подписки на рассылку) по адресу: news@rohde-schwarz.com.Кроме этого, в каждом отправляемом вам письме имеется ссылка на отказ от подписки на рассылку будущих рекламных материалов.Дополнительная информация об использовании персональных данных и процедуре отказа от их использования содержится в Положении о конфиденциальности.

Обязательное поле Предоставляя свои персональные данные, я подтверждаю их достоверность и свое согласие на их обработку Обществом с ограниченной ответственностью «РОДЕ и ШВАРЦ РУС» (ОГРН 1047796710389, ИНН 7710557825, находящемуся по адресу: Москва, Нахимовский проспект, 58) в следующем объеме и следующими способами: обработку с использованием средств автоматизации и без таковых, сбор, систематизацию, классификацию, накопление, хранение, уточнение, обновление, изменение, шифрование с помощью любых средств защиты, включая криптографическую, запись на электронные носители, составление и переработку перечней и информационных систем, включающих мои персональные данные, маркировку, раскрытие, трансграничную передачу моих персональных данных, том числе, на территории стран всего мира, передачу с использованием средств электронной почты и/или эцп, в том числе, передачу с использованием интернет-ресурсов, а также обезличивание, блокирование, уничтожение, передачу в государственные органы в случаях, предусмотренных законодательством, использование иными способами, необходимыми для обработки, но не поименованными выше до момента ликвидации / реорганизации Компании либо до моего отзыва настоящего согласия.

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