PRINT

Proposing an IT Application Platform in Controller

NISHIGAKI Koji Ph.D.
Technology Dept. 1
Technology Development Division H.Q.
Industrial Automation Company
Specialty:Information Science
ARAI Wataru
Technology Dept. 1
Technology Development Division H.Q.
Industrial Automation Company
Specialty:Software Engineering

In recent years, there has been an increasing need for production to improve by utilizing information processing technology by utilizing the data generated by control equipment at production sites. Since the needs are diversifying and the improvement of information processing technology does not stop, there are a need for an environment where applications can quickly respond to the needs of the field and a need to introduce applications using the latest information processing technology. Furthermore, in the conventional means, data analysis by IT engineers is performed by taking out data to the information processing layer once, and it is difficult to utilize data to demonstrate the strengths of the site at the production site. Therefore, we incorporated an application platform for information processing that coexisted with control inside the Controller and proposed an application framework for developing flexible and powerful applications at the production site so that high-speed and high-precision data generated by control can be collected and utilized at the production site.

1. Introduction

In the past, in factory automation (hereinafter FA), the data generated by control equipment have been incorporated into the information processing layer using database connections or OPC UA, which is the international standard of data exchange in the field of FA, and they have been utilized for production improvement by using information processing technology (hereinafter IT). However, in recent years, it has become difficult to incorporate all data synchronous to the control cycle into the information processing layer because the speed and the accuracy of the controller for controlling equipment became higher, the time accessible to synchronous data was reduced because of the shortening of the data update period, and the communication load increased because of the increase in the data amount per unit time and the increase in the data access load affects the control cycle.

In addition, since the necessity of high IT skills for utilization of such high quality and high accuracy data sampled at high speed periodically (hereinafter high quality and high accuracy data) disturbs the data utilization in the improvement activities at production sites, the strength at production sites, such as continuous improvement in the field, is not sufficiently utilized.

On the other hand, the AI-equipped machine automation controller (hereinafter 窶廣I controller窶) developed by OMRON is loaded with a database for collecting and accumulating highly accurate data at high speed called the time-series database (hereinafter 窶弋SDB窶), the application, such as preventive maintenance, has been realized by analyzing the accumulated data and detecting outliers using the AI machine learning model generated from analysis results1).

However, in the situation that approaches aiming for the fourth industrial revolution2) are accelerated, various types of applications not limited to applications using AI realized by the AI controller are schemed and proposed in approaches to data utilization at production sites.

OMRON established the field data utilization service i-BELT to accelerate the approach of data utilization at production sites3). In addition, the intelligent cell line control system (hereinafter 窶廚LCS窶) is said to require the cooperation of various data in order to support judgment and work by humans4). Furthermore, it is said that the high quality and high accuracy data produced by the controller and the information processing environment for handling the data are required in order to realize the customer窶冱 original application (means for utilizing data) in various types of co-creation promoted by OMRON.

The purpose of this paper is to utilize the data at production sites. We will describe the design for providing the controller that mainly performed control in the past with the ability for collecting high-quality and high-accuracy data and utilizing them using IT. We will also describe the activities for creating applications utilizing time-series data (hereinafter 窶彗pplication creation activities窶) in the field. These design and activities are supported by the application framework to be described hereinafter.

The application framework expands the Database Connection CPU Units (hereinafter 窶廛B model窶) that is one of the existing controllers of OMRON and utilizes the variable access API using inter-process communication and the Java Runtime Environment. We aim to enable the implementation of various types of applications utilizing high-quality and high-accuracy data that synchronize the control cycle of the controller while constructing the mechanism for developing and implementing various types of IT applications acting in the controller and suppressing the influence on control.

In addition, we proposed the pipeline application framework for creating applications specializing in data processing, selected software parts called nodes prepared for each function, and defined its linkage. Thus, we enabled workers having poor IT skills in the field to realize applications that can acquire, process, and feedback data easily.

2. Issues

2.1 Influence of Coexistence with Information Processing on Control

The controller used in the manufacturing field is one that performs sequence control for executing control in the prescribed order and motion control for executing position control of the motor. OMRON窶冱 controller has a control cycle of 0.125 ms to several milliseconds and implements high speed and high accuracy control in real-time.

When implementing information processing in the controller, the generation of variations of implementation time of the control process affected by information processing disturbs correct implementation of control. Therefore, upon the implementation of information processing in the controller, non-disturbance of the control cycle is the essential requirement.

