RSLogix 5000 MSG

marvis

Member
Join Date
Mar 2016
Location
Italy
Posts
108
Hello everyone,

it is the first time that I need to exchange messages between 2 PLCs, a L16ER-BB1B and an L61. The first has 192.168.1.1 as its address, the second 192.168.2.1.
Is it possible to communicate?
I'm currently working on the first one and I can't figure out what to write in the path, because if I type "Ethernet, 2, 192.168.2.1, 1, 0" it comes out as an error code "Failed to set Path Value to Ethernet, 2, 192.168. 2.1, 1, 0. The module could not be found".

Come to proceed? thank you
 
Since the 3rd octets are different, the 3rd octet of the subnet mask settings of both PLCs must allow for that. In most cases a network with IP addresses being with 192.168 will have a subnet mask of 255.255.255.0 so that any differences in the first 3 octets will keep them isolated from each other.
 
So we will assume that the "first one" is the CompactLogix and the second one is the ControlLogix.

Just as a hint, you can add the other controllers to your I/O configuration and that will make it so you can select the controller rather than trying to type in a path manually. It isn't required, but it does make things a little easier.

Let's look at your path bit by bit and see if we can identify any issues
  • First we have "Ethernet". This implies you intend for your message to exit via the built-in Ethernet port. However, that name should be the name of your controller and not simply "Ethernet". Click on the browse button and select the Ethernet port and you should see your controller name fill in.
  • Next we have "2" which would tell the message to exit via the Ethernet connection. This appears to be good.
  • Then we have the IP address for the second PLC "192.168.2.1" This also appears to be good.
  • Then we have "1" which tells the message to go through the Ethernet module to the chassis backplane. Good here too.
  • Lastly we have "0" which I presume is the slot # for your ControlLogix CPU. If correct, then we are good here also.

So the only gotcha is with the first part of your path.

Be aware that when you go the reverse path (CLX to CMPLX) there will be some differences. The path could look something like this "Local_ENET, 2, 192.168.1.1"

Because Ethernet is not built-in to the ControlLogix, you must have an Ethernet module in the chassis. That module, like all modules, will therefore have a name assigned to it. The first part of the path will have the name of your Ethernet module. For example I almost always name that module as "Local_ENET". That is my standard naming pattern for any local communications module. You will have whatever name you have chosen to use.

Then the "2" tells it to exit out the Ethernet port and then the IP address for the CompactLogix. Note that because Ethernet is built-in to the CompactLogix nothing is required after the IP address.

OG
 
Last edited:
Thanks a lot for the answer.

One thing, the idea is to pass an ethernet cable from hub to hub, in this way what should I write in path "2, 192.168.2.1, 1, 0"?

Should I set the messages from both plc software of the 2 different lines or just do it on a software, in my case I would like to do it from L16.

Thanks again.
 
Thanks a lot for the answer.

One thing, the idea is to pass an ethernet cable from hub to hub, in this way what should I write in path "2, 192.168.2.1, 1, 0"?

Should I set the messages from both plc software of the 2 different lines or just do it on a software, in my case I would like to do it from L16.

Thanks again.

Hubs/switches do not factor into the path. They are transparent to the messages.

I'm not sure I understand the second part of your question. But let me take a guess. I always prefer to use READ type instructions. Have logic in PLC1 to read from PLC2. Then have logic in PLC2 to read from PLC1. This makes troubleshooting easier. If I were to WRITE the data from PLC1 to PLC2 then PLC2 would see data appearing but have no way to track where it came from.

OG
 
Last edited:
Sorry, I try to express myself better.

I have prepared these interfaces, see the pics, please.

Are sufficient? It should be ok? Or should I prepare the same thing for the 1756-L71 plc?

Thanks again and sorry, it's the first time for me.

IMG1.png IMG2.png IMG3.png IMG4.jpg
 
Yes that all looks good. I don't see anything that stands out as wrong.

But, OkiePC and JeremyM are bringing up potential issues with the choices for IP addresses. I'm not sure how fluent you are with IP addressing. I apologize if this gets too technical. It would help if we knew two additional settings for your system. What is your subnet mask and what is your Gateway Address? These are configuration settings for the PLCs Ethernet modules.

