ni.com is currently undergoing scheduled maintenance.
Some services may be unavailable at this time. Please contact us for help or try again later.
本文件提供 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 支援。這些儀器使用下列驅動程式:
nidaqmx 封裝包含一個可與 NI-DAQmx 驅動程式互動的 API,您需要透過該驅動程式才能與 NI 資料擷取 (DAQ) 裝置通訊。此封裝由 NI 建立並提供相關支援。此封裝在使用 ctypes Python 函式庫時,可做為 NI-DAQmx C API 進階的高物件導向性封套。
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 程式碼。
深入了解 nifpga
Python 模組具備直覺式 API 可供與多數裝置進行硬體通訊,不過開發人員往往會仰賴大多數硬體驅動程式隨附的 C API,將 Python 程式碼與硬體整合。同樣方法也可透過 ctypes 模組,套用在搭配 Python 使用 NI 硬體上。這個解決方案能讓您以直覺式方法,將 Python 指令碼與大多數硬體元件整合。
pyVirtualBench 函式庫可藉由封裝 C API,提供基礎 VirtualBench 驅動程式的介面。
請注意:pyVirtualBench 是第三方封套,NI 並未提供直接支援。
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 並未提供直接支援。
目前 NI 提供適用於 VeriStand 與 RFmx 的 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 面板中,提供一般的自動完成功能與工具提示,以及語法資訊和簡短的指令說明。
nivision 函式庫是 NI 影像/視覺處理函式庫,讓使用者在使用 Python 程式設計語言時也能享有 NI 機器視覺的功能。此函式庫適用於多種平台,包括 Windows 與 CompactRIO。
請注意:nivision 是第三方套件,NI 並未提供直接支援。
深入了解 nivision
| 模組化儀器 | 驅動程式 | Python 模組 (已連結的文件) |
|---|---|---|
| PXI 多功能數位電錶 | NI-DMM | nidmm |
| PXI 數位碼型產生器 | NI-Digital Pattern Driver | nidigital |
| PXI 示波器 | NI-SCOPE | niscope |
| PXI 可程式化電源供應器 PXI 電源量測單元 | NI-DCPower | nidcpower |
| PXI 切換器 | NI-SWITCH | niswitch |
| PXI 波形產生器 | NI-FGEN | nifgen |
| RF 訊號產生器 PXI 向量訊號收發儀 | NI-RFSG | nirfsg |
| 頻譜與訊號分析儀 PXI 向量訊號收發儀 | NI-RFmx SpecAn | nirfmxspecan |
| 應用軟體 | 應用軟體 | Python 模組 (已連結的文件) |
|---|---|---|
| FPGA 介面 Python API | FPGA 介面 Python API | nifpga |
| 頻譜與訊號分析儀 PXI 向量訊號收發儀 | NI-RFmx SpecAn | nirfmxspecan |
| RFmx Bluetooth® 測試 | NI-RFmx Bluetooth® 測試 | nirfmxbluetooth |
| RFmx WLAN | NI-RFmx WLAN | nirfmxwlan |
| NI VeriStand | NI VeriStand | niveristand |