Edge. Modbus Serial Node. No Parity and Stop Bits?

Hello,
I decided to try a newly released feature of Modbus Serial (Thank you for this release, by the way!) instead of running EXEC Node with Modbus RTU routines. The SERIAL configuration looks a bit different from a standard Modbus RTU Configuration. There are no Parity or Stop bits. Does Agent handle these parameters automatically? Is a port name the same as presented in the docker container? I tried to read registers from the existing/tested peripheral devices with Modbus Read Serial Node, but it didn’t work. Not sure how to debug it now. Could you advise please?

UPD: Just checked that my RX LED on RS-485 Module blinks once a Read command sent from MODBUS READ/Serial, so some sort of request reaches peripheral Modbus devices

Hello Alexander,

If you have a Debug Node after your Modbus: Read Node, what error did you get in the Debug Panel when it did not work?

I am going to try and answer all of your questions below. Let me know if I miss anything or if you have additional questions.

  1. We currently have a ticket generated to add this feature to allow the user to configure the parity, stop bits, and data bits. We are actively working on this feature now. I will add your name and request to this ticket.
  2. The Modbus: Read Node for a RTU connection is using the following values: data bits: 8, stop bits: 1, and parity: none.
  3. The port name is the same name presented in the Docker container. You get the Modbus serial data from your Edge Compute device into the Losant Edge Agent docker container following the steps listed in this post. It sounds like you have this working since an indicator light flashes on your device when your Modbus: Read Node executes.

Do you know if your Modbus network is using 8 data bits, 1 stop bit, and none for parity? If it is using these parameters then the Modbus: Read node should work for you. I cannot see the rest of your Modbus: Read Node configuration but I am assuming that you entered a register to read.

Let me know how I can continue to help or if you have more information you can provide based off of the information above. Also, let me know if there are any additional configurations besides data bits, stop bits, and parity that you would expect in a Modbus: Read Node for a RTU connection.

Thank you Alexander,
Kevin

1 Like

Kevin,

Thank you for the prompt reply.

Yes, I am using the standard configuration 8N1. I agree that hardware/port provisioning to docker/port name seem to be ok. Yes, I had Holding and Input registers configured, although two things are always confusing to me when configuring Modbus:

  • register count starts from 0 or from 1 depending on the implementation
    -If I need to add 40’000 for Holding and 30’000 for Input register addresses
    It would be nice if you add relevant description to docs.losant.com.

I will keep trying to get my devices talk to Modbus Read/Serial node while waiting for new feature release.

Alexander,

To make sure I understand, you are suggesting to add to the docs that if someone is trying to access, for example, register 40001 that they would select Holding Register in the dropdown and then enter 1 instead of 40001 as shown below.

I would like to update the docs with your suggestion to make it more clear for you and other Losant Developers. Please let me know if I understood correctly or if I missed something.

Thank you Alexander,
Kevin

Kevin,

First of all, I’ve got it! For some reason I was thinking that Timeout is in seconds, but seems to be in milliseconds. So, I was able to read my first register :slight_smile:

Regarding the settings, there is function code and offset for the address. According to my experience (that might be very limited comparing to other control engineers/forum members), the combination of those settings differs from one to another modbus implementation. I would say it would be nice to have “default” Losant settings and also a leverage to change it.
There are some modbus tools that allow to give a wide range of settings and preview bytes you send to the device.
The most convenient tool for Modbus RTU testing I’ve used called Simply Modbus. I will provide a screen shot for your reference, otherwise there is a demo version available on the manufacturer’s website

Alexander,

Nice work - I am glad you got it working!

We are going to update the docs to include some of the feedback you mentioned above, such as defaults and to be more clear that the Timeout is in milliseconds. We will also let you know when user configuration of data bits, stop bits, and parity is implemented.

Keep the suggestions\feedback\questions coming anytime you run into anything platform wide. We appreciate it!

Thanks again Alexander,
Kevin

1 Like

Hi @Alexander_Kondrov,

I just wanted to follow up and update you that our latest Platform Release included the ability to define Data bits, Stop bits, and Parity.

Have a great day!
Julia

Hi Julia,

Thank you for these new great features and triggers in Edge Agent!

I have been able to update agent on my test devices and test it this morning. So far, all my field devices work with Modbus Read Serial Node.

Have a good weekend :slight_smile:
Alexander

1 Like