Ce document donne un aperçu des outils National Instruments pour utiliser Python avec les plates-formes matérielles et logicielles de NI, notamment PXI, CompactDAQ, CompactRIO, LabVIEW, TestStand et VeriStand. Pour chaque outil Python, reportez-vous à la documentation associée pour obtenir les instructions d’installation, les environnements compatibles, les références API et des exemples.
Les développeurs open source et NI ont facilité l’intégration de Python au matériel de NI en créant des modules qui résument les appels de fonction ctypes de bas niveau dans des API simplifiées. Les liens suivants dirigent vers des ressources de documentation pour les wrappers Python qui ont été créés pour les drivers matériels de NI.
Le dépôt nimi-python est une collection de modules Python qui fournissent une interface aux drivers d’instruments modulaires NI sous-jacents. À l’heure actuelle, NI offre une compatibilité avec Python à travers ce paquet pour les oscilloscopes PXI, les générateurs de signaux, les DMM, les SMU, les alimentations, les commutateurs et les instruments de configuration numérique. Ces instruments utilisent les drivers suivants :
Instruments modulaires | Driver | Module Python |
---|---|---|
NI-SCOPE | niscope | |
NI-FGEN | niFgen | |
NI-DMM | niDMM | |
NI-DCPower | nidcpower | |
NI-SWITCH | niswitch | |
Driver NI-Digital Pattern | nidigital |
En savoir plus sur nimi-python
Le paquet nidaqmx contient une API pour interagir avec le driver NI-DAQmx requis pour communiquer votre périphérique d’acquisition de données (DAQ) NI. Ce paquet a été créé et est pris en charge par NI. Le paquet est implémenté comme wrapper complexe, hautement orienté objet autour de l’API NI-DAQmx C à l’aide de la bibliothèque de ctypes Python.
La bibliothèque pyVirtualBench fournit une interface au driver VirtualBench sous-jacent en encapsulant l’API C.
Remarque : pyVirtualBench est un wrapper tiers et n’est pas directement pris en charge par NI.
L’API Python Interface FPGA de NI est utilisée pour la communication entre le processeur et le FPGA dans le matériel E/S reconfigurable (RIO) de NI tel que NI CompactRIO, NI Single-Board RIO, NI FlexRIO et NI R Series Multifunction RIO.
Avec l’API Python Interface FPGA, les développeurs peuvent utiliser LabVIEW FPGA pour programmer le FPGA dans le matériel de NI et communiquer avec lui à partir de Python exécuté sur un ordinateur hôte. Cette disposition donne aux ingénieurs et aux scientifiques ayant une expertise en Python la possibilité de tirer parti des fichiers bitfile LabVIEW FPGA compilés et de pouvoir réutiliser le code Python existant.
En savoir plus sur l’API Python Interface FPGA
La bibliothèque nivision est une bibliothèque de traitement d’image/vision de NI qui rend les fonctionnalités de NI Vision disponibles dans le langage de programmation Python. Elle est disponible pour plusieurs plates-formes, y compris Windows et CompactRIO.
Remarque : nivision est un wrapper tiers et n’est pas directement pris en charge par NI.
En savoir plus sur nivision
Le paquet nixnet contient une API pour interagir avec le driver NI-XNET. NI-XNET est la technologie de drivers logiciels sous-jacente des interfaces NI-XNET CAN, LIN et FlexRay PCI, PXI et NI de la Série C. Les paquets nixnet et NI-XNET sont pris en charge par NI.
En savoir plus sur nixnet
PyVISA est un paquet Python qui contient l’API pour interagir avec le driver NI-VISA. NI-VISA vous permet de contrôler les instruments de mesure indépendamment de l’interface (par exemple, GPIB, RS232, USB, Ethernet) et est la technologie logicielle du driver derrière les interfaces des séries NI, GPIB et Ethernet PCI, PXI, USB et des séries C NI.
Remarque : PyVISA est un wrapper tiers et n’est pas directement pris en charge par NI.
Bien que des modules Python avec des API intuitives existent pour la communication matérielle avec de nombreux périphériques, les développeurs s’appuient fréquemment sur les API C fournies avec la plupart des drivers matériels pour intégrer leur code Python au matériel. La même méthodologie peut être appliquée à l’utilisation du matériel NI avec Python via le module ctypes. Cette solution fournit un moyen intuitif d’intégrer des scripts Python à la plupart des composants matériels.
En plus d’utiliser le module ctypes pour accéder à l’API C d’un driver matériel, LabVIEW peut générer des DLL composées de fonctions API matérielles qui peuvent être appelées depuis Python. Cette même procédure permet aux développeurs d’abstraire une séquence d’interactions matérielles en un seul appel de fonction stocké dans le fichier DLL.
LabVIEW 2018 présente le nœud Python, qui offre une capacité native pour appeler intuitivement un script Python à partir d’un diagramme LabVIEW. Il utilise des primitives LabVIEW, offrant un moyen d’interagir entre les langues à faible latence.
À partir de TestStand 2019, l’adaptateur Python inclus offre une expérience intégrée basée sur la configuration pour appeler des modules de code Python à partir de vos séquences de test. L’adaptateur est développé sur les mêmes principes de conception que les autres adaptateurs TestStand, offrant une expérience de développement familière aux développeurs TestStand existants.
À partir de VeriStand 2018, le paquet niveristand contient une API qui s’interface avec les systèmes VeriStand. Ce paquet a été créé et est pris en charge par NI.
En savoir plus sur niveristand
Désormais, à partir de DIAdem 2020, Python est disponible dans le module SCRIPT en tant que langage de script alternatif à VBS. Il vous suffit d’activer Python dans les paramètres DIAdem SCRIPT comme langage de script si vous préférez utiliser ce langage. Tout comme avec VBS, vous pouvez enregistrer des scripts dans la syntaxe Python. L’éditeur Python intégré dans le panneau SCRIPT propose l’auto-complétion habituelle et une info-bulle avec des informations de syntaxe et une brève description de la commande.