ML1100 to Compact logix L32, handhake via ethernet.

vk_bt1

Member
Join Date
Jul 2007
Location
Australia
Posts
57
Hi All, I've read a number of posts and have some conflicting info on the best way to achieve this.

Has anyone actually done it, and if so what was the method you used?

Does the ML1100 support the Produced/Consumed method?

Or was messaging used?

Thanks.
 
Last edited:
Hi again, thanks for that info.

I think I have the ML1100 side of things sorted, but am having some hassles with the CLX config. Any hints, or example prog's out there?
 
.... Bump.

The ML1100 appears to be broadcasting, does anyone have some example code, screenshot, etc of the Compact Logix setup in order to recieve this (and transmit once this hurdle is overcome)

Thanks.
 
What are you actually attempting?
For Logix <-> older (SLC/PLC) platform messaging, the easiest route is to have the Logix platform issue a MSG TYPED READ to the ML1100/SLC/PLC series.

Going the other way (ML/SLC/PLC) reading from a Logix processor, it helps to map an array in Logix to a 'File' (I think under communications tab).
 
Post the code you have and we can help you figure out what's wrong with it. For a general tutorial on how to use messages between the processors, the manual is actually very good. I don't know that my example would be any better.

However, something you said does send up a flag...

The 1100 is broadcasting, and you are looking for code to receive it. This indicates a basic misunderstanding of how messages work. No big deal, it's a fairly common misunderstanding.

Message instructions do not work in pairs, each message instruction will take care of the entire message by itself. If you program a write message in the 1100 with its destination as the CompactLogix, then there is NO code required on the CompactLogix end. The data just shows up in the target memory locations.

When you are writing from a MicroLogix (no tags) to a CompactLogix (with tags) you have an additional problem. The MicroLogix doesn't understand the CompactLogix memory layout because it uses tags. So there is no way to specify the target location as a tag. What you have to do instead is use a MicroLogix style address, and then map that address to a tag in the CompactLogix. See the "Logic -> Map PLC/SLC Message" on the menu bar in RSLogix5000.

This is one reason why it is easier to put the message instructions in the CompactLogix instead. It understands the MicroLogix memory layout just fine and needs no help on that end.

For myself and several others here this is easy stuff, we do it all the time. Your challenge is to tell us exactly what you are trying to accomplish (the big picture) and where you are stuck. Then we can get you an answer that will work for you.
 
Last edited:
Thanks for your all your responses.

Mellis: I've been away from this project for awhile, and now have some time to spend on it again.

Basically we are trying to achieve line control over Ethernet. There will be a single compact logix PLC as the "master PLC", and each individual machine will have its own subsequent PLC (some ML1100's, and some ML1500's with ENI adaptors).

In response to your post above, you hit the nail on the head in that I misunderstood the message operation. I was indeed expecting A write, and a corresponding read in the recipient PLC.

Currently I'm setting up an ML1100 on the bench to send some info to the CPX.

The ML1100 has a MSG instuction loaded in:

"THIS CONTROLLER"
* Message File = MG13:0
* Channel 1 (Integral)
* Communication Command: PLC5 Write
* Data Table Address N7:0
* Size in Elements: 1

"TARGET DEVICE"
* Message Timeout: 33
* Data Table Address: N11:0
* Local Remote: Local
* Multi Hop = Yes
* Routing Information File: RI10:0

Hop is setup with the CLX'es IP.

I presume the example most appropriate here is the example: "Configuring a MicroLogix 1100 CIP Generic Message via Ethernet (OS Series B
FRN 4 or later)"

There isn't an option for "CIP Generic", is this version related?


From the CLX end, when you say, use a micrologix style address, how exactly do you do this? It wont allow the colon in the tag description, and if you enter the ML1100 syntax in the Alias column, it is unhappy with this and is unverifiable. How do I tie this up? Throught the Map PLC/SLC Message function? I haven't found this in a manual yet, any pointers as to where I can find it, or advise as to where I am going wrong would be much appreciated.

Cheers.
 
OK, first off let me reiterate that putting your MSG instructions in the CompactLogix will make this MUCH EASIER to understand. If you choose this route, chapter 4 of the Logix5000 Controllers General Instructions manual will be your guide. You will want SLC typed Read and SLC typed Write messages. The path gives people trouble until they see one working. Tell us your configuration details and we can work it out for you. The manual is actually good, but it's where a lot of people stumble anyway.

However, if you really want to put the MSG instructions in the MicroLogix1100, you can and it's not all that complicated. The configuration in your post looks good. I'm not sure your route is completely correct. Add another hop to get to the ControlLogix backplane and then to slot 0. (I think this is right for a CompactLogix, try it and see.)

