Introduction to SLC to ControlLogix Messaging
SLC to ControlLogix Messaging might be easier than you think. In this example, the SLC 5/05 will take 5 integers from the N10 data file, and send those 10 integers to the Allen Bradley ControlLogix processor.
The ControlLogix does not have the same addressing structure as the SLC 500. We need to map the SLC Initiated messages to an array in the tag database.
This diagram will show an example of our goal in this post. Remember, this post is just for example only.
Since the ControlLogix has a different addressing structure than the SLC, we must map the SLC message to an array in our tag database. For this example, I will pick an arbitrary file number (70). Later on, the SLC will “think” it’s sending data to another SLC Processor, and storing that data to N70:0 to N70:4. In the ControlLogix, we must map this request to an array of integers.
First, we will create an array called “FromSLC” in our Controller Tag Database. This will be 5 Integers.
Next, click on Logic / Map PLC/SLC Messages.
Then, map file #70 to the array we just created… “From SLC”.
Then Download to the ControlLogix Processor.
Setting up the SLC Data Files
First, we need to create a control file for the Message instruction to be able to operate. To do this, we’ll right click the Data Files folder, and create a new data file.
This will be file #9 (Integer), and we’ll name this file “MGCTRL”. Since we are writing this logic offline, the file will expand automatically when we verify or download the project.
Now, we need to create the data file that will be transferred to the ControlLogix. We will make this file 10 (Integer), and it will be 5 elements long. We will just name this file “TOCLX”.
Normally, our logic would populate this data file with information that is being sent to the ControlLogix. For this example, I’ll just type in 5 random numbers.
Writing the SLC Logic
The message instruction needs to be triggered with a pulse. Each time the pulse is generated, the MSG instruction will execute. The message will be a Peer to Peer write, and the control block is N9:0. I set up my logic as follows:
Next click on “Setup Screen” within the MSG instruction. Remember, we are taking 5 elements from N10:0, and transferring the data to the ControlLogix processor (N70). Be sure to turn on the “MultiHop” Feature. Our message will be sent out of channel 1 of the 5/05 (Ethernet).
Next, I went to the “Multihop” tab, and set up the hops as follows:
Download to the SLC, and test your work. When I go back to the ControlLogix processor, I can see that I’m receiving the data that I placed into the N10 file in the SLC.
If you are interested in learning about ControlLogix to ControlLogix, messaging, visit the ControlLogix Messaging Page.
— Ricky Bryce