On the other hand, although advanced data analysis represented by AI requires advanced time-series data that synchronize high-speed control cycles of the controller, the requirement could not be satisfied because collection intervals by conventional means were limited to around several milliseconds and fluctuations in the collection intervals existed.

2.2 Application of IT to FA Field

At production sites, personnel skilled in IT do not necessarily exist. Therefore, in order to utilize data produced by the controller using IT in daily improvement activities at the production sites, it is necessary to prepare a mechanism that even fieldworkers not familiar with IT can easily utilize.

For example, an AI controller can collect data for analysis, create an AI machine learning model, quickly detect outliers by AI, and predict the failure of equipment. However, when applied to the field, advanced knowledge of IT is required to select the data to be collected and to create AI machine learning models (see Figs. 1 and 2)1).

Fig. 1 Processing Flow of Analysis Phase in AI Controller
Fig. 1 Processing Flow of Analysis Phase in AI Controller
Fig. 2 Processing Flow of Utilization Phase in AI Controller
Fig. 2 Processing Flow of Utilization Phase in AI Controller

On the other hand, IT engineers not familiar with FA require a mechanism that can apply IT to FA even if they have no knowledge particular to FA.

3. Technology

3.1 Application Platform

This paper proposes the means for realizing information processing applications in the conventional controller specialized in control without affecting the control cycle. The conventional controller realizes real-time control by the PLC Engine, and the DB model which is a kind of the conventional controller is loaded with the DB Connection Application that runs on the Java VM to realize the function for connecting to the relational database (hereinafter DB) (see Fig. 3).

Fig. 3 System Structure of DB Model
Fig. 3 System Structure of DB Model

The DB model utilizes the variable access API using inter-process communication and the Java Runtime Environment to concentrate the asynchronous process to Java and lower the scheduling priority of Java in order to suppress the influence on control. Thus, it realizes the application for performing data input from the controller to the DB and the DB operation using stored procedures.

As an adaptation example of the means to be proposed in this paper, we developed the Sysmac Java Application Platform (hereinafter 窶彗pplication platform窶) for realizing an application that is executed on the controller without affecting high speed and high accuracy control realized by the controller while expanding the DB model and executing IT processing in the state of cohabitation with control. The application platform was built on the Java Runtime Environment as a Java-based application platform by utilizing the existing Java Runtime Environment of the DB model. An application platform can execute and manage various types of applications implemented in Java, including the Pipeline Application Framework (hereinafter pipeline application framework, of which detail will be described in Section 3.2) (see Fig. 4).

Fig. 4 Application Platform
Fig. 4 Application Platform

The application platform utilizes Vert.x5) of open-source software (hereinafter 窶廾SS窶) and can execute the application independently without relating to the state and mode of the controller after the controller is started and the application platform is started (see Figs. 5 and 6).

Fig. 5 State and Mode of Controller6)
Fig. 5 State and Mode of Controller6)
Fig. 6 Start Sequence of Application Platform
Fig. 6 Start Sequence of Application Platform

The application is executed as a Java application in the controller when it is installed as Verticle (execution unit of application controlled by Vert. x) that is executed on Vert. x. Therefore, the application utilizing various Java libraries, including OSS, can be realized on the controller (library implemented by using the C language by using JNA/JNI that is the means for accessing from the Java program to the native library can also be utilized).

The application platform is executed as a process of which priority is lower than the process for executing control so as not to affect control. Since the application is executed on the application platform, it is executed in non-real time in the spare time of the process that executes control without disturbing the execution of the control process.

In addition, the limitation of access to control resource inside the controller was performed on the application platform so that the application did not disturb access to the resource of the control process.

Furthermore, we enabled the collection of data synchronous to the control cycle at higher speed from the application by expanding the existing variable access API and incorporating the mechanism to cooperate with the program executed by the control process. When accessing the variable, the protocol of 窶彡ommand 窶 response窶 of inter-process communication is used in the API provided by the controller, and the overhead for each access to one variable is large. Therefore, we reduced the substantial overhead per variable by temporarily preserving the variable to be collected in the array by the program to be executed by the control process and making the object to be collected as the array. At this time, the time required when a large amount of variable data are received is sufficiently short because of the communication inside the controller, thus the total time can be reduced (see Figs. 7 and 8).

Fig. 7 Variable Access in Cooperation with Control Program
Fig. 7 Variable Access in Cooperation with Control Program
Fig. 8 Number of Processing and Time Required for Variable Access
Fig. 8 Number of Processing and Time Required for Variable Access

