Conversion device, relay device, control device, and control system

The system addresses the inflexibility of relay devices by automating programming language and link settings, enabling easy customization and integration of industrial machinery through customizable nodes and processes, enhancing operational flexibility.

WO2025009169A9PCT designated stage expired Publication Date: 2025-11-06FANUC LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2023/025181
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-07-06
Publication Date
2025-11-06

AI Technical Summary

Technical Problem

Existing relay devices lack flexibility and versatility in customization, requiring advanced server and embedded software skills that are beyond the capabilities of workers at manufacturing sites, leading to difficulties in expanding their functionality to meet operational needs.

Method used

A system that automatically converts programming language, library handling, and inter-program link settings, allowing for customizable node and process management, including an information reading unit, model conversion unit, program conversion unit, and output unit, to create and output model and program information for relay devices.

Benefits of technology

Enables operators without advanced technical skills to easily expand relay device functions by creating nodes and source code based on industrial machine knowledge, facilitating seamless integration and data management across diverse industrial machinery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2023025181_06112025_PF_FP_ABST
    Figure JP2023025181_06112025_PF_FP_ABST
Patent Text Reader

Abstract

A control system according to the present disclosure comprises: a conversion device provided with a model conversion unit that, from model node information composed of one or more nodes and linking information for said nodes, creates model information composed of one or more nodes and linking information for said nodes, and a program conversion unit that, from a source code including a process associated with the node by one or more pieces of linking information, and said linking information, creates program information including the process associated with the node by the one or more pieces of linking information, and said linking information; and a relay device provided with a data process execution unit that executes a prescribed process on the basis of the model information and the program information.
Need to check novelty before this filing date? Find Prior Art

Description

Conversion device, relay device, control device, and control system

[0001] The present disclosure relates to a conversion device, a relay device, a control device, and a control system.

[0002] A wide variety of industrial machines are in operation at manufacturing sites such as factories. The multiple industrial machines at the manufacturing site and multiple computers, such as monitoring devices, production planning devices, and management devices, are connected via a network. Operators manage and coordinate each industrial machine, and collect data related to its operation. To accomplish this management, coordination, and data collection, they operate computers to access each industrial machine via the network.

[0003] The interface for accessing industrial machinery may differ depending on the manufacturer, type, model year, etc. of the industrial machinery. To accommodate these differences in interfaces, a server or the like may be provided as a relay device (see, for example, Patent Document 1). The relay device has the function of accessing the different interfaces provided by each industrial machine. It also provides a general-purpose interface to other computers. Other computers can easily access various industrial machines by accessing the general-purpose interface provided by the relay device.

[0004] JP 2017-084143 A

[0005] Some relay devices include a correspondence table that associates a general-purpose interface with the interface of each industrial machine. Such relay devices often have limited customizability for processing and lack versatility. Other relay devices, for example, create data and processing through hard coding. Customization of such relay devices requires improvements at the hard coding level. This requires advanced server technology and advanced embedded software technology. However, workers at manufacturing sites lack these skills and find it difficult to implement. Therefore, there is a need for technology that allows relay devices to be expanded more flexibly and easily to meet the tasks required by workers.

[0006] The system disclosed herein allows customization of only the nodes and the processes related to those nodes, and solves the above-mentioned problems by automatically converting the programming language, library handling, and inter-program link settings within the system.

[0007] One aspect of the present disclosure is a conversion device including: an information reading unit that reads model node information consisting of one or more nodes and linking information for the nodes, a process associated with the node by the one or more pieces of linking information, and source code including the linking information; a model conversion unit that creates model information consisting of one or more nodes and linking information for the nodes based on the model node information; a program conversion unit that creates program information including the process associated with the node by the one or more pieces of linking information and the linking information based on the source code; and an output unit that outputs the model information and the program information; and a relay device including a model information setting unit for setting model information, a model information storage unit for storing the model information set by the model information setting unit, a program information setting unit for setting the program information created by the conversion device, a program information storage unit for storing the program information set by the program information setting unit, a first communication unit for communicating with industrial machinery, a second communication unit for communicating with devices other than the industrial machinery, and a data processing execution unit for executing predetermined processing including communication processing via the first communication unit and communication processing via the second communication unit based on the model information and the program information.

