Dieses Dokument bietet einen Überblick über die National Instrument-Tools, mit denen Sie Python neben den NI-Hardware- und Softwareplattformen wie PXI, CompactDAQ, CompactRIO, LabVIEW, TestStand und VeriStand nutzen können. Installationsanweisungen, unterstützte Umgebungen, API-Referenzen und Beispiele finden Sie in der verknüpften Dokumentation für die einzelnen Python-Tools.
Open-Source-Entwickler und NI haben die Python-Integration in NI-Hardware vereinfacht. Hierfür wurden Module erstellt, die die Funktionsaufrufe der untergeordneten ctypes in vereinfachte APIs abstrahieren. Die folgenden Links führen zu Dokumentationsressourcen für Python-Wrapper, die für NI-Hardwaretreiber erstellt wurden.
Das Repository „nimi-python“ ist eine Sammlung von Python-Modulen, die eine Schnittstelle zu den zugrunde liegenden modularen NI-Messgerätetreibern bieten. Derzeit bietet NI über dieses Paket Python-Unterstützung für PXI-Oszilloskope, Signalgeneratoren, DMMs, SMUs, Netzteile, Schaltmodule und Digital Pattern Instruments. Diese Messgeräte nutzen die folgenden Treiber:
Modulares Messgerät | Treiber- | Python-Modul |
---|---|---|
NI-SCOPE | niscope | |
NI-FGEN | nifgen | |
NI-DMM | nidmm | |
NI-DCPower | nidcpower | |
NI-SWITCH | niswitch | |
NI-Digital Pattern Driver | nidigital |
Weitere Informationen zu nimi-python
Das Paket „nidaqmx“ enthält eine API für die Interaktion mit dem NI-DAQmx-Treiber, der für die Kommunikation mit dem NI-Datenerfassungsgerät (DAQ) erforderlich ist. Dieses Paket wurde von NI erstellt und wird von NI unterstützt. Das Paket wird als komplexer, stark objektorientierter Wrapper um die NI-DAQmx C-API mithilfe der Python-Bibliothek „ctypes“ implementiert.
Die Bibliothek „pyVirtualBench“ bietet durch das Wrapping der C-API eine Schnittstelle zum zugrunde liegenden VirtualBench-Treiber.
Hinweis: pyVirtualBench ist ein Wrapper eines Drittanbieters und wird nicht direkt von NI unterstützt.
Die Python-API der FPGA-Schnittstelle von NI wird für die Kommunikation zwischen Prozessor und FPGA innerhalb der rekonfigurierbaren I/O-Hardware (RIO) von NI wie NI CompactRIO, NI Single-Board RIO, NI FlexRIO und Multifunktions-RIO der NI R-Serie verwendet.
Mit der Python-API der FPGA-Schnittstelle können Entwickler in LabVIEW FPGA das FPGA innerhalb der NI-Hardware programmieren und über Python, das auf einem Host-Computer ausgeführt wird, damit kommunizieren. So können Techniker und Wissenschaftler mit Python-Kenntnissen kompilierte LabVIEW-FPGA-Bitdateien nutzen und vorhandenen Python-Code wiederverwenden.
Weitere Informationen zur Python-API der FPGA-Schnittstelle
Die Bibliothek „nivision“ ist eine Bild- bzw. Bildverarbeitungsbibliothek von NI, die die Funktionalität von NI Vision in der Programmiersprache Python verfügbar macht. Sie ist für mehrere Plattformen verfügbar, einschließlich Windows und CompactRIO.
Hinweis: nivision ist ein Wrapper eines Drittanbieters und wird nicht direkt von NI unterstützt.
Weitere Informationen zu nivision
Das Paket „nixnet“ enthält eine API für die Interaktion mit dem NI-XNET-Treiber. NI-XNET ist die Treibersoftware-Technologie für folgende Schnittstellen: NI-XNET CAN, LIN sowie FlexRay PCI, PXI und NI C-Serie. Das Paket nixnet und NI-XNET werden von NI unterstützt.
Weitere Informationen zu nixnet
PyVISA ist ein Python-Paket, das die API für die Interaktion mit dem NI-VISA-Treiber enthält. Mit NI-VISA können Sie Messinstrumente unabhängig von der Schnittstelle (z. B. GPIB, RS232, USB, Ethernet) steuern. Es handelt sich um die Treibersoftwaretechnologie hinter folgenden Schnittstellen: NI-Serie, GPIB und Ethernet PCI, PXI, USB und NI C-Serie.
Hinweis: PyVISA ist ein Wrapper eines Drittanbieters und wird nicht direkt von NI unterstützt.
Für die Hardwarekommunikation mit vielen Geräten sind Python-Module mit intuitiven APIs vorhanden. Zur Integration von eigenem Python-Code in die Hardware jedoch verlassen sich die Entwickler häufig auf C-APIs, die im Lieferumfang der meisten Hardwaretreiber enthalten sind. Dieselbe Methode kann beim Einsatz von NI-Hardware mit Python über das Modul „ctypes“ angewendet werden. Diese Lösung bietet eine intuitive Möglichkeit, Python-Skripte in die meisten Hardwarekomponenten zu integrieren.
Neben der Verwendung des Moduls „ctypes“ für den Zugriff auf die C-API eines Hardwaretreibers kann LabVIEW DLLs erzeugen, die aus von Python aus aufgerufenen Hardware-API-Funktionen bestehen. Mit demselben Verfahren können Entwickler eine Folge von Hardware-Interaktionen in einen einzigen Funktionsaufruf abstrahieren, der in der DLL-Datei gespeichert ist.
Neu in LabVIEW 2018 ist der Python-Knoten, der native Funktionen zum intuitiven Aufrufen eines Python-Skripts aus einem LabVIEW-Blockdiagramm bietet. Es stellt mit LabVIEW-Funktionen eine Möglichkeit zur Interaktion zwischen den Sprachen mit geringer Latenz bereit.
Ab TestStand-Version 2019 bietet der mitgelieferte Python-Adapter eine integrierte, konfigurationsbasierte Erfahrung zum Aufrufen von Python-Codemodulen aus Ihren Testsequenzen. Der Adapter basiert auf denselben Konstruktionsprinzipien wie andere TestStand-Adapter und bietet eine Entwicklungserfahrung, die den TestStand-Entwicklern vertraut ist.
Ab VeriStand-Version 2018 enthält das Paket „niveristand“ eine API, die eine Schnittstelle zu VeriStand-Systemen bietet. Dieses Paket wurde von NI erstellt und wird von NI unterstützt.
Weitere Informationen zu niveristand
Ab DIAdem 2020 steht Python im Modul SCRIPT als alternative Skriptsprache zu VBS zur Verfügung. Wenn Sie diese Sprache bevorzugen, brauchen Sie nur Python in den SCRIPT-Einstellungen von DIAdem als Skriptsprache zu aktivieren. Wie bei VBS können Sie alternativ Skripte in Python-Syntax aufzeichnen. Der in das Modul DIAdem-SCRIPT integrierte Python-Editor bietet die übliche Autovervollständigungsfunktion sowie Kurzhilfe mit Syntaxinformationen und einer kurzen Befehlsbeschreibung.