Production system, cell controller, control method, and program

The production system with a cell controller efficiently manages product-dependent data to adapt to variable production demands, reducing engineering efforts and downtime, enhancing production efficiency.

WO2026083959A1PCT designated stage Publication Date: 2026-04-23YASKAWA DENKI KK
View PDF 7 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
YASKAWA DENKI KK
Filing Date
2025-10-14
Publication Date
2026-04-23

AI Technical Summary

Technical Problem

Conventional production automation systems are inefficient for variable-mix, variable-volume production due to the need for extensive engineering and manual intervention in product changes, leading to significant setup changes and production disruptions.

Method used

A production system utilizing a cell controller that manages product-dependent data (processing instruction data and execution order data) and communicates with device controllers, allowing flexible and efficient production by defining data rather than programs, reducing the need for manual adjustments and minimizing production downtime.

Benefits of technology

Enables rapid adaptation to product changes and additions, reducing man-hours and start-up time, thereby increasing production efficiency and minimizing disruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025036180_23042026_PF_FP_ABST
    Figure JP2025036180_23042026_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a production system in which a plurality of industrial devices, including a robot, cooperate to produce one or more products, the production system comprising a plurality of device controllers that respectively control the plurality of industrial devices, and a cell controller that can communicate with the plurality of device controllers and controls the production system. Each of the plurality of device controllers has a task program storage unit that stores a task program for causing the industrial device that is a controlled object of the device controller to execute a task that is a unit of specific processing performed on the product when producing the product. The cell controller has: a management unit that stores, for each type of the products and for each task, processing instruction data including parameters that vary depending on each type of the products and are used when the device controller causes the industrial device to execute the task; an intermediation program storage unit that stores, for each of the plurality of device controllers, an instruction intermediation program for converting the processing instruction data into a format interpretable by the device controller and transmitting the converted data to the device controller; and a cell control unit that transmits the processing instruction data corresponding to the type of a product to be produced and a task to be executed on the product to the device controller that causes the industrial device to execute the task, using the instruction intermediation program stored in the intermediation program storage unit corresponding to the device controller. Each of the plurality of device controllers has a device control unit that controls the industrial device as the controlled object to execute the task on the basis of the processing instruction data received from the cell controller and the task program of the task corresponding to the processing instruction data.
Need to check novelty before this filing date? Find Prior Art

Description

Production system, cell controller, control method, and program

[0001] [Cross-references to related applications] This application claims priority to U.S. Provisional Patent Application No. 63 / 707,171, filed on 14 October 2024, and International Application PCT / JP2025 / 020,814, filed on 9 June 2025. International Application PCT / JP2025 / 020,814, in turn, claims priority to U.S. Provisional Patent Application No. 63 / 707,171. In designated countries where incorporation by reference is permitted, these are incorporated herein by reference in their entirety. This application relates to the following U.S. Provisional and International applications. In the United States, this application is a continuation of the following U.S. Provisional and International applications: 1. U.S. Provisional Patent Application No. 63 / 707,171, Filing Date: 14 October 2024 2. International application no. PCT / JP2025 / 020,814, filing date: June 9, 2025

[0002] This invention relates to a production system, a cell controller, a control method, and a program.

[0003] Patent Document 1 and Patent Document 2 describe a production system comprising "a process including a plurality of tasks for a workpiece, a command output unit that outputs a next-task execution command based on the process and the progress information of the process, an environment information storage unit that stores environment information, a robot controller that causes the robot to execute the next task based on the execution command output from the command output unit and the environment information of the environment information storage unit, and an environment update unit that updates the environment information of the environment information storage unit according to the operation of the robot". Patent Document 3 describes a cell control device including "a sensor management unit that integrates and manages information from sensors, a workpiece management unit that monitors at least one of the amount of movement and the amount of state of the workpiece included in the information from the sensors, and a work management unit that selects a workpiece to be worked based on at least one of the amount of movement and the amount of state of the workpiece and a work request from a machine control device and transmits information on the workpiece to be worked to the machine control device". Patent Document 4 describes a production cell comprising "a plurality of work execution elements that execute work and an information processing device that is connected to each work execution element by communication means and commands the work, wherein the information processing device outputs a command composed of a set of work units with an execution order to each work execution element, each work execution element stores an operation program for executing one or more work units respectively, and based on the set of work units with an execution order output from the information processing device, executes the operation program in the execution order to perform the work". [Prior Art Documents] [Patent Documents] [Patent Document 1] Japanese Patent No. 7494155 [Patent Document 2] Japanese Patent No. 6951523 [Patent Document 3] Japanese Unexamined Patent Application Publication No. 2017 - 134661 [Patent Document 4] Japanese Unexamined Patent Application Publication No. 2004 - 185228 General Disclosure

[0004] According to one embodiment of the present invention, a production system is provided. The production system may include a plurality of industrial devices, including robots, which cooperate to produce one or more products. The production system may include a plurality of device controllers that control each of the plurality of industrial devices. The production system may include a cell controller that can communicate with the plurality of device controllers and controls the production system. Each of the plurality of device controllers may have a task program storage unit that stores a task program that causes the industrial device, which is the control target, to execute a task, which is a unit that performs a specific process on the product in order to produce the product. The cell controller may have a management unit that stores processing instruction data for each type of product and for each task, which differs for each type of product and includes parameters that the device controller uses when causing the industrial device to execute the task. The cell controller may have an intermediary program storage unit that stores an instruction intermediary program for each of the plurality of device controllers to convert the processing instruction data into a format that the device controller can interpret and transmit it to the device controller. The cell controller may have a cell control unit that transmits the processing instruction data corresponding to the type of product to be produced and the task to be performed on the product to the device controller that causes the industrial device to execute the task, using the instruction mediation program corresponding to the device controller stored in the mediation program storage unit. Each of the plurality of device controllers may have a device control unit that controls the industrial device to be controlled in order to execute the task based on the processing instruction data received from the cell controller and the task program for the task corresponding to the processing instruction data.

[0005] In the production system, the intermediary program storage unit may store a state intermediary program for each of the plurality of device controllers that converts state data indicating the state of the device controller received from the device controller into a format that the cell controller can interpret. The cell control unit may transmit the processing instruction data to the device controller based on the state data converted using the state intermediary program corresponding to the device controller stored in the intermediary program storage unit. The cell control unit may convert the state data from the plurality of device controllers using a plurality of state intermediary programs corresponding to a plurality of device controllers that execute a plurality of tasks, and may transmit the processing instruction data to the device controller that it has determined to be capable of executing a task based on the state data of the plurality of device controllers, using the instruction intermediary program corresponding to that device controller.

[0006] In any of the production systems, the device control unit may transmit the status data including the execution result of a task to the cell controller when the execution of the task corresponding to the processing instruction data received from the cell control unit is completed, the cell control unit may convert the status data using the status mediation program corresponding to the device controller that transmitted the status data, identify the next task to be executed based on the execution result included in the status data, and transmit the processing instruction data corresponding to the identified task to the device controller corresponding to the identified task using the instruction mediation program corresponding to the device controller. The management unit may store recipe data for each type of product, including execution order data indicating the execution order of a plurality of tasks to be executed for the product, and a plurality of processing instruction data corresponding to the plurality of tasks, the cell control unit may convert the status data using the status mediation program corresponding to the device controller that transmitted the status data, identify the next task to be executed based on the execution result and execution order data included in the status data, and transmit the processing instruction data corresponding to the identified task to the device controller corresponding to the identified task using the instruction mediation program corresponding to the device controller.

[0007] In any of the production systems, the cell control unit may periodically execute a plurality of state mediation programs corresponding to a plurality of device controllers that perform a plurality of tasks, and a plurality of instruction mediation programs corresponding to the plurality of device controllers. The cell control unit may use the plurality of state mediation programs to perform the conversion of state data from the plurality of device controllers in each cycle. The instruction mediation program may define transmission conditions for transmitting the processing instruction data, and the cell control unit may execute the instruction mediation program and transmit the processing instruction data to the device controller in the cycle in which the transmission conditions are met.

[0008] In any of the above production systems, the management unit may store a plurality of processing instruction data corresponding to the plurality of tasks to be performed on the product, for each type of product, and the cell control unit may transmit each of the plurality of processing instruction data corresponding to the processing instruction identification information set in a management program capable of setting processing instruction identification information that can identify the plurality of processing instruction data to the device controller that causes the industrial device to perform each of the plurality of tasks, using the instruction mediation program stored in the mediation program storage unit and corresponding to the device controller.

[0009] In any of the production systems, the cell control unit may transmit the plurality of processing instruction data corresponding to the plurality of tasks to a plurality of device controllers in accordance with the execution order of the plurality of tasks, and may generate execution restart data including the execution status of the plurality of tasks if the execution of the plurality of tasks is interrupted. The cell control unit may resume the execution of the plurality of tasks based on the execution status of the plurality of tasks included in the execution restart data in response to a restart instruction from the execution restart data. The production system may include an execution restart data storage unit that stores the execution restart data, a display control unit that controls the display of the execution restart data stored in the execution restart data storage unit, and a restart instruction generation unit that generates the restart instruction in response to a user instruction for the execution restart data. The management unit may store the plurality of processing instruction data corresponding to the plurality of tasks to be executed on the product for each type of product, and the cell control unit may generate execution restart data including the execution status of the plurality of tasks and processing instruction identification information that can identify the plurality of processing instruction data corresponding to the plurality of tasks if the execution of the plurality of tasks is interrupted.

[0010] In any of the production systems, the plurality of device controllers may include two or more device controllers whose communication data structures or data formats differ from each other.

[0011] According to one embodiment of the present invention, a cell controller is provided. The cell controller may control a production system in which a plurality of industrial devices, including a robot, cooperate to produce one or more products. The cell controller may include a controller communication unit that communicates with a plurality of device controllers that control each of the plurality of industrial devices. The cell controller may include a management unit that stores processing instruction data for each type of product and for each task, which differs for each type of product and is used by the device controller when causing the industrial device to execute a task, which is a unit that performs a specific process on the product in order to produce the product. The cell controller may include an intermediary program storage unit that stores an instruction intermediary program for each of the plurality of device controllers that converts the processing instruction data into a format that the device controller can interpret and transmits it to the device controller. The cell controller may include a cell control unit that transmits the processing instruction data corresponding to the type of product to be produced and the task to be executed on the product to the device controller that causes the industrial device to execute the task, using the instruction intermediary program corresponding to the device controller stored in the intermediary program storage unit.

[0012] According to one embodiment of the present invention, a control method is provided which is performed by a cell controller that can communicate with a plurality of device controllers that control each of the plurality of industrial devices, including a robot, and controls a production system in which a plurality of industrial devices cooperate to produce one or more products. The control method may include a variety identification step of identifying the variety of product to be produced. The control method may include a processing instruction data reading step of reading the processing instruction data corresponding to the variety identified in the variety identification step and the task to be executed for the product, from a management unit that stores processing instruction data for each variety of product and each task, which includes parameters used by the device controller when causing the industrial device to execute a task, which is a unit that performs a specific process on the product in order to produce the product, and which differs for each variety of product. The control method may include an instruction mediation program reading step of reading the instruction mediation program corresponding to the device controller from an intermediary program storage unit that stores an instruction mediation program that converts the processing instruction data into a format that the device controller can interpret and transmits to the device controller, for each of the plurality of device controllers. The control method may include a processing instruction data transmission step, in which the processing instruction data read in the processing instruction data reading step is transmitted to the device controller that causes the industrial device to execute the task, using the instruction mediation program read in the instruction mediation program reading step.

