subscribe to our Youtube


14455 questions

17168 answers


0 members

We are migrating to our new platform at Moving forward, you can continue discussions on this new platform. This current platform will be temporarily maintained for reference purposes.
0 votes
152 views 0 comments
by anonymous
Does anyone know whether there is any definitive relationship between the data update rate(s) and the settings of the periods

in the modbus requestors and Data to Server config ?
I always observed our thingsboard data to be lagging way behind the current device data.
I have devised a technique to "measure" the update rate in thingsboard:

 return (time - timePrev) / 1000; in the data postprocess in a datacard.

In my naivete I assumed that:

- the modbus requestor periods simply controlled the rate at which the connected devices were polled.

- the Data to Server period controlled the rate at which ALL the data collected by the Teltonika was launched to the portal.
Well... upon closer examination it seems the update rate seen by the ThingsBoard portal is variable...
12s is a favourite, also 48s, 35s, 56s regularly occur - so the distribution is not random
Anyone have any clue about the relationships here ?
Obviously my naive seemingly common-sense assumptions are wrong.

I am pleased that by poking and prodding seems to have sped up the update rate - although I have a bunch of extra widgets generating spurious data...

1 Answer

0 votes
by anonymous

Yes, Modbus requestors poll the data from the devices at the interval set in the Modbus Master settings.

The interval in the 'Data to Server' sends data at the specified intervals. If you configure the Modbus requestors to poll some information each 15 seconds, then this data will be stored until it is sent by Data to Server. For example, if the timing is right and data to server is configured to send data each 60 seconds, then, during the period of 60 seconds, the device will have the data from 4 Modbus requests (60 secs / 15 secs = 4 requests). Keep in mind that the interval does not guarantee that the server to which you are sending data will receive it each 60 seconds exactly, but rather, that data will be sent each 60 seconds. The time when the data arrives at the server can differ. For the consistency, it is better if you configure intervals appropriately. Take the interval at which data is send to server (60 secs) and divide it by the interval in the requestor settings (15 secs). This would result in 4 Modbus requests each time the data is sent (no remainders).

For testing purposes, you can configure your RUT device as Modbus TCP slave and master and query its uptime only. Send it to the local server. You will see that the value of the uptime will reflect the configured interval. For example, if the inteval is 10 secods and the first uptime value received is 1012, the next one will 1022, 1032, 1042 and so on.

Kind Regards,