MQTT or OPC-UA

damica1

Member
Join Date
Aug 2015
Location
Illinois
Posts
839
I get ask this all the time.

Hers is my simple answer!

All my data (read/write) has to communicate across a cellular connection, and we pay for bandwidth.

Here's is the data usage comparison for MQTT and OPC-UA.

A single write to a device using OPC-UA will take about 600 Bytes while the exact same write command using MQTT will take about 17 Bytes.

I realize there are other factors that come into play, but for my application MQTT has been a game changer for the Oil & Gas Industry.
 
I get ask this all the time.

Hers is my simple answer!

All my data (read/write) has to communicate across a cellular connection, and we pay for bandwidth.

Here's is the data usage comparison for MQTT and OPC-UA.

A single write to a device using OPC-UA will take about 600 Bytes while the exact same write command using MQTT will take about 17 Bytes.

I realize there are other factors that come into play, but for my application MQTT has been a game changer for the Oil & Gas Industry.


I don't doubt you at all that OPC UA is more bandwidth than MQTT. My understanding was that MQTT is not that far off from being a bare bones transport layer (like TCP/UDP, but built on top), whereas OPC UA is a full applicaiton protocol. My understanding is that OPC UA can even use MQTT as it's transport layer.



17 bytes, though? I thought the minimum Ethernet frame was something like 64, and just the header alone was 18?
 
I get ask this all the time.

Hers is my simple answer!

All my data (read/write) has to communicate across a cellular connection, and we pay for bandwidth.

Here's is the data usage comparison for MQTT and OPC-UA.

A single write to a device using OPC-UA will take about 600 Bytes while the exact same write command using MQTT will take about 17 Bytes.

I realize there are other factors that come into play, but for my application MQTT has been a game changer for the Oil & Gas Industry.
what extra equipment did you have to purchase and what extra modules did you have to purchase to implement mqtt in your system for each site?
 
17 bytes, though? I thought the minimum Ethernet frame was something like 64, and just the header alone was 18?

Of course, the Ethernet structure still comes into play, but if you strip that out, to issue a write command with opc-ua = 600 Bytes while a MQTT write command = 17 Bytes.
 
what extra equipment did you have to purchase and what extra modules did you have to purchase to implement mqtt in your system for each site?

The only extra piece of equipment that I use is a Maple System MQTT Gateway ($350.00)
and I really only use it because it makes setting up tags so simple when using Ignition Scada.
 
To acquire data from a remote site MQTT has an important advantage because the communication is made through a broker then the remote site does not need a static IP.
 
To acquire data from a remote site MQTT has an important advantage because the communication is made through a broker then the remote site does not need a static IP.

How does the broker know what adress to get the data from?
 
How does the broker know what adress to get the data from?

Because a TCP connection is established between a client and a server, and you only need to know the IP address of the server.

In MQTT the only one server part is the broker and all traffic is redirected through the broker.

In fact, this is how many applications for cellular devices work, since the devices cannot act as servers, they do not have a public IP and even less a static one.
 
Because a TCP connection is established between a client and a server, and you only need to know the IP address of the server.

In MQTT the only one server part is the broker and all traffic is redirected through the broker.

In fact, this is how many applications for cellular devices work, since the devices cannot act as servers, they do not have a public IP and even less a static one.
Thanks for the detailed info šŸ˜Š
 
Going back to the original question about bandwidth...

It is clear that MQTT uses fewer bytes to transmit little data, but instead OPC UA will probably use fewer bytes to transmit large groups of data, since it is capable of sending thousands of tag values in a single message.

The OPC UA maximum message size can be much larger than in other protocols, theoretically up to 4MB, although the maximum size to use is negotiated between the client and server before establishing a connection.

In addition, OPC UA is capable of sending messages in several chunks if the client or server buffers impose a smaller size.
 

Similar Topics

Anyone used MQTT for anything? How does it compare to OPC? How easy is it to setup? How easy is it to maintain? Do you pronounce it EMM QUE TEE...
Replies
8
Views
3,506
Hi Guys, I am facing problem in connecting ā€œSiemens PLCā€ with MQTT-broker. 1. In node-red, MQTT-node status remains connecting. 2. In...
Replies
2
Views
141
My task is to connect a MQTT broker on IP range 192.168 towards my OT network with the L33ER PLC on 10.10. IP range. Need communication both...
Replies
0
Views
473
Hello, Have anyone here use Ignition to connect to a Remote IO using MQTT, then use ControlLogix or CompactLogix to connect to Ignition using...
Replies
1
Views
439
Working on a project using MQTT and an Automation Direct Click Plus. Have the bidirectional communication pretty much figured out. One of the...
Replies
1
Views
1,453
Back
Top Bottom