Production system, cell controller, and production method

The production system with a cell controller efficiently manages product-dependent data to facilitate flexible production, addressing inefficiencies in conventional systems by reducing man-hours and downtime for product changes.

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

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
YASKAWA DENKI KK
Filing Date
2025-06-09
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 program changes and manual intervention when adding or changing product varieties, leading to increased man-hours and production disruptions.

Method used

A production system with a cell controller that manages product-dependent data, including processing instruction data and execution order data, allowing for flexible and efficient production by adjusting parameters and execution orders based on product type, reducing the need for program changes and minimizing production downtime.

Benefits of technology

Enhances production efficiency by enabling rapid changes or additions to product types, reducing man-hours and start-up time, and minimizing production disruptions, thus improving overall industrial productivity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025020814_23042026_PF_FP_ABST
    Figure JP2025020814_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 at least one product, 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. The plurality of device controllers each have a task program storage part that stores a task program for causing the corresponding industrial device, which is a control target, to execute a task that is a unit for performing a specific process on the product when producing the product. The cell controller includes: a management part that stores processing instruction data items, which differ for respective product types and include parameters to be used by the device controllers when causing the industrial devices to execute tasks, for the respective product types and the respective tasks; and a cell control part that transmits a processing instruction data item corresponding to a product type of a production target and a task to be executed on the product to a device controller for causing an industrial device to execute the task. The plurality of device controllers each include a device control part that controls the corresponding industrial device, which is a control target, so as to execute the task on the basis of the processing instruction data item received from the cell controller and the task program of the task corresponding to the processing instruction data item.
Need to check novelty before this filing date? Find Prior Art

Description

Production system, cell controller, and production method

[0001] The present invention relates to a production system, a cell controller, and a production method.

[0002] Patent documents 1 and 2 describe a production system comprising: a process including multiple tasks for a workpiece; a command output unit that outputs an execution command for the next task based on progress information of the process; an environmental information storage unit that stores environmental information; a robot controller that causes a robot to execute the next task based on the execution command output from the command output unit and the environmental information in the environmental information storage unit; and an environmental update unit that updates the environmental information in the environmental information storage unit according to the robot's movements. Patent document 3 describes a cell control device comprising: a sensor management unit that integrates and manages information from sensors; a work management unit that monitors at least one of the workpiece movement amount and state amount included in the information from sensors; and a work management unit that selects a workpiece to be worked on based on at least one of the workpiece movement amount and state amount and a work request from a machine control device, and transmits information about the workpiece to be worked on to the machine control device. Patent Document 4 describes a production cell comprising a plurality of work execution elements that perform work, and an information processing device connected to each work execution element by communication means for directing the work, wherein the information processing device outputs a command to each work execution element consisting of a set of work units with execution order, each work execution element stores an operation program that performs one or more work units, and the production cell is characterized in that it performs work by executing the operation program in the execution order based on the set of work units with execution order output from the information processing device. [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 Publication No. 2017-134661 [Patent Document 4] Japanese Unexamined Patent Publication No. 2004-185228 General disclosure

[0003] According to an embodiment of the present invention, a production system is provided. In the production system, a plurality of industrial devices including robots may 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 is communicable 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 for causing the industrial device, which is the control target thereof, to execute a task that is a unit for performing a specific process on the product in producing the product. The cell controller may have a management unit that stores process instruction data including parameters used when the device controller causes the industrial device to execute the task, for each product type and for each task, the process instruction data being different for each product type. The cell controller may have a cell control unit that transmits the process instruction data corresponding to the product type of the production target product and the task to be executed on the product, to the device controller that causes the industrial device to execute the task. Each of the plurality of device controllers may have a device control unit that controls the industrial device, which is the control target, to execute the task, based on the process instruction data received from the cell controller and the task program of the task corresponding to the process instruction data.

[0004] In the production system, the management unit may store execution order data indicating the execution order of a plurality of tasks to be performed on the product for each type of product, and the cell control unit may identify the execution order data corresponding to the type of product to be produced, and based on the execution order indicated by the identified execution order data, transmit a plurality of processing instruction data corresponding to the plurality of tasks to the device controller. When the execution of a task corresponding to the processing instruction data received from the cell control unit is completed, the device control unit may transmit the execution result of the task to the cell controller, and based on the execution result received from the device control unit and the execution order data, the cell control unit may identify the next task to be executed, and transmit the processing instruction data corresponding to the identified task to the device controller corresponding to the identified task.

