Help - CntrlLogix Gateway

shiftedbits

Member
Join Date
May 2007
Location
CALIFORNIA
Posts
62
Greethings Everyone,

Needing a bit of help on how to do this. I already know how to set-up the gateway, but need help with reading and Writing data from a Controllogix processor in to a PLC-5 as well as reading and writing from a Controllogix CPU in to a PLC 5 processor. PLC-5 is file based and Controllogix is tag based. All data to be written and read will be in integer format. Any help, examples, links, tutorials etc. will be greatly appreciated.

GTWY.JPG
 
The ControlLogix can address the PLC-5 source or target "Typed Addresses" itself, but for the PLC-5 to address ControlLogix tags you must use the "Map PLC/SLC Messages" function to correlate PLC-style data tables with Logix array tags.

For example, "Data File 7" will be correlated with an array tag called "PLCN7" of data type INT[x] where x is the number of integer elements.

There is quite a bit of information about this kind of messaging in the Help files of RSLogix 5000 and in the RA Knowledgebase. Do you have a specific program and a specific network that you need assistance with ?
 
I happen to be at a seminar today where there's a bunch of ControlLogix hardware, including a 1756-DHRIO and PLC-5 controller on DH+, so I wrote a test program to remind myself how the Routing Table works.

When the ControlLogix is initiating the message, this is considered a Local DH+ message executed by the 1756-DHRIO, which the uses a CIP path to get back to the ControlLogix over ControlNet and Logix backplanes.

So the Path is out over the CIP network (ControlNet in your case, EtherNet/IP in mine) to the 1756-DHRIO, where the DH+ message is executed by the 1756-DHRIO on Channel A. You do not need Link ID's or a Routing Table to do this.

To send a message from the PLC-5 back to the ControlLogix is more complicated because the PLC-5 DH+ port only understands Local DH+ and Remote DH+, so you need Link IDs and a Routing Table. I can test that next.... if they don't need to get back to the subject of the seminar....

ToDHPlus.PNG
 
Depending on whether you need to qualify the data and depending on how much data and at what frequency you need it, you can save yourself some grief and just do reads/writes from the CLX. It's easier and you don't have to worry about setting up Links and Routing tables.
 
Robert is right on. When you initiate the message from the PLC-5 you need to know and configure a lot more. You need to configure the PLC-5's Link ID for its DH+ channel, and configure a Routing Table so that the remote ControlLogix backplane has a Link ID of its own, and know that "Remote Station Address" = ControlLogix Slot Number.

An illustration:

FromPLC5.PNG
 
Eddie, Robert,

Thank you gents for the info. Much appreciated. I already know how to set-up the routing and have done so many times from "PLC 5 - Logix Gateway - Another PLC 5". My problem or what I am trying to understand is how to do read writes from PLC-5 (Or a SLC) to a Controllogix and back. Mostly this will be writing about 10 to 15 integers and bools to the Controllogix processor and reading about 20 ~ 30 varibales from the logix processor. So beacuse of the TAG vs Data files I am having a hard time grasping how to do this. Thats the part I need help on. Eddie, thanks again for the excellent diagrams and taking your time to illustrate them.

Thanks again to both of you.
 
Oh, heck, then you've got the hard part sorted out already.

You're going to use INT[x] and REAL[x] arrays in the Logix to correlate to PLC/SLC Data Files.

When a ControlLogix receives a request to read or write a PLC/SLC address, it goes to a translation table that is set up in RSLogix 5000 under Logic -> Map PLC/SLC Messages.

PLCSLC.PNG


Those tags are arrays, with INT[x], INT[x] and REAL[x] datatypes, respectively.

When the PLC-5 sends a read or write for "N7:10, Length 5 words", the ControlLogix responds with the data in "PLC5_Data_Integers[10] through [14]".

The Logix doesn't actually care about the File Type, just the File Number. That's why I usually use INT tags for Bit and Integer files so the data lines up the way I expect.


When the ControlLogix is initiating the read or write, the PLC/SLC address is put directly into the target device field of the MSG instruction, and a local tag is selected that matches the data type (usually an element of a 16-bit INT array).

Remember that when ControlLogix initiates the message, the PLC/SLC Mapping table is not used.

I usually use INT arrays and then alias into them with Booleans if I need to, rather than messing with the offset differences between Bit Data Files (16 bit in SLC/PLC) and BOOL arrays (32 bit in ControlLogix).
 
I don't bother with Mapping for just reads/writes from CLX to PLC/SLC, just declare an array of the right type, and read directly into it, but again, I initiate and control all messaging from the CLX itself, using typed reads/writes. Just use the same types, and correct pathing.

Mapping is only necessary for reading Logix values from older devices that don't understand the Tag Based naming, like older Panelview's, DDE/OPC servers, or third party devices that initiate their own typed reads/writes.
 
SWEET! It is Working.

Don't know how I missed the MAP PLC/SLC Data option in Logix 5k. Never had a use for it before.

Eddie, Thanks again for your help.

Rdrast, Thanks for the info. Something that I will definitely be doing in the future. But for this one, I need to READ/WRITE from PLC-5 and not from the Logix Processor.

Thanks again to all of you!

Signed,

One Happy Camper!
 
Just as an aside to this thread - I always prefer to transfer data between PLC using READs. The reason is simple, I will always know where the data is coming from.

If WRITEs are used, data will be coming into PLCs from an unknown source, and believe me if you've got a bunch of PLCs on the network(s), all firing off data to various remote PLCs it can become a nightmare to troubleshoot. You have to survey EVERY plc on the network to find out where the data sources are - I've even discovered multiple remote PLCs writing data to the same data areas in one PLC !

Of course, you can't always get the opportunity to implement this "Read-Only" strategy, but it is worth considering if possible, and for future builds.
 
I have written into our standards that only Reads are to be used. Just like what Daba said - if you use writes, then you have no clue where the data is coming from.


The other thing is to document document document. Then you should always document. Did I say document?
 

Similar Topics

please help me . I have to make this ladder diagram and I can’t figure it out :(
Replies
9
Views
121
Hi Everyone, i was hoping for a little help with this module. i have data that needs to be read from a different plc through the Modbus plus...
Replies
11
Views
155
Hello, I am trying to replicate a piece of logic on the PLC5 onto an SEL RTAC. I am using ladder on SEL and FBD. I am having issue on the ladder...
Replies
11
Views
152
I'm fairly new to Rockwell software, I've had some basic training in the past but nothing too advanced. My company and I use Reliable products for...
Replies
11
Views
335
Back
Top Bottom