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.
5. Drivers de instrumentos vs. comandos SCPI directos


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:
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.