本文档概述了一些NI工具,用于将Python与NI硬件和软件平台(包括PXI、CompactDAQ、CompactRIO、LabVIEW、TestStand和VeriStand)结合使用。对于每个Python工具,请参阅链接的文档以了解安装说明、支持的环境、API参考和示例。
开源开发人员和NI创建了一系列模块,将较低级别的ctypes函数调用抽象为简化的API,使Python能够与NI硬件轻松集成。单击以下链接可访问为NI硬件驱动程序创建的Python包装器的文档资源。
nimi-python存储库是Python模块的集合,这些模块为基础NI模块化仪器驱动程序提供了接口。目前,NI可通过该程序包为PXI示波器、波形发生器、DMM、SMU、电源、开关和数字码型仪器提供Python支持。这些仪器使用以下驱动程序:
模块化仪器 | 驱动程序 | Python模块 |
---|---|---|
NI-SCOPE | niscope | |
NI-FGEN | nifgen | |
NI-DMM | nidmm | |
NI-DCPower | nidcpower | |
NI-SWITCH | niswitch | |
NI-Digital Pattern Driver | nidigital |
nidaqmx程序包包含一个API,用于与实现NI数据采集(DAQ)设备通信所需的NI-DAQmx驱动程序进行交互。该程序包已创建完毕,并且NI提供了相应支持。借助ctypes Python库,该程序包可作为围绕NI-DAQmx C API且高度面向对象的复杂包装器进行实施。
pyVirtualBench库通过包装C API,为基础VirtualBench驱动程序提供了接口。
注意:pyVirtualBench是第三方包装器,NI不会直接为其提供支持。
利用NI FPGA Interface Python API,能够实现NI可重配置I/O (RIO)硬件(例如NI CompactRIO、NI单板RIO、NI FlexRIO和NI R系列多功能RIO)中处理器与FPGA之间的通信。
借助FPGA Interface Python API,开发人员可以使用LabVIEW FPGA对NI硬件中的FPGA进行编程,并通过主机计算机上运行的Python与之通信。这使得具有Python专业知识的工程师和科学家能够充分利用已编译的LabVIEW FPGA比特文件,并可以选择复用现有Python代码。
详细了解FPGA Interface Python API
nivision库是NI图像/视觉处理库,可使用Python编程语言提供NI Vision的功能。它可用于多个平台,包括Windows和CompactRIO。
注意:nivision是第三方包装器,NI不会直接为其提供支持。
详细了解nivision
nixnet程序包包含用于与NI-XNET驱动程序进行交互的API。NI-XNET是支持NI-XNET CAN、LIN以及FlexRay PCI、PXI和NI C系列接口的驱动程序软件技术。NI支持nixnet程序包和NI-XNET。
详细了解nixnet
PyVISA是一个Python程序包,包含用于与NI-VISA驱动程序进行交互的API。NI-VISA是一种支持NI串行、GPIB和以太网PCI、PXI、USB及NI C系列接口的驱动程序软件技术,您可以利用NI-VISA来独立控制接口(例如GPIB、RS232、USB、以太网)的测量仪器。
注意:PyVISA是第三方包装器,NI不会直接为其提供支持。
虽然具有直观API的Python模块可用于与许多设备进行硬件通信,但开发人员常常依赖大多数硬件驱动程序提供的C API,将其Python代码与硬件集成。可以采用相同的方法,通过ctypes模块将NI硬件与Python结合使用。该解决方案提供了一种直观方法,可将Python脚本与大多数硬件组件集成。
除了使用ctypes模块访问硬件驱动程序的C API外,LabVIEW还可以生成由硬件API函数组成的DLL,这些函数可以从Python调用。通过相同的步骤,开发人员可以将一系列硬件交互操作抽象为存储在DLL文件中的单个函数调用。
LabVIEW 2018推出了Python节点,该节点提供了从LabVIEW程序框图直观调用Python脚本的本机功能。 它采用LabVIEW基元,提供了一种可在语言之间进行互操作的方法,且具有低延迟的特点。
从TestStand 2019开始,随附的Python适配器将提供基于配置的集成体验,可从测试序列中调用Python代码模块。与其他TestStand适配器一样,该适配器也是基于相同的设计原理构建,可提供现有TestStand开发人员熟悉的开发体验。
从VeriStand 2018开始,niveristand程序包包含与VeriStand系统连接的API。该程序包已创建完毕,并且NI提供了相应支持。
详细了解niveristand
从2020版开始,DIAdem的SCRIPT模块提供了Python编程,作为VBS的替代脚本语言。如要使用该语言,只需在DIAdem SCRIPT设置中启用Python作为脚本语言即可。与VBS一样,您可以使用Python语法来记录脚本。SCRIPT面板中集成了Python编辑器,可提供常见的自动补全和工具提示功能,可提示语法信息以及命令简介。