EtherNet/IP - ODVA

Does anyone know of an EtherNet/IP stack for .Net gadgeteer? This is a standard industrial protocol on top of TCP/IP “managed” by ODVA.org

I haven’t heard of this before! What is special about it?

Welcome to the community.

Hi Gus, thanx for the quick reply.

This is THE protocol that runs PLCs on factory floors. Rockwell/AllenBradley uses it extensively. I have a project that needs to embed a serial device and a spectrometer and talk this protocol. I think gadgeteer is very cool and powerful, but I need this protocol. It appears quite complex and “requires” compliance testing, so I was hoping for a stack that already exists. www.odva.org

I personally do not know much about PLCs but I thought they use modbus.

An option would be to hire GHI to implement this for you. Depending on how complex it is, it can be expensive.

Ouch, costs $1k just to get the specifications from ODVA. Plus another $50 if you want an actual physical copy.

Looks like EtherNet/IP is CIP-over-TCP/UDP, which means you’ll need the CIP spec as well. That’s another $1k.

You are correct (needing CIP), but a EtherNet/IP stack would have all that already.

I work with PLC`s for my job for over 20years and have extensive experience with ethernet/IP and i can say forget about trying to make a device that will be complient with CIP.It certainly is not a open network, infact ethernet/IP is rockwell devicenet messages with a tcp wrapper.

I cannot think of any reason why you would need to achieve a CIP complient device unless you are or work for a company that mass markets PLC field devices.

If you need to get data into or out of a compact CLX or Controlnet CPU, then i assume you are using LOGIX5000, then there are multiple ways to achieve this a RS232 card , or a standard TCP/IP card added to the rack for example.inside the CLX environment there are many methods for talking to unique devices think about creating a AOI instruction block to handle data exchange with the device you are planning to build. if you have LOGIX5000 pro the scripting language allows full socket control as such you can talk to a device on the network that is not CIP complient, as CIP messaging is just a scheduled task manager. Also a OPC server could be a option, i have sucessfully used all of these options the years.

as a side note in general all industrial ethernet based comms are the old rs485 based versions wrapped in tcp. just mention a few

Siemens plc - old network PROFIBUS - ethernet based PROFINET
Rockwell plc - old network DEVICENET - ethernet based ETHERNET/IP
Telemecanique plc - old network MODBUS RTU - ethernet based MODBUS/TCP

I hope this helps

1 Like

Hi Nubiarn (first name?),

Thank you for the good info. I’d like to discuss the details of my design requirements. We could do this offline, but here’s the basics.

I have a customer that uses rockwell PLCs throughout their factory. My customer has purchased our product (a Windows PC based instrument). They want to get rid of the PC and talk to the device in my product directly from the PLC. The device is USB based, but has an addon that talks std. sockets. The socket implementation is too complex for PLC socket support (requires 3 different sockets to coordinate to get the job done).

So, I have 3 options so far:

  1. Use 56SAM Special Applications Module for ControlLogix a WinCE device (if the device USB Windows XP driver will load)
  2. Use the current device network module and add a EtherNet/IP stack from www.rtaautomation.com
  3. Use another embedded that already supports EtherNet/IP

thoughts?

Some ControlLogix devices can be configured to talk Modbus as well. It is serial only as far as I know, but it is another option…
see http://literature.rockwellautomation.com/idc/groups/literature/documents/ap/cig-ap129_-en-p.pdf

see this document for socket implementation in rockwell products its really really useful. - http://literature.rockwellautomation.com/idc/groups/literature/documents/at/enet-at002_-en-p.pdf, i think a CLX processor could handle 3 sockets with ease.wrap the code in a nice AOI, drop in new block to ladder lovely.

see also http://literature.rockwellautomation.com/idc/groups/literature/documents/um/enet-um527_-en-p.pdf - this is a rockwell module that supports open socket communictions to tcp devices that do not support ethernet/ip CIP protocol. probably your easiest route, but always requires a module where as the first socket approach requires no addition hardware.

looking at the rta website they do a tcp/ip to ethernet/ip gateway see http://www.rtaautomation.com/products/460/estcp.html, that maybe useful, although i do not know enough about their products to recommend them, it could be a solution.

not to poopoo modbus as it is a capable system but i would stay away from none vendor networking, i.e. ide never put a siemens profibus scanner on a rockwell system and vice versa for this reason i wouldn`t go with modbus.

If you have access to the equipment you want to interface you could send commands and duplicate by using a network sniffer like Ethereal (CIP filter = ENIP)

Hi Jwilliams

I don’t know if this can help you out but take a look on this.
http://sourceforge.net/projects/opener/ and PLC-PC communication with C#: a quick resume about data exchange libraries – Mesta Automation
Jesper