Skip to main content

Kollmorgen Support Network

AKD EtherNet/IP: Using Compactlogix or Contrologix With No Cyclic Poll ( Explicit Messaging Only ) | 12 Mar 2018 | |

AKD EtherNet/IP: Using Compactlogix or Contrologix With No Cyclic Poll ( Explicit Messaging Only )

This application note covers the exception where the user does not want the PLC to influence the fieldbus enable and thus the software enable of the AKD.

This effectively renders the Compactlogix or Contrologix EtherNet/IP communications to the AKD drive(s) to the same as a Micrologix 1400 (explicit messaging only).

In general most users want to use the benefit of using add-on-instructions, getting built in and extended diagnostics, and the possibility of dynamically mapping parameters on the command and response assemblies ( poll ). However, one nuance is with cyclic data, the drive must be enabled using either the command word or using the AKD_Enable add on instruction in order to enable the “fieldbus enable” in the AKD. 

image

In our sample project and other documentation, we show the connection for each AKD drive setup as a “Generic Ethernet Module”. The cyclic mapping is done via the “Connection Parameters”. 

image

On power up ( first scan ) or after download and running the project in the PLC the drive will be disabled at the time the connection between the PLC and the AKD drive is made when cyclic polling is used. If the connection is made but then disrupted ( i.e. the cable is disconnected, etc. ) then the AKD drive will report a F702 “Fieldbus Loss”. This is usually desirable as well.

However, in rare cases and application dependent, a user may prefer that the communications not influence the drive enable. In this case, only explicit messaging will be used. This reduces the communications capability of the Compactlogix and Contrologix to the same level as the Micrologix 1400 which only supports explicit messaging via the MSG block. Without cyclic communications, the drive will not fault on F702 fieldbus loss in the event the connection is lost ( it is up to the user to create their own heartbeat methodology or determine if there is a method in the AB PLC for doing so with only this type of connection ).

Implementing a Connection Without Cyclic Communications

In my case I have the 1769-L32E with “Ethernet Port LocalENB” whose properties has the IP Address of the PLC. 

image

The key to explicit messaging only is when using the MSG instruction to input a path that points to the target AKD drive’s IP Address.

To read or write using explicit messaging, add a MSG block to your ladder logic.

Under each MSG’s Communication Tab there is a field for “Path”.

To specify the Ethernet port on the 1769-L23E, 1769-L32E, and 1769-L35E Compactlogix controllers a 1,1,2 needs to be entered in the beginning portion of the MSG Path. This would be displayed as “LocalENB, 2”. An example would be an AKD with an IP Address of 192.168.0.5 where the path would be LocalENB, 2, 192.168.0.5”.

When using a new Compactlogix 5370 controller it is simplified where the path begins with just the “2”. An example would be an AKD with IP Address of 192.168.0.5 where the path would be 2, 192.168.0.5. 

The following example is based on using the 1769-L32E. Please review the support documentation for your specific PLC hardware and model, firmware, and software version for correct usage and syntax. Using 1,1 syntax below the Path on a MSG block you can see it identifies it as “LocalENB”. Note typing 1,1 or LocalENB directly has the same effect.

image

Adding a comma 2 comma device IP address ( the AKD for example ) yields one of two equivalent syntaxes.

1,1,2,192.168.0.5 or LocalENB,2,192.168.0.5.

The comma 2 sends the message out via Ethernet and comma IP Address indicates the target IP address or device.

image

As stated before you will lose the intrinsic communications heartbeat once the I/O assembly is not used/created ( i.e. F702 fieldbus loss in the AKD ). I am not privy to what port or communication diagnostics are available using this method in the Allen Bradley PLC so it is possible you will have to create your own heartbeat if desired.

Here is an example of setting up the MSG block to write:

image

image

Here is an example of setting up a MSG block to read: 

image

image

The home_dist_value and vbus_value tags were declared as DINT or 4 bytes. 

The Instance numbers come from the manuals.

image

image

Toggling the trigger to read or write: 

image

image

image

Other documentation regarding explicit messaging and MSG blocks:

From the AKD EtherNet/IP Communications manual:  

image

From the AKD Ethernet IP RSLogix5000 Manual:

Appendix C covers RSLogix500 and Micrologix1400 but you can see the setup is similar to the screenshots above with the Compactlogix PLC. 

image

If you have RSLogix500 you may find the sample project posted on the KDN ( Kollmorgen Developer’s Network ) that demonstrates using the Micrologix 1400 to the AKD using the MSG block and Ethernet IP.

It demonstrates simple commands like enable/disable, jog, motion tasking, etc.

https://kdn.kollmorgen.com/content/allen-bradley-micrologix-1400-eip-program-akd

The screens and programming environment between RSLogix5000 and RSLogix500 may be different but conceptually the techniques would be the same. 

About this Article

toddevans01