5. Drivers de instrumentos vs. comandos SCPI directos

CH5_InstrumentDriversLayer_16x9.png

En los capítulos anteriores, hemos aprendido como controlar de manera remota los instrumentos de Rohde & Schwarz con comandos SCPI directos. Como alternativa, Rohde & Schwarz ofrece drivers de instrumentos gratuitos que proporcionan una capa de abstracción entre su aplicación y los comandos SCPI del instrumento.

En lugar de utilizar las funciones « VISA Write / Read » y los comandos SCPI directos, pueden utilizarse las funciones y los atributos de un driver de instrumento. Aquí tenemos un sencillo ejemplo de dicha sustitución en el driver de instrumentos rsscope de LabVIEW:

La misma sustitución puede realizarse en C# con el driver de instrumentos IVI.NET RsScope. Se definen los parámetros con sus propiedades, o se establece más de ellos con un método:

Para simplificarlo, los comandos SCPI directos que se muestran en la imagen superior no contienen todas las operaciones que realizan los drivers de instrumentos. Por ejemplo, los drivers también esperan a que el instrumento confirme que se haya ejecutado un comando (véase el Capítulo 6: Sincronización de mediciones), y verifican que no haya errores después de cada comando (véase el Capítulo 7: Comprobación de errores del instrumento). Al utilizar comandos SCPI directos, uno mismo debe ocuparse de estas dos tareas.

Resumen de las ventajas y desventajas de utilizar comandos SCPI directos

Ventajas:

  • Inicio más rápido, el manual de usuario del instrumento describe todos los comandos SCPI.
  • Mayor velocidad de ejecución.

Desventajas:

  • Uno mismo debe ocuparse tanto de la sincronización de las mediciones como de la comprobación de errores del instrumento.
  • Deben formatearse los argumentos en comandos SCPI. Esto es especialmente complicado de realizar con datos binarios.
  • Al recibir una respuesta de string del instrumento, se necesita convertirla en un tipo apropiado (por ejemplo: entero, doble o booleana, arrays o datos binarios).

Resumen de las ventajas y desventajas de utilizar los drivers de instrumentos

Ventajas:

  • Realiza la comprobación de errores después de cada comando. Puede desactivarse para aquellas secciones críticas en las que se requiere la máxima velocidad.
  • Sincronización de comandos que demoran mucho en completarse.
  • El formateo de argumentos en comandos SCPI, así como el análisis de las respuestas de los instrumentos ya están implementados.
  • Los drivers de instrumentos vienen con sus propios archivos de ayuda *.chm.
  • Siempre ofrecen la opción de utilizar comandos SCPI directos.

Desventajas:

  • Curva de aprendizaje más larga, es necesario familiarizarse con la estructura del driver.
  • Menores excedentes. Esto puede minimizarse con el enfoque correcto; véase el Capítulo 8: Optimización de velocidad
  • A veces es necesario esperar que los drivers de instrumentos admitan nuevas funciones.

Idoneidad de los drivers de instrumentos de Rohde & Schwarz para diferentes lenguajes de programación

La siguiente tabla muestra qué driver de instrumento es adecuado para cada lenguaje de programación. Los detalles de los diferentes entornos los analizaremos más adelante.

Drivers de VXI plug&play Drivers de LabWindows/CVI Drivers de LabVIEW Drivers de IVI.NET Drivers de SCPI
Python X (muy grande) X (algunos instrumentos)
MATLAB X
C#, VB.NET X (si no está disponible el IVI.NET) X X (algunos instrumentos)
LabVIEW X
LabWindows/CVI X

Solo para usuarios de Python

Rohde & Schwarz actualmente proporciona drivers de instrumentos basados en Python 3.6+ SCPI para estos instrumentos en el repositorio pypi: CMW,SMx, CMA, CMX/CMP, OSP.
Para aquellos instrumentos que no proporcionan drivers de instrumentos para Python, recomendamos utilizar comandos SCPI directos.

Para usuarios de MATLAB

Rohde & Schwarz proporciona drivers MATLAB MDD. La utilización de drivers MDD requiere de un conocimiento avanzado de la estructura del driver de VXI plug&play, todas las constantes de enumeración deben importarse manualmente desde el archivo de cabecera del driver. Además, se necesita una licencia para el uso del « Instrument Control Toolbox » (caja de herramientas de control del instrumento) de MATLAB. Para usuarios de MATLAB recomendamos la utilización de comandos SCPI directos. Esta nota de aplicación cubre ambos enfoques:

1MA171 « How to use Rohde & Schwarz Instruments in MATLAB »

Para usuarios de LabVIEW

Rohde & Schwarz proporciona drivers nativos de LabVIEW. Descubra más en la nota de aplicación:

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

Para usuarios de C#, VB.NET

En este caso, hay dos opciones:

  • Drivers IVI.NET: disponibles para casi todos los instrumentos. Aquí también pueden utilizarse los drivers de VXI plug&play que vienen con las clases contenedores de C# y VB.NET. Descubra más en la nota de aplicación:
    1MA268: « How to use Rohde & Schwarz IVI.NET Instrument drivers »
    Descárguelos desde nuestros sitios web de productos.
  • Drivers basados en SCPI: estos drivers se generan de manera automática a partir del árbol de comandos SCPI del instrumento y siguen exactamente la sintaxis de este. Utilícelos si está acostumbrado a los comandos SCPI. Estos drivers ofrecen ayuda de intellisense, así como una interfaz de tipo seguro para los SCPI. Descárguelos como paquetes NuGet desde nuget.org:
    https://www.nuget.org/profiles/rohde-schwarz

Para usuarios de LabWindows/CVI y otros entornos C/C++

Los drivers VXI plug&play son drivers CVI compilados para aplicaciones de Windows de 32 y 64 bits. Pueden utilizarse ambos en lenguajes C/C++.

Para utilizar un driver de CVI, agregue todo su código fuente a su proyecto.

Para utilizar un driver de VXI plug&play, agregue el archivo LLB del driver (para enlace estático) o su archivo DLL (para enlace dinámico) a su proyecto.

Request information

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

Permiso de marketing

Se ha enviado su solicitud. Nos pondremos en contacto con usted en breve.
An error is occurred, please try it again later.