I'm trying to install response timeout (libmodbus 3.1.4, OS Windows 7, Visual Studio 2015):
ctx = modbus_new_rtu(connectSetting.address.c_str(), connectSetting.baud, connectSetting.parity, connectSetting.dataBit, connectSetting.stopBit);
if (ctx == nullptr)
{
LOGV << "No create ctx! error: " << modbus_strerror(errno); return false;
}
modbus_set_response_timeout(ctx, 1, 0);
if (modbus_connect(ctx) == -1)
{
LOGV << "No connect! error: " << modbus_strerror(errno);
return false;
}
modbus_set_slave(ctx, slaveId);
modbus_read_registers(address, cellCount, result);
And this example does not work for me.
The program waits for a response from the device endlessly and does not go out on timeout.
What am I doing wrong ?