RUT200 Modbus TCP/IP Master

Good morning,

I have understood how RUT200 works. I can update all message registers starting only from address 397. It is not possible write directly inside other register, I mean 400, 410, 420.

Honestly, I don’t understand why this complication.
Since it is a Modbus Server, I don’t understand why I can’t update the SMS registers as I like and then set register 398 to 1 to send the SMS.
In any case, I need to start writing only from register 398 to also write all the other consecutive registers containing the phone number and the message body.

So if I want only to update SMS number and SMS message without sending SMS I have to update all the registers starting from register 398 with value 0 and when I wnat to send SMS I have to update only register 398 by writing 1 of length 1.

Thank you

Regards

Michele

Greetings, Michelle,

Thank you for your question,

Although Modbus supports writing to individual registers, the RUT200 firmware treats the SMS-related registers as one structured block. For this reason, you must start writing from the base address (397 or 398). Partial writes to individual registers are ignored to ensure data consistency and prevent corruption of the SMS buffer.

For more information regarding registers, you can refer to this article:

Please let me know if you have any additional questions.

Kind regards,
V.

First of all, thank you for your help.

I finally managed to successfully send SMS messages via Modbus TCP/IP.
Usually, I interface with many other Modbus devices, but I’d never encountered any desired limitations in the protocol.
However, once I understood it, I found the solution, with your help.
Thanks for the support.

Now I’m wondering if it’s possible to read the contents of the last SMS received from the RUT200 and insert it into a Modbus TCP/IP buffer.

I know the RUT200 can receive service messages, but I need to receive free messages and read them into a Modbus register area, so I can use them with my application and send customizable messages how do I do it now.
It would be nice to have a new SMS rules.
Action name: “Modbus SMS Receipt” and save phone number and message inside Modbus register. Same registers style to send SMS by Modbus.

If this isn’t actually possible, is it possible to add this feature in future firmware versions?

It would be important to know the last message received and the phone number that sent it.

To send
Send SMS register address 396 1 register
Add SMS register address 397 90 register

To receive
Receive new SMS -> register address XXX 1 register
(incremental register updated every time a new message is received)
SMS content -> register address XXX 90 register

Another issue I encountered concerns the responses to the two registers
“Active Sim Card” modbus register 87 and “GSM operator name” modbus register 23,
when the SIM is not installed in the RUT200, and they are probably not the only ones register with this kind of response.
I have used these two registers extensively in my application.

I think it’s incorrect to respond with an ILLEGAL FUNCTION to these requests when the SIM is missing from the RUT200, but the request should still be responded to with messages explaining the lack of a SIM to avoid causing communication errors.

String answer with SIM card

  • Active SIM Card = SIM1
  • GSM operator name = Operator name

String answer with absent SIM card

  • Active SIM card = SIM absent
  • GSM operator name = SIM absent

Thanks again for your help.

Regards

Michele

Greetings Teknologix,

Thank you for your follow-up.

Regarding your question about saving custom SMS messages and sender numbers, you can achieve this using custom Modbus registers. These are necessary because the default registers cannot be overwritten.

You can find detailed instructions on configuring custom Modbus registers here:

Please note that implementing this functionality will also require a custom script, which is outside the scope of our standard support. However, you can refer to this guide for examples of custom scripts:

Regarding your suggestion about SMS rules, I have forwarded your feedback to our R&D team for consideration in future firmware updates.

About the Modbus responses when a SIM is absent, we understand that receiving an ILLEGAL FUNCTION response can be confusing and may affect communication in your application. Currently, the RUT200 Modbus service does not provide a descriptive response for a missing SIM, as this behavior is built into the firmware and cannot be modified via standard configuration.

As a workaround, you can use custom Modbus registers combined with a script on the device. The script can monitor the SIM state and write meaningful messages (e.g., “SIM1 present” or “SIM absent”) and the operator name into a custom register block. Your Modbus master can then read this information reliably. This approach does not change the native Modbus behavior but provides a clear way to monitor SIM status.

I hope this helps clarify your options. Please let me know if you have any further questions .

Warm regards,
V.

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