3.2 Pipeline Application Framework

As an adaptation example of the means proposed in this paper, we developed a pipeline application framework in which FA engineers having no advanced IT skill perform the collection, processing, and output of the necessary data only by combining the necessary functions and setting parameters.

The pipeline application framework can realize a pipeline application that can process and handle the entered data and transmit the results that were processed and handled.

In addition, the pipeline application framework transforms three types of functions consisting of data input (Input: 竏 directing rightward in Fig. 9), data processing (Logic: 笳 in Fig. 9), and data output (Output: 竏 directing leftward in Fig. 9) in the form of nodes, such as input node, logic node, and output node, to software parts and performs the definitions of nodes and the relations between nodes using the GUI tool. Thus, the application that delivers the entered data as the message (Message: 笆。 in Fig. 9) and processes for transmission can be easily realized and changed (see Figs. 9 and 10).

Fig. 9 Pipeline Application Framework
Fig. 9 Pipeline Application Framework
Fig. 10 GUI Tool
Fig. 10 GUI Tool

Furthermore, the development of IT, which the FA field engineers desire to utilize, by the IT engineers in the form of nodes enables the easy introduction of new functions as applications to the FA field (realize mediation between IT engineers and FA field engineers).

Utilization of the application platform and pipeline application enabled the realization of applications to be used in various areas. The details of realized applications will be described in Section 5.

4. Verification (Influence on Control Performance and Performance)

4.1 Verification of Influence on Control Performance

In order to verify the influence on control performance, we verified the influence on task execution time when executing data collection by the product equipped with a time-series data collection system (hereinafter 窶弋SDC model窶) loaded with the technology of this paper of NX102/NX701 Database Connection CPU Units in OMRON窶冱 controller NX102 and NX701.

We measured and compared the task execution time (maximum/minimum/average/standard deviation) in the control program for the benchmark in case data collection was not executed, and data collection was executed using the TSDC model. We executed 4008 cycles by setting control cycles at 1 ms in the NX701 and 9855 cycles by setting control cycles at 2 ms in the NX102. The results of measurements are shown in the following tables (see Tables 1 and 2):

Table 1. Results of NX102 (unit μs)
Data collection
not executed
Data collection
executed
Difference
Maximum 1060.205 1097.815 37.61
Minimum 698.495 699.665 1.17
Average 789.339 866.413 77.074
Standard deviation 53.448 65.081 11.633
Table 2. Results of NX701 (unit μs)
Data collection
not executed
Data collection executed Difference
Maximum 622.05 702.664 80.614
Minimum 584.47 586.075 1.605
Average 598.50 602.995 4.495
Standard deviation 5.85 8.444 2.594

It was recognized that the maximum/minimum/average/standard deviations of task execution time when data collection was executed are slightly larger than that when data collection was not executed.

On the other hand, in the case of the CPU unit of the NX series, the calculation formula for the guide of the maximum value is defined from the manual of the controller as6):

(Average value of task execution time + (Average value of task execution time 竏 Minimum value of task execution time)) テ 1.2 + 25 μs

Then, we calculated the guide of the maximum value of task execution time when data collection was executed using the TSDC model and recognized that the calculation result does not exceed the control cycle and the maximum measured value does not exceed the control cycle.

Substitution of the measurement results at the time of each data collection execution for the calculation formula results in (866 μsシ (866 μsシ699 μs)) テ 1.2 シ 25 μs シ 1264 μs in the NX102 in which the value is lower than the control cycle of 2000 μs, and the maximum value of 1097 μs at the time of data collection execution is lower than this value.

In addition, the NX701 obtains (602 μs シ (602 μsシ586 μs)) テ 1.2 シ 25 μs = 766 μs, in which the value is lower than the control cycle of 1000 μs, and the maximum value of 702 μs at the time of data collection execution is lower than this value.

From these results, we recognized that the real-time processing of the control cycle is not harmed, although the control execution time and its variation increase.

4.2 Evaluation of Data Collection Performance

Data collection synchronous to the control cycle was realized without affecting the control cycle in the TSDC model using the technology described in Section 3. The detail of the TSDC model will be described in Section 5.1. The collection performances of the DB model of the existing product and the TSDC are shown in Table 3.

Table 3. Comparison of collection performance between TSDC and DB models
Collection performance
TSDC model DB model
NX701 4 KB/ms 2 KB/ms
NX102 0.4 KB/ms 0.25KB/ms

