1. Introduction
One of the main drivers for new control solutions in Industry 4.0 is the recognizable trend away from pure mass production towards increased individualization within production and the demand for ever-more-efficient and sustainable production processes. In the industrial environment, robot-based production processes make up a large proportion of the processing chain and, today, often consist of heterogeneous systems from different manufacturers. In many cases, this results in a complex and inflexible process control system that cannot meet the current challenges [
1].
Flexible process control based on process-relevant capabilities, so-called skills, promises a simple exchange of individual production participants through standardized interfaces. Moreover, enriching the skills with process-relevant properties, such as the duration of the respective skill execution, creates a basis for a demand-oriented and flexible composition of the processes. According to current research results [
2,
3,
4], Open Platform Communications Unified Architecture (OPC UA) as an established standard for manufacturer-independent communication is suitable for modelling the skills and enabling flexible process control structures. Nevertheless, the OPC UA skills methodology currently lacks an assessment of the skills execution properties. At the same time, this type of assessment is necessary to achieve demand-oriented process control as it enables skills to be selected and deployed in control situations in line with given process requirements and boundary conditions, e.g., duration, costs, or CO
2 consumption.
Against this background, the aim of this paper is to develop a concept for an OPC UA skill-based process control method of robot-based production processes considering process-relevant properties. The focus lies thereby on enabling a demand-oriented composition of the process through the enrichment of the skills with quantifiable parameters.
Section 2 examines the current state of the art, including OPC UA and skill-based engineering. The main part of this work is the concept development of flexible process control, described in
Section 3. A prototypical implementation of the concept is given in
Section 4 based on the scenario of a robot-based glass pane assembly line in automotive assembly. This work concludes with a summary and an outlook on planned further research work in the field of skill properties assessment.
2. State of the Art
At the beginning of this study, a detailed literature review was conducted to analyze the current state of research in the field of skill-based control and the area of OPC UA. The aim was to identify research gaps and compare different approaches.
OPC UA is the successor to the OPC standard introduced in 1998 and focuses on creating an actual platform-independent communication option for applications in all areas of industry. The standardization and further development of the protocol is driven by the OPC Foundation in cooperation with globally active industrial companies and research institutions. The individual sub-functions of OPC UA are described in specifications [
5]. The communication protocol offers two different architectures for the exchange of information, the server–client model, and the publish–subscribe (pub–sub) model. The server–client architecture is the unified original structure of the protocol, whereby communication between server and client is realized by means of request and response messages. The protocol was subsequently expanded to include a publisher–subscriber architecture, the functionality of which is similar to the model used in MQTT (the message queuing telemetry transport protocol) [
6]. Uniform and unambiguous information modeling plays a central role in OPC UA, for which the protocol has a large number of integrated models, such as the AddressSpace Model or the Information Model. With the help of so-called companions specifications, the existing models can be expanded to include application- and manufacturer-specific information. The Data Access (OPC DA), Historical Access (OPC HA), and an Alarms and Events (OPC AE) system services provide a simple and versatile way of exchanging information [
7].
In addition to semantic information modeling and classic data exchange, the OPC UA communication standard also enables the control of technical processes. OPC UA skills offer a promising approach for a combination of standardized semantic representation of data and skill-based flexible process control. The origin of this approach lies in the plug and produce concept, which was derived from the widespread plug and play concept from the media and games industry. The primary goal of the plug and produce concept is to achieve a comparable automation level in machines and production systems [
8]. Ultimately, the aim is to increase the flexibility of production to be able to react quickly to changing customer wishes or market requirements. In addition, the problem of machine failure is also addressed. Due to the simple reconfiguration of machines, a defective machine can be easier replaced by a new one without a long waiting time. The development of a standardized component interface is essential for the plug and produce concept. Such an approach is pursued by OPC UA skills [
9]. A skill is a concrete implementation of a function on a specific process participant, e.g., a production machine, a robot, or a transport system. Skills bundle the necessary and sometimes complex control mechanisms internally and provide at least one defined and standardized interface to higher-level systems, for example to a SCADA (supervisory control and data acquisition) system. The OPC UA skills represent such an interface. According to the Industry 4.0 platform, skills should be modeled as a state machine, as this enables the targeted monitoring and control of the skills. Furthermore, skills have input parameters for adapting the respective function and output parameters that return the results of the function [
2].
For a successful implementation of the OPC UA skill across the board, a standardized structure of the skills is required. A significant contribution was made with the publication [
3] in 2019 through the development of a generic skill model. This model is shown in see
Figure 1. The defined SkillType inherits from the ProgramStateMachineType provided by OPC UA. In addition, specific skill types can be developed and derived hierarchically. The information modeling options provided by OPC UA are used for modeling. The decision to use OPC UA programs is based on the longer runtime permitted, which cannot be guaranteed by OPC UA methods [
3].
Skill-based engineering describes a conceptual approach for the description of technical processes in which the focus is not on production resources but on the required machine capabilities. A standardized skill model and uniform interfaces are required for skill-based design concepts [
4]. In order to pursue this concept, the development of a skill catalog is paramount. This catalog can be used to compare the requirements of the skills needed and the skills provided by the production systems [
11]. The process can only be realized if the required skills are comprehensively covered. Skill-based engineering and skill-based approaches form the basis for past and current research projects. These include the SkillPro project of the Karlsruhe Institute of Technology, which focuses on the plug and produce concept. Another research project is the SE.MA.KI project, which is investigating skill-based cell control using the example of a milling cell. Ref. [
12] pursues a similar approach in his research at the RWTH Aachen University [
13,
14,
15]. Moreover, [
16] suggested an approach for the direct and generic control of filed devices with OPC UA skills.
There are a variety of approaches that aim for flexible process control using skills (including OPC UA), but all of them lack key aspects that this article addresses. Ref. [
16] endeavors to achieve skill-based engineering at the field-level device through the implementation of client–server-based OPC UA and the pub–sub pattern. This is carried out to facilitate deterministic real-time control in conjunction with TSN, a necessity in industrial automation. Nevertheless, he does not consider an evaluation of skill characteristics but focuses on the real-time capability of process control. Ref. [
3] develops a generic plug-and-produce system based on semantic OPC UA skills but also does not evaluate them in terms of execution, similar to [
17,
18], who proposes a concept based not on OPC UA but on an ontology. Ref. [
19] considers demand-oriented architectures along with an evaluation of current production needs but disregards OPC UA skills as a capability-based approach.
The approach most aligned with the one pursued in this paper is the one of [
20], who considers predicting demand based on OPC UA. However, he focuses on prediction and does not utilize the skills approach. In summary, it can be concluded that there is currently a research gap in examining flexible control architectures based on standardized procedures such as OPC UA skills while an evaluation of relevant skills properties also occurs. The existing research approaches consider individual components of the concept, such as skill-based flexible controls or evaluations of characteristics for forecasting purposes, but none of the approaches consider the combination of these two components as this paper does.
Increasing product individualization, fluctuating demand, and increased competitive pressure from new competitors require a significant increase in flexibility within production. This requirement affects all areas of production and, therefore, also process control. The direct control of production participants such as robots, production machines, or transport systems is characterized by manufacturer-specific concepts, programming languages, and interfaces. As a result, very rigid and complex architectures and systems have been developed. While previous publications in the field of OPC UA skills and skill-based process control tend to focus on the exchange of production participants, this publication takes a different approach.
This scientific work concentrates on the compilation of process flows with the help of skills and can therefore be seen as an extension of the OPC UA skill concept. This elaboration has three main research focuses. The first focus is the extension of the existing information models of the skills with process-relevant evaluation properties. The second focus is on controlling the machines or robots using a suitable interface between the OPC UA server and the respective controller. Thirdly, a concept is currently being developed for the flexible and demand-oriented compilation of process sequences using the defined skills.
3. Concept
Based on the literature review, a concept was designed to extend the OPC UA skills. The focus is on the consideration of properties and cross-manufacturer usability.
Figure 2 shows the four stages of the concept development and their respective focal points. The conceptual consideration of these subcomponents is necessary in order to realize the overall structure of the process control system shown in the following section. Focus areas 1 and 2 concentrate on modeling the machine capabilities using OPC UA information models. This includes the description of a structured procedure for the creation of new skills. The third part focuses on the design of the OPC UA server–client architecture. This includes, in particular, the realization of the skill functionalities as well as the actual control of the machines and robots. Finally, a concept for the flexible compilation of process sequences is presented.
Since the evaluation of skills based on process-relevant properties and key figures plays a central role in this work, characteristics are first selected and defined. The premise for this selection is that the characteristics enable a meaningful and automated evaluation of all skills. The characteristics are modeled as variables in OPC UA and are each assigned an ID for unique identification and a unit for interpreting the key figures. These two elements are attached to each characteristic as a property. A process can be evaluated according to various criteria; common criteria in the production environment are efficiency, sustainability, and quality.
Figure 3 shows the extended OPC UA BasicSkillType model with properties, which includes the chosen criteria. To address these three aspects, the following properties are associated with the skills:
Availability: High availability is indispensable for maintaining consistent and reliable operation. Downtime can lead to significant productivity losses, making it imperative to prioritize and maximize availability in technical processes.
CO2 footprint: Assessing the environmental impact, particularly in terms of the CO2 footprint, has become essential for sustainable business practices. Reducing carbon emissions not only aligns with global environmental goals but also enhances an organization’s commitment to corporate social responsibility.
Costs: Cost evaluation is fundamental for effective budgetary control and financial sustainability. Understanding and managing costs enable organizations to optimize resources, enhance operational efficiency, and maintain competitiveness in the market.
Duration of the execution: The time taken for process execution directly influences project timelines and overall efficiency. Shorter execution durations contribute to increased productivity, agility in responding to market demands, and overall competitiveness.
Energy consumption: Monitoring and minimizing energy consumption are crucial for both cost efficiency and environmental sustainability. Energy-efficient processes not only contribute to lower operational costs but also align with contemporary practices that prioritize resource conservation.
Quality impact of the design on the end product: The design’s impact on the end product’s quality is paramount for ensuring customer satisfaction. A well-designed process is essential to meet or exceed quality standards, contributing to a positive brand image and customer loyalty.
These properties are part of every implemented skill. The values of the properties can be stored manually or automatically. For example, when a skill is executed for the first time, the energy consumption can be measured and saved as the value of the property. With the help of these properties, a detailed and cross-component statement can be made about the respective property after combining different skills into an entire program sequence. For example, the total energy consumed or the production time can be estimated without the program sequence having already taken place in the order of the skills.
The developed skills catalog (s.
Figure 4) should be understood as a library for the development of skills for robot-based processes. The focus of the catalog is determined by the process to be implemented. The structure is based on the authors’ expertise and delineates the most relevant components for implementing a skill-based architecture in any robot-based process. In industry, transportation and handling processes are the largest area of application for robots.
The overview divides the skills of robot-based processes into three categories: robot, end effector, and robot cell. This classification is derived from a generalized possible structure of a production cell, which can be used for different applications. The categories are then further specified based on common designs or typical tasks. In the right-hand section of the overview, possible basic skills of the respective components are defined. The most elementary basic skills of robots are the movement functions, which are divided into linear and point-to-point (PTP) motion types. Overgrinding is widely used to connect several movement sections. This enables a continuous movement trajectory between several points. The skills for realizing robot movements are also required, for example, for all joining tasks or special functions.
Another group of basic skills can be assigned to the end effectors, with grippers representing the largest group of end effectors. These have the capabilities of closing, opening, and other additional functions, such as monitoring the gripper with built-in sensors. The variety of different end effectors for robots is as unlimited as their areas of application. The third group consists of skills that are assigned to the robot cell. Examples are the activation and deactivation of clamping devices or the information processing of external sensor signals. The designed overview can be extended by analyzing other production processes.
As already formulated in the objective of this work, a flexible compilation of the process flow is to be realized on the basis of the evaluation properties. Three different levels of complexity are introduced to achieve this overarching goal. These levels define the framework for the implementation of the SCADA system. The levels build on each other and increase in complexity from level 1 to level 3. A SCADA system of the first level controls the process with the help of firmly defined OPC UA skills, which are also executed in a fixed sequence. These systems are suitable for controlling processes in classic mass production, i.e., an identical sequence is used unchanged for a large number of units. In the present work, this stage serves to test and introduce the OPC UA skill concept. Due to the standardized structure of the capabilities and the possibility of integrating resources from various manufacturers, this stage already offers added value in terms of increased flexibility in the composition of new process flows. The second stage focuses on the consideration of evaluation characteristics. By specifying an evaluation characteristic that is to be prioritized during production, the capabilities are adjusted using the capability parameters. The following example is given to illustrate this. Due to an imminent standstill in downstream production caused by missing sub-products, the production time of these sub-products is prioritized. This prioritization leads to an increase in travel speeds and acceleration, which reduces the production time of the sub-products. Increased partial costs and energy consumption are consciously accepted in order to avoid the threat of downtime.
The highest level that a capability-based SCADA system can achieve is a needs-based combination of skills. At this level, the system selects the appropriate skills for implementing the process task based on the prioritized features and assembles them fully automatically.
4. Implementation
The Internet of Production Automation Cell located at the Laboratory for Machine Tools WZL was used to implement the process control and test the developed code. This demonstrator reproduced a sub-process from glass pane completion in vehicle assembly. The main task of the production cell is the fully automated application of the adhesive to the bonding points specified by the design. In addition, the intended bonding surface must be cleaned in an upstream process step. This is necessary to ensure that neither lubricants nor dust from the production or storage of the pane have a negative impact on the strength of the adhesive bond. The completed windshield is then removed from the production cell by machine or by a worker and installed in the vehicle body. Three different industrial robots are used to implement the processes within the production cell, which is why the production process under investigation is also considered to be robot-based. The robots form individual smaller sub-cells that serve as organizational units for structuring the process.
The resulting process control architecture is shown schematically in
Figure 5. The most relevant change compared to the initial situation was the holistic use of the OPC UA communication standard for the exchange of information between the various process participants. For this purpose, each unit of the production cell received a separate OPC UA server, which provided the skill of the specific unit. The server of the priming unit was created by the TwinCAT software (version 3), which ran on an industrial PC. A commercially available laptop was used for the servers of the handler and cleaner unit, in this case, from Lenovo. This server was connected to the respective robot controller via a TCP/IP socket and MQTT interface. The higher-level compilation and control of the overall process were realized within the newly developed SCADA system. The SCADA system also consisted of an OPC UA server and an OPC UA client. Via the client, the servers of the process participants were accessible. The server of the SCADA system contained copies of the combined skills of the primer, handler, and cleaner unit and compiled them into the overall process as required. The UaExpert client from the manufacturer Unified Automation was used as a prototypical human–machine interface (HMI) to control and visualize the four OPC UA servers and their skills.
The schematic representation in
Figure 6 shows the reason for using OPC UA skills to implement process control. The skills are used as a universal adapter for connecting machines to the SCADA system.
The OPC UA servers, implemented with the OPCUA-Asyncio library and in TwinCAT, contained the information models, methods for the skill-based approach, and their associated properties. Through a client, the skills on the server could be accessed. The server contained an internal interface to the already implemented functions, such as those for the handling unit, and there was no need to develop new control functions. Rather, only the invocation and transmission of relevant parameters, such as the target position for a move_skill, were facilitated. The OPC UA server for the priming unit was based on the TwinCAT Connectivity Module (TF6120), while the OPC UA servers for the cleaning and handling units were based on the Python library OPCUA-Asyncio. Depending on the hardware used, an interface for triggering the control functions must be developed in order to be able to use the standardized skill framework.
Figure 7 shows the main functions that a skill contains. In addition to the state machine for the current state of the function to be executed (left side) and the evaluation property (middle), each skill contains an interface to the existing control functions, as described above (right side).
The priming unit applied the adhesive to the cleaned surface. It essentially consisted of the following three components: a KUKA Agilus robot, the gluing system, and the clamping device with an integrated proximity sensor. The basic skills of the priming unit were included in the skills catalog so that this gluing process could be controlled on a skills basis. The following capabilities were considered necessary:
- –
Ability to move the robot to the waiting position;
- –
Ability to move the robot linearly;
- –
Ability for absolute movement of the robot;
- –
Ability to activate and deactivate the clamping device;
- –
Ability to activate and deactivate the gluing system.
Due to the control of the priming robot, the gluing system, and the clamping device via the softPLC provided by TwinCAT, this needed to be integrated into the extended OPC UA skill concept. In addition to the function block already described for replicating the developed OPC UA skill structure, a further function block was introduced for implementing the respective functionality. This function block was executed as soon as the start method of a skill was called in the OPC UA server of the priming unit and the skill state changed from ready to running. The functionality for activating or deactivating the clamping device and the gluing system was implemented by writing the respective PLC variables within the function block. The Robotics mxAutomation TwinCAT extension was used for the movement capabilities, shown in
Figure 8. In addition, the duration of the respective skill execution was also measured in the function block and saved in the associated OPC UA node once execution was complete. The last task of the function block was to reset the skill status from running to ready after the successful execution of the skill.
After the skill executions had been implemented, a logic for handling the properties had to be developed and implemented. This is described below.
To implement the developed concept for mapping the evaluation characteristics of composite skills, a function was created within the developed ProgramStateMachine class. After the successful execution of a basic capability, this function read the evaluation characteristics of the composite capability and the basic capability from the OPC UA server. For the numerical key figures, i.e., energy consumption, CO2 equivalent, costs, and duration, the read values were added together and saved as updated evaluation characteristics in the composite OPC UA skill. Availability was considered using a simple IF statement. If a basic capability was not available, the composite capability received the same status. Nested IF statements were used to consider quality as an evaluation characteristic.
The basic principle used was that the basic skill with the worst effect on the end product determined the quality of the composite skill. An example is given to illustrate this. A skill was made up of three different basic skills, and the basic skills had the qualities A, B, and C. After completion, the overall capability, therefore, had the lowest quality level, i.e., C. The iterative updating of the evaluation characteristics was carried out for all the basic skills involved. If skills were used multiple times, the characteristics were also taken into account multiple times. After the initial execution of a composite skill, the evaluation characteristics were available for process control and other software systems.
The values of the characteristics were initially measured manually and described in the server information model.
Table 1 contains an example for a skill with estimated values for properties of a typical movement operation.
5. Discussion and Summary
This article introduces a concept for the skill-based control of robot-based production processes. The skills were modelled in OPC UA skills and can be called up by a higher-level control system. Within the developed control architecture, the extended OPC UA skill is seen as a universal adapter between the production resources and the process control. The communication in the developed concept is based on the server–client principle, and each machine, robot, or production participant that has its own controller makes its capabilities available on its own OPC UA server. To uphold the modular principle of skills, a comprehensive concept was devised to combine the features of both basic and composite skills. In addition, a capability catalog was introduced as a kind of library for the development of new capabilities and process flows.
A key component is the integration of assessment factors. To this end, evaluation features relating to economic efficiency, sustainability, and quality were linked to the individual capabilities. This enables an immediate assessment of the entire process and allows a highly flexible configuration of the overall process based on predefined evaluation characteristics.
The developed system was prototypically implemented in a demonstrator for a glass pane complementation process. A total of three robots and other field devices were used in the demonstrator. For this purpose, OPC UA skills were implemented with the Python-based opcua-asyncio library and the TwinCAT software (version 3). The demonstrator was used to show that it is possible to configure a production process flexibly and across all control manufacturers using OPC UA skills.
OPC UA skills and capability-based process controls are generally the subject of research in current projects. To establish them in the industrial environment, it is necessary to standardize the capability descriptions for the most important production participants. This could be achieved in a companion specification provided by the OPC Foundation, which takes into account the requirements of the manufacturers and users of the machines or robots.
The assessment of capabilities can serve as the basis for a flexible, needs-based, and automated compilation of the process flow. In the context of stricter environmental guidelines, higher energy costs, and increasing competitive pressure, the implemented process evaluation already offers added value for manufacturing companies. In order to exploit the full potential of the extended OPC UA skill concept in the long term, the application needs to be further developed into a self-learning system. If no characteristic values are yet available for the evaluation features, a function can be integrated that generates these values initially and automatically on the basis of control data. Using the example of economic efficiency, the duration of an initial process execution can be recorded. By combining the materials or energy consumed, for example, a CO2 footprint can be created for each process. Despite a highly flexible production process, optimization potentials and regulations in reporting can be met.