Recently, one of our community members asked how he could go about sharing data between various Allen-Bradley PLCs.
First he needed to share Tag Values between two ControlLogix controllers, after which he needed to read data into his ControlLogix from various legacy A-B PLCs.
Over the last thirty years I’ve found the standard way to share data between Allen-Bradley PLCs (going back to the PLC-5 which released in ~1986) has been to use the Message Instruction (MSG.)
Now some might point out here that you can also use Produced and Consumed Tags, and that is a completely legitimate way to share data between Logix controllers like the ControlLogix and CompactLogix.
However, as I cover in my courses, there are some restrictions to using Produced and Consumed tags, and of course you can’t use them with legacy A-B PLCs.
So that brings us back to using the Message Instruction to either Read or Write data from one A-B PLC (or PAC) to another.
But before I go any further, I want to answer some common questions:
First, you don’t need to add a Message Instruction in both PLCs. Only one PLC needs to have either a Read or a Write Message Instruction to be able to read or write data to a second PLC.
Second, your A-B PLC/PAC does not have an “unlimited” Message Buffer, and therefore can only process a limited number of messages at any one time.
Just as you can overload your PC’s keyboard buffer by typing extremely fast (especially if your PC is just booting up or busy doing something else) if you execute too many Message instructions in a short period of time, you will fill the Message buffer and at that point all additional Messages will be discarded until there is room again in the buffer.
Third, your PLC/PAC communications ports, network modules, and actual network do not have infinite bandwidth, and the older and slower the technology is, the fewer messages per second it will be able to handle.
When it comes to the ControlLogix or CompactLogix and Ethernet, the best way I’ve found to keep track of how much capacity I have is to use the Ethernet/IP Capacity tool that I walk through using here.
Messaging between Allen-Bradley Programmable controllers
In my experience, messaging data between ControlLogix or CompactLogix controllers is no more difficult than with any other A-B PLC, and in the below video I walk through how to Read Data into a ControlLogix from a CompactLogix, SLC-500, and MicroLogix over Ethernet:
- Video – Logix read from Logix on Ethernet: https://theautomationblog.com/controllogix-reading-data-over-ethernet/
In this next video, I cover how to Write data from one Logix PAC to another over Ethernet:
- Video – Logix write to Logix on Ethernet: https://theautomationblog.com/season-2-episode-25/
Next up is how to Read data into a ControlLogix from a CompactLogix, MicroLogix, and SLC-500 over Data Sidewalk (DH-485):
- Video – Logix to PLCs on DH485: https://theautomationblog.com/controllogix-read-data-over-dh-485/
But what if you have a MicroLogix or other old device that only has DF1, and your Logix PAC is on Ethernet? Well, in the below video I walk you through using the 1761-NET-ENI replacement from Real Time Automation (RTA) to do just that:
- Video – Logix on Ethernet to DF1 Device: https://theautomationblog.com/message-data-between-df1-and-ethernet-devices/
And for those of you with PLC-5 or SLC-5/04 on Data Highway Plus (DH+), I walk through using the Message Instruction in Logix to Read from those PLCs:
- Video – Logix to PLCs on DH+: https://theautomationblog.com/controllogix-read-data-over-dh-plus/
And for our final Logix example, in this article from our freelancer Brandon Cooper, you’ll learn how to send data from a ControlLogix to a Micro800 over Ethernet:
- Article- Logix to Micro800 on Ethernet: https://theautomationblog.com/how-to-message-msg-data-from-a-controllogix-to-a-micro800-over-ethernet/
While that’s all we have on ControlLogix and CompactLogix, as I stated above I’ve been using Message instructions to transfer data between PLCs going all the way back to the PLC-5.
So for those of you trying to send data between some of these older A-B PLCs, I’ve created the following content:
Messaging data from a MicroLogix 1400 to a MicroLogix 1100 over Ethernet:
- Article- MLX to MLX on Ethernet: https://theautomationblog.com/how-to-message-msg-data-from-a-micrologix-1400-to-a-micrologix-1100-over-ethernet/
- Video – MLX to MLX on Ethernet: https://theautomationblog.com/season-4-episode-44/
Messaging data from a MicroLogix to a SLC-5/05 on Ethernet:
- Article – MLX to SLC-5/05 on Ethernet: https://theautomationblog.com/how-to-message-msg-data-from-a-micrologix-1400-to-a-slc-5-05-over-ethernet/
- Video – MLX to SLC-5/05 on Ethernet: https://theautomationblog.com/season-4-episode-43/
Messaging data from a SLC-5/05 to a MicroLogix on Ethernet:
- Article – SLC-5/05 to MLX on Ethernet: https://theautomationblog.com/how-to-message-msg-data-from-a-slc-5-05-to-a-micrologix-1400-over-ethernet/
- Video – SLC-5/05 to MLX on Ethernet: https://theautomationblog.com/season-4-episode-42/
Hopefully that dozen examples above will help you out next time you need to share Data between A-B PLCs!
Keep in mind you can get all 280+ of my videos (including all of the above) totaling over 29 hours on USB ($35) or Digital ($30) right here, which is a great way to show your appreciation if you find them helpful.
And if you run into any trouble, you can always post your questions in my community here, or in my courses at TheAutomationSchool.com.
Until next time, Peace!
Until next time, Peace ✌️
Shawn M Tierney
Technology Enthusiast & Content Creator