Este documento proporciona una visión general de las herramientas de NI para usar Python junto con las plataformas de software y hardware de NI, que incluyen PXI, CompactDAQ, CompactRIO, LabVIEW, TestStand y VeriStand. Para cada herramienta Python, consulte la documentación vinculada para obtener instrucciones de instalación, entornos compatibles, referencia de API y ejemplos.
Los desarrolladores de código abierto y NI han facilitado la integración de Python con el hardware de NI al crear módulos que extraen las llamadas de función de ctypes de nivel inferior en APIs simplificadas. Los siguientes enlaces llevan a recursos de documentación para derivadores de Python que se han creado para controladores de hardware de NI.
El repositorio nimi-python es una recopilación de módulos Python que proporcionan una interfaz para los controladores de instrumentos modulares de NI subyacentes. En la actualidad, NI ofrece soporte de Python a través de este paquete para osciloscopios PXI, generadores de formas de onda, DMM, SMU, fuentes de alimentación, interruptores e instrumentos de patrones digitales. Estos instrumentos utilizan los siguientes controladores:
Instrumentos Modulares | Controlador | Módulo Python |
---|---|---|
NI-SCOPE | niscope | |
NI-FGEN | nifgen | |
NI-DMM | nidmm | |
NI-DCPower | nidcpower | |
NI-SWITCH | niswitch | |
NI-Digital Pattern Driver | nidigital |
Obtenga más información sobre nimi-python
El paquete nidaqmx contiene una API para interactuar con el controlador NI-DAQmx requerido para comunicarse con su dispositivo de adquisición de datos (DAQ) de NI. NI ha creado y es compatible con este paquete. El paquete se implementa como un conjunto complejo y altamente orientado a objetos en torno a la API de NI-DAQmx C usando la biblioteca de Python ctypes.
La biblioteca pyVirtualBench proporciona una interfaz para el controlador VirtualBench subyacente ajustando la API de C.
Nota: pyVirtualBench es un conjunto de terceros y no es compatible con NI de forma directa.
La API de Python de la interfaz FPGA de NI se usa para la comunicación entre el procesador y FPGA dentro del hardware de E/S reconfigurable (RIO) de NI como NI CompactRIO, NI Single-Board RIO, NI FlexRIO y NI R Series Multifunction RIO.
Con la API de Python de la interfaz FPGA, los desarrolladores pueden usar LabVIEW FPGA para programar el FPGA dentro del hardware de NI y comunicarse con él desde el Python que se ejecuta en un equipo host. Esto proporciona a los ingenieros y científicos con experiencia en Python la capacidad de aprovechar los archivos de bits de LabVIEW FPGA compilados y tener la opción de reutilizar el código de Python existente.
Obtenga más información sobre la API de Python de la interfaz FPGA
La biblioteca nivision es una biblioteca de procesamiento de imagen/visión de NI que hace que la funcionalidad de NI Vision esté disponible en el lenguaje de programación Python. Está disponible para varias plataformas, incluidas Windows y CompactRIO.
Nota: nivision es un derivador de terceros y no es compatible con NI de forma directa.
Obtenga más información sobre nivision
El paquete nixnet contiene una API para interactuar con el controlador NI-XNET. NI-XNET es la tecnología de software del controlador subyacente de las interfaces NI-XNET CAN, LIN y FlexRay PCI, PXI y de la Serie C de NI. El paquete nixnet y NI-XNET son compatibles con NI.
Obtenga más información sobre nixnet
PyVISA es un paquete de Python que contiene la API para interactuar con el controlador NI-VISA. NI-VISA le permite controlar los instrumentos de medición independientemente de la interfaz (por ejemplo, GPIB, RS232, USB, Ethernet) y es la tecnología de software controlador detrás de las interfaces de serie de NI, GPIB y Ethernet PCI, PXI, USB y de la Serie C de NI.
Nota: PyVISA es un conjunto de terceros y no es compatible con NI de forma directa.
Si bien existen módulos de Python con API intuitivas para la comunicación de hardware con numerosos dispositivos, los desarrolladores a menudo recurren a las API C proporcionadas con la mayoría de los controladores de hardware para integrar el código de Python con el hardware. Se puede aplicar la misma metodología al usar hardware de NI con Python a través del módulo ctypes. Esta solución proporciona una forma intuitiva de integrar scripts de Python con la mayoría de los componentes de hardware.
Además de usar el módulo ctypes para acceder a la API C de un controlador de hardware, LabVIEW puede generar archivos DLL compuestos de funciones API de hardware que se pueden llamar desde Python. Este mismo procedimiento permite a los desarrolladores extraer una secuencia de interacciones de hardware en una única llamada de función almacenada en el archivo DLL.
LabVIEW 2018 introduce el Nodo de Python, que proporciona la capacidad nativa para llamar intuitivamente a un script de Python desde un diagrama de bloques de LabVIEW. Utiliza primitivos de LabVIEW, lo que proporciona una forma de interoperar entre los lenguajes con baja latencia.
A partir de TestStand 2019, el adaptador Python incluido ofrece una experiencia integrada basada en la configuración para llamar a los módulos de código de Python desde las secuencias de prueba. El adaptador se basa en los mismos principios de diseño que otros adaptadores TestStand, proporcionando una experiencia de desarrollo familiar para los desarrolladores de TestStand existentes.
A partir de VeriStand 2018, el paquete niveristand contiene una API que interactúa con los sistemas VeriStand. NI ha creado y es compatible con este paquete.
Obtenga más información sobre niveristand
A partir de DIAdem 2020, Python está disponible en el módulo SCRIPT como un lenguaje de programación alternativo para VBS. Si prefiere este lenguaje, solo necesita habilitar Python en la configuración de DIAdem SCRIPT como lenguaje de programación. Al igual que con VBS, usted también puede grabar scripts en sintaxis de Python. El editor de Python integrado en el panel SCRIPT ofrece la función habitual de autocompletar y un tooltip con información de sintaxis y una breve descripción del comando.