使用 Python 連線到 LabVIEW VI 和執行檔

更新 Jan 2, 2025

環境

軟體

  • LabVIEW

程式語言

  • Python

我想連線到正在執行的 VI 或從 VI 建立的執行檔,並使用 Python 控制或取得前面板上的值。

可以透過ActiveX 方法屬性來實現。為了連線到執行檔,您必須在建置規範下的進階頁面(應用程式屬性對話方塊)上 Enable ActiveX server 。在建立執行檔之前,您可能還需要為專案啟用 VI 伺服器設定

為此,您可以在 Python 程式碼中使用 win32com 和 pywin32 模組。以下程式碼連線到由路徑指定的正在執行的VI,並傳回名為「main」的控制項的值。

import win32com.client

labview = win32com.client.Dispatch("Labview.Application")
VI = labview.getvireference(r'c:\TEMP\ctrl\ctrl.vi')
print(f'Name: {VI.Name}')
print(VI.getcontrolvalue('main'))

如果您想要連線到建置的執行檔,則必須修改調度應用程式參數,並且VI的路徑將作為額外層增加到參考路徑中:

import win32com.client

labview = win32com.client.Dispatch("ctrl.Application")
VI = labview.getvireference(r'c:\TEMP\ctrl\Ctrl.exe\ctrl.vi')

print(f'Name: {VI.Name}')
print(VI.getcontrolvalue('main'))

附加資訊
如果您的 LabVIEW 程式碼包含 使用者介面事件user interface evnet,請考慮切換到自訂事件Custom Event,因為User Iterface 事件不會以程式方式觸發