I’m writing to you today from Madrid Spain where I have a wonderful place just above the Plaza de Santa Cruz. It’s a place filled with Cerveza, Sangria, Spanish wines, Paella, Tappas and very beautiful Spanish women. So, of course, I am thinking about all the Ethernet protocols; EtherNet/IP, ProfiNET IO, Modbus TCP and EtherCAT.
Actually I have very good reasons to be here enjoying the sunshine and everything else Madrid has to offer. We have a very good customer here that we are working with to install EtherNet/IP as the communication protocol for the Toilet controls on a French train. Toilets are very important to customer satisfaction as you might imagine and our controller has lots of I/O that it relays to the conductors control console over EtherNet/IP.
But while here I started to think about the reasons that someone might choose EtherNet/IP over ProfiNET IO or EtherCAT or Modbus TCP. There’s a simple answer and I often give that when asked. That answer is that you don’t really ever pick. If you want to sell into the Siemens architecture you better have ProfiNET IO. Same for EtherNet/IP and Rockwell. There are other reasons but a lot of the time that’s the main one.
Let’s look at each of these in a little more detail and talk about the plusses and minuses of each.
EtherNet/IP – The guy is really pretty easy to understand. He’s lightweight. The data representation makes a lot of sense. You can organize your data into objects in ways that make sense for your application. The big limitation to more widespread use of EtherNet/IP is the fact that there is no peer – peer communication mechanism. You just can’t setup two devices and make them exchange data. One always has to be the controller. That’s fine for its intended use, in a Rockwell PLC environment but not very good for anything else. It’s pretty complex and not something you could implement in a spare weekend.
ProfiNET IO – Talk about complexity. ProfiNET IO takes the cake for that. It’s one of those products that bring out the love – hate in me. I love the speed that ProfiNET IO offers. 1msec Updates! Nobody else has that. But the complexity! ProfiNET IO does everything. You name it and they put it into this protocol. All that functionality has made it a monster. Siemens code and code from a few vendors has pushed the required code size way beyond practicality. Luckily, I just started supporting Small ProfiNET IO Source code. Click on the link to check it out. And one other irritant; the data representation. Everything here has to look like a PLC rack. That can get pretty awkward sometimes.
Modbus TCP – Now here’s your dirt simple, implement it on Saturday morning Ethernet protocol. Small size, easy to implement, easy to understand. Every device is a collection of bits and/or registers. I like that. There’s some garbage left over from the serial Modbus. You can’t transfer more than about 240 bytes or so in a 1500 byte Ethernet packet so it has it quirks but if you just need a simple way to get I/O data around Ethernet – this is a great option. It won’t help you in the Rockwell or Siemens world but it will get you by a lot of the time.
EtherCAT – I threw this in here for fun. EtherCAT is FAST. Amazingly fast. It’s really good for motion control. You‘ll need an ASIC to do it but if you need to coordinate the pieces of a motion controller this is the guy to use.
So that’s what I’m thinking about while I’m enjoying Spanish culture and, let’s call it, uh, “architecture”. I’m heading back down to the Plaza to see what “architecture” walks by because it’s Sangria-time.