[0008] FIG. 1 is a hardware configuration diagram of each device constituting the control system according to the first embodiment. FIG. 2 is a block diagram showing functions provided in each device constituting the control system according to the first embodiment. FIG. 3 is a schematic diagram illustrating a structure of model node information. FIG. 4 is a schematic diagram showing an example of an integrated development environment GUI. FIG. 5 is a schematic diagram showing an example of model information.

[0009]

[0023] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. [First Embodiment] Fig. 1 is a schematic hardware configuration diagram showing the main parts of each device constituting a control system according to a first embodiment of the present disclosure. The control system 1 of the present disclosure is configured by connecting a conversion device 10 configured on a computer and a relay device 30 that provides a general-purpose interface for accessing industrial machines 3 via a wired / wireless network 5.

[0010] The CPU 11 provided in the conversion device 10 according to this embodiment is a processor that controls the entire conversion device 10. The CPU 11 reads a system program stored in the ROM 12 via the bus 19 and controls the entire conversion device 10 in accordance with the system program. The RAM 13 temporarily stores temporary calculation data, display data, and various data input from outside.

[0011] The nonvolatile memory 14 is composed of, for example, a battery-backed memory (not shown) or an SSD (Solid State Drive), and retains its stored state even when the power to the conversion device 10 is turned off. The nonvolatile memory 14 stores programs and data read from an external device 22 via the interface 15, programs and data input via the input device 21, etc. The data stored in the nonvolatile memory 14 may be expanded into the RAM 13 during execution / use. In addition, various system programs such as known analysis programs are written in the ROM 12 in advance.

[0012] The interface 15 is an interface for connecting the CPU 11 of the conversion device 10 to an external device 22 such as a USB device. For example, pre-stored programs and data can be read from the external device 22. Furthermore, programs and data edited within the conversion device 10 can be stored in external storage means via the external device 22.

[0013] The interface 18 is an interface for connecting the CPU 11 of the conversion device 10 to a wired or wireless network 5. In addition to the relay device 30, the network 5 is connected to the industrial machines 3, the fog computers 6, the cloud servers 7, and the like, and exchanges data with the conversion device 10.

[0014] The display device 20 displays various data loaded into memory, data obtained as a result of executing programs, etc., output via the interface 16. An input device 21, which is comprised of a keyboard, pointing device, etc., passes instructions and data based on operations by an operator to the CPU 11 via the interface 17.

[0015] On the other hand, the CPU 31 provided in the relay device 30 is a processor that controls the entire relay device 30. The CPU 31 reads a system program stored in the ROM 32 via the bus 39 and controls the entire relay device 30 in accordance with the system program. The RAM 33 temporarily stores temporary calculation data, display data, various data input from outside, and the like.

[0016] The non-volatile memory 34 is configured, for example, by a battery-backed memory (not shown) or an SSD (Solid State Drive), and maintains its stored state even when the power to the relay device 30 is turned off. The non-volatile memory 34 stores programs and data read from an external device 42 via the interface 35, programs and data input via the input device 41, and the like. The data stored in the non-volatile memory 34 may be expanded into the RAM 33 during execution / use. In addition, various system programs such as known server programs are written in the ROM 32 in advance.

[0017] The interface 35 is an interface for connecting the CPU 31 of the relay device 30 to an external device 42 such as a USB device. For example, pre-stored programs and data can be read from the external device 42. Furthermore, programs and data edited within the relay device 30 can be stored in external storage means via the external device 42.

[0018] The interface 38 is an interface for connecting the CPU 31 of the relay device 30 to the wired or wireless network 5. In addition to the conversion device 10, the industrial machine 3, the fog computer 6, the cloud server 7, and the like are connected to the network 5, and data is exchanged between the network 5 and the relay device 30.

[0019] The display device 40 displays various data loaded into the memory, data obtained as a result of executing programs, etc., output via the interface 36. An input device 41, which is comprised of a keyboard, pointing device, etc., passes instructions, data, etc., based on operations by an operator to the CPU 31 via the interface 37.

[0020] The industrial machine 3 is a machine such as a machine tool, injection molding machine, or robot. The industrial machine 3 is controlled by a control device 4. The relay device 30 acquires, from the control device 4 via the network 5 and the interface 38, values ​​such as predetermined command values ​​and signal values ​​related to the industrial machine 3, predetermined physical quantities detected by sensors (not shown), program numbers of control programs currently being executed, and tool numbers of tools currently being used. The acquired predetermined data is stored in the RAM 33 through the nonvolatile memory 34 and processed by the CPU 31.

