EtherNet/IP communication via ABC-EIP to 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 an AnyBus Communicator Gateway for Ethernet module (ABC-EIP) from HMS Systems. 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.

Later versions of Merricks MC and all Genetix GCM controllers support the Modbus ASCII and Modbus RTU communications protocols. The ABC-EIP maintains a conversation with the controller using Modbus RTU, and then exposes two aggregated arrays, Read and Write, to an EtherNet/IP Master. ModBus functions 3 (Read Holding Registers), 16 (Preset Multiple Regs) and 8, sub function 0 (Return Query Data) are supported. See Genetix GCM Configuration and Troubleshooting for Modbus and MC Configuration and Troubleshooting for Modbus.

The ABC-EIP has an EtherNet/IP interface one side and an Modbus RTU master interface on the other. Controllers can be connected to the ABC-EIP using the existing 4-wire RS-422 interface on the ABC-EIP and the existing 4-wire RS-485 interface on the controllers.

Data tables are transferred between the controllers and the EtherNet/IP host PLC by means of PLC I/O configuration. No message rungs are required. 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:

         Between the register database and the GCM or MC Common Interface Table. Some of this mapping is fixed, and some is configurable.

         Between the CIT for each controller and the aggregated tables for all controllers in the ABC-EIP interface. This is entirely configured in the ABC-EIP.

         Between the ABC-EIP tables exposed to EtherNet/IP and the I/O data structure in the PLC. This is done in the PLC I/O configuration.

         Between the I/O data structure in the PLC and the final data structures in the PLC. This is done with PLC programming methods.

Different data types are used for control/status bits, integer numbers and floating-point numbers. Control/Status bits and Integer numbers are organized in 16 bit words. Parameters are organized as IEEE 32 bit floating point numbers.

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

There is a document "Connecting to the MC from EtherNet/IP via ABC-EIP", which describes a test case for EtherNet/IP, using a ControlLogix 5555 PLC, the ABC-EIP and four MC controllers.

The ABC-EIP must be configured. There is a free configuration utility on the HMS web site, in the ABC-EIP download area. You will also find the EDS file, user manual and application notes specific for ControlLogix.

Here are some files form a test case above:

         EIP Configuration File produced by the ABC configuration utility, v 2.00. In this case the EIP has IP address 10.0.0.250.

         RSLogix5000 ACD file, V 13.00. The 1756-ENBT/A IP address is 10.0.0.253. There is a user defined datatype named MC. There is an array of MC's (MC3[0..3]) , in the Controller Scope, containing all MC related data. Ladder file MC3_MAIN maintains handshaking with the EIP and calls four subroutines, MC3_1..4_Comm, who maintains MC3[], checks communications integrity and transfers MC related data in and out of usable variables. Note the address comments in MC3[]. The AnyBus_4MC3 data structures are generated automatically when you configure the EIP as an EtherNet module.

         The Module Properties dialog box in RSLogix5000 for the EIP module.

         The MC Definition dialog box n RSLogix5000.

Some other useful downloads:

         EIP Configuration file for two GCMs or MCs

         RsLogix5000 ACD file, V 15.00 for the EIP configuration file above and two GCMs, connected to a ControlLogix PLC.

         RsLogix5000 ACD file, V 19.00 for the EIP configuration file above and two GCMs, connected to a CompactLogix PLC.

The Modbus Specification is useful for troubleshooting.

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


2014-05-14/Lars