OPC UA-Based Machining Cell Monitoring System for Multi-Vendors’ Machine Tools and Industrial Robots

Article information

Int. J. Precis. Eng. Manuf.-Smart Tech.. 2023;1(1):63-69
1School of Mechanical Engineering, Kyungnam University, Changwon 51767, South Korea
2Digital Transformation R&D Department, Korea Institute of Industrial Technology, Ansan 15588, South Korea
Dong Yoon Lee: dylee@kitech.re.kr
Received 2022 October 8; Revised 2022 December 4; Accepted 2022 December 9.


Monitoring systems for the manufacturing field are essential. These systems have various architectures and scales to meet more diverse requirements depending on their purpose. However, communication is commonly fundamental for all monitoring systems. This paper proposes a structure for a machining cell monitoring system that is composed of machine tools and industrial robots. The system adapts OPC UA for collecting data and MQTT for publishing data. The unique aspect of the suggested monitoring system is that it creates OPC UA data nodes dynamically according to the requests of the clients and it is applicable to any CNCs. The collected data from a machine tool and an industrial robot were chosen considering preventive maintenance. The proposed method was implemented to a machining cell and the developed dashboard shows that the selected data were successfully stored and queried.

1 Introduction

As the trend of implementing intelligent and autonomous machining systems is accelerating, the construction of machine tending systems for the automated operation of CNC machine tools is being actively carried out in industrial fields. A machine tending system is a system that operates or supervises a machine tool with a robot for machine tool automation. It can be applied to performing various processes such as inspection, cleaning, deburring, and packaging as well as basic functions such as loading and unloading [1]. In general, since a machine tending system is configured to transmit a message to the robot using a controller that can interpret the PLC signal of a specific CNC machine tool, the interface for transmission and reception of the signals between the machine tools and the robots in the machine tending process on the industrial site is important [2]. Furthermore, from a production system or factory operation point of view, a communication interface for the monitoring system of a machining cell composed of various types of CNC machine tools and industrial robots should be considered [3].

In terms of the interface between the CNC machine tool and the industrial robot, since the configuration of the interface is the most important process and involves a great deal of trial and error, it is difficult to recreate the controller to match the interface or reconfigure the settings whenever a new machine tool or robot is introduced. To solve this problem, the machine tool industry has promoted the standardization of machine tending interfaces for CNC machine tools, and ISO 21919 ‘Interfaces for automated machine tending’ [4] has been established as an international standard. This standard is used as a reference for building machine tending systems.

In terms of the communication interface for the configuration of the machining cell monitoring system, since the machining cells of many industrial sites are mixed with machine tools employing different types of CNCs and industrial robots of various vendors [5,6], in many industrial cases, the systems are built by applying standardized communication protocols, and interoperability between different types of systems thereby can be secured [7]. OPC UA [8] and MTConnect [9] are typical standard communication protocols applied to CNC machine tools. Their application system can be divided into data collection system part that collects data by communicating with data points such as CNC in the machine tool and data utilization system part that utilizes data collected in the operation system. The OPC UA and MTConnect standards provide data exchange protocols between these two systems. Many factory automation makers adopt OPC UA protocol and provide it through their PLC, and especially, the robot industry is adopting OPC UA actively [10,11]. On the other hand, there are some machine tools that support OPC UA in CNC systems [12,13], but they are limited in terms of utilization because they are installed as an expensive option, or they have to be developed according to the communication library and interface method provided by the CNC vendor to develop the OPC UA server. There are studies that applied OPC UA-based information modeling techniques to develop a cyber model of CNC machine tools [14] and research that developed edge devices to collect CNC data based on OPC UA [15], but standard interface modules were developed in a way specialized for specific CNC vendor. Moreover, there are studies that developed integrated operation systems for heterogeneous machine tools that support MTConnect and OPC UA communication [16], and research that developed MTConnet and OPC UA-based cyber-physical machine tool platforms [17]. However, there are limitations to applying them to machine tending systems that include multi-vendors’ industrial robots because they focused on applying standard interfaces to machining cells.

In this study, we propose an OPC UA-based machining cell monitoring system for machine tending systems focusing on commercial systems on industrial sites. The proposed system configures the data collection system for CNC through the OPC UA Server, which is commonly applicable to different kinds of CNCs, and integrates machining cell data by applying MQTT message broker to develop an edge-cloud form. The developed system is verified by developing a testbed for CNC machine tools and industrial robots in a laboratory environment, and we analyze the application effects and system development issues.