[0021] 2 is a schematic block diagram illustrating functions of each device constituting the control system 1 according to the first embodiment of the present disclosure. The functions of each device according to this embodiment are realized by the CPU 11 of the conversion device 10 and the CPU 31 of the relay device 30 shown in FIG. 1 executing system programs and controlling the operation of each part of the conversion device 10 and the relay device 30.

[0022] The conversion device 10 constituting the control system 1 according to this embodiment includes an information reading unit 100, a model conversion unit 110, a program conversion unit 120, and an output unit 130.

[0023] The information reading unit 100 reads model node information and source code. The model node information describes the definition of one or more nodes handled by the relay device 30. A node indicates a specific configuration related to the industrial machine 3 as an abstract concept, and is an information unit related to the industrial machine 3. For example, a specific drive unit, operation unit, signal, sensor, control program currently being executed, tool currently being used, etc. related to the industrial machine 3 may be defined as a node. The model node information defines the relationship between multiple nodes related to the industrial machine 3. This relationship between the nodes may have a hierarchical structure. For example, a machining center node is a parent node of each system node provided in the machining center.

[0024] The node definition may include data related to a predetermined configuration of the industrial machine 3. For example, the node definition related to a predetermined system of the industrial machine 3 includes, as a variable, data related to a signal handled in that system. This variable is used for reading the value of the signal, etc. The node definition may also include an operation related to a predetermined configuration of the industrial machine 3. For example, the node definition related to a predetermined system of the industrial machine 3 includes, as a process, an operation for controlling the override of that system. This process is used to change the rotation speed of a motor belonging to that system. The node definition may include, for example, predetermined data managed in the relay device 30 as a variable. It may also include a predetermined process executed in the relay device 30. Such a node is used for reading or setting the value of data managed on the relay device 30, etc.

[0025] FIG. 3 is a schematic diagram showing the structure of model node information. The model node information includes a definition of at least one node. The node definition includes the node name of the node. The node definition also includes a node ID that can uniquely identify the node. The node definition may also include at least one of the variable name included in the node and the process name included in the node. The node definition may also include a reference to another node. The reference to another node defines the dependency relationship between the nodes. The reference to another node is information used to uniquely identify the referenced node. The reference to another node may be, for example, uniquely identifiable identification information. While the above example uses identification information to describe the relationship between nodes, this is merely an example and the method for describing the relationship between nodes is not limited to this. For example, a general graph structure description method such as a hierarchical structure can also be used. In addition, the model node information may include information related to the type and model number of the machine. The node also includes linking information. The linking information corresponds to the variables included in the node and is used to associate the variables within the node included in the source code. The node definition may include definitions related to the read cycle and read conditions of each variable. The node definition may also include definitions related to the execution cycle and execution conditions of each process. Furthermore, the node definition may define whether each variable is read synchronously or asynchronously with access from a device other than the industrial machine 3. If a variable is defined to be read synchronously, the value of data related to the variable is read from the industrial machine 3 at the timing when a read request for the variable is made from a device other than the industrial machine 3. On the other hand, if a variable is defined to be read asynchronously, data related to the variable from the industrial machine 3 is read, for example, periodically and stored in the relay device 30. Then, when a read request for the variable is made from a device other than the industrial machine 3, the value stored in the relay device 30 is returned as a response. The model node information may be written in, for example, a predetermined format such as TXT, XML, JSON, or YAML.

[0026] On the other hand, source code is program code that defines processing related to the variables of each node defined in the model node information. Each processing in the source code may or may not be linked to a node. When linked to a node, it can be called like a node method, while not linking to a node is suitable for describing processing that is highly independent from the node. The source code includes linking information related to the node variables used in the processing. The node variables included in the source code are associated with the node variables included in the model node information by the linking information. The variable definitions included in the source code define processing related to referencing and setting a specified variable in the relay device 30. For example, the definition of referencing the value of a variable related to a specified signal defines processing to read the value of that signal in the industrial machine 3. Furthermore, the processing definitions included in the source code define processing to be executed in the relay device 30. For example, the processing to change the rotational speed in a node related to a cutting feed override dial provided on the operation panel of the industrial machine 3 defines processing to instruct the relay device 30 to change the cutting feed override to the industrial machine 3. The source code may be written in a format familiar to the worker, such as mruby, Lua, MicroPython, Java, or JavaScript.

