I really do like the Logix controller family from Allen–Bradley. You have to admire it. I can’t imagine what the development process is like for something that is going to be used around the world, running for years on end in applications as diverse as amusement park rides, automated pharmacies and building control systems. How you collect and define application requirements for a product like that is beyond me. How you test it and validate it in all those applications is unfathomable. It’s quite an engineering feat.
The Logix product line is loaded with communication capabilities. They did drop the serial RS232 and RS485 communications from the line, and that has really made things difficult for integrators and end users in Water and Waste Water. I plan to address this in a future article.
This month I’d like to focus on two of the mechanisms that the Logix family have for communication: EtherNet/IP and the ubiquitous Message instruction (MSG).
I’ve written a lot about EtherNet/IP over the years. EtherNet/IP is open technology that Logix processors use to read and write I/O modules over Ethernet. EtherNet/IP is Client/Server technology where the Scanner (EtherNet/IP term for Client) opens connections with one or more Adapter devices (EtherNet/IP term for Servers). The Scanner, usually a Logix PLC, cyclically transfers I/O data. Inputs are transferred to the Scanner (Logix PLC) from the Adapter (some end device). Outputs are transferred to the Adapters from the Scanner. EtherNet/IP is, hands down, the best way to move a large number of I/O points into and out of an Allen–Bradley PLC.
The MSG instruction is a programmable controller instruction that serves a number of different functions in a Logix processor. It can be used to perform a ControlLogix tag read or write, a legacy SLC or PLC data table read or write, a block transfer to an I/O module, or a CIP Generic message to a CIP object inside the controller, a module, or a network device. It has various other functionality in the SLCs, PLC 5 and MicroLogix processors.
As you’ll have noticed, there is a small amount of overlap, but they are two vastly different ways of communicating. EtherNet/IP is for I/O messaging and that’s about it. A Logix PLC uses EtherNet/IP to move output data from the PLC data table to Adapters and input data from Adapters into the PLC data table. MSG instructions fill in the gaps to do all the other things that a PLC programmer might desire to do.
A programmer might want to change the ramp up time on a drive. That’s something that’s usually not done in an I/O message. Instead, the programmer might fire off an MSG instruction that sets the ramp time using its CIP identifier: the Object Number, Class Number and Instance Number. To read or write data in a legacy PLC 5 or SLC, the PLC programmer can build an MSG instruction that references the File and Offset of the entry in the data table of the destination PLC.
Enabling the PLC to do EtherNet/IP is different than enabling a PLC to do MSG instructions. For PLCs, the programmer adds the target EtherNet/IP Adapter device to the device tree. The device tree is a list of all the EtherNet/IP Adapters. When the Adapter is added to the device tree, space is allocated in the data table for the inputs that will come from the Adapter and outputs that will go to the Adapter. If the Adapter manufacturer has built an AOP, all of these data bytes can be referenced by the tag names chosen by the device vendor. That’s vastly different from using a MSG instruction, which requires no setup. A programmer simply adds the MSG instruction to the logic of the processor, and when the enabling contact is TRUE, the MSG instruction fires.
These two mechanisms have different functionality and serve different purposes in an application. Neither one is better or worse than the other. It’s likely both mechanisms are going to be used in a lot of applications.
The Logix controller family has proven itself extremely capable over the years. And these two communication mechanisms are one of the reasons why it has had such longevity.