Modbus TCP/IP Connection between 1769-L16ER-BB1B and Unitronics V200-18-E2B

Join Date
Mar 2019
Location
Montreal
Posts
7
Hello, I'm gonna try to make this as clear as possible.

For a project, we have 3 Unitronics PLC's controlling each a machine. The company that sold us the machine told us that we should be able to communicate with them through Modbus TCP/IP to read and write different informations (current or voltage values, recipes numbers, things like that).

They gave us an info sheet that said that those informations are contained in the addresses 1000 to 1003 and 1104 to 1108. Now I'm not a Modbus expert but from what I understand, considering these informations are Words (or integer, not actually completely sure), theses adresses probably actually represent 41000 to 41003 and 41104 to 41108 because they should be holding registers.

Now I'm pretty much finished with my intro, let's get into the problem.

The company gave me a firmware that they use to verify the communication between PC and PLC and it works so I know i'm able to communicate with the Unitronic PLC.

But, and here is my actual problem, It seems I am unable to read or write information to the Unitronic PLC using the Modbus TCP AOI in Studio5000.

The status tags makes it seems like I'm connected, but I keep getting Sts_Overlap or Sts_Overload errors even when I change my PollInterval.

I added some screenshots to try to show better what I mean.

Thanks in advance for your help and don't hesitate to ask for more information.

Screenshot 1.png Screenshot 2.png Screenshot 3.png
 
the_msp's advice is spot on. One of the major bugaboos with Modbus is figuring out which end is not playing nicely. So use a Modbus communication program to get things ironed out on one end and then fix it at the other end.

Or it could just be a triggering problem.

According to this:

https://blog.reynoldsonline.com/wp-...AOI-based-code-for-ControlLogix-v-2.00.01.pdf

These are the reasons for your errors:

d. Sts_Overlap output indicates that one or more transaction is not completing before next trigger
e. Sts_Overload output indicates excessive Overlaps in one or more transactions
 
Setting starting address to 999 does not look correct. Most likely you need to use 1000 as they already applied offset on the slave side.

Commmand 16 does not look correct to me. Try CMD 3 to read just 1 register.
Also result STS 2 is indication that slave does not like your request.

Also post ACD file upload in faulted state if CMD 3 does not work.
 
Last edited:
Hello

I Made an aplication where a Unitronics Vision 230 acts as modbus server and a Cti plc with 2500 ECP ethernet module was configured as modbus tcp client. When I want to Read for example in MI 401 to MI410. Then this was holdingregister 400 to 499 (one lower because off o based modbus offset) . Perhaps ask your supplier at what adresses the info in the Unitronics is stored.

Kind regards

Henny
 
The Rockwell AOI is a huge memory hog. I'd use a gateway that will give you the ability establish communications without using a large chunk of the PLC's memory. That said, the Unitronics devices need to be Modbus TCP/IP servers and the CompactLogix should be a Modbus TCP/IP Client. More than likely the Unitronics devices are servers but the AOI allows for the CompactLogix to be servers and clients (in other words, make sure it's set up as a client).

https://www.spectrumcontrols.com/products/universal-gateway/
 
So I was working on other stuff so I couldnt try out your suggestions before today.

Quick Update, I tried the_msp's advice. It is working well when I use the Modbus Poll Client. So thanks for that, it helped me a lot to reduce the different possibilities of problems.

Now, the weird part, I am able to write to the Unitronic PLC (even tho I keep getting Sts_Overload error) but i am unable to read values (I get Sts_Overlap error).

At least I know now that the problem seems to be linked with the AOI so thanks a lot everyone for the help :)

At that point, I might just follow Firejo's advice and get a gateway since I know the Modbus TCP connection is working
 
All right, I found my problem, It was such a dumb little thing, but my limited knowledge of Modbus TCP made it so I didn't see it.

In the Transactions parameters, I had to set the UID to 1, and now everything is working perfectly.

Again, I have to give a big thanks to the_msp, It was by comparing the modpoll settings to the AOI settings that I found out I had to put the UID (slave ID in modPoll) to 1.
 
Are you trying to write to M and MW memory.


Timers and counters have diffrent modbus areas for writing and reading setpoints.


p.s Ok, you get it working.
 

Similar Topics

Hello gentlemen, Im working on a small project on TIA Portal, about establishing a Modbus TCP connection between my ET200SP plc and a socomec...
Replies
12
Views
305
Hellow, I would like to build a MODBUS TCP connection between a Siemens CP443-1 (or a Siemens CP343-1) card and Visual Basic Application on...
Replies
9
Views
12,590
I have a new 1211C to play with so I decided to test its Modbus TCP instruction. I have followed the guide below but it seems that I can't...
Replies
4
Views
3,578
Dear experts I have a great problem in terms of connection between PLC and vision software through Modbus TCP. Roborealm (vision software) is...
Replies
0
Views
2,452
I have a PH meter that I am trying to bring its data into 1756-L81. I have downloaded the Rockwell MODBUS AOI kit, but I am not sure if I need to...
Replies
5
Views
151
Back
Top Bottom