[0027] The information reading unit 100 may provide a GUI of an integrated development environment for reading model node information and source code. FIG. 4 is a schematic diagram illustrating an example of a GUI of an integrated development environment provided by the information reading unit 100. In the example of FIG. 4, the integrated development environment GUI 200 is provided with a machine selection field 201 and a node selection field 202. In the machine selection field 201, for example, the type and model number of the machine can be selected. When a specific machine is selected by operating the machine selection field 201, the nodes defined for the selected machine are displayed in the node selection field 202. These nodes can be added / deleted as desired for each machine by performing a specific operation.

[0028] The node selection field 202 displays variable names and process names defined for each node. These variable names and process names can be arbitrarily added or deleted for each node by performing a predetermined operation. Then, by selecting a variable name or process name in the node selection field 202, a variable process setting field 203 is displayed. The variable process setting field 203 includes a linking information setting field 204, a read setting field 205, and a write setting field 206. In the linking information setting field 204, linking information can be set for at least the selected variable or process. The information reading unit 100 may automatically set the linking information related to the variable and process as a value different from the linking information of other data. The variable process setting field 203 may include fields for setting the type and initial value of the variable, etc. It may also include fields for setting other values ​​required for setting the variable. The read setting field 205 includes a field for specifying source code describing a process for reading the value of the selected variable from the industrial machine 3. The write setting field 206 also includes a field for specifying source code describing a process for writing the value of a selected variable to the industrial machine 3. The source code may be set, for example, by selecting a file in which the source code is written. The read setting field 205 and the write setting field 206 may include fields for specifying a function or procedure included in the source code to be called when reading or writing a variable. The read setting field 205 and the write setting field 206 may also include fields for individually specifying, for each variable, whether reading or writing of the variable from a device other than the industrial machine 3 should be performed synchronously or asynchronously with the access. If the reading or writing is performed synchronously, the instantaneous load on the industrial machine 3 increases, so the load on the industrial machine 3 can be stabilized by setting variables that do not require synchronous reading or writing to asynchronous.

[0029] The information reading unit 100 reads information related to the node set via the integrated development environment GUI 200 in this way as model node information, and reads the source code associated with the node's variables. The information reading unit 100 outputs the read model node information to the model conversion unit 110. The information reading unit 100 also outputs the read source code to the program conversion unit 120. Note that the information reading unit 100 may read the model node information and the source code by other means, such as directly specifying a file related to the model node information or a file related to the source code from a command line interface.

[0030] [Correction based on Rule 91, 25.08.2025] The model conversion unit 110 creates model information consisting of at least one node based on the model node information read by the information reading unit 100. The model information defines the object of access to variables and processes defined in each node from devices other than the industrial machine 3. For example, if a variable is defined in a specific node, access to the variable is an access for reading the value of the variable. Also, for example, if a specific process related to the industrial machine 3 is defined in a specific node, access to the process is an access for executing the specific process related to the industrial machine 3. The model conversion unit 110 converts the model node information including the node definition into model information in a specific format that can be set for the relay device 30. Figure 5 is a schematic diagram illustrating an example of model information created by the model conversion unit 110. For example, if the relay device 30 is a publicly known OPC UA (Open Platform Communications Unified Architecture) server, the model conversion unit 110 creates model information in the publicly known UANodeSet2 format. This conversion can be performed using publicly known tools. The model conversion unit 110 may incorporate necessary external libraries and configuration files when converting the model node information. For example, if the relay device 30 is a publicly known OPC UA server, a publicly known library such as a companion specification can be used. The model information may include information related to an access method, such as accessing a specified variable at a specified interval or executing processing when a specified condition is met. The model information may include information related to the type and model number of the machine. The model information may also include a reference to program information related to the node included in the model information. The model conversion unit 110 outputs the created model information to the output unit 130.

[0031] The program conversion unit 120 creates program information including processes associated with variables based on the source code read by the information reading unit 100. The program information includes linking information related to variables used in the processes. The processes associated with variables are associated with the variables through the linking information. The program information is code executable on the relay device 30. The executable code may be in the form of, for example, an executable file, a dynamic link library, intermediate code, or a script. The program conversion unit 120 creates the program information by converting the source code using a tool such as a compiler. The program conversion unit 120 may select an appropriate tool depending on the selected source code format and the format of the executable code to be created. The program conversion unit 120 may incorporate necessary external libraries and setting files when converting the source code. These libraries and setting files may include, for example, libraries related to the relay device 30, machine access libraries provided by the manufacturer of the industrial machine 3, and utility libraries for programming languages. The program conversion unit 120 outputs the created program information to the output unit 130.