In most networks we have a common subnet mask that is used. That is typically 255.255.255.0. There are devices that use this mask by default. That mask allows for a network containing 256 IP (254 useable) addresses.

For example, this might result in 192.168.1.0 through 192.168.1.255 as our available range. This is often called our "subnet". 192.168.2.0 through 192.168.2.255 is an entirely different subnet. Devices on those two subnets would not be able to communicate to each other without the use of a expensive router (routers are also identified as a Gateway). Unless...

Unless a less common subnet mask were used. Something like 255.255.0.0. That mask allows for 65,536 (65,534 useable) IP addresses. With that mask our subnet would start at 192.168.0.0 and end at 192.168.255.255. The first and last addresses on any subnet are reserved, so the usable addresses would be 192.168.0.1 through 192.168.255.254. This would be a potentially huge network that could possibly have issues with broadcast traffic. Not at all recommended for a control system.

We could also use 255.255.252.0. That mask allows for 1,024 (1,022 useable) IP addresses. With that mask our subnet would start at 192.168.0.0 and end at 192.168.3.255. The first and last addresses on any subnet are reserved, so the usable addresses would be 192.168.0.1 through 192.168.3.254. Also not great for a control system.

If there is a router in the system, then that helps. A router can connect multiple subnets together and permit them to exchange data. But ideally, I want my PLCs on the same subnet so they don't have to go through another device to reach their destinations. Routers add a bit of a delay that is usually not desirable in a control system.

The other issue is that as I mentioned there are "usable" IP addresses and reserved IP addresses. The first and the last address on a subnet are reserved. So if we are using 255.255.255.0 as our subnet mask for the 192.168.1.0 subnet, 192.168.1.1 through 192.168.1.254 are usable. But, the .1 address is commonly used for routers so we usually don't use that address. This is not a hard and fast rule. But it is a common practice to reserve the .1 address for a router to use.

What I have described here is just using some addresses as examples. It can get much more complex that what I have detailed. Ideally, try to make sure your PLCs are on the same subnet whenever possible.

OG
 
Thank you very much for the clarification.

As soon as possible I will check the type of subnet, which I believe it is, for 255.255.255.0 for both networks.

In case I have problems, would it be sense to use the same address as the other plc, specifically "192.168.2.xxx" for my work as well (I will have a maximum of ten new nodes)? Or is having the same subnet enough?

Thanks again, I'm learning a lot.
 
I confirm that both subnets for both plc are "255.255.255.0", so in this case do not have problems (crossed fingers).
 
If they both are using 255.255.255.0 then the two subnets cannot talk with each other. They are separate networks. Even if they are all plugged in to the same switches, based on their IP addresses they are two separate networks.

I would suggest that you get them on to the same subnet.

OG
 
Ok, thanks! So If I understand correctly then, the solution would be to change my new plc (which is now 192.168.1.1) and then point IO, etc. to "192.168.2.xxx" and leave the subnet "255.255.255.0".

It's correct?
 
I always prefer to use READ type instructions. Have logic in PLC1 to read from PLC2. Then have logic in PLC2 to read from PLC1. This makes troubleshooting easier. If I were to WRITE the data from PLC1 to PLC2 then PLC2 would see data appearing but have no way to track where it came from.

OG

I used to agree with this many years ago, but that does not work that well when messaging from a RS5K to RS500/RS5 .
Also, as long as the ‘write’ destination PLC is documented, it should be ok.
 

Similar Topics

I'm trying get information from another same PLC PLC1: CompactLogix 1769-L16ER-BB1B (192.168.0.133) PLC1: CompactLogix 1769-L16ER-BB1B...
Replies
17
Views
1,677
Hello, I was curious if any one could shed some light on setting up a MSG statement between two PLC's on different networks. I'm trying to read...
Replies
1
Views
1,342
If you click help and then click Vendor Sample Projects while in RSLogix 5000, a PDF will pop up with some neat examples. One example shows how to...
Replies
5
Views
3,902
Hello Guys, I'm trying to set up a message instruction between two Compact Logix processors that are on the same ethernet network. All I'm...
Replies
9
Views
2,482
I have a question on a subject of etherent nodes in rslogix 5000 project tree for a project that I am working on. I am trying to read if read...
Replies
5
Views
4,736
Back
Top Bottom