0

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

为了初始化 TCP 连接,int modbus_connect(modbus_t *ctx);调用该函数并在连接成功时返回 0。

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

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

我可以尝试不断尝试从设备读取数据,如果出现错误,请检查错误代码并尝试再次连接。但是,对 Modbus 设备的写入和读取发生在不同的类和线程中,这些类和线程应该从通信控制中提取。

libmodbus 中似乎没有任何功能支持这一点。

任何建议表示赞赏。

4

0 回答 0