2 System Architecture

As shown in Fig. 1, the proposed system architecture adopts the OPC UA server-client structure for the asset and edge gateway information exchange interface and the MQTT edge-cloud structure for the edge gateway and cloud server. In particular, as the asset level of this architecture targets commercial systems in industrial sites, industrial robots transmit robot controller data through their own OPC UA server and the CNC machine tool transmits CNC data through a TORUS [18] platform-based OPC UA server app, which is commonly applicable to different types of CNCs. TORUS is an application development and operation platform for an intelligent HMI system. It redefines and encapsulates the data access function for the same data element as a function of the same name in heterogeneous CNCs with different address systems and provides the function in the form of APIs. It plays the role of interfacing CNC communication by calling its own CNC communication library provided by the CNC vendor to the OPC UA server. In general, the OPC UA server, as a module that collects and transmits CNC data using OPC UA protocol, should be developed using CNC’s own communication library. However, in the proposed system, it has characteristics that are commonly applicable to different types of CNCs.

Fig. 1

OPC UA-based system architecture

2.1 Asset Level

The asset level is a machine tending system built at the manufacturing site and is physically composed of heterogeneous CNC machine tools and industrial robots, and the OPC UA server module is embedded so that these physical manufacturing system components can exchange information with other systems. This layer consists of the TORUS platform, OPC UA server app for CNC machines, and OPC UA server for industrial robots.

  • · TORUS platform: This is an integrated operating platform for HMI system installed on HMI to embed OPC UA server that can be commonly applied to heterogeneous CNCs on machine tools.

  • · OPC UA server app for CNC machines: This is an OPC UA server module operating on the platform by interworking with an integrated interface for heterogeneous CNCs as an application of the platform. As an OPC UA server that can be commonly applied to different types of CNC, it provides OPC UA communication for CNC machine tools that are not equipped with an OPC UA interface.

  • · OPC UA server for industrial robots: As an OPC UA server module provided by the robot controller, it provides a function to transmit and receive robot controller data using the OPC UA protocol.

2.2 Edge Gateway Level

In the edge gateway level, real-time data generated from heterogeneous CNC machine tools and industrial robots are collected and aggregated according to the OPC UA protocol, and the collected data are transmitted to the cloud server according to the MQTT protocol. The number of assets that can be connected can vary according to the performance of the edge gateway, but one edge gateway can be mainly applied in units of machining cells at the industrial manufacturing site. This layer consists of a OPC UA client for CNC machine, a OPC UA client for industrial robot, a data aggregation server, and an MQTT agent.

  • · OPC UA client for CNC machine: This is an OPC UA client that collects CNC data from the OPC UA server of the CNC machine tool to the edge gateway.

  • · OPC UA client for industrial robot: This is an OPC UA client that collects robot controller data from the OPC UA server of the industrial robot to the edge gateway.

  • · Data aggregation server: As a server module that aggregates and synchronizes the time series of heterogeneous CNC data and robot controller data composing one machining cell, it generates aggregated data to send the machining cell data to the cloud server.

  • · MQTT agent: As an agent module that converts data collected from edge gateway according to MQTT protocol to publish to message broker of cloud server, it transmits the aggregated data from the data aggregation server in the form of MQTT topic.

2.3 Cloud Server Level

In the cloud server level, according to the MQTT protocol, machining cell data of edge gateways are collected and stored in a time-series database, and a cloud service is provided through the application systems. This layer consists of the MQTT message broker, time-series database, and application systems.

  • · MQTT message broker: As a broker component that collects the machining cell data of edge gateways according to the MQTT protocol, it mediates them in such a way that the time-series database subscribes to the machining cell data topic published by the edge gateway using a broker pattern.

  • · Time-series database: As a database that collects and stores time-series machining cell data of edge gateways, it supports the storage of real-time machining cell data.

  • · Application systems: Cloud services can be provided by configuring various application systems and can consist of functions such as monitoring real-time machining cell data, analyzing process state according to data trends, and tracking management of machining history.

3 Implementation

3.1 Dynamic OPC UA Node Creation for CNC Information

According to the MQTT protocol, machining cell data of edge gateways are collected and stored in a time series database, and a TORUS furnishes a convenient communication method without considering the maker/product-specific methods. However, the TORUS platform is operated in Microsoft Windows environment and the user should use the C++ or C# libraries that the TORUS platform provides. This means that systems which are not compatible with the Windows system or are not supported by software developers cannot derive the TORUS benefit.

