NI Labs Toolkits

cancel
Showing results for 
Search instead for 
Did you mean: 

EtherNet/IP Driver for Industrial Communication

NI LABS GRADUATE - The NI LabVIEW Driver for EtherNet/IP is a now a released and supported feature available for purchase on ni.com.  The released version includes support for LabVIEW 8.5 and newer. You should not use the NI Labs version of EtherNet/IP support in shipping or commercial applications.

 

The EtherNet/IP driver provides a LabVIEW-based interface to directly communicate over the network with compatible EtherNet/IP devices such as Allen-Bradley/Rockwell PLCs. The driver provides mechanisms for both explicit messaging (in several formats) and I/O data communication. This allows communication and data sharing with a very wide range of PLCs and EtherNet/IP devices in use today.

 

Explicit Messaging

Messaging.PNG

The VIs on this palette use explicit messaging connections to read from or write  to a target.

 

Tag Read/Write and SLC500 Read/Write allow direct access into data fields stored on a PLC. The target must support Messaging class communications using either  Logix tag names or PCCC communication to register files. Supported targets of these message formats include PLCs such as  Rockwell's SLC 500, MicroLogix, ControlLogix and CompactLogix series.

 

The Get/Set Attribute Single VIs let you interact directly with individual instances of objects in the CIP object model on an EtherNet/IP device. While some classes of objects are standardized, others are device-specific. You should consult the manual of your device to determine the class, instance, and attributes you need to control your device.

 

I/O Data

IOData.PNG

The VIs on this palette allow the LabVIEW system to create an I/O assembly and  function as an adapter for a remote PLC. This type of communication is referred  to as Class 1 or I/O server communication. The device appears as remote I/O to the PLC and can be addressed within ladder logic as though it were local I/O. Class 1 communication allows the PLC  to establish an implicit I/O data connection with the LabVIEW system and  repeatedly exchange assembly data at a specific rate. Assemblies are treated as shared memory that is used to produce or consume data to/from the PLC. The data is exchanged asynchronously in the background.

 

Requirements

The driver is supported in LabVIEW running on Windows as well as LabVIEW Real-Time systems. Supported systems include:

  • Desktop PCs
  • PXI Controllers
  • CompactRIO
  • Compact Fieldpoint
  • NI Smart Cameras
  • Compact Vision System
  • Embedded Vision System
  • NI Industrial Controller

 

Note: When running on a real-time controller you must install the driver component to your target first via the Add/Remote Software tab in Measurement and Automation Explorer.

 

 

Download the attachment below and let us know what you think. The download attachment has been removed from this page. We'd love to get  your feedback!

Regards,
Natasa
Comments
JakeA
NI Employee (retired)
on

Hello engineerwx,

Version 15.0 of the Ethernet/IP driver for LabVIEW is the only version of this driver supported by Windows 10. If you're running a version before this then it will not be supported. Is this the information you were after?

Jake A

Applications Engineer
National Instruments UK and Ireland
MikeH1064
Member
Member
on

We are currently using the Ethernet/IP package in an attempt to communicate directly with a CIP capable control board on a power supply.  We are purposely by-passing PLC control in an attempt to verify the port works correctly, independent of PLC control (this is part of a test implemented on manufactured products prior to shipment to a customer).  I am using the Get Attribute Single and Set Attribute Single explicit messaging VIs, with the LabVIEW computer as a master, communicating to the CIP-capable board on the power supply.  With the correct IP address, instance, and attributes, the Get Attribute returns the expected U8 array of parameters representing the power supply settings.  The Set Attribute, with the correct inputs, runs without error when communicating with the power supply, but the new settings implemented in the Set Attribute data stream are ignored by the power supply.  If I vary the IP address, instance, or attributes, I do get an error from the VI.  I believe I have the correct settings, based on the settings written to the firmware.

 

When the power supply is connected to an Allen Bradley PLC via Ethernet/IP, it appears to communicate bi-directionally without a problem.  I've tried looking at the communication handshaking with Wireshark and Molex, but duplicating what's going on when the PLC is connected seems like it requires getting into the block diagram of the Set Attribute VI (currently password protected) and editing. 

 

I'm getting assistance from NI engineers, but I'm just curious if anyone else has experienced this result when working with the explicit CIP messaging VIs, or has had success with bi-directional communication.  I'm beginning to think that, when it comes to Setting (Writing) data to the power supply, additional hand-shaking may be required that is beyond the capability of the Set Attribute Single.  I'm assuming this only for this model power supply made by the company I'm contracted to.  At this point, if I can achieve full Ethernet/IP communication without using the packaged VIs, I'd be okay with that.

 

Thanks ahead of time for any insight.

 

Mike Hinckley

National Analytics

rake615
Member
Member
on

I am new to Ethernet/IP and have issues with communication with PLC. Currently using ControllogixPLC. I am updating line computers to 17.0 drivers and labview 2017. When I tried creating an executable from LV17 I am unable to connect to the PLC. I also had a computer die on me and have set it up with the latest drivers and installed an executable that is currently working on the right side machine (left side pc died). The version of the executable is from LV13 and did install the runtime, however I am unable to communicate with the PLC. Nothing in the PLC has changed and network communication is fine. What could I have missing? 

percyj
Member
Member
on

I need to broadcast data from my PXI/SCXI system using EthernetIP to CAN (with the Anybus AB7318). I'me new to this protocol, could someone help with an example. I've tried the Labview examples but am unable to get data converted from EthernetIP to CAN.

mmwjohnston
Member
Member
on

Hello,

I'm trying to set up Class 1 connection between a PC running Labview 2017 with the EtherNet/IP driver and an Allen-Bradley CompactLogix L24ER-QB1B controller running Logix Designer 28.011. I found some example code in a very old post and by modifying it, I could get it working. The example just copies over 8 DINTs to the PLC and 8 DINTs from the PLC. I tried to modify the code and increase the number of DINTs in each assembly. At first it didn't work: the PLC would not connect and give me a "Bad Class" error. So I went back to 8 DINTs to make sure I wasn't doing anything wrong, and I was getting the same error. After doing some troubleshooting I found that if I got the connection to work and then stopped the LabVIEW program, then the only way to reconnect was to unplug the LabVIEW computer. Once I figured out the order of operations, then I could change assembly sizes just fine.

 

Any one have any idea why I would have to unplug and plug in the the RJ-45 cable? Thanks.

 

Matthew Johnston

Electrical Controls Engineer 

 

Link to post where I found the demo program (I can't find the right page right now): Forum Post 

Here are the images of the demo program I found:

 

demo.jpgcreate DINT Assembly.jpgread DINT Assembly.jpgwrite DINT Assembly.jpg