通过Python启动Labview程序
问题描述:
我正在开发一个项目,在该项目中,我必须通过用python编写的GUI
启动一个VI(Labview程序)。我没有管理员权限,因此我使用JetBrain工具箱安装了PyCharm社区,并使用MSI
文件安装了Python 3.3
。通过Python启动Labview程序
我在互联网上看到要做我想做的事情,我需要安装pywin32扩展:extension -link,但是当我启动它时,它找不到我的Python安装。
所以,我的问题是:是否有另一种方法来控制VI从Python?
非常感谢您的回答。我是两种语言的初学者。
答
- 如果你想运行一个简单的VI,你必须运行LabVIEW的IDE - 一个 VI是一个源代码文件,而不是生成的可执行文件,所以可以直接运行, 它在被托管编辑。
- 如果你想运行一个内置于 可执行文件的VI,你显然必须运行该构建的EXE。
所以,无论哪种方式,你都必须能够启动EXE。
你的Python可以调用C风格的DLL吗?如果是这样,你可以将你的VI构建到DLL中,然后以这种方式调用VI。
+0
现在我正在使用VI。但最后,它会被编译成可执行文件。 现在,我使用Pyhton中的win32com dll启动VI,我可以“调用”或“运行”VI,但这不是我想要的,因为我想在启动调用后启动VI并执行python代码并且像这样两个代码在同一时间执行。但是这里Python等待VI执行的结束来继续它的脚本。也许我理解错了什么,我认为有可能在同一时间执行Python代码和VI(例如,我正在通过服务器/客户端通信来执行此操作)。 –
没关系。我终于成功了。创建2个线程,一个启动VI,另一个运行python代码,通过TCPIP通信获取一些数据。 –
我曾经反其道而行,用LabVIEW的[System Exec](http://digital.ni.com/public.nsf/allkb/8E19CA81874FFDD786256BE40066C151)调用python脚本 - 其中一个论据是是否要等待完成或不。我还使用System Exec列出了调用python脚本之前和之后的所有进程,因此如果它耗时过长,我可以通过LabVIEW来获取它的进程号并将其杀死(再次使用System Exec)。 – berna1111
berna,我宁愿从Python启动一个LabVIEW Vi,因为我比Python更好用Python。而且因为我必须在Python脚本中处理线程和计时器。但是,谢谢你告诉我,这样做也是可能的。 –