NI Labs

Showing results for 
Search instead for 
Did you mean: 

Welcome to EtherNet/IP Driver for Communication to Allen Bradley ControlLogix PLCs

Welcome to the NI Labs EtherNet/IP Industrial Protocol Support project. This thread is intended to foster discussion about the project, so please post your questions, comments, suggestions and bug reports and I'll be happy to respond.


This library allows direct communication between NI systems running LabVIEW and various PLCs using the EtherNet/IP industrial communications protocol. The current version supports explicit messaging communication to read or write data stored in named tags on the PLC. PLCs that support this mechanism include Allen-Bradley's ControlLogix and CompactLogix series. There are a number of native data types supported including boolean, numeric and string types.


The library can be used in LabVIEW 8.2 and up on both Windows systems as well as systems running LabVIEW RT. To use the library on an RT target you must first install the library onto the target under the Add/Remove Software tree item in MAX.


One of the goals of this release on NI Labs is to get a better idea of what features are in most demand to add support for. We'd love to get feedback regarding need for additional data types, additional PLC addressing support, Implicit I/O communication, etc.


Eric G

National Instruments

Message Edited by Support on 09-15-2008 12:19 PM
Message 1 of 193

I really appreciate NI for working on industrial protocols.  It is very helpful for us in the control industry.  That said, lets get into the suggestions and comments.


- It would be nice to see a native Labview version of EthernetIP, unlocked of course. Like this over on LAVA. Or maybe release the source code for ethernetIPInterface.dll.  NI need to eat its own dog food here.


- Add support for IO connections or Unconnected PCCC read and write messages.

0 Kudos
Message 2 of 193

Hi dwisti,


Thanks for the feedback. I can tell you we are looking at future support of I/O connections (implicit messaging) capability as well as the PCCC support, but we'd like to hear back from customers regarding the need for such features. Aside from the PCCC support to allow compatibility to older PLCs, what types of use cases would the I/O connections make easier?


While I can't explain here all the reasons for why our implementation is not 100% in LabVIEW code, I will say there are some advantages to the current approach including future usage by our CVI customers as well.


Please keep the comments and suggestions flowing,


0 Kudos
Message 3 of 193


PCCC is not only older PLCs.  Some of the new Micrologix PLCs only support PCCC.  I have a need for I/O connections with a 3rd party device (i.e. not Rockwell) that only has support for I/O connections. It does not support Explicit Messages.  Whats CVI? Just kidding... but your telling me text based code has advantages over G?  We don't use CVI but I can see why your implementation is not Labview. Its a shame not to code this in 100% Labview.  Those CVI programmers don't need EIP anyway.  Just code it in Labview and compile a DLL for CVI.



0 Kudos
Message 4 of 193

How can I open a new session?


I seen that the dll used has others "Functions" (like LV_OpenSession)  but only the reading and writing ones are shown.




0 Kudos
Message 5 of 193

Hi Simroc,


The sessions are opened on demand by LabVIEW (and closed by it as well when they are deemed to no longer be needed). You should not need to open/close the sessions manually, just leave it unwired. Explicit open/close VIs may be added to the palette eventually but their only usefulness for explicit messaging would be for allowing you to cancel a blocking operation programatically.


Hope this helps,


0 Kudos
Message 6 of 193

Hi Eric,

many thanks for the reply!

Now I'm able to read and write some tags in my Allen-Bradley PLC LOGIX 5343 but only using a code developed in LabVIEW 8.6...


If I use the same instructions in a code developed in LabVIEW 8.2, I receive the following error:


Error -251723770 occurred at EthernetIP Tag Read;
Details: The session is invalid

Possible reason(s):
Ethernet/IP Industrial Protocol: (Hex 0xF0FF0006) The session is invalid


Do you have any idea about this behaviour?


We have to integrate this functionality in our code developed in LV 8.2 without move all the software to LV 8.6...


Thanks in advance,



0 Kudos
Message 7 of 193

Hi Simone,


That is odd. Is it possible to try upgrading your 8.2 to 8.2.1? The two should have compatible behavior but I've only used 8.2.1. Another thing to confirm is checking whether there is a default string filled in on the session refnum wire. It should be there by default but you could try putting some name in manually.





0 Kudos
Message 8 of 193

Hi Eric,


I have reinstalled the EtherNet/IP driver addon and now it works fine also with LV 8.2!


I don't know what happened before...





0 Kudos
Message 9 of 193

Hi, i'm not able to run correctly the "EthernetIp Read" and "EthernetIp"

I have always the error:


Error -251723760 occurred at EthernetIP Tag Read;
Details: CIP Error - Extended status may be available
CIP Extended Status: 0x311


If i use the llb that i downloaded from LAVA always run correctly....


Any suggest?


Alberto Sgarbi

Studio Progetti Automation s.r.l.


0 Kudos
Message 10 of 193