脚本关闭后如何保留对象?

问题描述 投票:0回答:1

我在 LabView 中有一个程序,它通过 cmd 行调用一些 Python 脚本。 这些脚本用于控制电子板。 脚本完成后会自动关闭。 通过串行接口建立通信。

我的想法是在单独的脚本中初始化 Board 对象,如下所示:

#Script for setting a board object
board=ElectronicBoard(com_port="COM5", verbose=True)
if board.is_powered == True:
    print("Connected!")
else:
    print("Connection failed!")

其他脚本确实导入该对象并运行函数。

脚本1:

from Set_Board import board

board.doFunctionX()

board.close()

脚本2:

from Set_Board import board

board.doFunctionY()

board.close()

等等。 有时,运行脚本时会出现问题,我无法连接到端口。可能是因为它仍在使用。

作为一个解决方案,我正在考虑将 Set_Board 脚本传输到 .exe,它将在后台运行,因此 SerialInterface 只会打开一次。并且没有一次又一次地关闭和打开。目前,只有打开脚本时才能知道该 Board 对象。 对此你有何看法?

必须有一种更有效的方法来处理这个问题。但是,目前我还看不到这个解决方案。

提前谢谢您。

python cmd exe labview
1个回答
0
投票

对于面临同样问题的任何人,例如有时串行端口保持打开状态,即使之前已关闭......

对我来说,只需在关闭之前清除输入和输出缓冲区就可以解决问题。同样重要的是,在端口关闭后,在重新打开端口之前添加更大的时间延迟,正如 Hans Passant 在他的回答中所述: https://stackoverflow.com/a/16777712/19781755

© www.soinside.com 2019 - 2024. All rights reserved.