[0013] According to one embodiment of the present invention, a program is provided for a cell controller, which can communicate with a plurality of device controllers that control each of the plurality of industrial devices, including a robot, that control a production system in which a plurality of industrial devices cooperate to produce one or more products, to execute the control method.

[0014] It should be noted that the above summary of the invention does not enumerate all the necessary features of the present invention. Furthermore, subcombinations of these features may also constitute an invention.

[0015] This diagram provides a schematic overview of an example of the production system 10. It also provides a schematic overview of an example of the functional configuration of the cell controller 100, an example of the functional configuration of the device controller 200, an example of the task setting UI (User Interface) 700, an example of the recipe data setting UI 800, an explanatory diagram for explaining the automatic correction of the execution order data 500 by the creation unit 104, an explanatory diagram for explaining the configuration of the recipe data 400, an explanatory diagram for explaining the flow of the production method for products in the production system 10, an explanatory diagram for explaining the instruction mediation program 920 and the state mediation program 930 for each device controller 200, an example of the data transmission and reception flow between the cell controller 100 and multiple device controllers 200, and a schematic overview of an example of the hardware configuration of a computer 1200 that functions as a management device 20, a cell controller 100, or a device controller 200.

[0016] The present invention will be described below through embodiments, but these embodiments are not intended to limit the scope of the claimed invention. Furthermore, not all combinations of features described in the embodiments are necessarily essential to the solution of the invention.

[0017] Figure 1 schematically shows an example of a production system 10. The production system 10 produces one or more products. In the production system 10, multiple industrial devices 300 may cooperate to produce one or more products. The multiple industrial devices 300 may include robots. The multiple industrial devices 300 may include various devices used in the industrial field, such as conveying devices, processing devices, drilling devices, assembly devices, inspection devices, packaging devices, filling devices, printing devices, washing devices, and welding devices.

[0018] Traditionally, production automation was achieved by engineers creating numerous programs, and control devices such as PLCs (Programmable Logic Controllers) controlling multiple industrial machines 300 using these programs. While this method is effective when producing large quantities of the same type of product, it can be inefficient when there are frequent additions to product varieties or when only small quantities are produced (so-called variable-mix, variable-volume production), as it involves setup changes and engineering man-hours. For example, when adding production of a different product to an operational production facility, it is necessary to investigate the impact on the production process within the cell's program for program changes, add or modify processes to accommodate the new product for numerous programs, and then stop the operational production facility to perform startup and verification for all processes and all product varieties, which can have a significant impact on production. Furthermore, even with automation, minor variations in workpieces can cause so-called "minor stoppages," and monitoring, recovery from these stoppages, and rework of defective products are still performed manually.

[0019] The production system 10 according to this embodiment employs a novel engineering method to contribute to solving these problems. Instead of describing everything in a program as in the conventional method, the production system 10 employs a method of production by defining data.

[0020] The production system 10 comprises a cell controller 100 and a plurality of device controllers 200. The production system 10 may also comprise a plurality of industrial devices 300. A cell is formed by the plurality of device controllers 200 and the plurality of industrial devices 300. The production system 10 may also comprise a management device 20 located above the cell controller 100.

[0021] The cell controller 100 can communicate with multiple device controllers 200 and controls the production system 10. The cell controller 100 may be a so-called industrial controller. The cell controller 100 may also be a server computer, a personal computer, etc. The cell controller 100 may include a calculation unit, a storage unit, an input unit, a display unit, and a communication unit. The calculation unit may be a CPU (Central Processing Unit). The storage unit may include a storage device such as volatile memory, non-volatile memory, a hard disk, and an SSD (Solid State Drive). The input unit may be an input device such as a mouse, keyboard, and touch panel. The display unit may be a display such as a liquid crystal display and an organic EL display. The communication unit may include a communication interface for wired communication. The communication unit may also include a communication interface for wireless communication.

[0022] The cell controller 100 and the multiple device controllers 200 may be physically separate. The cell controller 100 and the multiple device controllers 200 may be connected via a network. The cell controller 100 and the multiple device controllers 200 may be connected via a network cable. The connection configuration between the cell controller 100 and the multiple device controllers 200 may be any configuration. The cell controller 100 and the multiple device controllers 200 may be logically configured. For example, the cell controller 100 and the multiple device controllers 200 may be logically configured by multiple physical devices. Even if the cell controller 100 and the multiple device controllers 200 are physically separate, or if the cell controller 100 and the multiple device controllers 200 are logically configured, the cell controller 100 may be configured to perform at least a portion of the processing performed by the multiple device controllers 200 in the following description.

[0023] Multiple device controllers 200 can communicate with each of the multiple industrial devices 300 and control each of the multiple industrial devices 300. The device controllers 200 may be so-called industrial controllers. The device controllers 200 may also be server computers, personal computers, etc. The device controllers 200 may include an arithmetic unit, a storage unit, an input unit, a display unit, and a communication unit. The arithmetic unit may be a CPU. The storage unit may include storage devices such as volatile memory, non-volatile memory, hard disks, and SSDs. The input unit may be input devices such as a mouse, keyboard, and touch panel. The display unit may be displays such as liquid crystal displays and organic EL displays. The communication unit may include a communication interface for wired communication. The communication unit may also include a communication interface for wireless communication. One device controller 200 may control one industrial device 300. One device controller 200 may control multiple industrial devices 300.

[0024] The multiple industrial devices 300 provided in the production system 10 may be of some different types, or all of them may be of different types. The multiple industrial devices 300 may all be of the same type. The types of the multiple industrial devices 300 may be one or more of the various devices used in the industrial field, such as robots, conveying devices, processing devices, drilling devices, assembly devices, inspection devices, packaging devices, filling devices, printing devices, cleaning devices, and welding devices.

[0025] The production system 10 includes multiple device controllers 200, each corresponding to one of the multiple industrial devices 300. The multiple device controllers 200 in the production system 10 may be of some different types, or all of them may be of different types. The multiple device controllers 200 may all be of the same type.

[0026] Multiple device controllers 200 may include two or more device controllers 200 with different data formats for communication. Different data formats for communication may mean that the data formats that the device controllers 200 can receive and interpret are different, or that the data formats that the device controllers 200 transmit are different. For example, multiple device controllers 200 may include two or more device controllers 200 with different data structures or data formats for communication. Different data structures or data formats for communication may mean that the data structures or data formats that the device controllers 200 can receive and interpret are different, or that the data structures or data formats that the device controllers 200 transmit are different.

[0027] Each of the multiple device controllers 200 stores a task program 250 that causes the industrial device 300, which is the object of their control, to execute a task. In this embodiment, a task may be a unit that performs a specific process on a product in the process of producing that product. One task may correspond to a process performed on a product by one industrial device 300. The product referred to here may be a product in the state of raw materials before completion, a product in the state of parts before completion, a product in the process of assembly before completion, and a completed product. Examples of specific processes include transport, processing, drilling, assembly, inspection, packaging, filling, printing, washing, and welding, but the specific process is not limited to these and may be any process that can be performed on the product.

[0028] In this embodiment, the task program 250 includes variables whose parameters can be set. The task program 250 may include multiple variables. For example, the task program 250 for a hole-drilling task includes variables such as the number of holes to be drilled and coordinates indicating the location to be drilled. The task program 250 may be a single program that defines all processes that the target industrial equipment 300 can perform, or it may be composed of multiple programs for each type of process that the target industrial equipment 300 can perform.

[0029] The cell controller 100 stores processing instruction data 600 for each product variety and each task. Different product varieties may mean that at least a part of the product is different. Different product varieties may include at least one of the following: different types of products, different shapes of products, different sizes of products, different weights of products, different materials of products, and different colors of products.

[0030] The processing instruction data 600 includes parameters used by the device controller 200 when instructing the industrial device 300 to execute a task. The processing instruction data 600 may include multiple parameters to be set for multiple variables included in the task program 250. For example, the processing instruction data 600 may include multiple combinations of variables in the task program 250 and parameters to be set for those variables. For example, the processing instruction data 600 corresponding to a hole-drilling task includes a combination of a variable for the number of holes to be drilled and a parameter for the number to be set for that variable, and a combination of a variable for coordinates indicating the location to be drilled and a parameter for coordinates to be set for that variable. The processing instruction data 600 may be designed for each task within the range of freedom of the industrial device 300.

[0031] The cell controller 100 may store execution order data 500 for each type of product. The execution order data 500 indicates the execution order of multiple tasks to be performed on a corresponding type of product. For example, if a certain type of product is to be transported by an industrial device 300 which is a transport device, to be drilled by an industrial device 300 which is a drilling device, and to be inspected by an industrial device 300 which is an inspection device, the cell controller 100 stores execution order data 500 for that type of product that indicates the transport processing task followed by the drilling task, and the drilling task followed by the inspection task.

[0032] The cell controller 100 may store recipe data 400 for each variety of product, which includes execution order data 500 indicating the execution order of multiple tasks to be performed on the product of that variety, and multiple processing instruction data 600 corresponding to those multiple tasks. In other words, the cell controller 100 may manage the execution order data 500 corresponding to the variety and the multiple processing instruction data 600 corresponding to the multiple tasks whose execution order is indicated by the execution order data 500, using the recipe data 400 for each variety of product.

[0033] Furthermore, the cell controller 100 may manage the execution order data 500 and the processing instruction data 600 without managing them in units of recipe data 400. In this case, the cell controller 100 may manage multiple processing instruction data 600 corresponding to multiple tasks to be executed on the product using processing instruction identification information that can identify the multiple processing instruction data 600. The processing instruction identification information may be any information that can identify the group of processing instruction data 600, and may be an ID, name, and tag. Also, the cell controller 100 may manage the execution order data 500 using execution order identification information that can identify the execution order data 500. The execution order identification information may be any information that can identify the execution order data 500, and may be an ID, name, and tag.

[0034] Upon receiving a production start instruction for a product, the cell controller 100 begins controlling the multiple device controllers 200 to start production of the product. The cell controller 100 receives a production start instruction from, for example, a management device 20. The management device 20 may be a so-called HMI (Human Machine Interface) device. The management device 20 may also be a server computer, a personal computer, etc. The cell controller 100 may receive a production start instruction input by a user.

