=Paper= {{Paper |id=Vol-2900/WS9Paper2 |storemode=property |title=OPC-UA based IIoT and CPS Interoperability Validation |pdfUrl=https://ceur-ws.org/Vol-2900/WS9Paper2.pdf |volume=Vol-2900 |authors=Frank-Walter Jaekel |dblpUrl=https://dblp.org/rec/conf/iesa/Jaekel20a }} ==OPC-UA based IIoT and CPS Interoperability Validation== https://ceur-ws.org/Vol-2900/WS9Paper2.pdf
OPC-UA based IIoT and CPS interoperability validation
Jaekel, Frank-Walter
a
     Fraunhofer Institute Production Systems and Design Technology, Pascalstr. 8-9, Berlin, D-10587, Germany

                Abstract
                The rise of Cyber Physical Systems (CPS), Industry 4.0 and Industrial Internet of Things (IIoT)
                leads to the connection of production facilities via intranet as well as to the Internet. Machines
                are now IoT objects. This enables new processes in terms of digitalization, but also challenges
                in terms of security, performance, robustness and interoperability. The related changes in
                technologies and communication opportunities is also effecting the enterprise organization.
                The paper describes test cases, application scenarios and tools for ensuring compliance
                between enterprise IT infrastructure and industrial internet of things components using OPC-
                UA.
                Keywords 1
                IoT, IIoT, CPS, interoperability, OPC-UA

1. Introduction
    In the past, the production facilities were rarely digital connected to each other within the production
lines and to the enterprise applications. Software applications were locally adapted to the machines and
executed. The insertion and set-up of the equipment referred to physical and logistical parameters of
the machines to allow a seamless exchange of equipment within the production process. The digital
plug-and-product of the digital components of the production equipment was underestimated in terms
of conformity and interoperability.
    The rise of Cyber Physical Systems (CPS), Industry 4.0 and Industrial Internet of Things (IIoT)
leads to a dramatic change. Production facilities are now able to connect to each other, but also to the
intranet as well as to the Internet. Machines are now IoT objects able to be interconnected with
enterprise applications internally as well as across the supply chain network. This enables new processes
in terms of digitalization, but also challenges in terms of security, performance, robustness and
interoperability. The related changes in technologies and communication opportunities is also effecting
the enterprise organization. The responsibilities on the shop floor requires now production and IT
competencies because hardware and software components of the machinery are integral part.
    The ramp-up of machines requires tests of conformity with the company's IT infrastructure to ensure
a smooth plug-and-play. In the past after the ramp-up we had usually the notion of “do not change a
running” system. This changed with connections to enterprise applications requiring continues updates
and also updates of interfaces. Therefore, test mechanisms are important to check and control the setup
and changes of interfaces. The paper focus on related test cases and application scenarios using OPC-
UA [1].
    The description of specific use cases and test cases supports the identification of the need for
validation of communication interfaces. Specific problems from practice are described and possible
approaches to solutions are suggested.
    The test cases and application scenarios presented in this presentation for securing the
interoperability of systems have been developed on the basis of information from standardization, OPC-
UA user conferences, discussions with system suppliers and developments in the German national
“Internet of Things Test” (IoT-T) [5].



Proceedings of the Workshops of I-ESA 2020, 18-11-2020, Tarbes, France
EMAIL: Frank-Walter.Jaekel@ipk.fraunhofer.de (A. 1)
             ©️ 2020 Copyright for this paper by its authors.
             Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).
             CEUR Workshop Proceedings (CEUR-WS.org)
2. Test cases to compare OPC-UA information models
    A number of test cases have been identified that are critical to the interaction between digital plant
interfaces and enterprise applications. The presence of the required information elements is of
importance, which are represented in the OPC-UA information model by nodes with a specific
structure. [3]

2.1.    Information model
   An important prerequisite for the test is the standardized structure of information models in OPC-
UA. This allows specific properties to be tested according to fixed rules. The information model is
based on a series of nodes with an internal characteristics structure. The nodes can be networked with
other nodes and stand in different relations. Specific nodes, for example for standard types, are specified
by the OPC Foundation [4] for the information models.
   In OPC-UA nodes can be identified by IDs, names and their position within an information structure.
The IDs must always be present and unique within an information model. A node can represent specific
values and interrelations such as a temperature value. It can be uniquely identified by its ID. In this case
it must be checked whether an OPC UA application has implemented all required nodes with their
corresponding IDs, such as for a temperature sensor the correct temperature node.
   In addition to the IDs, the nodes can also be distinguished from each other by their names. However,
since the names of the nodes do not have to be unique according to the OPC UA specification, this
individual check is not sufficient. In addition to the unique identification of nodes, the IDs are also used
for referencing one another. A node therefore has a number of references to other nodes. Structures
such as component and type relationships and corresponding paths can be derived from these references.
Recursive paths can also be created, which must be recognized and taken into account during the check.
   The comparison of OPC-UA information models is shown schematically in figure 1. An information
model can map a subset of the nodes of another information model. Thus, it is possible that an
installation provides more nodes than expected.




Figure 1: Comparison of OPC-UA information models


2.2.    Investigated test cases
   An important prerequisite for the test is the standardized structure of the information models in OPC-
UA. This allows certain properties to be tested according to fixed rules. The information model is based
on a series of nodes with an internal characteristics structure. The nodes can be networked with other
nodes and have different relationships to each other. Specific nodes, for example for standard types, are
specified by the OPC Foundation [4] for the information models. Based on the OPC UA information
model, the IoT-T project has created a number of test cases which play a decisive role in the interaction
between digital plant interfaces and enterprise applications. The existence of the required information
elements must be recognized and ensured. These are represented in the OPC UA information model by
a node structure. The following cases are currently being defined and implemented in the test
environment:
         NodeId does not exist (missing node)
         BrowseName does not exist (missing node)
         Reference is not available
         Path within the node structure is not equal
         Additional nodes were identified
         ParentNodeID does not match
         Attributes do not match
         Shifting the namespace index of NodeIDs
         Recursive definitions
   The test cases are related to a source and a target information model e.g. the target information model
   can reflect a specification which has to be covered by the source information model. Three of the
   test cases are describe exemplarily in the next chapters.

2.2.1. NodeID does not exist
   The target information model specifies a number of nodes with corresponding IDs. If a node with
the specified ID cannot be found in the source information model provided by an OPC-UA server, this
node does not exist in the application. However, an error may have occurred while implementing the
node in the application. Part of the ID is an identifier, which can be a number or a word. The distinction
between word and number is crucial to find this node in the application. The following cases were
identified:
         NodeID does not exist in the specification, but the BrowseName does. This results in a
            warning because the BrowseName is not requested to be unique.
         NodeID and the BrowseName does not exist in the specification. An error appears because
            the node cannot be found.
         NodeID exits but the BrowseName different. A warning appears because of potential
            conflicts in the date model and between data models.

2.2.2. Path within the structure not equal
    OPC-UA NodeIDs are used for references, which then result in a structure of nodes. Within this
structure the references are equivalent to paths and each node is uniquely identifiable by a path. An
unequal path between source and target information model thus indicates an incorrect implementation.
The following cases were identified:
         Paths are indirectly indicated by the parent-child relation.
         Is checked indirectly by comparing the ParentNodeID and references from the specification.

2.2.3. Additional nodes identified
   The check between information models provides feedbacks according information in one
information model which is not reflected in the other information model. We can have tree reasons
       The additional information are missing and needs to be implemented.
       Further information are available for other applications.
       An error in the name or ID which results in a mismatch and duplicate of an information with
           different identification.

3. Test environment
  Within the framework of the IoT-T project [5], Fraunhofer IPK developed the following software
components based on the requirements from industry [6, 7]:
       CPS Validation Adapter (CPSVA) available as Open Source,
       Deviation Analyser (DA) available as Open Source,
       CPS Emulator (CPSE).
  The three components build a test environment concerning interoperability of OPC-UA information
models. The CPSVA can be used as an easy-to-use software application. A user does not require
detailed knowledge of OPC-UA. The CPSVA uses a generic pre-defined test process and therefore does
not require a special test description. Testing is configured by an OPC-UA information model provided
by the user. Currently the following features are provided:
         No programming of tests only reading the information model to check an OPC UA server,
         Few OPC UA knowledge required at the user's end to perform tests,
         Quick verification of adjustments or changes in the information model,
         Exchange of OPC-UA Software Development Kits (SDKs) to avoid being bound to an SDK
             that may not fully implement the current OPC-UA framework.
    DA has been developed to display and analyses the results of the CPSVA tests. This tool offers a
simple user interface. The main features of the tool written in Java are
         Simple evaluation of the results,
         Easy finding of errors in the information model regarding the specification,
         User-friendly display of deviations,
         Clarity for finding and evaluating deviations,
         Easy expandability and adaptation of error tags when the CPSVA is expanded.
    In order to test CPSVA and DA and to be able to run through use cases in the IoT-T project, a special
OPC-UA server was also developed as a CPS emulator. The CPSE can perform some 'server side checks
directly, as it checks whether a given information model can be read and implemented in the server.
    The required information model corresponds to a specification by the user of a plant, which must be
fulfilled by the digital interface of the enterprise IT infrastructure. File paths and IP addresses are
defined in the test configuration. The results of the test are then a log file with detailed error descriptions
and the information model found in the respective OPC-UA server. It does not matter whether the
information model is hard-coded in the server or is read in by a configuration. With this, characteristics
of OPC-UA servers of a physical machine, a digital twin, an emulation or even a cloud service can be
checked.
    The interaction between CPSVA and CPSE is reflected in the test algorithm, which is shown in the
next chapter.

4. Application scenario
    In the application scenarios, the needs and possible applications of CPS Validation are illustrated,
especially with regard to the needs of industry. The test cases from chapter 3 are used to carry out
appropriate checks for interoperability. The test cases are stored in the CPS Validation Adapter and the
CPS Emulator.
    In the IoT-T project, a number of scenarios were identified together with representatives from
industry and standardization and tested exemplarily in demonstrators with the CPSVA:
         Digital plug and produce
         Checking standards with regard to information models (Companion Specs)
         Dynamic information models in manufacturing
         Integration of business applications (e.g. BDE, ERP, MES)
         Updating the digital interfaces of installations and company applications
         Integration of sensors and monitoring of key figures
         Cloud based production control and monitoring
         Forwarding the error message of a robot.
    The application scenario "dynamic information models in production" exemplifies the usage of the
interface validation, below.
    The flexibility of the manufacturing processes and the shorter reaction times to customer demands
require a fast and as autonomous as possible adaptation of the provided manufacturing functions or
services. This also influences the information provided via the interfaces between plants, company
applications and users. Supplement a service means the extension of the OPC-UA information model
at runtime. In this case the information model can grow over time and be reduced again. This also means
that the validation must be made more flexible and, if necessary, must be used in a simulation in
advance.
    The test set-up with physical machine interfaces led to a number of adjustments and improvements
in the CPSVA and CPSE. For this application, a demonstrator was set up which comprises the following
steps:
         Start of production, with incomplete machine adapter, because the call of "Reset" is missing.
         Production stops, robot stops without putting back the gear wheel.
         Check with the CPS-VA where the deviation analysis is automatically carried out and
            displays the error.
         Errors in the information model are identified and errors in the information model are
            clarified.
         Error is corrected.
         Check of the corrected information model with the CPSVA. No more errors are detected.
         Complete process is started. Robot puts back gear after production..

   This process was also built up semi-automatically from a corresponding enterprise model with the
help of the concept for IPK's Modular Shopfoor IT [2].




Figure 2: Demonstrator


5. Conclusion
   OPC-UA information models are available as open source for testing, for example on GitHub.
Sources are, among others, standardisation activities of the VDMA. In the project, these information
models were used for tests, whereby the following experiences were gathered.
   The analysis and testing of the standardised information models required several changes before the
information models could be read in completely and without errors by the used OPC-UA server (CPS
emulator). Changes included the insertion of NamespaceUris and the appending of nodes if they did
not have a parent node.
   After the standardised information models were readable. These could be tested against by the
CPSVA. Depending on which information model was read in the CPSVA, it was tested against the
information model already read in on the server.
   The paper illustrates validation procedures and scenarios for IIoT OPC-UA interfaces to improve
the on demand connectivity within enterprise infrastructures. The next step is to provide a distribution
package for open source usage and to arrange further developments.
6. Acknowledgements
   This research and development is part of the IoT-T project (www.iot-t.de) granted via the smart
service world program of the Federal Ministry for Economic Affairs and Energy (BMWi) in Germany.


    References
[1] OPC-UA. https://opcfoundation.org/about/opc-technologies/opc-ua/ - last access 10.11.2020.
[2] Jaekel, F.-W.; Torka, J.; Eppelein, M.; Schliephack, W.; Knothe, T. Model based, modular
    configuration of cyber physical systems for the information management on shop-floor.
    International Workshop on Enterprise Integration, Interoperability and Networking (EI2N) 12,
    2017, Rhodes. OTM Workshops 2017: 16-25.
[3] Jaekel, F.-W.; Wolff, T.; Happersberger, V.; Knothe, T. Ensure OPC-UA Interfaces for Digital
    Plug-and-Produce. International Workshop on Enterprise Integration, Interoperability and
    Networking (EI2N), 2019, Rhodes. OTM Workshops 2020. https://doi.org/10.1007/978-3-030-
    40907-4_5.
[4] OPC Foundation. https://opcfoundation.org/certification/overview-benefits/ - last access
    10.11.2020.
[5] “Internet of Things Test” project (IoT-T). https://www.iot-t.de/en/ - last access 10.11.2020.
[6] R1.2:IoT‐PrüfanforderungenimProjekt.
    https://www.iot-t.de//wp-content/uploads/sites/11/2017/06/IoT-T_R1.2.pdf          -   last   access
    10.11.2020.
   R1.4: Anforderungsaufnahme an IoT Tests.
[7] https://www.iot-t.de/wp-content/uploads/sites/11/2019/12/IoT-T_R1.4.pdf          -    last    access
    10.11.2020.