The OPC UA sever application was developed based on TORUS in order to provide the CNC information to the upper system such as the edge gateway. The developed OPC UA server translates the CNC information that TORUS manages to the outer OPC UA clients. OPC UA clients obtain information via a unique Node ID in a connected server.

The developed OPC UA server is unique with respect to its dynamic node generation. General OPC UA servers provide invariable nodes that are defined by the developer. The OPC UA servers should keep updating the information that they provide at the memory. On the other hand, TORUS provides the CNC information according to a user’s individual request as defined in the TORUS machine state model; that is, the user can inquire the CNC information compounding various items freely when he or she adheres to the TORUS syntax. The developed OPC UA server does not have pre-defined nodes. When a user requests CNC information with the address and filter defined in TORUS, the developed OPC UA server generates nodes and starts to update the nodes. Fig. 2 shows the operating principle of the developed system. When an OPC UA client connects to the developed OPC UA server and requests CNC information with a Node ID based on TORUS syntax, the server parses the Node ID and operates a TORUS function to request the CNC information. If TORUS can provide the requested information, TORUS returns the values with a TRUE response. The OPC UA server then generates the Node ID in the address space if the Node ID does not exist in the address space, updates the Node value, and returns the requested value. If TORUS cannot provide the requested information for any reason, it returns a NULL response and the OPC UA server returns an error message, ‘BadNodeIdUnknow.’ Fig. 3 shows the example of the dynamic node creation using an OPC UA client, UaExpert®. The initial address space of the developed OPC UA server is empty as shown in the left figure of Fig. 3(a). When a user composes Node ID and requests the node information as shown in Fig. 3(b), a new node is created in the address space as shown in the right figure of Fig. 3(a). Fig. 3(c) shows the transmitted value, ‘−117.423’, that is the X position of the current machine position. Table 1 shows some examples of Node IDs and their explanations. The Node IDs are not fixed. They are composed by users.

Fig. 2

Dynamic node creation for OPC UA based on TORUS

Fig. 3

Example of dynamic node creation from a general OPC UA client (UaExpert®)

OPC UA nodes for machine tools (selected examples)

The developed OPC UA server based on TORUS expands TORUS’s flexibility and an identical CNC communication method to other systems. If the developed OPC UA runs on TORUS, any OPC UA client can connect to the server and obtain the CNC operating information the clients want. The users do not need to change the OPC UA server setting according to the CNC maker or machine tool configuration such as lathe, machining center, etc. They can focus on the target machine tool itself.

3.2 Monitoring System for Machining Cell Composed of Machine Tools and Robots

As robots are replacing operators in factories, monitoring systems are becoming inevitable. The interest in a digital twin also leads the application of monitoring systems. Most robot makers provide the robot’s operating status. In order to develop the cell monitoring system and demonstrate the feasibility of preventive maintenance, the selected operational data of a robot are gathered via the OPC UA protocol. The robot is a Staubli TX2-90 and the robot controller is Staubli CS9. The robot controller provides 324 nodes, but 68 of them were chosen considering their utilization for preventive maintenance of robot components that are operated repeatedly and continuously. The selected nodes are classified into two categories according to the monitoring targets. One is the movement information that shows the robot’s outer operation, and the other is the state information that indicates the robot’s and controller’s inner states. Tables 2 and 3 show some examples of selected nodes for each category. The temperatures of each component of the robot and controller are the main monitoring nodes because the unusual temperature gradient shows the possibility of abnormal operation. Since the motors and drives are main components of a robot arm, they were selected for the temperature monitoring component, and there are 6 nodes for each component because TX2-90 is a 6-axis robot with 6 robot arms.

OPC UA nodes for industrial robot’s movement (selected examples)

OPC UA nodes for industrial robot’s inner state (selected examples)

3.3 Testbed Development

As shown in Fig. 4, the OPC UA protocol-based communication environment for the CS9 controller of the Staubli TX2-90 industrial robot and the Fanuc 31i CNC of Doosan machining center using the TORUS platform is established and a testbed of the proposed system is developed. The data collected from robots and machine tools are pre-processed through the edge gateway and then stored in the cloud server; the edge gateway PC applies a Linux Debian GNU OS, and the cloud server PC that stores data and provides services uses Linux Ubuntu OS. Data of robots and machine tools that have been aggregated through the OPC UA communication protocol are synchronized according to time-series and stored in the Influx DB. In this process, the Mosquitto message broker is used to provide a MQTT-based messaging service. By connecting a LTE modem to the router, a cloud service system that can check data in real time from outside is established.