[0035] The production start instruction may include the variety of product to be produced. The cell controller 100 may provide the device controller 200, which causes the industrial equipment 300 to execute tasks, with processing instruction data 600 corresponding to the variety of product to be produced and the tasks to be executed on the product. For example, the cell controller 100 may identify execution order data 500 corresponding to the variety of product to be produced, and based on the execution order indicated by the identified execution order data 500, provide each of the device controllers 200, which causes the industrial equipment 300 to execute each of the tasks. As another example, the production start instruction may include information indicating the execution order of multiple tasks to be executed on the product. In this case, the cell controller 100 may provide each of the device controllers 200, which causes the industrial equipment 300 to execute each of the tasks, with processing instruction data 600 corresponding to multiple tasks, based on the execution order indicated by the information included in the production start instruction.

[0036] Upon receiving processing instruction data 600 from the cell controller 100, the device controller 200 controls the industrial equipment 300 to execute the task based on the processing instruction data 600 and the task program 250 for the task corresponding to the processing instruction data 600. The device controller 200 may set a plurality of parameters included in the processing instruction data 600 into a plurality of variables included in the task program 250, and then control the industrial equipment 300 to execute the task based on the task program 250 after the settings have been made.

[0037] In this way, by preparing a task program 250 with parameters that need to be adjusted according to the type of product as variables, it becomes possible to have each industrial device 300 perform processing according to the type of product by providing parameters for each type of product via processing instruction data 600, and it becomes possible to easily change or add types of products.

[0038] As described above, in the production system 10 according to this embodiment, the cell controller 100 manages the data (processing instruction data 600) necessary for tasks that depend on the type of product, while each of the multiple device controllers 200 has a common program (task program 250) that is independent of the product type. As a result, depending on the type of product to be produced, the cell controller 100 transmits the processing instruction data 600 to the device controller 200 of the industrial equipment 300 that executes the task, allowing the device controller 200 to autonomously complete the task by utilizing the data (processing instruction data 600) appropriate to the product type. Therefore, with the production system 10, unlike centralized production systems such as PLCs, there is not only a division of roles where the cell controller 100 issues instructions and each device controller 200 is responsible for their execution (task execution), but the cell controller 100 is also responsible for managing the data (parameters) that depend on the product type. As a result, when changing or adding product types, only the processing instruction data 600 needs to be added, which reduces the man-hours and start-up time required for variable-mix variable-volume production, and consequently increases production efficiency. Furthermore, if, for example, a so-called "short stop" occurs, it becomes possible to prevent similar short stop occurrences from happening again by adjusting the processing instruction data 600.

[0039] As described above, in conventional engineering methods, when changing or adding product varieties, it is necessary to investigate the scope of impact on the production process program within the cell for program changes, to add or modify processes for numerous programs to accommodate the addition of product varieties, and to stop the production equipment in operation and perform startup and verification for all processes and all product varieties. In contrast, the engineering method of the production system 10 according to this embodiment can be achieved by adding or editing processing instruction data 600, which contributes to reducing the load, rapidly realizing product changes and additions, and improving production efficiency, and can greatly contribute to the development of industry.

[0040] Furthermore, if the cell controller 100 is configured to use execution order data 500, the product-dependent execution order will be managed by the cell controller 100 in the form of execution order data 500. As a result, when changing or adding product types, it is only necessary to change or add the execution order data 500 and the processing instruction data 600 for the tasks contained therein, according to the product type. This eliminates the need to adjust the programs in each device controller 200 or to adjust the extremely complex allocation and ladder programs while considering the relationships between each industrial device 300, as is the case with conventional PLCs. Therefore, costs such as man-hours and start-up time for variable-mix, variable-volume production can be further reduced, and as a result, production efficiency can be further increased.

[0041] When configured to use recipe data 400, the cell controller 100 may identify the recipe data 400 corresponding to the type of product to be produced included in the production start instruction, and control multiple device controllers 200 using the execution order data 500 and multiple processing instruction data 600 included in the recipe data 400. The production start instruction may include recipe identification information that can identify the recipe data 400 to be used, instead of, or in addition to, the type of product to be produced. In this case, the cell controller 100 may identify the recipe data 400 using the recipe identification information, and based on the execution order indicated by the execution order data 500 included in the identified recipe data 400, transmit multiple processing instruction data 600 corresponding to multiple tasks to each of the device controllers 200 that cause the industrial device 300 to execute each task. The recipe identification information may be any information that can identify the recipe data 400, and may be an ID, name, and tag.

[0042] In this way, by defining and managing recipe data 400 for each variety of product, which includes the execution order of multiple tasks to be performed on the product of that variety, and the processing instruction data for those tasks, management can be made more efficient. For example, when a new variety of product is to be produced, the recipe data 400 of a similar variety can be duplicated, and by changing the execution order, changing the tasks, or adjusting the processing instruction data 600, it can be made compatible with the new variety, making it easy to respond to changes in varieties or the addition of new varieties.

[0043] The cell controller 100 may include a program (sometimes referred to as a management program 910) for managing the production of products by the cells. The cell controller 100 may receive production start instructions for products via the management program 910. The management program 910 may be a ladder program. One management program 910 may be one ladder diagram. The management program 910 may be created by the user. The management program 910 may be settable for processing instruction identification information. The management program 910 may be settable for execution order identification information. The management program 910 may be settable for recipe identification information.

[0044] The cell controller 100 may include a program for performing handshakes with each of the plurality of device controllers 200. For example, the cell controller 100 may include a program (which may be referred to as an instruction mediation program 920) for converting the processing instruction data 600 into a format interpretable by the device controller 200 and transmitting it to the device controller 200 for each of the plurality of device controllers 200. For example, the cell controller 100 may include a program (which may be referred to as a status mediation program 930) for converting the status data 220 indicating the status of the device controller 200 received from the cell controller 100 into a format interpretable by the cell controller 100 for each of the plurality of device controllers 200. The status data 220 may include the execution status of tasks by the device controller 200 and the industrial device 300, the execution results of the tasks, and the occurrence status of errors in the device controller 200 and the industrial device 300, etc.

[0045] The instruction mediation program 920 may be a ladder program. One instruction mediation program 920 may be one ladder drawing. The instruction mediation program 920 may be created by a user. For example, a user who understands the data format of the processing instruction data 600 and the data format interpretable by the device controller 200 creates the instruction mediation program 920 so as to convert the processing instruction data 600 into a format interpretable by the device controller 200. The instruction mediation program 920 may be created for each device controller 200.

[0046] The status mediation program 930 may be a ladder program. One status mediation program 930 may be one ladder drawing. The status mediation program 930 may be created by a user. For example, a user who understands the data format of the status data 220 output by the device controller 200 and the data format interpretable by the cell controller 100 creates the status mediation program 930 so as to convert the status data 220 into a format interpretable by the cell controller 100. The status mediation program 930 may be created for each device controller 200.

[0047] When the cell controller 100 transmits the processing instruction data 600 to the device controller 200, it may be transmitted using the instruction mediation program 920 corresponding to the device controller 200. By executing the instruction mediation program 920, the cell controller 100 converts the processing instruction data 600 into a form interpretable by the device controller 200 to be transmitted and then transmits it.

[0048] When the interpretable data formats of the plurality of device controllers 200 are different from each other, without any special consideration, it is necessary to create the processing instruction data 600 in a form interpretable for each device controller 200. In contrast, the cell controller 100 according to the present embodiment stores in advance the instruction mediation programs 920 corresponding to each of the plurality of device controllers 200, and has a configuration in which for each device controller 200, the processing instruction data 600 is converted and transmitted using the corresponding instruction mediation program 920. Thereby, an environment can be realized in which the processing instruction data 600 can be created without being aware of the form of the data that can be interpreted by the device controller 200, regardless of which device controller 200 the processing instruction data 600 is created for.

[0049] For example, when a variety change or addition occurs, the processing instruction data 600 may be created by copying and editing the existing processing instruction data 600, or by creating the processing instruction data 600 from scratch. Without any special consideration, in addition to considering the parameters given to the device controller 200, it is necessary to create the processing instruction data 600 for each device controller 200 in consideration of the form of the data that can be interpreted. In contrast, by configuring to use the instruction mediation program 920, it becomes possible to create the processing instruction data 600 without considering the form of the data that can be interpreted by the device controller 200. This contributes to reducing the user's burden, quickly realizing variety changes and additions, and improving production efficiency, and can greatly contribute to the development of the industry.

[0050] When the cell controller 100 receives state data 220 from the device controller 200, it may convert the state data 220 using a state mediation program 930 corresponding to the device controller 200. By executing the state mediation program 930, the cell controller 100 converts the state data 220 into a format that the cell controller 100 can interpret.

[0051] If the status data 220 transmitted by multiple device controllers 200 are in different formats, it would be difficult for the cell controller 100 to use the status data 220 without any modifications. For example, it would be necessary to adjust each of the multiple device controllers 200 so that the format of the output status data 220 is in a format that the cell controller 100 can interpret. In contrast, the cell controller 100 according to this embodiment can interpret the status data 220 of each of the multiple device controllers 200 by pre-storing a status mediation program 930 corresponding to each of the multiple device controllers 200.

[0052] Thus, in the production system 10 according to this embodiment, by using the management program 910, the instruction mediation program 920, and the state mediation program 930, it is possible to separate the control of task execution (execution order by execution order data 500 and parameters by processing instruction data 600) from the management of product production by cells (which recipe to execute, etc.) and the handshake with each of the multiple device controllers 200, making it easier to keep them separate. As a result, for example, when adding the production of a different product to a production facility that is in operation, it is possible to achieve this by changing only the execution order data 500 and processing instruction data 600 without considering the differences in the communication format between the cell controller 100 and the device controller 200. In other words, it is possible to minimize changes to data and programs when changing product types, adding product types, or changing processes.

[0053] Figure 2 schematically shows an example of the functional configuration of the cell controller 100. The cell controller 100 includes a setting unit 102, a creation unit 104, an intermediary program storage unit 105, a management unit 106, a reception unit 108, a cell control unit 110, a controller communication unit 112, an environmental information sharing unit 114, a data storage unit for resuming execution 116, a display control unit 118, and a resumption instruction generation unit 120. Note that it is not necessarily required that the cell controller 100 include all of these.

[0054] The setting unit 102 performs various settings. The setting unit 102 may perform various settings according to user input via the input unit. The setting unit 102 may also perform various settings according to setting instructions from the management device 20.

[0055] For example, the setting unit 102 sets the system configuration definition for the cell. The system configuration definition for the cell may include information on multiple device controllers 200 included in the cell, information on multiple industrial devices 300 included in the cell, communication settings between the cell controller 100 and the multiple device controllers 200, and communication settings between the multiple device controllers 200 and the multiple industrial devices 300.

[0056] The creation unit 104 creates various data and various programs. The creation unit 104 may create various data and various programs according to user input via the input unit.

[0057] [Creation of Processing Instruction Data 600] The creation unit 104 may create processing instruction data 600. For example, when defining a new task, the creation unit 104 creates processing instruction data 600 corresponding to that task according to user input. The user may input to create new processing instruction data 600, or may input to copy and edit existing processing instruction data 600. The creation unit 104 may provide the user with a task setting UI for setting processing instruction data 600 for each task, and accept user input through the task setting UI.

