Schedule generation device
The schedule generation device optimizes task assignment across multiple molding machines by setting priority constraints, addressing inefficiencies in manual scheduling and ensuring timely task completion.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- TOYO MACH & METAL CO LTD
- Filing Date
- 2024-11-13
- Publication Date
- 2026-05-25
AI Technical Summary
Existing schedule generation for molding machines is inefficient, leading to standby states and potential delivery date misses due to manual assignment by non-experts, which is difficult to manage appropriately.
A schedule generation device that sets priorities for constraints and generates schedules to satisfy the highest priority constraints, using a schedule generation server to optimize task assignment across multiple molding machines.
Generates appropriate schedules that ensure all molding machines complete tasks efficiently, reducing standby states and ensuring timely delivery, even for non-expert administrators.
Smart Images

Figure 2026085619000001_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a schedule generation device that generates schedules for a plurality of molding machines.
Background Art
[0002] For example, molding machines such as those described in Patent Document 1 generally operate in parallel in a factory. Further, with the recent demand for multi-variety and small-lot production, molding machines operate while switching tasks at short intervals. Furthermore, each of the plurality of molding machines installed in the factory has tasks that can be executed and tasks that cannot be executed.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] Therefore, if a plurality of tasks are not assigned to appropriate molding machines in an appropriate order, molding machines in a standby state may occur, or the delivery date may be significantly missed. However, currently, the schedule administrator assigns tasks manually, and there is a problem that it is difficult for non-experts to make appropriate assignments.
[0005] The present invention has been made in view of the above circumstances, and an object thereof is to provide a schedule generation device that can appropriately generate schedules for a plurality of molding machines.
Means for Solving the Problems
[0006] To solve the above problems, the present invention provides a schedule generation device that generates a schedule indicating which of a plurality of tasks, each of which is a processing unit for continuously molding the same molded product, should be executed in what order by a plurality of molding machines that inject molding material into a mold to form a molded product, characterized in that it performs a setting process to set the priority of a plurality of constraints, and a generation process to generate the schedule such that at least the constraint that has the highest priority set in the setting process is satisfied. [Effects of the Invention]
[0007] According to the present invention, schedules for multiple molding machines can be appropriately generated. [Brief explanation of the drawing]
[0008] [Figure 1] This is a schematic diagram of the molding system. [Figure 2] This is a hardware configuration diagram of the schedule generation server. [Figure 3] This shows example data for the molding machine management table (A) and the task management table (B). [Figure 4] This figure shows an example of a constraint condition. [Figure 5] This is a flowchart of the schedule generation process. [Figure 6] This is an example of the priority setting screen. [Figure 7] This is an example of a schedule generated by the schedule generation process. [Modes for carrying out the invention]
[0009] The molding system 1 according to the present invention will be described below with reference to the drawings. Figure 1 is a schematic diagram of the molding system 1. The molding system 1 consists of, for example, a plurality of injection molding machines 10A, 10B, 10C, 10D, etc. (hereinafter, these may be collectively referred to as "injection molding machine 10") and a schedule generation server 20. The schedule generation server 20 may be connected to the injection molding machines 10, for example, through a communication network 2 (for example, LAN).
[0010] The molding system 1 is a system that generates a schedule for efficiently processing multiple tasks using multiple injection molding machines 10A to 10D, using a schedule generation server 20, and operates the injection molding machines 10A to 10D according to the generated schedule. A task is a unit of processing for continuously molding the same molded product. A schedule is information that indicates which injection molding machines 10A to 10D should execute multiple tasks to be performed during the same period, and in what order.
[0011] [Configuration of injection molding machine 10] The injection molding machine 10 is a molding machine that injects a measured molding material (plasticizing resin) into a mold to form a molded product. However, the specific example of a molding machine is not limited to the injection molding machine 10; it may also be a die-casting machine that injects molten metal (molding material) into a mold to form a molded product. Furthermore, the number of injection molding machines 10 connected to the schedule generation server 20 is not limited to four, but may be multiple (two or more). In addition, the injection molding machine 10 may be either a so-called "vertical type," a "horizontal type," or both.
[0012] As shown in Figure 1, the injection molding machine 10 mainly comprises a mold clamping device 11, an injection device 12, and a control device 13. The mold clamping device 11 opens and closes the mold and clamps it. The injection device 12 plasticizes the molding material, weighs it, and injects it into the cavity of the clamped mold. The control device 13 controls the operation of the mold clamping device 11 and the injection device 12, and also transmits various information to the schedule generation server 20.
[0013] The control device 13 instructs the mold clamping device 11 to close and clamp the mold. Next, the control device 13 instructs the injection device 12 to inject plasticizing resin into the cavity of the clamped mold. Next, the control device 13 instructs the injection device 12 to meter the plasticizing resin to be injected next. Next, the control device 13 instructs the mold clamping device 11 to open the mold. Next, the control device 13 instructs the robot arm to remove the molded product from the opened mold. Hereafter, this series of processes will be referred to as the "molding cycle". The control device 13 then repeats the molding cycle according to predetermined molding conditions (operating conditions of the injection molding machine 10 that executes the molding cycle) to continuously mold multiple molded products.
[0014] [Configuration of Schedule Generation Server 20] Figure 2 is a hardware configuration diagram of the schedule generation server 20. The schedule generation server 20 is an example of a schedule generation device that generates schedules for injection molding machines 10A to 10D. Note that the schedule generation device is not limited to being implemented with a single server, but may be implemented with multiple devices that work in cooperation with each other.
[0015] The schedule generation server 20 is implemented on a general-purpose computer such as a workstation or personal computer. As shown in Figure 2, the schedule generation server 20 mainly comprises a CPU 21, memory 22, storage 23, input device 24, display 25, and communication interface 26. Each component of the schedule generation server 20 is connected to the communication bus 27.
[0016] The CPU 21 performs the processing described later by executing a series of instructions contained in the schedule generation program 28 loaded into memory 22. Memory 22 is implemented as, for example, RAM or other volatile memory. Storage 23 is implemented as, for example, ROM, a hard disk drive, flash memory, or other non-volatile storage device. The schedule generation program 28 is stored in storage 23 and is loaded into memory 22 as needed and executed by the CPU 21.
[0017] The input device 24 is an input interface that receives input operations from the administrator of the schedule generation server 20, such as a keyboard, a pointing device, etc. The display 25 is an output interface that outputs (displays) information to the administrator of the schedule generation server 20. The communication IF 26 is a communication interface that transmits and receives data to and from an external device (e.g., the injection molding machine 10) via a communication network.
[0018] [Molding Machine Management Table] FIG. 3(A) shows an example of the data in the molding machine management table. The molding machine management table is a table that manages a plurality of injection molding machines 10A to 10B belonging to the molding system 1. The molding machine management table is stored in the storage 23. The molding machine management table includes molding machine records corresponding to each of the injection molding machines 10A to 10B. As an example, the schedule generation server 20 may add the molding machine records received from the injection molding machines 10A to 10D or a management terminal (not shown) through the communication IF 26 to the molding machine management table. As another example, the schedule generation server 20 may add the molding machine records input through the input device 24 to the molding machine management table.
[0019] The molding machine record includes information indicating the performance of the injection molding machine 10 (in other words, information that forms the basis for determining whether a task can be executed). The molding machine record according to the present embodiment includes a machine ID that uniquely identifies the injection molding machine 10, mold information indicating the molds that can be attached to the injection molding machine 10, and material information indicating the types of molding materials (e.g., pellets, recycled resin, reinforced fibers) that can be loaded into the injection molding machine 10. The mold information according to the present embodiment indicates the size (small, medium, large) of the molds that can be attached to the injection molding machine 10. However, the mold information may indicate whether an insert part can be inserted or the like.
[0020] Note that the information included in the molding machine record is not limited to the example in Figure 3(A). As another example, the molding machine record may include an operator ID that uniquely identifies the operator capable of operating the injection molding machine 10. As yet another example, the molding machine record may include the specifications of the screws that can be installed on the injection molding machine 10. As yet another example, the molding machine record may include the date of the next scheduled maintenance.
[0021] [Task Management Table] Figure 3(B) shows an example of data in the task management table. The task management table is a table that manages tasks that multiple injection molding machines 10A to 10D belonging to the molding system 1 should perform within a predetermined period. The task management table is stored in storage 23. The task management table contains task records corresponding to each of the multiple tasks. For example, the schedule generation server 20 may add task records received from the management terminal via the communication IF 26 to the task machine management table. As another example, the schedule generation server 20 may add task records entered via the input device 24 to the task management table. Furthermore, the schedule generation server 20 deletes the task records of tasks completed by the injection molding machine 10 from the task management table.
[0022] A task record includes information that identifies the content of the task to be performed (in other words, information necessary for molding a molded product). In this embodiment, the task record includes a task ID that uniquely identifies the task, a due date which is the date and time the task should be completed, a number of molded products which is the number of molded products to be molded, mold information indicating the type of mold used to mold the molded product, and material information indicating the type of molding material (e.g., pellets, recycled resin, reinforcing fiber) used to mold the molded product. In this embodiment, the mold information indicates the size (small, medium, or large) of the mold used to mold the molded product. However, the mold information may also indicate the presence or absence of insert parts.
[0023] Note that the information included in the task record is not limited to the example in Figure 3(B). As another example, the task record may include the molding conditions used to mold the molded product. As yet another example, the task record may include the specifications of the screw used to mold the molded product.
[0024] [Restrictions] Figure 4 shows an example of constraints. Constraints are conditions that must be met when generating a schedule. Constraints are pre-stored in storage 23, for example. As an example, the schedule generation server 20 may store constraints received from an external device via the communication IF 26 in storage 23. As another example, the schedule generation server 20 may store constraints input via the input device 24 in storage 23. Constraints include, for example, mandatory conditions and optional conditions.
[0025] Essential conditions are those that must be met when generating a schedule. More specifically, essential conditions are those used to confirm whether the injection molding machine 10 can perform a task. In other words, if the essential conditions are not met, the injection molding machine 10 will be unable to perform at least a portion of the assigned task. The essential conditions in this embodiment include "the task must use a mold that can be mounted" and "the task must use a molding material that can be fed."
[0026] To satisfy the condition "the task uses a mold that can be fitted" means that the size of the mold indicated in the mold information of the task record is included in the size of the mold indicated in the mold information of the molding machine record. To satisfy the condition "the task uses a molding material that can be fed in" means that the type of molding material indicated in the material information of the task record is included in the type of molding material indicated in the material information of the molding machine record.
[0027] Optional conditions are conditions that differ from mandatory conditions (in other words, conditions that do not necessarily need to be met, but are preferable to meet). More specifically, optional conditions are conditions that improve the throughput of task execution by the injection molding machine 10. That is, if optional conditions are not met, the injection molding machine 10 can perform the assigned tasks, but it may take longer to complete all tasks or increase the workload on the operators. The optional conditions in this embodiment include "completing all tasks within the deadline," "avoiding switching of molding materials," and "avoiding duplication of task switching operations."
[0028] To satisfy the condition "complete all tasks within the deadline" means that the completion date of each task shown in the generated schedule is before the deadline. To satisfy the condition "avoid switching between molding materials" means that the same molding material is used for multiple tasks performed by the same injection molding machine 10. To satisfy the condition "avoid duplication of task switching operations" means that the timing of task switching operations in multiple injection molding machines 10 are staggered. Task switching operations refer to operations such as attaching and detaching molds or discharging plasticizing resin from heating cylinders in order to perform the next task.
[0029] However, specific examples of mandatory and optional conditions are not limited to the example in Figure 4. Other examples of mandatory conditions may include "assigning the task to an operator capable of operating the injection molding machine 10." Other examples of mandatory conditions may include "the task being one that uses a screw that can be attached." Other examples of optional conditions may include "performing periodic maintenance between tasks that are adjacent in time."
[0030] [Schedule generation process] Figure 5 is a flowchart of the schedule generation process. Figure 6 is an example of the priority setting screen. Figure 7 is an example of a schedule generated by the schedule generation process. The schedule generation process generates a schedule that indicates which injection molding machines 10A to 10D should execute each of the multiple tasks included in the task table and in what order. The schedule generation program causes the CPU 21 (computer) to execute the schedule generation process, for example, when instructed by an operator via the input device 24, or when a task record is received from an external device via the communication IF 26.
[0031] First, the schedule generation server 20 displays the priority setting screen shown in Figure 6 on the display 25 (S11). The priority setting screen allows the operator to set the priority of multiple constraint conditions (more specifically, multiple arbitrary conditions) via the input device 24. On the other hand, regardless of the operator's operation on the priority setting screen, the schedule generation server 20 sets the priority of mandatory conditions higher than that of arbitrary conditions. Also, the priority order of multiple mandatory conditions is the same (i.e., 1st). The process of setting the priority of constraint conditions (S11-S12) is an example of a setting process.
[0032] The priority setting screen includes multiple arbitrary conditions stored in storage, and corresponding [Up] and [Down] icons and a [Settings] icon for each of these conditions. On the priority setting screen, the multiple arbitrary conditions are displayed from top to bottom in order of priority. The [Up] icon accepts instructions to increase the priority of the corresponding arbitrary condition. The [Down] icon accepts instructions to decrease the priority of the corresponding arbitrary condition. The [Settings] icon accepts instructions to set the current priority.
[0033] The schedule generation server 20 then receives the operator's operation on the priority setting screen through the input device 24 (S12). For example, when the [down] icon corresponding to the arbitrary condition "avoid switching the molding material to be input" in Figure 6(A) is tapped, the schedule generation server 20 swaps the priorities of the arbitrary conditions "avoid switching the molding material to be input" and "avoid overlapping task switching operations" as shown in Figure 6(B). Also, when the [Settings] icon is tapped (S12:Yes), the schedule generation server 20 sets the priorities of the multiple arbitrary conditions to the priorities displayed on the priority setting screen.
[0034] Next, the schedule generation server 20 generates a schedule that satisfies all the necessary conditions (S13). The schedule generation server 20 determines the combination of injection molding machines 10A to 10D that will execute the tasks and their execution order so as to satisfy all the necessary conditions (i.e., generates a schedule). In other words, the schedule generation server 20 generates a schedule that satisfies at least the constraint conditions (i.e., the necessary conditions) that were given the highest priority in steps S11 to S12. Note that if there are multiple schedules that satisfy all the necessary conditions, the schedule generation server 20 generates multiple schedules. The process in step S13 is an example of the generation process.
[0035] As an example, the schedule shown in Figure 7(A) indicates that injection molding machine 10A executes tasks indicated by task IDs "001" and "004" in this order, injection molding machine 10B executes tasks indicated by task IDs "002", "007", and "009" in this order, injection molding machine 10C executes tasks indicated by task IDs "006", "003", and "008" in this order, and injection molding machine 10D executes task indicated by task ID "005". As another example, the schedule shown in Figure 7(B) is different from Figure 7(A) in that task indicated by task ID "004" is swapped with task indicated by task IDs "003" and "008". Note that the start times of the first tasks for injection molding machines 10A to 10B may be the same or different.
[0036] In Figure 7, the horizontal length of the rectangle containing the task ID represents the time required to execute the task identified by that task ID. The time required to execute the task is determined, for example, by multiplying the production quantity indicated in the task record by the execution time of the molding cycle (cycle time) specified in the molding conditions. The information in parentheses within each rectangle represents the resin information corresponding to that task ID. The diagonal hatching in Figure 7 indicates the time period during which the switchover operation is performed. The schedule generation server 20 then simply rearranges the rectangles (i.e., tasks) in Figure 7 to identify a combination that satisfies all the necessary conditions.
[0037] Next, the schedule generation server 20 initializes (sets to 1) the variable N stored in memory 22 (S14). Variable N is a variable that indicates the priority of the arbitrary conditions among several arbitrary conditions that are the target of the processing in step S16, which will be described later. The schedule generation server 20 also determines whether or not multiple schedules were generated in step S13 (S15).
[0038] If the schedule generation server 20 determines that multiple schedules have been generated (S15:Yes), it extracts a schedule that satisfies the Nth arbitrary condition from among the multiple schedules (S16). The Nth arbitrary condition refers to the Nth priority arbitrary condition among the arbitrary conditions. Next, the schedule generation server 20 adds 1 to the variable N (S17) and repeatedly executes steps S16 to S17 until only one schedule remains extracted (S15:No). Steps S16 to S17 are an example of the extraction process.
[0039] In other words, if the schedule generation server 20 generates multiple schedules in step S13 (S15:Yes), it repeats the extraction process (S16-S17) in which it extracts a schedule that satisfies one of the multiple arbitrary conditions in order of priority set in steps S11-S12 until there is only one schedule (S15:No).
[0040] As an example, if priorities are set as shown in Figure 6(A), the schedule shown in Figure 7(A) is extracted. That is, tasks with the same resin information value are assigned to each of the injection molding machines 10A to 10D. On the other hand, in the schedule in Figure 7(A), the switching operations for injection molding machines 10B and 10C are duplicated. As another example, if priorities are set as shown in Figure 5(B), the schedule shown in Figure 7(B) is extracted. That is, tasks are assigned to injection molding machines 10A to 10D so that all switching operations do not overlap in time.
[0041] Then, if there is one schedule generated in step S13, or if there is one schedule extracted in step S16 (S15: No), the schedule generation server 20 outputs the schedule (S18). "Outputting the schedule" means, for example, displaying the schedule on the display 25, sending the schedule to an external device via the communication IF 26, or printing the schedule with a printer (not shown). The process in step S18 is an example of output processing. Then, the factory workers operate the injection molding machines 10A to 10D according to the schedule output from the schedule generation server 20.
[0042] Furthermore, if there are multiple schedules that satisfy all the arbitrary conditions (in other words, all the constraint conditions), the schedule generation server 20 may select one of these schedules prior to step S18. This process is just one example of a selection process. The specific method for selecting one of the multiple schedules is not particularly limited, but the following methods are possible, for example.
[0043] For example, the schedule generation server 20 may have the operator select one of several schedules that satisfy all the constraints via the input device 24. As another example, the schedule generation server 20 may select the schedule that satisfies all the constraints and completes all tasks the earliest. If the two schedules shown in Figure 7 satisfy all the arbitrary conditions, the schedule generation server 20 should select the schedule in Figure 7(A) that completes all tasks the earliest.
[0044] Furthermore, the selection process may be executed if no schedule is extracted during the extraction process. That is, the schedule generation server 20 may select one of the multiple schedules generated in step S13 if there is no schedule that satisfies the highest priority arbitrary condition. Also, the schedule generation server 20 may select one of the multiple schedules that satisfies the (N-1)th arbitrary condition if there is no schedule that satisfies the Nth (if N is 2 or greater) arbitrary condition.
[0045] [Effects of the Embodiment] According to the above embodiment, a schedule is generated that satisfies at least the highest priority (i.e., essential condition) among multiple constraints, so that an appropriate schedule can be generated regardless of the administrator's experience.
[0046] Furthermore, according to the above embodiment, by distinguishing constraints into essential and optional conditions and setting the priority of essential conditions higher than that of optional conditions, a schedule is generated that satisfies at least the essential conditions. As a result, all injection molding machines 10 can complete all the tasks assigned to them.
[0047] Furthermore, according to the above embodiment, by having the operator (typically the factory manager) set the priority of multiple arbitrary conditions, it is possible to generate a schedule that is tailored to the circumstances of the factory (for example, short deadlines, work with a small number of people).
[0048] Furthermore, according to the above embodiment, the operator's desired schedule is extracted by performing an extraction process on multiple schedules that satisfy all essential conditions, starting with the most important optional conditions. On the other hand, if there are multiple schedules that satisfy all constraint conditions, the appropriate schedule is output by selecting one of them.
[0049] [Differentiation] If the schedule generation server 20 generates multiple schedules in step S13 (S15: Yes), as a variation of the extraction process, it may extract the schedule that satisfies the most arbitrary conditions (S16). That is, if the schedule in Figure 7(A) satisfies one arbitrary condition and the schedule in Figure 7(B) satisfies two arbitrary conditions, the schedule generation server 20 may extract the schedule in Figure 7(B) (S16) and output it (S18). This will generate an even more appropriate schedule. In this case, the process of having the operator set the priority of the arbitrary conditions (S11-S12) is omitted.
[0050] Furthermore, the timing of executing the schedule generation process is not limited to the examples of the embodiments described above. The schedule generation server 20 may, for example, execute the schedule generation process again during a period when the molding system 1 is already executing tasks according to a previously generated schedule.
[0051] As an example, the schedule generation server 20 may execute the schedule generation process when a new task record is added to the task management table. In this case, tasks that are currently running should not be moved, and only tasks waiting to be executed and newly added tasks should be moved. That is, if a new task record is added at time T1 in Figure 7(A), the schedule generation server 20 should not move the tasks identified by task IDs "001", "007", "006", and "005", but should move the tasks identified by task IDs "004", "009", "003", and "008" along with the newly added task to generate a new schedule.
[0052] As another example, the schedule generation server 20 may execute the schedule generation process when a task abnormally stops in any of the injection molding machines 10A to 10D. In this case, tasks that are running normally should not be moved, and only the abnormally stopped task and tasks waiting to be executed should be moved. That is, if the task identified by task ID "007" abnormally stops at time T2 in Figure 7(B), the tasks identified by task IDs "003", "004", and "005" should not be moved, and the tasks identified by task IDs "008", "007", and "009" should be moved to generate a new schedule. Furthermore, only the portion of the remaining molding count of the task identified by task ID "007" (i.e., the abnormally stopped task) should be added to the new schedule.
[0053] The embodiments described above are illustrative for explaining the present invention and are not intended to limit the scope of the invention to those embodiments only. Those skilled in the art can implement the present invention in various other forms without departing from the spirit of the invention.
[0054] Furthermore, the program according to the present invention is not limited to a single program, but may be a collection of multiple programs. Also, the program according to the present invention is not limited to being executed on a single device, but may be executed by multiple devices in a shared manner. Moreover, the division of roles between the injection molding machine 10, the schedule generation server 20, and the consumable supply server 30 is not limited to the examples described above.
[0055] Furthermore, some or all of the means implemented by the program can also be implemented by hardware such as integrated circuits. Additionally, the program may be provided by being recorded on a non-transient recording medium readable by a computer. Recording mediums include, for example, hard disks, SD cards, DVDs, and servers on the internet. [Explanation of symbols]
[0056] 1…Molding system, 2…Communication network, 10…Injection molding machine, 11…Clamping device, 12…Injection device, 13…Control device, 20…Schedule generation server, 21…CPU, 22…Memory, 23…Storage, 24…Input device, 25…Display, 26…Communication interface, 27…Communication bus, 28…Schedule generation program
Claims
1. In a schedule generation device that generates a schedule indicating which of a number of tasks, each of which is a processing unit for continuously molding the same molded product, should be executed in what order by multiple molding machines that inject molding material into a mold to form a molded product, A configuration process for setting the priority of multiple constraints, A schedule generation device characterized by performing a generation process that generates the schedule such that at least the constraint condition with the highest priority set in the setting process is satisfied among a plurality of constraint conditions.
2. In the schedule generation device according to claim 1, The aforementioned constraints include mandatory conditions that must always be satisfied and optional conditions that differ from the mandatory conditions. A schedule generation device characterized in that, in the setting process, the priority of the required conditions is set higher than that of the optional conditions.
3. In the schedule generation device according to claim 2, A schedule generation device characterized in that, in the setting process, the operator sets the priority order of a plurality of arbitrary conditions.
4. In the schedule generation device according to claim 3, A schedule generation device characterized in that, when a plurality of schedules satisfying the aforementioned essential conditions are generated by the generation process, an extraction process is repeated to extract the schedule that satisfies one of the plurality of arbitrary conditions in order of the highest priority set in the setting process, until only one schedule remains.
5. In the schedule generation device according to claim 4, A schedule generation device characterized in that, when a plurality of schedules satisfying all of the above arbitrary conditions are extracted in the extraction process, it performs a selection process to select one of the plurality of schedules.
6. In the schedule generation device according to claim 2, A schedule generation device characterized in that, when a plurality of schedules satisfying the aforementioned essential conditions are generated by the generation process, an extraction process is performed to extract the schedule that satisfies the most of the aforementioned arbitrary conditions.
7. In the schedule generation device according to claim 2, The aforementioned essential conditions are for confirming whether the molding machine can perform the task, The schedule generation device is characterized in that the aforementioned optional conditions are conditions for improving the throughput of the execution of the task by the molding machine.