[0005] In any of the above production systems, the management unit may store recipe data for each type of product, which includes execution order data indicating the execution order of the multiple tasks to be performed on the product, and a plurality of processing instruction data corresponding to the multiple tasks. The production system may include a creation unit that creates the recipe data, and the creation unit may create different recipe data for some of the tasks if the industrial equipment that performs them is physically different, even if the multiple tasks and execution order indicated by the execution order data are the same.

[0006] Any of the above production systems may further include a creation unit for creating the execution order data, and the creation unit may create the execution order data so that the multiple tasks are executed sequentially or in parallel. The creation unit may create the execution order data by prohibiting conditional branching and loops in relation to the execution order of the multiple tasks.

[0007] In any of the above production systems, the device control unit may determine the execution timing of the task corresponding to the processing instruction data received from the cell controller based on environmental information in the production system relating to the industrial equipment to be controlled, and control the industrial equipment to execute the task at that execution timing based on the processing instruction data and the task program. The cell controller may further have an environmental information sharing unit that collects environmental information in the production system that each of the plurality of device controllers can change, and shares the collected environmental information with the plurality of device controllers, and the device control unit may acquire the environmental information shared from the environmental information sharing unit and determine the execution timing based on the acquired environmental information.

[0008] In any of the above production systems, the processing instruction data may include a plurality of parameters to be set for a plurality of variables included in the task program, and the device control unit may set the plurality of parameters included in the processing instruction data received from the cell controller into the plurality of variables included in the task program for the task corresponding to the processing instruction data, and control the industrial device to be controlled so as to execute the task based on the task program.

[0009] 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 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 product type and for 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 a specific process on the product in order to produce the product. The cell controller may include 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.

[0010] According to one embodiment of the present invention, a production method is provided for producing one or more products by having a plurality of industrial devices, including a robot, cooperate. The production method may include a variety identification step in which a cell controller, which can communicate with a plurality of device controllers that control each of the plurality of industrial devices, identifies the variety of product to be produced. The production method may include a reading step in which the cell controller reads the processing instruction data for a plurality of tasks corresponding to the variety identified in the variety identification step from a storage 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 devices 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 production method may include a transmission step in which the cell controller transmits the processing instruction data for the plurality of tasks read in the reading step to the plurality of device controllers that cause the plurality of industrial devices to execute the plurality of tasks. The production method may include a production step in which a plurality of device controllers, having received the processing instruction data from the cell controller, control the industrial device to execute a task based on the received processing instruction data and a task program that causes the industrial device to execute the task corresponding to the processing instruction data, thereby producing the product.

[0011] 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.

[0012] This diagram provides a schematic overview of an example of the production system 10. This diagram provides a schematic overview of an example of the functional configuration of the cell controller 100. This diagram provides a schematic overview of an example of the functional configuration of the device controller 200. This diagram provides a schematic overview of an example of the task setting UI (User Interface) 700. This diagram provides a schematic overview of an example of the recipe data setting UI 800. This diagram provides an explanation of the automatic correction of the execution order data 500 by the creation unit 104. This diagram provides an explanation of the configuration of the recipe data 400. This diagram provides an explanation of the flow of the production method for products in the production system 10. This diagram provides 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.

[0013] 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.

[0014] 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.

[0015] 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.

[0016] 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.

[0017] 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.

[0018] 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.

[0019] The cell controller 100 and the multiple device controllers 200 may be physically different. 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 one physical device. 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 different, or even 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.

[0020] 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.

[0021] 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.

[0022] 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.

[0023] 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.

[0024] 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.

[0025] 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.

[0026] 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 tasks. In other words, the cell controller 100 may manage the execution order data 500 corresponding to the variety of product and the multiple processing instruction data 600 corresponding to the multiple tasks whose execution order is indicated by the execution order data 500, based on the recipe data 400 for each variety of product. The cell controller 100 may also manage the execution order data 500 and the processing instruction data 600 without managing them in units of recipe data 400.

[0027] 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.

[0028] 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.

[0029] 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.

[0030] 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.

[0031] 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.

[0032] 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.

[0033] 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.

[0034] 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.

[0035] 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.

[0036] 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, a management unit 106, a reception unit 108, a cell control unit 110, a controller communication unit 112, and an environmental information sharing unit 114. However, it is not necessarily required that the cell controller 100 include all of these units.

[0037] 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.

[0038] 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.

[0039] The creation unit 104 creates various types of data. The creation unit 104 may create various types of data according to user input via the input unit.