[0032] The output unit 130 outputs the model information created by the model conversion unit 110 and the program information created by the program conversion unit 120. The output unit 130 may output the model information and the program information to, for example, the external device 22. The output unit 130 may also output the model information and the program information to the relay device 30 via the network 5.

[0033] Meanwhile, the relay device 30 constituting the control system 1 according to this embodiment includes a model information setting unit 300, a program information setting unit 320, a first communication unit 340, a second communication unit 350, and a data processing execution unit 360. Also, on the RAM 33 to the nonvolatile memory 34 of the relay device 30, a model information storage unit 310 which is an area for storing model information set by the model information setting unit 300, a program information storage unit 330 which is an area for storing program information set by the program information setting unit 320, and a processing data storage unit 370 which is an area for storing data obtained as a result of processing by the data processing execution unit 360 are provided in advance.

[0034] The model information setting unit 300 sets the model information created by the conversion device 10. The model information setting unit 300 may read the model information from the external device 42 based on an operator's operation via an HMI (Human Machine Interface), for example. The model information setting unit 300 may also receive the model information from the conversion device 10 via the network 5. When the model information is input, the model information setting unit 300 stores the input model information in the model information storage unit 310. Furthermore, the model information setting unit 300 sets the stored model information to be used when accessing a specific machine based on information related to the type and model number of the machine included in the model information.

[0035] The program information setting unit 320 sets the program information created by the conversion device 10. The program information setting unit 320 may read the program information from the external device 42 based on, for example, an operation by an operator. The program information setting unit 320 may also receive the program information from the conversion device 10 via the network 5. When the program information is input, the program information setting unit 320 stores the input program information in the program information storage unit 330.

[0036] The first communication unit 340 communicates with the industrial machine 3. Based on an instruction from the data processing execution unit 360, the first communication unit 340 transmits a request in response to the instruction to the industrial machine 3 designated as the communication target. The first communication unit 340 then outputs a response from the industrial machine 3 to the transmitted request to the data processing execution unit 360.

[0037] The second communication unit 350 communicates with devices other than the industrial machine 3, such as the fog computer 6 and the cloud server 7. The second communication unit 350 receives requests transmitted from devices other than the industrial machine 3. The second communication unit 350 then outputs the received requests to the data processing execution unit 360. When a response to the request is input from the data processing execution unit 360, the second communication unit 350 transmits the response to the device that sent the request. The second communication unit 350 communicates with devices in accordance with a communication standard such as OPC UA or MTConnect.

[0038] The data processing execution unit 360 executes predetermined processing based on the model information stored in the model information storage unit 310 and the program information stored in the program information storage unit. The request related to the industrial machine 3 includes a request to access data of the industrial machine 3. When a request related to the industrial machine 3 is input from the second communication unit 350, the data processing execution unit 360 refers to the model information storage unit 310 and reads model information related to access to data included in the request. Next, the data processing execution unit 360 reads, from the program information storage unit 330, program information for executing processing related to access to the data based on the read model information. Then, the data processing execution unit 360 executes processing related to the read program information.

[0039] The processing related to the program information includes, for example, communication processing for the industrial machine 3 provided by a library or the like. When communicating with the industrial machine 3, the data processing execution unit 360 outputs a request to the first communication unit 340 through execution of the library. Access to specified data in the industrial machine 3 is via synchronous communication or asynchronous communication. In the case of synchronous communication, the data processing execution unit 360 acquires a data value from the industrial machine 3 via the first communication unit 340 when a request related to the industrial machine 3 is made. The acquired data value is then used as a response. On the other hand, in the case of asynchronous communication, data is acquired from the industrial machine 3 at a predetermined cycle and stored in the memory of the relay device 30. Then, when a request related to the industrial machine 3 is made, the data value stored in the memory is used as a response without accessing the industrial machine 3.

