12/09/2018
I am currently conducting a research project that compares various protocols as part of one of my university modules. I have been looking into response times and I am struggling to find concrete information on this with regards to OPC UA.
Is there anyone who would able to give me any information on the response time of OPC UA (ballpark figure), or any related data – transaction rate, signal delay, etc.? The two main protocols I am looking into and comparing are OPC UA and Modbus TCP/IP, so if there is anyone who has had experience with both of these and would be able to shed some light on the comparative response times – it would be greatly appreciated.
Thank in advance,
Nic
05/30/2017
Response time in UA is entirely of a function of the server, the network and the amount of data.
If you want to compare UA to other protocols you will have to test them all on the same hardware to get meaningful results.
Even then, it would be likely possible to design test cases that make UA look better or worse than something like MODBUS.
A better question is: what are your performance requirements and does OPC UA meet them on the h/w you need to use? If so the decision on what protocol to use would be driven by other needs such as a security or a flexible information model.
12/09/2018
Thank you for the reply Randy.
Unfortunately I don’t have any specific performance requirements as it is just a research project for now, so I’m just comparing the two on a general surface level.
You pointed out that it is possible that certain test cases would make OPC UA look better than Modbus and vice versa, which obviously means certain applications/methods of application would favour one or the other. Do you by any chance know which cases may help or hinder the performance of OPC UA over Modbus?
Moderators-Specifications
Moderators-Companion
Moderators-Implementation
Moderators-Certification
Moderators-COM
02/24/2014
I think it is import that you try to compare Apples to Apples not Apples to Oranges. OPC UA has an information model and supports transmitting structured data, it includes time stamps and quality information. It has security enabled by default. A single subscription for data can package many values together and only values that changes are sent. Modbus is typical used to transmit a simple value (no timestamps, quality) that is part of a block – same message always, does not have security. So if you are just measuring number of messages/second then and create a single byte for the data item then Modbus might out perform Client /Server OPC UA (the OPC UA message is larger since it includes security information, timestamps and status). Or if you expect all items in the block change every interval and again the many small data items in the block, this might also have a performance advantage for Modbus. [again the OPC UA block includes time stamps and status information and the large advantage of exception reporting only values that have changed is lost]. In real world application, very rarely does every value change on every cycle, especially if looking at digital type values – and if a simple deadband is setup on floating point values [value must change by .1%] then again it is rare if all values change on a cycle.
But if you want to look at the new OPC UA Pub/Sub interface instead of client/server then you can structure a similar message and modbus performance does not beat OPC UA in any case.
The key point is that you need to, as Randy mentioned, describe your use cases and requirements to make sure you are looking at what would be appropriate for the given application or class of applications. When we evaluated options for MDIS a number of years ago we did many of these comparisons and discovered that for our use cases OPC UA was better.
Paul Hunkar - DSInteroperability
1 Guest(s)