如何在 python 中为 labview 应用程序实现看门狗

how to implement a watchdog for a labview application in python

我有一个 labview 应用程序(2013 32 位)会 运行 很长一段时间,有时整个 labview 应用程序会因不明原因崩溃。我想做的是编写一个外部 python 脚本,作为这个 labview 应用程序的看门狗。

所以 labview 应用程序会定期向 python 脚本发送一个位,如果 python 脚本没有收到,它会向我发送一个警报。

问题是如何最轻松地实现这种单向通信。看起来我可以使用 dynamic data exchange,但这似乎有点矫枉过正。一种愚蠢的方法就是读取和写入文本文件。双方实际上都没有直接的沟通方式。但这似乎并不完全可靠。

有没有更好更简单的替代方案?

为什么要使用 IPC?根据您 运行 使用的系统,应该有监控 运行 进程的方法(例如 here)。您的 python 脚本可以检查您的 labview 应用程序是否为 运行。如果它检测到所需的进程已终止,您甚至可以重新启动。

如果我在你那里,我只会每 5 秒发送一次本地 UDP 数据包。

如果您的架构是模块化的,您可以从每个模块向看门狗模块发送信号(以确保每个模块都是 运行)。

我认为最好的方法是评估问题并使您的 LabVIEW 应用程序 运行 稳定。可以肯定的是,您的代码中有些东西会导致 LabVIEW 崩溃(例如,某些队列已满,您的编写器端点会无限等待)。