Analysis of OPC UA performances

https://doi.org/10.1016/j.csi.2013.06.004Get rights and content

Highlights

  • Analysis of overheads introduced by OPC UA in the client/server data exchange

  • Results point out that some OPC UA mechanisms strongly influence OPC UA performance.

  • Guidelines about setting of critical OPC UA mechanisms are given in the paper.

  • Current literature presents very few papers dealing with this subject.

Abstract

OPC UA is the evolution of the well known OPC COM and XML specifications. OPC UA adopts a very complex software infrastructure to realise the communication among industrial applications; furthermore it features many mechanisms realising data exchanges, whose tuning depends on several parameters. The aim of this paper is to deal with the performance evaluation of OPC UA. The main data exchange mechanisms which may influence performance of the client/server communications will be pointed out; then, the analysis of the overhead they introduce will be presented and discussed. Finally, some guidelines about the setting of OPC UA mechanisms will be given on the basis of the results achieved.

Introduction

OPC Unified Architecture (OPC UA) is the current OPC Foundation's technology for secure, reliable and interoperable transport of raw data and pre-processed information from the shop floor into production planning systems [1].

Definition of OPC specifications started more than fifteen years ago to simplify and to standardise data exchange between software applications in industrial environment. The rapid diffusion of the first version of OPC specifications was due to the choice of Microsoft's DCOM as the technological basis. However, exactly this point raised the majority of criticism regarding OPC; OPC technology was too focused on Microsoft, platform-dependent and not firewall-capable, and thus not suitable for use in cross-domain scenarios and for the Internet. When XML and Web Services technologies have become available, the OPC Foundation adopted them as an opportunity to eliminate the shortcomings of DCOM. Since 2003 the OPC XML Data Access (DA) specification has offered a first service-oriented architectural approach besides the “classic” DCOM-based OPC technology; this Web services-based concept enabled applications to communicate independently of the manufacturer and platform.

Few years ago, the OPC Foundation has introduced the OPC UA standard which is based on a service-oriented, technology- and platform-independent approach, creating new and easy possibilities of communicating with Linux/Unix systems or embedded controls on other platforms and for implementing OPC connections over the Internet. The new possibilities of using OPC components on non-Windows platforms, embedding them in devices or implementing a standardised OPC communication across firewall boundaries allow speaking of a change of paradigms in OPC technology. OPC UA servers can be varied and scaled in their scope of functions, size, performance and the platforms they support. For embedded systems with limited memory capacities, slim OPC UA servers with a small set of UA services can be implemented; at the company level, in contrast, where memory resources are not that important, very powerful OPC UA servers can be used with the full functionality. OPC UA specifications now offer a security model, which wasn't available in the previous versions of OPC specifications; the OPC UA security governs the authentication of clients and servers and ensures data integrity, trustworthiness and authorisation within OPC communication relationships.

All the features offered by OPC UA specifications are realised by introducing a complex software infrastructure made up by several layers each offering a particular set of functionalities; the organisation based on layers has the main advantage to allow interchangeability between their implementations, assuring technology-independence. Each of the layers of the OPC UA communication stack features many mechanisms realising data exchanges, whose tuning depends on several parameters. Both the intrinsic complexity of the stack implementation of OPC UA and the difficulties in the settings of the different data exchange mechanisms offered by OP CUA, may heavily impact on the overall performance of the data exchanges between industrial applications (e.g. latency, round-trip time, delays and so on).

Current literature presents few papers dealing with the performance evaluation of OPC UA; most of them focus only on particular services and/or aspects of the OPC UA specification. For example in [2], [3] performance evaluation is carried on considering only the security mechanisms and services provided by the OPC UA specifications. In [4], [5] a lot of comparisons between OPC UA and previous specifications (COM- and XML-based) are available; although these comparisons are interesting, no useful information about the performances of the OPC UA alone can be achieved. In [6] some few results about the real measurements of delays introduced by OPC UA communication stack are shown; the results presented are very interesting but limited to few real scenarios and are not able to point out general considerations about OPC UA performances.

The aim of this paper is to deal with the performance evaluation of OPC UA, pointing out all its main data exchange mechanisms which could influence the client/server communication in industrial environments. Furthermore, their impact on the overall performances will be presented and discussed. Finally, useful considerations about OPC UA performances are derived from the results presented; these considerations are aimed to help the OPC UA final user to choose the right data exchange mechanisms and to set the relevant parameters, in order to improve the OPC UA performance.

Some of the analyses and results presented in this paper have been already published in proceedings of international conferences by one of the authors [7], [8], [9]; the content of this paper deeply deals with the performance evaluation of OPC UA, presenting other important results never published.

Section snippets

OPC UA overview

The OPC UA specifications are currently made up by 11 parts [1], [4]. The OPC UA architecture models OPC UA Client and Server as interacting partners.

Client and Server applications use OPC UA Client and Server Application Programming Interface (API) to exchange data, respectively. OPC UA Client/Server API is an internal interface that isolates the Client/Server application code from an OPC UA Communication Stack. The OPC UA Communication Stack converts OPC UA Client/Server API calls into

OPC UA performance

One of the main requirements for OPC UA is performance; OPC UA must scale from small embedded systems up to enterprise systems with different requirements regarding the speed and type of transferred data. In embedded systems, where smaller pieces of data must be transferred in short time intervals, the speed of the data transfer and minimal system load are the most important requirements. In enterprise systems, where structured data must be processed in a transaction- and event-based manner,

OPC UA model

