libmodbus-监视和重新启动连接

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

我正在Linux上开发Modbus TCP客户端,以使用libmodbus与不同的Modbus设备进行通信。

要初始化TCP连接,将调用函数int modbus_connect(modbus_t *ctx);,如果连接成功,则返回0。

我需要有一个单独的线程来连续监视此TCP与设备的连接,以查看它是否仍在连接,如果没有,请尝试再次连接。

连续调用modbus_connect以检查连接是否成功将创建多个连接,这不是我想要的。

我可以尝试不断尝试从设备读取数据,如果有错误,请检查错误代码,然后尝试重新连接。但是,对Modbus设备进行读写操作是通过不同的类和线程进行的,应从通信控件中提取该类和线程。

[libmodbus中似乎没有任何功能可支持此功能。

任何建议都值得赞赏。

c tcp modbus modbus-tcp libmodbus
1个回答
0
投票

你比我走得更远。您能否分享一些有关如何成功建立连接的信息?我的设置与您可能的设置相同。我有一些要从中读取信息的APAR-654单元。

thnks

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