5069-L310ERM to Micrologix1400 Message Issues

SandwichMagic

Member
Join Date
Jun 2015
Location
Central California
Posts
96
I have tried to find this everywhere and I am really not sure what I am doing wrong. I am trying to use a CompactLogix and the message functions to read and write the inputs of a Micrologix1400 (1766-L32-BWA Ser. B) and cannot figure out for the life of me why my path is not recognized. I've read about a dozen different threads and seen tutorials and it seemed that I could select a SLC typed write/read, set the communication type to CIP, and my path would be 2,[IP address of the Micrologix], as its controller to controller using embedded ethernet for both. From what I understand, I do not need to add the micrologix into the IO tree using this method.

When configured in this way, I still have a message error of 16#0009 with extended error code of 16#0000_000c. I have attached screenshots of me online with the PLC to show what my path is and the error showing. I have not used the message instruction before but it seemed very straightforward, not sure why I am running into issues with it.

Any assistance would be greatly appreciated!

message parameters.PNG message parameters data parameters.PNG
 
...
I am trying to use a CompactLogix and the message functions to read and write the inputs of a Micrologix1400 (1766-L32-BWA Ser. B)
...

You can't write, from an external device, to the inputs of ANY plc that I am aware of without some significantly non-standard wizardry, but your screenshots show N7:0 which should be perfectly fine.

I had a project open that I just closed doing what you want to do with similar hardware and I am re-opening it now to take a look. As soon as RSLinx finishes scouring the known universe for a license that doesn't exist and allows Studio to eventually start running, I will post an edit.

EDIT: I have the number 4 for my path prefix where you have 2 and I don't remember which of the two physical ports my PLC network is plugged into. Why they're numbered A1 and A2 on the controller properties page and the prefixes, iirc, are 3 and 4 for MSGs, I am not sure I understand, but I suspect that is one of your other problems.

The other potential problem is that you are writing what is probably a 32 bit timer accumulator to a Micrologix 16 bit location.

I am not certain what will happen there, but I suspect that your value will wind up in N7:0 and N7:1 provided that both locations exist.
 
Last edited:
Your problem might be that Timer.ACC is a DINT and you’re trying to write it to an INT. Try sending an INT tag.

Edit: I think OkiePC got it with the port numbering. You might think that that information would be easily found. I don’t think it is. I wanted to know which physical port was A1 vs A2 without one handy to test. When I finally found the answer, I think it was tech connect level.
 
Last edited:
You can't write, from an external device, to the inputs of ANY plc that I am aware of without some significantly non-standard wizardry, but your screenshots show N7:0 which should be perfectly fine.

I had a project open that I just closed doing what you want to do with similar hardware and I am re-opening it now to take a look. As soon as RSLinx finishes scouring the known universe for a license that doesn't exist and allows Studio to eventually start running, I will post an edit.

EDIT: I have the number 4 for my path prefix where you have 2 and I don't remember which of the two physical ports my PLC network is plugged into. Why they're numbered A1 and A2 on the controller properties page and the prefixes, iirc, are 3 and 4 for MSGs, I am not sure I understand, but I suspect that is one of your other problems.

The other potential problem is that you are writing what is probably a 32 bit timer accumulator to a Micrologix 16 bit location.

I am not certain what will happen there, but I suspect that your value will wind up in N7:0 and N7:1 provided that both locations exist.

Apologies, I just meant that ultimately I am just trying to effectively turn this micrologix into a remote IO system. I did figure out earlier that you cant write directly to ins and outs, but in groups of bits or integers instead.

I have tried 1, 2, 3, and 4 for both send and receives and I still have the path error. In terms of topology, the connection is from A1 to an unmanaged switch and then into the ethernet port of the Micrologix. Every thing can see each other, I can even try to discover the micrologix as a module (it tells me to install a profile that I spent about 2 hours trying to find with no results) which to me shows that the Micrologix can see it.

