← All Posts

OPC UA vs Modbus TCP: Which Industrial Protocol to Choose

Modbus TCP and OPC UA are the two protocols you will meet on almost every industrial Ethernet network. Both are open. Both run over TCP. Both let a client read and write values on a remote device. That is roughly where the resemblance ends. Modbus TCP is a 1979 serial protocol lifted onto TCP port 502 — minimalist, stateless, ubiquitous on cheap field hardware. OPC UA is a modern, service-oriented stack with a self-describing information model, built-in security, and standardized domain models that scale from the device layer to the enterprise.

This guide compares the two on the axes that actually decide which one to use: data model, security, discovery, transport, scalability, and best-fit use cases. For how UA compares to a lighter alternative still, see OPC UA vs MQTT; for UA's address space in detail, see the information model explainer.

Modbus TCP: The 1979 Protocol on Ethernet

Modbus was originally a serial protocol (RTU over RS-485) published by Modicon in 1979 for its PLCs. Modbus TCP wraps the same application-layer PDU in a TCP segment, defaulting to port 502. The model is stubbornly simple:

The protocol specifies nothing about what each register means. Register 40001 on slave 5 might be the temperature of a motor winding, a setpoint for a VFD, or the firmware revision of an energy meter — you can only know via a separate, out-of-band register spreadsheet provided by the device vendor. That spreadsheet is where most of the operational pain of Modbus lives.

OPC UA: A Modern Industrial Stack

OPC UA (Unified Architecture) was designed from scratch as a platform-independent replacement for classic COM/DCOM-based OPC. Its surface area is much larger than Modbus:

The framing difference: Modbus TCP moves numbers at addresses. OPC UA moves typed, named, semantic data over a session that authenticates, encrypts, and pushes changes. They are not different versions of the same thing — they are different categories of protocol.

Feature Comparison

Factor
Modbus TCP
OPC UA
Transport
TCP, plaintext
Own binary / HTTP(S)
Default port
502
4840
Discovery
None — must know slave IP
FindServers / GetEndpoints
Data model
Flat 16-bit registers
Typed, browseable address space
Security
None (network isolation)
Certs, signing, encryption
Read pattern
Poll (request/response)
Poll or subscriptions (push)
Scalability
~250 slaves per network
Thousands of items per session
Best use
Simple field devices
Multi-vendor SCADA, enterprise

Performance and Overhead

Modbus TCP's per-frame overhead is genuinely tiny — a typical Read Holding Registers request is 12 bytes on the wire and the response is 6 bytes plus 2 bytes per register. For high-frequency polling of a small register set on a constrained device, Modbus TCP is hard to beat. But that low per-frame cost is offset by two ongoing costs: the master must poll continuously to detect changes, and the client must already know the register map via out-of-band documentation. Polled traffic scales as O(devices × registers × poll rate).

OPC UA's handshake is heavier: certificate exchange, session establishment, and subscription creation all cost more bytes and round-trips than a Modbus read. But once a subscription is established, the server pushes only the changes that matter, with their timestamps and qualities, on a single TCP connection. For a plant monitoring hundreds or thousands of tags where most values are stable, OPC UA's ongoing cost is lower than equivalent Modbus polling, even though the handshake was more expensive.

When Modbus TCP Wins

When OPC UA Wins

The Common Pattern: Gateway Aggregation

Most real plants do not pick one. The dominant architecture in industry today is Modbus TCP at the device layer, OPC UA at the controller or gateway layer, upstream to SCADA and beyond. A gateway (a PLC, an edge box, or a dedicated protocol converter) polls Modbus TCP field devices, exposes their data as a typed OPC UA address space upstream, and lets the SCADA system speak one protocol instead of fifty. This is also exactly the pattern MacTools OPC UA Explorer and Voltrus Gateway are built to support — bridge Modbus field devices into a self-describing UA facade, then browse and subscribe from macOS as if every device on the floor were UA-native.

Accessing Both From macOS

MacTools OPC UA Explorer is a native UA client: connect to any UA server, browse the address space, read and write variables, subscribe to monitored items, and call methods. For Modbus TCP field devices, the practical path is to put a UA gateway in front of them and browse the gateway — your macOS client then sees a single, typed address space that hides the Modbus polling underneath. This is the cleanest way to consume both protocols without running two separate client tools.

OPC UA Explorer for macOS

MacTools OPC UA Explorer — browse a typed UA address space, subscribe to monitored items, read and write variables, call methods. Native macOS app, $14.99 one-time. Use it against a UA gateway that aggregates your Modbus TCP field devices.

Get MacTools OPC UA Explorer

Frequently Asked Questions

Can OPC UA replace Modbus TCP?

In most modern plants, yes — OPC UA covers everything Modbus TCP does (read and write values over Ethernet) and adds self-describing data, built-in security, subscriptions, and standardized domain models. The exception is at the low end: cheap field devices, energy meters, and legacy equipment where Modbus TCP's near-zero footprint and universal support still win. Gateways aggregating Modbus into UA upstream are the common compromise.

Is Modbus TCP still used in new installations?

Heavily. Modbus TCP remains the default on low-cost PLCs, VFDs, energy meters, and remote I/O because it is royalty-free, simple to implement, and supported by virtually every industrial device. New plants routinely deploy Modbus TCP at the device layer and bridge it into OPC UA at the controller or gateway layer for SCADA consumption.

Does Modbus TCP have security?

No. Modbus TCP is a plaintext protocol with no authentication, no encryption, and no message integrity. Security depends entirely on network isolation — dedicated VLANs, firewalls, and physical separation. If a client can reach TCP port 502 on a slave, it can read and write any register. OPC UA, by contrast, has X.509 certificates, signing, and encryption built into the protocol.

Why use OPC UA over Modbus TCP?

Use OPC UA when you need multi-vendor interoperability, browseable self-describing tags, built-in security, push-based subscriptions instead of polling, or integration with SCADA and enterprise systems. Use it wherever the alternative would otherwise require a manually maintained register spreadsheet. Modbus TCP remains preferable for simple, cost-sensitive field devices where the register map is already known.

Related: Continuous Monitoring

Voltrus SCADA subscribes to OPC UA servers (and bridges Modbus TCP upstream) in production — dashboards, alarms, historian. From $249 lifetime.

Further Reading