[0040] [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.

[0041] [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.

[0042] 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.

[0043] 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.

[0044] The creation unit 104 may have a function of setting conditional branches and loops for a plurality of tasks, and may also reject the setting of conditional branches and loops. For example, when the creation unit 104 receives a conditional branch setting instruction from the user, it outputs an alarm. For example, when the creation unit 104 receives a loop setting instruction from the user, it outputs an alarm. For example, the creation unit 104 makes it impossible to load the execution order data 500 in which a conditional branch is set. For example, the creation unit 104 makes it impossible to activate the execution order data 500 in which a loop is set. For example, the creation unit 104 automatically corrects the execution order data 500 in which a conditional branch is set by the user so that there is no conditional branch. As an example, for the execution order data 500 in which a conditional branch is set by the user, the creation unit 104 deletes the execution order data 500 and, instead, creates a plurality of execution order data 500 corresponding to each branch. For example, the creation unit 104 automatically corrects the execution order data 500 in which a loop is set by the user so that there is no loop. As an example, for the execution order data 500 in which a loop is set by the user, the creation unit 104 deletes the execution order data 500 and, instead, creates execution order data 500 in which tasks are arranged for the number of times of the loop.

[0045] [Creation of Recipe Data 400] The creation unit 104 may create recipe data 400. The creation unit 104 may create recipe data 400 including execution order data 500 indicating the execution order of a plurality of tasks to be executed for a product and a plurality of process instruction data 600 corresponding to the plurality of tasks for each variety of the product. For example, when it is determined to produce a new variety of product, the creation unit 104 creates recipe data 400 corresponding to the variety according to user input. The user may input to newly create the recipe data 400, or may input to copy and edit the 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 receive user input via the recipe data setting UI.

[0046] The creation unit 104 may create different recipe data 400 for some one or more tasks even if the plurality of tasks and the execution order indicated by the execution order data 500 are the same but the industrial devices 300 to be executed are physically different. For example, when a first plurality of tasks and a second plurality of tasks have the same industrial device 300 to be executed for some one or more tasks and the corresponding process instruction data 600 is the same, and for the remaining one or more tasks, the industrial devices 300 to be executed are physically different but of the same type of industrial device 300 and the corresponding process instruction data 600 is the same, different recipe data 400 is created for the first plurality of tasks and the second plurality of tasks. An industrial device 300 that is physically different from a certain industrial device 300 but of the same type is, for example, an industrial device 300 of the same model number as the certain industrial device 300. As a specific example, in the case of transporting, processing, and inspecting a product, in the execution order of transporting by transport device A, processing by processing device A, and inspecting by inspection device A, and the execution order of transporting by transport device A, processing by processing device B of the same model number as processing device A, and inspecting by inspection device A, the processes performed on the product are common, but the creation unit 104 creates different recipe data 400 for these.

[0047] Thereby, for example, in a situation where a plurality of industrial devices 300 of the same type are arranged in a cell, the cell controller 100 can perform control such as selectively using the recipe data 400 according to the processing status etc. of the plurality of industrial devices 300 in order to perform overall optimization. For example, by managing the common "transport by transport device A → processing by processing device A → inspection by inspection device A" and "transport by transport device A → processing by processing device B → inspection by inspection device A" of the process instruction data 600 with different recipe data 400, it becomes easier to verify the differences in production quality and production speed between the case of using processing device A and the case of using processing device B.

[0048] 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.

[0049] 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.

[0050] 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.

[0051] 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.

[0052] 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.

[0053] [When the production start instruction does not include 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.

[0054] [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.

[0055] [Provision of processing instruction data 600 to the device controller 200] The cell control unit 110 may provide the 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 device controller 200 to which the data is provided. The cell control unit 110 may place the processing instruction data 600 in the area corresponding to the device controller 200 to which the data is provided. The cell control unit 110 may transmit the processing instruction data 600 placed in the predetermined storage area to the device controller 200 to which the data is provided, 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.

[0056] 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.

[0057] 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. 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. The cell control unit 110 continues this process until all tasks are completed.

[0058] 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.

[0059] 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 the device controllers 200 can change may represent the environment in the production system 10 that can be changed by the device controllers 200 controlling the industrial equipment 300.

[0060] 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.

[0061] 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.

[0062] 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.

[0063] 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.

[0064] 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.

[0065] 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.

[0066] 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.

[0067] [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.

[0068] 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.

[0069] 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.

[0070] 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.

[0071] The device control unit 208 may transmit the execution result of a task to the cell controller 100 via the controller communication unit 206 when the task corresponding to the processing instruction data 600 received from the cell controller 100 is completed. The cell control unit 110 of the cell controller 100 may identify the next task to be executed based on the execution result received from the device control unit 208 and the execution order data 500, and transmit the 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, an environment can be provided in which product varieties can be easily changed or added simply by changing the execution order data 500 and processing instruction data 600 of the cell control unit 110.

[0072] 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.

[0073] 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.

[0074] 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.

[0075] 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.

[0076] 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.

[0077] 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.

[0078] 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.

[0079] 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.

[0080] 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.

[0081] 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.

[0082] 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.

[0083] 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.

[0084] 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.

[0085] 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.

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

[0087] 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 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 S108.

[0088] In S112, the cell control unit 110 transmits 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 to the device controller 200, which causes the industrial device 300 to execute that task.

[0089] 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 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.

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

[0091] Figure 9 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.

[0092] 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.

[0093] 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.

[0094] 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.

[0095] 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.

[0096] 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.

[0097] 10 Production system, 20 Management device, 100 Cell controller, 102 Setting unit, 104 Creation unit, 106 Management unit, 108 Reception unit, 110 Cell control unit, 112 Controller communication unit, 114 Environmental information sharing unit, 200 Device controller, 202 Creation unit, 204 Storage unit, 206 Controller communication unit, 208 Device control unit, 210 Environmental management unit, 250 Task program, 300 Industrial device, 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, 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, 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; 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; and each of the plurality of device controllers has a device control unit that controls the industrial device that is the target of control 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.

2. The production system according to claim 1, wherein the management unit stores execution order data indicating the execution order of a plurality of tasks to be performed on the product for each variety of the product, and the cell control unit identifies the execution order data corresponding to the variety of the product to be produced, and transmits a plurality of processing instruction data corresponding to the plurality of tasks to the device controller based on the execution order indicated by the identified execution order data.

3. The production system according to claim 2, wherein the device control unit transmits 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, and the cell control unit identifies the next task to be executed based on the execution result received from the device control unit and the execution order data, and transmits the processing instruction data corresponding to the identified task to the device controller corresponding to the identified task.

4. The production system according to claim 2 or 3, wherein the management unit stores recipe data for each variety of product, which includes execution order data indicating the execution order of the plurality of tasks to be performed on the product, and a plurality of processing instruction data corresponding to the plurality of tasks.

5. The production system according to claim 4, further comprising a creation unit for creating the recipe data, wherein the creation unit creates different recipe data for one or more of the tasks if the industrial equipment performing those tasks is physically different, even if the multiple tasks and their execution order are the same as indicated by the execution order data.

6. The production system according to any one of claims 2 to 4, further comprising a creation unit for creating the execution order data, wherein the creation unit creates the execution order data so that the plurality of tasks are executed sequentially in series or in parallel.

7. The production system according to claim 6, wherein the creation unit creates the execution order data with respect to the execution order of the plurality of tasks, prohibiting conditional branching and loops.

8. The production system according to any one of claims 1 to 7, wherein the device control unit determines the execution timing of the task corresponding to the processing instruction data received from the cell controller based on environmental information in the production system relating to the industrial device to be controlled, and controls the industrial device to execute the task at that execution timing based on the processing instruction data and the task program.

9. The production system according to claim 8, wherein the cell controller further includes an environmental information sharing unit that collects environmental information in the production system that each of the plurality of device controllers can change, and shares the collected environmental information with the plurality of device controllers, and the device control unit acquires the environmental information shared from the environmental information sharing unit and determines the execution timing based on the acquired environmental information.

10. The production system according to any one of claims 1 to 9, wherein the processing instruction data includes a plurality of parameters to be set for a plurality of variables included in the task program, and the device control unit sets the plurality of parameters included in the processing instruction data received from the cell controller to the plurality of variables included in the task program for the task corresponding to the processing instruction data, and controls the industrial device to be controlled so as to execute the task based on the task program.

11. 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; 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.

12. A production method for producing one or more products by having multiple industrial devices, including a robot, cooperate, comprising: a variety identification step in which a cell controller, which can communicate with multiple device controllers that control each of the multiple industrial devices, identifies a variety of product to be produced; a reading step in which the cell controller reads processing instruction data for multiple tasks corresponding to the variety identified in the variety identification step 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 devices 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; a transmission step in which the cell controller transmits the processing instruction data for the multiple tasks read in the reading step to the multiple device controllers that cause the multiple industrial devices to execute the multiple tasks; and a production step in which the multiple device controllers that have received the processing instruction data from the cell controller control the industrial devices to execute the tasks based on the received processing instruction data and a task program that causes the industrial devices to be controlled to execute the tasks corresponding to the processing instruction data, thereby producing the products.

Citation Information

Patent Citations

  • Production line monitor system

    JP1999161322A

  • Production system and machining device selective method in production system

    JP2000033538A

  • Fog Computing-Driven Flexible Factory

    JP2019514144A

  • Production system, cell controller, robot controller, and control method

    JP2021193543A

  • Program creation device, program creation method, and program

    JP2022101877A