Modbus Slave RTU/TCP problem

Discussion of configuring and troubleshooting communication to PLC's or other devices using iX Developer.
antoineA
Posts: 20
Joined: Fri Dec 02, 2011 8:22 am

Modbus Slave RTU/TCP problem

Post by antoineA »

Hi,

I'm developing an HMI on T4A panel and I try to communicate with it from my computer with TCP Modbus. I have a TCP modbus software on my computer which allows me sending and receiving data in Modbus format.
I have chosen Modbus Slave controller in Ix Developer and I have a problem. By default, the number of holding registers is set to 2048. I change it to 10000 (like indicated in the supported range) and when I try to send data at register n°2050 for exemple, I have an error.
I have tried to send at registers :
n°2046 => OK
n°2047 => OK
n°2048 => Failed.

It's like the change of number of holding registers was not changed...
Is it a bug or a bad manipulation?

I hope you will understand me....

Best regards,
AntoineA.

antoineA
Posts: 20
Joined: Fri Dec 02, 2011 8:22 am

Re: Modbus Slave RTU/TCP problem

Post by antoineA »

I forgot to tell I have the ModBus Slave 4.12.04 version.

antoineA.

User avatar
Ron L.
Posts: 214
Joined: Fri Jul 15, 2011 3:21 pm

Re: Modbus Slave RTU/TCP problem

Post by Ron L. »

Have you mapped a Tag to address 2048?
Best Regards,

Beijer Electronics, Inc.
Ron Lloyd | Applications Engineer

antoineA
Posts: 20
Joined: Fri Dec 02, 2011 8:22 am

Re: Modbus Slave RTU/TCP problem

Post by antoineA »

I have done tests with a new project which contains only one screen with 5 Analog Numeric areas. I have defined 5 tags (one on each Analog Numeric) and mapped to them differents address.

1st test :
1st tag => address 2045 (mapped to first Analog Numeric)
2nd tag => address 2046 (mapped to second Analog Numeric)
3rd tag => @2047 (to third A. N.)
4th tag => @2048 (to fourth A. N.)
5th tag => @2049 (to fifth A.N.)

I've loaded the project in T4A (after changing controller setting according to my previous post) and I have this error (appears when screen is loaded, even if the connection with my Modbus software is not established) :
Error 03, 2045.

So I have tried another test, with this setting
1st tag => @ 2045 (mapped to first Analog Numeric)
2nd tag => @ 2046 (mapped to second Analog Numeric)
3rd tag => @ 2047 (to third A. N.)
fourth and fifth A. N. => no tags.

After loading project, I have tried these actions :
writing a value in @2045 : OK
writing a value in @2046 : OK
writing a value in @2047 : OK
writing a value in @2048 : NO OK, I have a text error : Error 05, 2048 (alright because I have no tag mapped to @2048).

I have tried a last test, with this setting:
1st tag => address 2046 (mapped to first Analog Numeric)
2nd tag => address 2047 (mapped to second Analog Numeric)
3rd tag => @2048 (to third A. N.)
fourth and fifth Analog Numerics => no tag.

I have loaded the project in T4A panel and this error message appears (always when the screen is loaded) : Error 03, 2046.

These tests confirm my first impression, which was that the controller setting was not changed (especially the number of holding registers, which stay at 2048).

User avatar
Ron L.
Posts: 214
Joined: Fri Jul 15, 2011 3:21 pm

Re: Modbus Slave RTU/TCP problem

Post by Ron L. »

I'm confused now, are you getting error messages on the T4A or the Modbus Master talking to the T4A? Have you got it figured out now?
Best Regards,

Beijer Electronics, Inc.
Ron Lloyd | Applications Engineer

antoineA
Posts: 20
Joined: Fri Dec 02, 2011 8:22 am

Re: Modbus Slave RTU/TCP problem

Post by antoineA »

Hi,

I have error messages on T4A panel and my Master Modbus doesn't return error messages.
If you try to change the number of holding registers with one of your T4A panel, do you have the same problem? (it will confirm if it's a bad manipulation or a bug)
Currently, I have reconsidered my project and change all Modbus adresses in order to avoid these errors...

Best regards,
antoineA.

antoineA
Posts: 20
Joined: Fri Dec 02, 2011 8:22 am

Re: Modbus Slave RTU/TCP problem

Post by antoineA »

Hi Ron,

I'm really sorry to insist but have you tried to change configuration of Modbus Slave controller? I really need to know if it's a controller bug or if I do a bad manipulation. I have tried many Modbus softwares on my computer and all of them return the same error : impossible reading/writing in registers above address 2048...

I have a recurent error message on the T4A "Controller 1 : Error 03, x". I have seen in controller documentation that the "Error 03, x" corresponds to a "Requested WORD device with address x not found in any area".

I have tried to upgrade the controller's driver but this has no effect...

User avatar
Ron L.
Posts: 214
Joined: Fri Jul 15, 2011 3:21 pm

Re: Modbus Slave RTU/TCP problem

Post by Ron L. »

If you're suspicious about the number of holding registers, I would just increase that setting to the max value of 10,000.

According to that drivers documentation Error 03 indicates "Requested WORD device with address x not found in any area.". The driver likely requires that you have a Tag created for each address that your Modbus Master is attempting to read. So I would expect that error to occur when the MB Master sends a request to an address that does not have a Tag created for it.
Best Regards,

Beijer Electronics, Inc.
Ron Lloyd | Applications Engineer

phrodo
Posts: 11
Joined: Mon Sep 24, 2012 9:08 am

Re: Modbus Slave RTU/TCP problem

Post by phrodo »

Hello...

Ron L. or antoine A. , do you have find any solution to the antoine's problem? I have the same error in a T7A Panel. The panel show an error 3 if i try read or write in a Tag above adress 2048.

I have the last Modbus drivers,

thanks...

best regards
consulta.jpg
consulta.jpg (66.31 KiB) Viewed 28631 times

mark.monroe
Posts: 824
Joined: Tue Mar 13, 2012 9:53 am

Re: Modbus Slave RTU/TCP problem

Post by mark.monroe »

Hi phrodo,

You are using 1 based addressing. To make sure you are dealing with the addresses right, you can map the address above and below what you think it should be and see if that eliminates your error.

So if I want to use tag 4000, I would associate 4001 and 3999 with a tag. Then if my error is eliminated I know that I am not mapping my Modbus Master and slave tags to the correct addresses.

Now I just need to find out which one of my three tags correspond to the address in my Modbus Master. To do that you need to change the value of the address on your Modbus master and see which one of the three tags in the HMI changes.
Best Regards,
Mark Monroe

Beijer Electronics, Inc. | Applications Engineer

Post Reply