LabVIEW與Python資源
LabVIEW與Python資源
本文介紹Python與NI硬件和軟件平臺(包括PXI、CompactDAQ、CompactRIO、LabVIEW、TestStand和VeriStand)結(jié)合使用。
使用適用于NI硬件的PythonAPI
開源開發(fā)人員和NI創(chuàng)建了一系列模塊,將較低級別的ctypes函數(shù)調(diào)用抽象為簡化的API,使Python能夠與NI硬件輕松集成。單擊以下鏈接可訪問為NI硬件驅(qū)動程序創(chuàng)建的Python包裝器的文檔資源。
針對PXI模塊化儀器的Python?API
nimi-python存儲庫是Python模塊的集合,這些模塊為基礎(chǔ)NI模塊化儀器驅(qū)動程序提供了接口。目前,NI可通過該程序包為PXI示波器、波形發(fā)生器、DMM、SMU、電源、開關(guān)和數(shù)字碼型儀器提供Python支持。這些儀器使用以下驅(qū)動程序。
針對DAQ硬件的Python?API
NIDAQmx程序包包含一個API,用于與實現(xiàn)NI數(shù)據(jù)采集(DAQ)設(shè)備通信所需的NI-DAQmx驅(qū)動程序進(jìn)行交互。該程序包已創(chuàng)建完畢,并且NI提供了相應(yīng)支持。借助ctypes?Python庫,該程序包可作為圍繞NI-DAQmx?C?API且高度面向?qū)ο蟮膹?fù)雜包裝器進(jìn)行實施。
針對VirtualBench的Python?API
pyVirtualBench庫通過包裝C?API,為基礎(chǔ)VirtualBench驅(qū)動程序提供了接口。
適用于RIO硬件的Python?API
利用NI?FPGA?Interface?Python?API,能夠?qū)崿F(xiàn)NI可重配置I/O?(RIO)硬件(例如NI?CompactRIO、NI單板RIO、NI?FlexRIO和NI?R系列多功能RIO)中處理器與FPGA之間的通信。
借助FPGA?Interface?Python?API,開發(fā)人員可以使用LabVIEW?FPGA對NI硬件中的FPGA進(jìn)行編程,并通過主機(jī)計算機(jī)上運(yùn)行的Python與之通信。這使得具有Python專業(yè)知識的工程師和科學(xué)家能夠充分利用已編譯的LabVIEW?FPGA比特文件,并可以選擇復(fù)用現(xiàn)有Python代碼。
適用于視覺應(yīng)用程序的Python?API
NIVision庫是NI圖像/視覺處理庫,可使用Python編程語言提供NI?Vision的功能。它可用于多個平臺,包括Windows和CompactRIO。
針對CAN、LIN和FlexRay硬件的Python?API
NI-XNET程序包包含用于與NI-XNET驅(qū)動程序進(jìn)行交互的API。NI-XNET是支持NI-XNET?CAN、LIN以及FlexRay?PCI、PXI和NI?C系列接口的驅(qū)動程序軟件技術(shù)。NI支持nixnet程序包和NI-XNET。
針對傳統(tǒng)臺式儀器的Python?API
PyVISA是一個Python程序包,包含用于與NI-VISA驅(qū)動程序進(jìn)行交互的API。NI-VISA是一種支持NI串行、GPIB和以太網(wǎng)PCI、PXI、USB及NI?C系列接口的驅(qū)動程序軟件技術(shù),您可以利用NI-VISA來獨(dú)立控制接口(例如GPIB、RS232、USB、以太網(wǎng))的測量儀器。
使用ctypes調(diào)用NI硬件DLL
雖然具有直觀API的Python模塊可用于與許多設(shè)備進(jìn)行硬件通信,但開發(fā)人員常常依賴大多數(shù)硬件驅(qū)動程序提供的C?API,將其Python代碼與硬件集成。可以采用相同的方法,通過ctypes模塊將NI硬件與Python結(jié)合使用。該解決方案提供了一種直觀方法,可將Python腳本與大多數(shù)硬件組件集成。
LabVIEW?DLL
除了使用ctypes模塊訪問硬件驅(qū)動程序的C?API外,LabVIEW還可以生成由硬件API函數(shù)組成的DLL,這些函數(shù)可以從Python調(diào)用。通過相同的步驟,開發(fā)人員可以將一系列硬件交互操作抽象為存儲在DLL文件中的單個函數(shù)調(diào)用。
將Python集成到LabVIEW中
LabVIEW2018推出了Python節(jié)點,該節(jié)點提供了從LabVIEW程序框圖直觀調(diào)用Python腳本的本機(jī)功能。它采用LabVIEW基元,提供了一種可在語言之間進(jìn)行互操作的方法,且具有低延遲的特點。
從TestStand調(diào)用Python
從TestStand?2019開始,隨附的Python適配器將提供基于配置的集成體驗,可從測試序列中調(diào)用Python代碼模塊。與其他TestStand適配器一樣,該適配器也是基于相同的設(shè)計原理構(gòu)建,可提供現(xiàn)有TestStand開發(fā)人員熟悉的開發(fā)體驗。
針對VeriStand使用Python
從VeriStand?2018開始,niveristand程序包包含與VeriStand系統(tǒng)連接的API。該程序包已創(chuàng)建完畢,并且NI提供了相應(yīng)支持。
在DIAdem中編寫Python腳本
從2020版開始,DIAdem的SCRIPT模塊提供了Python編程,作為VBS的替代腳本語言。如要使用該語言,只需在DIAdem?SCRIPT設(shè)置中啟用Python作為腳本語言即可。與VBS一樣,您可以使用Python語法來記錄腳本。SCRIPT面板中集成了Python編輯器,可提供常見的自動補(bǔ)全和工具提示功能,可提示語法信息以及命令簡介。
需要說明的是,上述的例程和文檔,都是可以下載的,雙擊即可打開,其中壓縮文件是可以采用粘貼復(fù)制的方式,拷貝到硬盤上。這不是圖片,各位小伙伴看到后嘗試一下,這個問題就不用加微信咨詢了。有關(guān)LabVIEW編程、LabVIEW開發(fā)等相關(guān)項目,可聯(lián)系們。附件中的資料這里無法上傳,可去公司網(wǎng)站搜索下載。
LabVIEW程序,如下附件所示。