Scheduling method and apparatus for automatic process, and control method and apparatus for automatic process
By eliminating throughput steps that require branch switching in automated processes and using buffer bits to resolve resource conflicts, the automated system can be quickly re-scheduled, solving the problem of time-consuming branch switching in existing technologies and improving process efficiency and user experience.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MEGAROBO TECH CO LTD
- Filing Date
- 2025-09-24
- Publication Date
- 2026-07-02
AI Technical Summary
In existing technologies, the branch switching scheduling of automated processes is time-consuming, especially in high-throughput and complex scenarios where it is difficult to quickly respond to changing user needs.
By removing the steps corresponding to the first branch of the current throughput that needs branch switching, and combining the scheduling results of other throughputs with the steps corresponding to the new branch, the automation system is re-scheduled. Buffer bits are used to resolve resource conflicts, ensuring that the step order of other throughputs is not changed.
It enables rapid scheduling of automated processes during branch switching, significantly reducing scheduling time and improving process efficiency, especially in high-throughput and complex scenarios. It is suitable for various automated process use cases and meets users' personalized needs.
Smart Images

Figure CN2025123518_02072026_PF_FP_ABST
Abstract
Description
Scheduling methods, control methods and devices for automated processes
[0001] This application claims priority to Chinese Patent Application No. 202411943919.4, filed on December 26, 2024, entitled “Scheduling Method, Control Method and Apparatus for Automation Systems”, the entire contents of which are incorporated herein by reference. Technical Field
[0002] This application relates to the field of automation, and more specifically to a scheduling method for an automation system, a control method for an automation system, a scheduling device for an automation system, a control device for an automation system, an electronic device, and a storage medium. Background Technology
[0003] In recent years, business processes and logic in the field of automation have become increasingly complex, and fixed, single processes can hardly meet the ever-changing user needs and application scenarios. The ability to quickly and flexibly respond to constantly changing business requirements has become the core competitiveness of automation process control software.
[0004] In an automated system, there may be multiple throughputs, each corresponding to the same or different automated processes. During the operation of each throughput in the automated system, branch switching of the process is required based on the actual situation. Branch switching can be understood as executing different branches under different conditions. Before the operation of each throughput in the automated system, the steps are pre-scheduled based on a branch (the automated process can be parsed into multiple steps). During actual operation, another branch is executed based on judgment conditions. This situation can be understood as the branch switching mentioned in this invention. Here, step scheduling can be understood as the time ordering of each step involved in the automated process.
[0005] In existing technologies, scheduling branch switching is a challenge, requiring trade-offs between time and scheduling content. Currently, branch switching in workflows uses full-throughput scheduling, which reschedules all steps in each throughput, resulting in significant time consumption in high-throughput and complex scenarios. Summary of the Invention
[0006] This application is made in consideration of the above-mentioned problems. According to a first aspect of this application, a scheduling method for an automated process is provided, comprising: based on a pre-completed first scheduling result, removing the steps corresponding to a first branch in a first throughput in the first scheduling result and retaining the scheduling results corresponding to other throughputs besides the first throughput, wherein the first throughput is the throughput that currently needs branch switching, the automated process includes at least one branch switching process, each branch switching process includes a first branch and a second branch, one of the first branch and the second branch is the branch corresponding to the branch switching condition, and the other of the first branch and the second branch is the branch corresponding to the branch switching condition not being met, the first scheduling result is the scheduling of steps completed for each throughput before each throughput runs in the automated system, and the first scheduling result is based on the first branch in the branch switching process; based on the steps corresponding to the second branch in the first throughput and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, rescheduling the automated system to obtain a second scheduling result, so as to complete the operation of each throughput based on the new scheduling result.
[0007] In one possible implementation, the step of rescheduling the automation system based on the steps corresponding to the second branch in the first throughput and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result to obtain a second scheduling result includes: when rescheduling the automation system, determining whether there is a resource conflict; if there is no resource conflict, retaining the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, and arranging the steps corresponding to the second branch in the first throughput in the allowed positions to obtain the second scheduling result.
[0008] In one possible implementation, the step of rescheduling the automation system based on the steps corresponding to the second branch in the first throughput and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result to obtain a second scheduling result includes: when rescheduling the automation system, determining whether there is a resource conflict; if there is a resource occupation conflict, according to the occupation status of the first device and based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, arranging the steps corresponding to the second branch in the first throughput and the newly inserted steps in the allowed positions to obtain the second scheduling result; wherein, the newly inserted steps include the step of removing consumables from the current position to the buffer position and the step of returning consumables from the buffer position to the current position; the first device includes the device corresponding to the step of removing consumables from the current position to the buffer position.
[0009] In one possible implementation, the step of arranging the steps corresponding to the second branch in the first throughput and the newly inserted steps in an allowed position to obtain a second scheduling result in the event of resource conflict, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, includes: arranging the step of removing the consumable from its current position to the buffer position before the unexecuted steps corresponding to other throughputs besides the first throughput, the step of returning the consumable from the buffer position to its current position, and the steps corresponding to the second branch in the first throughput, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result.
[0010] In one possible implementation, the step of removing the consumable from its current position from the buffer position based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, is scheduled before the unexecuted steps corresponding to other throughputs besides the first throughput, the step of returning the consumable from the buffer position to its current position, and the step corresponding to the second branch in the first throughput. This includes determining the start time of the step of removing the consumable from its current position from the buffer position by:
[0011] Based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling results, the latest release time of the first device is determined.
[0012] Based on the latest release time of the first device, determine the start time corresponding to the step of removing the consumable from the current position to the buffer position.
[0013] In one possible implementation, determining the latest release time of the first device based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling results includes:
[0014] Based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, determine the latest end time of the steps in other throughputs besides the first throughput that are currently occupying the first equipment or have already completed the occupation of the first equipment;
[0015] The latest end time is determined as the latest release time of the first device.
[0016] In one possible implementation, in the event of a resource conflict, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch in the first throughput and the newly inserted steps are arranged in permissible positions to obtain the second scheduling result, which includes the following steps prior to obtaining the second scheduling result:
[0017] Based on the newly inserted step, determine the first device corresponding to the newly inserted step;
[0018] Based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, determine the current occupancy status of the first device.
[0019] In one possible implementation, the step of removing the consumable from its current position from the buffer position includes multiple sub-steps, and the method further includes arranging the multiple sub-steps sequentially.
[0020] According to a second aspect of this application, a method for controlling an automated process is also provided, comprising: controlling the operation of the automated process based on the scheduling method.
[0021] In one possible implementation, the control method further includes:
[0022] Determine whether there are resource conflicts during the rescheduling based on the second scheduling result;
[0023] In the event of resource conflicts, the steps of moving consumables from the current position to the buffer and back from the buffer to the current position are constructed to reschedule and control the automated process based on the constructed steps.
[0024] According to a third aspect of this application, a scheduling apparatus for automated processes is also provided, comprising:
[0025] The elimination module is used to eliminate the steps corresponding to the first branch of the first throughput in the first scheduling result based on the pre-completed first scheduling result, and retain the scheduling results corresponding to other throughputs other than the first throughput. The first throughput is the throughput that needs to switch branches now. The automated process includes at least one branch switching process. Each branch switching process includes a first branch and a second branch. One of the first branch and the second branch is the branch that meets the branch switching conditions, and the other of the first branch and the second branch is the branch that does not meet the branch switching conditions. The first scheduling result is the scheduling of steps completed for each throughput before each throughput runs in the automated system, and the first scheduling result is based on the first branch in the branch switching process.
[0026] The scheduling module re-schedules the automated system based on the steps corresponding to the second branch in the first throughput and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result to obtain a second scheduling result, so as to complete the operation of each throughput based on the new scheduling result.
[0027] According to a fourth aspect of this application, an automated process control device is also provided, comprising: a control module, which controls the operation of the automated process based on the control method described above.
[0028] According to a fifth aspect of this application, an electronic device is also provided, including a processor and a memory, wherein the memory stores computer program instructions, which, when executed by the processor, are used to perform a scheduling method for the automated process and a control method for performing the automated process.
[0029] According to a sixth aspect of this application, a storage medium is also provided, on which program instructions are stored, which, when run, are used to execute a scheduling method for the automated process and a control method for executing the automated process.
[0030] In the above scheme, by removing the steps corresponding to the first branch of the first throughput in the first scheduling result, and rescheduling the automation system based on the steps corresponding to the second branch of the first throughput and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, a new scheduling result can be obtained. In this scheme, the automation system is rescheduling using the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result and the steps corresponding to the second branch of the first throughput. That is, for throughputs that do not require branch switching, it is not necessary to disrupt their execution order and reschedule each step. Instead, the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result are retained. Based on this, the automation system is rescheduling by combining the steps corresponding to the second branch of the first throughput. This can also be understood as inserting the steps corresponding to the second branch of the first throughput into appropriate positions based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, without changing the order of the steps corresponding to other throughputs besides the first throughput in the first scheduling result. Therefore, this solution can quickly automate process scheduling during branch switching, significantly reducing scheduling time, especially in high-throughput and complex scenarios, thus improving process efficiency. Furthermore, it is applicable to various automated process use cases, fully meeting users' personalized needs and providing a better user experience.
[0031] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0032] The above and other objects, features, and advantages of this application will become more apparent from the more detailed description of the embodiments of this application in conjunction with the accompanying drawings. The accompanying drawings are used to provide a further understanding of the embodiments of this application and form part of the specification. They are used together with the embodiments of this application to explain this application and do not constitute a limitation thereof. In the accompanying drawings, the same reference numerals generally represent the same components or steps.
[0033] Figure 1 illustrates a schematic diagram of an automated process according to an embodiment of this application;
[0034] Figure 2 shows a flowchart of a scheduling method for an automated system according to an embodiment of this application;
[0035] Figure 3 shows the Gantt charts for the two throughputs corresponding to the automated process shown in Figure 1;
[0036] Figure 4 shows the case where the step corresponding to the first branch in the first flux of Figure 3 is eliminated;
[0037] Figure 5 shows a Gantt chart corresponding to the case where there is no resource conflict in the scheduling method of an automated system according to an embodiment of this application;
[0038] Figure 6 shows a Gantt chart corresponding to the case of resource conflicts in the scheduling method of an automated system according to an embodiment of this application;
[0039] Figure 7a shows a schematic diagram of equipment occupancy before a new step is inserted in the scheduling method of an automated system according to an embodiment of the present application;
[0040] Figure 7b shows a schematic diagram of equipment occupancy after a new step has been inserted in the scheduling method of an automation system according to an embodiment of this application;
[0041] Figure 8 shows a schematic block diagram of a scheduling apparatus for an automated process according to an embodiment of this application; and
[0042] Figure 9 shows a schematic block diagram of an electronic device according to an embodiment of the present application. Detailed Implementation
[0043] To make the objectives, technical solutions, and advantages of this application more apparent, exemplary embodiments according to this application will be described in detail below with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this application, and not all embodiments of this application. It should be understood that this application is not limited to the exemplary embodiments described herein. Based on the embodiments of this application described herein, all other embodiments obtained by those skilled in the art without inventive effort should fall within the protection scope of this application.
[0044] In this invention, the automated process is built from multiple nodes, as shown in Figure 1. It is an automated process including a consumable node, a device node 1, a decision node, a device node 2, and a device node 3. Before the automated process runs, it needs to be analyzed based on the automated process to obtain a series of steps, thereby scheduling each step and forming a timetable for step execution, which can be presented to the user, for example, through a Gantt chart. In one embodiment, the device corresponding to device node 1 can be a liquid dispenser, the device corresponding to device node 2 can be a plate station (which may include multiple plate positions) for incubation, and the device corresponding to device node 3 can be a plate washer. Thus, in this automated process, after parsing, it mainly includes the following steps (there may be other steps, which are only for understanding and are not limited): 1) Consumables are transported into the device corresponding to device node 1, such as a liquid dispenser, by a robotic arm; 2) The liquid dispenser corresponding to device node 1 performs a liquid dispensing action; 3) The robotic arm removes the consumables from the liquid dispenser and puts them into the plate station for incubation or into the plate washer for washing. Whether to put them into the plate station or the plate washer needs to be decided by the decision node. The decision node has a judgment condition. If the judgment result is "true", the consumables enter the plate station for incubation, which can also be understood as the automated process executing the true branch. If the judgment result is "false", the consumables enter the plate washer for washing, which can also be understood as the automated process executing the false branch. The consumables referred to in this invention include various containers that hold samples. Descriptions such as "consumables enter the plate station for incubation" actually refer to incubating the samples.
[0045] An automated system can include multiple automated processes or multiple throughputs. It's important to note that different throughputs can correspond to different automated processes, and one automated process can also correspond to multiple throughputs. Before an automated process runs, all throughputs in the system need to be scheduled. Simply put, this means treating all throughputs as a whole and sequencing the steps within each throughput by time. As mentioned above, in existing technologies, full throughput scheduling is used for branch switching scenarios. Because it requires planning all steps across all throughputs, this is time-consuming in high-throughput and complex scenarios. For example, in the embodiment shown in Figure 1, when a branch switching is needed, full throughput scheduling requires shuffling and rescheduling all steps in each throughput. For instance, in the embodiment shown in Figure 1, there are 5 throughputs, each corresponding to 5 steps. If a branch switching is needed, all steps in the 5 throughputs need to be rescheduled, i.e., full throughput scheduling. Obviously, this scheduling method is time-consuming in high-throughput and complex scenarios because it requires replanning all steps across all throughputs.
[0046] To at least partially address the aforementioned technical problems, according to a first aspect of this application, a scheduling method for an automated system is provided. The scheduling method according to embodiments of this application can be applied to automated processes in various fields for various suitable objectives. For simplicity, the following explanation will use an automated process in an automated system in the field of biochemistry as an example.
[0047] Figure 2 shows a schematic flowchart of a scheduling method 100 for an automation system according to an embodiment of this application. As shown in Figure 2, the scheduling method 100 may include steps S110 and S120.
[0048] Step S110: Based on the pre-completed first scheduling result, remove the steps corresponding to the first branch in the first throughput in the first scheduling result and retain the scheduling results corresponding to other throughputs besides the first throughput. Here, the first throughput is the throughput that currently needs branch switching. The automated process includes at least one branch switching process. Each branch switching process includes a first branch and a second branch. One of the first branch and the second branch is the branch corresponding to the branch switching condition, and the other of the first branch and the second branch is the branch corresponding to the branch switching condition not being met. The first scheduling result is the scheduling of steps completed for each throughput before each throughput runs in the automated system. This first scheduling result is based on the first branch in the branch switching process.
[0049] As mentioned above, before each throughput in an automated system can run, the various steps in the corresponding automated process need to be scheduled to complete the operation of each throughput. In this invention, the scheduling result before each throughput runs is recorded as the first scheduling result. This invention is for scheduling when the automated system encounters branch switching during operation, so the scheduling before operation is understood as pre-completed.
[0050] As described above, the first branch can be either a true branch or a false branch. In one embodiment, the first branch is a true branch, and the first scheduling result is a schedule completed based on the true branch. Therefore, during operation, when it is necessary to switch to the false branch, the scheduling needs to be re-scheduled, which can be achieved using the scheduling method of the automated system of this invention.
[0051] During rescheduling, based on the pre-completed first scheduling results, the step corresponding to the first branch in the first throughput of the first scheduling results is removed. In this step, the first throughput is the throughput that currently needs branch switching. For ease of understanding, the following uses the automated process shown in Figure 1 as an example. In an automated system, there are two throughputs (first throughput and second throughput), each corresponding to the automated process shown in Figure 1. Figure 3 shows the Gantt chart corresponding to the first scheduling results of the first throughput and the second throughput. In a Gantt chart, the first column corresponds to the first throughput, the second column to the second throughput, and the third column to the equipment or resource usage of the automation system. It can be understood that the first, second, and third columns are all based on a timeline. Taking the first column as an example, the areas corresponding to the time periods t1-t2, t3-t4, and t5-t6 all represent robotic arm handling (only the start and end points of the robotic arm handling differ). Specifically, t1-t2 corresponds to the step of moving consumables to the dispenser, t3-t4 corresponds to the step of moving consumables from the dispenser to the platen (denoted as step a), the area corresponding to the time period t2-t3 represents the dispensing step of the dispenser, the area corresponding to the time period t4-t5 represents the incubation step within the platen (denoted as step b), and t5-t6 corresponds to the step of removing consumables from the platen (denoted as step c). Since Gantt charts are a common display method in existing technologies, they will not be described in detail here.
[0052] In step S110 above, the first throughput is the throughput that needs to be switched between branches. Therefore, based on the first scheduling result shown in Figure 3, the steps corresponding to the first branch in the first throughput are removed, that is, the steps corresponding to the time period t3-t6 in the first column of the Gantt chart are removed (because as shown in Figure 1, the steps corresponding to the first branch in the first throughput include steps a-c). The steps enclosed in the dashed box in Figure 4 are the steps that are removed. It can be understood that removing the steps corresponding to the first branch in the first throughput includes removing the steps that are moved out from the previous device before the branch switch. As shown in Figure 4, in this embodiment, removing the steps corresponding to the first branch in the first throughput includes the steps of moving consumables from the dispenser to the plate station corresponding to the time period t3-t4.
[0053] S120, based on the steps corresponding to the second branch in the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result, the automation system is re-scheduled to obtain a second scheduling result, so as to complete the operation of each flux based on the new scheduling result.
[0054] Continuing with the Gantt chart shown in Figure 3 as an example, in this embodiment, the other throughputs in the first scheduling result besides the first throughput are specifically the second throughputs. That is, the scheduling result based on the second throughput in the first scheduling result can also be understood as rescheduling the automated process without disrupting the order (execution time) of each step in the second throughput, or it can be understood as rescheduling the automated process based on the resource usage of each step in the original second throughput, combined with the steps corresponding to the second branch in the first throughput. Here, "combining the steps corresponding to the second branch in the first throughput" refers not only to the steps themselves but also to the information associated with the steps. In other words, this information is also included within the steps. For example, "combining the steps corresponding to the second branch in the first throughput" can actually include the specific steps corresponding to the second branch in the first throughput, the running time of each step, the equipment used by each step, and all other information used in scheduling. This embodiment illustrates the case where the automated system includes two throughputs. It can be understood that the scheduling method for the automated system provided by this invention applies regardless of the number of throughputs. In this invention, "resources" can be understood as hardware devices used to perform the corresponding steps, such as robotic arms, liquid dispensers, plate stations, plate washers, etc.
[0055] In this scheme, when branch process switching is required, the steps corresponding to the first branch in the first throughput of the first throughput can be removed based on the pre-completed first scheduling result. Then, the automation system is re-scheduled based on the scheduling results of other throughputs besides the first throughput and the steps corresponding to the second branch in the first throughput to obtain a second scheduling result. This re-scheduling of the automation system using the scheduling results of other throughputs besides the first throughput and the steps corresponding to the second branch in the first throughput means that for throughputs that do not require branch switching, the execution order of each step does not need to be disrupted and re-scheduled. Instead, the scheduling results of other throughputs besides the first throughput are retained, and the automation system is re-scheduled based on these results and the steps corresponding to the second branch in the first throughput. This can also be understood as inserting the steps corresponding to the second branch in the first throughput into appropriate positions based on the scheduling results of other throughputs besides the first throughput, without changing the order of the steps in the first throughput. Therefore, this solution can quickly automate process scheduling during branch switching, significantly reducing scheduling time, especially in high-throughput and complex scenarios, thus improving process efficiency. Furthermore, it is applicable to various automated process use cases, fully meeting users' personalized needs and providing a better user experience.
[0056] For example, step S120, based on the steps corresponding to the second branch in the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result, reschedules the automation system to obtain a second scheduling result, including step S121.
[0057] Step S121: When rescheduling the automation system, determine whether there is a resource conflict. If there is no resource conflict, retain the scheduling results corresponding to the other throughputs in the first scheduling result except for the first throughput, and arrange the steps corresponding to the second branch in the first throughput in the allowed positions to obtain the second scheduling result.
[0058] In one embodiment, during branch switching—that is, during the operation of an automated process—if a condition determines that a second branch should be run instead of the first branch, a branch switching is required, which necessitates rescheduling. During rescheduling, it's necessary to consider which resources (equipment) are needed to complete the steps corresponding to the second branch, and whether these resources conflict (e.g., are they being used by other steps). Figure 5 shows an embodiment where there are no resource conflicts. In this embodiment, completing the steps corresponding to the second branch requires a certain piece of equipment (robotic arm). If, at the time of branch switching (denoted as time t3), this equipment is idle (unused) and there are no other resource conflicts, then step 1 of the second branch can be directly scheduled at time t3' after time t3. This position can be understood as the allowed position. Therefore, the allowed placement position can be understood as the time at which the corresponding step is placed at this position without resource conflicts. It can be understood that the other steps corresponding to the second branch are arranged one by one in a similar manner to the placement of step 1.
[0059] In one implementation, arranging the steps corresponding to the second branch in the first throughput at an allowed position can be understood as follows: if the time taken by the first step corresponding to the second branch in the first throughput (e.g., a robotic arm moving consumables from the device corresponding to device node 1 to the device corresponding to device node 3) is less than or equal to the time taken by the first step corresponding to the first branch in the original first scheduling result (e.g., a robotic arm moving consumables from the device corresponding to device node 1 to the device corresponding to device node 2), then the position occupied by the first step corresponding to the first branch on the Gantt chart is an allowed position. Therefore, when rescheduling the automation system, it is determined whether there is a resource conflict. If there is no resource conflict, the scheduling results corresponding to other throughputs in the first scheduling result other than the first throughput are retained, and the steps corresponding to the second branch in the first throughput are arranged in the gaps left after removing the steps corresponding to the first branch in the first throughput from the first scheduling result, resulting in the second scheduling result. It is understood that these gaps actually correspond to a time period.
[0060] In another embodiment, for a branch switching throughput of X without resource conflicts, the information of throughput X in the original Gantt chart (first scheduling result) needs to be extracted (removed or eliminated), and the remaining part is denoted as Gantt-correct. For example, for throughput X, there are 2 steps before the branch switching and 3 steps after the switching. Among other throughputs, throughput X has 0 steps before the branch switching and 5 steps after the switching. After elimination, the steps before the branch switching remain unchanged, and only the 5 steps of other throughputs are retained after the branch switching. Based on Gantt-correct, only throughput X is rescheduled. For example, previously, only 5 steps were retained for other throughputs, and the allowed timetables of these steps (a part of the timetable corresponding to the first scheduling result) remain unchanged (the order remains unchanged). Under this resource consumption condition, the second branch step of throughput X (the branch corresponding to the false one) is rescheduled. In fact, it is simply to arrange the second branch step of throughput X in the allowed positions, where the allowed positions include positions where there are no resource conflicts when the corresponding steps are arranged in the corresponding positions.
[0061] In the above technical solution, since the resource conflict situation is determined in advance, the accuracy and efficiency of scheduling can be improved when rescheduling. Moreover, in the case where there is no resource conflict, part of the scheduling result in the first scheduling result is retained, which can further improve the scheduling efficiency.
[0062] For example, step S120, based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result and the steps corresponding to the second branch in the first flux, reschedules the automation system to obtain a second scheduling result, including step S122.
[0063] Step S122: When rescheduling the automation system, determine whether there is a resource conflict. If there is a resource conflict, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, arrange the steps corresponding to the second branch in the first throughput and the newly inserted steps in the allowed positions to obtain the second scheduling result. The newly inserted steps include the step of removing the consumable from the current position to the buffer position and the step of returning the consumable from the buffer position to the current position. The first device includes the device corresponding to the step of removing the consumable from the current position to the buffer position.
[0064] In one embodiment, a certain device is needed to complete the steps corresponding to the second branch. If device 1 is completing other throughput steps when the branch is switched, a resource conflict will occur if step 1 corresponding to the second branch is directly scheduled at the time corresponding to the branch switch. That is, the device is occupied and cannot start step 1 corresponding to the second branch at the time corresponding to the branch switch.
[0065] In one embodiment, step 1 corresponding to the second branch takes 15 seconds, which is less than or equal to the gap left by the previous steps in the Gantt chart (corresponding to the scenario in Figure 1, the gap here refers to the transport time from the dispenser to the plate station when the true branch is executed). Therefore, step 1 corresponding to the second branch can be arranged in the position corresponding to the original step from the dispenser to the plate station, which also shows that there is no resource conflict. On the other hand, if step 1 (from the dispenser to the plate washer) corresponding to the second branch takes 30 seconds, which is greater than the gap left by the previous steps (corresponding to the scenario in Figure 1, the gap here refers to the transport time from the dispenser to the plate station when the true branch is executed), there will be a resource occupation conflict after insertion. It is important to note that resource conflicts not only include situations where the equipment corresponding to the second branch is occupied, but also situations where the arrangement of the steps corresponding to the second branch is conflicted with other non-running steps of other throughputs. Referring to the embodiment in Figure 1, before the branch switch, the consumables occupy the dispenser. If other throughputs use the dispenser, although there are gaps in the Gantt chart, the step of "removing consumables from the dispenser" is also removed when the step is removed. Since the newly inserted step cannot remove the consumables from the dispenser in time, it will affect the steps of other throughputs to complete the process of the consumables entering the dispenser. At this time, there is also a resource conflict.
[0066] In step S122, the current position can be understood as the position of the consumables corresponding to the throughput when switching branches. Taking the automated process shown in Figure 1 as an example, the current position is inside the dispenser, because the branch switching is only required after the dispenser's dispensing action is completed.
[0067] It is understandable that if a certain step is completed within a certain time period (denoted as tt), the device corresponding to that step must be available within that time period tt. In other words, if the device is completing or about to complete other steps, the device is in an occupied state and no other steps can be scheduled within that time period tt, otherwise a resource conflict will occur.
[0068] In step S122, during rescheduling, if resource conflicts are encountered, new steps need to be inserted. This involves moving consumables to a buffer position to resolve the current resource conflict. Specifically, based on the scheduling results of other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch of the first throughput and the newly inserted steps are arranged in allowed positions to obtain the second scheduling result. In step S122, by using buffer positions to resolve resource conflicts, when rescheduling the automation system, scheduling can be performed based on the scheduling results of other throughputs besides the first throughput in the first scheduling result, targeting the steps corresponding to the second branch of the first throughput and the newly inserted steps. Specifically, for each step, without disrupting the order of steps in other throughputs besides the first throughput in the first scheduling result, the corresponding step is inserted into an allowed position. An allowed position can be understood as inserting the corresponding step into the corresponding time period without resource conflicts. In one embodiment, the device corresponding to step A is the first device. If the first device is not occupied during a certain time period, step A can be inserted or arranged during that time period.
[0069] In this invention, consumables refer to containers that hold or do not hold samples; the buffer position mentioned above refers to a specially reserved position on a certain device in an automated system, which is used to provide a temporary place for consumables in specific situations to resolve resource conflicts.
[0070] In the above technical solution, since the problem of resource conflict is taken into account, and in the case of resource conflict, buffer bits are used, it is not necessary to shuffle and reschedule each step in the entire throughput. Therefore, the scheduling time is short and the operating efficiency of the automation system can be improved.
[0071] For example, step S122, in the event of a resource conflict, according to the occupancy of the first device and based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, arranges the steps corresponding to the second branch in the first throughput and the newly inserted steps in the allowed positions to obtain the second scheduling result, including step S122a.
[0072] Step S122a: Based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, the step of moving consumables from the current position to the buffer position is arranged before the unexecuted steps corresponding to other throughputs besides the first throughput, the step of moving consumables from the buffer position back to the current position, and the step corresponding to the second branch in the first throughput.
[0073] In step S122a, the step of removing the consumable from its current position to the buffer position has the highest priority in the rescheduling, that is, the step of removing the consumable from its current position to the buffer position is scheduled first, and then the other steps are scheduled.
[0074] In one embodiment, referring to the automation process shown in Figure 1 and the scheduling results shown in Figure 6, the step corresponding to the time period t3'-t4' in Figure 6 represents the robotic arm moving consumables from the dispenser to the buffer position. This step is scheduled before the second throughput steps are executed (in this embodiment, none of the steps of the second throughput have started), and before the step of returning the consumables from the buffer position to the current position (corresponding to the time period t5'-t6') and the steps corresponding to the second branch in the first throughput (corresponding to the time periods t6'-t7', t7'-t8', and t8'-t9'). Here, t6'-t7' corresponds to the transfer from device 1 to device 3, t7'-t8' corresponds to the operation of device 3, and t8'-t9 corresponds to the operation of moving the consumables away from device 3.
[0075] In another embodiment, in step S122a, the step of removing the consumable from its current buffer position in the newly inserted step is designated as a high-priority step, and a Gantt chart is inserted in Gantt-correct order, resulting in a new Gantt chart as shown in Figure 6. Furthermore, the newly inserted step only mutually excludes identical resources and does not prevent parallel processing of different resources. That is, for example, if the newly inserted step needs to be completed by device F, but device F is currently completing other steps, a resource conflict may occur. At that moment, device F cannot complete the newly inserted step. However, device G, which does not need to complete the newly inserted step, can complete other steps in parallel without being affected by the newly inserted step.
[0076] In the above technical solution, by making the step of removing the consumable from the current position in the newly inserted step a high-priority step, the problem of resource conflict can be solved and the scheduling efficiency can be improved.
[0077] For example, in step S122a, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, the step of removing consumables from the current position to the buffer position is scheduled before the unexecuted steps corresponding to other throughputs besides the first throughput, the step of returning consumables from the buffer position to the current position, and the step corresponding to the second branch in the first throughput. This includes determining the start time of the step of removing consumables from the current position to the buffer position by the following method:
[0078] Step S122a-1: Based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling results, determine the latest release time of the first device;
[0079] Step S122a-2: Based on the latest release time of the first device, determine the start time corresponding to the step of removing the consumable from the current position to the buffer position.
[0080] The step of moving the consumable from its current position to the buffer position requires the use of the first device. Therefore, once the first device is released, the step of moving the consumable from its current position to the buffer position can be completed using the first device. Thus, the start time of the step of moving the consumable from its current position to the buffer position can be determined based on the latest release time of the first device.
[0081] In step S122a-1, the first device may include one device or multiple devices. When the first device includes one device, the release time of the first device is the latest release time of the first device, which can be understood as the latest time the first device is no longer occupied. In one embodiment, the completion time of the step corresponding to the first device is T5, then the latest release time of the first device is T5. When the first device includes multiple devices, the latest release time of the first device is the maximum value of the times when all devices complete their corresponding steps. For example, if the first device corresponds to three devices, the completion time of the step corresponding to one device is T6, the completion time of the step corresponding to another device is T7, and the completion time of the step corresponding to yet another device is T8, where T6 < T7 < T8, therefore the latest release time of the first device is T8. It can be understood that the case where the first device corresponds to multiple devices can also be understood as the step of removing consumables from their current position to the buffer position involving multiple devices. For example, the step of removing consumables from their current position to the buffer position needs to be completed by three devices: robotic arm 1, robotic arm 2, and robotic arm 3.
[0082] In the above technical solution, by determining the latest release time of the first device, the start time corresponding to the step of moving the consumable from the current position to the buffer position is determined based on the latest release time of the first device. Since the step of moving the consumable from the current position to the buffer position is executed as soon as the first device is released, the operating efficiency of the automated process can be improved, and the scheduling of the automated process can be completed accurately and efficiently.
[0083] For example, step S122a-1, which determines the latest release time of the first device based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling results, includes steps S122a-11 and S122a-12.
[0084] Step S122a-11: Based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, determine the latest end time of the steps in other throughputs besides the first throughput that are currently occupying the first device or have already completed the occupation of the first device.
[0085] In an automated system, when the first throughput needs to switch branches, other throughputs are also running normally. At the current moment, the first device may be occupied or has already been occupied (unoccupied). Therefore, in order to ensure that the first devices are released, it is necessary to determine the latest end time of the steps in other throughputs besides the first throughput that are occupying the first device or have already completed the occupation of the first device.
[0086] Step S122a-12: The latest end time is determined as the latest release time of the first device. This ensures that the first device is released, allowing other steps related to the first device to be scheduled.
[0087] As shown in the embodiments corresponding to Figures 7a and 7b, the horizontal axis in the figures can be understood as a time axis. Each row in the figures represents the occupancy status of each device at each moment. Figure 7a shows the device occupancy status before the new step is inserted, and Figure 7b shows the device occupancy status after the new step is inserted based on the device occupancy status in Figure 7a. The dashed lines in the figures represent branch switching moments. Step 1 and Step 2 are the newly inserted steps. The first device corresponds to Device 2 and Device 1. In Figure 7a, before the branch switching, the latest end time of Device 1 is the boundary moment T1 (step end time) corresponding to the third thin-line rectangle from the left; the latest end time of Device 2 is the boundary moment T2 (step end time) of the second thick-line rectangle from the left. Therefore, the newly inserted Step 1 needs to be inserted after the second thick-line rectangle ends. Since Step 2 depends on Step 1 to complete, and the latest end time T1 of Device 1 is earlier than the end time of Step 1, Step 2 is arranged after Step 1, as shown in Figure 7b. It should be noted that the above description of "thick lines" and "thin lines" is only for ease of description and does not represent any other meaning, nor does it limit the present invention.
[0088] In this scheme, by considering the latest end time of each step in operation and completed for the first device, the earliest start time of the newly inserted step is determined, thereby improving scheduling efficiency and thus improving the operating efficiency of the automated process.
[0089] For example, in step S122, in the event of a resource occupation conflict, based on the occupation status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch in the first throughput and the newly inserted steps are arranged in the allowed positions to obtain the second scheduling result. This includes: determining the first device corresponding to the newly inserted step based on the newly inserted step; and determining the occupation status of the first device at the current time based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result.
[0090] Referring again to Figures 7a and 7b, in the corresponding embodiments shown, Figure 7a can also be understood as the occupancy status of each device. In this embodiment, the newly inserted steps are steps 1 and 2, and the devices corresponding to steps 1 and 2 are device 2 and device 1, respectively. Based on the scheduling results corresponding to the other throughputs besides the first throughput in the first scheduling results, at the branch switching time, the occupancy status of device 1 and device 2 is as follows: device 2 is currently occupied, device 1 has completed its corresponding steps, and there are no steps currently running. This allows us to determine the occupancy status of device 1 and device 2.
[0091] In this solution, by first determining the first device corresponding to the newly inserted step and then determining the occupancy status of the first device, it is possible to quickly reschedule the steps corresponding to the second branch in the first throughput and the newly inserted steps, resulting in high scheduling efficiency and a good user experience.
[0092] For example, the step of removing the consumable from the current position from the buffer position includes multiple sub-steps, and the method further includes arranging the multiple sub-steps consecutively.
[0093] In an automated process, the step of moving consumables from their current position to the buffer position includes multiple sub-steps. For example, it may include steps 3 and 4. Step 3 represents moving the consumables from their current position to the position of robotic arm 1, and step 4 represents moving the consumables from the position of robotic arm 2 to the buffer position (moving from the current position to the buffer position requires two robotic arms as the trajectory of one robotic arm cannot cover the entire area). In other words, in this case, two robotic arms are needed to complete the step of moving the consumables from their current position to the buffer position. In this embodiment, steps 1 and 2 need to be arranged consecutively, which simplifies the arrangement method and improves scheduling efficiency.
[0094] In the above technical solution, since the step of removing consumables from the current position to the buffer position includes multiple sub-steps, the method of arranging multiple sub-steps continuously is adopted, which can simplify the arrangement method and improve the scheduling efficiency and the running efficiency of the automated process.
[0095] According to a second aspect of this application, an automated process control method is also provided, comprising: controlling the operation of the automated process based on the above-described scheduling method.
[0096] In one embodiment, by removing the steps corresponding to the first branch in the first throughput of the first scheduling result, and rescheduling the automation system based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result and the steps corresponding to the second branch in the first throughput, a new scheduling result can be obtained. The operation of the automation process can be controlled based on the new scheduling result, which shortens the scheduling time and improves the efficiency of the process.
[0097] For example, the control method further includes: determining whether there is a resource conflict during rescheduling based on the second scheduling result; and if there is a resource conflict, constructing steps for the consumable to move from the current position to the buffer position and from the buffer position back to the current position, so as to control the rescheduling and automated process based on the constructed steps.
[0098] After rescheduling the automation system to obtain the second scheduling result based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result and the steps corresponding to the second branch in the first throughput, if a resource conflict occurs, the rescheduling will fail due to the resource conflict. Therefore, it is necessary to consider the resource conflict situation and construct steps for consumables to go from the current position to the buffer position and from the buffer position back to the current position, so as to reschedule and control the automation process based on the constructed steps.
[0099] An automated system may include a host computer module and a driver module. The driver module controls hardware devices (such as plate washer, pipetting workstation, etc.), while the host computer module communicates with the driver module to indirectly control the operation of each hardware device. The host computer module also includes a planning module and a scheduling module. The planning module is mainly used to schedule the timetable based on existing resources (equipment), the start and end times of each step, etc. The scheduling module is mainly used to obtain the information needed by the planning module and pass it to the planning module. The planning module returns the scheduling result to the scheduling module. When rescheduling, if a resource conflict occurs, the planning module returns the result (including which step the conflict occurred) to the scheduling module. The scheduling module inserts new steps based on the result returned by the planning module (such as the steps of moving consumables from the current position to the buffer position and from the buffer position back to the current position). Then, the planning module re-schedules based on the newly inserted steps by the scheduling module and returns the scheduling result, thereby enabling the control of the automated process based on the scheduling result.
[0100] In this scheme, the control method can improve operating efficiency by taking into account resource conflicts during branch switching and by rescheduling when resource conflicts occur, thus shortening the scheduling time.
[0101] According to a third aspect of this application, a scheduling apparatus for an automated process is also provided. FIG8 shows a schematic block diagram of a scheduling apparatus 800 for an automated process according to an embodiment of this application. As shown in FIG8, it includes:
[0102] The elimination module 810 is used to eliminate the steps corresponding to the first branch of the first throughput in the first scheduling result based on the pre-completed first scheduling result, and retain the scheduling results corresponding to other throughputs other than the first throughput. Here, the first throughput is the throughput that needs to switch branches now. The automated process includes at least one branch switching process. Each branch switching process includes a first branch and a second branch. One of the first branch and the second branch is the branch that meets the branch switching conditions, and the other of the first branch and the second branch is the branch that does not meet the branch switching conditions. The first scheduling result is the scheduling of steps completed for each throughput before each throughput runs in the automated system, and the first scheduling result is based on the first branch in the branch switching process.
[0103] The scheduling module 820 re-schedules the automated system based on the steps corresponding to the second branch in the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result to obtain a second scheduling result, so as to complete the operation of each flux based on the new scheduling result.
[0104] According to a fourth aspect of this application, an automated process control device is also provided, comprising: a control module that controls the operation of the automated process based on the above-described scheduling method.
[0105] According to a fifth aspect of this application, an electronic device is provided. FIG9 shows a schematic block diagram of an electronic device 900 according to an embodiment of this application. As shown, the electronic device 900 includes a processor 910 and a memory 920. The memory 920 stores computer program instructions, which, when executed by the processor 910, are used to perform the scheduling method 100 and the control method of the aforementioned automated process.
[0106] According to a sixth aspect of this application, a storage medium is also provided. Program instructions are stored on the storage medium, which, when executed, are used to perform the scheduling method 100 and control method of the aforementioned automated process. The storage medium may, for example, include an erasable programmable read-only memory (EPROM), a portable read-only memory (CD-ROM), a USB memory, or any combination of the above storage media. The storage medium may be any combination of one or more computer-readable storage media.
[0107] Those skilled in the art can understand the specific implementation schemes and beneficial effects of the scheduling device, control device, electronic device and storage medium of the above-mentioned automated process by reading the relevant descriptions of the scheduling and control methods of the automated process. For the sake of brevity, they will not be described in detail here.
[0108] Example
[0109] Example 1. A scheduling method for an automated system, characterized in that it includes:
[0110] Based on the pre-completed first scheduling result, the steps corresponding to the first branch in the first throughput in the first scheduling result are removed, and the scheduling results corresponding to other throughputs other than the first throughput are retained. Here, the first throughput is the throughput that currently needs branch switching. The automated process includes at least one branch switching process. Each branch switching process includes a first branch and a second branch. One of the first branch and the second branch is the branch corresponding to the branch switching condition, and the other of the first branch and the second branch is the branch corresponding to the branch switching condition. The first scheduling result is the scheduling of steps completed for each throughput before each throughput runs in the automated system, and the first scheduling result is based on the first branch in the branch switching process.
[0111] Based on the steps corresponding to the second branch in the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result, the automation system is re-scheduled to obtain a second scheduling result, so as to complete the operation of each flux based on the new scheduling result.
[0112] Example 2. The scheduling method as described in Example 1, characterized in that, the step of rescheduling the automation system based on the steps corresponding to the second branch in the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result to obtain a second scheduling result includes:
[0113] When rescheduling the automated system, it is determined whether there are any resource conflicts. If there are no resource conflicts, the scheduling results corresponding to the other throughputs in the first scheduling result are retained, and the steps corresponding to the second branch in the first throughput are arranged in the allowed positions to obtain the second scheduling result.
[0114] Example 3. The scheduling method as described in Example 1 or 2, characterized in that, the step of rescheduling the automation system based on the step corresponding to the second branch in the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result to obtain a second scheduling result includes:
[0115] When rescheduling the automated system, it is determined whether there are resource conflicts. If there are resource conflicts, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch in the first throughput and the newly inserted steps are arranged in the allowed positions to obtain the second scheduling result. The newly inserted steps include the step of removing the consumable from the current position to the buffer position and the step of returning the consumable from the buffer position to the current position. The first device includes the device corresponding to the step of removing the consumable from the current position to the buffer position.
[0116] Example 4. The scheduling method as described in any one of Examples 1 to 3, characterized in that, in the case of resource conflict, according to the occupancy of the first device and based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch in the first throughput and the newly inserted steps are arranged in allowed positions to obtain the second scheduling result, including: according to the occupancy of the first device and based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the step of removing the consumable from the current position to the buffer position is arranged before the unexecuted steps corresponding to other throughputs besides the first throughput, the step of returning the consumable from the buffer position to the current position, and the steps corresponding to the second branch in the first throughput.
[0117] Example 5. The scheduling method as described in any one of Examples 1 to 4, characterized in that, the step of moving the consumable from its current position to the buffer position based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results is arranged before the unexecuted steps corresponding to other throughputs besides the first throughput, the step of moving the consumable from the buffer position back to its current position, and the step corresponding to the second branch in the first throughput, includes: determining the start time of the step of moving the consumable from its current position to the buffer position by the following manner:
[0118] Based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling results, the latest release time of the first device is determined.
[0119] Based on the latest release time of the first device, determine the start time corresponding to the step of removing the consumable from the current position to the buffer position.
[0120] Example 6. The scheduling method as described in any one of Examples 1 to 5, characterized in that, determining the latest release time of the first device based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling results includes:
[0121] Based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, determine the latest end time of the steps in other throughputs besides the first throughput that are currently occupying the first equipment or have already completed the occupation of the first equipment;
[0122] The latest end time is determined as the latest release time of the first device.
[0123] Example 7. The scheduling method as described in any one of Examples 1 to 6, characterized in that, in the case of resource occupation conflict, according to the occupation status of the first device and based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch in the first throughput and the newly inserted steps are arranged in allowed positions to obtain the second scheduling result, before the following steps are taken:
[0124] Based on the newly inserted step, determine the first device corresponding to the newly inserted step;
[0125] Based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, determine the current occupancy status of the first device.
[0126] Example 8. The scheduling method as described in any one of Examples 1 to 7, characterized in that the step of removing the consumable from the current position to the buffer position includes multiple sub-steps, and the method further includes arranging the multiple sub-steps consecutively.
[0127] Example 9. A control method for an automated process, characterized in that it includes:
[0128] The operation of the automated process is controlled based on the scheduling method described in any one of Examples 1-8.
[0129] Example 10. The control method as described in Example 9, characterized in that the control method further includes:
[0130] Determine whether there are resource conflicts during the rescheduling based on the second scheduling result;
[0131] In the event of resource conflicts, the steps of moving consumables from the current position to the buffer and back from the buffer to the current position are constructed to reschedule and control the automated process based on the constructed steps.
[0132] Example 11. A scheduling device for an automated process, characterized in that it comprises:
[0133] The elimination module is used to eliminate the steps corresponding to the first branch of the first throughput in the first scheduling result based on the pre-completed first scheduling result, and retain the scheduling results corresponding to other throughputs other than the first throughput. The first throughput is the throughput that needs to switch branches now. The automated process includes at least one branch switching process. Each branch switching process includes a first branch and a second branch. One of the first branch and the second branch is the branch that meets the branch switching conditions, and the other of the first branch and the second branch is the branch that does not meet the branch switching conditions. The first scheduling result is the scheduling of steps completed for each throughput before each throughput runs in the automated system, and the first scheduling result is based on the first branch in the branch switching process.
[0134] The scheduling module re-schedules the automated system based on the steps corresponding to the second branch in the first throughput and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result to obtain a second scheduling result, so as to complete the operation of each throughput based on the new scheduling result.
[0135] Example 12. A control device for an automated process, characterized in that it comprises:
[0136] The control module controls the operation of the automated process based on the control method described in Embodiment 9 or 10.
[0137] Example 13. An electronic device, comprising a processor and a memory, wherein the memory stores computer program instructions, which, when executed by the processor, are used to perform a scheduling method for an automated process as described in any one of Examples 1 to 8 and a control method for performing an automated process as described in Example 9 or 10.
[0138] Example 14. A storage medium storing program instructions that, when executed, perform a scheduling method for an automated process as described in any one of Examples 1 to 8 and a control method for performing an automated process as described in Example 9 or 10.
[0139] Although exemplary embodiments have been described herein with reference to the accompanying drawings, it should be understood that the above exemplary embodiments are merely illustrative and are not intended to limit the scope of this application. Various changes and modifications can be made therein by those skilled in the art without departing from the scope and spirit of this application. All such changes and modifications are intended to be included within the scope of this application as claimed in the appended claims.
[0140] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0141] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another device, or some features may be ignored or not executed.
[0142] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of this application may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.
[0143] Similarly, it should be understood that, in order to streamline this application and aid in understanding one or more of the various inventive aspects, features of this application may sometimes be grouped together in a single embodiment, figure, or description thereof in the description of exemplary embodiments of this application. However, this approach should not be construed as reflecting an intention that the claimed application requires more features than are expressly recited in each claim. Rather, as reflected in the corresponding claims, its inventive point lies in solving the corresponding technical problem with features fewer than all features of a single disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of this application.
[0144] Those skilled in the art will understand that, apart from the mutual exclusion of features, all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or apparatus so disclosed can be combined in any combination. Unless otherwise expressly stated, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.
[0145] Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features but not others included in other embodiments, combinations of features from different embodiments are intended to be within the scope of this application and form different embodiments. For example, in the claims, any one of the claimed embodiments can be used in any combination.
[0146] The various component embodiments of this application can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some modules in a control system for an automated process according to embodiments of this application. This application can also be implemented as an apparatus program (e.g., a computer program and computer program product) for performing part or all of the methods described herein. Such an implementation of this application can be stored on a computer-readable medium, or can take the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.
[0147] It should be noted that the above embodiments are illustrative of this application and not restrictive, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. This application can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.
[0148] The above description is merely a specific embodiment or illustration of the embodiments of this application. The scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. The scope of protection of this application shall be determined by the scope of the claims.
Claims
1. A method of scheduling an automated system, the method comprising: include: Based on the pre-completed first scheduling result, the steps corresponding to the first branch in the first throughput in the first scheduling result are removed, and the scheduling results corresponding to other throughputs other than the first throughput are retained. Here, the first throughput is the throughput that currently needs branch switching. The automated process includes at least one branch switching process. Each branch switching process includes a first branch and a second branch. One of the first branch and the second branch is the branch corresponding to the branch switching condition, and the other of the first branch and the second branch is the branch corresponding to the branch switching condition. The first scheduling result is the scheduling of steps completed for each throughput before each throughput runs in the automated system, and the first scheduling result is based on the first branch in the branch switching process. Based on the steps corresponding to the second branch in the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result, the automated system is re-scheduled to obtain a second scheduling result, so as to complete the operation of each flux based on the new scheduling result.
2. The scheduling method of claim 1, wherein, The step of rescheduling the automation system based on the second branch corresponding to the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result to obtain a second scheduling result includes: When rescheduling the automated system, it is determined whether there are any resource conflicts. If there are no resource conflicts, the scheduling results corresponding to the other throughputs in the first scheduling result are retained, and the steps corresponding to the second branch in the first throughput are arranged in the allowed positions to obtain the second scheduling result.
3. The scheduling method of claim 1, wherein, The step of rescheduling the automation system based on the second branch corresponding to the first flux and the scheduling results corresponding to other fluxes besides the first flux in the first scheduling result to obtain a second scheduling result includes: When rescheduling the automated system, it is determined whether there are resource conflicts. If there are resource conflicts, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch in the first throughput and the newly inserted steps are arranged in the allowed positions to obtain the second scheduling result. The newly inserted steps include the step of removing the consumable from the current position to the buffer position and the step of returning the consumable from the buffer position to the current position. The first device includes the device corresponding to the step of removing the consumable from the current position to the buffer position.
4. The scheduling method of claim 3, wherein, In the event of resource conflicts, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch in the first throughput and the newly inserted steps are arranged in allowed positions to obtain a second scheduling result. This includes: based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the step of removing the consumable from its current position to the buffer position is arranged before the unexecuted steps corresponding to other throughputs besides the first throughput, the step of returning the consumable from the buffer position to its current position, and the steps corresponding to the second branch in the first throughput.
5. The scheduling method of claim 4, wherein, The step of arranging the step of removing the consumable from its current position from the buffer position based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results before the unexecuted steps corresponding to other throughputs besides the first throughput, the step of returning the consumable from the buffer position to the current position, and the step corresponding to the second branch in the first throughput, includes: determining the start time of the step of removing the consumable from its current position from the buffer position by the following method: Based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling results, the latest release time of the first device is determined. Based on the latest release time of the first device, determine the start time corresponding to the step of removing the consumable from the current position to the buffer position.
6. The scheduling method of claim 5, wherein, The step of determining the latest release time of the first device based on the scheduling results corresponding to other fluxes besides the first flux in the first scheduling results includes: Based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, determine the latest end time of the steps in other throughputs besides the first throughput that are currently occupying the first equipment or have already completed the occupation of the first equipment; The latest end time is determined as the latest release time of the first device.
7. The scheduling method of claim 3, wherein, In the event of resource conflict, based on the occupancy status of the first device and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result, the steps corresponding to the second branch in the first throughput and the newly inserted steps are arranged in permissible positions to obtain the second scheduling result, which includes the following: Based on the newly inserted step, determine the first device corresponding to the newly inserted step; Based on the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling results, determine the current occupancy status of the first device.
8. The scheduling method of claim 3, wherein, The step of removing the consumable from its current position from the buffer position includes multiple sub-steps, and the method further includes arranging the multiple sub-steps consecutively.
9. A method of controlling an automated process, characterized by, include: The operation of the automated process is controlled based on the scheduling method according to any one of claims 1-8.
10. The control method according to claim 9, characterized by, The control method further includes: Determine whether there are resource conflicts during the rescheduling based on the second scheduling result; In the event of resource conflicts, the steps of moving consumables from the current position to the buffer position and back from the buffer position to the current position are constructed to reschedule and control the automated process based on the constructed steps.
11. An apparatus for scheduling an automated process, characterized by include: The elimination module is used to eliminate the steps corresponding to the first branch of the first throughput in the first scheduling result based on the pre-completed first scheduling result, and retain the scheduling results corresponding to other throughputs other than the first throughput. The first throughput is the throughput that needs to switch branches now. The automated process includes at least one branch switching process. Each branch switching process includes a first branch and a second branch. One of the first branch and the second branch is the branch that meets the branch switching conditions, and the other of the first branch and the second branch is the branch that does not meet the branch switching conditions. The first scheduling result is the scheduling of steps completed for each throughput before each throughput runs in the automated system, and the first scheduling result is based on the first branch in the branch switching process. The scheduling module re-schedules the automated system based on the steps corresponding to the second branch in the first throughput and the scheduling results corresponding to other throughputs besides the first throughput in the first scheduling result to obtain a second scheduling result, so as to complete the operation of each throughput based on the new scheduling result.
12. A control device for an automated process, characterized in that include: The control module controls the operation of the automated process based on the control method described in claim 9 or 10.
13. An electronic device comprising a processor and a memory, wherein, The memory stores computer program instructions, which, when executed by the processor, are used to perform a scheduling method for an automated process as described in any one of claims 1 to 8 and a control method for performing an automated process as described in claim 9 or 10.
14. A storage medium storing program instructions that, when executed, perform a scheduling method for an automated process as claimed in any one of claims 1 to 8 and a control method for performing an automated process as claimed in claim 9 or 10.