如何在Digi模块中实现Modbus RTU Master连接我9210

时间:2016-01-27 10:25:38

标签: c embedded modbus

我正在尝试在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来测试模块客户端。

1 个答案:

答案 0 :(得分:0)

我修复了我的错误。在打开默认端口“/ com / 0”时,Digi模块中存在API问题。

还必须稍微更改libmodbus库以使用Digi,因为它使用的是设备不支持的标志。