我正在使用modbus协议与我的程序通信。当从寄存器1上的主机接收到信号时,它启动该功能
def main():
#Create the server
server = modbus_rtu.RtuServer(serial.Serial(PORT))
server.start()
slave_1 = server.add_slave(1)
slave_1.add_block('0', cst.HOLDING_REGISTERS, 0, 2)
slave_1.set_values('0', 0, 0) #set value on the begining
slave_1.set_values('0', 1, 0) #set value on the begining
while True:
register_1 = slave_1.get_values('0', 0, 1)
register_2 = slave_1.get_values('0', 1, 1)
if register_1[0] == 1:
time.sleep(3)
slave_1.set_values('0', 0, 1)
time.sleep(3)
slave_1.set_values('0', 0, 0)
当我改变寄存器2的状态几秒钟后,我想停止这个函数,在这个时间之后,它应该回到它停止时的位置。 它应该是立即,所以我不能检查这是正常的“如果”。 它应该类似于arduino的中断。在
问:如何创建此中断?在
不幸的是,我不知道类似的python函数,比如arduino中的interrupt。在
如果要停止此程序,请使用:
它不是立即的,但是如果您需要更精确的,您可以在}中减少一个值
range()
中增加一个值,在{相关问题 更多 >
编程相关推荐