EtherNet/IP communication via ENI to Compact/ControlLogix PLC's.

It is possible to exchange status and variables between a combination of Genetix GCM and MC³ controllers and EtherNet/IP capable PLCs, using a 1761-NET-ENI Series B or C module (ENI) from Allen-Bradley (A-B). It replaces both analog and digital I/O. Full Floating Point accuracy is maintained for variables. Up to 10 variables and 80 I/O points can be configured.

See Genetix GCM Configuration and Troubleshooting for DF-1, or MC3 Configuration and Troubleshooting for DF-1 for details.

The Common Interface Table (CIT) in the Genetix GCM and the MC³, is transferred to and from the A-B “Common Interface File” (CIF). PCCC functions 1 (PLC2 Unprotected Read, 485CIF Read), and 8 (PLC2 Unprotected Write, 485CIF Write) and 6 (PLC-2 Diagnostic Status) are supported.

Data tables are transferred between the controllers and the EtherNet/IP host PLC, using message rungs. The positioning and content of the data elements in the tables must be tracked all the way from the internal register database to the data structures in the PLC. This is done in several steps:

positioning and content of the data elements in the tables must be tracked all the way from the internal controller's register database to the data structures in the PLC. This is done in several steps:

·         Between the GCM or MC³ register database and the CIT. Some of this mapping is fixed, and some is configurable within the GCM or MC³.

·         Between the CIT and the target data tables in the PLC. This is defined in the MSG instructions.

·         Between the target data tables in the PLC and the final, formatted data tables in the PLC. This is done with PLC programming methods, using COP instructions.

For performance reasons, data exchange takes place in block mode. The read segment of the CIT is transferred to the PLC with one MSG read instruction, and a part of the write segment is transferred in one MSG write instruction. The Control/Status bits and Integer numbers are organized in 16 bit words. Parameters are organized as IEEE 32 bit floating point numbers.

The cable between the ENI and the GCM is an Allen-Bradley 1761-CBL-PM02, cut near the DB9 connector. Peel and connect the wires to the GCM’s 9 pos Phoenix connector, brown to pos 2, red to pos 3 and green to pos 4. Set the ENI serial port baud rate to 38.4K.

For MC³, use the same cable and add a male – male adapter where pins 2 and 3 are crossed (null modem). Set the ENI serial port baud rate to 19200.


This solution is fully supported by Merrick, meaning that we have equipment on hand to furnish tested configurations.

The ENI must be configured. There is a free configuration utility (ENI & ENIW Configuration Utility, Series D) on the Allen-Bradley web site, in the MicroLogix download area.

Here are the files from a test setup we have at Merrick:

ENI Configuration utility file, produced by the ENI utility. In this case the ENI has IP address, and routing and email are disabled.

RSLogix5000 ACD files V 15 for Genetix GCM, for MC³. Note that symbols and comments are based on the configuration example described in GCMDF1.pdf. There is a user defined datatype named CIT_UDT. The only instance of it is tag CIT[0], in the Controller Scope, containing all GCM or MC³ related data. You can cut and paste both the data definitions and the ladder logic, after setting up the ethernet adapter (IP in this example) in the I/O configuration. The descriptions in CIT are very helpful. Cut and paste in the following order:

1 User-Defined Data Type CIT_UDT

2 Global tag CIT

3 Task CIT_SCH

4 Program CIT_TOP. This should bring Program Tags and routine CIT_MAIN with it.

You probably will have to edit the MSG instructions communication path in CIT_MAIN with regards to the Ethernet adapter name (IP in this example).

Here is another RSLogix5000 ACD file V 19 for a CompactLogix using two ENIs and two GCMs.

Here is the ladder listing of MC3_TOP - MC3_MAIN in PDF format. This ladder maintains the communication with the controller, checks communications integrity and transfers CIT related data in and out of usable variables inside CIT[0]. CIT_SCH is a task scheduled on 25 ms, with a priority of 10.

The set up screens for the MSG instructions: Read Configuration, Read Communication, Write Configuration, Write Communication.

The DF-1 Specification is useful for troubleshooting.

This Queens College site is useful to resolve IEEE floating point problems.