Para la programación SCPI en python, ¿es necesario instalar un servidor de NI-VISA si está intentando crear una interfaz con un dispositivo que no sea National Instruments? [cerrado]

0

[background / context] hola, estoy tratando de aprender a automatizar los dispositivos de medición usando los comandos SCPI , pero en lugar de Usando Labview decidí ir con python. He jugado un poco con comandos SCPI en el software específico de Physik Instrumente (PI) en el pasado y me parece mucho más fácil de usar que tratar de trabajar con diagramas de flujo complejos (además, no quiero que mis programas dependan de terceros). licencias del partido).

de una búsqueda rudimentaria parece que un método común está utilizando PyVisa , en la segunda página de sus instrucciones ( "configurando el backend") mencionan la instalación de una biblioteca NI-VISA , que asumo corresponde a National Instruments (TM).

[Pregunta] Menciona que "Si no se especifica ningún backend, Pyvisa usa el backend de NI". ¿Funcionará esto incluso para instrumentos que no son productos de NI? (Por ejemplo, necesito sincronizar el hardware de Agilent para sincronizar con otros instrumentos, incluido el hardware de PI).

    

2 respuestas

2

Si desea utilizar PyVisa, necesitará algún tipo de biblioteca de Visa para que pueda comunicarse con sus instrumentos.

Si sus instrumentos son instrumentos GPIB, debe utilizar la biblioteca de Visa de la compañía que creó el dispositivo que usa su PC para conectarse al bus GPIB. Tradicionalmente, se trataba de una tarjeta ISA o PCI, pero hoy en día es más a menudo un puente USB-GPIB. En cualquiera de estos casos, la Visa (y, a veces, otra biblioteca de proveedores subyacentes) es lo que sabe cómo ordenar a estos dispositivos para producir transacciones GPIB.

Si sus instrumentos son LXI (eXtensiones de LAN para instrumentación) o dispositivos controlados por USB, no importará qué Visa del proveedor utilice, pero aún necesitará una Visa para usar PyVisa, ya que la API de Visa es la única API. PyVisa sabe cómo usar para comunicarse con instrumentos.

Si sus instrumentos están controlados por USB, es posible que pueda eliminar Visa y usar las bibliotecas propietarias del vendedor del instrumento para comunicarse con el instrumento. Pero también deberías renunciar a PyVisa y escribir tu propio envoltorio de Python para la API de la biblioteca propietaria.

Es de suponer que también podría prescindir de Visa para un instrumento LXI, pero básicamente requeriría aprender el protocolo LXI y escribir algo muy parecido a la biblioteca de Visa en Python.

    
respondido por el The Photon
0

Si desea programar a través de la VISA de Arquitectura de Software de Instrumentos Virtuales (lo cual es una buena idea en un entorno de prueba de múltiples proveedores), entonces deberá tener instalada la VISA. Mientras instala NI-VISA le dará una copia automáticamente, es posible que prefiera obtenerla de otro proveedor que admita VISA (Anritsu, Keysight, Tek, R & S para nombrar a los pocos más destacados) o incluso un tercero. La instalación de VISA desde NI no no debe entrar en conflicto con los instrumentos de otros proveedores.

Para hablar con VISA desde Python, la ruta más fácil es usar PyVISA. Sin embargo, si lo desea, puede transferir su propia desde las llamadas de ctypes a la API de VISA.

Para hablar con los instrumentos elegidos de VISA, necesitará los controladores VISA para esos instrumentos específicos, obtenidos de sus respectivos fabricantes.

    
respondido por el Neil_UK

Lea otras preguntas en las etiquetas