MSG SLC505 to ControlLogix


Thread Starter


Does anyone know if it is possible to comm. between a SLC505 to a ControlLogix using ethernet? If so, how?

PLC5 Ethernet processors do not know about CLX processors. In order to message between the two, all messages must originate from the CLX (read and write). I have assumed the SLC is the same, I do not have a 5/05 to play with.

The read or write message must be triggered, only works on the leading edge.
The CLX Ethernet card has to be in the I/O config tree.
MSG needs a control block
Specify the communication path - CLX card, port, IP address
Port will be 2
Protocol is CIP
SLC typed R or W
Source array - Dint or Real
Destination array - N or F

Aways a good idea to have a toggle or RTC seconds in the message data. You can use the change in data as a communication watchdog, data changing - valid communication, stale data - problems.

The online instruction help is not bad (if you speak AB) and has more info.

Rob Barrese

Bob Peterson

I believe you will find that the real answer is certain versions of PLC 5 processors and SLCs cannot talk to CLX because they cannot do multihop ethernet messaging. I beleive all versions of slc5/05 can have upgraded firmware that allows multihops.

Some PLC5s can upgrade, some cannot. Some the upgrade is relatively painless, some less so. The same situation applies to PLC5 ethernet sidecars.

Bob Peterson

I suppose you could if you wanted to. A prosoft module in each rack would do it.

Be a whole lot simpler yo add a DHRIO card to the Clx rack.
Yes, a SLC5/05 can create a client connection to a CLX cpu. In the CLX rack, you'll need a 1756-ENBT. In Logix5000 for the CLX, you need to specify and setup the SLC/PLC messaging table. Once that's finished you create a MSG in the 505 and write to the clx as if it were another 505. FYI.. this also works with PLC E cpus (5/40E, 5/80E, etc.)

Rodney Wirtz

This is the way it is...
Read/Write from Controllogix to SLC505 using Ethernet:
Message Block Configuration Tab
- Message Type: SLC Typed Read (or Write)
- Source Element: N7:10 (You pick starting element in SLC505)
- Number of Elements: 10 (From N7:10 to N7:19)
- Destination Element: SLCRead[0] (Setup an array in the Controllogix, SLCRead[0] to SLCRead[9] )

Communication Tab
Path: Enet_Module_1, 2 ,
(Here you have to add to your RS5000 program your Ethernet module and name it. I named my Enet_Module_1, you will have a different name for yours, the '2' means you'll being leaving the Module and looking for SLC on network. The is the SLC's IP address. Your's will be different.)
Communication Method: CIP Only (Radio Button)

Tag Tab
This will automatically display the Messaging Variable Tag you defined for your MSG Instruction.

Write to SLC505 is the same accept the Souce and Destination Elements swap processor for information is going on opposite direction.

This should do it for Reading and Writing to an SLC505.


Rodney Wirtz

How about Messaging from SLC505 to Controllogix.
This gets alittle more difficult (one more setup).

First you need to establish an Array Tag in the Controllogix that you want to read from and write to from the SLC.

So, Define an Array say SLCInfo[0 to 40] elements. Say first 20 are for reading and second 20 are for writing.

In the Controllogix program using the menu item 'Logic' -> 'Map PLC/SLC Messages'. A dialog box will open and you will assign a File number and the Tag Name. Let's use File '7' and our array tag: 'SLCInfo' (no brackets). You'll see the file number used in a moment.

Close the dialog box and now SLCInfo tag has now been mapped so that the SLC Messaging instruction can find the information.

Now setup the SLC505 for Reading (same process for writing):
In the SLC's Instruction Block variables are as follows:
- Type: Peer-to-Peer
- Read/Write: Read
- Target Device: 500CPU
- Local/Remote: Local
- Control Block: N37:0 (You set aside 51 register for the instruction to use. The 51 will show up later when configuring the message instruction, don't try and force the change now.
- Control Block Length: 51

Click the "Setup Screen"

This Controller:
- Communication Command: 500CPU Read
- Data Table Address: N14:0 (Okay start putting the information in N14:0 to N14:9.) You define this file of integers.
- Size in Elements: 10 (We are reading the first 10 elements in the array SLCInfo[0 to 9]. )
- Channel: 1 (Very important put in 1 for the Ethernet port on SLC processor. (A '0' refers to the serial port.) When you put a 1 here the number of register for the block will jump to 51.)

Target Device:
Message Timeout: 23 (Default value)
- Data Table Address: N7:0 (Okay here's a little tricky situaton. Remember we setup our array in the Controllogix using file 7, well that's what this is N7 references file 7 in controllogix and N just means to us it is an integer. the :0 means we will start reading element 0 in the array.
- Local/Remote: Local
- MultiHop: Yes (When you put Yes here a second tab will appear in the dialog box for MultiHop.)

MultiHop Tab:
Row 1 (Automatically filled in for you.)
From Device: This SLC500
From Port: 1
To Address Type: Ethernet IP Device
To Address: (This is the address of the Controllogix Ethernet Card, you fill in the address.)

Row 2 (You have to fill in information)
From Device: Controllogix Backplane
From Port: N/A
To Address Type: 1756 Backplane Slot
to Address: 0 (This is the slot in the Controllogix Rack where the Controllogix Processor is installed. In our case, Slot zero.)

The Write message instruction is the same sequence of events.


Jerry Miille

Rodney Wirtz

A great couple of responses!

Your step-by-step is better than anything I have ever read in all the A-B documentation I have ever read! Great input! Thank you!

Jerry Miille

Thanks for your kind words.

I hope this helps someone. I spent two days plus figuring this out for myself. Hopefully, it may save someone else time as well.

Thanks again,
Rodney Wirtz