本文件提供 NI 工具的概述,以便您將 PXI、CompactDAQ、CompactRIO、LabVIEW、TestStand 與 VeriStand 等 NI 軟硬體平台搭配 Python 一起使用。您可以針對各種 Python 工具查看相關說明文件,包括安裝指示、支援環境、API 參考以及範例。
開放原始碼開發人員與 NI 共同建立了不同模組,這些模組可將低階 ctypes 函式呼叫抽象化到簡化的 API 中,進而讓 Python 與 NI 硬體的整合作業變簡單。針對已為 NI 硬體驅動程式建立的 Python 封套,以下提供相關說明文件資源連結。
nimi-python 儲存區整合了多種 Python 模組,可提供基礎 NI 模組化儀器驅動程式的介面。NI 目前透過封裝,針對 PXI 示波器、波形產生器、數位電錶、SMU、電源供應器、切換器與數位碼型產生器提供 Python 支援。這些儀器使用下列驅動程式:
模組化儀器 | 驅動程式 | Python 模組 |
---|---|---|
NI-SCOPE | niscope | |
NI-FGEN | nifgen | |
NI-DMM | nidmm | |
NI-DCPower | nidcpower | |
NI-SWITCH | niswitch | |
NI-Digital Pattern Driver | nidigital |
nidaqmx 封裝包含一個可與 NI-DAQmx 驅動程式互動的 API,您需要透過該驅動程式才能與 NI 資料擷取 (DAQ) 裝置通訊。此封裝由 NI 建立並提供相關支援。此封裝在使用 ctypes Python 函式庫時,可做為 NI-DAQmx C API 進階的高物件導向性封套。
pyVirtualBench 函式庫可藉由封裝 C API,提供基礎 VirtualBench 驅動程式的介面。
請注意:pyVirtualBench 是第三方封套,NI 並未提供直接支援。
NI FPGA Interface Python API 用於 NI 可重設 I/O (RIO) 硬體中處理器與 FPGA 之間的通訊,例如 NI CompactRIO、NI 單卡式 RIO、NI FlexRIO 以及 NI R Series Multifunction RIO。
FPGA Interface Python API 可供開發人員在 NI 硬體中使用 LabVIEW FPGA 進行 FPGA 的程式設計,並從在主機電腦執行的 Python 與之通訊。如此一來,擁有 Python 專業知識的工程師與科學家便能妥善利用已編譯的 LabVIEW FPGA 位元檔案,並且能夠選擇是否重複使用現有的 Python 程式碼。
深入了解 FPGA Interface Python API
nivision 函式庫是 NI 影像/視覺處理函式庫,讓使用者在使用 Python 程式設計語言時也能享有 NI 機器視覺的功能。此函式庫適用於多種平台,包括 Windows 與 CompactRIO。
請注意:nivision 是第三方套件,NI 並未提供直接支援。
深入了解 nivision
nixnet 封裝包含一個可與 NI-XNET 驅動程式互動的 API。NI-XNET 為驅動程式軟體技術,適用於 NI-XNET CAN、LIN 與 FlexRay 的 PCI、PXI 以及 NI C 系列介面。nixnet 封裝與 NI-XNET 均由 NI 提供支援。
深入了解 nixnet
PyVISA 是 Python 封裝,當中包含可供與 NI-VISA 驅動程式互動的 API。NI-VISA 讓您不須依賴介面 (例如 GPIB、RS232、USB、乙太網路) 也能控制量測儀器,同時屬於驅動程式軟體技術,適用於 NI 序列、GPIB、乙太網路 PCI、PXI、USB 以及 NI C 系列介面。
請注意:PyVISA 是第三方封套,NI 並未提供直接支援。
Python 模組具備直覺式 API 可供與多數裝置進行硬體通訊,不過開發人員往往會仰賴大多數硬體驅動程式隨附的 C API,將 Python 程式碼與硬體整合。同樣方法也可透過 ctypes 模組,套用在搭配 Python 使用 NI 硬體上。這個解決方案能讓您以直覺式方法,將 Python 指令碼與大多數硬體元件整合。
除了使用 ctypes 模組存取硬體驅動程式的 C API 之外,LabVIEW 也可以產生由硬體 API 函式組成的 DLL,這些 DLL 可從 Python 呼叫。開發人員可藉由同樣的流程,將一系列硬體互動抽象化到存放於 DLL 檔案中的單一函式呼叫。
LabVIEW 2018 導入 Python Node,其原生功能可讓您以直覺式方法從 LabVIEW 程式方塊圖呼叫 Python 指令碼。 Python Node 使用 LabVIEW 基元,能讓不同的程式語言之間快速互通。
自 TestStand 2019 起,隨附的 Python Adapter 便提供整合式設定功能,方便您從測試序列呼叫 Python 程式碼模組。該轉接器採用與其他 TestStand 轉接器相同的設計原理,能提供現有 TestStand 開發人員熟悉的開發方式。
自 VeriStand 2018 起,niveristand 封裝便包含了可與 VeriStand 系統介接的 API。此封裝由 NI 建立並提供相關支援。
深入了解 niveristand
自 DIAdem 2020 起,SCRIPT 模組便提供 Python 為 VBS 的指令碼語言替代方案。如果您偏好使用這種語言,只需要在 DIAdem SCRIPT 設定中將 Python 啟用為指令碼語言即可。如同 VBS,您也可以使用 Python 語法記錄指令碼。Python 編輯器整合在 SCRIPT 面板中,提供一般的自動完成功能與工具提示,以及語法資訊和簡短的指令說明。