Short answer: choose Modbus TCP for simple I/O, monitoring and SCADA links where a few milliseconds of jitter do not matter; EtherNet/IP if the plant runs on Rockwell (Allen-Bradley) controllers; and Profinet if it runs on Siemens controllers or the process needs isochronous motion control. All three run on standard Ethernet cabling, but they differ in timing, device description files, redundancy and the hardware they ask for.
In practice the existing controller ecosystem decides more than raw speed: a new line usually follows the brand of its main PLC, and Modbus TCP or OPC UA connect that line to SCADA, MES and data systems.
EtherNet/IP vs Profinet vs Modbus TCP: comparison table
| Modbus TCP | EtherNet/IP | Profinet | |
|---|---|---|---|
| Maintained by | Modbus Organization | ODVA | PROFIBUS & PROFINET International (PI) |
| Transport | TCP, port 502 (Modbus/TCP Security over TLS: port 802) | Explicit messages over TCP port 44818, implicit I/O over UDP port 2222 | RT and IRT frames directly on Ethernet (EtherType 0x8892, no IP); configuration and diagnostics over UDP/IP |
| Communication model | Client and server: the client polls registers and coils | CIP connections: scanner and adapter exchange I/O cyclically at a configured RPI | IO controller and IO device exchange cyclic data at a configured update time |
| Timing | Best effort: depends on the polling rate, the server and the network load | Predictable cyclic I/O; CIP Sync (IEEE 1588) and CIP Motion for synchronised axes | RT for most I/O; IRT (conformance class C) reaches cycles of 31.25 µs with about 1 µs of jitter |
| Device description file | None: the register map comes from the device manual | EDS | GSDML |
| Network hardware | Any Ethernet switch | Standard switches; managed switches with IGMP snooping when I/O is multicast | RT works on standard switches (PI recommends Profinet-ready switches); IRT needs IRT-capable devices and switches on the whole path |
| Ring redundancy | Not in the protocol | DLR (Device Level Ring) | MRP (Media Redundancy Protocol) |
| Functional safety profile | No standard profile | CIP Safety | PROFIsafe |
| Typical ecosystem | Vendor neutral: meters, drives, gateways, SCADA | Rockwell / Allen-Bradley | Siemens |
| Best fit | Monitoring, simple I/O, energy meters, retrofit data collection | Machine control on Rockwell lines | Machine control on Siemens lines, drives and motion |
Cycle figures depend on the devices and the network design. Use the table to compare the protocols, then check the datasheets of the controller and devices you will actually install.
Modbus TCP: simplicity first, timing second
Modbus TCP wraps the Modbus application protocol in a TCP connection to port 502, with a 7 byte MBAP header in front of each request. A client polls a server and the server replies: there is no cyclic I/O channel, no time synchronisation and no ring redundancy in the protocol. The update time is whatever the client polling rate, the server response and the network allow.
In exchange, it is open, documented and light. Almost any PLC, meter, drive or gateway speaks it, it works through any Ethernet switch, and a small library is enough to implement it. Several clients can read the same server, up to the connection limit of the device. Plain Modbus TCP has no authentication or encryption; the Modbus/TCP Security specification adds TLS on port 802, but few field devices support it yet, so keep Modbus TCP inside a segmented OT network.
EtherNet/IP: CIP objects over standard Ethernet
EtherNet/IP carries the Common Industrial Protocol (CIP), managed by ODVA, over TCP and UDP. It has two kinds of messages:
- Explicit messaging over TCP port 44818, for configuration, parameters and diagnostics, on request.
- Implicit (I/O) messaging over UDP port 2222, for cyclic, time critical data. Each connection has a requested packet interval (RPI) set in milliseconds by the scanner.
Devices are described by EDS files. Device Level Ring (DLR) gives ring redundancy through devices with two ports and an embedded switch, and CIP Safety carries safety data on the same network. For coordinated motion, CIP Sync distributes time with IEEE 1588 and CIP Motion uses it to synchronise drives. It is the default choice in Rockwell plants because drives, safety I/O and HMIs in that ecosystem already speak it.
Profinet: real time on layer 2, isochronous on hardware
Profinet IO, from PROFIBUS & PROFINET International (PI), sends cyclic I/O as RT frames directly on Ethernet, without IP, and uses UDP/IP only for configuration, diagnostics and acyclic data. Devices are described by GSDML files and identified by a station name that the engineering tool assigns with the DCP protocol.
PI defines three conformance classes that build on each other:
- CC-A: real time cyclic data, standard alarms and diagnostics, topology support.
- CC-B: adds SNMP, so network statistics and topology can be read with standard tools.
- CC-C: adds isochronous real time (IRT), with cycles down to 31.25 µs and about 1 µs of jitter, for motion control and drive synchronisation. IRT needs hardware support in every device and switch of the path.
Media Redundancy Protocol (MRP) closes the line into a ring, and PROFIsafe carries safety data. Commissioning is more structured than with Modbus TCP: names, topology and GSDML files must match the project, which pays back in precise diagnostics.
How to choose the fieldbus for a new line in five questions
- Which controller brand runs the plant? Rockwell points to EtherNet/IP, Siemens to Profinet. Fighting the ecosystem costs more than any protocol difference.
- Do you need synchronised axes? Coordinated motion needs Profinet IRT or CIP Sync with CIP Motion. Modbus TCP is not built for it.
- Do safety functions travel on the network? Then you need PROFIsafe or CIP Safety with certified devices, or hardwired safety that the PLC only reads.
- Do you need ring redundancy? Plan MRP or DLR from the design stage and buy devices that support it.
- Is it monitoring, energy or a link to SCADA? Modbus TCP, MQTT or OPC UA are enough, and any open controller can provide them.
SCADA and MES rarely use the protocol of the machine network
Few plants run one protocol end to end. A common pattern: Profinet or EtherNet/IP on the machine network for real time control, and Modbus TCP, MQTT or OPC UA one level up for SCADA, historian and MES, because that level needs broad compatibility more than microsecond timing. The comparison of Modbus RTU, Modbus TCP and OPC UA covers that upper level in detail.
A gateway that reads the machine controller on one side and publishes Modbus TCP or MQTT on the other is often where a retrofit or IIoT project starts, without touching the machine network.
Which protocols an open source based PLC can use
| Protocol | Industrial Shields hardware | How |
|---|---|---|
| Modbus TCP | M-Duino (Ethernet), ESP32 PLC, Raspberry PLC, GateBerry | Open source libraries, client and server. See Modbus TCP master on Arduino and ESP32 PLCs and the Modbus guide for Raspberry PLC |
| Profinet | Raspberry PLC | Open source p-net stack as an IO device, or CODESYS as IO controller: Profinet on Linux and Profinet alarms with CODESYS. For commercial use, check the CODESYS license terms. |
| EtherNet/IP | Raspberry PLC | With CODESYS Control for Raspberry Pi SL, which includes the EtherNet/IP Scanner and Adapter. Check the CODESYS license terms first: see CODESYS on a Raspberry PLC. |
For a new line, follow the existing controller ecosystem. To pull data out of machines that already run Profinet or EtherNet/IP, the fastest route is usually a gateway such as GateBerry, which reads the machine PLC through an interface it already exposes (often OPC UA, Modbus TCP or the vendor protocol) and publishes Modbus TCP or MQTT for the reporting layer. The retrofit then needs no native fieldbus stack on the new controller. To pick the controller for that retrofit, see M-Duino or Ardbox for a retrofit and the M-Duino range.
Take it further
Modbus TCP is the quickest way to connect a PLC to a SCADA. See it in a real project, in a network simulator and as a register map.
Case study
Every tracker reports. The SCADA sees the whole field.
A gateway per block publishes every tracker row in a fixed Modbus TCP register map for the SCADA, and over MQTT for the operations server.
Read the case study
Simulator
Run a Modbus RTU and TCP network and find the fault
An M-Duino 21 polls four Modbus RTU slaves on RS-485 and serves the data on Modbus TCP. Switch a slave off or change the baud rate and find the fault in the frames.
Open the simulator
PLC Solution Library
A Modbus TCP register map for the whole plant
The map an M-Duino exposes on port 502: coils for relays and resets, holding registers for setpoints and commands, input registers for live values.
See the example
FAQ about EtherNet/IP, Profinet and Modbus TCP
Is Profinet faster than EtherNet/IP?
For ordinary I/O both give cyclic updates in the millisecond range, and the devices limit the cycle more than the protocol. For isochronous motion, Profinet IRT reaches cycles of 31.25 µs on IRT hardware, and EtherNet/IP uses CIP Sync and CIP Motion to synchronise drives.
Can Modbus TCP and Profinet run on the same network?
Yes. Profinet RT frames and Modbus TCP traffic can share switches, and Profinet RT frames carry VLAN priority. Keep the Modbus TCP load moderate on machine networks, and use separate VLANs or networks when the timing is critical.
Does Modbus TCP need special switches?
No. Modbus TCP is ordinary TCP traffic on port 502 and works through any Ethernet switch. Managed industrial switches still help with diagnostics, VLANs and segmentation.
Which ports do EtherNet/IP and Modbus TCP use?
Modbus TCP uses TCP port 502, and 802 for Modbus/TCP Security over TLS. EtherNet/IP uses TCP port 44818 for explicit messages and UDP port 2222 for implicit I/O. Profinet RT does not use IP ports: its frames go directly on Ethernet.
Can an Arduino or Raspberry Pi based PLC talk Profinet or EtherNet/IP?
A Raspberry PLC can run the open source p-net stack as a Profinet IO device, or CODESYS with its fieldbus components. Arduino and ESP32 based PLCs use Modbus TCP natively; for Profinet or EtherNet/IP lines, place a gateway between the machine network and the data layer.
Is EtherNet/IP the same as Ethernet?
No. Ethernet is the physical and data link layer. EtherNet/IP is an industrial application protocol, CIP, that runs on top of Ethernet with TCP and UDP. The "IP" stands for Industrial Protocol.