[0058] [Creation of execution order data 500] The creation unit 104 may create execution order data 500. For example, if it is decided to produce a new variety of product, the creation unit 104 will create execution order data 500 corresponding to that variety according to user input. The user may input to create new execution order data 500, or may input to copy and edit existing execution order data 500. The creation unit 104 may provide the user with an execution order setting UI for setting the execution order of multiple tasks, and accept user input through the execution order setting UI.

[0059] The creation unit 104 may create execution order data 500 so that multiple tasks are executed sequentially or in parallel. For example, the creation unit 104 may create execution order data 500 so that some of the multiple tasks are executed sequentially, and the remaining part of the multiple tasks is executed in parallel with some of the tasks that are executed sequentially. The creation unit 104 may create execution order data 500 so that all of the multiple tasks are executed, and each task is executed only once. The creation unit 104 may create execution order data 500 by prohibiting conditional branching and loops regarding the execution order of the multiple tasks.

[0060] The creation unit 104 is configured, for example, not to have the function of setting conditional branching and loops for multiple tasks. This prevents the user from setting conditional branching and loops, and the creation unit 104 can prohibit conditional branching and loops.

[0061] The creation unit 104 may have the function to set conditional branching and loops for multiple tasks, and may also reject the setting of conditional branching and loops. For example, the creation unit 104 outputs an alarm when it receives a user instruction to set conditional branching. For example, the creation unit 104 outputs an alarm when it receives a user instruction to set loops. For example, the creation unit 104 prevents the loading of execution order data 500 with conditional branching set. For example, the creation unit 104 prevents the activation of execution order data 500 with loops set. For example, the creation unit 104 automatically corrects execution order data 500 with conditional branching set by the user so that there is no conditional branching. As an example, the creation unit 104 deletes execution order data 500 with conditional branching set by the user and creates multiple execution order data 500 corresponding to each branch instead. For example, the creation unit 104 automatically corrects execution order data 500 with loops set by the user so that there is no loop. As an example, the creation unit 104 deletes the execution order data 500 in which a loop has been set by the user, and instead creates execution order data 500 with tasks arranged for the number of times the loop has occurred.

[0062] [Creation of Recipe Data 400] The creation unit 104 may create recipe data 400. The creation unit 104 may create recipe data 400 for each variety of product, which includes execution order data 500 indicating the execution order of multiple tasks to be performed on the product, and multiple processing instruction data 600 corresponding to the multiple tasks. For example, if a new variety of product is to be produced, the creation unit 104 will create recipe data 400 corresponding to that variety according to user input. The user may input to create new recipe data 400, or may input to copy and edit existing recipe data 400. The creation unit 104 may provide the user with a recipe data setting UI for setting the recipe data 400 and accept user input through the recipe data setting UI.

[0063] The creation unit 104 may create different recipe data 400 for the first and second sets of tasks if, even if the execution order data 500 indicates the same set of tasks and their execution order, the industrial equipment 300 used to execute some of the tasks are physically different. For example, if the first set of tasks and the second set of tasks use the same industrial equipment 300 for some of the tasks and the corresponding processing instruction data 600 are the same, and the remaining one or more tasks use industrial equipment 300 of the same type but physically different but the same type, then the creation unit 104 will create different recipe data 400 for the first set of tasks and the second set of tasks. An industrial equipment 300 of the same type but physically different from a certain industrial equipment 300 is, for example, an industrial equipment 300 of the same model number as the industrial equipment 300 in question. As a specific example, when transporting, processing, and inspecting a product, the execution order of transporting by transporting device A, processing by processing device A, and inspection by inspection device A is the same as the execution order of transporting by transporting device A, processing by processing device B of the same model as processing device A, and inspection by inspection device A. However, the creation unit 104 creates different recipe data 400 for each of these orders.

[0064] This allows the cell controller 100 to perform control such as using different recipe data 400 according to the processing status of multiple industrial devices 300 in a cell, in order to optimize the overall system, for example, when multiple industrial devices 300 of the same type are arranged within a cell. For example, by managing two processes with common processing instruction data 600, such as "transportation by transport device A → processing by processing device A → inspection by inspection device A" and "transportation by transport device A → processing by processing device B → inspection by inspection device A," with different recipe data 400, it becomes easier to verify the differences in production quality and production speed when processing device A is used versus when processing device B is used.

[0065] [Creation of Management Program 910] The creation unit 104 may create a management program 910. The creation unit 104 may create a management program 910 that can set processing instruction identification information. The creation unit 104 may create a management program 910 that can set execution order identification information. The creation unit 104 may create a management program 910 that can set recipe identification information.

[0066] [Creation of instruction mediation program 920] The creation unit 104 may create an instruction mediation program 920. The creation unit 104 may create an instruction mediation program 920 for each of the multiple device controllers 200.

[0067] [Creation of state mediation program 930] The creation unit 104 may create a state mediation program 930. The creation unit 104 may create a state mediation program 930 for each of the multiple device controllers 200.

[0068] The mediating program storage unit 105 stores multiple instruction mediating programs 920 created by the creation unit 104 for multiple device controllers 200. The mediating program storage unit 105 may also store instruction mediating programs 920 created by other devices. The mediating program storage unit 105 stores multiple state mediating programs 930 created by the creation unit 104 for multiple device controllers 200. The mediating program storage unit 105 may also store state mediating programs 930 created by other devices.

[0069] The control unit 106 may store processing instruction data 600 for each product variety and each task. The control unit 106 may store processing instruction data 600 created by the creation unit 104. The control unit 106 may acquire and store processing instruction data 600 created by other devices.

[0070] The management unit 106 may store execution order data 500 for each variety of product. The management unit 106 may store execution order data 500 created by the creation unit 104. The management unit 106 may acquire and store execution order data 500 created by other devices. If the management unit 106 acquires execution order data 500 from another device and the execution order data 500 has a conditional branch or loop set, it may have the creation unit 104 modify the execution order data 500. The creation unit 104 may automatically modify the execution order data 500 with a conditional branch set so that there is no conditional branch. The creation unit 104 may automatically modify the execution order data 500 with a loop set so that there is no loop.

[0071] The management unit 106 may store recipe data 400 for each variety of product. The management unit 106 may store recipe data 400 created by the creation unit 104. The management unit 106 may acquire and store recipe data 400 created by other devices. If the management unit 106 acquires recipe data 400 from another device and the execution order data 500 included in the recipe data 400 has a conditional branch or loop set, it may have the creation unit 104 modify the recipe data 400. If the creation unit 104 has created multiple execution order data 500 corresponding to each branch of the execution order data 500 with a conditional branch set, it may create multiple recipe data 400, each containing the multiple execution order data 500 it has created.

[0072] The reception unit 108 receives production start instructions. The reception unit 108 receives production start instructions from, for example, the control device 20. The reception unit 108 receives production start instructions entered by the user to, for example, the cell controller 100.

[0073] The receiving unit 108 may store the management program 910 created by the creation unit 104. The receiving unit 108 may acquire and store the management program 910 created by another device. The receiving unit 108 may receive production start instructions using the management program 910. For example, the receiving unit 108 receives a production start instruction including processing instruction identification information using the management program 910 in which processing instruction identification information is set. For example, the receiving unit 108 receives a production start instruction including recipe identification information using the management program 910 in which recipe identification information is set.

[0074] The cell control unit 110, upon receiving a production start instruction from the reception unit 108, provides processing instruction data 600 to the device controller 200, which instructs the industrial device 300 to execute the task. The controller communication unit 112 performs communication with multiple device controllers 200. The cell control unit 110 may communicate with multiple device controllers 200 via the controller communication unit 112.

[0075] [When the production start instruction does not include processing instruction identification information and recipe identification information] The cell control unit 110 identifies processing instruction data 600 corresponding to the type of product to be produced and the task to be performed on the product included in the production start instruction, and provides the processing instruction data 600 to the device controller 200 that causes the industrial equipment 300 to perform the task. For example, the cell control unit 110 identifies execution order data 500 corresponding to the type of product to be produced, and based on the execution order indicated by the identified execution order data 500, provides multiple processing instruction data 600 corresponding to multiple tasks to each of the device controllers 200 that causes the industrial equipment 300 to perform each task. If the production start instruction includes information indicating the execution order of multiple tasks to be performed on the product, the cell controller 100 may provide multiple processing instruction data 600 corresponding to multiple tasks to each of the device controllers 200 that causes the industrial equipment 300 to perform each task, based on the execution order indicated by the information included in the production start instruction. The cell control unit 110 may identify recipe data 400 corresponding to the type of product to be produced included in the production start instruction, and use the execution order data 500 and the multiple processing instruction data 600 included in the recipe data 400 to control multiple device controllers 200.

[0076] [When the production start instruction includes processing instruction identification information] The cell control unit 110 may identify multiple processing instruction data 600 corresponding to multiple tasks based on the processing instruction identification information included in the production start instruction, and use the multiple processing instruction data 600 to control multiple device controllers 200. The cell control unit 110 may provide each of the identified multiple processing instruction data 600 to the device controller 200 that causes the industrial equipment 300 to execute each of the multiple tasks. For example, the cell control unit 110 may identify execution order data 500 corresponding to the type of product to be produced, and based on the execution order indicated by the identified execution order data 500, provide each of the device controllers 200 that causes the industrial equipment 300 to execute each of the multiple processing instruction data 600 corresponding to multiple tasks. If the production start instruction includes information indicating the execution order of multiple tasks to be performed on the product, the cell control unit 110 may provide each of the device controllers 200 that cause the industrial device 300 to execute each of the multiple processing instruction data 600 corresponding to the multiple tasks, based on the execution order indicated by the information included in the production start instruction.

[0077] [When the production start instruction includes recipe identification information] The cell control unit 110 may identify recipe data 400 based on the recipe identification information included in the production start instruction, and control multiple device controllers 200 using the execution order data 500 and multiple processing instruction data 600 included in the recipe data 400. The cell control unit 110 may provide multiple processing instruction data 600 corresponding to multiple tasks to each of the device controllers 200 that cause the industrial equipment 300 to execute each task, based on the execution order indicated by the execution order data 500 included in the identified recipe data 400.

[0078] [Provision of processing instruction data 600 to the device controller 200] When the cell control unit 110 provides processing instruction data 600 to the device controller 200, it may use the instruction mediation program 920 corresponding to the device controller 200, which is stored in the mediation program storage unit 105, to transmit the processing instruction data 600 to the device controller 200. The cell control unit 110 may convert the processing instruction data 600 into a format that the device controller 200 can interpret by executing the instruction mediation program 920 and then transmit it.

[0079] The cell control unit 110 may transmit processing instruction data 600 to the device controller 200 by placing the processing instruction data 600 in a predetermined storage area of ​​the cell controller 100. The predetermined storage area may be, for example, a register. The predetermined storage area is divided into multiple areas, and for example, multiple areas are associated with the receiving device controller 200. The cell control unit 110 may place the processing instruction data 600 in the area corresponding to the receiving device controller 200. The cell control unit 110 may transmit the processing instruction data 600 placed in the predetermined storage area to the receiving device controller 200 according to predetermined conditions. The device controller 200 may receive the processing instruction data 600 from the predetermined storage area. The device controller 200 may periodically refer to the predetermined storage area at regular intervals and receive the processing instruction data 600 if it is placed there. The device controller 200 may receive processing instruction data 600 from the predetermined storage area in an event-driven manner. The device controller 200 may also receive processing instruction data 600 from the predetermined storage area in accordance with instructions from the cell controller 100.