Now to the real trick to make this work. How do you get N11:0 to work in the CompactLogix?

First create a tag to be your destination. Call it N11 and make it an array of Ints. I'd make it at least 10 long even if you only want 1 Int to start with.

Next is the mapping. There is a function accessed from the main menu bar in RSLogix5000. Look for "Logic" on the main menu. (Yes, it's not very intuitive, you can start a Rockwell bashing thread if you like.) Under "Logic" is an option "Map SLC/PLC Messages". Click on that and you will get a dialog with two columns: "File Number" and "Tag Name". Enter "11" in the "File Number" column and "N11" in the "Tag Name" column. Hit "OK" and you're done.

If everything is configured correctly, you should be able to send data to N11 in the CompactLogix.

Good luck and let us know how it works out.
 
Last edited:
Many thanks again for a helpfull response.

I had most of that in place, but .... must have missed something simple. I'll go through and double check today.

Also, I take your point re: doing it from the CPX end. Whilst I'm confident this is good advice, something stubborn inside me wants to understand and know it from both directions.

I'm not really interested in jumping on board the AB flame train [ at this point ;) ] , It certainly is a different mindset to the S7 gear I'm used to and comfortable with, but if we don't step outside our comfort zone from time to time, what fun would that be!

Cheers.
 
Ok, I've got some comms happening. I'm quite relieved I must say. I was really tearing my hair out as It all appeared to be right. The final hurdle, and probably something I should have spotted somewhere in the docs, is that apparently you cant just jam the msg instruction on a rung essentially on its own. I put in a couple of timers and poled it, and "voila". A lesson learn't here is to post code on the forums earlier.

.....now, onto reading (ML1100 reading from cpx, should be pretty simple). Then onto doing the message commands from the cpx end.
 
OK. Things are working, both read and write from the 1100.


Some questions re doing the same from the CPX.

* When adding the ML1100 to the hardware config, do I use the generic ethernet module? Or do I need an update in order to insert the correct module?

* Are there standard settings for the Assembly Instance settings for the ML1100? (this is provided that the generic ethernet module is actually used)


So far I have the following config in the MSG instruction (in the CPX)

** Configuration Tab
* Message type = SLC Typed Write
* Source Element = Tag
* Number of Elements = 10
* Destination Element = N60:40

** Communication Tab
* Path = LocalENB,2,192.169.0.20
* Comm Method = CIP

** Tag Tab
* Name = COMMS_CTRL

Note: L32E compact logix connected to ML1100 via unmanaged ethernet switch.


Also, how critical is the timing of the messages over ethernet?

If we had numerous PLCs MSG'ing the CPX at unsynch'ed intervals, would subsequent collisions, and refusal occur? However, as per the suggestion put forward by mellis, I presume dealing with the msg'es from the CPX would allow for far easier timing of the commands, without the need for overly complicated handshakes.

once again, thanks for your help, and I hope my rambling is making sense, it is quite late. Cheers.
 
I've found some ML1100 EDS files, (tricky little buggers to track down), and installed them. However they do not appear to show in RSlogix5000, do I need to set the device up using this EDS in RS Linx before I can select it, or have I got the setup procedure mixed up?

I've also found a few posts on decoding the file and doing it that way, is there a software based method (rslogix5000 R16)

Also, does anyone know the whereabouts of the ML1500 EDS exactly?

Thanks again.
 
Sorted the CLX to ML issue, I had incorrectly sized the length parameter in the MSG instruction, and its respsective array in the CLX. Once that was corrected off it went. From what I gather, inserting the modules into the hardware config must just help create the path for you, and is not actually necessary.

In regard to the EDS questions above, evidently the EDS files are for RS Linx, and are different to the "Addon" files that RSLogix5000 uses.


Has anyone had any experience with the Ethernet traffic question / potential issue I've mentioned above?




thanks.
 
Last edited:

Similar Topics

I'm looking to implement a low-cost, efficient method of communicating some integer values to an R30iB robot from a Rockwell 1100 PLC. I am not...
Replies
8
Views
1,722
Hello all, I am trying to setup my MicroLogix 1100 as a modbus RTU master for a modbus network containing multiple modbus RTU slaves. I currently...
Replies
7
Views
3,914
We have a machine that keeps losing its program at random intervals; sometimes 2x-3x in a shift, sometimes will go over 1wk without issue. I had a...
Replies
9
Views
2,926
Just asking for clarification here, but from my research all I need is a 500 ohm resistor across the AI and the common? Heres my schematic. I...
Replies
5
Views
2,571
I have a CLX L61 and I'm trying to read from and write to a Micrologix 1100. I'm attempting to read 200 REAL elements but I'm receiving an error...
Replies
2
Views
1,457
Back
Top Bottom