[0040] The processing related to the program information may include, for example, access processing for multiple data items. It may also include predetermined calculation processing using data values. The processing related to the program information may include processing for accessing data using an access method defined in the model information. This may be, for example, processing for obtaining a value of a predetermined variable from the industrial machine 3 at a predetermined cycle defined in the model information and responding to a requesting device. It may also be processing for executing processing when a predetermined condition defined in the model information is met. The processing related to the program information may include storing the results of predetermined processing in the processing data storage unit 370. For example, it may be storing the values ​​of predetermined variables obtained from the industrial machine 3 or the results of calculating those values ​​in the processing data storage unit 370. The processing related to the program information may also include processing for assigning a predetermined node to the processing data storage unit 370 and making it accessible from outside. The processing related to the program information may include processing for creating a response to the requesting device. The data processing execution unit 360 outputs the created response to the second communication unit 350.

[0041] The control system 1 according to this embodiment, which has the above-described configuration, makes it possible for even an operator who is unfamiliar with the specifications of the OPC UA server, etc., to easily expand the functions of the relay device 30 simply by creating a minimum number of nodes and source code using those nodes based on knowledge of the industrial machine 3 and the target operation content.

[0042] [Other Embodiments] In the above-described embodiment, an example was shown in which the relay device 30 was implemented on a computer connected to the conversion device 10 and the control device 4 of the industrial machine 3 via the network 5. However, the relay device 30 may also be implemented on, for example, the control device 4 of the industrial machine 3. In such a configuration, the relay device 30 executes data processing related to the industrial machine 3 that is the control target in response to a request transmitted from another device. Then, it transmits a response to the device that transmitted the request. Even in such a configuration, the relay device 30 may be configured to perform data processing related to industrial machines 3 other than the industrial machine 3 that is the control target.

[0043] Although the embodiments of the present disclosure have been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the invention or the idea and intent of the present disclosure derived from the content described in the claims and their equivalents. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0044] The following are supplementary notes related to embodiments of the present disclosure. (Supplementary Note 1) A conversion device (10) according to one aspect of the present disclosure includes an information reading unit (100) that reads model node information configured with one or more nodes and linking information for the nodes, processes associated with the nodes by the one or more pieces of linking information, and source code including the linking information, a model conversion unit (110) that creates model information configured with one or more nodes and the linking information for the nodes based on the model node information, a program conversion unit (120) that creates program information including processes associated with the nodes by the one or more pieces of linking information and the linking information based on the source code, and an output unit (130) that outputs the model information and the program information.

[0045] (Supplementary Note 2) The model conversion unit (110) included in the conversion device (10) according to another aspect of the present disclosure creates the model information using a predetermined library. (Supplementary Note 3) The program conversion unit (120) included in the conversion device (10) according to another aspect of the present disclosure creates the program information using a predetermined library. (Supplementary Note 4) In the conversion device (10) according to another aspect of the present disclosure, the model node information is defined to include at least one of XML format, JSON format, and YAML format. (Supplementary Note 5) In the conversion device (10) according to another aspect of the present disclosure, the programming language of the source code includes any of mruby, Lua, MicroPython, Java, and JavaScript.

[0046] (Supplementary Note 6) A relay device (30) according to one aspect of the present disclosure includes a model information setting unit (300) for setting the model information created by the conversion device (10), a model information storage unit (310) for storing the model information set by the model information setting unit (300), a program information setting unit (320) for setting the program information created by the conversion device (10), a program information storage unit (330) for storing the program information set by the program information setting unit (320), a first communication unit (340) for communicating with an industrial machine (3), a second communication unit (350) for communicating with a device other than the industrial machine (3), and a data processing execution unit (360) for executing predetermined processing including communication processing via the first communication unit (340) and communication processing via the second communication unit (350) based on the model information and the program information.

[0047] (Supplementary Note 7) The predetermined processing executed by the data processing execution unit (360) included in the relay device (30) according to another aspect of the present disclosure is to periodically execute processing related to the nodes included in the model information based on the settings of the model information. (Supplementary Note 8) The predetermined processing executed by the data processing execution unit (360) included in the relay device (30) according to another aspect of the present disclosure is to execute processing when a predetermined condition is met in the industrial machine (3) based on the settings of the model information. (Supplementary Note 9) The predetermined processing executed by the data processing execution unit (360) included in the relay device (30) according to another aspect of the present disclosure includes both periodically executing processing related to the nodes included in the model information based on the settings of the model information and executing processing when a predetermined condition is met in the industrial machine (3). (Supplementary Note 10) The predetermined processing executed by the data processing execution unit (360) included in the relay device (30) according to another aspect of the present disclosure is to store a value obtained as a result of the predetermined processing. (Supplementary Note 11) The predetermined process executed by the data processing execution unit (360) included in the relay device (30) according to another aspect of the present disclosure is to assign a node to the stored value.