[0080] The cell control unit 110 may provide the processing instruction data 600 to the device controller 200 by transmitting the processing instruction data 600 to the device controller 200, without placing the processing instruction data 600 in a predetermined storage area.

[0081] The cell control unit 110 may, for example, send a plurality of processing instruction data 600 to the device controller 200 in order of execution. For example, the cell control unit 110 first sends the processing instruction data 600 corresponding to the first task to the device controller 200 that causes the industrial device 300 to execute the task, using the instruction mediation program 920 corresponding to the device controller 200. Then, upon receiving the execution result of the task from the device controller 200, the cell control unit 110 sends the processing instruction data 600 corresponding to the second task to the device controller 200 that causes the industrial device 300 to execute the task, using the instruction mediation program 920 corresponding to the device controller 200. The cell control unit 110 continues this process until all tasks are completed.

[0082] The cell control unit 110 may send a plurality of processing instruction data 600 to a plurality of device controllers 200 and then issue task execution instructions according to the progress. For example, after the cell control unit 110 sends a plurality of processing instruction data 600 to a plurality of device controllers 200, it first sends an execution instruction for the first task to the device controller 200 that will have the industrial equipment 300 execute the task. Then, upon receiving the task execution result from the device controller 200, the cell control unit 110 sends an execution instruction for the second task to the device controller 200 that will have the industrial equipment 300 execute the task. The cell control unit 110 continues this process until all tasks are completed.

[0083] When the cell control unit 110 receives state data 220 from the device controller 200, it may convert the state data 220 using a state mediation program 930 corresponding to the device controller 200, which is stored in the mediation program storage unit 105. The cell control unit 110 may convert the state data 220 into a format that can be interpreted by the cell controller 100 by executing the state mediation program 930.

[0084] The controller communication unit 112 may place the state data 220 received from the device controller 200 into a predetermined storage area of ​​the cell controller 100, and the cell control unit 110 may convert the state data 220 placed in the storage area using a state mediation program 930. The predetermined storage area may be, for example, a register. The predetermined storage area is divided into multiple areas, and for example, multiple areas are associated with the device controller 200 that provides the data. For example, the device controller 200 periodically transmits the state data 220 at a fixed interval, and the cell control unit 110 periodically executes the state mediation program 930 and converts the state data 220 when it is placed in the storage area.

[0085] The cell control unit 110 may send processing instruction data 600 to the device controller 200 based on the converted state data 220.

[0086] For example, the cell control unit 110 uses multiple state mediation programs 930 corresponding to multiple device controllers 200 that execute multiple tasks to convert state data 220 from the multiple device controllers 200, and sends processing instruction data 600 to the device controller 200 that it has determined to be capable of executing a task based on the state data 220 of the multiple device controllers 200, using the instruction mediation program 920 corresponding to that device controller 200. Specifically, the cell control unit 110 grasps the state of multiple device controllers 200 that can execute tasks in the same cycle, and sends processing instruction data 600 to the device controller 200 that it has determined to be capable of executing a task among the multiple device controllers 200. This makes it possible to appropriately determine in advance whether any of the multiple device controllers 200 is in a state capable of executing a task, and then send processing instruction data 600.

[0087] For example, the cell control unit 110 converts the state data 220 using a state mediation program 930 corresponding to the device controller 200 that sent the state data 220, identifies the next task to be executed based on the execution results of the tasks included in the state data 220, and sends processing instruction data 600 corresponding to the identified task to the device controller 200 corresponding to the identified task using an instruction mediation program 920 corresponding to the device controller 200. As a specific example, when one device controller 200 is to execute processing for multiple products in succession, the cell control unit 110 first sends processing instruction data 600 for the first product to the device controller 200 using the instruction mediation program 920. When the task for the first product is completed, the device controller 200 sends the state data 220 including the execution results to the device controller 200. The cell control unit 110 converts the state data 220 using the state mediation program 930 to determine that the device controller 200 has completed the execution of a task, identifies the next task to be executed, and sends processing instruction data 600 corresponding to the identified task to the device controller 200 using the instruction mediation program 920. By repeating this process, the cell control unit 110 causes one device controller 200 to execute processing on multiple products in succession. This makes it possible for any of the multiple device controllers 200 to appropriately determine the execution result of a task and control the execution of the next task.

[0088] The environmental information sharing unit 114 collects environmental information in the production system 10 that each of the multiple device controllers 200 can change, and shares the collected environmental information with the multiple device controllers 200. The environmental information sharing unit 114 may communicate with the multiple device controllers 200 via the controller communication unit 112. The environmental information in the production system 10 that each device controller 200 can change may indicate the environment in the production system 10 that can be changed by the device controller 200 controlling the industrial equipment 300. When the environmental information sharing unit 114 transmits environmental information to a device controller 200, it may use an instruction mediation program 920 corresponding to that device controller 200.

[0089] The environmental information sharing unit 114 may collect environmental information from each of the multiple device controllers 200, such as the state of the industrial equipment 300 to be controlled, the conditions surrounding the industrial equipment 300 to be controlled, and the state of the products processed by the industrial equipment 300 to be controlled. Each of the multiple device controllers 200 may periodically or irregularly transmit environmental information in the production system 10 that it can change to the cell controller 100 according to predetermined timings, and may also transmit environmental information to the cell controller 100 in response to changes in the environment in the production system 10 that it can change. The environmental information sharing unit 114 may convert the environmental information received from the device controllers 200 using a state mediation program 930 corresponding to the device controller 200.

[0090] The environmental information sharing unit 114 may share the latest environmental information with the multiple device controllers 200 by placing environmental information in a memory area accessible to the multiple device controllers 200 and updating the environmental information as needed. The environmental information sharing unit 114 may also share the latest environmental information with the multiple device controllers 200 by transmitting environmental information indicating the changed environment to the multiple device controllers 200 each time the environment in the production system 10 changes.

[0091] The environmental information sharing unit 114 allows the cell controller 100 to centrally share environmental information necessary for each device controller 200 to independently enhance functionality or automate. Therefore, compared to sharing environmental information among the device controllers 200, communication between the device controllers 200 is reduced, inter-device dependencies are decreased, and at least one of enhanced functionality or automatemization can be easily achieved.

[0092] The cell control unit 110 may use the environmental information managed by the environmental information sharing unit 114 to determine the timing for sending multiple processing instruction data 600 to each of the device controllers 200 that cause the industrial equipment 300 to execute their respective tasks. For example, when the cell control unit 110 sends processing instruction data 600 to a device controller 200, it may use the environmental information to determine the environment surrounding the industrial equipment 300 controlled by the device controller 200, and send the processing instruction data 600 if it determines that the task can be executed.

[0093] If multiple processing instruction data 600 have already been sent to multiple device controllers 200, the cell control unit 110 may use the environmental information managed by the environmental information sharing unit 114 to determine the timing for sending task execution instructions to each of the device controllers 200 that will cause the industrial equipment 300 to execute each task. For example, when the cell control unit 110 sends a task execution instruction to a device controller 200, it uses the environmental information to determine the environment surrounding the industrial equipment 300 controlled by the device controller 200, and sends the task execution instruction if it determines that the task can be executed.

[0094] The cell control unit 110 may interrupt the execution of multiple tasks when the multiple device controllers 200 are sequentially executing tasks according to the execution order of the multiple tasks. The cell control unit 110 may interrupt the execution of multiple tasks in response to instructions from the user, for example. The cell control unit 110 may interrupt the execution of multiple tasks in response to predetermined conditions being met, such as when an alert occurs in any of the multiple device controllers 200 or multiple industrial devices 300.

[0095] The cell control unit 110 may generate execution resumption data if the execution of multiple tasks is interrupted. The execution resumption data may include data required to resume the execution of multiple tasks. For example, the execution resumption data may include the execution status of multiple tasks. Specifically, the execution status may indicate which of the multiple tasks being executed in the order of execution have been completed.

[0096] The execution restart data storage unit 116 stores the execution restart data generated by the cell control unit 110. The execution restart data storage unit 116 may store multiple execution restart data.

[0097] The cell control unit 110 may resume execution of multiple tasks based on the execution status of multiple tasks included in the execution resume data, in response to a resume instruction based on the execution resume data stored in the execution resume data storage unit 116. The cell control unit 110 may identify a task that has already been completed among the multiple tasks based on the execution resume data, and control the system to resume execution from the task following the identified task. The cell control unit 110 may transmit processing instruction data 600 corresponding to the task following the identified task to the device controller 200, which will cause the industrial device 300 to execute that task.

[0098] If the execution restart data described above is not generated, it is difficult to resume the execution of multiple tasks from an interrupted state. For example, it would be necessary to remove all the products in the cell and restart production from the beginning. In contrast, by having the cell control unit 110 generate execution restart data, it becomes possible to resume the execution of multiple tasks from where they left off without having to restart from the beginning, thereby contributing to an improvement in the production efficiency of the products.

[0099] The display control unit 118 controls the display to show the execution restart data stored in the execution restart data storage unit 116. The display control unit 118 causes the execution restart data to be displayed on, for example, the display unit of the cell controller 100. The display control unit 118 causes the execution restart data to be displayed on, for example, the display unit of the management device 20.

[0100] The restart instruction generation unit 120 generates a restart instruction using execution restart data in response to a user instruction regarding the execution restart data displayed by the display control unit 118. For example, the display control unit 118 controls the display of multiple execution restart data stored in the execution restart data storage unit 116, and the restart instruction generation unit 120 generates a restart instruction using the execution restart data specified by the user from among the multiple execution restart data. The cell control unit 110 restarts the execution of multiple tasks based on the execution status of multiple tasks included in the execution restart data, in response to the restart instruction generated by the restart instruction generation unit 120.

[0101] This makes it possible to create an environment where, when multiple execution restart data are stored in the execution restart data storage unit 116, the execution of multiple tasks can be restarted using the execution restart data desired by the user from among the multiple execution restart data.

[0102] When performing control using recipe identification information, the cell control unit 110 may further include the recipe identification information in the execution restart data. When the cell control unit 110 receives a restart instruction using execution restart data containing recipe identification information, it may determine whether or not to restart execution based on the recipe identification information. For example, if the content of the recipe data 400 identified by the recipe identification information has been changed after the execution restart data has been generated, the cell control unit 110 will determine not to restart execution, and if the content of the recipe data 400 has not been changed, it will determine to restart execution. For example, the cell control unit 110 will determine whether or not the recipe identification information or the recipe data 400 identified by the recipe identification information exists, and if it does not exist, it will determine not to restart execution, and if it does exist, it will determine to restart execution. This ensures that if a relatively long time has passed between interruption and restart, and the recipe data 400 has been changed or deleted during that time, execution will not be restarted, thereby ensuring that the interrupted work is accurately resumed and that a different task is not performed midway through. The cell control unit 110 may determine whether the tasks have been completed in order using the execution status of multiple tasks included in the execution restart data and the execution order data 500 included in the recipe data 400 identified by the recipe identification information. If it determines that the tasks have not been completed in order, it may decide not to restart execution. If it determines that the tasks have been completed in order, it may decide to restart execution. This ensures that execution is not restarted if the tasks have not been completed in order.