I have changed the read and write to make sure that I am only working with INTs instead of dints. My test is to just write the value of this timer while reading in the value of the integer in the micrologix to ensure that I have 2 way comms.

Any other suggestions or stuff that I would need to setup prior in the chain like in factory talk admin console or such maybe? I seem to recall that I had some weird comms issues involving admin console with communicating to a panelview plus in the past but dont remember much once after I got it working.
 
What do you have for the port configuration of the L310, and even the ML1400? When you do get a connection, I expect the .ACC write to N7:0 would work with length of 2 and spread the value through N7:0 and N7:1
 
What do you have for the port configuration of the L310, and even the ML1400? When you do get a connection, I expect the .ACC write to N7:0 would work with length of 2 and spread the value through N7:0 and N7:1

I have attached the the port config and IP config. Should I be using A2 separately for these comms to the PLC? that provides its own problems but they are workable.

The micrologix is a little more involved to connect to and open up project wise but I can get that to you tomorrow. I can ping and see it just fine through RS Linx, I flashed it to brand new firmware today over ethernet exactly as my network is setup now.
 
Update: Got it working thanks to you fine folks!

I think ultimately the problem was as OkiePC, 5618, and L33er suggested, in that when using the A1 connection, your path prefix should be 3, [IP address]. Even after I made that change, things were still kinda funny until a couple power cycles later, and we changed from invalid path to connection failure (16#0001, extended 16#0000_0315) in the error description.

With my new error code, I was able to find a quote by the great Ken Roach,

The 16#0000_0315 error code is important. It doesn't mean "I never got any kind of response from the device so it's offline or mis-addressed". It means "The CIP Connection request returned a message that turned me down".

Followed by the sage-like wisdom only a true veteran would know:

Another try: Create a new MESSAGE type tag to serve as the control tag and use that in a fresh rung.

While it's uncommon, MESSAGE tags can get their internal (not usually visible to the programmer) data corrupted.

This website is the first resource I point people who are searching for answers in this field because time and time again it proves to be an invaluable source of knowledge.

Thanks again, fellas.
 
Do not try to write a ControlLogix DINT type tag to a MicroLogix N-file element.

It will not work, and will generate the "Parameter error in module configuration" error code from the MSG instruction.

Also do not attempt to put any kind of I/O module object in the ControlLogix project I/O tree to represent the MicroLogix 1400, or any other PLC-5E, SLC-500, MicroLogix, or Micro 800 controller. None of those can exchange cyclic I/O with a ControlLogix.

Create INT[x] array type tags in your CompactLogix and exchange them using MSG instructions with B, N, or F type data table elements in the MicroLogix.
 
Tuesday I had to give the eulogy for a great friend of mine.

Again and again, the people he mentored told stories that he would reassure them: "I'm not smarter than you. I've just been making mistakes for 20 more years than you have."
 
Tuesday I had to give the eulogy for a great friend of mine.

Again and again, the people he mentored told stories that he would reassure them: "I'm not smarter than you. I've just been making mistakes for 20 more years than you have."

That is good stuff right there.
 

Similar Topics

Hi, I am using AB 5069-L306ERS2 CPU. My system should achieve SIL-2. I have safety door switches connected to AB 5069-IB8S module, and I want to...
Replies
1
Views
110
Hi everyone, Kind of new at this, so we recently upgraded our 1769-l32e to the newer 5069-L320erm, i converted the file over and Verify the...
Replies
8
Views
403
We are in the process of upgrading a controls system. The existing system is a SLC500 with some IO cards and a 1747-SDN module communicating to a...
Replies
5
Views
548
Hi all, have a project which requires reading a weigh head weight over ASCII. Never really touched ascii so struggling a bit. The weigh head is in...
Replies
11
Views
1,245
Hello, I have a laying out a system that will have a CompactLogix rack and I had a question on the power for the inputs and outputs. I was...
Replies
1
Views
377
Back
Top Bottom