Modbus TCP/IP Driver Manual
Page 22 of 23
A typical Modbus slave device should be able to handle multiple thread situations. However, it is common
practice to request multiple mappings (register sets) from each device, and each mapping represents a
poll. With one thread, a request for multiple mappings from the same device at the same time is not
possible, but with multiple threads this situation can occur. Because this is not a common scenario,
individual vendor devices respond to this situation differently and may not respond at all when given a
multiple request. If this happens, the FieldServer logs errors and no communication occurs, but when the
FieldServer polls the same device a bit later and there is no second poll request active the response will
succeed. Therefore, device communication is still intact and these errors represent no significant
In Summary, although setting Max_Concurrent_Messages >1 causes errors in communication, these
errors are often not serious and the benefits of Multi-threading are great enough to tolerate the errors.
It is recommended to start testing around a value of 5 to determine the best setting for this parameter.
Increasing the parameter increases communication speed but may also increase errors significantly.
Setting the parameter to 1, switches multi-threading off and eliminates all errors caused by the feature.
Using this parameter is highly recommended in all applications where speed is a critical factor.