libmodbus-监视并重新启动连接

时间:2020-03-25 18:14:31

标签: c tcp modbus modbus-tcp libmodbus

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

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

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

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

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

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

任何建议都值得赞赏。

0 个答案:

没有答案