Scheduling method and device, equipment and storage medium
By obtaining and analyzing the process data and machine tool data of the products to be processed, the estimated time of the process is automatically determined and updated the remaining time of the machine tool. Effective use.
Patent Information
- Application Number
- CN202411530006.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-01-28
AI Technical Summary
Manual production scheduling methods cause production dispatchers to spend a lot of time scheduling, and can only perform coarse-grained production scheduling, which is prone to problems such as completion of the process ahead of schedule, resulting in waste of production capacity.
By obtaining the process data of the product to be processed and the data of the candidate machine tool, the estimated start and end time of the process will be automatically determined, and the surplus processing time of the machine tool can be updated to achieve fine production of the process.
The production process of automation is realized, saving artificial resources, improved the fineness of production, reduced production capacity waste, and improved production efficiency.
Smart Images

Figure CN119378912A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present disclosure relate to the technical field of production scheduling, and in particular, to a production scheduling method, device, equipment and storage medium. Background Art
[0002] In the field of machining, manual scheduling is currently the main method. During manual scheduling, Excel is usually used to list the processes to be processed, and then each process is scheduled manually.
[0003] However, the manual scheduling method requires production schedulers to spend a lot of time on scheduling every day, and production schedulers can usually only schedule the processes on a coarse-grained basis. Therefore, it is easy for processes to be completed ahead of schedule within the corresponding scheduling time, resulting in a waste of production capacity. Summary of the invention
[0004] In order to solve the above technical problems or at least partially solve the above technical problems, the embodiments of the present disclosure provide a production scheduling method, device, equipment and storage medium.
[0005] A first aspect of an embodiment of the present disclosure provides a production scheduling method, the method comprising:
[0006] Obtaining process data of the product to be processed and machine tool data of the candidate machine tools, wherein the process data includes processing time and process status, and the machine tool data includes remaining processing time;
[0007] For the first-category process whose process status is being processed, the estimated end time of the first-category process is determined according to the reference start time and processing time of the first-category process, and the remaining processing time of the candidate machine tool is updated;
[0008] For the second-type processes whose process status is unprocessed, the estimated start time and the estimated end time of the second-type processes are determined according to the processing time of the second-type processes and the updated remaining machinable time of the candidate machine tools, and the remaining machinable time of the candidate machine tools is updated.
[0009] A second aspect of an embodiment of the present disclosure provides a production scheduling device, the device comprising:
[0010] An acquisition module, used to acquire process data of the product to be processed and machine tool data of the candidate machine tool, wherein the process data includes processing time and process status, and the machine tool data includes remaining processing time;
[0011] The first production scheduling module is used to determine the estimated end time of the first-category process with the process status of being processed according to the reference start time and processing time of the first-category process, and update the remaining processing time of the candidate machine tools;
[0012] The second production scheduling module is used to determine the estimated start time and the estimated end time of the second type of process with the process status of unprocessed according to the processing time of the second type of process and the updated remaining processing time of the candidate machine tool, and update the remaining processing time of the candidate machine tool.
[0013] A third aspect of an embodiment of the present disclosure provides an electronic device, the server comprising: a processor and a memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the method of the first aspect above.
[0014] A fourth aspect of an embodiment of the present disclosure provides a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the method of the first aspect described above can be implemented.
[0015] Compared with the prior art, the technical solution provided by the embodiments of the present disclosure has the following advantages:
[0016] The disclosed embodiment can obtain the process data of the product to be processed and the machine tool data of the candidate machine tool, wherein the process data includes the processing time and the process status, and the machine tool data includes the remaining processable time; for the first type of process whose process status is being processed, the estimated end time of the first type of process is determined according to the reference start time and the processing time of the first type of process, and the remaining processable time of the candidate machine tool is updated; for the second type of process whose process status is not processed, the estimated start time and the estimated end time of the second type of process are determined according to the processing time of the second type of process and the updated remaining processable time of the candidate machine tool, and the remaining processable time of the candidate machine tool is updated. It can be seen that by adopting the above technical scheme, the first type of processing process and the second type of processing process of the product to be processed can be automatically scheduled, saving labor resources, and the processing time of the process is taken into account when scheduling the first type of processing process and the second type of processing process, so that the process can be scheduled more finely, thereby improving the problem of a large difference between the scheduling time of the process and the actual required processing time, saving production capacity resources. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0018] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0019] Figure 1 is a flow chart of a production scheduling method provided by an embodiment of the present disclosure;
[0020] Figure 2 is a flow chart of another production scheduling method provided by an embodiment of the present disclosure;
[0021] Figure 3 It is a structural schematic diagram of a production scheduling device provided by an embodiment of the present disclosure;
[0022] Figure 4 It is a structural schematic diagram of an electronic device in an embodiment of the present disclosure. DETAILED DESCRIPTION
[0023] In order to more clearly understand the above-mentioned objectives, features and advantages of the present disclosure, the scheme of the present disclosure will be further described below. It should be noted that the embodiments of the present disclosure and the features in the embodiments can be combined with each other without conflict.
[0024] In the following description, many specific details are set forth to facilitate a full understanding of the present disclosure, but the present disclosure may also be implemented in other ways different from those described herein; it is obvious that the embodiments in the specification are only part of the embodiments of the present disclosure, rather than all of the embodiments.
[0025] Figure 1 is a flow chart of a production scheduling method provided by an embodiment of the present disclosure, and the method can be executed by an electronic device. The electronic device can be exemplarily understood as a device with a page display function such as a mobile phone, a tablet computer, a laptop computer, a desktop computer, a smart TV, etc. Figure 1 As shown, the method provided in this embodiment includes the following steps:
[0026] S110, obtaining process data of the product to be processed and machine tool data of the candidate machine tools.
[0027] In the disclosed embodiment, during the production scheduling process, it is necessary to obtain the process data of the product to be processed and the machine tool data of the candidate machine tools, so as to schedule the process of the product to be processed later.
[0028] Among them, the process data includes the processing time and process status of the process.
[0029] Of course, if the product to be processed includes a first type of processing procedure whose process status is being processed, the process data of the product to be processed may also include the actual start time of the first type of processing procedure; if the product to be processed includes a third type of processing procedure whose process status is completed, the process data of the product to be processed may also include the actual start time and actual end time of the third type of processing procedure.
[0030] Of course, process data may also include process steps, unique process code, process type, program file, processing quantity, batch, specification model, demand date, casting date, priority, working hours, production department, etc., but is not limited to these.
[0031] Optionally, S110 may include: S111, obtaining original process data of the product to be processed; S112, preprocessing the original process data to obtain process data, wherein the preprocessing includes at least one of the following: modifying the data type, eliminating abnormal data, and supplementing null value data.
[0032] Specifically, the original process data of the product to be processed sent by other electronic devices may be received, for example, the original process data of the product to be processed sent by multiple data sources may be received; the original process data of the product to be processed may also be read from a storage device, but it is not limited thereto.
[0033] Specifically, those skilled in the art may use any possible method to detect whether there is abnormal data in the original process data, and if abnormal data is detected, the abnormal data may be removed.
[0034] For example, if it is detected that the processing time of a certain process is -2 hours, it is obviously abnormal data. At this time, the abnormal data can be eliminated.
[0035] Specifically, those skilled in the art may use any possible method to detect whether there is null value data in the original process data. If null value data is detected, the process and data type corresponding to the null value data may be determined, and the standard value of the process under the data type may be added to the null value data.
[0036] For example, if the processing time of the chamfering process is empty value data, and the standard value of the processing time of the chamfering process is 3 hours, 3 hours can be added to the empty value data.
[0037] Specifically, each data type of process data has a corresponding required format. When the actual format of process data of a certain data type does not conform to the corresponding required format, format conversion may be performed.
[0038] For example, process data of numerical type and / or text type that cannot be operated using Spark SQL functions may be converted into a format such as type conversion or numerical conversion, so that the converted process data can be operated using Spark SQL functions.
[0039] It can be understood that by preprocessing the original process data to obtain process data, data that may affect subsequent production scheduling can be avoided as much as possible in the process data, laying the foundation for smooth and accurate production scheduling based on the process data.
[0040] Optionally, the process data of the products to be processed can be deduplicated, integrated and implemented.
[0041] Specifically, each product to be processed has a unique product number, and the process data of the product to be processed can be deduplicated according to the product number.
[0042] Specifically, integrating process data of products to be processed may include classification, labeling, and aggregation.
[0043] Classification and marking means that the processes of the products to be processed can be divided into first-category processes, second-category processes and third-category processes according to the process status of the processes, and the first-category processes can be marked as being processed, the second-category processes can be marked as unprocessed, and the third-category processes can be marked as completed.
[0044] Aggregation means that for the same product to be processed, if multiple processes of the product to be processed can be processed sequentially on the same machine tool, then the multiple processes can be aggregated into one process.
[0045] Specifically, the integrated process data of the product to be processed can be stored in a distributed file system (Hadoop Distributed File System, HDFS), etc., but is not limited to this.
[0046] The machine tool data includes the remaining processable time, which refers to the time period during which the candidate machine tool can be scheduled to perform process processing after excluding holidays within the preset time period. Those skilled in the art can set the preset time period according to actual conditions, which is not limited here.
[0047] Of course, the machine tool data may also include the machine tool type, machine tool operator, etc., but is not limited thereto.
[0048] S120. For a first-category process whose process status is being processed, determine an estimated end time of the first-category process according to a reference start time and a processing duration of the first-category process, and update the remaining processing time of the candidate machine tool.
[0049] In the disclosed embodiment, for each first-category process of each product to be processed in this production scheduling process, the estimated end time of the first-category process can be determined based on the reference start time and processing time of the first-category process, and the remaining processing time of the candidate machine tool for processing the first-category process can be updated, wherein the candidate machine tool for processing the first-category process is a processing machine tool because it is currently processing.
[0050] Specifically, the reference start time is the start time used to predict the expected end time, and the expected end time can be obtained by extending the processing time from the reference start time.
[0051] In some embodiments, optionally, the estimated end time of the first category of processes is determined based on the reference start time and processing time of the first category of processes, including: S1211, starting from the actual start time of the first category of processes (i.e., the reference start time) and delaying the processing time to obtain the estimated end time of the first category of processes.
[0052] Specifically, the actual start time is the time when the first process is actually started.
[0053] In some other implementations, optionally, the process data further includes process steps, wherein determining the estimated end time of the first type of process according to the reference start time and processing time of the first type of process includes:
[0054] S1221. If the number of first-category processes for the same product to be processed is 1, the estimated end time of the first-category process is obtained by extending the processing time from the reference start time of the first-category process, wherein the reference start time of the first-category process is the actual start time of the first-category process.
[0055] S1222. If the number of first-category processes for the same product to be processed is greater than 1, the estimated end time of the first-category process is obtained by extending the processing time from the reference start time of the first-category process, where the reference start time of the first first-category process is the actual start time of the first first-category process. From the second first-category process to the last first-category process, the reference start time is the estimated end time of the previous process, and the previous process is determined by the process step.
[0056] Specifically, the process steps are used to characterize the processing sequence between various processes of the product to be processed.
[0057] For example, if the current production scheduling process includes product A to be processed (including first-category process A11, first-category process A12 after first-category process A11, and second-category process A21 after first-category process A12), product B to be processed (including first-category process B11, and second-category process B21 after first-category process B11), and product C to be processed (including first-category process C11, second-category process C21 after first-category process C11, and second-category process C22 after second-category process C21), then for first-category process A11, the processing time of first-category process A11 is postponed from the actual start time of first-category process A11 to obtain the estimated end time of first-category process A11, and the remaining processing time of the processing machine tool used to process the first-category process A11 is updated; for first-category process A12, the processing time of first-category process A12 is postponed from the estimated end time of first-category process A11 to obtain the estimated end time of first-category process A12. The remaining machining time of the candidate machine tool for processing the second-category process A12 is updated. In addition, the processing machine tool for the second-category process A12 can be set to be the same as the processing machine tool for the first-category process A11. A product having two or more processes being processed is an abnormal production situation, so the processing machine tool for the second-category process A12 is set to the processing machine tool for the first-category process A11, so that it can be quickly located which process of which product has a problem; for the first-category process B11, the processing time of the first-category process B11 is extended from the actual start time of the first-category process B11 to obtain the estimated end time of the first-category process B11, and the remaining machining time of the candidate machine tool for processing the first-category process B11 is updated; for the first-category process C11, the processing time of the first-category process C11 is extended from the actual start time of the first-category process C11 to obtain the estimated end time of the first-category process C11, and the remaining machining time of the candidate machine tool for processing the first-category process C11 is updated.
[0058] It can be understood that by determining the reference start time of the first category process and extending the processing time from the reference start time of the first category process to obtain the estimated end time of the first category process, the reference start time and the estimated end time of multiple first category processes of the same product to be produced can be separated, so as to avoid the problem that the reference start time and the estimated end time of some first category processes cannot be displayed when the reference start time and the estimated end time of the first category process are subsequently displayed in the Gantt chart.
[0059] S130. For the second-category process whose process status is unprocessed, determine the estimated start time and the estimated end time of the second-category process according to the processing time of the second-category process and the updated remaining processing time of the candidate machine tool, and update the remaining processing time of the candidate machine tool.
[0060] In the disclosed embodiment, after the scheduling of each first-type process of each product to be processed in this production scheduling process is completed, for each second-type process of each product to be processed in this production scheduling process, the estimated start time and the estimated end time of the second-type process can be determined according to the processing time of the second-type process and the updated remaining processing time of the candidate machine tool, and the remaining processing time of the candidate machine tool for processing the second-type process can be updated.
[0061] Specifically, for each product to be processed in this production scheduling process, if the number of second-category processes in the product to be processed is greater than 1, the second-category processes can be processed in sequence from front to back (the processing sequence is determined by the process steps): "Determine the estimated start time and estimated end time of the second-category process based on the processing time of the second-category process and the updated remaining processing time of the candidate machine tool, and update the remaining processing time of the candidate machine tool."
[0062] Optionally, determining an estimated start time and an estimated end time of the second-category process according to the processing time of the second-category process and the updated remaining processing time of the candidate machine tool includes:
[0063] S131. Select a target machine tool for processing the second type of process from the candidate machine tools.
[0064] Optionally, the process data also includes process steps, and the machine tool data also includes machine tool types, wherein the previous process of the second category process is determined by the process steps; S131 includes: S1311, obtaining the process type of the second category process, and the reference end time of the previous process of the second category process; S1312, selecting a target machine tool for processing the second category process from the candidate machine tools, wherein, for the target machine tool, its machine tool type matches the process type of the second category process, its remaining machinable time corresponds to the earliest start processing time, and its remaining machinable time corresponds to the start processing time later than the reference end time of the previous process of the second category process.
[0065] Specifically, if the process status of the previous process of the second category process is completed, the reference end time of the previous process is the actual end time of the previous process; if the process status of the previous process of the second category process is in processing or unprocessed, the reference end time of the previous process is the estimated end time of the previous process.
[0066] Specifically, the matching of the machine tool type of a candidate machine tool and the process type of a second-category process means that the second-category process can be processed on the candidate machine tool.
[0067] Specifically, the start processing time corresponding to the remaining processable time refers to the earliest time that the candidate machine tool can start working in the remaining processable time. For example, if the remaining processable time is 10:00-12:00 am and 14:00-18:00 pm today, then the start processing time corresponding to the remaining processable time is 10:00 am today.
[0068] It can be understood that the above method of selecting the target machine tool for the second process from the candidate machine tools can find the target machine tool that can process the second process at the earliest for the second type of process, which is conducive to shortening the waiting time for the machine tool between the second type of process and its previous process, thereby shortening the overall generation time of the product to be processed belonging to the second type of process.
[0069] Of course, those skilled in the art can understand that, for the target machine tool, it can also be any candidate machine tool among the candidate machine tools whose machine tool type matches the process type of the second category process and whose start processing time corresponding to the remaining processable time is later than the reference end time of the previous process of the second category process.
[0070] S132. Determine the estimated start time of the second type of process according to the remaining processing time of the target machine tool.
[0071] Specifically, the start processing time corresponding to the remaining processing time of the target machine tool is used as the estimated start time of the second type of process.
[0072] S133. Extend the processing time from the estimated start time of the second-category process to obtain the estimated end time of the second-category process.
[0073] Exemplarily, a scheduling function for scheduling the second type of process can be set. The function parameters of the scheduling function include: an unprocessed process queue consisting of the second process of the product to be processed, and the reference end time of the previous process of the first second process in the unprocessed process queue (i.e., the process at the front of the processing sequence). The internal logic of the scheduling function is: looping the following operations until all elements in the unprocessed process queue (i.e., the second type of process) are removed: obtaining and removing the top element of the unprocessed process queue (i.e., the process at the front of the processing sequence that is not scheduled for the product to be processed); obtaining the process type of the top element, and searching for all candidate machine tools that can be processed for the top element according to the process type of the top element (i.e., the candidate machine tool whose machine tool type matches the process type of the top element); calling the process machine tool selection function (the internal logic of the process machine tool selection function is the content described in S1312), searching for the target machine tool that can arrange the processing of the top element and has the earliest scheduling time for the top element, and after the process machine tool selection function is successfully called, the top element will have an estimated start time and an estimated end processing time. In this way, the production scheduling results of all second-category processes of all products to be processed can be obtained by calling the production scheduling function.
[0074] Exemplarily, following the previous example, for product A to be processed, the unprocessed queue is the second-category process A21, and the reference end time of the previous process corresponding to the unprocessed queue is the estimated end time of the first-category process A12. By inputting these two parameters into the production scheduling function, the estimated end time and estimated start time of the second-category process A21 can be obtained; for product B to be processed, the unprocessed queue is the second-category process B21, and the reference end time of the previous process corresponding to the unprocessed queue is the estimated end time of the first-category process B11. By inputting these two parameters into the production scheduling function, the estimated end time and estimated start time of the second-category process B21 can be obtained; for product C to be processed, the unprocessed queue includes second-category processes C21 and C22, and the reference end time of the previous process corresponding to the unprocessed queue is the estimated end time of the first-category process C11. By inputting these two parameters into the production scheduling function, the estimated end time and estimated start time of the second-category process C21 and the estimated end time and estimated start time of the second-category process C22 can be obtained.
[0075] It is understandable that in the prior art, with the manual production scheduling method, production schedulers have to spend a lot of time every day to arrange production plans, and because production schedulers can only know in a coarse-grained manner which processes should be processed every day according to the duration of the products to be processed, it is impossible to achieve the global optimal production scheduling sequence, which will cause a waste of production capacity.
[0076] However, in this application, the automatic optimization arrangement of the production plan can be achieved. Specifically, it is possible to realize real-time and automatic adjustment of the processing order of the process and which machine tool to process on, and to ensure the orderly connection of the upper and lower processes in a waterfall manner while shortening the non-processing time to 0. After the plan is deployed, it will automatically run without human intervention throughout the process, achieving complete automation. Due to the real-time scheduling of the products to be processed, even if there is a problem with the machine tool being processed, the subsequent processes will be immediately adjusted to other available candidate machine tools, ensuring the continuity of product processing. In addition, the workload of personnel is reduced. Machine tool operators no longer need to pay attention to which jobs are processed every day. They only need to pay attention to the current process to be processed and the next process to be processed. This greatly reduces ineffective working time such as finding jobs, preparing processing materials, and asking dispatchers for the next processing plan. In addition, it can also reduce waste of production capacity. Specifically, it can save the production scheduling personnel in each workshop from spending a lot of time every day arranging production plans. The production plan can be changed from being updated every day to being updated at no preset interval (for example, updated every minute). Each process can be changed from being processed on a certain machine tool and completed today to the machine tool with the least waiting time and the processing time node accurate to the second, eliminating the waste of production capacity caused by machine tool idling, greatly improving the production efficiency of products and the work efficiency of personnel.
[0077] The disclosed embodiments can automatically schedule the first and second processing procedures of the products to be processed, saving labor resources. Moreover, when scheduling the first and second processing procedures, the processing time of the procedures is taken into consideration, so that the procedures can be scheduled more precisely, thereby improving the problem of a large difference between the scheduling time of the procedures and the actual required processing time, and saving production capacity resources.
[0078] Figure 2 1 is a flow chart of another production scheduling method provided by an embodiment of the present disclosure. The embodiment of the present disclosure is optimized on the basis of the above embodiment, and the embodiment of the present disclosure can be combined with various optional solutions in one or more of the above embodiments.
[0079] like Figure 2 As shown, the production scheduling method may include the following steps.
[0080] S210, obtaining process data of the product to be processed and machine tool data of the candidate machine tools.
[0081] Specifically, S210 is similar to S110 and will not be described in detail here.
[0082] S220. Create a hash table based on the process data of the product to be processed, with the product to be processed as the key and the process queue of the product to be processed as the value.
[0083] Specifically, in a pair of key values in the hash table, the key may be a product code of the product to be processed, and the value may be a process queue of the product to be processed (ie, a first-category process and a second-category process of the product to be processed).
[0084] S230. For the first-category process whose process status is being processed, determine the estimated end time of the first-category process according to the reference start time and processing duration of the first-category process, update the remaining processing time of the candidate machine tools, and delete the first-category process from the hash table.
[0085] In the embodiment of the present disclosure, for each first-class process of each product to be processed in this production scheduling process, the estimated end time of the first-class process can be determined based on the reference start time and processing time of the first-class process, and the remaining processing time of the candidate machine tools used to process the first-class process can be updated, and the first-class process can be deleted from the hash table.
[0086] Specifically, similar parts in S230 and S120 can be understood by referring to the previous text and will not be repeated here.
[0087] Of course, all first-category processes may be deleted from the hash table after the production scheduling of each first-category process is completed.
[0088] S240. For the second-category process whose process status is unprocessed, determine the estimated start time and the estimated end time of the second-category process according to the processing time of the second-category process and the updated remaining machinable time of the candidate machine tool, update the remaining machinable time of the candidate machine tool, and delete the second-category process from the hash table.
[0089] In the disclosed embodiment, after the scheduling of each first-type process of each product to be processed in this production scheduling process is completed, for each second-type process of each product to be processed in this production scheduling process, the estimated start time and the estimated end time of the second-type process can be determined according to the processing time of the second-type process and the updated remaining processing time of the candidate machine tool, and the remaining processing time of the candidate machine tool for processing the second-type process is updated, and the second-type process is deleted from the hash table.
[0090] Specifically, similar parts in S240 and S130 can be understood by referring to the previous text and will not be repeated here.
[0091] Of course, after all the second-type processes in the same product to be processed are scheduled, all the first-type processes in the product to be processed can be deleted from the hash table.
[0092] Optionally, the method further includes: displaying a reference start time and an estimated end time of the first category of processes, and a reference start time and an estimated end time of the second category of processes.
[0093] Specifically, the process data of the products to be processed, the reference start time, estimated end time, and candidate machine tools for processing the first type of processes, the estimated start time, estimated end time, and candidate machine tools for processing the second type of processes can be stored in MongoDB (a non-relational database), and then the above data can be obtained on the client and visualized in the form of a Gantt chart.
[0094] It is understandable that by displaying the scheduling results for the first type of process and the second process, the machine tool operator can intuitively and quickly obtain the scheduling results, and then produce based on the scheduling results. Specifically, based on the visualized streaming scheduling results, both the production scheduler and the processing personnel can have a clear view of the processing process of all processes of the entire product to be processed, and know the detailed process information such as the start time, completion time, which machine tool is used for processing, how long the processing time is, and what machine tool processing program is used.
[0095] The disclosed embodiment creates a hash table based on the process data of the product to be processed and promptly deletes the scheduled processes from the hash table, thereby effectively reducing the risk of missed scheduling or rescheduling and improving the accuracy of scheduling.
[0096] Figure 3 is a schematic diagram of the structure of a production scheduling device provided by an embodiment of the present disclosure, and the production scheduling device can be understood as the above-mentioned electronic device or a part of the functional modules in the above-mentioned electronic device. Figure 3 As shown, the production scheduling device 300 includes:
[0097] An acquisition module, used to acquire process data of the product to be processed and machine tool data of the candidate machine tool, wherein the process data includes processing time and process status, and the machine tool data includes remaining processing time;
[0098] The first production scheduling module is used to determine the estimated end time of the first-category process with the process status of being processed according to the reference start time and processing time of the first-category process, and update the remaining processing time of the candidate machine tools;
[0099] The second production scheduling module is used to determine the estimated start time and the estimated end time of the second type of process with the process status of unprocessed according to the processing time of the second type of process and the updated remaining processing time of the candidate machine tool, and update the remaining processing time of the candidate machine tool.
[0100] In another embodiment of the present disclosure, the acquisition module includes a first sub-acquisition module for acquiring process data of the product to be processed, and the first sub-acquisition module may include:
[0101] An acquisition unit, used for acquiring original process data of the product to be processed;
[0102] The preprocessing unit is used to preprocess the original process data to obtain process data, wherein the preprocessing includes at least one of the following: modifying the data type, eliminating abnormal data, and supplementing null value data.
[0103] In another embodiment of the present disclosure, the process data further includes process steps, wherein the first production scheduling module includes a first determination submodule for determining an estimated end time of the first type of process according to a reference start time and a processing duration of the first type of process, and the first determination submodule may include:
[0104] A first determining unit is used for, if the number of first-category processes of the same product to be processed is 1, to obtain an estimated end time of the first-category process by extending the processing time from the reference start time of the first-category process, wherein the reference start time of the first-category process is the actual start time of the first-category process;
[0105] The second determination unit is used to, if the number of first-category processes for the same product to be processed is greater than 1, extend the processing time from the reference start time of the first-category process to obtain the estimated end time of the first-category process, wherein the reference start time of the first first-category process is the actual start time of the first first-category process, and for the second first-category process to the last first-category process, the reference start time is the estimated end time of the previous process, and the previous process is determined by the process step.
[0106] In another embodiment of the present disclosure, the second production scheduling module includes a second determination submodule for determining an estimated start time and an estimated end time of the second type of process according to the processing time of the second type of process and the updated remaining processing time of the candidate machine tool. The second determination submodule may include:
[0107] A selection unit, used for selecting a target machine tool for processing the second type of process from the candidate machine tools;
[0108] A third determining unit is used to determine the estimated start time of the second type of operation according to the remaining machining time of the target machine tool;
[0109] The fourth determining unit is used to obtain an estimated end time of the second type of process by extending the processing time from the estimated start time of the second type of process.
[0110] In another embodiment of the present disclosure, the process data further includes process steps, and the machine tool data further includes machine tool types, wherein the selection unit may include:
[0111] An acquisition subunit is used to acquire the process type of the second-category process and the reference end time of the previous process of the second-category process, wherein the previous process of the second-category process is determined by the process step;
[0112] A selection subunit is used to select a target machine tool for processing the second type of process from the candidate machine tools, wherein, for the target machine tool, its machine tool type matches the process type of the second type of process, its remaining machinable time corresponds to the earliest start processing time, and its remaining machinable time corresponds to the start processing time later than the reference end time of the previous process of the second type of process.
[0113] In another embodiment of the present disclosure, the device further comprises:
[0114] A creation module, used for creating a hash table with the product to be processed as a key and the process queue of the product to be processed as a value according to the process data of the product to be processed;
[0115] A first deletion module, configured to delete the first-category process from the hash table after determining an estimated end time of the first-category process according to a reference start time and a processing duration of the first-category process;
[0116] The second deleting module is used to delete the second type of process from the hash table after determining the estimated start time and the estimated end time of the second type of process according to the processing time of the second type of process and the updated remaining processing time of the candidate machine tool.
[0117] In another embodiment of the present disclosure, the device further comprises:
[0118] The display module is used to display the reference start time and the estimated end time of the first type of process, and the reference start time and the estimated end time of the second type of process.
[0119] The device provided in this embodiment can execute the method of any of the above embodiments, and its execution method and beneficial effects are similar, which will not be repeated here.
[0120] An embodiment of the present disclosure further provides an electronic device, which includes: a memory, in which a computer program is stored; and a processor, for executing the computer program. When the computer program is executed by the processor, the method of any of the above embodiments can be implemented.
[0121] For example, Figure 4 Schematic diagram of the structure of an electronic device in the embodiment of the present disclosure. Figure 4 , which shows a schematic diagram of the structure of an electronic device 400 suitable for implementing the embodiment of the present disclosure. The electronic device 400 in the embodiment of the present disclosure may include, but is not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), vehicle-mounted terminals (such as vehicle-mounted navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, etc. Figure 4 The electronic device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.
[0122] like Figure 4 As shown, the electronic device 400 may include a processing device (e.g., a central processing unit, a graphics processing unit, etc.) 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage device 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the electronic device 400 are also stored. The processing device 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.
[0123] Typically, the following devices may be connected to the I / O interface 405: an input device 406 including, for example, a touch screen, a touch pad, a keyboard, a mouse, a camera, a microphone, an accelerometer, a gyroscope, etc.; an output device 407 including, for example, a liquid crystal display (LCD), a speaker, a vibrator, etc.; a storage device 408 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 409. The communication device 409 may allow the electronic device 400 to communicate with other devices wirelessly or by wire to exchange data. Although Figure 4 The electronic device 400 is shown with various devices, but it should be understood that it is not required to implement or possess all the devices shown. More or fewer devices may be implemented or possessed instead.
[0124] In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present disclosure includes a computer program product, which includes a computer program carried on a non-transitory computer-readable medium, and the computer program contains program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication device 409, or installed from the storage device 408, or installed from the ROM 402. When the computer program is executed by the processing device 401, the above-mentioned functions defined in the method of the embodiment of the present disclosure are executed.
[0125] It should be noted that the computer-readable medium disclosed above may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present disclosure, a computer-readable storage medium may be any tangible medium containing or storing a program that may be used by or in combination with an instruction execution system, device or device. In the present disclosure, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried. This propagated data signal may take a variety of forms, including but not limited to an electromagnetic signal, an optical signal, or any suitable combination of the above. The computer readable signal medium may also be any computer readable medium other than a computer readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer readable medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (radio frequency), etc., or any suitable combination of the above.
[0126] In some embodiments, the client and the server may communicate using any currently known or future developed network protocol such as HTTP (HyperText Transfer Protocol), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), an internet (e.g., the Internet), and a peer-to-peer network (e.g., an ad hoc peer-to-peer network), as well as any currently known or future developed network.
[0127] The computer-readable medium may be included in the electronic device, or may exist independently without being incorporated into the electronic device.
[0128] The computer-readable medium carries one or more programs. When the one or more programs are executed by the electronic device, the electronic device: obtains process data of the product to be processed and machine tool data of the candidate machine tools, wherein the process data includes processing time and process status, and the machine tool data includes remaining machinable time; for a first-category process whose process status is being processed, determines the expected end time of the first-category process according to the reference start time and processing time of the first-category process, and updates the remaining machinable time of the candidate machine tools; for a second-category process whose process status is unprocessed, determines the expected start time and expected end time of the second-category process according to the processing time of the second-category process and the updated remaining machinable time of the candidate machine tools, and updates the remaining machinable time of the candidate machine tools.
[0129] Computer program code for performing the operations of the present disclosure may be written in one or more programming languages or a combination thereof, including, but not limited to, object-oriented programming languages, such as Java, Smalltalk, C++, and conventional procedural programming languages, such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider).
[0130] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some implementations as replacements, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0131] The units involved in the embodiments described in the present disclosure may be implemented by software or hardware, wherein the name of a unit does not, in some cases, limit the unit itself.
[0132] The functions described above herein may be performed at least in part by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0133] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0134] The embodiments of the present disclosure also provide a computer-readable storage medium, in which a computer program is stored. When the computer program is executed by a processor, the method of any of the above embodiments can be implemented. The execution method and beneficial effects are similar and will not be repeated here.
[0135] It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0136] The above description is only a specific embodiment of the present disclosure, so that those skilled in the art can understand or implement the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present disclosure. Therefore, the present disclosure will not be limited to the embodiments described herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A production scheduling method, characterized in that: include: Acquire process data of the product to be processed and machine tool data of the candidate machine tool, wherein the process data includes processing time and process status, and the machine tool data includes remaining processing time; For the first type of process whose process status is being processed, determine the estimated end time of the first type of process according to the reference start time and processing duration of the first type of process, and update the remaining processing time of the candidate machine tool; For the second type of process whose process status is unprocessed, the estimated start time and the estimated end time of the second type of process are determined according to the processing time of the second type of process and the updated remaining processing time of the candidate machine tool, and the remaining processing time of the candidate machine tool is updated.
2. The production scheduling method according to claim 1, characterized in that: The step of obtaining process data of the product to be processed includes: Acquiring original process data of the product to be processed; The original process data is preprocessed to obtain the process data, wherein the preprocessing includes at least one of the following: modifying the data type, eliminating abnormal data, and supplementing null value data.
3. The production scheduling method according to claim 1, characterized in that: The process data also includes process steps, wherein determining the estimated end time of the first type of process according to the reference start time and processing time of the first type of process includes: If the number of the first-category process of the same product to be processed is 1, the estimated end time of the first-category process is obtained by extending the processing time from the reference start time of the first-category process, wherein the reference start time of the first-category process is the actual start time of the first-category process; If the number of first-category processes for the same product to be processed is greater than 1, the estimated end time of the first-category process is obtained by extending the processing time from the reference start time of the first-category process, wherein the reference start time of the first first-category process is the actual start time of the first first-category process, and for the second to the last first-category process, their reference start time is the estimated end time of their previous process, and their previous process is determined by the process steps.
4. The production scheduling method according to claim 1, characterized in that: The step of determining the estimated start time and the estimated end time of the second-type process according to the processing time of the second-type process and the updated remaining processing time of the candidate machine tool comprises: Selecting a target machine tool for processing the second type of process from the candidate machine tools; Determining an estimated start time of the second type of process according to the remaining machining time of the target machine tool; The estimated end time of the second-type process is obtained by extending the processing time from the estimated start time of the second-type process.
5. The production scheduling method according to claim 4, characterized in that: The process data further includes process steps, and the machine tool data further includes machine tool types, wherein the step of selecting a target machine tool for processing the second type of process from the candidate machine tools includes: Acquire the process type of the second-type process and the reference end time of the previous process of the second-type process, wherein the previous process of the second-type process is determined by the process step; A target machine tool for processing the second type of process is selected from the candidate machine tools, wherein, for the target machine tool, its machine tool type matches the process type of the second type of process, its remaining machinable time corresponds to the earliest start processing time, and its remaining machinable time corresponds to the start processing time later than the reference end time of the previous process of the second type of process.
6. The method according to claim 1, characterized in that Also includes: According to the process data of the product to be processed, a hash table is created with the product to be processed as a key and the process queue of the product to be processed as a value; After determining the estimated end time of the first-category process according to the reference start time and processing duration of the first-category process, the method further includes: deleting the first-category process from the hash table; After determining the estimated start time and the estimated end time of the second-category process according to the processing time of the second-category process and the updated remaining processing time of the candidate machine tool, it also includes: deleting the second-category process from the hash table.
7. The method according to any one of claims 1 to 6, characterized in that: Also includes: The reference start time and estimated end time of the first-type process and the reference start time and estimated end time of the second-type process are displayed.
8. A production scheduling device, characterized in that: include: An acquisition module, used to acquire process data of the product to be processed and machine tool data of the candidate machine tool, wherein the process data includes processing time and process status, and the machine tool data includes remaining processing time; A first production scheduling module is used to determine, for the first type of process whose process status is being processed, an estimated end time of the first type of process according to the reference start time and processing duration of the first type of process, and update the remaining processing time of the candidate machine tool; The second production scheduling module is used to determine the estimated start time and the estimated end time of the second type of process with the process status being unprocessed according to the processing time of the second type of process and the updated remaining processing time of the candidate machine tool, and update the remaining processing time of the candidate machine tool.
9. An electronic device, characterized in that: include: A processor and a memory, wherein a computer program is stored in the memory, and when the computer program is executed by the processor, the processor executes the method according to any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.