[0048] (Supplementary Note 12) The second communication unit (350) included in the relay device (30) according to another aspect of the present disclosure performs communication in accordance with the OPC UA or MTConnect communication standard.

[0049] (Supplementary Note 13) A control device (4) according to one aspect of the present disclosure is a control device (4) that controls the industrial machine (3), and includes the relay device (30). (Supplementary Note 14) A system (1) according to one aspect of the present disclosure includes the conversion device (10) and the relay device (30). (Supplementary Note 15) A system (1) according to another aspect of the present disclosure includes the conversion device (10) and the control device (4).

[0050] REFERENCE SIGNS LIST 1 Control system 3 Industrial machine 4 Control device 5 Network 6 Fog computer 7 Cloud server 10 Conversion device 11 CPU 12 ROM 13 RAM 14 Non-volatile memory 15 to 18 Interface 19 Bus 20 Display device 21 Input device 22 External device 30 Relay device 31 CPU 32 ROM 33 RAM 34 Non-volatile memory 35 to 38 Interface 39 Bus 40 Display device 41 Input device 42 External device 100 Information reading unit 110 Model conversion unit 120 Program conversion unit 130 Output unit 300 Model information setting unit 310 Model information storage unit 320 Program information setting unit 330 Program information storage unit 340 First communication unit 350 Second communication unit 360 Data processing execution unit 370 Processing data storage unit

Claims

1. A conversion device comprising: an information reading unit that reads model node information consisting of one or more nodes and linking information for the nodes, a process associated with the node by one or more pieces of linking information, and source code including the linking information; a model conversion unit that creates model information consisting of one or more nodes and linking information for the nodes based on the model node information; a program conversion unit that creates program information including the process associated with the node by one or more pieces of linking information and the linking information based on the source code; and an output unit that outputs the model information and program information.

2. The conversion device according to claim 1, wherein the model conversion unit creates the model information using a predetermined library.

3. The conversion device according to claim 1, wherein the program conversion unit creates the program information using a predetermined library.

4. The conversion device according to claim 1, wherein the model node information is defined in at least one of an XML format, a JSON format, and a YAML format.

5. The conversion device according to claim 1, wherein the programming language of the source code includes any one of mruby, Lua, MicroPython, Java, and JavaScript.

6. A relay device comprising: a model information setting unit for setting the model information created by the conversion device described in claim 1; a model information storage unit for storing the model information set by the model information setting unit; a program information setting unit for setting the program information created by the conversion device; a program information storage unit for storing the program information set by the program information setting unit; a first communication unit for communicating with industrial machinery; a second communication unit for communicating with devices other than the industrial machinery; and a data processing execution unit for executing predetermined processing including communication processing via the first communication unit and communication processing via the second communication unit based on the model information and the program information.

7. The relay device according to claim 6, wherein the predetermined processing executed by the data processing execution unit is processing related to the nodes included in the model information, periodically executed based on the settings of the model information.

8. The relay device according to claim 6, wherein the predetermined processing executed by the data processing execution unit is a processing executed when a predetermined condition is met in the industrial machine based on the setting of the model information.

9. The relay device according to claim 6, wherein the predetermined processing executed by the data processing execution unit includes both periodically executing processing related to nodes included in the model information based on the settings of the model information, and executing processing when predetermined conditions are met in the industrial machine.

10. The relay device according to claim 6, wherein the predetermined processing executed by the data processing execution unit is to store a value obtained as a result of the predetermined processing.

11. The relay device according to claim 10, wherein the predetermined process executed by the data processing execution unit is to assign a node to the stored value.

12. The relay device according to claim 6, wherein the second communication unit performs communication in accordance with the OPC UA or MTConnect communication standard.

13. A control device for controlling the industrial machine, comprising the relay device according to claim 6.

14. A system comprising: a conversion device according to claim 1; and a relay device according to claim 6.

15. A system comprising a conversion device according to claim 1 and a control device according to claim 13.