pymodbus(ModbusTcpClient) 每个命令都与服务器建立连接?

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

我正在制作一个使用 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()
python tcp modbus pymodbus
© www.soinside.com 2019 - 2024. All rights reserved.