Anybus X-Gateway (AB7649) and MicroLogix1400 PLC

A third-party vendor is providing a piece of equipment that will come with a MicroLogix 1400 PLC. We traditionally utilize Siemen’s S7-1500 PLC’s which communicate over Profinet. So I am unfamiliar with ethernet/ip communication protocol.

Is the Anybus X-Gateway compatible with Rockwell Automation’s MicroLogix 1400?

Yes. You would need to follow these instructions. You will have to use RSLogix 500 to program the MicroLogix to write to the Anybus.

Please note, the instructions are for RSLogix 5000 with a ControlLogix processor, but it is the same process.

Thank you Kyle!

Do you mind if I ask an additional, related question?

Our plan is to have four of these MicroLogix 1400 PLCs connected via one LAN network and all four will need to send data to the gateway. Then the gateway will communicate with our S7-1500 PLC via Profinet. Is this doable with the X-Gateway?

Yes it is possible because you are using explicit MSGs, which are connectionless. You would just be limited by the total data size in the gateway, which is 509 bytes Input and 505 bytes Output data (see product page).

Would I reserve specific bytes in the X-Gateway for the various PLCs that will be sending and receiving data from the gateway? When configuring the X-Gateway, can I specify where the data from a specific IP address will be received in the gateway?

My apologies for all the questions, but this has been extremely helpful so far. There are just few things I am still uncertain about.

From the first link Kyle posted, I know that I need to use a “MSG” instruction in RSLogix 500 software in order to Read and Write to the X-Gateway. However, when configuring that MSG instruction, we specify a instruction of 100 (64H hexa), class of 4, and attribute of 3. Which from reading this document, indicates that we are retrieving the whole input buffer of the gateway.

Is there a way to only retrieve and/or write to specific bytes within the Input buffer of the gateway? My concern is making sure that the four MicroLogix 1400 PLCs don’t step on each others toes while communicating with the Gateway.

The data mapping is configured on the Profibus side when you create the configuration with NetTool. On the Eth/IP side, the Anybus is the Adapter and the MicroLogix is the Scanner, so all communication is initiated by the MicroLogix.


Specifically what are you worried about? The TCP/IP protocol handles any potential collisions in Ethernet/IP, and the MSG instructions are connectionless, so you don’t have to worry about the connection being used by another device. Are you worried about them trying to write to the Anybus and overwriting each other? Would doing a read first, then write prevent the problem (Doing read instance 150 class 4 attribute 3 - then do the write for instance 150)?

Do you already have the equipment so you can test this? If not, what stage is this project in? It also might help if you can you explain the application a little more.

I’m wondering if it would make more sense to use Modbus for what you’re trying to achieve here.

I do not have the equipment yet. It is in the design phase as of yet, but the third party equipment in which the micrologix 1400 plcs are in is for sure happening.

In terms of the application, we have four third-party pieces of equipment that my company is purchasing, where each piece of equipment is coming with their own MicroLogix 1400 plc. My company requested the ability to give each piece of equipment a “Run Permissive” signal as well as receiving certain data back from each PLC, i.e. fault signals, flow values, etc.

The PLC that we will use to send the run permissives and receive the data is a Siemens 1515 PLC. Since Siemen’s PLCs use profinet, and the MicroLogix 1400 PLC has ethernet/IP communication, we figured we would try the Anybus X-Gateway (AB7649).

That is my concern. Lets assume that I configure the X-Gateway Ethernet/IP side to have 20 bytes of input buffer, and 200 bytes of output buffer. Profinet side of gateway would have 200 bytes of input buffer and 20 bytes of output buffer.

If each MicroLogix PLC is using the “MSG” instruction, service type “Set Attribute Single”, Instance 150, Class 4, Attribute 3

Each PLC would have made a “Write Data” tag with 200 SINT elements, similar to the example in the link you first sent (see pic below),

How can I make sure that the data I send from one of the MicroLogix’s doesn’t overwrite another?

Since the Micrologix 1400 doesn’t support I/O messaging, only MSG instruction, I wouldn’t use Ethernet/IP at all. I would use Modbus TCP and configure them as servers. Then you can use our Modbus TCP client (AB9007) to read and write to them.

@kyle_HMS What if we have only one MicroLogix 1400 communicating to the AB7649 X-Gateway? That would remove the risk of overwriting data.

We are hesitant to go down the Modbus TCP route if we can make the Ethernet/IP communication work out

Correct. It’s only an issue when you have multiple devices trying to write to the same registers. Theoretically, they could do a read before writing, and make sure to write back the registers with data from other devices, but putting that into practice could be difficult.