Python 连接 LabVIEW VI 和构建的可执行文件

更新 Aug 21, 2025

适用于

软件

  • LabVIEW

程式语言

  • Python

其他

  • Python

问题详述

我想用 Python 连接到正在运行的 VI 或由 VI 构建的可执行文件,并使用 Python 控制或获取前面板上的值。请问有办法做到吗?

解决方案

这可以通过ActiveX 方法属性来实现。

您可以在 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'))

如果您想连接到已构建的可执行文件,则必须修改 dispatch application 的参数 (i.e., "ctrl.Application"),并且将 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'))

相关信息

上述解决方案利用了 ActiveX。

为了连接到您的可执行文件,您必须在应用程序属性对话框下的高级页(应用程序属性对话框)勾选启用 ActiveX 服务器。在创建可执行文件之前,您可能还需要设置项目启用 VI 服务器

如果您的 LabVIEW 代码包含用户界面事件,请考虑更换成自定义事件,因为用户界面事件不会通过编程触发