Messaging Help ControlLogix to Micrologix 1400

threetrey

Member
Join Date
Feb 2020
Location
USA
Posts
18
Hello everyone, I'm having an issue trying to get a messaging instruction to work. I'm trying to get some data from a Micrologix 1400 to a L83E ControlLogix.
The MSG stays with only the "EN" bit enabled and will only occasionally enable the ER bit for a split second. The error code I'm getting is 16#0001 extended error code 16#0000_0204


My MSG instruction is setup as follows:
Message type: SLC Typed Read
Source Element: N74:0
# of elements: 10
Destination Element: L13_Int[0] this tag is data type INT[10]
Path: 2, 192.168.110.230
Communication Method: CIP


This path is the same address I use to go online with that Micrologix PLC and I have no issues going online with it. I haven't been able to find anyway to get this to work so hoping somebody has run into this before


Thanks
 
Error code 0x0204 is definitely an ordinary TCP connection timeout.

The CIP Path looks correct; Port 2 is the Ethernet port on the front of a 1756-L8x controller.

Are there any routers between the 1756-L83E and the MicroLogix ? Are they on the same /24 subnet ?
 
The MicroLogix is behind a NAT actually. I was thinking it would work with that path because I am able to ping that IP address directly, but I guess not.

I don't know too much about NAT's though, so I'm not sure how to get around that?
 
Well I was able to find another program where someone had setup a MSG instruction to another PLC behind the same NAT. I used that same path and now I've gotten it to work.


Thanks for the help
 
The most common issue is that the target PLC doesn't have the Default Gateway set for the local IP of the router (in your case, a NAT device). It can respond to messages that originate on the local network, but not ones that originate from outside.

But if your RSLogix 500 properly connects to the same IP address from outside the NAT device.. that can't be the problem.

I'm very interested in how a CIP Path change would affect this. Can you provide details ?
 
Yea so I don't really understand why this works but I'll try to explain what I did.


The path I'm using now that works is: 2, 155.193.71.58, 2, 192.168.110.230
On RSLinx, the IP address for this device appears as: 192.168.110.230 [192.168.200.151]


This is a project for a customer, so I don't know the history of their IP address setups. On the file I have from them I did find a section with these IP's labeled as:
New IP Address: 192.168.200.151
Old IP Address: 155.193.71.58


So I'm guessing these IP's have something to do with the NAT, and I just have to go through the 155.193 IP first to be on the same network as this device.
 
The path I'm using now that works is: 2, 155.193.71.58, 2, 192.168.110.230




Where is this addressing scheme defined? I am google-searching through Rockwell documentation and finding bupkis.


I seems similar to the old uunet address scheme, where you specify each node in the path to the target. If that is correct, then

  • the first [2] is an ethernet card on the source CLX that can "see" 155.193.71.58,
  • [155.193.71.58] an IP address owned by an ethernet card on the second node, which is the terminal node of the first hop,
  • the next [2] is a second, separate ethernet port on that second node,
  • and that [second node's port 2] is on the same network as [192.168.110.230].

Am I close? Am I hallucinating? How many hops are possible?


If that is the case, although there may be NATs in the logical networks on-site, I'm not sure conventional NAT has anything to do with this particular address path.
 
Last edited:
Yes the way you laid it out is correct. I'm not sure if there is a limit on the number of hops you can do, but I know you can do at least 2 like that.


I have another machine on this project that's tied to the network through a larger main machine. The path I'm using for that is something like: 2, Main Machine IP, 1, 1, 2, Secondary Machine IP


I don't see an example of this in the Rockwell documentation either actually but I've seen it many times in other programs
 
[*]the first [2] is an ethernet card on the source CLX that can "see" 155.193.71.58

I am far from an expert on the topic, but I believe that first [2] indicates port 2 on the controller, which on L83E I believe is an ethernet port. If there were a separate ethernet module (due to being an older processor lacking integrated ethernet, for example), the address would begin 1, [slot #], … (1 meaning the backplane port of the controller)

I recently set up a MSG on one of the newer compactlogix with a dual-IP setup, took a minute to figure out I needed to begin with [3].
 
I don't know too much about NAT's though,




I see stuff like this a lot, and I think the cause is lack of exposure; I think it may be easily resolved, so I put this explanation together.


Given that this audience will be intimately familiar with bit-wise AND operations, I hope it will be reasonably clear, but I am open to comments and suggestions for improvement (or removal, if I am way off the mark).


I realize there is a NAT Wiki, but that comes at one cold, assuming an understanding of IP communication. I wanted to approach it from a more comprehensive angle, that fundamental aspects of IP (peer-to-peer communication, gateways, netmasks, LANs), are both the genesis of the problem that NAT solves, and the framework in which NAT operates. Maybe I succeeded, or maybe I have failed to account for the mistaken assumption of being normative. Again.
 
I am far from an expert on the topic, but I believe that first [2] indicates port 2 on the controller, which on L83E I believe is an ethernet port. If there were a separate ethernet module (due to being an older processor lacking integrated ethernet, for example), the address would begin 1, [slot #], … (1 meaning the backplane port of the controller)

I recently set up a MSG on one of the newer compactlogix with a dual-IP setup, took a minute to figure out I needed to begin with [3].




Yes, there is a whole card/port/slot addressing thing that the congnoscenti take for granted while the rest of us sit in wonder; where is this all documented? Is it only culled by experience and/or a TechConnect contract? Because I find programming these things to be trivial*, but this internals knowledge is the Holy Grail where the money is to be made, IMNSHO.


* of course programming them well is always a distant target
 
Most of what I know about configuring MSG instructions I've learned from reading answers to people's problems on this site :)


This particular issue has at least some documentation under the MSG instruction in the Logix5000 Controllers General Instructions Reference Manual, specifically the 'Specify the Communication Details' section.
 

Similar Topics

We added a ControlLogix PLC to an existing network of SLC 5/05s. Primarily, to use the OLDI Module in the ControlLogix rack to send some...
Replies
4
Views
5,314
I need help with an issue. I need to send some Messages from a Controllogix L55 to Compactlogix L23e thru Ethernet/IP... so i have an error...
Replies
4
Views
13,272
Bar Code Data Object (70 HEX - 1 Instance) Class Attributes Attribute ID Name Data Type Default Data Value Access Rule 1 Revision UINT 1 Get...
Replies
0
Views
1,105
I need a little help again guys. I'm trying to understand how on this CLX program the alarm messaging is being manage. I'm trying to add a new...
Replies
0
Views
1,177
Hi, We're upgrading a plc5 to control logix and are using a dhrio card to communicate with the DH+ network... but I can't figure out the...
Replies
2
Views
1,506
Back
Top Bottom