[0103] When performing control using processing instruction identification information, the cell control unit 110 may further include processing instruction identification information in the execution restart data. When the cell control unit 110 receives a restart instruction using execution restart data that includes processing instruction identification information, it may determine whether or not to restart execution based on the processing instruction identification information. For example, if at least one of the multiple processing instruction data 600 identified by the processing instruction identification information has been changed after the execution restart data has been generated, the cell control unit 110 will determine not to restart execution, and if none of them have been changed, it will determine to restart execution. For example, the cell control unit 110 will determine whether or not the processing instruction identification information or the multiple processing instruction data 600 identified by the processing instruction identification information exists, and if they do not exist, it will determine not to restart execution, and if they do exist, it will determine to restart execution. This ensures that if a relatively long period of time has elapsed between interruption and resumption, and at least one of the multiple processing instruction data 600 corresponding to the processing instruction identification information has been modified or deleted during that time, execution will not be resumed. This guarantees that the interrupted work will be resumed accurately and that a different task will not be performed midway through.

[0104] Figure 3 schematically shows an example of the functional configuration of the device controller 200. The device controller 200 includes a creation unit 202, a storage unit 204, a controller communication unit 206, a device control unit 208, and an environment management unit 210. However, it is not necessarily required that the device controller 200 include all of these units.

[0105] The creation unit 202 creates various types of data. The creation unit 202 may create various types of data according to user input via the input unit. The creation unit 202 stores the created data in the storage unit 204.

[0106] [Creation of Task Program 250] The creation unit 202 may create a task program 250 that causes the controlled industrial device 300 to execute a task. The creation unit 202 may create a task program 250 in which parts of the processing content that may differ depending on the type of product to be processed are defined as variables. For example, in a hole-punching task, if the number of holes to be punched and the location of the holes to be punched may differ depending on the type of product to be processed, the user makes inputs to create a task program 250 in which these are defined as variables, and the creation unit 202 creates the task program 250 according to those inputs.

[0107] The storage unit 204 stores the task program 250 created by the creation unit 202. The storage unit 204 may also acquire and store task programs 250 created by other devices.

[0108] The controller communication unit 206 performs communication with the cell controller 100. For example, the controller communication unit 206 receives processing instruction data 600 from the cell controller 100.

[0109] The device control unit 208 controls the industrial equipment 300 to be controlled. Based on the processing instruction data 600 received by the controller communication unit 206 from the cell controller 100 and the task program 250 for the task corresponding to the processing instruction data 600, the device control unit 208 controls the industrial equipment 300 to execute the task. The device control unit 208 may set a plurality of parameters included in the processing instruction data 600 into a plurality of variables included in the task program 250, and then control the industrial equipment 300 to execute the task based on the task program 250 after the settings have been made. The device control unit 208 may identify a variable in the task program 250 that matches a combination of variables and parameters included in the processing instruction data 600, and set the parameter to the identified variable.

[0110] The device control unit 208 may, when a task corresponding to a processing instruction data 600 received from the cell controller 100 is completed, transmit status data 220, including the execution result of the task, to the cell controller 100 via the controller communication unit 206. The cell control unit 110 of the cell controller 100 may, based on the execution result included in the status data 220 received from the device control unit 208 and the execution order data 500, identify the next task to be executed and transmit processing instruction data 600 corresponding to the identified task to the device controller 200 corresponding to the identified task. This allows the cell control unit 110 to manage the progress of the execution order (success or failure of processing) according to the product variety, without being responsible for the completion of each task. Therefore, by simply changing the execution order data 500 and processing instruction data 600 of the cell control unit 110, an environment can be provided in which product varieties can be easily changed or added.

[0111] The environmental management unit 210 manages environmental information in the production system 10 that can be changed by the device controller 200. The environmental management unit 210 may update the environmental information to show the changed environment when the device control unit 208 controls the industrial device 300 and the environment in the production system 10 changes as a result of the operation of the industrial device 300. The environmental management unit 210 may determine how the industrial device 300 operated based on the control content of the industrial device 300 by the device control unit 208 and identify the content of the environmental change in the production system 10. The environmental management unit 210 may acquire information indicating the operation of the industrial device 300 detected by sensors installed on the industrial device 300 and identify the content of the environmental change in the production system 10 based on this information. The environmental management unit 210 may acquire information indicating the environment after the operation of the industrial device 300, measured by sensors installed on the industrial device 300, and update the environmental information based on this information. The environmental management unit 210 transmits the environmental information to the cell controller 100 via the controller communication unit 206. The environmental management unit 210 may periodically or irregularly transmit environmental information to the cell controller 100 according to predetermined timings, and may also transmit updated environmental information to the cell controller 100 each time the environmental information is updated.

[0112] The environmental information sharing unit 114 of the cell controller 100 collects environmental information from the environmental management units 210 of the multiple device controllers 200 and shares the collected environmental information with the multiple device controllers 200. The device control unit 208 acquires the environmental information shared from the environmental information sharing unit 114 and may determine the execution timing of the task corresponding to the processing instruction data 600 received from the cell controller 100 based on the acquired environmental information. For example, the device control unit 208 may determine an execution timing at which no interference will occur even if the controlled industrial device 300 is made to execute the task, or it may determine that the execution timing is after the preparation of the product to be processed by the controlled industrial device 300 is complete. At the determined execution timing, the device control unit 208 may control the industrial device 300 to execute the task based on the processing instruction data 600 and the task program 250.

[0113] With this configuration, the cell control unit 110 determines whether a task can be executed (whether the task can be executed, and which industrial device 300 will execute which task), but the timing of task execution (when a task that can be executed can be executed) is determined by each device controller 200. Therefore, for example, each device controller 200 can be specialized only in the function of completing its respective task according to the environment, making it easier to enhance the functionality and automate at least one of the device controllers 200.

[0114] Figure 4 schematically shows an example of a task setting UI 700. The task setting UI 700 illustrated in Figure 4 includes a task field 710 and a task information field 720. The task field 710 may display a list of tasks. The task information field 720 may display setting fields for setting the task name, device assignment, device identification ID, and processing instruction data 600 for the task selected in the task field 710. The creation unit 104 may create a task definition and the corresponding processing instruction data 600 according to user input to the task setting UI 700. By providing the user with a task setting UI 700 as illustrated in Figure 4, the cell controller 100 can support the user in defining tasks and creating processing instruction data 600. It can also make it easier for the user to adjust existing processing instruction data 600.

[0115] Figure 5 schematically shows an example of a recipe data setting UI 800. The recipe data setting UI 800 illustrated in Figure 5 includes a recipe field 810, a recipe information field 820, a task field 830, an execution order field 840, and a task information field 850. The recipe field 810 may display a list of recipes. The recipe information field 820 may display setting fields for setting the recipe name and recipe identification information for the recipe selected in the recipe field 810. The task field 830 may display a list of tasks. The execution order field 840 may display a setting area for setting the execution order of multiple tasks. The task information field 850 may display a field for selecting one of the multiple tasks included in the execution order field 840, and a field for displaying processing instruction data 600 corresponding to the selected task. The creation unit 104 may create execution order data 500 or recipe data 400 according to user input to the recipe data setting UI 800. The cell controller 100 can support the user in creating execution order data 500 and recipe data 400 by providing the user with a recipe data setting UI 800 as illustrated in Figure 5.

[0116] The creation unit 104 may create execution order data 500 so that multiple tasks are executed sequentially or in parallel. The creation unit 104 may create execution order data 500 while prohibiting conditional branching and loops for the execution order of multiple tasks. For example, the execution order field 840 may be configured so that it does not have the function to set conditional branching and loops for multiple tasks in the first place. Alternatively, for example, the execution order field 840 may have the function to set conditional branching and loops, but the creation unit 104 may reject the setting of conditional branching and loops. For example, the creation unit 104 outputs an alarm when a conditional branch is set or a loop is set by the user in the execution order field 840. The creation unit 104 may create execution order data 500 that reflects the setting when a conditional branch is set or a loop is set by the user in the execution order field 840, and then prohibit the use of said execution order data 500. The creation unit 104 may also automatically correct the execution order field 840 so that there are no conditional branches or loops if the user has set conditional branches or loops.

[0117] As a result, the execution order data 500 created by the creation unit 104 does not include conditional branches or loops, making it easier to manage the processing implemented by the recipe data 400 and to perform control such as overall optimization. For example, if the execution order data 500 of the recipe data 400 includes conditional branches, the multiple tasks executed by multiple industrial devices 300 may differ each time due to the recipe data 400. Also, for example, if the execution order data 500 of the recipe data 400 includes loops, the number of times each of the multiple tasks executed by multiple industrial devices 300 may differ each time due to the recipe data 400. Therefore, it becomes difficult to compare the execution results of multiple tasks executed by multiple industrial devices 300 at the level of recipe data 400. In contrast, by ensuring that the execution order data 500 created by the creation unit 104 does not include conditional branches or loops, it becomes easier to verify the execution results of multiple tasks executed by multiple industrial devices 300 at the level of recipe data 400. Furthermore, since the recipe data 400 allows for prior understanding of the multiple tasks to be performed by multiple industrial devices 300, it becomes easier to determine which recipe data 400 to use for overall optimization.

[0118] Figure 6 is an explanatory diagram illustrating the automatic modification of execution order data 500 by the creation unit 104. Figure 6 illustrates a case where the user has set the system to execute Task B after Task A if condition A is met, then execute Task C, and then execute Task E after Task A if condition B is met, then execute Task C. As illustrated in Figure 6, the creation unit 104 performs automatic modification by creating execution order data 500 that executes Task A, then Task B, then Task C, and execution order data 500 that executes Task A, then Task E, then Task C.

[0119] Figure 7 is an explanatory diagram illustrating the structure of recipe data 400. Here, we will use recipe data 400 corresponding to a certain variety B as an example.

[0120] The recipe data 400 includes execution order data 500. The execution order data 500 includes the execution order of multiple tasks, as illustrated in Figure 6.

[0121] The recipe data 400 includes processing instruction data 600 corresponding to each of the multiple tasks included in the execution sequence data 500. In the example shown in Figure 6, the processing instruction data 600 includes the task name, the device that will execute the task, the processing type, and multiple combinations of variables and parameters.

[0122] Figure 8 is an explanatory diagram illustrating the flow of the production method for products in the production system 10. Here, the state in which the cell controller 100 receives a production start instruction is described as the start state.

[0123] In step 102 (step may be abbreviated as S), the cell control unit 110 identifies the variety of the product to be produced. The cell control unit 110 may identify the variety by referring to the information contained in the production start instruction.

