我有一台Linux机器,在Modbus RTU(通过rs485)上,多个设备连接到这台Linux机器。我不知道已连接设备的地址。我想要获取已连接设备的列表。有没有办法让所有的设备都联网?
我正在使用libmodbus。
下面是读取一个已知地址的设备的代码。
modbus_t *modbusCtxPtr=NULL;
int modbus_id=9; // Modbus address
modbusCtxPtr = modbus_new_rtu(TTYDEVICE, BAUDRATE, 'N', 8, STOPBITS);
if (modbusCtxPtr == NULL)
{
errorAndLogLogger(TTY_ERROR, "ERROR - Unable to create the libmodbus context.");
return;
}
if (modbus_set_slave(modbusCtxPtr, modbus_id) == -1)
errorAndLogLogger(TTY_ERROR, "ERROR - Error in setting slave id.");
if (modbus_connect(modbusCtxPtr) == -1)
errorAndLogLogger(TTY_ERROR, "ERROR - Modbus Connection failed.");
/* Here, I called read register over Modbus, function. */
https://stackoverflow.com/questions/51374105
复制相似问题