Assessment of Different OPC UA Implementations
Assessment of Different OPC UA Implementations
fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
1
Abstract—The Industrial IoT (IIoT) paradigm represents an an even further level of interaction to integrate instrumentation
attractive opportunity for new generation measurement appli- data, sensors, communication and processing. Moreover, the
cations, which are increasingly based on efficient and reliable need of improving production capacity and optimizing the out-
communication systems to allow the extensive availability of
continuous data from instruments and/or sensors, thus enabling put process, and eventually exploiting predictive maintenance
real-time measurement analysis. Nevertheless, different communi- and machine learning approaches [5], requires an increased
cation systems and heterogeneous sensors and acquisition systems number of sensor devices and sensor swarms to be deployed.
may be found in an IIoT-enabled measurement application, This new IIoT–enabled DMS scenario is based on the
so that solutions need to be defined to tackle the issue of support of efficient and reliable communication systems, which
seamless, effective, and low-latency interoperability. A significant
and appropriate solution is the Open Platform Communications have to ensure widespread availability of data gathered from
(OPC) Unified Architecture (UA) protocol, thanks to its object– possibly heterogeneous measurement instruments and/or sen-
oriented structure that allows a complete contextualization of sors [6], [7]. Overall, the IIoT paradigm may represent the
the information. The intrinsic complexity of OPC UA, however, enabler for several enhanced measurement features: continu-
imposes a meaningful performance assessment to evaluate its ous and thorough measurements through low-power wireless
suitability in the aforementioned context. To this aim, this paper
presents the design of a general yet accurate and reproducible connections, measurement collection over considerably wide
measurement setup that will be exploited to assess the perfor- geographic areas, and real-time analysis of measurement data
mance of the main open source implementations of OPC UA. collected from the field [8].
The final goal of this work is to provide a characterization of the Unfortunately, in the highlighted IIoT scenario it is common
impact of this protocol stack in an IIoT-enabled Measurement that components and sensors devices come from different
System, in particular in terms of both the latency introduced in
the measurement process and the power consumption. producers and use different formats to represent measurement
data, and also it is very likely that they intrinsically operate
Index Terms—Industrial internet of things (IIoT), distributed over heterogeneous networks. Hence, the provision of ways
sensors, open platform communication unified architecture (OPC
UA), latency assessment, performance evaluation, distributed to enable communication and interoperability among such
measurement applications. devices is of paramount importance. A key solution toward
this goal is the Open Platform Communication (OPC) Uni-
fied Architecture (UA) [9]. OPC UA is a protocol defined
I. Introduction
by the IEC 62541 international standard [10] conceived to
In the last few years, the industrial world embraced the implement Machine–to–Machine (M2M) communication over
Industry 4.0 paradigm [1], which merges technologies with possibly different physical media, while ensuring high level
products, systems, and services, having its own intrinsic net- data protection against attacks and threats.
worked structures, to realize the Industrial Internet of Things OPC UA represents hence an appealing and advantageous
(IIoT) [2], [3]. IIoT is a network of networks that connects opportunity for the arising IIoT measurement paradigm. Par-
industrial equipment, controllers, sensors and actuators, i.e. ticularly, its object–oriented structure allows a complete con-
the “Things”, to provide diverse and advanced types of ser- textualization of the information. For instance, an OPC UA
vices in manufacturing systems, aiming at improving quality, object could be used to store the value of a measurement,
productivity, efficiency, reliability, safety, and security. the features of the instrument/sensor, the measurement units,
Traditionally, the foundation of manufacturing and process possible thresholds and so on. Such important characteristics
industries has been in the deployment of specific distributed allow for new generation of measurement instruments to deal
sensor systems, to the purpose of monitoring (and then con- with multiple and heterogeneous types of data.
trolling) the production process, thus leveraging the concept At the same time, the complexity of the OPC UA protocol
of Distributed Measurement Systems (DMS) [4]. With the in- may also reveal an obstacle to its introduction within measure-
creased pervasiveness of the IIoT paradigm, DMSs come even ment systems. Indeed, sensors and actuators, field equipment
more into focus, since the components of an IIoT system need and measurement instruments in the IIoT scenario are typically
realized exploiting devices with limited hardware resources
A. Morato is with the Dept. of Information Engineering, University of
Padova, Italy and with CMZ Sistemi Elettronici srl, Carbonera, Italy. and low computational capabilities (and low costs). As a
A. Cenedese is with the Dept. of Information Engineering, University of consequence, the implementation of OPC UA on such devices
Padova, Italy and with the CNR–IEIIT, National Research Council of Italy. might be problematic and, furthermore, the performance might
S. Vitturi is with the CNR–IEIIT, National Research Council of Italy.
F. Tramarin is with the Dept. of Engineering E. Ferrari, University of result compromised, in terms of increased latency and power
Modena and Reggio Emilia, Italy. consumption, hence impairing the quality and accuracy of
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
2
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
3
within “DataSetMessages“ that are sent continuously to a Raspberry Pi3 Raspberry Pi3
“Message Oriented Middleware” that, in turn, delivers them OPC
OPCUAUA Ethernet OPC
OPCUAUA
to subscribers. With such a model, it is possible to distribute Server
Server Switch Client
Client
data and events relevant to the publisher to a set of devices Ethernet Configuration
(subscribers) in a very efficient way.
Raspberry Pi3 Raspberry Pi3
In the context of IIoT-based measurement applications, the Access
OPC
OPCUA (( ( (( ( OPC
OPCUA
(( ( (( (
OPC UA protocol can be profitably exploited to allow seamless UA Point UA
Server
Server Client
Client
and secure interoperability among the heterogeneous sources WiFi Configuration WiFi
of measurement data, as well as among the heterogeneous
communication networks. Indeed, measurements can be stored Fig. 2. Experimental set–up.
by nodes that belong to one or more servers, so that they can
be seamlessly accessed by distributed clients using, for ex- mobility and larger installations. More importantly, although
ample, the aforementioned service sets. An illustrative sketch Wi-Fi networks are able to provide very high transmission rate
representing the described scenario is reported in Figure 1. and good reliability, the performance figures they provide are
As can be seen, measurements stored in different devices, and clearly different with respect to those of Ethernet networks,
structured within diverse OPC UA servers, can be remotely that may considered hence as a benchmark. An important as-
accessed by an OPC UA client which implements techniques pect that will be analyzed in this work is hence the comparison
of real–time analysis and visualization. between the two network supports in terms of latency to gather
measurement data, which is a crucial parameter for accurate
Measurement real-time Analysis distributed measurements.
and Visualization As can be seen, the same topology was used for the two
networks, with OPC UA client and server implemented on two
diverse Raspberry Pi boards. A Netgear WGR 614 Wireless-
OPC UA client G router was used to connect the two boards that was able to
seamlessly implement the packet routing for both the Ethernet
and Wi-Fi configurations.
Two different operating system versions have been used
Cloud, for the boards. The first one is represented by the default
Internet or Raspbian OS (Kernel version 4.14.79), whereas the second
Local Network one is its real-time version (Kernel version 4.14.74–rt44).
The latter one has been obtained from the default kernel
version with the introduction of the RT_PREEMPT patch set,
which enables a real–time behavior of the system allowing
non critical parts of the kernel to be preempted in favor of the
OPC UA Server OPC UA Server
execution of userspace applications. Furthermore, we exploited
a useful feature offered by the Linux operating system, to
Instrument ... Instrument isolate a group of CPU cores in which a process can be
or Sensor or Sensor run. Specifically, the isolcpus boot parameter in combination
with the taskset command, allows to isolate one or more
Fig. 1. Example of use of OPC UA in an IIoT-based Measurement System. cores from the kernel scheduling and to reserve them for the
execution of userspace applications without interference from
the OS. Furthermore, in order to minimize the external factors
IV. Experimental Set–up that may affect the accuracy of the measurements, the CPU
governor (i.e. a kernel–level component responsible of scaling
The experimental set–up has been redesigned, with respect the CPU frequency based on the workload) has been disabled
to [21], to be as much general as possible, with reproducibility during the experiments and the CPU frequency has been set
in mind in order to be easily reused in different scenarios. The to its maximum operable value of 1.4 GHz.
set–up has been used to assess the behavior of some different The implementations of OPC UA considered in the ex-
OPC UA protocol stacks, implemented on lightweight embed-
ded systems, that resemble those adopted by intelligent IoT TABLE I
sensors. Particularly, experiments have been carried out using OPC UA Implementations.
Raspberry Pi Model 3B+ boards, over two diverse communi-
cation systems, namely Ethernet and Wi-Fi, as schematically OPC UA Programming Commit
Type
shown in Fig. 2. Indeed, while both networks are meaningful Implementation Language Hash
in distributed measurement systems and IIoT scenarios, the Open62541 Open Src. C99 / C++98 9f0c73d
former is much more targeted to high performance, ultra FreeOPC UA C++ Open Src. C++11 da2b76f
low-latency and local measurement applications, whereas the FreeOPC UA Python Open Src. Python 83fb9ea
Prosys Java v4.3.0-1075 Proprietary Java —
latter represents its wireless counterpart, allowing for increased
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
4
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
5
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
6
·10−2 ·10−2
15
Empirical PDF
Empirical PDF
10 Without cpu isolation Without cpu isolation
With cpu isolation 10 With cpu isolation
5
5
0 0
280 300 320 340 360 380 340 360 380 400 420 440 460
𝑇𝑠 [µs] 𝑇𝑠 [µs]
(a) Open62541 (a) Open62541
·10−2 ·10−2
Empirical PDF
Empirical PDF
6
20
4
10
2
0 0
340 350 360 370 380 390 400 410 420 420 440 460 480 500 520 540 560
𝑇𝑠 [µs] 𝑇𝑠 [µs]
(b) FreeOPC UA C++ (b) FreeOPC UA C++
·10−2 ·10−2
10
Empirical PDF
Empirical PDF
6
5 4
2
0 0
700 710 720 730 740 750 760 770 780 790 720 740 760 780 800 820 840 860
𝑇𝑠 [µs] 𝑇𝑠 [µs]
(c) FreeOPC UA Python (c) FreeOPC UA Python
Fig. 4. Generic OS: EPDF of the execution time of the OPC UA test task Fig. 5. RT OS: EPDF of the execution time of the OPC UA test task for the
for the Ethernet configuration. Blue line: configuration without CPU isolation. Ethernet configuration. Blue line: configuration without CPU isolation. Red
Red line: configuration with CPU isolation enabled, where both server and line: configuration with CPU isolation enabled, and where both server and
client are forced to run on the isolated CPU. client are forced to run on the isolated CPU.
further negatively influenced by the Access Point which may the Linux real–time extension has negative effects on the
introduce additional, non negligible, delays and randomness. throughput of the communication interface. This is confirmed
The introduction of the RT operating system, in general, by the traffic analysis that showed, in the worst case, an
worsened the behavior of the OPC UA test task execution increment of 2.8 times of packet retransmissions.
time, as can be evinced from the statistics and the EPDF Focusing on the stack implementations, the obtained re-
reported above. Actually, the mean values are higher for all the sults show that both the compiled versions, Open62541 and
OPC UA implementations, with respect to the correspondent FreeOPC UA C++, are characterized by comparable average
cases in which the generic OS is used. The same happens values of the OPC UA test task execution time. Conversely, the
for the standard deviation, with the unique exception of the average 𝑇𝑠 is much higher (about doubled) for the FreeOPC
Open62541 implementation (in this case, the value decreases UA Python implementation, as it was expected since Python
from 12.76 to 10.13 µs when the RT OS is used). However, is an interpreted language. This aspect is exacerbated for
as already pointed out, these values, for the Open62541 the Wi-Fi configuration. As far as the standard deviation
implementation, are mostly influenced by the times necessary is concerned, with the Ethernet configuration, Open62541
to execute unbounded kernel threads. presents higher values than both FreeOPC UA C++ and
Although the worsening observed when the RT operating FreeOPC UA Python, especially as percentage of the mean,
system is used may seem surprising, it may be explained reflecting in a considerable jitter of the execution time. This
making some considerations about the introduction of the feature is evident for the generic operating system, whereas it
Linux real–time extension. Actually, as can be seen from Table appears more vague for the RT operating system, likely due
II, all the considered implementations of the OPC UA protocol to the additional randomness introduced by this latter one. A
stack make extensive use of the kernel functions, especially similar consideration can be made for the Wi-Fi configuration.
those concerning network connectivity. Nonetheless, the real- In this case, as can be seen, both the mean and standard
time patch makes some parts of the kernel preemptable, thus deviation are increased with respect to Ethernet. However, the
leaving up more space for executing instructions in the user standard deviation values become comparable, especially for
space. Thus, the stack execution could be interrupted more Open62541 and FreeOPC UA C++, likely as an effect of the
frequently, resulting in longer execution times and greater randomness in accessing the physical medium introduced by
jitter. Furthermore, as reported in [26], the application of Wi-Fi.
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
7
·10−2 ·10−2
10
Empirical PDF
Empirical PDF
Without cpu isolation 8 Without cpu isolation
With cpu isolation 6 With cpu isolation
5 4
2
0 0
1.6 1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2 2.5 3 3.5 4 4.5 5
𝑇𝑠 [µs] ·103 𝑇𝑠 [µs] ·103
(a) Open62541 (a) Open62541
·10−2 ·10−2
10 10
Empirical PDF
Empirical PDF
5 5
0 0
1.7 1.8 1.9 2 2.1 2.2 2.3 2.4 2.5 2.6 2 2.5 3 3.5 4 4.5 5
𝑇𝑠 [µs] ·103 𝑇𝑠 [µs] ·103
(b) FreeOPC UA C++ (b) FreeOPC UA C++
·10−2 ·10−2
Empirical PDF
Empirical PDF
4
4
2 2
0 0
0.84 0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 1.02 1.04 0.8 1 1.2 1.4 1.8 2
1.6
𝑇𝑠 [µs] ·104 𝑇𝑠 [µs] ·104
(c) FreeOPC UA Python
(c) FreeOPC UA Python
Fig. 6. Generic OS: EPDF of the execution time of the OPC UA test task for
Fig. 7. RT OS: EPDF of the execution time of the OPC UA test task for the
the Wi-Fi configuration. Blue line: configuration without CPU isolation. Red
Wi-Fi configuration. Blue line: configuration without CPU isolation. Red line:
line: configuration with CPU isolation enabled, where both server and client
configuration with CPU isolation enabled, and where both server and client
are forced to run on the isolated CPU.
are forced to run on the isolated CPU.
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
8
·10−2 ·10−2
2 3
Empirical PDF
Empirical PDF
Without cpu isolation Without cpu isolation
1.5 With cpu isolation 2 With cpu isolation
1
1
0.5
0 0
220 240 260 280 300 320 250 300 350 400 450 500 550
𝑇𝑠 [µs] 𝑇𝑠 [µs]
Fig. 9. EPDF of the delivery time for the subscription service – Open62541 Fig. 10. EPDF of the delivery time for the subscription service – Prosys Java
implementation over Ethernet with Generic OS. implementation over Ethernet with Generic OS..
client acquires the data and sends a “Publish Request” message since for such a proprietary implementation, it has not been
that acknowledges the received data. possible to modify the stack core to set the GPIO pins.
To assess the performance of the subscription service for the Thus, we resorted to analyze the time stamps of the messages
Open62541 implementation, we evaluated the delivery time, exchanged over the network, acquired with Wireshark. The
defined as the time employed by the client to acquire a data delivery time has been hence determined as the time interval
published by the server. The measurements have been carried between the generation of the publish response message and
out as follows. When the publish response message is ready the arrival of the acknowledgment generated by the client.
to be transmitted, the server sets one of the GPIO pins of the The EPDF of the delivery time is shown in Fig. 10, whereas
Raspberry Pi. Similarly, when the client receives the message the statistics are reported in Table VIII
at the application level, it sets one of its GPIO pins. The As can be seen, also in this case, the subscription service
interval elapsed between the generation of the two consecutive appears more efficient than the read one (although, as already
signal edges represents the delivery time. In this experiment, pointed out for the Open62541 implementation, an effective
6000 measurements have been collected and analyzed. comparison can not be made). Indeed, the mean time necessary
On the server, both the publishing interval and sampling to acquire a measurement data by the client is definitely lower
interval have been set to 100 ms, which is the minimum than that shown in Table VI for the read service. Also, the
selectable value on the default implementation of Open62541, beneficial effect of the CPU isolation is evident.
whereas the update interval of Thread A has been set to 30 ms.
The signal edges of the GPIO have been acquired by a logic TABLE VIII
analyzer with a sample rate of 24 MHz. Statistics of the delivery time for the subscription service Prosys
Java implementation over Ethernet with Generic OS.
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
9
·10−2 The adsorbed current was measured using a Hall effect sensor
2
Empirical PDF Without cpu isolation whose sensitivity is 185 mV/A. Current measurements have
1.5 With cpu isolation
been acquired using an external digital acquisition system
1
equipped with a 12 bit ADC with an input range of [0 , 3.3] V
0.5
at a sampling rate of 1 kHz. Each time the OPC UA test task
0
300 350 400 450 500 550 is started, the Raspberry Pi rises a signal triggering a new
𝑇𝑠 [µs] acquisition of the current level, which is also timestamped for
further analysis.
Fig. 11. EPDF of the pubsub transmission time for the Open62541 imple-
mentation on Ethernet with Generic OS. +
Power
the transmission times between publishers and subscribers. 5V RaspberryPi
Supply
Thus, there are not logical explanations of these outcomes. Current Sensor −
We suppose the problem is due to the fact that the PubSub
implementation of Open62541 is still under development.
Trigger
External ADC
TABLE IX
Statistics of the delivery time for the pubsub communication profile
over Ethernet with Generic OS.
Fig. 12. Setup adopted for current measurements.
Delivery Time 𝑇𝑠 [µs]
Without TABLE X
CPU Isolation
CPU Isolation Statistics of the current consumption with CPU governor disabled
and enabled.
Mean Std Mean Std
384.77 43.93 376.28 43.69
Current [A] Session completion
time [ms]
Mean Std Idle
E. Power Consumption
Governor Enabled 0.4175 0.0587 0.3928 235924
One of the main issues concerned with, possibly mobile, Governor Disabled 0.4767 0.0760 0.4462 215259
battery powered devices is the autonomy. Indeed, such devices
have to ensure a good level of performance for a given amount The results of this new set of experiments are summarized in
of time. To meet these requirements, modern processors are Table X, which reports the statistics of the current consumption
capable of Dynamic Voltage and Frequency Scaling (DVFS) to for the two cases in which the governor was, respectively,
minimize their power consumption and, consequently, extend enabled and disabled. The table also shows the current con-
the battery lifetime [29]. In the Raspberry PI boards used in sumption in idle state (i.e. while the experimental session was
the experimental setup, the DVFS functionality is driven by not carried out), for comparison.
a default kernel governor, called ondemand, that dynamically As can be seen, enabling the governor leads to a slight
adjusts the CPU frequency in agreement with the workload decrease of the current consumption, for both average and
variation. Specifically, if the workload exceeds a predefined standard deviation values. However, the time necessary to
threshold for a certain amount of time, then the governor complete the experimental session increases, by almost 10%,
increases the CPU operating frequency to its maximum value. as a result of the continuous CPU frequency adjustments
Conversely, if the workload is below the threshold, the operat- caused by the workload variations. Thus, at a first glance, it
ing frequency is switched to the lowest feasible one [30]. Such might not be worth to maintain the governor enabled, since
an approach, clearly, represents an optimal trade-off between the benefits achieved in term of power savings may result
performance and power consumption in a generic processing nullified by the performance degradation. However, a decision
system. in this direction has to take into consideration other aspects,
We carried out an analysis of the DVFS impact on both such as the specific devices adopted and the performance
power consumption and performance for the experimental requirements.
setup considered so far. The first tests have been performed A further observation can be made with respect to the
using the Open62541 stack, on the Wi-Fi configuration, with current consumption in idle state. Table X clearly shows only
the generic operating system and without CPU isolation using a limited increase of the current consumption, when moving
read/write services. In detail, we measured the current con- from this state to that in which experiments were executed,
sumption on the client side, as well as the time necessary regardless of the governor status (enabled or disabled). This
to complete the experimental session described in Subsection may be explained considering that Open62541 uses very low
V.B, that comprised the execution of 𝑁 = 100.000 OPC UA CPU resources that, evidently, are not sufficient to imply a
test tasks. remarkable variation in current consumption, as confirmed by
The circuit implemented for current measurement is de- the results presented in Table II.
scribed in Figure 12. The Raspberry Pi was powered by a Finally, we carried out additional tests for the subscrip-
stabilized power supply, providing a 5 V continuous voltage. tion service set and PubSub communication profile. In both
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TIM.2020.3043116, IEEE
Transactions on Instrumentation and Measurement
10
cases, we used we measured the power consumption for the [9] D. Bruckner, M.-P. Stanica, R. Blair, S. Schriegel, S. Kehrer, M. See-
Open62541 implementation, over Ethernet, with the governor wald, and T. Sauter, “An Introduction to OPC UA TSN for Industrial
Communication Systems,” Proc. IEEE, vol. 107, no. 6, pp. 1121–1131,
disabled. The analysis, actually, has not revealed any signifi- Jun. 2019.
cant change with respect to the former measurements. [10] International Electrotechnical Commission, IEC 62541: OPC unified
architecture - Part 1: Overview and concepts. IEC, 2016.
[11] M. Rizzi, P. Ferrari, A. Flammini, and E. Sisinni, “Evaluation of the IoT
VI. Conclusion and Future works LoRaWAN Solution for Distributed Measurement Applications,” IEEE
In this paper we considered the case of IIoT measurement Trans. Instrum. Meas., vol. 66, no. 12, pp. 3340–3349, Dec. 2017.
[12] H. Lee and K. Ke, “monitoring of large-area iot sensors using a lora
applications and proposed the adoption of OPC UA protocol to wireless mesh network system: Design and evaluation,” IEEE Trans.
enable a seamless interoperability when heterogeneous sources Instrum. Meas., no. 9, pp. 2177–2187.
of measurement data coexist sharing information over the net- [13] R. Palisetty and K. C. Ray, “FPGA Prototype and Real Time Analysis of
Multiuser Variable Rate CI-GO-OFDMA,” IEEE Trans. Instrum. Meas.,
work. We focused on four widespread implementations of the vol. 67, no. 3, pp. 538–546, Mar. 2018.
protocol, to analyze their impact on a networked measurement [14] V. Bianchi, A. Boni, S. Fortunati, M. Giannetto, M. Careri, and I. De
system, mostly in terms of latency and power consumption. Munari, “A Wi-Fi Cloud-Based Portable Potentiostat for Electrochemical
Biosensors,” IEEE Trans. Instrum. Meas., vol. 69, no. 6, pp. 3232–3240,
A reproducible and effective measurement setup has been Jun. 2020.
designed that allowed to carry out a thorough assessment, thus [15] Y. Liao and H. Lai, “Investigation of a Wireless Real-Time pH Monitor-
providing a rather complete characterization of OPC UA for ing System Based on Ruthenium Dioxide Membrane pH Sensor,” IEEE
Trans. Instrum. Meas., vol. 69, no. 2, pp. 479–487, Feb. 2020.
network-based measurement instrumentation systems. [16] J. Cavalaglio Camargo Molano, A. Lahrache, R. Rubini, and M. Coc-
Meaningful results have been obtained, allowing also to pro- concelli, “A new method for motion synchronization among multiven-
vide some interesting implementation guidelines. For instance, dor’s programmable controllers,” Measurement, vol. 126, pp. 202 – 214,
Oct. 2018.
it has been verified that the use of a real-time operating system [17] B. Montavon, M. Peterek, and R. Schmitt, “Model–based interfacing
does not bring specific advantages whereas, in general, the best of large–scale metrology instruments,” Proc. SPIE 11059, Multimodal
performances are achieved with a generic operating system Sensing: Technologies and Applications, 110590C, Jun. 2019.
[18] S. Lee, C. Kim, and J. Lee, “Development of a Smart Sensor System
exploiting the CPU isolation for the measurement application. Using OPC UA,” in Proc. MoMM, 2017, pp. 220–225.
Furthermore, in compliance with modern IIoT-based appli- [19] I. González, A. J. Calderón, A. J. Barragán, and J. M. Andújar,
cations, we considered the case of battery powered wireless “Integration of Sensors, Controllers and Instruments Using a Novel OPC
Architecture,” Sensors, vol. 17, no. 7, Jul. 2017.
measurement systems, thus providing some valuable insights [20] P. Ferrari, A. Flammini, S. Rinaldi, E. Sisinni, D. Maffei, and M. Malara,
about the expected power consumption in some selected and “Impact of Quality of Service on Cloud Based Industrial IoT Applica-
relevant cases. Indeed, the measurement campaign highlighted tions with OPC UA,” Electronics, vol. 7, no. 7, p. 109, Jul. 2018.
[21] A. Morato, S. Vitturi, F. Tramarin, and A. Cenedese, “Assessment of
that the DVFS feature should be enabled, allowing for lower Different OPC UA Industrial IoT solutions for Distributed Measurement
power consumption without compromising the performance. Applications,” in Proc. I2MTC, Dubrovnik, Croatia, 2020, pp. 1–6.
The current work opens up to future analysis. For instance, [22] M. Damm, S.-H. Leitner, and W. Mahnke, OPC Unified Architecture.
Springer-Verlag Berlin Heidelberg, 2009.
power consumption depends also on intrinsic parameters of the [23] H. Haskamp, M. Meyer, R. Möllmann, F. Orth, and A. W. Colombo,
accumulator and on environmental conditions, hence requiring “Benchmarking of existing OPC UA implementations for Industrie 4.0-
a more extensive experimental campaign focused on mobile compliant digitalization solutions,” in 2017 IEEE 15th International
Conference on Industrial Informatics (INDIN), 2017, pp. 589–594.
battery powered measurement instruments. In addition, the [24] “Arm Architecture Reference Manual Armv8, for Armv8-A architecture
proposed experimental setup for latency analysis seems to be profile”. Accessed: 2020-10-05. [Online]. Available: https://developer.
overkill for small integrated smart sensors. Hence, we plan arm.com/documentation/ddi0487/fb/
[25] L. Seno, F. Tramarin, and S. Vitturi, “Performance of Industrial Com-
to test the framework on low power embedded devices, like munication Systems - Real Application Contexts,” IEEE Ind. Electron.
widespread microcontrollers with no operating systems. Mag, vol. 6, no. 2, pp. 27–37, Jun. 2012.
[26] “Raspberry Pi: The N-queens Problem (benchmark)
References Preempt-RT vs. Standard Kernel”. Accessed: 2020-
10-05. [Online]. Available: https://lemariva.com/blog/2018/04/
[1] Y. Lu, “Industry 4.0: A survey on technologies, applications and open raspberry-pi-the-n-queens-problem-performance-test
research issues,” J. Ind. Inf. Integr., vol. 6, pp. 1–10, Jun. 2017. [27] F. Palm, S. Gruener, J. Pfrommer, M. Graube, and L. Urbas, “Open
[2] E. Sisinni, A. Saifullah, S. Han, U. Jennehag, and M. Gidlund, “Indus- source as enabler for OPC UA in industrial automation,” in Proc. ETFA,
trial internet of things: Challenges, opportunities, and directions,” IEEE Luxembourg, Luxembourg, 2015, pp. 1–6.
Trans. Industr. Inform., vol. 14, no. 11, pp. 4724–4734, Nov. 2018. [28] J. Pfrommer, “Semantic interoperability at big-data scale with the
[3] S. Vitturi, C. Zunino, and T. Sauter, “Industrial Communication Systems open62541 OPC UA implementation,” in Proc. Workshop Interoper-
and Their Future Challenges: Next-Generation Ethernet, IIoT, and 5G,” ability and Open-Source Solutions for the Internet of Things, Stuttgart,
Proc. IEEE, vol. 107, no. 6, pp. 944–961, Jun. 2019. Germany, 2016, pp. 173–185.
[4] D. Grimaldi and M. Marinov, “Distributed measurement systems,” [29] J. Howard, S. Dighe, S. R. Vangal, G. Ruhl, N. Borkar, S. Jain,
Measurement, vol. 30, no. 4, pp. 279–287, Dec. 2001. V. Erraguntla, M. Konow, M. Riepen, M. Gries, G. Droege, T. Lund-
[5] I. H. Witten, E. Frank, and M. A. Hall, Data Mining: Practical Machine Larsen, S. Steibl, S. Borkar, V. K. De, and R. Van Der Wijngaart, “A 48-
Learning Tools and Techniques, 3rd ed. Boston: Morgan Kaufmann, Core IA-32 Processor in 45 nm CMOS Using On-Die Message-Passing
2011. and DVFS for Performance and Power Scaling,” IEEE J. of Solid-St.
[6] G. Y. Tian, “Design and implementation of distributed measurement Circ., vol. 46, no. 1, pp. 173–183, Jan. 2011.
systems using fieldbus-based intelligent sensors,” IEEE Trans. Instrum. [30] M. P. Karpowicz, “Energy-efficient CPU frequency control for the Linux
Meas., vol. 50, no. 5, pp. 1197–1202, Oct. 2001. system,” Concurr. Comput., vol. 28, no. 2, pp. 420–437, Feb. 2016.
[7] L. Skrzypczak, D. Grimaldi, and R. Rak, “Analysis of the different
wireless transmission technologies in distributed measurement systems,”
in Proc. IDAACS, Rende, Italy, 2009, pp. 673–678.
[8] B. Ooi and S. Shirmohammadi, “The potential of IoT for instrumentation
and measurement,” IEEE Instrum. Meas. Mag., vol. 23, no. 3, pp. 21–26,
May 2020.
0018-9456 (c) 2020 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
Authorized licensed use limited to: Newcastle University. Downloaded on December 28,2020 at 05:10:13 UTC from IEEE Xplore. Restrictions apply.