OPC UA performance evaluation has been realised by the simulation of an ad-hoc model of the OPC UA client/server data exchange, instead of using a real implementation (based, for instance, on stacks and SDKs provided by the OPC Foundation). The main advantage offered by this choice is that the use of a model avoids the need to detail the internal mechanisms of the OPC UA specifications not directly involved in the aim of the performance evaluation, focusing only on certain mechanisms and their

Performance evaluation

The main aim of the paper was to analyse the impact of the OPC UA mechanisms (e.g. security, transport, encryption subscriptions, monitored items) and the relevant parameters (e.g. signature, encryption, publish interval) onto the data exchange between OPC UA-based client and server applications. Both kinds of data exchange pointed out in Section 2.1 were considered, i.e. the one based on read/write services and the one based on Subscriptions/Monitored Items. Different evaluations have been

Results

This section will present the main results of the performance evaluation of OPC UA, realised through the simulation of the model described in the Section 4, using OMNeT++ environment [10].

The performance evaluation focused on the three mechanisms which more than others seem to influence the OPC UA-based client/server data exchange; as shown in Section 3, they are the security, the transport and that based on Subscriptions/Monitored Items. Comparison of the effects produced on the OPC UA

Tuning OPC UA performance

The results presented in the previous section are enough to point out some considerations about the tuning of OPC UA settings in order to speed-up the relevant performances. As seen, the main results of the paper focused on the impact of OPC UA Security and Transport Protocol on the Client/Server Data Exchange based on Read/Write Services; the paper presented evaluation of round-trip times for the Read Service, but similar results may be expected for the Write Service, as their behaviour is

Final remarks

The paper has presented the OPC UA specifications, pointing out some features which may have an impact on the overall performance of the client/server data exchange. The paper has then proposed some measurement parameters to be considered in the performance evaluation. Finally, the main results achieved during performance evaluation have been presented and discussed. Results pointed out that some OPC UA parameters (e.g. Publish Interval) are very critical and their setting is very difficult

Salvatore Cavalieri was born in Catania (Italy) in 1965. He received his “laurea” degree in Electronic Engineering from the University of Catania in 1989. In 1993 and 1995, he received a PhD in Electronic and Computer Science Engineering, and a post-PhD in Electric Engineering from the same University. Currently he is Full Professor of Computer Science at the University of Catania, Department of Electrical Electronic and Computer Engineering. His research areas are in neural networks,

References (13)

  • OPC Foundation

    “OPC Unified Architecture Specification”, Parts 1–11

  • A. Braune et al.

    Evaluation of OPC UA secure communication in web browser applications

  • O. Post et al.

    The performance of OPC UA Security Model at field device level

  • W. Mahnke et al.

    OPC Unified Architecture

    (2009)
  • J. Lange et al.

    OPC from Data Access to Unified Architecture

    (2010)
  • Intel

    Reducing product development effort for OPC unified architecture

There are more references available in the full text version of this article.

Cited by (51)

  • Next Generation Task Controller for agricultural Machinery using OPC Unified architecture

    2022, Computers and Electronics in Agriculture
    Citation Excerpt :

    The results showed that the task execution time (latency) and CPU usage are affected by the implementation, with the best performing being the open source implementation open62541 which has a mean task execution time of 312.83 μs when using 100 Mbit/s Ethernet, and significantly degraded performance when using WiFi. Zunino et al. (2021) found similar discrepancies between different implementations when testing PubSub, while Cavalieri and Chiacchio (2013) evaluate the performance impact of various OPC UA features such as publish interval and security which are both shown to impact performance. This paper focuses on information modelling as the specific hardware/software/security requirements of the agricultural industry are yet to be adequately defined.

  • Multi-factory production planning using edge computing and IIoT platforms

    2021, Journal of Systems and Software
    Citation Excerpt :

    One such widely used standard is OPC UA,5 which offers a generic and datapoint-centric interface to access machine data. Although widely used and standardized, the OPC UA protocol has a severe limitation in the form of its maximum update frequency, which does not offer high enough sampling rates, while reaching the needed bandwidth (Cavalieri and Chiacchio, 2013). There are many applications for which such an update frequency is adequate, e.g., receiving status updates about the production process.

View all citing articles on Scopus

Salvatore Cavalieri was born in Catania (Italy) in 1965. He received his “laurea” degree in Electronic Engineering from the University of Catania in 1989. In 1993 and 1995, he received a PhD in Electronic and Computer Science Engineering, and a post-PhD in Electric Engineering from the same University. Currently he is Full Professor of Computer Science at the University of Catania, Department of Electrical Electronic and Computer Engineering. His research areas are in neural networks, distributed systems, Grid/Cloud computing, real-time scheduling, process control oriented, industrial informatic and wireless communication protocols. In the area of process control and communication protocols, he served as member of the IEC SC65C WG6 Fieldbus standardisation committee; he is honorary member of Fieldbus Foundation Italy and Profibus Network Italy Consortium (a regional association of Profibus International, www.profibus.com). Since 2007 he is a Scientific Partner of KNX organisation (www.knx.org); since 2009 he is member of OPC foundation (www.opcfoundation.org).

Ferdinando Chiacchio was born in Acireale (Italy) in 1981. He received his “laurea” degree in Computer Engineering from the University of Catania in 2005. In 2010, he received a PhD in Mathematics Applied to the Engineering from the same University. Currently he is a Researcher of Computer Science at the University of Catania, Department of Electrical Electronic and Computer Engineering. His research areas concern reliability, performability, communication protocols for home and industrial control and automation, HPC computing and immunomics.

View full text