Data to Server and Modbus timeout

Hello.
I have a RUT956 that uses Modbus Serial Client and Data to Server.
However I have an issue where if a modbus request fails the data to server would scramble the register data and their corresponding names, resulting in me getting the wrong data.
Below is a screenshot of how my data is being mixed up, you can clearly see the issue when looking at the totalisers:

Hello,

To better understand and assist with the issue, could you please provide screenshots of the following configuration windows:

  1. Services → Modbus → Modbus Serial Client: The Modbus device configuration section.
  2. Services → Data to Server: The collection configuration section.

Kind regards,

Hello,


Here you can see that there are regular modbus timeouts which is fine, the main issue is how the data to server handles these timeouts.


Here is the modbus configuration I use


Here is the data collection configuration.


Also here I tried to have all the modbus registers send at the same time in hopes that the issue would be resolved, but im getting the same results. I originally had it to send one register at a time.

Thank you for the additional details.

To further investigate, could you additionally provide a screenshot of the modbus_oqlis data configuration window?

Furthermore, have you noticed if this issue persists when the Modbus Serial Client Timeout value is set to the default of 1, or if it also occurs when adjusted to a higher value, such as 5?

Hello,
Here is the data configuration:


I have tried it with different timeouts aswell. I also have a few other routers giving the same issue and they have a period of 10 and timeout of 1 or 2.

Thank you for the additional information. Could you please provide the JSON output your MQTT broker/server receives when the “wrong data” is being received?

Additionally, please share a screenshot of your loadtech MQTT server configuration, ensuring any sensitive or private information is blurred out.

Kind regards,

Thank you. Here is the MQTT server configuration:


The JSON output for the mqtt normally looks like this:
{ “modbus_oqlis”: “{"date":"1736864614", "Totaliser1":"438290", "Totaliser2":"131597", "BeltSpeed":"0", "BeltRate":"0", "LoadGross":"1643", "LoadNet":"1643","modbus_server":"loadtech"}” }

and it looks like this when a modbus request fails:
{ “modbus_oqlis”: “{"date":"1736862392", "Totaliser1":"1643", "Totaliser2":"438290", "BeltSpeed":"0", "BeltRate":"0", "LoadGross":"1643","modbus_server":"loadtech"}” }
The message just before this one looks like this:
{ “modbus_oqlis”: “{"date":"1736862331", "BeltRate":"0", "LoadGross":"1643","modbus_server":"loadtech"}” }

As you can see the LoadNet value failed to read then the value of LoadGross caried over to Totaliser1. It is also possible that the LoadNet value took longer to respond than the modbus timeout and when the router was attempting to read Totaliser1’s data it instead got LoadNet’s data which was delayed. But that also doesn’t seem right because there was an entire 60 seconds between the readings as shown by the date.

hello, have you found the solution to this problem? I also have problems sending Modbus Serial requests when using the Data to Server. In my case, the JSON is well formatted but the “readings” stay the same (even the timestamps, which I believe are made by the RUT956 itself) for many hours and usually only change in the event of a reboot.

This topic was automatically closed after 60 days. New replies are no longer allowed.