首頁
支援
為什麼在Python中調用LabVIEW DLL得到的回傳值總是為0?
為什麼在Python中調用LabVIEW DLL得到的回傳值總是為0?
更新 Aug 30, 2023
產品資訊
產品資訊中描述經過驗證可以使用本文所述解決方案之產品。此解決方案可能也適用於其他類似產品或應用。
軟體
LabVIEW
程式語言
Python
LabVIEW G
問題敘述
我在LabVIEW中寫了一支很簡單的程式碼,其主要功能為加法或乘法並以Double作為回傳值,且在LabVIEW中把此VI 編譯成一個動態函示庫(DLL)並使用 Python 的 'ctype' 套件調用該VI。但我發現其回傳值始終為 0。
解決方案
回傳值為 0 是因為LabVIEW和Python之間的資料類型不匹配。調用LabVIEW DLL時,需要在LabVIEW和Python之間建立正確的資料類型 mapping。舉例來說,如果將LabVIEW程式碼中的 Double 精度更改為 Int32 (右鍵點擊> Representation > I32),則動態函示庫就能夠(DLL)正常的運作,且在Python中使用 “ ctypes” 套件呼叫此函式時不會出現任何問題。
相關連結
Data Structures in LabVIEW
其他支持選項
詢問NI社區
在我們的論壇中與其他用戶協作
搜索NI社區以尋求解決方案
請求工程師的支持
需要具備有效的服務合約或有效的租用版軟體,且支援選項因國家/地區而異。
打開服務請求
了解租用版軟體與服務
了解硬體服務計畫
Was this information helpful?
Helpful
Not Helpful