[0124] In S104, the cell control unit 110 reads processing instruction data 600 for multiple tasks corresponding to the variety identified in S102 from the management unit 106. For example, the cell control unit 110 identifies execution order data 500 corresponding to the variety identified in S102 and reads processing instruction data 600 for multiple tasks included in the execution order data 500. For example, the cell control unit 110 identifies recipe data 400 corresponding to the variety identified in S102 and reads processing instruction data 600 for multiple tasks included in the recipe data 400.

[0125] In S105, the cell control unit 110 reads from the intermediary program storage unit 105 an intermediary program corresponding to a plurality of device controllers 200 that cause a plurality of industrial devices 300 to execute a plurality of tasks. The cell control unit 110 may read the instruction intermediary program 920 and the state intermediary program 930 for each of the plurality of device controllers 200.

[0126] In S106, the cell control unit 110 transmits to the device controller 200, which is the device controller that causes the industrial device 300 to execute the task read in S105, the processing instruction data 600 corresponding to the first task in the execution order from among the processing instruction data 600 of the multiple tasks read in S104.

[0127] In S108, the device control unit 208 of the device controller 200, which received the processing instruction data 600 in S106, controls the industrial device 300 to execute the task based on the processing instruction data 600 and a task program 250 that causes the industrial device 300 to execute the task corresponding to the processing instruction data 600. In S110, the device control unit 208 transmits status data 220, including the execution result, to the cell controller 100 in response to the completion of the task that the industrial device 300 was instructed to execute by the control in S108. The cell control unit 110 converts the received status data 220 using the status mediation program 930 corresponding to the device controller 200, which was read in S105. Here, we will continue the explanation assuming that the execution result included in the status data 220 indicates that the task was completed successfully.

[0128] In S112, the cell control unit 110 transmits to the device controller 200, using the instruction mediation program 920 corresponding to the device controller 200 that causes the industrial device 300 to execute the task read in S105, the processing instruction data 600 corresponding to the second task in the execution order from among the processing instruction data 600 of the multiple tasks read in S104.

[0129] In S114, the device control unit 208 of the device controller 200, which received the processing instruction data 600 in S112, controls the industrial device 300 to execute the task based on the processing instruction data 600 and a task program 250 that causes the industrial device 300 to execute the task corresponding to the processing instruction data 600. In S116, the device control unit 208 transmits status data 220, including the execution result, to the cell controller 100 in response to the completion of the task that the industrial device 300 was made to execute by the control in S114.

[0130] This process continues until processing is completed for all of the processing instruction data 600 read in S104, and the product is produced.

[0131] Figure 9 is an explanatory diagram for a schematic explanation of the instruction mediation program 920 and state mediation program 930 for each device controller 200.

[0132] In the example shown in Figure 9, the instruction mediation program 920 includes a transmission condition section for setting the conditions for sending processing instruction data 600, a data conversion section for setting data conversion, and a data transmission section for setting data transmission. The transmission condition section includes, for example, conditions for sending processing instruction data 600. These conditions may be the state of the device controller 200 or the state of the cell. The data conversion section includes, for example, conversion content for converting processing instruction data 600 into a format that the device controller 200 can interpret. The data transmission section includes, for example, information regarding the destination of the data. When the instruction mediation program 920 is executed, it is determined whether the transmission conditions are met, and if the transmission conditions are met, the processing instruction data 600 is converted and sent to the device controller 200. Figure 9 is a conceptual diagram, and the configuration of the instruction mediation program 920 is not limited thereto.

[0133] In the example shown in Figure 9, the state mediation program 930 includes a data reception section for setting up data reception, a data conversion section for setting up data conversion, and a state interpretation section for interpreting the state of the device controller 200. The data conversion section includes, for example, a conversion setting for converting the state data 220 of the device controller 200 into a format that the cell controller 100 can interpret. The state interpretation section includes, for example, a setting for interpreting the state of the device controller 200 based on the converted state data 220. When the state mediation program 930 is executed, if the state data 220 is located in the storage area that stores the data received from the device controller 200, the state data 220 is converted and the state of the device controller 200 is interpreted. Figure 9 is a conceptual diagram, and the configuration of the state mediation program 930 is not limited to this.

[0134] Figure 10 schematically shows an example of the data transmission and reception flow between the cell controller 100 and multiple device controllers 200. Here, the data transmission and reception flow when multiple tasks are executed sequentially in parallel for different types of products is explained. In Figure 10, the cell controller 100 is illustrated as an example, along with device controller A260 which controls the industrial device 300 that performs hole drilling on the products, device controller B270 which controls the industrial device 300 that performs product transport, and device controller C280 which controls the industrial device 300 that performs product painting. Note that the industrial device 300 is not shown in the illustration.

[0135] The cell control unit 110 periodically executes multiple state mediation programs 930 corresponding to multiple device controllers 200 that execute multiple tasks, and multiple instruction mediation programs 920 corresponding to multiple device controllers 200. The cell control unit 110 may use the multiple state mediation programs 930 to perform conversion of state data from the multiple device controllers 200 in each cycle. The cell control unit 110 may execute the instruction mediation programs 920 and send processing instruction data 600 to the device controllers 200 in cycles when the transmission conditions for sending processing instruction data 600 are met.

[0136] In the example shown in Figure 10, the cell control unit 110 periodically executes three state mediation programs 930 and three instruction mediation programs 920 corresponding to device controllers A260, B270, and C280. In this example, the state mediation program 930 corresponding to device controller A260 is referred to as "state mediation program A," the state mediation program 930 corresponding to device controller B270 is referred to as "state mediation program B," and the state mediation program 930 corresponding to device controller C280 is referred to as "state mediation program C." In addition, the instruction mediation program 920 corresponding to device controller A260 is referred to as "instruction mediation program A," the instruction mediation program 920 corresponding to device controller B270 is referred to as "instruction mediation program B," and the instruction mediation program 920 corresponding to device controller C280 is referred to as "instruction mediation program C."

[0137] Device controllers A260, B270, and C280 periodically transmit status data 220 to the cell controller 100. The controller communication unit 112 stores the received status data 220 in the register 130. In Figure 10, the status data of device controller A260 is labeled "A state," the status data of device controller B270 is labeled "B state," and the status data of device controller C280 is labeled "C state."

[0138] The cell control unit 110 executes state mediation programs A, B, and C every cycle to convert the A, B, and C states stored in register 130. This allows the cell control unit 110 to understand the states of device controllers A260, B270, and C280. By performing this conversion of state data from multiple device controllers 200 every cycle, it becomes possible to quickly detect errors in the device controllers 200 and industrial equipment 300. Note that if state mediation program 930 is executed but no state data is stored in register 130, the conversion is not performed.

[0139] The cell control unit 110 performs autonomous distributed control based on the status it has grasped. The cell control unit 110 transmits processing instruction data 600 to the device controller A260, device controller B270, and device controller C280 that are to be used to perform the following tasks. In Figure 10, the processing instruction data 600 transmitted to device controller A260 is referred to as "Instruction A", the processing instruction data 600 transmitted to device controller B270 is referred to as "Instruction B", and the processing instruction data 600 transmitted to device controller C280 is referred to as "Instruction C". The cell control unit 110 transmits Instruction A to device controller A260 by converting it using instruction mediation program A and placing it in register 140. The cell control unit 110 transmits Instruction B to device controller B270 by converting it using instruction mediation program B and placing it in register 140. The cell control unit 110 transmits Instruction C to device controller C280 by converting it using instruction mediation program C and placing it in register 140.

[0140] The cell control unit 110 executes, for example, multiple instruction mediation programs 920 every cycle and sends processing instruction data 600 to the device controller 200 in the cycle in which the transmission conditions are met. The transmission conditions are, for example, conditions that are met when there is a task to be executed next and the device controller 200 and the industrial device 300 are capable of executing the task. For example, the cell control unit 110 executes instruction mediation programs A, B, and C, and if the transmission conditions are met for instruction mediation programs A and B, but not for instruction mediation program C, it sends instruction A and instruction B to device controllers A260 and B270, respectively.

[0141] Compared to the case where processing instruction data 600 is transmitted every cycle regardless of the task execution status, by transmitting processing instruction data 600 to multiple device controllers 200 only when the transmission conditions are met, rather than every cycle, the amount of processing instruction data 600 transmitted can be reduced, and the autonomy of the device controllers 200 can be increased. For example, if processing instruction data 600 is transmitted every cycle, the device controller 200 will basically control the industrial equipment 300 according to instructions from the cell controller 100. Even if the device controller 200 tries to autonomously change the way a task is being carried out in the middle of following the processing instruction data 600, it will have to follow the processing instruction data 600 that is received periodically, making autonomous adjustment difficult. In contrast, by having the cell controller 100 transmit processing instruction data 600 only when the transmission conditions are met, the cell controller 100 will wait for a report from the device controller 200 without transmitting processing instruction data 600 after it has transmitted it once, making it possible for the device controller 200 to autonomously adjust the way the task is being carried out.

[0142] Figure 11 schematically shows an example of the hardware configuration of a computer 1200 that functions as a management device 20, a cell controller 100, or a device controller 200. A program installed on the computer 1200 may cause the computer 1200 to function as a management device 20, a cell controller 100, or a device controller 200. Such a program may be executed by a processor to cause the computer 1200 to perform specific operations associated with some or all of the blocks in the flowcharts and block diagrams described herein. The functional configuration of the management device 20, the cell controller 100, or the device controller 200 may be realized by one or more processors.

[0143] Computer 1200 includes a CPU 1212, RAM 1214, and a graphics controller 1216, which are interconnected by a host controller 1210. In addition to the CPU 1212, computer 1200 may include at least one of a GPU, FPGA, and ASIC. Computer 1200 also includes input / output units such as a communication interface 1222, a storage device 1224, a DVD drive, and an IC card drive, which are connected to the host controller 1210 via an input / output controller 1220. The storage device 1224 may be a hard disk drive, a solid-state drive, etc. Computer 1200 also includes a ROM 1230 and legacy input / output units such as a keyboard, mouse, and touch panel input devices 1232, which are connected to the input / output controller 1220 via an input / output chip 1240. The CPU 1212 operates according to programs stored in the ROM 1230 and RAM 1214, thereby controlling each unit. The graphics controller 1216 acquires image data generated by the CPU 1212 and enables the image data to be displayed on the display device 1218. The communication interface 1222 communicates with other electronic devices via the network. The storage device 1224 stores programs and data used by the CPU 1212. The information processing described in the programs is read by the computer 1200, resulting in coordination between the programs and the various types of hardware resources described above.

[0144] In this embodiment, blocks in the flowchart and block diagram may represent a stage in a process in which an operation is performed or a "part" of a device that has the role of performing an operation. A particular stage and "part" may be implemented by a dedicated circuit, a programmable circuit supplied with computer-readable instructions stored on a computer-readable storage medium, and / or a processor supplied with computer-readable instructions stored on a computer-readable storage medium. The dedicated circuit may include digital and / or analog hardware circuits, and may include integrated circuits (ICs) and / or discrete circuits. The programmable circuit may include reconfigurable hardware circuits, such as field-programmable gate arrays (FPGAs) and programmable logic arrays (PLAs), which include logical AND, logical OR, exclusive OR, negated AND, negated OR, and other logical operations, flip-flops, registers, and memory elements.

