1 回答

TA贡献1836条经验 获得超5个赞
我们只看时序逻辑。当您打开继电器时,您标记该开始时间。“开启时间”测量一直持续到您关闭继电器。然后“关闭时间”计时器启动,一直持续到您再次打开它。
我怀疑您有点困惑,因为开始和停止事件位于不同的代码块中。首先,让我们测量“接力”时间。我会做一个标志relay_is_on来通知中继状态何时发生变化。当状态改变时,我们将采取行动:打印状态改变,重置标志,并标记开始或停止时间。
relay_is_on = False
while True:
if highest > 3:
if not relay_is_on:
# Relay is just turning on;
# process changes
print("RELAY ON")
relay_is_on = True
relay_on_start = time.time()
else:
if relay_is_on:
# Relay is just turning off;
# process changes
print("RELAY OFF")
relay_is_on = False
relay_on_end = time.time()
relay_on_interval = relay_on_end - relay_on_start
从这里,您可以做任何需要累积或报告中继间隔的事情。此外,如果您需要类似地处理继电器关闭时间,您只需在反向逻辑中添加几行即可。
你能从这里继续吗?
添加回答
举报