我正在制作一个使用 pymodbus(python 3.9,pymodbus 2.5.2)与一些网关通信的程序。
最近在程序运行的时候,通过WireShark分析网络。然后我意识到每个命令(read_holding_registers,write_registers,...)都与服务器建立了连接。 像这样,..
连接() read_holding_registers(..) 关闭() 连接() read_holding_registers(..) 关闭() ...,
对吗?
我期待这个,,
连接() read_holding_registers(..) read_holding_registers(..) read_holding_registers(..) ... 关闭()
我觉得, 首先,建立联系, 其次,所有的命令都完成了, 最后破坏连接。
当然,所有命令都在同一个函数中。 但是每个命令都有延迟时间。
with ModbusClient('10.181.10.15', 502) as client:
client.connect()
for unit in range(80, 91):
time.sleep(0.3)
data = client.read_holding_registers(600, 40, unit=unit)
print('600 unit id = %d' % unit)
time.sleep(0.3)
data = client.read_holding_registers(700, 30, unit=unit)
print('700 unit id = %d' % unit)
client.close()