In the technology developed this time, the acquisition and the utilization of high quality and high accuracy data were realized by buffering the collection of time-series data using the control program as an array and comprehensively incorporating the buffered data in the application using spare time.

In the TSDC model, NAS is connected to the controller, and the time-series data collected by the controller are stored in NAS as a CSV file (see Fig. 11).

Fig. 11 Time-series data collection system
Fig. 11 Time-series data collection system

5. Effect (Application Creation Activity)

5.1 Commercialization Cycle from Application Creation Activity

Applications using technology proposed in this paper were used for co-creation of data utilization in various manufacturing fields because the controller enabled the collection and utilization of time-series data without affecting the control performance.

The co-creation for customers in the automotive industries that are one of various co-creations used the technology proposed in this paper. Thus, we enabled the realization of the system that performs high-speed control and simultaneously collects high quality and high accuracy data generated by high-speed control without affecting the control cycle, stores the data from the controller directly in the NAS, analyzes the data using the customer窶冱 application, and feeds back the results to the control. As a result, costs were reduced by performing both data utilization and control with only one controller, and startup efficiency and maintainability were improved.

Since the usefulness of the application was recognized as the result of this co-creation, Database Connection CPU Units loaded with the time-series data collection system (TSDC model) was commercialized as an application-limited product.

As mentioned above, since usefulness in the customer field was already proved through co-creation and application creation activities in the commercialization of the TSDC model and a part of the processes of general product development was able to be omitted, we enabled the release in a comparatively short period with deployment to multiple customers.

Furthermore, in ongoing co-creation, we developed a new application that extends the TSDC model and deployed it to new customers. In this way, the cycle of application creation activities and commercialization was realized.

5.2 Field Data Utilization Service (i-BELT)

OMRON provides the unique data utilization service i-BELT. OMRON窶冱 i-BELT is a co-creation service that utilizes the data existing at production sites and cooperatively solves the issues of visualization, analysis, and control from its collection while standing close to the customer (see Fig. 12).

Fig. 12 i-BELT
Fig. 12 i-BELT

The use of the technology proposed in this paper enables data analysis in a wider range by linking the collected control data with the control data and information data of other controllers without limiting the utilization to one controller.

5.3 Improvement of yield rate utilizing data (In-house Co-creation)

In an example of in-house co-creation, linkage (trace, joining, and operation) of various related data, such as data of the upper system necessary for data analysis for improving the yield rate, was easily realized by using the technology of this paper. As a result, we enabled the identification of cause and effect and the control of results based on data analysis by recording and tracing ILO (input-logic-output) data in linkage with every product, in addition to production conditions given with identification codes and information on inspection results, and realized the exclusion of nonconformities in the previous production processes. Furthermore, the combination of products that become conforming products, depending on the variation of dimensions, was obtained recursively.

The use of the technology proposed in this paper realized a system flexibly dealing with the increase and decrease of processes necessary for achieving the exclusion of nonconforming products in the previous process and unifying the traceable data between multiple processes. The existence of information processing functions in the controller enabled the unified management of the data structure (see Fig. 13) consisting of parts information, test results, upper system process data, and PC data.

Fig. 13 Data Structure of Whole System
Fig. 13 Data Structure of Whole System

5.4 Cell Line Control System (CLCS)

Although the degree of difficulty of manufacturing increases because of the diversification of market needs and the expansion of demand fluctuation, the number of skilled workers is insufficient. In addition, the production transfer associated with the review of the profit structure is accelerated, and 4M fluctuation management such as early cultivation of workers and thorough process management is complicated. In order to deal with such multiproduct variable quantity production, the workers must make many judgments and relying only on labor results in the limitation of quality guarantees due to variations in the degree of skill for the work. Also in risk management, the identification of ranges of influence when nonconforming products are allowed to flow out and the countermeasures for enabling the immediate issue of information capable of proving the conformity of products are required.

CLCS provided by OMRON realizes the quality management of products and work and work without mistakes even by unskilled workers by the introduction of process management traceability and the elimination of judgment by introducing digital work instructions.

The use of the technology proposed in this paper easily enabled the realization of quality management of the process by unifying the product trace information and the process and work trace information. In addition, we successfully realized improvement in the processes from an analysis of quality variation factors not relying on intuition and tricks by linking the manufacturing information of the processes and condition of workers to the products for unified management (see Fig. 14).

