FOR TIPS, gUIDES & TUTORIALS

subscribe to our Youtube

GO TO YOUTUBE

14455 questions

17168 answers

28195 comments

0 members

We are migrating to our new platform at https://community.teltonika.lt. Moving forward, you can continue discussions on this new platform. This current platform will be temporarily maintained for reference purposes.
0 votes
172 views 1 comments
by anonymous

It appears that a bug is changing what fields a 'Data to Server' message will show.

Previously, the firmware would correctly use the RS485 slave device NAME field and transmit that in the %n field:

Request: {"timestamp": %t, "reading": %a, "serialNumber": "%n"}

Response: {"timestamp": 1671619682, "reading": 46797.699219, "serialNumber": "21190240"}

Now, the %n field displays the 'Data to Server' configuration name, which is wrong, as it is totally irrelevant and simply the wrong field.

{"timestamp": %t, "reading": %a, "serialNumber": "%n", "Slave ID": "%i"}

{
    "timestamp": 1673890713,
    "reading": 84.010002,
    "serialNumber": "EastronSDM230ModbusD2SName",
    "Slave ID": "1"
  }
Can this please be addressed urgently. Thank you.
by anonymous

I draw attention to another bug in FW 7.03.2

I notice in the new firmware the serial modbus configuration is far more logical and intuitive

However, I notice there is a fundamental defect in specifying the target register address

I use ModbusPoll / Slave as my reference Modbus implementation / troubleshooting tools

and prepared simplified configurations of just two parameters and include communication logs herein:

When polling the Seametrics i4700 flowmeter with Modbus poll this is the transaction record:

Tx:000473-0B 03 1B 60 00 02 C2 5B 

Rx:000474-0B 03 04 42 A0 88 FA A2 2A 

Tx:000475-0B 03 1B 5E 00 02 A3 97 

Rx:000476-0B 03 04 00 00 00 00 50 33 

Tx:000477-0B 03 1B 60 00 02 C2 5B 

Rx:000478-0B 03 04 42 A0 88 FA A2 2A 

Tx:000479-0B 03 1B 5E 00 02 A3 97 

Rx:000480-0B 03 04 00 00 00 00 50 33 

0B (11) is the target ID
03 is modbus read holding register
1B 60 00 (7008) is register address for Total_Fwd
02 is register count
C2 5B is CRC
However, when the Comm stream is monitored when the RUT955 is polling the flowmeter we see this:
 
Tx:007470-0B 03 01 C1 32 
Rx:007471-0B 83 03 21 33 
Tx:007472-0B 03 01 C1 32 
Rx:007473-0B 83 03 21 33 
Tx:007474-0B 03 01 C1 32 
Rx:007475-0B 83 03 21 33 
Tx:007476-0B 03 01 C1 32 
Rx:007477-0B 83 03 21 33 
0B (11) is ID    OK
03  is read holding register  OK
01 is address ? and register count
C1 32 is CRC   OK
code 83 in Rx message indicates error

I notice the new firmware now processes the error code - and gives "illegal address" error
well, not surprising - there is no address in the request message
Given the short response time, and not observing any RS485 traffic synchronized with the Test request
I hypothesize that the return codes are already received and the Test button simply shows the data or the associated error
Seems to me that even for contiguous data addresses, there is no way to configure a single request block to
retrieve data from multiple addresses - and still associate them with some definite address/variable.
Where does the data go when one configures a requestor which retrieves data from sequential addresses ?
but only the first is associated with a specific "tag...

1 Answer

0 votes
by anonymous
Hello,

Thank you for reporting this.

The issue is indeed replicable. It will be forwarded to the development team.

The solution will be included with 7.4 firmware.

Best regards,