Industrial protocols
OPC UA vs Modbus vs MQTT: which protocol for which job
OPC UA carries values with structure and built-in security, Modbus carries raw registers, and MQTT publishes data to a broker. When to use each one.
- Topic
- Industrial protocols
- Updated
- 13 November 2026
- Reading time
- 6 min
- Sections
- 6

OPC UA (IEC 62541) is a standard for industrial data exchange that carries values together with their structure, units and built-in security; Modbus sends only register values, while MQTT is a lightweight publish/subscribe protocol often used to send data to the cloud.
The three are not rivals for the same job. Modbus is the simplest way to read a field device. OPC UA describes a whole system, from a tank to its gauge, alarms and history, in a model that other software can browse. MQTT moves messages efficiently over unreliable or expensive links. Choosing well means matching the protocol to the distance, the data and the people who will maintain it.
At a fuel terminal the split is easy to see. Tank gauges, flow computers and valve actuators answer Modbus on RS-485 or Ethernet. The terminal automation system, SCADA and historian need named, timestamped values. A head office or a cloud dashboard needs a compact stream from many sites over links that are not always up.
So the useful question is not which protocol is best, but which protocol serves which link. The answer is almost always a combination, and the meeting point is a gateway or server that translates one protocol into another.
OPC UA
What OPC UA adds on top of raw values
OPC UA lets a client ask a server what a value belongs to, which unit it uses and whether it can be trusted, along with the value itself.
OPC Unified Architecture is maintained by the OPC Foundation as the OPC 10000 series and published by the IEC as IEC 62541. Part 1, Overview and Concepts, release 1.05.06 of October 2025, describes an AddressSpace of nodes linked by references. A tank can be an object with child variables for level, temperature and alarm state, each with a data type, an engineering unit and a quality status.
Security is part of the standard rather than an add-on. Clients and servers authenticate with certificates and exchange messages over a secure channel that can sign and encrypt. Clients can subscribe to changes instead of polling, and since newer releases the specification also defines a PubSub model alongside client/server. IANA registers TCP port 4840 for the OPC UA connection protocol.
The previous generation, classic OPC such as OPC DA, was built on Microsoft COM/DCOM, which tied it to Windows and made it hard to pass through firewalls. OPC UA was redesigned to run independently of the operating system, on Linux servers, PLCs and small gateways, and to carry its own security inside the protocol.
The cost is complexity. An OPC UA server needs certificate management, a designed information model and engineers who understand both. For a single meter on a serial line, that effort rarely pays back.
Information model
Objects, variables, types and units that clients can browse.
Built-in security
Certificates, signing and encryption on a secure channel.
Subscriptions
The server reports changes; the client does not poll every value.
History and alarms
Standard services for historical data, events and conditions.
Client/server and PubSub
Both communication patterns are defined in the specification.
Platform independent
Runs on servers, PLCs, gateways and embedded devices.
Comparison
OPC UA vs Modbus vs MQTT side by side
The quickest way to see the difference is to ask what each protocol knows about the data it carries.
Modbus knows addresses and 16-bit words. OPC UA knows objects, types, units and quality. MQTT knows topics and payloads; the payload format is left to the application unless a convention such as Sparkplug from the Eclipse Foundation defines it. Network behaviour differs too. Modbus and OPC UA client/server are request-driven, while MQTT clients keep one connection to a broker and send only when they have something new.
That difference shows up on the bill and on the screen. Polling one hundred Modbus registers every second sends the same unchanged values again and again. An OPC UA subscription or an MQTT publisher with a deadband sends a level only when it moves by more than a set amount. On a cellular link the saving is real; on a plant LAN it matters less than simplicity.
| Criterion | Modbus | OPC UA | MQTT |
|---|---|---|---|
| Pattern | Request/reply, client polls | Client/server with subscriptions; PubSub option | Publish/subscribe through a broker |
| Data model | Coils and 16-bit registers only | Objects, types, units, quality, history | Topics; payload defined by the application or Sparkplug |
| Security | None in classic Modbus; Modbus/TCP Security adds TLS | Certificates, signing and encryption built in | TLS on the connection plus broker authentication |
| Registered port | 502 (TCP) | 4840 (TCP) | 1883; 8883 for TLS |
| Network load | Grows with poll rate and tag count | Moderate; subscriptions send changes only | Low; report by exception |
| Typical use | Field devices, meters, gauges, drives | PLC, SCADA, MES and historian links | Remote sites, telemetry, cloud dashboards |
MQTT
Where MQTT fits
MQTT suits sites where the network is slow, metered or often down, because a device sends a small message only when something changes.
The OASIS MQTT Version 5.0 standard, approved on 7 March 2019, defines a client/server publish/subscribe transport that is light and simple to implement. Publishers send messages to a topic on a broker. Subscribers receive every message on the topics they asked for. Neither side needs to know the address of the other.
Three quality-of-service levels set the delivery promise: at most once, at least once and exactly once. A Will message lets the broker announce that a device dropped off unexpectedly, which is useful for remote telemetry. The MQTT standard does not define what a payload means. Plants that need interoperable tags often add Sparkplug, whose version 3.0 of October 2022 defines a topic namespace, payload and session state for industrial data.
- Standard
- OASIS MQTT 5.0 (2019)
- Pattern
- Publish/subscribe via broker
- QoS 0
- At most once
- QoS 1
- At least once
- QoS 2
- Exactly once
- Ports (IANA)
- 1883; 8883 secure
Gateways
Bridging Modbus to OPC UA or MQTT
A protocol gateway reads field devices in Modbus and offers the same values upward as OPC UA nodes or MQTT messages.
The gateway polls each Modbus device on its own schedule, decodes the registers with the vendor map, and gives each value a name, a unit and a timestamp. Upward, it either acts as an OPC UA server that SCADA browses, or as an MQTT client that publishes to a broker. Many industrial gateways can do both.
The tag mapping inside the gateway becomes a critical document. It records which register became which tag, with which scale and word order. Without it, nobody can tell whether a wrong value on the dashboard started in the device, the map or the upper system.
Two gateway settings deserve attention. Timestamps should come from the moment the gateway read the device, not from the moment the server received the message, or delayed data looks current. And on remote links the gateway should buffer readings while the connection is down and send them in order once it returns, so the history has no silent gaps.
Gauges, meters and drives on RS-485 or Ethernet.
Hover, focus or tap a step to read its note.Decision
How to choose the protocol for each link
Choose the protocol per link, not per project: the cable from a gauge, the link between control systems and the path to a remote server each have different needs.
Keep Modbus where the device only speaks Modbus and the link is short and local. Use OPC UA where several systems on site must share structured data and the owner wants security that an auditor can verify, for example under the IEC 62443 series. Use MQTT where sites are remote, links are cellular, and the receiving side is a central server or cloud platform.
Two cautions apply to every choice. Never expose Modbus TCP directly to the internet, since it has no authentication. And check what the software at the other end actually supports before writing it into a specification.
Think about the team that will run the system after commissioning. A Modbus line can be checked by a technician with a laptop and the vendor map. An OPC UA server needs someone who can renew certificates and edit the information model. An MQTT broker needs someone who manages accounts, topics and backups. Pick a design the site can maintain.
List what each device speaks
Field devices often offer only Modbus; newer PLCs may offer OPC UA too.
Mark where data must travel
Local SCADA, a site historian, a head office server or a cloud platform.
Check the link quality
Plant LAN, fibre, radio or cellular with data limits and outages.
Set the security level
Who may read, who may write, and which zone each system sits in.
Pick the bridge and document it
Gateway model, tag map, certificates and broker accounts.
In the field
In the field: mixing protocols at Citia sites
In Citia projects, Modbus usually stays at the device, and a gateway or server moves the data to the system that needs it.
At Rich machine connectivity in Serang, the acquisition path links PLCs, ECUs and Advantech EdgeLink over the plant network to the iFactory platform for OEE dashboards. INTEGRA TMS follows a similar pattern at fuel terminals: a gateway in the server room passes ATG readings to an SQL database for live levels, history and tank tickets.
For spread-out sites, CATALYST Telemetering carries river level, pipeline pressure and panel readings to a cloud server and dashboard. INTEGRA CTP, still in development, puts gateways and edge software at each site and keeps PLC control and safety permissives in the local control system. Security for these links follows the layered approach described in Citia's note on secure system integration.
Terms to know
- OPC UA
- OPC Unified Architecture, the IEC 62541 standard for secure, structured data exchange between industrial systems.
- OPC DA
- Classic OPC Data Access, built on Microsoft COM/DCOM and therefore tied to Windows.
- OPC server
- Software that exposes data from PLCs or devices so OPC clients such as SCADA can read it.
- Information model
- The structure of objects, variables and types that an OPC UA server exposes.
- MQTT broker
- The server that receives published messages and forwards them to every subscriber of the topic.
- Topic
- The name under which an MQTT message is published, such as site/tank01/level.
- QoS
- Quality of service in MQTT: at most once, at least once or exactly once delivery.
- Sparkplug
- An Eclipse Foundation specification that defines topics, payloads and session state for industrial MQTT.
Frequently asked questions
Does OPC UA replace Modbus?
No, OPC UA usually sits above Modbus rather than replacing it. Many field devices will keep speaking Modbus for years. A gateway or PLC reads them in Modbus and serves the values as OPC UA to SCADA, historians and business systems.
What is the difference between OPC DA and OPC UA?
OPC DA is the classic OPC standard built on Microsoft COM/DCOM, while OPC UA is platform independent with built-in security. OPC UA also carries a full information model, events and history, where OPC DA covers current values only.
When is MQTT a better choice than OPC UA?
MQTT is a better choice when many remote devices send data over cellular or other limited links to a central server. Devices publish only on change, and the broker handles distribution. OPC UA fits better between systems on the same site.
What is an OPC server?
An OPC server is software that reads data from PLCs or devices and exposes it to OPC clients in a standard way. In OPC UA the server also publishes the structure of the data, so clients can browse tanks, meters and alarms by name.
Is MQTT secure enough for industrial data?
MQTT can be secure enough when the connection uses TLS and the broker enforces authentication and topic permissions. The protocol itself does not encrypt payloads. Treat the broker as a critical server and place it according to your IEC 62443 zone design.
How do I convert Modbus to OPC UA?
Convert Modbus to OPC UA with a protocol gateway or an OPC UA server that polls the Modbus devices. You configure the register map, data types and scaling once, and the gateway exposes each value as a named OPC UA node with a unit and timestamp.
Sources and further reading
- OPC 10000-1: OPC Unified Architecture Part 1, Overview and Concepts, v1.05.06 (opens in a new tab)
- IEC TR 62541-1:2020 OPC Unified Architecture, Part 1: Overview and concepts (opens in a new tab)
- MQTT Version 5.0, OASIS Standard (opens in a new tab)
- Sparkplug Specification (opens in a new tab)
- Service Name and Transport Protocol Port Number Registry: port 4840 (opcua-tcp) (opens in a new tab)
- MODBUS Application Protocol Specification V1.1b3 (opens in a new tab)
- ISA/IEC 62443 Series of Standards (opens in a new tab)
- Cover photo by Mixabest, public domain (opens in a new tab)
Next step
Prepare the technical discussion for your facility.
Bring the equipment list, diagrams and symptoms you have. The Citia team helps map the next step.
Related products and solutions
- KnowledgeWhat is Modbus? RTU vs TCP, registers and function codesModbus is an open protocol for industrial devices. This guide compares Modbus RTU and TCP and explains registers, function codes, frames and gateways.
- KnowledgeIndustrial IoT gateways and telemetry: getting remote-site data to a dashboardAn industrial IoT gateway reads field devices, buffers data when the network drops and sends it to a server. How telemetry differs from SCADA and how to choose a gateway.
- KnowledgeOT cybersecurity at fuel terminals: real risks and first steps under IEC 62443OT cybersecurity at a terminal starts with knowing assets, separating networks, controlling remote access and testing backups. See real risks and ten first steps based on IEC 62443 and NIST SP 800-82.
- ProductCATALYST TelemeteringBrings level, pressure and panel readings from remote sites to one dashboard.
- ProductINTEGRA CTPTerminal automation run from the cloud, with gateways and edge software at each site.
- ProductINTEGRA TMSCollects ATG readings from every tank for live levels, history, tank tickets and stock posting to SAP.
- ProjectRich machine connectivity & OEEProduction-data acquisition, platform integration and dashboards
- ProjectEltech: busbar panel monitoring into central SCADAPower, humidity and temperature monitoring on an Eltech busbar panel was added to the existing central SCADA through a LAN-to-Ethernet converter and Modbus.
- NewsSecure system integration: API protocols for fuel terminal managementCovers API-based integration for communication between existing fuel terminal systems and monitoring platforms.