Logix AOI for Modbus TCP
Typically, when a Modbus connection is needed with a Logix controller, such as a ControlLogix® or CompactLogix™, an in-chassis module or external gateway would be needed. Encompass™ Partners such as ProSoft Technology, make in-chassis Modbus RTU and TCP/IP modules for both the CompactLogix (1769) and ControlLogix (1756) platforms.
But, did you know that there is an Add-On Instruction (AOI) that can give you some basic Modbus TCP/IP capabilities with the standard EtherNet/IP modules, such as the ControlLogix 1756-EN2T, or the embedded CompactLogix Ethernet ports? There are of course trade-offs and limitations to using the AOI versus the in-chassis module. But the AOI makes for a great solution when you’re out of space in the rack, or only need to send and/or receive small amounts of Modbus TCP data.
And best of all, it’s free!
Rockwell Automation recently released an updated AOI to their Sample Code Library that gives ControlLogix and CompactLogix standard EtherNet/IP ports the ability to communicate via Modbus TCP/IP.
The Modbus TCP Add-On Instruction (AOI) version 2.00.01 was released in February 2020, by the Rockwell Automation Commercial Engineering team. This updated AOI provides for a smaller footprint in the controller’s memory that previous versions of the AOI, that can be executed in a 5370 CompactLogix CPU. The new AOI also has a better organized data structure with simplified navigation.
Two AOIs to choose
There is an Add-On Instruction for Modbus TCP Client, and a separate AOI for Modbus TCP Server.
Each AOI can be downloaded for free from the Rockwell Automation Sample Code Library. Be sure to choose version 2.00.01 released on February 13, 2020, as this is the most current version at the time of this post.
- The Modbus TCP AOI code requires a ControlLogix (1756) or CompactLogix (1769, 5380, 5480) controller with an EtherNet/IP module that supports Logix Sockets functionality.
- See Knowledgebase AID 470690 (ID: QA14842) for a complete list of controllers and modules that support Socket communications.
- The Modbus TCP AOI code supports Logix controller revisions 20 and higher.
Modbus TCP v2.00.01 – Client
Each Client AOI can talk to only one Modbus TCP server. Multiple Client AOIs can be used in the application to connect to additional servers. The use of multiple Client AOIs will be limited to the controller’s available memory, and by the number of Sockets supported with the EtherNet/IP port. The first Client AOI requires 93k of memory, with each additional Client AOI adding 20k of memory each.
Modbus TCP v2.00.01 – Server
The Server AOI can connect to a max of 10 clients. Typically, only one Server AOI would be used in the user application. But multiple Server AOIs can be used with a ControlLogix controller with multiple EtherNet/IP modules. The first instance of the Server AOI will consume 123K of memory. A CompactLogix controller can only support one Server AOI per application.