unit controller
By introducing a production management department, a sequence execution department, and a resource arbitration department into the unit controller, operators can create production programs themselves, solving the problems of high operating costs and resource contention in existing technologies, and realizing efficient multi-variety small-batch production.
Patent Information
- Application Number
- CN202111335335.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-11-12
- Filing Date
- 2021-11-11
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2041-11-11
Smart Images

Figure CN114488964B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to Japanese Patent Application No. 2020-188984, filed on November 12, 2020, the entire contents of which, including the specification, claims, drawings and abstract, are incorporated herein by reference. Technical Field
[0003] This disclosure discloses a unit controller that controls the operation of a processing unit, which includes two or more processing machines and one or more conveying devices such as robots. Background Technology
[0004] In related technologies, processing units are known to include two or more processing machines and one or more robots as work resources. Multiple workpieces can be produced in parallel using such processing units. The processing unit is controlled by a cell controller. The cell controller outputs commands to the multiple work resources constituting the processing unit based on the type of item to be produced.
[0005] Here, the unit controller according to the related technology typically includes a commercially available general-purpose PLC. In this case, a PLC program has been developed using a PLC programming language to meet the requirements of the processing unit in the factory production line, in order to achieve the desired production process. For example, the unit controller according to the related technology instructs each work resource to execute a program for that work resource according to the processing progress (e.g., an NC program in the case of a machining machine). In the unit controller according to the related technology, it is necessary to create a PLC program, such as a ladder program describing the behavior of the unit controller. Based on information such as the type of item to be processed, the type of work resource to be used, and the position of the workpiece during processing, the timing of outputting any program to any work resource is determined.
[0006] However, in a PLC program, the function to be executed by the unit controller (ultimately the PLC) is described as a sequence of operations derived from combinations of all input signals. Therefore, it is difficult for the equipment administrator or operator of the processing unit to create or modify PLC programs themselves; typically, these tasks are created and modified by system integrators with expert knowledge.
[0007] Therefore, using PLC-based unit controllers presents the problem of high operating costs due to the need for outsourcing to system integrators. Furthermore, there is the issue of time required to change production processes, as each change necessitates outsourcing to a system integrator. In particular, the demand for high-mix, low-volume production has been consistently high recently, with production processes frequently changing. A significant problem is the need for outsourcing, and the time required for each change to these frequently occurring production processes.
[0008] JPH06-277990A discloses a unit controller that automatically generates a production plan when producing articles using a processing unit. However, JPH06-277990A does not detail the specific steps for generating the production plan. In particular, according to JPH06-277990A, it is unclear how to eliminate resource contention between workpieces when producing multiple workpieces in parallel.
[0009] Furthermore, JPH2004-185228A discloses a system that allows each work resource to pre-store operating procedures for executing more than one work section, and, if necessary, allows a unit controller to output a production command to each work resource, which includes a set of work sections assigned an execution sequence. In this case, when a production command is output from the unit controller, the work resource executes the operating procedures in the order instructed by the production command to perform the work. However, according to the technology of JPH2004-185228A, it is cumbersome to store specific programs on the work resource. Moreover, according to JPH2004-185228A, it is also unclear how to eliminate work resource contention between workpieces when producing multiple workpieces in parallel.
[0010] Therefore, this disclosure provides a unit controller in which even operators unfamiliar with the detailed control specifications of the processing unit and PLC language can easily create and edit production programs that avoid resource contention among multiple workpieces, thereby further improving the production efficiency of the items. Summary of the Invention
[0011] This disclosure provides a unit controller for controlling the operation of a processing unit, the processing unit including two or more processing machines and one or more robots as work resources, the unit controller being configured to control the operation of the processing unit based on a production program that records one or more steps to be executed when only one item of the corresponding item is produced in the processing unit, among a plurality of production programs prepared for one or more items produced in the processing unit.
[0012] In this configuration, the unit controller may include: one or more production management units, each configured to correspond to one or more items produced in the processing unit and configured to command the loading of new workpieces into the processing unit to produce articles of the corresponding items; multiple sequence execution units, configured to sequentially execute one or more processes recorded in the production program upon receiving the loading command; and multiple resource arbitration units, each configured to correspond to one or more work resources, wherein: the sequence execution units may regard the resource arbitration units as work resources associated with the resource arbitration units and send commands to the resource arbitration units for the work resources, and the resource arbitration units may arbitrate the timing at which each of the multiple sequence execution units uses the work resources associated with the resource arbitration units.
[0013] Before the current process is completed, the sequence execution unit may output a request to the resource arbitration unit associated with the work resource for the use of new work resources needed in the next process.
[0014] The robot may include one or more mounting parts on which hands are mounted. The sequence execution unit may, when a new robot is needed in the next process, specify a previous workpiece passing judgment process corresponding to the current process, and after another sequence execution unit for performing the production process of the previous workpiece begins to execute the previous workpiece passing judgment process or issues a use request for the robot regarding the previous workpiece passing judgment process, issue a use request for the robot regarding the next process. The previous workpiece passing judgment process may be the next resource call process when the mounting part used in the next process is the same as the mounting part used in the next resource call process where the robot is used again. The previous workpiece passing judgment process may be the next process when the mounting part used in the next process is different from the mounting part used in the next resource call process, or when the next resource call process does not exist.
[0015] The unit controller may further include: a composite table storage unit configured to store a composite table, the composite table recording two or more processes that can be executed in parallel among multiple processes constituting the production program, and composite commands that allow the work resource to execute the two or more processes in parallel, wherein: when receiving an execution command for two or more processes that can be executed in parallel from each of two or more different sequence execution units, the resource arbitration unit may convert the execution command for the two or more processes into the composite command based on the composite table, and output the composite command to the work resource.
[0016] The unit controller may include the two or more production management departments that operate independently of each other, wherein the unit controller may allow the processing units to produce the two or more items in parallel.
[0017] The unit controller may further include a retry determination unit configured to monitor for the existence of anomalies related to process execution, and when the anomaly is detected, return to the start of the process in which the anomaly was detected or return to a pre-set retry point before the start of the process, so as to issue a retry command to the sequence execution unit for re-executing one or more processes including the process.
[0018] In this case, when an alternative process is defined for the process assigned to be re-executed by the retry command, the sequence execution unit can execute the alternative process.
[0019] The retry determination unit can determine that an abnormality has occurred when the time elapsed since the start of the process exceeds a predetermined allowed execution time or when an error is output from the work resource during the execution of the process.
[0020] The unit controller may include a workpiece skip execution unit, which is configured to execute a workpiece skip operation that discards the current workpiece when the number of consecutive retry commands issued from the retry determination unit to the sequence execution unit for the current operation exceeds a predetermined number of allowed retry commands.
[0021] According to the unit controller described in this disclosure, an operator can create a production program that records one or more operations to be performed when only one item of a corresponding product is produced in the processing unit. Such a production program can be created solely based on the operator's knowledge. As a result, it is not necessary to request external experts to create the program. Consequently, the time required to create and edit the production program can be reduced, thereby further improving the production efficiency of the item. Furthermore, when the unit controller includes a resource arbitration department, even when the operator does not create a complex production program, contention for work resources between workpieces can be avoided. Attached Figure Description
[0022] The embodiments of this disclosure will be described based on the following figures, wherein:
[0023] Figure 1 This is a diagram showing the unit controller and the processing unit to be controlled by the unit controller;
[0024] Figure 2 This is a functional block diagram of the unit controller;
[0025] Figure 3 It was extracted Figure 2 A diagram of the main components;
[0026] Figure 4 This is a diagram illustrating an example of the production process for producing articles of the first category;
[0027] Figure 5 This is a diagram illustrating an example of a production process for producing articles of the second heading;
[0028] Figure 6 This is a flowchart illustrating the processing flow of the First Production Management Department;
[0029] Figure 7 This is a flowchart showing the first half of the processing flow of the sequence execution unit;
[0030] Figure 8 This is a flowchart showing the latter half of the processing flow of the sequence execution unit;
[0031] Figure 9 It is shown that it is used for Figure 7 and Figure 8 A flowchart of the robot's processing flow;
[0032] Figure 10 This diagram illustrates the counting process of the previous workpiece through the judgment steps.
[0033] Figure 11 This is a flowchart illustrating the processing flow of the Resource Arbitration Department;
[0034] Figure 12 It is shown Figure 11 A flowchart of the selection process in the middle;
[0035] Figure 13 This is a flowchart showing the first half of the processing flow of the sequence execution unit in another specific example;
[0036] Figure 14 This is a flowchart illustrating the latter half of the processing flow of the sequence execution unit in another specific example;
[0037] Figure 15 It is shown that it is used for Figure 13 and Figure 14 A flowchart of the robot's processing flow;
[0038] Figure 16 This is a functional block diagram of a unit controller, which is another specific example.
[0039] Figure 17 This is a diagram showing an example of a composite table;
[0040] Figure 18 This is a flowchart showing the first half of the processing flow of the resource arbitration department, including the composite operation judgment department;
[0041] Figure 19 This is a flowchart showing the latter half of the processing flow of the resource arbitration department, including the composite operation judgment department;
[0042] Figure 20 This is a graph showing a simulation result of the unit controller;
[0043] Figure 21 This is a graph showing another simulation result of the unit controller;
[0044] Figure 22 This is a diagram showing another simulation result of the unit controller;
[0045] Figure 23 This is a diagram illustrating a partial configuration of a unit controller, representing another specific example;
[0046] Figure 24 This is a diagram illustrating an example of a production process with added re-piloting;
[0047] Figure 25 This is a diagram illustrating an example of a production process with added alternative steps; and
[0048] Figure 26 This is a diagram showing a partial configuration of a unit controller, illustrating another specific example.
[0049] Explanation of reference numerals in the attached figures
[0050] 10: Unit Controller; 12: Processor; 14: Memory; 16: Communication I / F; 18: Input Device; 20: Output Device; 22: Production Management Department; 24: Sequence Execution Department; 26: Resource Arbitration Department; 28: Item-Specific Production Program Storage Department; 30: Process Counter; 31: Compound Operation Judgment Department; 32: Compound Table Storage Department; 34: Retry Judgment Department; 36: Execution Time Collection Department; 38: Workpiece Skip Execution Department; 100: Processing Unit; 102: First Processing Machine; 104: Second Processing Machine; 106: Spindle; 108: Sub-spindle; 110: Robot; 111: Hand; 112: Hand Storage; 114: Clamp Storage; 116: Workpiece Cleaner; 118: Workpiece Measuring Device; 120: Temporary Placement Stage; 122: Pallet Loading; 124: Pallet Unloading; 130: Work Resource. Detailed Implementation
[0051] The configuration of the unit controller 10 will now be described with reference to the accompanying drawings. Figure 1 This is a diagram showing the unit controller 10 and the processing unit 100 to be controlled by the unit controller 10. Further, Figure 2 This is a functional block diagram of the unit controller 10. Figure 3 It was extracted Figure 2 A diagram of the main components.
[0052] First, the machining unit 100 to be controlled will be described. The machining unit 100 includes two or more machining machines 102, 104, and performs various types of machining on workpieces. The machining unit 100 in this example includes two metalworking machines that perform machining on metallic materials. The first machining machine 102 is a cutting machine that performs cutting on metal workpieces; specifically, a lathe. The first machining machine 102 includes a main spindle 106 and a sub-spindle 108, and is capable of automatically feeding the workpiece from the main spindle 106 to the sub-spindle 108. Thus, for example, the front and rear surfaces of a workpiece can be machined continuously and automatically using the main spindle 106 and the sub-spindle 108 respectively. The second machining machine 104 has the same configuration as the first machining machine 102 and includes the main spindle 106 and the sub-spindle 108. A clamp for holding the workpiece is attached to the chuck of each of the machining machines 102, 104, but this clamp needs to be changed according to the shape of the workpiece. Therefore, the processing unit 100 is provided with a clamp storage 114 configured to store various types of clamps.
[0053] Here, the first processing machine 102 and the second processing machine 104 can be used in parallel or serially. Correspondingly, there may be a situation where the workpiece processed by the first processing machine 102 is not loaded into the second processing machine 104, or vice versa. For example, a workpiece for a first item can be processed by the first processing machine 102, while a workpiece for a second item can be processed by the second processing machine 104. Furthermore, as another option, the workpiece processed by the first processing machine 102 can be loaded into the second processing machine 104, and additional processing can be performed on it. For example, the workpiece for a first item can be rough-machined by the first processing machine 102 and finish-machined by the second processing machine 104.
[0054] The processing unit 100 also includes a robot 110. The robot 110 is configured to transport, for example, a workpiece or a clamp of a processing machine. In the example shown, the robot 110 is an articulated serial manipulator, in which multiple links are coupled via joints. Hands 111a and 111b are interchangeably attached to the end of the robot 110 to hold the workpiece. Figure 1 In the example, robot 110 is a two-handed robot capable of having both hands 111a and 111b installed simultaneously. In the following description, the two hands 111a and 111b are referred to simply as "hand 111" without a subscript when there is no distinction between them. In this example, a two-handed robot 110 is used, but robot 110 could also be a one-handed robot capable of having only one hand 111 installed.
[0055] The type of hand 111 is selected based on the shape of the item to be held. For example, different types of hands may be used depending on whether the workpiece is held before or after processing. In this case, in the single-handed robot 110, the hand 111 to be installed is replaced when the workpiece before processing is conveyed and the workpiece after processing is conveyed. Figure 1 In the illustrated two-handed robot 110, one robot 110 is equipped with a hand 111a for a workpiece before processing and a hand 111b for a workpiece after processing. In this case, the robot 110 can hold both the workpiece before processing and the workpiece after processing simultaneously, but cannot hold two workpieces before processing or two workpieces after processing simultaneously. The hand 111 attached to the robot 110 is stored in a hand storage unit 112.
[0056] The processing unit 100 is also provided with a workpiece cleaner 116 and a workpiece measuring device 118. The workpiece cleaner 116 is a device for cleaning the processed workpiece and is, for example, a device for spraying a cleaning medium such as air or cleaning fluid. Two workpieces can be loaded into the workpiece cleaner 116 simultaneously. The workpiece measuring device 118 measures the shape of the workpiece before or after processing. The workpiece measuring device 118 includes, for example, a laser measuring instrument. The laser measuring instrument does not include a mechanism for placing or holding the workpiece; instead, the workpiece is measured by the workpiece measuring device 118 while it is held in the robot 110.
[0057] In the processing unit 100, a loading pallet 122, a unloading pallet 124, and a temporary placement table 120 are provided as waiting areas for workpieces. The loading pallet 122 is for unprocessed workpieces, and the unloading pallet 124 is for workpieces that have already been produced and are planned to be shipped out. The temporary placement table 120 is a place where workpieces temporarily wait during the production process. Two workpieces can be loaded into the temporary placement table 120 simultaneously.
[0058] The unit controller 10 controls the operation of such a processing unit 100. More specifically, the unit controller 10 issues commands to the equipment constituting the processing unit 100 (e.g., processing machine or robot 110, and workpiece measuring device 118) to produce only the required quantity of articles of the desired items. In the following description, "work resource 130" refers to the component among the plurality of components of the processing unit 100 that receives commands from the unit controller 10. Figure 1 In the example, it is assumed that among the multiple components, the first processing machine 102, the second processing machine 104, and the robot 110 each serve as working resources 130.
[0059] Unit controller 10 is a computer that physically includes processor 12, memory 14, a communication interface (hereinafter referred to as "communication I / F16"), input device 18, and output device 20. "Computer" also includes a microcontroller in which the computer system is integrated in an integrated circuit. Additionally, processor 12 includes general-purpose processors (e.g., CPU: Central Processing Unit) or application-specific processors (e.g., GPU: Graphics Processing Unit, ASIC: Application Specific Integrated Circuit, FPGA: Field Programmable Gate Array, or programmable logic device). The operation of processor 12, as described below, can be performed not only by a single processor 12 but also collaboratively by multiple processors 12 located physically far apart from each other. Similarly, memory 14 can physically include not only a single memory but also multiple memories 14 located physically far apart from each other. Furthermore, memory 14 can include at least one of semiconductor memory (e.g., RAM, ROM, or solid-state drive) and disk (e.g., hard disk drive).
[0060] Communication I / F 16 exchanges data with external devices of unit controller 10 (e.g., the controller of robot 110 or a processing machine (not shown), or another computer). Communication I / F 16 can communicate with external devices wirelessly or via a wired connection. Input device 18 receives operating instructions from the operator and includes, for example, a keyboard, mouse, touch panel, and microphone. Output device 20 presents information to the operator and includes, for example, a monitor, speaker, and printer.
[0061] Such a unit controller 10 has, for example Figure 2 The functional configuration shown is described below. Before describing the functional configuration of the unit controller 10, the unit controller 10 will be briefly described.
[0062] In many cases, the unit controller 10 of the related technology includes a commercially available general-purpose PLC. In this case, to achieve the desired production process, a PLC program has been developed using a PLC programming language according to the requirements specifications of the processing unit 100 on the factory production line. For example, the unit controller 10 of the related technology instructs each work resource 130 to execute a program for that work resource 130 according to the processing progress (e.g., an NC program in the case of a machining machine). In the unit controller 10 of the related technology, it is necessary to create a PLC program, such as a step program describing the behavior of the unit controller 10. Based on information such as the type of item to be processed, the type of work resource 130 to be used, and the position of the workpiece during processing, the timing of outputting any program to any work resource 130 is determined. However, such a PLC program describes the functions to be executed by the unit controller 10 (and therefore the PLC) as a sequence of operations from a combination of all input signals. Therefore, it is difficult for the equipment administrator or operator of the processing unit 100 to create or modify the PLC program themselves; typically, the PLC program is created and modified by a system integrator with expert knowledge.
[0063] Therefore, using the PLC-based unit controller 10 presents a problem of high operating costs because it requires outsourcing to a system integrator. Furthermore, there is a time-consuming issue when changing production processes, as each change necessitates outsourcing to a system integrator. In particular, the demand for high-mix, low-volume production has been consistently high recently, and production processes frequently change. A significant issue is the need for outsourcing, and the time required for each change to these frequently occurring production processes.
[0064] The unit controller 10 in this example does not require a PLC program and controls the operation of the processing unit 100 based on a production program that can be easily created by the operator. The production program is a program that records one or more steps to be performed when only one item is produced in the processing unit 100. Such a production program is prepared for the quantity of items to be produced in the processing unit 100.
[0065] Figure 4 This is a diagram illustrating an example of the production process for producing articles of the first category. Figure 5 This is a diagram illustrating an example of a production process for producing articles of the second category. Figure 4In the production process for the first item shown, for each of the multiple steps (15 steps in the example shown) performed to produce the first item, the step number, step name, type of work resource 130 to be used, and identification information of the resource program used to operate the work resource 130 are recorded in relation to each other. Such a production process is stored in a file in a format where parameters can be easily edited by the operator (e.g., in tabular or text format). Figure 4 In the work resource 130, the first processing machine 102 is designated as "NC1", the second processing machine 104 as "NC2", and the robot 110 as "R1". Furthermore, the names of the programs to be read and executed by the work resource 130 are recorded as identification information in the resource program column. Figure 4 For example, the workpiece for the first item is cut by the first processing machine 102 and transported by the robot 110.
[0066] The production process for the second item also has the same configuration, recording, in association, the process number, process name, type of work resource 130 to be used, and identification information of the resource program used to operate work resource 130 for each of the multiple processes performed to produce the second item (15 processes in the example shown). Figure 5 In the example, the workpiece for the second item is cut by the second processing machine 104 and conveyed to the robot 110. From Figure 4 and Figure 5 As can be clearly seen, the production program in this example is a program that records the production steps of individual workpieces sequentially. Even operators unfamiliar with programming languages used in PLCs can easily create and modify this production program. Then, the unit controller 10 executes control of the processing unit 100 based on the production program, thereby enabling the operator to respond quickly to changes in the production steps and produce items more efficiently.
[0067] The following will refer to Figure 2 and Figure 3 Describe the functional configuration of the unit controller 10. Functionally, such as... Figure 2 As shown, the unit controller 10 includes one or more production management units 22_1 and 22_2, multiple sequence execution units 24_1 to 24_n, multiple resource arbitration units 26_1 to 26_m, and a item-specific production program storage unit 28. In the following description, when there is no distinction between them, the first production management unit 22_1 and the second production management unit 22_2 are simply referred to as "production management unit 22" without the symbols and subscripts "_1" or "_2" for "first" or "second". This also applies to the sequence execution units and the resource arbitration units.
[0068] The item-specific production program storage unit 28 stores the aforementioned production programs. Production programs are prepared and stored for each of the more than one item produced in the processing unit 100. If necessary, the operator can store a new production program in the item-specific production program storage unit 28. Additionally, if necessary, the operator can edit the production programs stored in the item-specific production program storage unit 28.
[0069] Production management unit 22 is set up corresponding to each item produced in processing unit 100, and it commands processing unit 100 to load new workpieces for the purpose of producing the corresponding item. In this example, since processing unit 100 produces the first item and the second item, unit controller 10 includes two production management units 22; namely, first production management unit 22_1 and second production management unit 22_2. Production management unit 22 is actually an application launched on a computer. Therefore, the computer acts as production management unit 22 when processor 12 executes the application program for production management unit 22 stored in memory 14. In this embodiment, since two production management units 22 are provided, namely, first production management unit 22_1 and second production management unit 22_2, the application programs for the two production management units 22 are launched independently of each other.
[0070] Production Management Unit 22 receives production orders from an external computer or operator. These orders include identification information about the item to be produced and the batch quantity to be produced. Upon receiving such a production order, Production Management Unit 22 instructs Sequence Execution Unit 24 (described below) to execute the production program for the corresponding item. Through this command, new workpieces are loaded onto processing unit 100. Therefore, the production program execution command issued by Production Management Unit 22 to Sequence Execution Unit 24 serves as an instruction to load new workpieces into processing unit 100. The execution command for the production program to Sequence Execution Unit 24 is repeated until the number of workpieces being processed reaches the assigned batch quantity. Furthermore, Production Management Unit 22 also manages the number of workpieces currently loaded into processing unit 100 and the number of workpieces being processed.
[0071] The sequence execution unit 24 executes one or more processes recorded in the production program specified by the production management unit 22 sequentially based on commands issued from the production management unit 22. Similar to the production management unit 22, the sequence execution unit 24 is also an application to be launched on the computer. Therefore, when the processor 12 executes the application program for the sequence execution unit 24 stored in the memory 14, the computer acts as the sequence execution unit 24. In this example, since multiple sequence execution units 24 are set up, the applications for the multiple sequence execution units 24 are launched independently of each other.
[0072] The plurality of sequence execution units 24 operate independently of each other. Furthermore, each of the plurality of sequence execution units 24 treats the resource arbitration unit 26 (described below) as a working resource 130 associated with that resource arbitration unit 26, and sends commands to the resource arbitration unit 26 regarding the working resource 130. Specifically, as Figure 3 As shown, the sequence execution unit 24 sends a request for use of working resource 130 (REQnm) and a command to be issued to working resource 130 (CMDnm) to the resource arbitration unit 26, while the resource arbitration unit 26 sends a request for permission (ACKnm) and a completion notification (DONEnm) indicating that the command execution has been completed to the sequence execution unit 24. In "REQnm", "n" represents the number of the sequence execution unit 24_n, which is the source of the request, and "m" represents the number of the resource arbitration unit 26_m, which is the destination of the request. The meanings of "n" and "m" in "CMDnm", "ACKnm", and "DONEnm" are the same.
[0073] The first production management unit 22_1 uses a predetermined number (e.g., four) of sequence execution units 24 sequentially in a ring-buffered manner to execute the production of the first item. For example, the first production management unit 22_1 instructs the first sequence execution unit 24_1 to load the first workpiece, instructs the second sequence execution unit 24_2 to load the second workpiece, instructs the third sequence execution unit 24_3 to load the third workpiece, and instructs the fourth sequence execution unit 24_4 to load the fourth workpiece. Then, when the production of the first workpiece is completed, the first production management unit 22_1 instructs the first sequence execution unit 24_1 to load the fifth workpiece. Similarly, the second production management unit 22_2 also uses a predetermined number (e.g., four) of sequence execution units 24 sequentially in a ring-buffered manner and executes the production of the second item while loading workpiece processing commands.
[0074] Here, there is no particular limit to the number of such sequence execution units 24, as long as there are two or more. However, in order to reduce the wasted waiting time of the work resources 130 when they are not performing work and to achieve efficient production, the sequence execution units 24 are set for the maximum number of workpieces that can be loaded into the processing unit 100 at the same time (hereinafter referred to as the maximum loadable quantity Wmax). When the first item and the second item are produced in parallel, the maximum loadable quantity Wmax is the sum of the maximum number of workpieces for the first item that can be loaded into the processing unit 100 at the same time (hereinafter referred to as the "first loadable quantity W1max") and the maximum number of workpieces for the second item that can be loaded into the processing unit 100 at the same time (hereinafter referred to as the "second loadable quantity W2max"). In other words, the following relationship is satisfied: Wmax = W1max + W2max.
[0075] When according to Figure 4 and Figure 5 When the production process shown produces items of the first and second categories in parallel, the workpieces for the first category can be simultaneously located at four locations: robot 110, first processing machine 102, temporary placement table 120, and workpiece cleaner 116. Therefore, in this case, the first loadable quantity W1max is "4". Robot 110 can temporarily hold two workpieces, but in this example, the state of two workpieces being assigned to one workpiece resource 130 is not maintained throughout the entire process. Therefore, the number of workpieces located at robot 110 can be counted as "1". Similarly, the number of workpieces located at first processing machine 102 can also be counted as "1".
[0076] In this configuration, the workpieces for the second category can be simultaneously located at four locations: the robot 110, the second processing machine 104, the temporary placement table 120, and the workpiece cleaner 116. Therefore, the second loadable quantity W2max is also "4". Thus, the maximum loadable quantity Wmax is 8 (Wmax = 4 + 4). When only the maximum loadable quantity Wmax (= 8) is provided, the sequence execution unit 24 can produce workpieces with the maximum loadable quantity Wmax in parallel, thereby reducing the wasted waiting time of the work resource 130 and achieving efficient production. The sequence execution unit 24 can be configured with a quantity greater than the maximum loadable quantity Wmax (= 8), but it should be noted that the amount of computer resources used increases, while production efficiency cannot be expected to improve further.
[0077] Resource arbitration units 26 are set up for each of the multiple work resources 130, and the resource arbitration units 26 arbitrate the time when each of the multiple sequence execution units 24 uses the corresponding work resource 130. Figure 1 In the example case, since three work resources 130 are provided with a first processing machine 102, a second processing machine 104, and a robot 110, three resource arbitration departments 26 are provided. Then, for example, the first resource arbitration department 26_1 is associated with the robot 110 (first work resource 130_1), the second resource arbitration department 26_2 is associated with the first processing machine 102 (second work resource 130_2), and the third resource arbitration department 26_3 is associated with the second processing machine 104 (third work resource 130_3).
[0078] Similar to the production management unit 22 and the sequence execution unit 24, the resource arbitration unit 26 is also an application to be launched on the computer. Therefore, when the processor 12 executes the application program for the resource arbitration unit 26 stored in the memory 14, the computer acts as the resource arbitration unit 26. In this example, since multiple resource arbitration units 26 are set up, the applications for the multiple resource arbitration units 26 are launched independently of each other.
[0079] As described above, the resource arbitration unit 26 arbitrates the time when each of the multiple sequence execution units 24 uses the corresponding working resource 130. For such arbitration, the resource arbitration unit 26 receives usage requests REQnm from the multiple sequence execution units 24 at any time. Then, when the corresponding working resource 130 is released, a usage request REQnm is selected from the received usage requests based on a priority order predefined in the program. Here, the algorithm used to determine the priority order can be appropriately changed according to the configuration of the device. In this example, a usage request REQnm is selected according to the following (1) to (3):
[0080] (1) In the same item of use request REQnm, the request with the higher number of processes shall be given priority.
[0081] (2) When comparing usage requests REQnm for different items, the request with a long waiting time after the usage request REQnm is issued shall be given priority.
[0082] (3) If different items have the same waiting time for the REQnm usage request, the REQnm usage request for the first item shall take priority.
[0083] When a usage request REQnm can be selected, the resource arbitration unit 26 outputs a permission notification ACKnm to the sequence execution unit 24 that issued the usage request REQnm. Upon receiving the permission notification ACKnm, the sequence execution unit 24 outputs a command CMDnm to the resource arbitration unit 26, which includes the identification information of the resource program registered in the production program. The resource arbitration unit 26 outputs the command CMDnm to the corresponding work resource 130. When the work resource 130 runs according to the sent command CMDnm, it performs workpiece processing. When the execution of the command CMDnm is completed, the work resource 130 outputs a completion notification DONEnm to the resource arbitration unit 26. The resource arbitration unit 26 sends the received completion notification DONEnm to the sequence execution unit 24. Upon receiving the completion notification DONEnm, the sequence execution unit 24 notifies the resource arbitration unit 26 of the release of the work resource 130 or the command CMDnm for the subsequent process. Thereafter, all resource arbitration units 26 repeat the same process, thereby producing workpieces.
[0084] The following describes the processing flow of each of the Production Management Department 22, Sequence Execution Department 24, and Resource Arbitration Department 26. Figure 6It is a flowchart showing the processing flow of the first production management department 22_1. The first production management department 22_1 waits until a production order is received from an operator or an external computer (S100). The production order includes identification information of the item to be produced and the lot quantity L1 of the item to be produced. When the production order is received, the first production management department 22_1 resets the first loading quantity W1now and the first completion quantity W1done to "0" (S102). The first loading quantity W1now is the number of workpieces for the first item currently present in the processing unit 100. In addition, the first completion quantity W1done is the number of workpieces for the first item that have been produced currently.
[0085] Next, the first production management department 22_1 compares the first completion quantity W1done with the lot quantity L1 (S104). When W1done < L1, the first production management department 22_1 then confirms whether a new workpiece for the first item can be loaded. Specifically, the first production management department 22_1 compares the first loading quantity W1now with the first loadable quantity W1max (S106), and uses the process count CNT = 0 to determine whether there is a previous workpiece (S108). The process count CNT is the value of the number of processes currently being executed by each sequence execution unit 24, and the value of the process count CNT is managed by the sequence execution unit 24.
[0086] When W1now ≥ W1max, it can be said that the processing unit 100 cannot bear the new loading of workpieces for the first item. In addition, even when W1now < W1max, when there is a previous workpiece with CNT = 0 (that is, a previous workpiece whose production process has not advanced from the initial state for some reason), the production progress of the loaded new workpiece cannot be advanced. Therefore, when W1now ≥ W1max ( "No" in S106), or when there is a previous workpiece with CNT = 0 ( "Yes" in S108), the first production management department 22_1 does not instruct the sequence execution unit 24 to execute the production program, and the process proceeds to step S114.
[0087] On the other hand, when W1now < W1max ( "Yes" in S106) and there is no previous workpiece with CNT = 0 ( "No" in S108), the first production management department 22_1 instructs the non - busy sequence execution unit 24 to execute the production program (S110), and then increments the first loading quantity W1now (S112). When the first production management department 22_1 sends the identification information (such as name and address) of the production program to be executed as an argument to the sequence execution unit 24, the execution instruction can be executed.
[0088] In step S114, the first production management unit 22_1 monitors for notifications of processing completion from the sequence execution unit 24. When a notification of processing completion is received from the sequence execution unit 24, the first loading quantity W1now decreases, and the first completed quantity increases (S116). On the other hand, when no notification of processing completion is received, the process returns to step S104 without changing these parameters. Then, steps S104 to S116 are repeated until W1done ≥ L1 ("No" in S104). Here, the first production management unit 22_1 is described as an example, but this also applies to the processing flow of the second production management unit 22_2.
[0089] The following will refer to Figure 7 and Figure 8 The processing flow of the sequence execution unit 24 is described below. The sequence execution unit 24 waits until instructed by the production management unit 22 to execute the production program (S200). When instructed to execute the production program, the sequence execution unit 24 resets the process count CNT to "0" (S201). Next, the sequence execution unit 24 reads the assigned production program from the production management unit 22 and specifies the work resource 130 for executing the initial process (S202). This can be done by referring to the resource column of the production program (see...). Figure 4 and Figure 5 The sequence execution unit 24 executes predetermined processing for the robot (S206) when the robot 110 is used as a work resource 130 ("yes" in S204), which will be described below.
[0090] Next, when the work resource 130 to be used can be specified, the sequence execution unit 24 issues a usage request REQnm for the specified work resource 130 (S208). This usage request REQnm is output to the resource arbitration unit 26 corresponding to the work resource 130. Therefore, when robot 110 is used, the nth sequence execution unit 24_n outputs a usage request REQn1 for the first resource arbitration unit 26_1 corresponding to robot 110. Furthermore, when both robot 110 and the first processing machine 102 are used, the nth sequence execution unit 24_n outputs both the usage request REQn1 for the first resource arbitration unit 26_1 corresponding to robot 110 and the usage request REQn2 for the second resource arbitration unit 26_2 corresponding to the first processing machine 102. Each usage request REQnm includes item identification information and the value of the process count CNT managed by the sequence execution unit 24.
[0091] Then, the sequence execution unit 24 waits until all the requested work resources 130 are permitted to be used; that is, until the permission notice ACKnm is received (S210). When all the work resources 130 are permitted to be used, the sequence execution unit 24 increments the process count CNT (S212), and then outputs the command CMDnm to be issued to the work resource 130 to be used to the corresponding resource arbitration unit 26 (S214). Therefore, the command CMDnm is input to the work resource 130 via the resource arbitration unit 26, and the process advances according to the processing of the command CMDnm. The sequence execution unit 24 waits until the execution of the command CMDnm is completed; that is, until the completion notice DONEnm is received (S216).
[0092] When the execution of the command CMDnm is completed (yes in S216), the sequence execution unit 24 compares the process count CNT with the maximum process quantity CNTmax (S218). When CNT ≥ CNTmax (no in S218), this means the execution of the production program is completed. In this case, the sequence execution unit 24 releases all the work resources; that is, sets the use request REQnm to OFF (S220), and then notifies the production management unit 22 that the processing is completed (S222). When receiving the notice, the production management unit 22 decrements the loading quantity Wnow and increments the completed quantity Wdone.
[0093] On the other hand, when CNT < CNTmax in step S218 (yes in S218), this means there are unexecuted processes. Therefore, in this case, the sequence execution unit 24 executes the next process. Specifically, the sequence execution unit 24 releases unnecessary work resources 130 in the next process; that is, sets the use request REQnm to OFF (S224), and then designates the work resources 130 to be newly used in the next process (S226). Then, when the work resources 130 to be newly used include the robot 110 (yes in S230), the sequence execution unit 24 executes the predetermined processing for the robot (S206), and when it does not include the robot 110 (no in S230), the sequence execution unit 24 immediately issues the use request REQnm to the work resources 130 to be used (S232). Then, when all the requested work resources 130 are permitted to be used (yes in S234), the process advances to step S212. Then, the same process is repeated until CNT ≥ CNTmax.
[0094] Here, reference will be made to Figure 9 and Figure 10 to describe the processing for the robot. Figure 9 is a flowchart showing the flow of the processing for the robot. Figure 10 This diagram illustrates the process count (CNTs) for the previous workpiece, which will be described below. In the work resource 130 provided in the processing unit 100, the robot 110 has the function of transporting workpieces. In other words, the robot 110 acts as a loading device for loading workpieces into the processing machine, and also as an unloading device for unloading workpieces from the processing machine. Unless a usage request (REQnm) for such a robot 110 is issued taking into account the progress of other workpieces, a deadlock can occur where the process progress of the previous workpiece interferes with the process progress of the next workpiece.
[0095] For example, when robot 110 is a single-armed robot, assume that permission is granted to use robot 110 for a subsequent workpiece before it is removed from the first processing machine 102. In this case, the previous workpiece remains in the first processing machine 102, preventing the subsequent workpiece from being attached to it, and robot 110 is occupied by the subsequent workpiece, preventing the previous workpiece from being removed from the first processing machine 102. As a result, a deadlock occurs where neither the process of attaching the subsequent workpiece to the first processing machine 102 nor the process of removing the previous workpiece from the first processing machine 102 can proceed further.
[0096] When robot 110 is a two-handed robot, it can hold two workpieces simultaneously, thus somewhat alleviating the aforementioned problem. However, as mentioned above, in the two-handed case, robot 110 includes a hand for holding the unprocessed workpiece and a hand for holding the workpiece after cutting. Therefore, robot 110 can only hold one workpiece after cutting. As a result, when the previous workpiece is removed from the workpiece cleaner 116 using the post-cutting hand, a use request REQnm is issued to attach the subsequent workpiece to the workpiece cleaner 116 using the post-cutting hand. When robot 110 is assigned to the subsequent workpiece, a deadlock occurs.
[0097] Therefore, in this example, when a new request to use robot 110 is made, processing for the robot is performed to adjust for the previous workpiece. In the processing for the robot, firstly, the previous workpiece corresponding to the current process count CNT is specified by determining the process count CNTs. The previous workpiece's determined process count CNTs is the number of processes the previous workpiece should have completed when the subsequent workpiece issues a use request REQnm for robot 110.
[0098] The preceding workpiece will be evaluated by the process count CNTs. During the evaluation of the preceding workpiece's process count CNTs, the next resource call process and the installation section are important. The next resource call process is the process where robot 110 is used again after all subsequent processes have first stopped using it. Additionally, robot 110 is equipped with an installation section configured for installing a hand. The number of installation sections is one in the single-handed type and two in the two-handed type. When the installation section used in the next process is the same as the installation section used in the next resource call process, the value of the next resource call process is set to the preceding workpiece's process count CNTs. When the installation section used in the next process is different from the installation section used in the next resource call process, or when there is no next resource call process, the value of the next process is set to the preceding workpiece's process count CNTs.
[0099] Figure 10 This is a diagram illustrating an example of the relationship between the process count (CNT) and the previous workpiece by determining the process count (CNTs). Figure 10 In the example, when the process count CNT (=0, 7, 11 or 13) is completed, the next workpiece (sequence execution unit 24) issues a use request REQn1 to the robot 110. The previous workpiece is set to determine the process count CNTs based on the process count CNT (=0, 7, 11 or 13).
[0100] In the one-handed case, the mounting part used in the next operation count CNT (=0) after CNT=0 is "h1". Furthermore, as seen from operation count CNT (=0), the next resource call operation is operation count CNT (=8), and the mounting part used in operation count CNT (=8) is "h1". Therefore, in the one-handed case, the previous workpiece corresponding to operation count CNT (=0) is judged to have operation count CNTs as "8". Similarly, the previous workpiece corresponding to operation count CNT (=7) is judged to have operation count CNTs as "12". Regarding operation count CNT (=13), since there is no next resource call operation, the previous workpiece becomes the count value for the next operation by judging operation count CNTs; that is, "14".
[0101] On the other hand, in the case of the two-handed type, the mounting part used in the next process count CNT(=1) after the process count CNT(=0) is "h1". As seen from the process count CNT(=0), the next resource call process is the process count CNT(=8), and the mounting part used in the process count CNT(=8) is "h2". In other words, the mounting part "h1" used in the next process is different from the mounting part "h2" used in the next resource call process. Therefore, in this case, the previous workpiece corresponding to the process count (=0) is determined by judging that the process count CNTs is "1". In the case of the process count CNT(=7), the mounting part "h2" used in the next process count CNT(=8) is equal to the mounting part "h2" used in the next resource call process count CNT = 12. Therefore, the previous workpiece corresponding to the process count CNT(=7) is determined by judging that the process count CNTs is "12". The relationship between the process count CNT and the previous workpiece determined by judging the process count CNTs can be automatically determined by interpreting the production program using the sequence execution unit 24 or by using the Figure 10 correspondence table shown in
[0102] In the process for the robot, first, the previous workpiece corresponding to the current process count CNT is specified by judging the process count CNTs (S240). Next, the sequence execution unit 24 compares the current process count of the previous workpiece (hereinafter referred to as "previous process count CNTp") with the specified previous workpiece determined by judging the process count CNTs (S242). As a result of the comparison, when CNTp < CNTs ("No" in S242), the sequence execution unit 24 does not issue a use request REQnm to the robot 110 and waits as it is. On the other hand, when CNTp ≥ CNTs ("Yes" in S242), the process proceeds to step S208 or S232, and the sequence execution unit 24 issues a use request REQnm to the robot 110.
[0103] As described above, for the work resource 130 that causes deadlock, deadlock can be reliably prevented by issuing the use request REQnm while taking into account the progress of the previous workpiece. In this example, only the progress of the previous workpiece is considered for the robot 110, but as long as other workpiece resources 130 cause deadlock, the progress of the previous workpiece can also be considered for that other workpiece resource 130. In this example, the sequence execution unit 24 grasps the progress of the previous workpiece and adjusts the timing of issuing the use request REQnm. However, as an alternative to the sequence execution unit 24, the resource arbitration unit 26 can also grasp the progress of the previous workpiece and adjust the timing of issuing the permission notice ACKnm. In Figure 10In the example, once the hand is installed on robot 110, it is not replaced until the end of the production process. However, if needed, the type of hand installed on an installation part can be replaced.
[0104] Next, the handling of the Resource Arbitration Department 26 will be described. Figure 11 This is a flowchart illustrating the processing flow of the Resource Arbitration Department 26. (and...) Figure 11 In parallel processing, the resource arbitration unit 26 receives usage requests REQnm for the corresponding working resource 130 from multiple sequence execution units 24 at any time. In this state, when the corresponding working resource 130 is released ("Yes" in S300), the resource arbitration unit 26 selects one usage request REQnm from the multiple received usage requests at this time (S302). Figure 12 This is a flowchart illustrating the process of selecting a processing option.
[0105] like Figure 12 As shown, when a request is selected, firstly, the resource arbitration department 26 designates a first use request REQ1 with the largest process count CNT from the use requests related to the first item and a waiting time Tw1 for the first use request REQ1 (S320). Then, the resource arbitration department 26 designates a second use request REQ2 with the largest process count CNT from the use requests related to the second item and a waiting time Tw2 for the second use request REQ2 (S322). Subsequently, the resource arbitration department 26 compares the waiting time Tw1 of the first use request REQ1 with the waiting time Tw2 of the second use request REQ2 (S324).
[0106] As a result of the comparison, when the waiting time Tw1 is greater than or equal to the waiting time Tw2 ("Yes" in S324), the resource arbitration department 26 selects the first usage request REQ1 (S326). On the other hand, when the waiting time Tw1 is shorter than the waiting time Tw2 ("No" in S324), the resource arbitration department 26 selects the second usage request REQ2 (S328). In the following description, the usage request selected in steps S326 and S328 will be referred to as "usage request REQnm".
[0107] If it can be based on Figure 12 If a usage request REQnm is selected in the process, the resource arbitration unit 26 then sends a license notification ACKnm to the nth sequence execution unit 24_n that has issued the selected usage request REQnm (S304). Thus, the nth sequence execution unit 24_n secures the mth working resource 130_m corresponding to the mth resource arbitration unit 26_m.
[0108] After issuing the permission notification ACKnm, the resource arbitration unit 26 waits until it receives the command CMDnm from the sequence execution unit 24 (S306). When the command CMDnm is received, the resource arbitration unit 26 sends the command CMDnm to the corresponding work resource 130 (S308). The work resource 130 then runs according to the resource program indicated by the command CMDnm. When the operation indicated by the resource program is completed, the work resource 130 sends a completion notification DONEnm to the resource arbitration unit 26. When the completion notification DONEnm is received ("Yes" in S310), the resource arbitration unit 26 sends the completion notification DONEnm to the sequence execution unit 24 (S312). Thereafter, when a release instruction is received from the sequence execution unit 24 ("Yes" in S314), the resource arbitration unit 26 releases the corresponding work resource 130 (S316), and the process returns to step S300. On the other hand, when there is no release instruction ("No" in S314), the process returns to step S306, and the resource arbitration department 26 waits until the next command CMDnm is received.
[0109] As is clear from the above description, according to this example, the resource arbitration unit 26 arbitrates disputes between usage requests (REQnm) issued from multiple sequence execution units 24. Therefore, the operator can create programs for the production of a single workpiece; that is, only the program is produced without being aware of disputes between workpieces. Thus, highly specialized system integrators are not required in the production of items, thereby reducing costs. Furthermore, production efficiency can be further improved because the time required to create and modify programs for controlling the processing unit 100 can be shortened.
[0110] Next, another specific example will be described. In this specific example, the sequence execution unit 24 issues a request for the use of the work resources 130 required to execute the next process before the currently executed process is completed (i.e., before receiving the completion notification DONEnm). This reduces the waiting time wasted on the work resources 130 and further improves productivity.
[0111] In other words, as described above, the sequence execution unit 24 will not issue a usage request REQnm for the next process until the currently executed process is completed. On the other hand, upon receiving the command CMDnm, the work resource 130 first performs predetermined preparatory work, and then begins work on the workpiece after the preparatory work is completed. For example, in the case of the robot 110, when the command CMDnm is received, preparatory work such as hand replacement is first performed, and then the workpiece is transported. Therefore, when the next usage request REQnm is issued after the currently executed process is completed, there is a possibility that the workpiece may wastefully wait until the next process begins after the current process is completed. For example, consider the case where the workpiece is transported to the workpiece cleaner 116 after being cut by the first processing machine 102. In this case, when the usage request REQnm is issued to the robot 110 after the cutting is completed, since the robot 110 begins preparatory work such as hand replacement after the cutting is completed, the workpiece wastes such a period of time waiting in the first processing machine 102, which results in a longer production time.
[0112] Therefore, in this example, the sequence execution unit 24 issues a request for use of the work resource 130d required for the execution of the next operation before the currently executed operation is completed. Here, the moment when the request for use of the next operation REQnm is issued (hereinafter referred to as the "pre-issue moment") is not particularly limited, as long as it is before the completion of the current operation. However, when the pre-issue moment is too late, the wasted waiting time of the workpiece increases. On the other hand, when the pre-issue moment is too early, the time that a sequence execution unit 24 occupies the work resource 130d becomes unnecessarily long, which leads to an increase in the waiting time of other sequence execution units 24. Therefore, the pre-issue moment can be determined based on the preparation time of the next operation. For example, the waiting time can be obtained by subtracting the preparation time of the next operation from the execution time of the current operation, and the moment when the waiting time is reached after the current operation issues the command CMDnm can be considered the pre-issue moment. The execution time and preparation time of each operation can be obtained in advance from past actual results or simulations. Furthermore, the execution time and preparation time of each operation can be recorded in the process program or in a separate file independent of the production program. In any case, the sequence execution unit 24 specifies the pre-issue time of each step based on the execution time and preparation time of each step stored in the memory 14.
[0113] Figure 13 and 14 This is a flowchart illustrating the processing flow of the sequence execution unit 24 in this specific example. Figure 13 In the process, steps S200 to S214 are similar to... Figure 7The procedures of steps S200 to S214 are almost the same. In other words, when the sequence execution unit 24 designates the required work resources 130, issues a usage request REQnm to the work resources 130, and receives a permission notice ACKnm from all the work resources 130, the sequence execution unit 24 issues a command CMDnm to the relevant work resources 130. The content of the processing for the robot (S206*) in this example is slightly different from Figure 7 the content of the processing for the robot (S206) in
[0114] When issuing the command CMDnm, the sequence execution unit 24 waits until the defined pre-issuance time is reached (S246). At the pre-issuance time, the sequence execution unit 24 designates the newly required work resources 130 in the next process (S226). Then, the sequence execution unit 24 issues a usage request REQnm to the designated work resources 130 (S232*). In addition to including the identification information of the item and the value of the current process count CNT, the usage request REQnm also includes the content of the preparation operation of the work resources 130 required to start the next process. When there are no newly required work resources 130 in the next process, the sequence execution unit 24 skips steps S230, S206*, and S232*.
[0115] When it is not necessary to issue the usage request REQnm, or when the usage request REQnm can be issued, the sequence execution unit 24 waits until the current process is completed, that is, until a completion notice DONEnm is received (S216). When the completion notice DONEnm is received, the sequence execution unit 24 compares the process count CNT with the maximum process quantity CNTmax (S218). When CNT ≥ CNTmax, the sequence execution unit 24 releases all the work resources 130 (S220), and then notifies the production management department 22 that the processing is completed (S222).
[0116] On the other hand, when CNT < CNTmax, the sequence execution unit 24 releases the work resources 130 that are no longer required in the next process (S224). Then, since the usage request REQnm for the work resources 130 required in the next process has been issued, the sequence execution unit 24 waits after that until a permission notice ACKnm for all the work resources 130 is obtained (S234). When the permission notice ACKnm for all the work resources 130 is obtained, the process returns to step S212, and the same processing is repeated thereafter.
[0117] The following will refer to Figure 15 Describe the processing for the robot (S206*) in this specific example. Figure 15 The processing in Figure 9The processing in [it] is different in that it has step S244. That is, in the processing for the robot in [it], the previous workpiece corresponding to the current process count CNT of the subsequent workpiece is specified by judging the process count CNTs (S240), and when the process count of the previous workpiece (i.e., the previous process count CNTp) reaches the previous workpiece passing judgment process count CNTs (i.e., "yes" in S242), permission is given to issue a use request REQnm for the subsequent workpiece. Figure 9 In the processing for the robot in [it], the previous workpiece corresponding to the current process count CNT of the subsequent workpiece is specified by judging the process count CNTs (S240), and when the process count of the previous workpiece (i.e., the previous process count CNTp) reaches the previous workpiece passing judgment process count CNTs (i.e., "yes" in S242), permission is given to issue a use request REQnm for the subsequent workpiece.
[0118] In this example, as described above, each sequence execution unit 24 issues a request for the next process before the current process is completed. Therefore, even when the previous workpiece has not reached the previous workpiece passing judgment process count CNTs, it is possible to issue a use request REQnm for the previous workpiece passing judgment process count CNTs. Therefore, in this example, when, as shown in [it], CNTp < CNTs (i.e., "no" in step S242), the process count of the previous workpiece reaches (CNTs - 1), it is confirmed whether a use request for CNTs has been issued (S244). When a use request for CNTs has been issued, the process proceeds to step S208 or S232*, and permission is given to issue a use request REQnm. Thus, a use request REQnm can be issued earlier, and the wasted waiting time of the workpiece can be reduced. As a result, the production efficiency of the article can be further improved. Figure 15 In this example, as described above, each sequence execution unit 24 issues a request for the next process before the current process is completed. Therefore, even when the previous workpiece has not reached the previous workpiece passing judgment process count CNTs, it is possible to issue a use request REQnm for the previous workpiece passing judgment process count CNTs. Therefore, in this example, when, as shown in [it], CNTp < CNTs (i.e., "no" in step S242), the process count of the previous workpiece reaches (CNTs - 1), it is confirmed whether a use request for CNTs has been issued (S244). When a use request for CNTs has been issued, the process proceeds to step S208 or S232*, and permission is given to issue a use request REQnm. Thus, a use request REQnm can be issued earlier, and the wasted waiting time of the workpiece can be reduced. As a result, the production efficiency of the article can be further improved.
[0119] Another specific example will be described below. Figure 16 It is a functional block diagram of the unit controller 10 of another specific example. The unit controller 10 of this specific example is different from the above unit controller 10 in that two processes that can be executed in parallel are specified from among the multiple processes constituting the production program, and these two processes are executed in parallel when the time is correct.
[0120] Specifically, the two-handed robot 110 can hold two workpieces simultaneously. Therefore, one hand can hold the subsequent workpiece before cutting, and the other hand can hold the previous workpiece after cutting. Then, by using such a two-handed robot 110, the process of detaching the previous workpiece from the processing machine and the process of attaching the subsequent workpiece to the processing machine can be executed in parallel. The processing unit 100 includes components such as the two-handed robot 110 that can allocate two or more workpieces simultaneously, and by using such components, another process for the subsequent workpiece can be executed in parallel with the predetermined process for the previous workpiece. When there are processes that can be executed in parallel in this way, the time can be shortened by executing these processes in parallel.
[0121] Therefore, in this example, two operations that can be executed in parallel are specified, and when the preceding or following workpiece requests the execution of one of the two operations, both operations are executed in parallel at the same moment that the following or following workpiece requests the execution of one of the two operations. To achieve this operation, as follows... Figure 16 As shown, the unit controller 10 of this specific example includes a composite table storage unit 32, and each resource arbitration unit 26 includes a composite operation judgment unit 31.
[0122] The composite table storage unit 32 stores composite tables. A composite table is a table that records a pair of different operations that can be executed in parallel, as well as the resource program (hereinafter referred to as "composite program") when these two operations are executed in parallel. The composite program acts as a composite command that allows work resource 130 to execute more than two operations. Figure 17 This is a diagram showing an example of a composite table; in Figure 17 In the example, the identification information of the operation of the subsequent workpiece, the identification information of the operation of the preceding workpiece that can be executed in parallel with the operation of the subsequent workpiece, and the identification information of the composite program corresponding to these two operations are stored in a mutually related manner. For example, the first row of the composite table records the operation number "3" of the subsequent workpiece and the operation number "8" of the preceding workpiece. In addition, the first row also records the name of the resource program "RPR003C-W01234" required to execute operation number "3" and operation number "8" in parallel.
[0123] The composite table can be recorded in the unit controller 10 in a state pre-created by the operator. Alternatively, the unit controller 10 can automatically generate the composite table. In this case, the operator pre-creates the detailed configuration of the processing unit 100 (e.g., the number and type of hands attached to the robot 110), identification information of the hands used to hold the workpiece during the operation using the robot 110, and identification information of the workpiece's transport destination or transport source during the workpiece transport operation, and registers these as preliminary information in the processing unit 100. Such preliminary information can be recorded in a file independent of the production program, or it can be incorporated into the production program. The unit controller 10 can automatically generate the composite table based on such preliminary information and the production program. Alternatively, the aforementioned preliminary information can be collected through dialogue between the unit controller 10 and the operator, and the unit controller 10 can generate the composite table.
[0124] like Figure 16 As shown, each resource arbitration unit 26 includes a composite operation judgment unit 31. The composite operation judgment unit 31 refers to the composite table to determine whether the process is integrated, and when the process is integrated, instructs the corresponding work resource 130 to execute a composite procedure that integrates two processes. Figure 18 and Figure 19This is a flowchart illustrating the processing flow of the resource arbitration unit 26, which includes the composite operation judgment unit 31.
[0125] Similar to Figure 11 and Figure 12 In the processing flow, the resource arbitration unit 26 first waits until the corresponding work resource 130 becomes idle (S300), and in the idle state, selects a usage request REQnm from the multiple received usage requests (S302). Then, the resource arbitration unit 26 sends a permission notification ACKnm to the nth sequence execution unit 24_n that issued the usage request REQnm (S304). When the sequence execution unit 24, which has already received the permission notification ACKnm, sends a command CMDnm ("Yes" in S306), the resource arbitration unit 26 specifies the process number that runs parallel to the process indicated by the command CMDnm, and searches for a usage request REQkm corresponding to that process number from the multiple received usage requests (S330). As a result of the search, if a usage request REQkm regarding a process that can be executed in parallel is received ("Yes" in S332), the resource arbitration unit 26 proceeds to step S334. On the other hand, if no usage request REQkm is received, the resource arbitration unit 26 executes steps S308 to S314. The content of steps S308 to S316 and Figure 11 and Figure 12 The contents of steps S308 to S316 are the same, so they will not be described again here.
[0126] In step S334, the resource arbitration unit 26 sends a permission notification ACKkm to the k-th sequence execution unit 24_k. Therefore, at this time, both the n-th sequence execution unit 24_n and the k-th sequence execution unit 24_k are permitted to use the corresponding working resource 130. Simultaneously, the command CMDnm is received from the n-th sequence execution unit 24_n, but the command CMDkm from the k-th sequence execution unit 24_k is not received. Therefore, the resource arbitration unit 26 waits until the command CMDkm arrives from the k-th sequence execution unit 24_k (S336).
[0127] When both commands CMDnm and CMDkm are received (marked "Yes" in S336), the resource arbitration unit 26 refers to the compound table and converts these two commands CMDnm and CMDkm into a compound command CMD1 (S338). The compound command CMD1 includes identification information for the compound procedure. The resource arbitration unit 26 sends the compound command CMD1 to the corresponding work resource 130 (S340). Thereafter, the work resource 130 executes in parallel the operations requested by the nth sequence execution unit 24_n and the operations requested by the kth sequence execution unit 24_k.
[0128] Resource Arbitration Department 26 waits until completion notification DONE1 is sent from work resource 130 (S342). When completion notification DONE1 is received, Resource Arbitration Department 26 sends completion notification DONEnm to the nth sequence execution department 24_n and completion notification DONEkm to the kth sequence execution department 24_k.
[0129] When a process is completed, the resource arbitration unit 26 then checks whether there is an instruction to release the work resource 130 (S346 to S350). Then, if neither the nth sequence execution unit 24_n nor the kth sequence execution unit 24_k issues an instruction to release the work resource 130 ("No" in S346 and "No" in S348), the resource arbitration unit 26 returns to step S336 and repeats the subsequent processing. On the other hand, if there is no release instruction from the nth sequence execution unit 24_n, but there is a release instruction from the kth sequence execution unit 24_k ("No" in S346 and "Yes" in S348), the resource arbitration unit 26 returns to step S306 and repeats the subsequent processing. Furthermore, when both the nth sequence execution unit 24_n and the kth sequence execution unit 24_k issue release commands ("Yes" in S346 and "Yes" in S350), the resource arbitration unit 26 proceeds to step S316 and releases the working resource 130. Additionally, when there is a release command from the nth sequence execution unit 24_n, but no release command from the kth sequence execution unit 24_k ("Yes" in S346 and "No" in S350), the resource arbitration unit 26 proceeds to step S306. In step S306, "command CMDnm" is described, but in this case, "m" is replaced with "n", and processing continues forward.
[0130] As can be clearly seen from the above description, according to this example, two processes are executed in parallel, provided the timing is correct. As a result, the time required to produce items can be further reduced, and production efficiency can be further improved. In this case, the sequence execution unit 24 can perform... Figures 7 to 9 The process shown, or can be performed Figures 13 to 15 The process shown. When the sequence execution unit 24 executes... Figures 13 to 15 In the processing shown, after the resource arbitration unit 26 issues a permission notification ACKnm (S304) to the previous workpiece, the time until the command CMDnm (S306) is received becomes longer. Therefore, the likelihood of simultaneously receiving a usage request REQkm from a subsequent workpiece increases. Consequently, when the sequence execution unit 24 executes... Figures 13 to 15 The processing shown increases the possibility of executing two processes in parallel, thereby enabling more reliable improvements in production efficiency.
[0131] Figures 20 to 22This is a diagram illustrating the results obtained by simulating the algorithm of the unit controller 10 disclosed in this disclosure. In this simulation, Figures 13 to 15 The algorithm was adopted as the sequence execution unit 24. Figures 18 to 19 The algorithm was adopted as the resource arbitration department 26. Figures 20 to 22 The diagram illustrates the transition of operations as time passes for each workpiece, assuming operations proceed downwards and time progresses to the right. "Standard execution time" indicates the standard execution time for each operation when a row in the spreadsheet is considered one unit of time. Therefore, when the time (number of units) a workpiece spends in a row of an operation exceeds the standard execution time, it can be said that the workpiece is waiting for the work resources to become available in the next operation. In the following description, the j-th workpiece of the i-th item is referred to as "workpiece Wij". Therefore, the second workpiece of the first item is referred to as "workpiece W12", and the third workpiece of the second item is referred to as "workpiece W23".
[0132] Figure 20 The illustration shows four first items being processed by the first processing machine 102, and four second items being processed by the second processing machine 104. In this example, a use request is issued to the robot 110 in the order of workpieces W11, W21, W12, and W22. The result is as follows... Figure 20 As shown, workpiece W11 is first produced and attached to the first processing machine 102 by robot 110. Then, at time 7 when robot 110 becomes idle, robot 110 is assigned to workpiece W21, and production of workpiece W21 begins. Similarly, robot 110 is assigned to workpiece W12 at time 12 and to workpiece W22 at time 27, thus initiating production for each workpiece. The execution order of each workpiece is then arbitrated by resource arbitration department 26 to ensure that workpieces do not compete with each other.
[0133] For example, because step "3" is completed at time 14, but the first processing machine 102 used in the next step "4" is occupied by the previous workpiece W11, workpiece W12 waits continuously until time 23. In addition, at time 24, step "4" of workpiece W12 and step "9" of workpiece W11 are integrated according to the composite table and executed in parallel.
[0134] Figure 21 This shows that the standard execution time for process "13: Workpiece Cleaning" is longer than... Figure 20 The simulation results over a longer period are shown. In this case, workpiece congestion is likely to occur in front of the workpiece cleaner 116. As a result, in Figure 20 In the example, the maximum number of items that need to be loaded into processing unit 100 simultaneously is "4", but in Figure 21 The example is increased to "5".
[0135] Figure 22 Simulation results are shown when the operations using the first machining machine 102 and the operations using the second machining machine 104 are connected in sequence. In other words, Figure 22 The simulation results are shown when a workpiece is subjected to both cutting by the first processing machine 102 and cutting by the second processing machine 104. Even in this case, it can be seen that the resource arbitration department 26 arbitrates the disputes between workpieces to efficiently produce multiple workpieces.
[0136] Next, another specific example will be described. Figure 23 This is a diagram illustrating a partial configuration of a unit controller 10, representing another specific example. The unit controller 10 is related to... Figure 2 The unit controller 10 differs in that it includes a retry determination unit 34. The retry determination unit 34 monitors the status of each process executed by the sequence execution unit 24, and when an anomaly is detected in a process, it outputs a retry command RTRn to the sequence execution unit 24 to re-execute that process. The presence or absence of an anomaly can be determined based on the time elapsed since the start of each process, or based on the error signal ERRm from the work resource 130.
[0137] When determining whether an anomaly exists based on the elapsed time, the unit controller 10 also includes an execution time collection unit 36. The execution time collection unit 36 collects the execution status of processes from multiple sequence execution units 24 and generates a standard execution timetable recording the standard execution time of each process based on the collected data. Specifically, each of the multiple sequence execution units 24 is equipped with a process counter 30 that counts the current process number. When counting upwards, the process counter 30 outputs count data COUNTn to the execution time collection unit 36. The count data COUNTn includes the output count data COUNTn and the identification information of the sequence execution unit 24 whose current process count CNT. The execution time collection unit 36 measures the upward counting interval time for each process and stores it as the execution time of that process. In this example, multiple sequence execution units 24 execute the same production program at different times. Therefore, multiple execution times can be obtained for one process. The execution time collection unit 36 calculates a representative value, such as an average or median value, obtained by performing statistical processing on the multiple execution times obtained for one process, as the standard execution time for that process. Then, the execution time collection unit 36 generates a standard execution schedule, which records the process and the standard execution time corresponding to the process in a related manner, and outputs the standard execution schedule to the retry judgment unit 34.
[0138] The retry determination unit 34 monitors the time elapsed since the start of each of the multiple processes, and determines an anomaly when the elapsed time exceeds the allowable execution time determined based on the standard execution time. Count data COUNTn is also input to the retry determination unit 34 to measure the time elapsed since the start of the process. The retry determination unit 34 measures the time elapsed after counting up using an internal timer. Furthermore, there is no particular limitation on the allowable execution time, as long as it is longer than the standard execution time. For example, the allowable execution time can be more than twice the standard execution time. When the elapsed time of a process exceeds the allowable execution time for such a process, the retry determination unit 34 determines that an anomaly has occurred during the execution of such a process.
[0139] In the example above, the upward counting interval of the process counter 30 is used as the process execution time. However, the upward counting interval includes not only the working time when the work resource 130 actually executes the process (i.e., the time from issuing CMDnm to receiving DONEnm), but also the request waiting time from issuing the usage request REQnm to execute the next process until receiving the permission notification ACKnm. When such request waiting time is included in the process execution time, the existence of process abnormalities can be accurately determined in some cases. Therefore, instead of the upward counting interval, the working time from issuing CMDnm to receiving DONEnm can be regarded as the process execution time. In this case, the sequence execution unit 24 sends the count data COUNTn and the completion notification DONEnm at the moment of receiving the completion notification DONEnm to the execution time collection unit 36 and the retry determination unit 34. The execution time collection unit 36 and the retry determination unit 34 regard the time from receiving the count data COUNTn to receiving the completion notification DONEnm as the process execution time.
[0140] Furthermore, in cases where the elapsed time from the start of the process exceeds the allowed execution time, the retry determination unit 34 can determine that an abnormality has occurred during the execution of the process, even if an error signal ERRm is output from the work resource 130. Then, when it is determined that an abnormality has occurred during the execution of the process, the retry determination unit 34 outputs a retry command RTRn to the sequence execution unit 24 that executes the process.
[0141] The sequence execution unit 24, having received the retry command rtrn, cancels the currently output command CMDnm for work resource 130 and then re-executes some operations. Here, the operations to be re-executed can be simply the operations in which the exception occurred, or they can be re-executed from the operations preceding the one in which the exception occurred. For example, when an exception occurs during the execution of operation "2" and the retry command RTRn is received, the sequence execution unit 24 cancels the command CMDnm associated with operation "2" and can then output the command CMDnm for executing operation "2" from the beginning to the resource arbitration unit 26 again.
[0142] Alternatively, a re-pilot point can be set for each process to return to the previous state if an exception occurs, and the process represented by the re-pilot point can be re-executed when an exception occurs. Figure 24 This is a diagram illustrating an example of a production process with a re-pilot added. Figure 24 In the "Retry Pilot" column, "1" indicates the process that acts as the retry pilot. When a retry command RTRn is received, the sequence execution unit 24 traces back to the step immediately preceding the retry pilot and re-executes that process.
[0143] For example, when a retry command RTRn is received during the execution of process "5", the sequence execution unit 24 first cancels the command CMDnm for process "5". Then, the sequence execution unit 24 refers to the production program and confirms the "Retry" column for process "5". Figure 24 In the example, the "Re-entry Point" column for process "5" does not record "1". Therefore, in this case, the sequence execution unit 24 traces back to the previous process "4" and confirms its "Re-entry Point". Since the "Re-entry Point" column for process "4" records "1", the sequence execution unit 24 determines that process "4" is a re-entry point and re-executes the process from process "4". In other words, the sequence execution unit 24 issues the command CMDnm and the usage request REQnm required to re-execute process "4". Furthermore, when tracing processes in this way, the sequence execution unit 24 decrements the process count CNT value by the number of processes traced back.
[0144] As described above, this example has a configuration that monitors the presence or absence of exceptions during the execution of a process, and when an exception occurs, re-executes one or more processes, including the one where the exception occurred. With this configuration, exceptions can be easily handled without changing the control program of the unit controller 10.
[0145] However, depending on the content of the process, unless work resource 130 performs a special return operation, the process may not need to be re-executed. Therefore, instead of the normal process that is executed when no exception occurs, a substitute process is prepared in advance to be executed when the process is re-executed, and this substitute process can be executed when a retry command RTRn is received. Figure 25This is a diagram illustrating an example of a production process with an added alternative step. Figure 25 In the example, a "Alternative Operation" column has been added to the production process. This column describes the number of the alternative operation to be executed upon re-execution. Additionally, a "Alternative Operation" line has been added to the production process. This line records the alternative resource procedures to be executed in the alternative operation.
[0146] When a retry command RTRn is received, the sequence execution unit 24 checks the "alternative process number" corresponding to the currently executing process, and if there is no "alternative process number", it re-executes the currently executing process as is. On the other hand, when an "alternative process number" is defined, the sequence execution unit 24 executes the alternative resource program described in the alternative process number line.
[0147] exist Figure 25 In the example, no alternative process number is defined in process "7". Therefore, when a retry command RTRn is received while executing process "7", the sequence execution unit 24 re-executes process "7" as is. On the other hand, in Figure 25 In the example, "100800" is defined as the substitute step number in step "8". Therefore, when a retry command RTRn is received while executing step "8", the sequence execution unit 24 does not re-execute step "8", but instead executes the substitute step "100800". In other words, the sequence execution unit 24 outputs the substitute resource procedure defined in the substitute step "100800" line as the command CMDnm to the resource arbitration unit 26. In this way, exceptions can be handled more reliably by pre-setting the substitute step.
[0148] The following will be referenced Figure 26 Describe another specific example. Figure 26 Unit controller 10 and Figure 23 The unit controller 10 differs in that it also includes a workpiece skipping execution unit 38. When it is determined that an abnormality cannot be eliminated, the workpiece skipping execution unit 38 executes a defined workpiece skipping process and discards the workpiece.
[0149] In other words, when an anomaly is detected, the retry determination unit 34 instructs the sequence execution unit 24 to perform a retry to execute a normal or alternative process. However, if any problem exists with the workpiece, the anomaly may not be eliminated even after such a retry. When this situation persists, the next workpiece cannot advance the process, causing congestion.
[0150] Therefore, the workpiece skip execution unit 38 counts the number of times the retry command RTRn for the same process is continuously output to the same sequence execution unit 24, and uses this as the number of consecutive retries. Then, when the number of consecutive retries reaches the predetermined allowable number, the defined workpiece skip process is executed.
[0151] In the workpiece skipping process, the workpiece skipping execution unit 38 issues a mandatory command CMDsm to the resource arbitration unit 26 corresponding to the workpiece resource 130, which is required to transport the workpiece that has malfunctioned as an NG product to the disposal site. Here, when multiple work resources 130 are required to transport to the disposal site, the workpiece skipping execution unit issues the command CMDsm to multiple resource arbitration units 26. Upon receiving the command CMDsm, the resource arbitration unit 26 sends the command to the corresponding work resource 130. Then, when the work resource 130 operates according to the command CMDsm, the malfunctioning workpiece is transported to the disposal site. When the disposal operation is completed; that is, when the completion notification DONEsm is returned from the resource arbitration unit 26 to the workpiece skipping execution unit 38, the workpiece skipping execution unit 38 issues a reset command RSTn to the sequence execution unit 24, which manages the production of the discarded workpiece. Upon receiving the reset command RSTn, the sequence execution unit 24 resets the value of the process counter 30 and notifies the production management unit 22 that the discarded workpiece has been produced. Afterward, the sequence execution unit 24 waits until it receives a new workpiece loading command. On the other hand, upon receiving a workpiece abandonment notification, the production management unit 22 decrements the value of Wnow, the number of workpieces it manages.
[0152] As described above, in this specific example, when the allowed number of consecutive retries is reached, the workpiece that malfunctioned is forcibly discarded, while the other workpieces that did not malfunction are continuously executed according to the production program. In other words, according to this specific example, there is no need to design a recovery process for the other workpieces that did not malfunction, which can significantly reduce the design time for skipping workpieces and prevent design errors in this process.
[0153] The above configurations are examples, and other configurations can be changed appropriately, as long as the unit controller 10 controls the operation of the processing unit 100 based on a production program that records one or more steps required to produce only one target item in the processing unit 100.
Claims
1. A cell controller configured to control an operation of a processing cell including two or more processing machines as a plurality of work resources and one or more robots, the cell controller configured to receive a production program in which one or more processes to be executed when only an article of a corresponding product is produced in the processing cell among a plurality of products produced in the processing cell are recorded, and control the operation of the processing cell based on the production program; wherein the production program including, for each of the one or more processes, at least one of a process number, a process name, a type of a work resource to be used, and identification information of a resource program for operating the work resource; wherein the cell controller includes: a plurality of production management sections provided corresponding to the plurality of products produced in the processing cell and configured to command loading of a new workpiece into the processing cell to produce an article of the corresponding product; a plurality of sequence execution sections configured to sequentially execute the one or more processes recorded in the production program when the command of the loading is received; and a plurality of resource arbitration sections provided corresponding to the plurality of work resources; wherein a sequence execution section of the plurality of sequence execution sections transmits a command for a work resource of the plurality of work resources to a resource arbitration section of the plurality of resource arbitration sections corresponding to the work resource, and wherein the resource arbitration section arbitrates a timing at which each of the plurality of sequence execution units uses the work resource associated with the resource arbitration section.
2. The cell controller according to claim 1, wherein: the sequence execution section outputs a request for use of a new required work resource in a next process to the resource arbitration section associated with the work resource before completion of execution of a current process.
3. The cell controller according to claim 1, wherein: the robot includes one or more mounting portions on which a hand is mounted, the sequence execution section specifies a previous workpiece corresponding to a current process through a judgment process when a new robot is required in a next process, and issues a request for use of the robot with respect to the next process after another sequence execution section for executing a production process of the previous workpiece starts to execute the previous workpiece judgment process or issues a request for use of the robot with respect to the previous workpiece judgment process, and the previous workpiece judgment process is the next resource calling process in which the mounting portion used in the next process is identical to the mounting portion used in the next resource calling process in which the robot is used again, and the previous workpiece judgment process is the next process when the mounting portion used in the next process is different from the mounting portion used in the next resource calling process or when the next resource calling process does not exist.
4. The cell controller according to claim 1, further comprising: a composite table storage configured to store a composite table that records two or more processes that can be executed in parallel among a plurality of processes that constitute the production program, and a composite command that allows the work resource to execute the two or more processes in parallel, wherein when an execution command for two or more processes that can be executed in parallel is received from each of two or more sequence execution sections among the plurality of sequence execution sections that are different from each other, the resource arbitration section converts the execution command for the two or more processes into the composite command based on the composite table, and outputs the composite command to the work resource.
5. The cell controller according to claim 1, comprising: the two or more production management sections that operate independently of each other, wherein the cell controller allows the processing cell to produce the plurality of types of products in parallel.
6. The cell controller according to any one of claims 1 to 5, further comprising: a retry judgment section configured to monitor whether an abnormality related to execution of a process among the one or more processes is present, and when the abnormality is detected, return to a start of the process at which the abnormality is detected or return to a set retry point before the start of the process to issue a retry command for re-execution of one or more processes including the process to the sequence execution section.
7. The cell controller according to claim 6, wherein: when an alternative process is defined for the process assigned by the retry command to be re-executed, the sequence execution section executes the alternative process.
8. The cell controller according to claim 6, wherein: the retry judgment section judges that an abnormality has occurred at least when an elapsed time from a start of execution of the process exceeds a predetermined allowable execution time or when an error is output from the work resource during the execution of the process.
9. The cell controller according to claim 6, further comprising: a workpiece skip execution section configured to execute a workpiece skip process that discards a current workpiece when a number of consecutive issues of a retry command for one process issued from the retry judgment section to one sequence execution section exceeds a predetermined allowable number.
Citation Information
Patent Citations
Game program, game system, game device control method, and game device
JP2020188984A
Scheduling method for processing equipment
US20080051929A1
Machine tool system
US20190375065A1