[0145] A computer-readable storage medium may include any tangible device capable of storing instructions to be executed by a suitable device, and as a result, a computer-readable storage medium having instructions stored therein will comprise a product containing instructions that can be executed to create means for performing an operation specified in a flowchart or block diagram. Examples of computer-readable storage media may include electronic storage media, magnetic storage media, optical storage media, electromagnetic storage media, semiconductor storage media, etc. Computer-readable instructions may be provided locally or via a wide area network (WAN) such as a local area network (LAN) or the Internet to a processor or programmable circuit of a programmable data processing device such as a computer, so that the processor or programmable circuit of the programmable data processing device may execute the computer-readable instructions to generate means for performing an operation specified in a flowchart or block diagram. Examples of processors include computer processors, central processing units, processing units, microprocessors, digital signal processors, controllers, microcontrollers, etc. A computer may have one or more processors. In a multiprocessor system with multiple processors, each processor executes a portion of the program, and data from the program execution is passed between processors as needed, allowing the multiple processors to execute the program collectively. For example, in multitasking, each of the multiple processors may execute a portion of each task in small chunks by switching tasks at each time slice. In this case, which part of a program each processor executes changes dynamically. Alternatively, which part of the program each of the multiple processors executes may be statically determined by multiprocessor-aware programming.

[0146] Although the present invention has been described above using embodiments, the technical scope of the present invention is not limited to the scope described in the above embodiments. It will be apparent to those skilled in the art that various modifications or improvements can be made to the above embodiments. It will be clear from the claims that such modified or improved forms may also be included in the technical scope of the present invention.

[0147] It should be noted that the execution order of operations, procedures, steps, and stages in the devices, systems, programs, and methods shown in the claims, specifications, and drawings is not explicitly stated as "before" or "prior to," and that these can be performed in any order unless the output of a previous operation is used in a later operation. Even if the operation flow in the claims, specifications, and drawings is described using phrases such as "first," and "next," for convenience, this does not mean that it is mandatory to perform the operations in that order.

[0148] 10 Production system, 20 Management device, 100 Cell controller, 102 Setting unit, 104 Creation unit, 105 Intermediary program storage unit, 106 Management unit, 108 Reception unit, 110 Cell control unit, 112 Controller communication unit, 114 Environmental information sharing unit, 116 Execution restart data storage unit, 118 Display control unit, 120 Restart instruction generation unit, 130 Register, 140 Register, 200 Device controller, 202 Creation unit, 204 Storage unit, 206 Controller communication unit, 208 Device control unit, 210 Environmental management unit, 220 Status data, 250 Task program, 260 Device controller A, 270 Device controller B, 280 Device controller C, 300 Industrial equipment, 400 Recipe data, 500 Execution order data, 600 Processing instruction data, 700 Task setting UI, 710 Task field, 720 Task information field, 800 Recipe data setting UI, 810 Recipe field, 820 Recipe information field, 830 Task field, 840 Execution order field, 850 Task information field, 910 Management program, 920 Instruction mediation program, 930 State mediation program, 1200 Computer, 1210 Host controller, 1212 CPU, 1214 RAM, 1216 Graphics controller, 1218 Display device, 1220 Input / output controller, 1222 Communication interface, 1224 Storage device, 1230 ROM, 1232 Input device, 1240 Input / output chip

Claims

1. A production system in which multiple industrial devices, including a robot, cooperate to produce one or more products, comprising: a plurality of device controllers that control each of the plurality of industrial devices; and a cell controller that can communicate with the plurality of device controllers and controls the production system, wherein each of the plurality of device controllers has a task program storage unit that stores a task program that causes the industrial device that is the target of control to execute a task which is a unit that performs a specific process on the product in order to produce the product; the cell controller has a management unit that stores processing instruction data for each type of product and for each task, which differs for each type of product and includes parameters used by the device controller when causing the industrial device to execute the task; an intermediary program storage unit that stores an instruction intermediary program for each of the plurality of device controllers to convert the processing instruction data into a format that the device controller can interpret and transmit it to the device controller; and a cell control unit that transmits the processing instruction data corresponding to the type of product to be produced and the task to be executed on the product to the device controller that causes the industrial device to execute the task, using the instruction intermediary program stored in the intermediary program storage unit that corresponds to the device controller, A production system in which each of the plurality of device controllers has a device control unit that controls the industrial device to be controlled in order to execute a task based on the processing instruction data received from the cell controller and the task program for the task corresponding to the processing instruction data.

2. The production system according to claim 1, wherein the mediating program storage unit stores a state mediating program for each of the plurality of device controllers that converts state data indicating the state of the device controller received from the device controller into a format that can be interpreted by the cell controller, and the cell control unit transmits the processing instruction data to the device controller based on the state data converted using the state mediating program corresponding to the device controller stored in the mediating program storage unit.

3. The production system according to claim 2, wherein the cell control unit converts the state data from the plurality of device controllers using a plurality of state mediation programs corresponding to a plurality of device controllers that execute a plurality of tasks, and transmits the processing instruction data to the device controller that has been determined to be capable of executing a task based on the state data of the plurality of device controllers, using the instruction mediation program corresponding to that device controller.

4. The production system according to claim 2 or 3, wherein the device control unit transmits the status data including the execution result of the task to the cell controller when the execution of the task corresponding to the processing instruction data received from the cell control unit is completed, the cell control unit converts the status data using the status mediation program corresponding to the device controller that transmitted the status data, identifies the next task to be executed based on the execution result included in the status data, and transmits the processing instruction data corresponding to the identified task to the device controller corresponding to the identified task using the instruction mediation program corresponding to the device controller.

5. The production system according to claim 4, wherein the management unit stores recipe data for each type of product, which includes execution order data indicating the execution order of a plurality of tasks to be performed on the product and a plurality of processing instruction data corresponding to the plurality of tasks; and the cell control unit converts the state data using the state mediation program corresponding to the device controller that transmitted the state data, identifies the next task to be performed based on the execution result and the execution order data included in the state data, and transmits the processing instruction data corresponding to the identified task to the device controller corresponding to the identified task using the instruction mediation program corresponding to the device controller.

6. The production system according to any one of claims 2 to 5, wherein the cell control unit periodically executes a plurality of state mediation programs corresponding to a plurality of device controllers that perform a plurality of tasks, and a plurality of instruction mediation programs corresponding to the plurality of device controllers.

7. The production system according to claim 6, wherein the cell control unit uses the plurality of state mediation programs to perform the conversion of the state data from the plurality of device controllers every cycle.

8. The production system according to claim 6 or 7, wherein the instruction mediation program defines transmission conditions for transmitting the processing instruction data, and the cell control unit executes the instruction mediation program and transmits the processing instruction data to the device controller at intervals in which the transmission conditions are met.

9. The production system according to any one of claims 1 to 8, wherein the management unit stores a plurality of processing instruction data corresponding to a plurality of tasks to be performed on the product, for each type of product, and the cell control unit transmits each of the plurality of processing instruction data corresponding to processing instruction identification information set in a management program capable of setting processing instruction identification information that can identify the plurality of processing instruction data to the device controller that causes the industrial device to perform each of the plurality of tasks, using the instruction mediation program stored in the mediation program storage unit and corresponding to the device controller.

10. The production system according to any one of claims 1 to 9, wherein the cell control unit transmits a plurality of processing instruction data corresponding to a plurality of tasks to a plurality of device controllers in accordance with the execution order of the plurality of tasks, and generates execution restart data including the execution status of the plurality of tasks when the execution of the plurality of tasks is interrupted.

11. The production system according to claim 10, wherein the cell control unit resumes execution of the plurality of tasks based on the execution status of the plurality of tasks included in the execution resume data, in response to a restart instruction based on the execution resume data.

12. The production system according to claim 11, comprising: an execution restart data storage unit for storing execution restart data; a display control unit for controlling the display of the execution restart data stored in the execution restart data storage unit; and a restart instruction generation unit for generating a restart instruction in response to a user instruction for the execution restart data.

13. The production system according to any one of claims 10 to 12, wherein the management unit stores a plurality of processing instruction data corresponding to the plurality of tasks to be performed on the product for each type of product, and the cell control unit generates execution restart data including the execution status of the plurality of tasks and processing instruction identification information that can identify the plurality of processing instruction data corresponding to the plurality of tasks when the execution of the plurality of tasks is interrupted.

14. The production system according to any one of claims 1 to 13, wherein the plurality of device controllers include two or more device controllers having different communication data structures or data formats.

15. A cell controller for controlling a production system in which multiple industrial devices, including a robot, cooperate to produce one or more products, comprising: a controller communication unit that communicates with multiple device controllers that control each of the multiple industrial devices; a management unit that stores processing instruction data for each product type and each task, which differs for each product type and is used by the device controller when causing the industrial device to execute a task, which is a unit that performs specific processing on the product in order to produce the product; an intermediary program storage unit that stores an instruction intermediary program for each of the multiple device controllers that converts the processing instruction data into a format that the device controller can interpret and transmits it to the device controller; and a cell control unit that transmits the processing instruction data corresponding to the product type to be produced and the task to be executed on the product to the device controller that causes the industrial device to execute the task, using the instruction intermediary program stored in the intermediary program storage unit that corresponds to the device controller.

16. A control method performed by a cell controller that can communicate with a plurality of device controllers that control each of the plurality of industrial devices, which controls a production system in which a plurality of industrial devices, including a robot, cooperate to produce one or more products, comprising: a variety identification step of identifying the variety of product to be produced; a processing instruction data reading step of reading the processing instruction data corresponding to the variety identified in the variety identification step and the task to be executed on the product from a management unit that stores processing instruction data for each variety of product and for each task, which includes parameters used by the device controller when causing the industrial device to execute a task that is a unit of processing specific on the product in order to produce the product, and which differs for each variety of product; and an instruction mediation program reading step of reading the instruction mediation program corresponding to the device controller from an intermediary program storage unit that stores an instruction mediation program that converts the processing instruction data into a format that the device controller can interpret and transmits it to the device controller, for each of the plurality of device controllers. A control method comprising: a processing instruction data transmission step, which transmits the processing instruction data read in the processing instruction data reading step to the device controller that causes the industrial device to execute the task, using the instruction mediation program read in the instruction mediation program reading step.

17. A program for causing a cell controller, which can communicate with a plurality of device controllers that control each of the plurality of industrial devices, to execute the control method described in claim 16, for a production system in which a plurality of industrial devices, including robots, cooperate to produce one or more products.

Citation Information

Patent Citations

  • System, method, and program for factory monitoring

    JP2018005833A

  • Computer for controlling machine connected with machine in mutually communicable fashion, machine system, base software, storage medium readable by computer, data structure and machine control method

    JP2018197946A

  • Sensor data analysis system and sensor data analysis method

    JP2019204224A

  • Work operation process assistance method

    JP2020149714A

  • Device, system, method, and program for managing recipe intended to control line

    JP2024136434A