Fig. 4

Testbed development environment

The time-series data of Influx DB is visualized using the Grafana library, and as shown in Fig. 5, it is possible to check that machining cell data of the asset level are provided as a cloud service by implementing a dashboard that can carry out monitoring of CNC data and robot data. Through synchronization of the stored time-series data, it is confirmed that the data are stored in parallel when the robot and the machine tool are operated at the same time.

Fig. 5

Machining cell monitoring dashboard

4 Discussion

The results show that the OPC UA nodes for a multi-vendor machine tool are dynamically created using TORUS. This dynamic node generation feature can reduce the communication load of the HMI PC where the developed OPC UA server is installed compared with the general OPC UA servers that have fixed nodes.

The diversity of the protocols for industrial equipment is the most critical hurdle for monitoring system developers. Many protocols are introduced to meet the recent requirements of the IoT environment, and they are used together. The necessity of standards is raised naturally to solve this complexity and certain protocols are commonly chosen in the field. However, legacy machine tools that do not provide the recent protocols are unavoidable in field applications. Because TORUS can be expanded to any CNC if the CNC provides a communication method, the proposed approach efficiently solves the problem without changing even a single code of the application – in this paper, the OPC UA server.

5 Conclusion

The proposed system architecture applies OPC UA protocol between the asset and edge gateway, and MQTT protocol between the edge gateway and cloud server, and thereby follows the interface system standardly referenced in IoT and cloud services applications in smart factories. Therefore, the proposed system can be extended to create a virtual model for AAS model-based digital twin implementation by defining AAS models for machine tools and robots, and creating virtualized models by mapping data collected from edge gateways to the AAS models. It should be possible to collect, store, and manage robot and machine tool data based on the AAS model in order to synchronize the generated virtualized model with the real physical robot and machine tool in realtime. A mapping function of the AAS standard meta-model in the edge gateway of the proposed system and an AAS management functions that can register and convert AAS in the cloud server should be additionally included, and such an extension study is in progress.

The presented example only shows a simple monitoring system of a machining cell, that is, collecting the selected data from a machine tool and an industrial robot. However, the OPC UA protocol also provides WRITE functions, which means that the proposed method also can be expanded to the cell controller. For example, an S/W application that can control CNC operations and robot movements can be developed.

The proposed machining cell monitoring system can be applied to any CNC which is supported by TORUS. However, the information model of robot should be applied independently for each robot.


This study has been conducted with the support of the Ministry of Trade, Industry and Energy, Republic of Korea as “Development of Customized Smart HMI Systems (20012807)”.

List of Symbols


Computerized Numerical Control


Programmable Logic Controller


OPC Unified Architecture


Message Queuing Telemetry Transport


Human Machine Interface


Application Programming Interface


Internet of Things


Asset Administration Shell


Conflict of interest

The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.


1. Park Y., Kim S., Um J.. 2020;Development of plug-n-play automation system for machine tending through digital twin. Journal of Society for e-Business Studies 25(4):143–154.
2. Groover M. P.. 2015. Automation, production systems, and computer-integrated manufacturing 4th editionth ed. Pearson Education Inc.
3. Nam S., Ryu K., Shin J., Kwon K., Lee S.. 2012;An integrated shop operation system for multi-cell flexible manufacturing systems under job shop environments. Journal of the Korean Society for Precision Engineering 29(4):386–394.
4. ISO 21919-1:2019. 2019. Interfaces for automated machine tending – Part 1: Overview and fundamental principles
5. Song K., Jeong H., Lee D., Kim B.. 2020;Package software configuration and cloud-based service system for building a smart factory in the root industry. Journal of Korean Society Manufacturing Technology Engineering 29(4):323–330.
6. Yoon J., Nam S., Baek J., Kwon K., Lee D., Lee S.. 2013;Process management systems for integrated real-time shop operations in heterogeneous multi-cell based flexible manufacturing environment. Journal of Korean Society Manufacturing Technology Engineering 22(2):281–286.
7. Jeon B., Yoon J., Um J. M., Suh S.. 2020;The architecture development of industry 4.0 compliant smart machine tool system (SMTS). Journal of Intelligent Manufacturing 31:1837–1859.
8. IEC 62541-1:2020. 2020. OPC unified architecture - Part 1: Overview and concepts
9. MTConnect Institute. 2021. MTConnect® standard part 1.0 - Overview and fundamentals version 1.8.0
10. Chang C.. 2018;Communication standard solution for IIoT – OPC UA. Instrumentation Technology 2:100–105. http://procon.co.kr/pdf/2018%202/1-3.pdf .
11. Shin S.. 2022. OPC UA technology. Parkyoungsa
12. Fanuc Corporation. OPC server https://www.fanuc.eu/ro/en/cnc/connectivity/opc-server .
14. Nam S., Choi J.. 2021. OPC UA-based modeling for digital transformation of processing machines. In : Proceedings of Korean Society Manufacturing. Technology Engineering Autumn Conference. p. 399.
15. Yu H., Park Y.. 2021;Design and implementation of IIoT edge device for collecting heterogeneous machine data. Journal of Internet Electronic Commerce Research 21(1):23–32.
16. Yoon J.. 2022;Development of an integrated operation management system for multi-vendors’ CNC machine tools based on standardized interfaces to support smart manufacturing. Journal of Korean Society Manufacturing Technology Engineering 31(3):169–176.
17. Liu C., Vengayil H., Lu Y., Xu X.. 2019;Cyber-physical machine tools platform using OPC UA and MTConnect. Journal of Manufacturing Systems 51:61–74.
18. TORUS. HMI platform product http://www.torus.co.kr/product02.html.php .


