我正在尝试在Digi模块中实现Modbus RTU Master连接我9210设备。为此我使用libmodbus库。
我必须在NetOs中提供什么设备名称才能连接本地计算机。?
现在我正在使用
ctx = modbus_new_rtu("COM3", 19200, 'N', 8, 1);
modbus_set_slave(ctx, SERVER_ID);
/* TCP */
// ctx = modbus_new_tcp("10.0.0.66", 502);
modbus_set_debug(ctx, TRUE);
if (modbus_connect(ctx) == -1) {
fprintf(stderr, "Connection failed: %s\n",
modbus_strerror(errno));
modbus_free(ctx);
return -1;
}
但它继续说连接失败了。我也试过" / dev / USB0"和" / dev / ttyS0"。我在本地计算机上安装了Modbus Slave来测试模块客户端。
答案 0 :(得分:0)
我修复了我的错误。在打开默认端口“/ com / 0”时,Digi模块中存在API问题。
还必须稍微更改libmodbus库以使用Digi,因为它使用的是设备不支持的标志。