Left ArrowBack to discussions page
mathbelangermathbelanger Posts: 21 Crew
edited April 2016 in Integration
You can find this information on Robotiqs' blog.

When it comes to the industrial protocols that we support here at Robotiq, one of the most frequent questions that gets asked is certainly: what is the difference between Ethernet/IP and TCP/IP? Indeed, for a person unfamiliar with this subject, this can be quite confusing. In our daily lives, when we connect a PC to a network, we need to plug a cable into an ethernet card. However, to access the web, we have to configure our TCP/IP settings. And what does IP stands for again? Well, good question because the answer is: it depends! Let's take a few minutes to demystify all of this.

An ethernet RJ/45 connector (picture from Wikipedia, Copyright © 2007 David Monniaux)


Some definitions

First, what do all these terms/acronyms mean?

Ethernet is a set of network related technologies (covering the physical layer, data frames, network topology, etc.) defined by the IEEE 802.3 standards.

TCP is an acronym which stands for Transmission Control Protocol. This protocol is responsible for managing the connection between a client and a server, making sure that the data which needs to be transfered is split into several packets which will all eventually reach their destination. If they don't, or if one of them is corrupt, TCP defines how the missing data will be retransmitted.

IP has two different meanings depending on how it is used: Industrial Protocol for Ethernet/IP and Internet Protocol for TCP/IP. Quite confusing! Let's take a closer look at these two protocols.


Ethernet/IP uses the Ethernet infrastructure (who would have guessed?) to manage the connection between various automation devices such as robots, PLCs, sensors, CNCs and other industrial machines. It is managed by the Open DeviceNet Vendors Association (ODVA) and is based on the Common Industrial Protocol (CIP). It is very robust, but it is also complex and the learning curve is very steep (trust me on that one!).


The real name of the industrial protocol which we support is Modbus TCP/IP. TCP/IP is responsible for the transmission of the packets, which are composed of Modbus frames containing commands to read/write into the shared memory of a device. It is quite easy to learn, as TCP/IP is standard in most programming langages (C/C++, Matlab, Python, etc.) and Modbus is very simple. Also, Modbus TCP/IP is standard with most PCs, which makes it an interesting communication protocol for research laboratories.

Which protocol do you need?

If you are asking yourself this question, chances are good that you need Modbus TCP/IP. I'm suggesting this, because the robot used in the targeted application generally determines if an Ethernet/IP protocol is needed, so if not, then Modbus TCP/IP can be used.

If you still hesitate, just send us an e-mail and we will help you to choose the protocol which is the best suited for your application. Do not forget, however, that many other protocols exist in robotics. At Robotiq, we also support DeviceNet, EtherCAT, Serial RS-232 and now also CANopen. The choice is yours!

Mathieu Bélanger-Barrette Jr. Eng. / ing. jr

Production Engineer

[email protected]robotiq.com



  • mariem_werfelli22mariem_werfelli22 Posts: 13 Apprentice
    I’m trying to establish a data sending via a tcp / ip connection between a robot and a computer But what I notice is that the opening of the connection and the establishment of the first data exchange takes a relatively long time long (~ 10s). If you have done such an exchange, can you give me an idea about how long it takes to open the connection in your case and if there’s a command or a URscript make this communication faster?
  • matthewd92matthewd92 Posts: 800Founding Pro, Tactile Sensor Beta Testers Handy
    edited April 24
    We generally see much faster than that, are you using a loop to keep trying the connection as the URscript times out after 2 seconds trying to make the connection.  Occasionally we will see the server refuse the connection on the first try and then accept the connection on a subsequent try but this is very unusual.
  • mariem_werfelli22mariem_werfelli22 Posts: 13 Apprentice
    Actually my server is labview and this is my code 
Sign In or Register to comment.
Left ArrowBack to discussions page