Joo-Sung Yoon received the Ph.D. degree in Industrial Engineering from POSTECH. He worked at Korea Institute of Industrial Technology, until June 2020. He is currently Assistant Professor in the School of Mechanical Engineering, Kyungnam University. His current research topics are smart machine tool system and intelligent HMI of CNC.

Yeong-Deuk Kim is a Researcher with the Digital Transformation R&D Department, Korea Institute of Industrial Technology.

Jaehak Lee received the Ph.D. degree in Mechanical Engineering from KAIST. He worked at Samsung Electronics, until December 2018. He is currently a Senior Researcher with the Digital Transformation R&D Department, Korea Institute of Industrial Technology. His current research topics are process evaluation and optimization of the machining process and energy monitoring of the machine tool.

Dong Yoon Lee received the Ph.D. degree in Mechanical Engineering from KAIST. He worked at Samsung Corning Precision Glass, until June 2006. He is currently a Principal Researcher with the Digital Transformation R&D Department, Korea Institute of Industrial Technology. His current research topics are in-process monitoring/control via CNC communication and sensors, virtual machining, and process optimization.

Article information Continued

Fig. 1

OPC UA-based system architecture

Fig. 2

Dynamic node creation for OPC UA based on TORUS

Fig. 3

Example of dynamic node creation from a general OPC UA client (UaExpert®)

Fig. 4

Testbed development environment

Fig. 5

Machining cell monitoring dashboard

Table 1

OPC UA nodes for machine tools (selected examples)

Node ID Data type Explanation
data://machine/channel/axis/machinePosition?machine=1&channel=1&axis=1 Double Axis (index 1, X) machine position
data://machine/channel/axis/workPosition?machine=1&channel=1&axis=1–3 Double Axis (index 1~3, XYZ) work position
data://machine/channel/spindle/rpm/actualSpeed?machine=1&channel=1&spindle=1 Double Current actual spindle speed
data://machine/channel/feed/feedRate/actualSpeed?machine=1&channel=1 Double Current actual feedrate
data://machine/channel/currentProgram/currentBlock?machine=1&channel=1 String Current program block text
data://machine/channel/currentProgram/currentBlock?machine=1&channel=1 Int32 Current active tool number
data://machine/channel/currentProgram/currentFile/programName?machine=1&channel=1 String Current program name

Table 2

OPC UA nodes for industrial robot’s movement (selected examples)

Node ID Data type Explanations
Joint Position Double Array (1×6) Angles of Axis 1~6
Point Position Double Array (1×6) Cartesian Coordinates (X, Y, Z, I, J, K)
Torque Double Array (1×6) Torque applied to Axis 1~6
Speed Int32 Current robot speed (Relative value)

Table 3

OPC UA nodes for industrial robot’s inner state (selected examples)

Node ID Data type Explanations
cpu temp Int32 Temperature of Controller CPU
encoder temp 1 Double Temperature of Motor Encoder in Robot Arm#1
motorProbe temp 1 Double Temperature of Motor Probe in Robot Arm#1
motorWinding temp 1 Double Temperature of Motor Winding in Robot Arm#1
driveCase temp 1 Double Temperature of Drivecase in Robot Arm#1
operationCounter Ulnt32 Number of Executed Robot Program