FOR TIPS, gUIDES & TUTORIALS

subscribe to our Youtube

GO TO YOUTUBE

12730 questions

15121 answers

24266 comments

47324 members

0 votes
235 views 6 comments
by
Hi,

I'm trying to setup the Modbus TCP Master-functionality with an SMS-alarm tied to it.

I have successfully configured the Modbus TCP Master settings and I'm able to query the Modbus Client and get the expected result. The result value is a FLOAT. I run into a problem when I try to use the conditions for the Alarm. I have configured the condition to "More than" and entered 25 as the Value.

I'm querying a temperature value that is a float. When I test-query the register (with byteorder 1,2,3,4) I get the correct response which normally is around 20.0001C.

However when I configure the Alarm, there is no setting for the byteorder and if I configure "More than" and set 25 as the value the Alarm is always true (and I get an SMS every minute if configured to Every trigger).

Is there a way to get this functionality working with a float?

I'm suspecting that the Alarm implementation does not know how to convert the float correctly.

/Gustav

1 Answer

0 votes
by
Hello,

Regarding this issue of yours kindly share with me a copy of the troubleshoot file so that we can check.

Thanks

Regards,
Mellow
by
Hi Mellow,

I have sent you a PM with the troubleshoot file.

Have you had time to review it?

All the best,

Gustav
by
I found an interesting piece of configuration in the modbus_tcp_master:

config register_be1e072aa51afbb9191e1c330f6f84ec

option alarm_cfg 'cfg013813'

option alarm_request '1'

option enabled '1'

option first_reg '12005'

option reg_count '1'

option function '4'

option data_type '16bit_uint_hi_first'

option name 'alarm request'

The option data_type seems to suggest the alarm is configured to process the modbus tcp-register as a 16bit_uint_hi_first where it should process it as 32bit_float1234.

There seems to be no obvious way to make this configuration setting from the GUI...

Can I just change the config from vi in ssh and do a luci_reload?

All the best,

Gustav
by
Hello,

Kindly try to upgrade the firmware of the device to the latest firmware and test.

The latest firmware can be downloaded here: https://wiki.teltonika-networks.com/view/RUT950_Firmware_Downloads

For the question, if you can do it via vi in ssh and luci-reload yes you can try :)

Regards,
Mellow
by
Hi,

Just updated to version 06.08.3 which is the last stable version and the system behaves exactly the same unfortunately.

Have tried to change to:

option data_type '32bit_float1234'

option reg_count '2'

But it seems that the firmware does not parse these options at all as it behaves exactly the same...

I would appreciated any suggestions!
by
Hello,

I will try to consult my colleague if they encountered similar issues with this. I will let you know once receive feedback from them.

Regards,
Mellow
by

Hello, 

Got feedback from my colleague, here is the reply

"Modbus Alarms can be configured only for a single register, which means it cannot be more than 16-bit data type since one register can hold information only up to 16 bits. In other words, with base firmware, without any custom development, Modbus Alarm data type is set to 16bit uint for a single register, and cannot be changed."

To apply this kind of feature with the device there is some additional research and development needed for it to work with the router. It is best to communicate with your Teltonika Sales Account Manager in this manner if you want to proceed. 

If you are able to do it on your own the SDK of our devices is available online you can customize or change things. Just keep in mind any changes and implementations to the said firmware is out from our support scope :) 

SDK Link: Software Development Kit - Teltonika Networks Wiki (teltonika-networks.com)

Regards,
Mellow