Fig. 14 Unified Management in CLCS
Fig. 14 Unified Management in CLCS

5.5 Expansion to Cloud Environment and Expansion to Standard Protocol in Industry

The use of the technology in this paper easily allowed realization of cloud connectivity to the NX controller. Azure publishes the library necessary for the connection to Azure. The use of the technology of this paper and the development of nodes by incorporating an open library realized the application for connecting to Azure in a short period and obtained the Azure certificate7) (not described in the catalog). In a similar way, we enabled the easy installation of the connection function to the cloud, such as AWS IoT8) and MindSphere9) and the standard communication protocol used by FA, such as Hermes Standard10) on the controller.

6. Conclusion

In recent years, the needs for improvement of productivity and yield rate and the shortening of the production rising period by utilizing the data produced by control equipment and information processing technology have increased at production sites, and an environment capable of quickly dealing with the needs of the field and introducing applications using the latest information processing technology has been required.

Furthermore, conventional means require advanced IT skills, and the means for the timely use of data were required at production sites.

We enabled the realization of an environment inside the controller capable of contributing to the improvement of the production sites that uses high quality and high accuracy data produced by the controller itself without affecting the control cycle, which is the original function of the controller, by the approaches explained in this paper.

In addition, we enabled the demonstration of feasibility and the effectiveness of idea that makes the controller have an information processing function through application creation activities utilizing such an environment.

Hereinafter also, we aim to possibly realize applications with more advanced and higher performance by not only enhancing the function as an application platform and expanding the function using nodes but also by adding the development environment for developing applications other than pipeline applications.

Moreover, we will hopefully consider an approach to speeding up access to variables, including porting of TSDB.

By utilizing this technology, we realized a cycle of application creation activities through co-creation, application-limited commercialization for specific customers and furthermore application creation activities. In the future, in order to lead to general-purpose commercialization for unspecified customers, we would like to realize a cycle of application creation activities, application-limited commercialization and general-purpose commercialization.

References

1シ
M. Ohta and Y. Nishiyama, 窶廛evelopment of AI-loaded Machine Automation Controller (2),窶 OMRON TECHNICS, vol. 51, no. 1, pp. 45-51, 2019.
2シ
Ministry of Internal Affairs and Communications, Ministry of Health, Labour and Welfare, Ministry of Education, Culture, Sports, Science and Technology, White Paper on Manufacturing Industries 2018. Research Institute of Economy, Trade and Industry, 2018, 325 p.
3シ
OMRON Corporation, 窶廡ield Data Utilization Service i-BELT,窶抂MRON Controller. https://www.fa.omron.co.jp/solution/i-belt/ (accessed Jan. 11, 2022).
4シ
OMRON Corporation, 窶弉uality Management of Multiproduct Variable Quantity Production Realized by Traceability,窶 OMRON Controller. https://www.fa.omron.co.jp/solution/proposal/app_006/ (accessed Jan. 11, 2022).
5シ
Eclipse, Vert.x. https://vertx.io (accessed Jan. 11, 2022).
6シ
OMRON Corporation, NJ/NX Series CPU Unit Users, Manual Software Part. 2021, 838 p.
7シ
Microsoft Corporation, 窶廾utline of Azure Certified Device Program,窶 https://docs.microsoft.com/ja-jp/azure/certification/overview (accessed Jan. 11, 2022).
8シ
Amazon.com Inc., 窶廬oT (Internet of Things) 窶 Cloud solution by use case,窶 https://aws.amazon.com/jp/iot/ (accessed Jan. 11, 2022).
9シ
Siemens, A. G. 窶廴indSphere,窶 https://www.plm.automation.siemens.com/global/ja/products/mindsphere/ (accessed Jan. 11, 2022).
10シ
The Hermes Standard Initiative, IPC-HERMES-9852, 2019.

Microsoft and Azure are the registered trademark or the trademark in USA and other countries of USA Microsoft Corporation.
Vert.x is the registered trademark or the trademark in USA and other countries of Eclipse Foundation, Inc.
Java is the registered trademark or the trademark in USA and other countries of Oracle Corporation, its affiliated companies and subsidiaries.
EtherCAT is the patented technology licensed by Beckhoャ Automation GmbH in Germany and the registered trademark.
AWS trademark is the trademark in USA and other countries of Amazon.com, Inc. or its affiliated companies.
MindSphere is the registered trademark or the trademark of Siemens AG.
In addition, the name of product described in the text may be the trademark of the company concerned.