High-throughput-oriented periodic scheduling method
By constructing an automated process model and a two-layer cyclic scheduling strategy, the problem of high-throughput production scheduling under limited hardware resources was solved, maximizing equipment utilization and shortening the production cycle, thus ensuring efficient and smooth production processes.
Patent Information
- Application Number
- CN202511085829.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-08-04
- Publication Date
- 2025-11-21
AI Technical Summary
In industrial production processes such as semiconductor manufacturing, biomedical research and development, and lithium battery manufacturing, how can we achieve efficient high-throughput production scheduling with limited hardware execution equipment resources to ensure efficient, smooth, and dynamically balanced production processes?
A high-throughput-oriented periodic scheduling method is adopted. A process flow automata model is constructed through a discrete event system supervision and control simulation platform to generate candidate scheduling paths that meet process requirements and are not deadlocked. An intelligent scheduling system is used to optimize equipment utilization and processing sequence. A two-level cyclic scheduling strategy is adopted to adjust the time interval to achieve the shortest production cycle.
Maximize equipment utilization, shorten production cycles, ensure smooth transitions between different process stages, and improve production efficiency and resource utilization.
Smart Images

Figure CN120996440A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of industrial production cycle scheduling, and in particular to a high-throughput-oriented cycle scheduling method. BACKGROUND
[0002] Industrial production cycle scheduling refers to a process of checking, evaluating and adjusting the entire production system according to a certain time period. This includes the allocation of production tasks, the determination of production order, the configuration of production resources, and the monitoring of production progress, etc. For production processes such as semiconductor manufacturing, biomedical research and development, and lithium battery manufacturing, the production process is complex, the cooperation between each link is close and complex, the production continuity is high, and the situation changes rapidly. If a link fails or a scheduled measure fails to be executed on schedule, it may affect the stable operation of the entire production system. Therefore, it is crucial to strengthen production scheduling. The problem of production cycle scheduling is ultimately a dynamic balance problem. It needs to find a stable rhythm between complexity, uncertainty and dynamics. This is not only a technical problem, but also a systematic problem.
[0003] High-throughput (HT) refers to the ability to process or analyze a large number of samples, data or tasks in a unit of time, usually with the help of automation, parallelization or intelligent technology to greatly improve efficiency. In the fields of semiconductors, materials science, biomedicine, etc., the core goal of high-throughput methods is to accelerate research and development, optimize production, and reduce costs.
[0004] How to achieve high-quality high-throughput production scheduling in the industrial production process of semiconductor manufacturing, biomedical research and development, and lithium battery manufacturing is a problem that needs to be solved at present, so as to achieve efficient process processing production cycle scheduling under the condition of limited hardware execution device resources. SUMMARY
[0005] The present application provides a high-throughput-oriented cycle scheduling method, which aims to achieve high-throughput cycle scheduling with the shortest total processing cycle scheduling time under the condition of limited hardware execution device resources, to ensure efficient and smooth industrial production process.
[0006] The technical scheme adopted by the present application is:
[0007] A high-throughput-oriented cycle scheduling method, comprising the following steps:
[0008] Input production data, including: job area division information, device information and process flow information of process processing;
[0009] Among them, the devices in the device information include processing devices, auxiliary devices and loading devices for loading processing objects (workpieces);
[0010] The process flow information includes process flow information of the processing object and process flow information of the loading device based on the work area and the process step description, wherein the process flow information includes work equipment, work equipment quantity, logical relationship of the work equipment and duration of each action of the process step in each process step in each work area;
[0011] The discrete event system supervisory control simulation platform constructs a process flow automaton model for each process flow, generates a candidate scheduling path that meets the process requirements and is non-deadlock based on the work area, process step and device as the scheduling path node, and takes the candidate scheduling path with the shortest total processing time in each production cycle as the optimal scheduling path, wherein the process automaton model represents each process step according to a unified naming rule, and the name (which can be described as an event name), action, work equipment, location (i.e. the work area to which the process flow belongs) and state of each process step are represented;
[0012] Based on the optimal scheduling path, the scheduling information corresponding to each work equipment in the work area is distributed, and the scheduling information related to each work equipment is distributed, so that the processing object is processed based on the received scheduling information.
[0013] In the present application, the scheduling information can be set as the work information (including the obtained production data) of the current work equipment and the front and rear nodes on the optimal scheduling path. The present application is suitable for an intelligent scheduling system including a host computer and a mechanical arm (i.e. auxiliary equipment), wherein the host computer is used to generate the optimal scheduling path of the processing object work and send the optimal scheduling path to the corresponding mechanical arm, and distribute the scheduling information related to each work equipment on the optimal scheduling path to each work equipment; the mechanical arm moves the loading device or the processing object for loading the processing object based on the optimal scheduling path, and each work equipment executes the optimal scheduling path based on the received scheduling information.
[0014] The high-throughput-oriented periodic scheduling method provided by the application is used before production scheduling, and the process parameters (such as key process parameters such as processing time) of the workpiece processing are determined according to the process requirements of the workpiece, and the obtained process parameters are sent to the upper computer, which can also be set as the main control unit of the intelligent scheduling system; after the upper computer receives the process parameter information, the intelligent scheduling algorithm provided by the application is used, and the device performance, processing time, regional capacity and other factors are comprehensively considered, and a high-throughput scheduling path is selected from a plurality of possible candidate scheduling paths: the candidate scheduling path with the shortest total processing time of each production cycle, the high-throughput scheduling path aims to maximize the utilization rate of the device, shorten the production cycle, and ensure smooth connection of each process stage. That is, the upper computer can adjust the transportation order and frequency of each work area loading device in real time according to the production demand, so as to ensure the high efficiency and smoothness of the production process. The main control unit generates a high-throughput scheduling path, and then based on the scheduling path information corresponding to the high-throughput scheduling path, accurately calls each work device, so that each machine executes the task according to the predetermined order and action, thereby realizing the execution of the entire scheduling task.
[0015] Further, the process flow automaton model is specifically constructed by:
[0016] A processing automaton is generated for each process step of the process flow, and the generated processing automaton is divided into several groups based on the number of processing devices; synchronous product operation is performed on each group to obtain a process step model of each group;
[0017] A first loading automaton for entering the work area, a second loading automaton for leaving the current work area and entering the next work area, and a third loading automaton for leaving the work area are generated for the loading device; the loading automata involved in the current process flow are subjected to synchronous product (Synchronous Product) to form a loading in-out model of the process flow;
[0018] An auxiliary device operation constraint automaton and a processing device access constraint automaton are constructed, and a process flow automaton model is generated based on the synchronous product of the loading in-out model of the current process flow, the process step model involved in the current process flow and the constraint automaton.
[0019] Among them, the synchronous product is an operation of combining multiple system models into a joint model, which is used to represent their behaviors of synchronous execution on a specified event (such as a certain process step, etc.) and independent execution on other events. It is one of the basic operations in discrete event system modeling and control. In short: if two systems are modeled for their common events, they must execute this event at the same time; if an event can only be executed by one system, it is executed by itself, and the other system remains unchanged; finally, a new model is generated to describe all possible behaviors when multiple systems run together. Synchronous product is commonly used for: combination of multiple subsystems into a complete system; synthesis of system and control specification; checking whether the system behavior meets the user-specified constraints (such as deadlock, reachability, etc.).
[0020] Further, when generating several scheduling paths, it further includes:
[0021] The time interval of starting processing of the first processing object of the adjacent layer of the loading device is defined as T0;
[0022] The time interval T0 is iteratively and elastically adjusted within the adjustable range of the set time interval T0 to obtain the shortest time interval T0 under the condition that at least one candidate scheduling path meets the duration of each action of the process flow and is non-deadlock;
[0023] Based on the shortest time interval T0, the optimal scheduling path is selected based on the shortest total processing time in the candidate scheduling path.
[0024] Further, when performing the process step of the specified work area, the processing objects of the same layer of the loading device are divided into multiple parts, and each part is synchronously executed by multiple work equipment.
[0025] Further, when performing the process step of the specified work area, the start interval of adjacent processing objects on the same work equipment is defined as T1, and the start interval of adjacent processing objects between different work equipment is defined as T2;
[0026] The time intervals T1 and T2 are elastically adjusted within the boundary range of the set T1 and T2 to obtain the shortest time intervals T1 and T2 under the condition that at least one candidate scheduling path meets the process requirements and is non-deadlock;
[0027] Based on the shortest time intervals T1 and T2, the optimal scheduling path is selected based on the shortest total processing time in the candidate scheduling path.
[0028] Further, when performing the process step of the current specified work area, two processing devices can also be configured for the process step of the current specified work area, the same layer of the loading device is divided into two parts according to odd and even, and the time interval of starting processing of two adjacent processing objects in the same layer is defined as T1, and the time interval of starting processing of two adjacent processing objects in the same layer is defined as T2; the time intervals T1 and T2 are elastically adjusted to obtain the shortest time interval T1 and T2 that meet the process parameters and do not deadlock under the condition of at least one candidate scheduling path; based on the shortest time interval T1 and T2, the optimal scheduling path is selected in the candidate scheduling path based on the shortest total processing time.
[0029] The scheduling strategy for generating a candidate scheduling path includes at least one of the following:
[0030] Single-thread scheduling strategy based on for loop:
[0031] Set inner and outer for loops, wherein the outer for loop is used to serially traverse different values of the time interval T1 from the lower limit of the boundary range of the time interval T1, and the inner for loop is used to serially traverse different values of the time interval T2 from the lower limit of the boundary range of the time interval T2;
[0032] For each traversal of the outer for loop, the next value of T1 is traversed only after the inner for loop is completed;
[0033] For each traversal of the inner for loop, the next value of T2 is traversed only after the supervisory controller verifies that the current time intervals T1 and T2 can generate a candidate scheduling path that meets the process requirements and is not deadlocked;
[0034] The first pair of time intervals (T1, T2) found by traversal and verified by the supervisory controller is taken as the shortest time intervals T1 and T2 found; and the optimal scheduling path is obtained based on the candidate scheduling path corresponding to the current shortest T1 and T2;
[0035] Multi-thread parallel scheduling strategy:
[0036] Based on the boundary range and traversal step of T1 and T2, all value combination pairs (T1, T2) of T1 and T2 are generated;
[0037] For all value combination pairs (T1, T2), candidate scheduling paths that meet the duration of each action of the process flow and do not deadlock are generated, i.e., candidate scheduling paths that meet the process requirements and are not deadlocked are generated;
[0038] The candidate scheduling path corresponding to the smallest (T1, T2) is taken as the optimal scheduling path.
[0039] That is, in the scheduling method of the present application, double-layer circulation scheduling can be realized based on the set time intervals T1 and T2, wherein the circulation scheduling about the time interval T1 is regarded as the outer layer circulation, and the circulation scheduling about the time interval T2 is regarded as the inner layer circulation; wherein the outer layer circulation is mainly responsible for processing the processing sequence constraint problem of different processing objects on the same processing equipment, and ensuring that there is no deadlock situation in the resource allocation process. Under the premise of multiple processing equipment and average task allocation, the outer layer circulation focuses on how to reasonably arrange the start time of different processing objects on the same processing equipment to maximize the overall production efficiency. Specifically, after the processing object on the current layer loading device completes the processing task, it needs to determine when the next processing object starts scheduling. In order to achieve this goal, the outer layer circulation dynamically adjusts the elastic stretching of the time interval T1. In each circulation iteration process, the system will judge whether an effective feasible scheduling path is successfully found. By continuously adjusting T1 and judging the feasibility, the system continuously tries and optimizes the scheduling scheme under the condition of limited resources, in order to find the shortest cycle T1 that can achieve the production goal. The shortest cycle T1 not only means the improvement of production efficiency, but also can maximize the utilization of resources, so that each processing equipment can fully exert its performance and reduce the idle time of the equipment. The inner layer circulation focuses on solving the sequence constraint problem of different processing equipment, while ensuring that there is no deadlock in the process of multiple processing equipment working. Under the principle of average task allocation, the processing objects on the processing equipment will be reasonably allocated according to the sequence of processing technology. The time interval T2 is defined here as the cycle time from the start of work on a certain processing equipment to the processing on another processing equipment. The inner layer circulation adjusts T2 by elastic stretching, and seeks the optimal scheduling path under the premise of ensuring the smooth flow of different processing equipment and no deadlock. By continuously optimizing T2, the system expects to find a scheduling path with the highest efficiency and the shortest time under the condition that T1 and T2 are as short as possible. This path can fully utilize the processing capacity of each processing equipment and reduce the waiting time of processing objects between different equipment, thereby improving the efficiency of the whole production process. In summary, the double-layer circulation scheduling method of the present application is constructed by the idea of double-layer circulation, the outer layer circulation represents the upper and lower bounds of the scheduling time, and the inner layer circulation solves the path. If the inner layer circulation fails to successfully find an effective scheduling path that meets the preset conditions in this solving process, the outer layer circulation will automatically trigger the next iteration cycle. Through this mechanism of repeated circulation, the scheduling parameters are continuously adjusted and optimized, and the feasible scheduling scheme is continuously explored, until the optimal solution that meets the production demand and realizes efficient scheduling is found. Under the condition of multiple processing equipment and average task allocation, the time intervals T1 and T2 are continuously optimized to maximize the production efficiency and optimize the resource utilization, and finally a high-efficiency and short-time scheduling path is found.
[0040] It should be noted that the lower limit of the inner and outer loops is not necessarily 0, but can be determined as a certain lower limit value by specific process parameters.
[0041] Further, the process flow information further includes step priorities of each process step. When selecting the optimal scheduling path, the candidate scheduling path that does not meet the step priority is pruned.
[0042] Further, the path optimization of the generated candidate scheduling path is further included. When the adjacent path nodes in the scheduling path are the loading device moving step and the auxiliary equipment working step (such as the mechanical arm grabbing the workpiece), the priority of the loading device moving step is set to be higher than the priority of the auxiliary equipment working step.
[0043] Further, the working area includes a preparation area, a transfer area, a core processing area, a secondary processing area, an analysis area and an end area.
[0044] The preparation area is used for transferring the machining object to the loading device.
[0045] The transfer area is used for distributing the loading device loaded with the machining object to the corresponding working area for performing machining according to the cycle period of the machining object.
[0046] The core processing area is used for implementing the specified core process machining on the machining object located on the loading device in the working area.
[0047] The secondary processing area is used for implementing the secondary process machining on the machining object located on the loading device in the working area, and the machining object located on the loading device in the secondary processing area has completed the core process machining.
[0048] The analysis area is used for analyzing and detecting the machining quality of the machining object located on the loading device in the working area, and the machining object located on the loading device in the analysis area has completed the secondary process machining.
[0049] The analysis area is used for analyzing and detecting the machining object on the loading device. After the machining object on the loading device completes the machining in the core processing area and the secondary processing area, it is moved to the analysis area, and the corresponding detection equipment and analysis method are used to comprehensively detect the machining quality of the machining object. Through the detection of the analysis area, problems existing in the machining process can be found in time, which provides a basis for process optimization and quality improvement, and ensures that the quality of the machining object meets the requirements.
[0050] The end area is used as a storage area for storing the loading device loaded with the machining object with qualified machining quality.
[0051] Further, the working scene corresponding to the generated data includes but is not limited to semiconductor preparation, biological medicine research and development, and lithium battery preparation.
[0052] The technical scheme provided by the present application brings at least the following beneficial effects:
[0053] When the optimal scheduling path generated based on the present application is used to realize the material processing of the target object, the equipment utilization rate can be maximized, the production cycle can be shortened, and the smooth connection of each process stage can be ensured; while ensuring the production efficiency, the maximization of resource utilization is realized. BRIEF DESCRIPTION OF DRAWINGS
[0054] The above and / or additional aspects and advantages of the present application will become apparent and more readily appreciated from the following description, taken in conjunction with the following drawings, in which:
[0055] Figure 1 A processing process schematic diagram of the high-throughput periodic scheduling method provided by the embodiment of the present application;
[0056] Figure 2 A processing process schematic diagram of the perovskite semiconductor material in the embodiment of the present application;
[0057] Figure 3 A processing process schematic diagram of the material in the medical field in the embodiment of the present application;
[0058] Figure 4 A state schematic diagram of a spin coater automatic machine model in the embodiment of the present application;
[0059] Figure 5 A state schematic diagram of a pipetting automatic machine model in the embodiment of the present application;
[0060] Figure 6 A state schematic diagram of a take / punch TIP model in the embodiment of the present application;
[0061] Figure 7 A state schematic diagram of an annealing automatic machine model in the embodiment of the present application;
[0062] Figure 8 A state schematic diagram of an enter-waiting-coating-area carrier model in the embodiment of the present application;
[0063] Figure 9 A state schematic diagram of an exit-waiting-coating-area carrier model in the embodiment of the present application;
[0064] Figure 10 A state schematic diagram of a photographing model in the embodiment of the present application. DETAILED DESCRIPTION
[0065] In order for those skilled in the technical field to better understand the technical solutions in the specification, the technical solutions of the embodiments of the present application will be described in detail and completely below in combination with the drawings in the embodiments of the present application. Obviously, the embodiments described by reference to the drawings are exemplary and are intended to explain the present application, and cannot be understood as a limitation of the present application.
[0066] In one embodiment, the high-throughput-oriented periodic scheduling method provided by the embodiments of the present application is applicable to an intelligent scheduling system including a master control unit and a mechanical arm, and can be applied to operation scenarios such as semiconductor manufacturing, biomedical research and development, and lithium battery manufacturing. The master control unit is the host computer of the intelligent scheduling system, which is used to generate an optimal scheduling path for controlling the mechanical arm. The mechanical arm moves the loading device (such as a carrier) for loading processing objects (such as slides) or the processing objects based on the optimal scheduling path. As shown in the figure, the generation method of the optimal scheduling path includes the following steps: Figure 1
[0067] Step S1, input production data, including: job area division information of process processing, equipment information and process flow information; wherein the equipment in the equipment information includes processing equipment, auxiliary equipment and loading device for loading processing objects; the process flow information includes: process flow information of processing objects and process flow information of loading devices based on job area and process flow description of each process step; and the process flow information includes: job equipment, job equipment quantity, front and back logical relationship of job equipment and duration of each action of process step in each job area;
[0068] Step S2, based on a discrete event system (Discrete event system) supervisory control (Supervisory control) simulation platform, a process flow automaton model is constructed for each process flow, and the job area, process step and equipment are taken as the scheduling path nodes. The candidate scheduling path that meets the process requirements and does not appear deadlock is generated based on the process flow. The candidate scheduling path with the shortest total processing time of each production cycle is taken as the optimal scheduling path. Wherein, the process flow automaton model represents each process step of each process flow according to a unified naming rule, so as to represent the event name, action, job equipment, position and state of the related process step (i.e. event) corresponding to the process flow;
[0069] Step S3, based on the optimal scheduling path, the scheduling information related to each job equipment is distributed to each job equipment in the job area, so as to execute the processing work of the processing object based on the received scheduling information.
[0070] In one embodiment, the job area of the process processing can be subdivided into a preparation area, a transfer area, a core processing area, a secondary processing area, an analysis area, and an end area; each area is specifically:
[0071] (1) The preparation area is used for pre-processing operations on the processing objects to fully prepare for subsequent process operations. Before starting the scheduling, the to-be-processed objects are loaded onto the carrier, and the loading step is completed. By pre-processing in the preparation area, it can be ensured that the carrier has the correct initial state when entering the subsequent process area, facilitating the orderly development of subsequent process operations and improving the overall processing efficiency.
[0072] (2) The transfer area implements a fine zoning management strategy for processing objects of different cycle periods. According to the cycle period of the processing object, it is allocated to the corresponding sub-area, and through the reasonable scheduling and management of the carrier in each sub-area, it is ensured that the core process can be carried out in order according to the predetermined order and rhythm. This fine zoning management method can effectively avoid the mutual interference between carriers of different cycle periods, improve the execution efficiency and stability of the core process.
[0073] (3) The core processing area is the main area for implementing core process processing on processing objects. In this area, according to the predetermined core process parameters and operation flow, the processing objects on the carrier are accurately processed to achieve the key performance indicator requirements of the processing objects. The core processing area is the core link of the entire carrier processing system, and the quality and efficiency of its process execution directly affect the final processing result.
[0074] (4) The secondary processing area is used for processing the processing objects in the secondary process. After completing the core process processing, the processing objects are transferred to the secondary processing area and further processed according to the requirements of the secondary process. The processing of the secondary process can perfect the performance of the processing objects or meet specific additional requirements.
[0075] (5) The analysis area is used for analysis and detection operations on the carrier after processing. After the carrier completes the processing in the core processing area and the secondary processing area, it is moved to the analysis area, and corresponding detection equipment and analysis methods are used to comprehensively detect the processing quality of the processing objects. Through the detection of the analysis area, problems existing in the processing process can be found in time, providing a basis for process optimization and quality improvement, and ensuring that the quality of the processing objects meets the requirements.
[0076] (6) The end area serves as a storage area for storing carriers with processing objects of qualified loading. After the analysis area detects and confirms that the processing objects on the carrier are qualified, the carrier is moved to the end area for storage. The setting of the end area can realize the centralized management of qualified carriers, facilitating subsequent warehouse-out, transportation or other operations.
[0077] In one embodiment, when performing a process step of a specified work area (such as a core processing area), the same layer of the processing object of the carrier is divided into two parts according to the odd-even division, and the two parts are synchronously executed by two core processing and machining devices. Of course, the embodiment of the present application also supports the synchronous execution of multiple core processing and machining devices, at which time the same layer of the processing object of the carrier needs to be divided into several parts, and each part is configured with a machining device to execute the corresponding process step.
[0078] In general, when scheduling with a two-layer carrier as a cycle (level = 2), the specified work area needs to use a region, a region, i.e. two corresponding machining devices to execute the corresponding machining work. When scheduling with a four-layer carrier as a cycle (level = 4), the transfer area needs to use up to four regions to improve the scheduling efficiency.
[0079] In one embodiment, the scheduling process of the above work area includes:
[0080] 1) Before starting the production scheduling, the key process parameters such as core process machining time, secondary process machining time are determined according to the process requirements of the to-be-processed object; then these process parameter information is accurately sent to the main control unit. After receiving the process parameter information, the main control unit uses the generation method of the optimal scheduling path of the embodiment of the present application (i.e. intelligent scheduling algorithm) to consider the device performance, processing time, region capacity and other factors, and selects a high-throughput scheduling path from the many possible scheduling paths. The high-throughput scheduling path aims to maximize the utilization of the device, shorten the production cycle, and ensure smooth connection of each process stage. Subsequently, the main control unit accurately calls the machining machines such as the mechanical arm according to the planned scheduling path information, so that each machine executes the task according to the predetermined order and action, thereby completing the execution of the entire scheduling task.
[0081] 2) The preparation area prepares the carrier with a preset number of layers in advance according to the production plan and device capacity, to ensure that the number and state of the carrier meet the subsequent production requirements. Through the accurate operation of the mechanical arm, the carrier is moved from the preparation area to the transfer area. In the transfer area, the carrier is in standby state, waiting for the entry into the core process machining link. This step ensures the orderly flow and preparation of the processing object before entering the core process, and lays the foundation for the efficient execution of the subsequent process.
[0082] 3) Using a mechanical arm to take out the processing objects on the carrier in the transfer area one by one, and move to the core processing area. In order to improve the processing efficiency and equipment utilization of the core processing area, the processing objects on the carrier are numbered and managed. According to the numbering rule, the processing objects with odd number are moved to the core processing area 1, and the processing objects with even number are moved to the core processing area 2. This partition processing method can fully utilize the equipment resources of the core processing area, avoid equipment idling and conflict, and improve the processing efficiency and quality of the core process.
[0083] 4) When the processing objects complete the core process processing in the core processing area, they are moved to the secondary processing area by the mechanical arm for secondary process processing. After completing the transportation action of the current processing object, the mechanical arm can immediately return to the next processing object carrying operation without waiting for the completion of the secondary process processing. This parallel processing method can effectively shorten the waiting time of the processing objects between different process stages, and improve the overall production efficiency.
[0084] 5) When all the processing objects on a layer of carrier are processed, the layer of carrier is moved to the analysis area by the mechanical arm. In the analysis area, the processing objects on the carrier are analyzed by detection equipment and analysis method. After the analysis is completed, if the processing objects are qualified, the carrier is moved to the end area for storage; if there is a quality problem, the abnormal processing flow is processed according to the preset. The scheduling path of the processing objects in different periods is different. The use of the area is also different.
[0085] 6) When all the processing objects in a processing period are processed (i.e. the preset number of processing objects are processed), the new carrier is moved from the preparation area to the transfer area to start the scheduling of the next period. Through this periodic cycle processing method, the continuous and stable operation of the production process is realized.
[0086] In an embodiment, when the generation method of the optimal scheduling path provided by the embodiment of the application is implemented, the implementation steps include:
[0087] (1) Model building (i.e. scheduling path generation model) is used to generate a scheduling path that meets the process parameters and does not deadlock;
[0088] (2) Controller solution, i.e. based on the controller (such as the controller solution method based on the discrete event system supervision control theory (supcon) synthesis supervision controller) to determine the optimal scheduling time interval, i.e. under the premise of ensuring smooth resource allocation and avoiding deadlock, the scheduling time interval of each node is flexibly adjusted to iteratively solve the corresponding optimal (shortest) time interval;
[0089] (3) For the scheduling path obtained by the controller, the scheduling path with the shortest total processing time of each production cycle is taken as the optimal scheduling path.
[0090] In one embodiment, when considering the priority of different process steps, the scheduling path obtained by the controller is prioritized based on the implementation of the agreed process step priority division (according to the priority of different process steps, so that the event that needs to occur first occurs immediately, thereby making the total processing time shortest and the efficiency highest), to obtain a single path. That is, for the scheduling path obtained by the controller, when selecting the optimal scheduling path, the scheduling path that does not meet the event priority is cut off.
[0091] In one embodiment, the scheduling strategy for generating a scheduling path that meets the process parameters and does not deadlock includes at least one of the following:
[0092] (1) Scheduling strategy 1: single-thread scheduling based on for loop
[0093] In the single-thread scheduling strategy based on for loop provided in the embodiments of the present application, the sequential execution and precise control of tasks under single-thread are realized by utilizing the characteristics of for loop. The specific implementation process is as follows:
[0094] A for loop structure is defined in the program, and the for loop executes the scheduled tasks such as mechanical arm picking and placing the carrier in a predetermined order by the same thread. The for loop has a clear start condition, a termination condition and a step size setting. When the program is executed, it will start from the start condition of the for loop, which defines the initial value of the loop variable (index variable).
[0095] Subsequently, the program will increment (or decrement) the index variable (such as the residence time) according to the set step size. The size of the step determines the change amplitude of the index variable in each loop, and by reasonably setting the step size, the execution speed and range of the loop can be flexibly controlled.
[0096] In each loop iteration, the program will execute the instructions in the for loop body. The instructions in the loop body can be various operations such as control of devices, which are executed in a predetermined logical order.
[0097] The program will continue to loop until the loop termination condition is met. The loop termination condition is usually related to the value of the index variable. When the value of the index variable reaches or exceeds (or is lower than) the threshold set by the termination condition or the scheduling path is found, the for loop ends.
[0098] (2) Scheduling strategy 2: multi-thread scheduling based on for loop
[0099] In the multi-thread scheduling strategy based on the for loop provided in the embodiments of the present application, the for loop is reasonably modified, multi-thread parallel execution is realized, and the task division, thread scheduling and synchronization mechanism are effectively controlled, so that efficient and stable operation in the multi-thread environment is ensured.
[0100] Specifically, the tasks covered by the for loop can be finely disassembled, so that each thread independently undertakes part of the tasks in the for loop, or a thread is specially allocated for each iteration task of the for loop for processing. This modification mode fully taps the advantages of multi-thread parallel computing and aims to greatly improve the task processing efficiency. The processing logic of each iteration of the for loop is encapsulated as an independent task and submitted to the thread pool for unified management.
[0101] For example, in the process of optimizing the cycle period parameters of the intelligent scheduling system, in order to solve the cycle period value that makes the scheduling efficiency the highest, a parallel computing strategy can be used. Specifically, for a plurality of different preset cycle period values, the scheduling path solving process is started at the same time. After the scheduling path calculation corresponding to each cycle number is completed, the optimal scheduling path is selected according to the path result, and the cycle period value corresponding to the optimal path is determined as the cycle period parameter used in actual application.
[0102] The thread pool is like an efficient resource allocation center, which can intelligently allocate threads to execute these tasks according to the current load of the system and the idle state of the threads. In this way, not only is the huge system overhead caused by frequent creation and destruction of threads avoided, but also the system concurrency can be precisely controlled by reasonably configuring the thread pool parameters (such as the number of threads, the capacity of the task queue, etc.), so as to optimize the overall performance.
[0103] In one embodiment, the cycle scheduling method for high throughput proposed in the embodiments of the present application can be applied to the processing of perovskite semiconductor materials. In recent years, perovskite semiconductor materials have become an important research direction in the scientific research and industrial fields due to their excellent photoelectric performance, low-cost preparation process and wide application prospects in solar cells and photodetectors. In the preparation process, the wafer serves as a substrate and undertakes key physical and chemical treatment steps.
[0104] For perovskite semiconductor materials, such as Figure 2 As shown in the figure, the division of the work area specifically includes: a preparation area, a transfer area, a core processing area (a spin coating work area), a secondary processing area (a flash evaporation work area, an annealing work area), an analysis area and an end area. In specific work, the work area can also be directly jumped from the transfer area to the analysis area, or directly jumped from the core processing area to the analysis area, and each work area includes a plurality of sub-areas to realize the synchronous processing of the processing objects (wafers) on different layers of the carrier. Figure 2In the embodiment, n, m, p, q, r, s respectively represent the number of sub-regions of each operation region.
[0105] For example, the whole operation region facing the perovskite semiconductor material is divided into: preparation area 1, preparation area 2, preparation area 3, preparation area 4, coating area 1, coating area 2, coating area 3, coating area 4, spin coating area 1, spin coating area 2, flash zone 1, flash zone 2, annealing area 1, annealing area 2, annealing area 3, annealing area 4, photographing area and end area; wherein the preparation area is to prepare the preset number of carriers in advance, and the carrier is moved to the coating area by the mechanical arm, and waits for the operation of the spin coating process; when the spin coating time arrives, the glass sheet of the carrier in the coating area is moved to the spin coating processing area by the mechanical arm, the glass sheet on the carrier is numbered, the odd-numbered glass sheet is moved to the spin coating area 1, and the even-numbered glass sheet is moved to the spin coating area 2; the glass sheet in the spin coating area needs to be subjected to air blowing, liquid taking and liquid spraying operations; the air blowing event is divided according to the spin coating area, the glass sheet in the spin coating area 1 is subjected to air blowing, which is named as air blowing 1; the glass sheet in the spin coating area 2 is subjected to air blowing, which is named as air blowing 2, respectively representing different operations; the glass sheet after spin coating is sequentially moved into the flash zone and the annealing area by the mechanical arm for process processing, both of which can be skipped. The process processing sequence is spin coating, flash and annealing. If there is no flash operation but there is annealing operation, the glass sheet is moved to the annealing area for annealing process processing; if there is flash operation but no annealing operation, the glass sheet is moved to the flash area for flash process processing; if there is no flash and annealing process, the glass sheet is directly moved to the carrier. When the carrier of one layer is processed, the carrier of the layer can be moved to the photographing area for photographing, and then moved to the end area after the photographing is completed. When a plurality of glass sheets of a period are processed, the carrier can be moved from the preparation area to the coating areas for scheduling of the next period.
[0106] In addition, the scheduling paths of the glass sheets processed in different periods are different. The use of the areas is also different. When 16 glass sheets are processed at a time, at most, only the coating area 1, the coating area 2, the annealing area 1 and the annealing area 2 need to be used. When 32 glass sheets (or more) are processed at a time, at most, the coating area 1, the coating area 2, the coating area 3, the coating area 4, the annealing area 1, the annealing area 2, the annealing area 3 and the annealing area 4 need to be used.
[0107] In one embodiment, the high-throughput period scheduling method proposed by the embodiment of the present application can be applied to the material processing in the medical field, such as Figure 3As shown, its working area can be divided into: Central Storage (central storage area), Hotel (transit area), Dispenser (dispenser), Shaker (shaker), Incubator (incubator) and Reader (reader); for example, for enzyme-linked immunosorbent assay (ELISA) experiment, the microplate is first stored in the Central Storage (central storage area), that is, the waiting area before the microplate enters the system, and the Central Storage corresponds to the preparation area; the microplate is taken out from the central storage area and sent to the Hotel (transit area), which temporarily stores the microplate and prepares for the subsequent processing steps; the microplate is then sent to the Dispenser (dispenser), where the liquid reagent required for the experiment is accurately dispensed into each well of the microplate to realize the pipetting operation; the microplate with the dispensed reagent is sent to the Shaker (shaker), which ensures that the liquid reagent in the microplate is fully mixed to facilitate the subsequent experimental steps, i.e. liquid mixing operation; the mixed microplate is sent to the Incubator (incubator) for incubation, which provides suitable environmental conditions such as temperature and time to promote the reaction of the reagent and the sample, and the working area corresponds to the core processing area; finally, the incubated microplate is sent to the Reader (reader) for data analysis. The reader measures the absorbance or other related parameters in each well to evaluate the experimental results, and the working area corresponds to the analysis area.
[0108] In one embodiment, the high-throughput-oriented periodic scheduling method proposed by the embodiments of the present application can be applied to lithium ion battery processing. As the current mainstream energy storage technology, lithium ion battery processing technology covers material preparation, electrode coating, assembly packaging, liquid injection, formation and capacity distribution, etc. Among them, the assembly stage is the key guarantee for the stability and safety of the battery performance, and the automation, precision and consistency of the process have become a hot field. In the field of lithium battery processing, the overall process can be divided into electrode sheet preparation stage and battery assembly stage, each stage specifically includes:
[0109] (1) Electrode sheet preparation stage
[0110] This stage is an independent process, and electrode sheet preparation is one of the cores of lithium battery technology, which covers many key steps and technical points, including:
[0111] 1-1) Selection and treatment of active material: according to the performance requirements of the battery, the appropriate positive and negative active materials are carefully selected, such as lithium cobaltate, lithium manganate, lithium iron phosphate, etc. for the positive electrode, and graphite, silicon-based materials, etc. for the negative electrode. The active material is finely treated, including particle size control, surface modification, etc., to optimize its electrochemical performance.
[0112] 1-2) Additives of conductive agent and binder: In order to improve the conductivity and structural stability of the electrode, an appropriate amount of conductive agent (such as carbon black, carbon nanotubes, etc.) and binder (such as polyvinylidene fluoride PVDF, etc.) need to be added. And optimize the proportion of each component and the mixing process, ensure that the electrode material is uniformly dispersed, form a good conductive network and mechanical structure.
[0113] 1-3) Slurry preparation: Mix the active material, conductive agent, binder and solvent (such as N-methyl pyrrolidone NMP, etc.) according to the specific proportion, use advanced stirring equipment and process to prepare uniform and stable electrode slurry.
[0114] 1-4) Coating process: The prepared electrode slurry is uniformly coated on the surface of the current collector (such as aluminum foil for positive electrode, copper foil for negative electrode). The coating thickness and uniformity directly affect the battery performance, mainly focusing on the precision control of coating equipment, coating speed and tension adjustment, etc., to achieve high precision and high quality coating.
[0115] 1-5) Drying and rolling: After coating, the electrode sheet needs to be dried to remove the solvent. This process needs to accurately control the drying temperature, time and atmosphere to avoid damage to the structure of the electrode material. After drying, the electrode sheet is rolled to adjust its thickness and density, and to improve the volume energy density of the electrode.
[0116] (2) Battery assembly stage
[0117] After completing the preparation of the electrode sheet, it enters the battery assembly stage, which involves several key assembly steps:
[0118] Assembly preparation: Prepare the components needed for assembly, including electrode shell, gasket, positive electrode sheet, separator, electrolyte, negative electrode sheet, battery shell, etc.
[0119] Electrode shell placement: Place the electrode shell in the assembly station as the basic structure of the battery assembly. Its shape, size and material need to meet the requirements of battery assembly and use. The design of the electrode shell often focuses on its structural strength, sealing performance and compatibility with subsequent assembly components.
[0120] Gasket installation: Place the gasket in the appropriate position inside the electrode shell. The gasket serves to isolate the electrode sheet from the electrode shell to prevent short circuits, while providing some cushioning and support. The main concerns are the selection of gasket material (such as polytetrafluoroethylene), size accuracy and installation position accuracy, etc.
[0121] Positive electrode sheet placement: Place the prepared positive electrode sheet accurately in the designated position inside the electrode shell to ensure good contact between the positive electrode sheet and the electrode shell and gasket, while avoiding interference with other components. The positive electrode sheet placement process involves the precision of the placement equipment, positioning method and stability control during the placement process.
[0122] Diaphragm placement: Cover the positive electrode sheet with a diaphragm. The diaphragm's role is to isolate the positive and negative electrodes to prevent short circuits while allowing lithium ions to pass through. The diaphragm material (such as polyethylene PE, polypropylene PP, etc.), thickness, porosity, and other performance parameters have a significant impact on battery performance.
[0123] Electrolyte drop: Use precise drop equipment to add an appropriate amount of electrolyte to the surface of the diaphragm and the gap between the electrode sheets. The composition, concentration, drop amount, and drop speed of the electrolyte are crucial to battery performance and safety.
[0124] Negative electrode sheet placement: Place the negative electrode sheet above the diaphragm, ensuring that the negative electrode sheet is accurately aligned with the diaphragm and positive electrode sheet, forming a good electrode structure.
[0125] Battery shell packaging: Cover the assembled electrode assembly with a battery shell and seal the battery shell using sealing technology (such as laser welding, glue sealing, etc.) to prevent electrolyte leakage and external environmental influences on the battery interior.
[0126] Pressurization treatment: Place the assembled battery in a tablet press and apply pressure to ensure that the internal components of the battery are in close contact, reducing contact resistance and improving battery performance and stability.
[0127] In one embodiment, for processing of perovskite semiconductor materials, the present embodiment provides the following two specific high-throughput periodic scheduling methods:
[0128] 1. Double-channel spin coater high-throughput periodic scheduling strategy based on discrete event system supervisory control theory model.
[0129] For the processing object glass, this embodiment models different process processing procedures as different automaton models, including pipetting, spin coating, annealing, flash evaporation, taking / punching TIP, entering the waiting area carrier, exiting the waiting area carrier, and taking photos.
[0130] (1-2) Automaton model
[0131] Naming rules for mechanical arm glass picking and placing events: For example, the event "Pick_Glass_n_From_Place_m" represents the operation of the mechanical arm picking up the nth glass in region m of Place; the event "Put_Glass_n_Into_Place_m" represents the operation of the mechanical arm placing the nth glass in region m.
[0132] Event "Move_Carrier_from_Place_to_Place" naming rules for moving carriers: The first Place represents the carrier's position before moving, and the second Place represents the carrier's position after moving.
[0133] Naming rule of the event of the end of the mobile carrier: for example, "Move_Carrier_from_Place_to_Place_fn" character "fn" means the end, that is, the event "Move_Carrier_from_Place_to_Place" ends.
[0134] Naming rule of the process step (also called process event): for example, the event "Coating_n" means the n-th spin coater performs the spin coating process.
[0135] Naming rule of the end of the process event: for example, "Coating_n_fn" means the end of the event "Coating_n".
[0136] Spin coater robot model:
[0137] Referring to Figure 4 The odd and even numbers are numbered on the glass of the carrier, the odd number glass is processed by the spin coater 1 to perform the spin coating process; the even number glass is processed by the spin coater 2 to perform the spin coating process. Taking the Coating_1 model as an example, the execution time of the model includes: the processing time of the events of taking the odd number glass from the carrier, pipetting (air blowing, liquid suction, liquid spraying), spin coating and putting the odd number glass into the hot table (or into the flash zone, or back to the carrier). The event Pick_Glass_n_From_Carrier represents taking the n-th glass (1≤n≤8) on the carrier, the event Put_Glass_n_Into_Coater_m represents putting the n-th glass taken into the spin coater m (1≤m≤2), when the glass located in the spin coater 1 performs air blowing process, the event AirBlow_1 occurs; similarly, when the glass located in the spin coater 2 performs air blowing process, the event AirBlow_2 occurs. The event AirBlow_m_fn represents the end of the air blowing process of the spin coater m. Figure 4 The 1-n in the circle in the figure represent the n states of the spin coater robot model.
[0138] From the time when the spin coater is started on the current odd number glass, to the time when the spin coater is started on the next odd number glass, the time span between the two is defined as the cycle time, that is, T1.
[0139] Pipetting robot model:
[0140] Referring to Figure 5, the automatic machine model represents that when the pipetting event occurs (the end of the Pick TIP event), the three processing processes of air blowing, liquid sucking, and liquid spraying are executed in sequence. The liquid sucking event is represented by Pip_a_Suck_in_Liquid_Zone_b_Place_c, where a represents the first tip of the pipette gun sucking liquid; b represents selecting which pipetting area; c represents the first hole position of the pipetting area; Time_x_second represents the time segment of x seconds, Figure 5 The 1-n in the circle in the above formula represent the n states of the pipetting automatic machine model.
[0141] Pick / Place TIP model
[0142] Referring to Figure 6 , the Pick TIP event, i.e., the end of the event Pick_Glass_From_Carrier, can be executed. According to the cycle of the Pick / Place TIP, the number of TIPs picked by the pipette gun at a time can be determined, and the actual demand can be adjusted. The coordinates of the pipette gun picking TIPs are represented by the event Pips_d_to_e_Pick_f_ul_tips_g_to_h; f represents selecting which type of TIP; g_to_h represents the coordinate range of the TIP area; Figure 6 The 1-n in the circle in the above formula represent the n states of the Pick / Place TIP model.
[0143] Annealing automatic machine model
[0144] Referring to Figure 7 After the spin coating process is performed on the glass slide, the annealing process is performed, i.e., the automatic machine represents the flow of the annealing process. The event Put_Glass_n_Into_Heater represents picking the glass slide to the hot table, the event Heating_n represents the start of the annealing process, the event Heating_n_fn represents the end of the annealing process, and the event Pick_Heated_Glass_n represents picking the n-th annealed glass slide to the carrier. When the event Pick_Heated_Glass_n is executed, the annealing process is completed. Figure 7 The 1-m in the circle in the above formula represent the n states of the annealing automatic machine model.
[0145] Carrier model for entering the coating area
[0146] Referring to Figure 8, event Move_Carrier_from_Prepare_Zone_Level_4_to_Waiting_Zone_1 indicates that the robot arm moves the carrier on the fourth layer of the preparation zone to the waiting zone, and the corresponding suffix “_fn” indicates that the event is executed, and Move_Carrier_from_Prepare_Zone_to_Waiting_Zone_fn indicates that the carrier moving to the waiting zone task is completed. Figure 8 The numbers 1-n+1 in the circle in the figure represent n states of the carrier model entering the waiting zone.
[0147] The carrier model leaving the waiting zone
[0148] Referring to Figure 9 The number of glass slides accommodated in one layer of the carrier is 8, that is, when the event Put_Glass_8_back_to_Carrier occurs, it indicates that all the glass slides in one layer of the carrier have been processed, and the carrier can be transported to the photo taking zone. Move_Carrier_from_Waiting_Zone_1_to_Photo_Taking_Zone_fn indicates that the robot arm moves the carrier in the waiting zone to the photo taking zone. Figure 9 The numbers 1-n in the circle in the figure represent n states of the carrier model leaving the waiting zone.
[0149] The photo taking model
[0150] Event Move_Carrier_from_Photo_Taking_Zone_to_Transit_Zone_fn indicates that the robot arm moves the carrier in the photo taking zone to the transit zone. Event Move_Carrier_from_Photo_Taking_Zone_to_Transit_Zone indicates that the robot arm moves the carrier in the photo taking zone to the preparation zone.
[0151] Event Move_Carrier_from_Photo_Taking_Zone_to_Transit_Zone_fn indicates that event Move_Carrier_from_Photo_Taking_Zone_to_Transit_Zone is executed. Event Photo_Taking_1 indicates that the carrier is photographed, and Photo_Taking_1_fn indicates that event Photo_Taking_1 is executed. All the process of the glass slide is completed, and the carrier can be moved to the preparation zone. Figure 10 The numbers in the circle in the figure represent multiple states of the photo taking model.
[0152] (1-3) Scheduling idea
[0153] For the same processing process, the same processing cycle of industrial scheduling, only spin coating efficiency, the overall efficiency can be high, therefore, as the core of the processing machine, the embodiment will be its "spin coating" process as the main control object, mechanical arm, pipette, as a constraint (limited resources).
[0154] The shortest total processing time is solved under the rule of the shortest residence time after any node completes the process or operation (except for the necessary time). The embodiment specifically uses a double-loop scheduling algorithm to solve it.
[0155] Elastic model setting (taking a layer of carrier capable of carrying 8 slides as an example):
[0156] The outer loop solves the processing sequence constraint problem of odd-numbered slides between carriers, that is, when the next odd-numbered slide starts to be scheduled after the current odd-numbered slide is processed. T1 is defined as the cycle time from the start of processing of the current odd-numbered slide to the start of processing of the next odd-numbered slide. The outer loop dynamically adjusts T1 by elastic stretching and adjusting, and under the premise of ensuring that there is no deadlock in the system resource allocation process, each loop iteration will judge whether an effective and feasible scheduling path is found. The purpose of this process is to constantly try and optimize under the condition of limited resources, in order to seek the shortest cycle T1 that can achieve the goal, so as to maximize the utilization of resources while ensuring production efficiency.
[0157] The inner loop solves the processing sequence constraint problem of adjacent odd and even slides. Under the rule that odd slides are processed by spin coater 1 and even slides are processed by spin coater 2, T2 is defined as the cycle time from the start of spin coating of a certain odd slide to the start of spin coating of the adjacent even slide. By gradually extending T2, the controller can solve the scheduling path under the condition that there is no deadlock in the processing of odd and even slides.
[0158] Example: When T1 = 5s, perform one inner and outer loop calculation to determine whether the controller successfully finds a scheduling path. If the controller is empty, T1 is incremented by 1 and the above operation continues until the controller finds an effective scheduling path.
[0159] It is expected that under the condition of the shortest T1 and T2, the controller can solve a scheduling path with the highest efficiency and the shortest time. T2 does not affect efficiency, and T1 spring stretching affects efficiency.
[0160] (1-4) Priority
[0161] Based on the event priority mechanism to give the state pruning of automata, to construct a closed-loop system to meet the priority constraints, is an important task to optimize the performance and behavior of the system. The core goal of this process is to eliminate those unnecessary state transitions triggered by low priority events, so as to significantly improve the running efficiency and response speed of the system on the premise of ensuring the integrity of the system function.
[0162] Specifically, as a mathematical model to describe the state and its transition mode of the system, the automaton often faces complex and variable event input in the process of semiconductor material production. These events, such as the start of spin coating, mechanical arm grabbing wafer, etc., may have different importance and urgency, i.e. priority. The traditional automaton processing mechanism usually does not consider the priority of events and processes all events uniformly, which often leads to the consumption of excessive resources and time in processing low priority events, thereby affecting the response speed and processing capacity of high priority events.
[0163] In order to solve this problem, the embodiment can introduce a pruning mechanism based on event priority. This mechanism first needs to evaluate the priority of each event in the automaton, and determine which events are critical and need to be processed first, and which events are secondary. Then, according to these priority information, the state transition rules of the automaton are adjusted and optimized, and those state transitions triggered by low priority events which have little effect on the overall behavior of the system are deleted or merged.
[0164] Priority definition rule: ensure the efficiency of event execution under the condition of ensuring normal processing.
[0165] In the highly precise and complex ordered semiconductor processing process, the priority of various events has a very strict and detailed planning. Among them, the highest priority event is the end of spin coating event (coat_fn). Spin coating operation plays a crucial role in the whole semiconductor processing process, and is the most important operation step. It is directly related to whether the subsequent series of process steps can be carried out smoothly. In the process of spin coating, the specific material needs to be uniformly coated on the surface of the semiconductor substrate, and this process has very high requirements for the uniformity of the material, thickness control and bonding performance with the substrate. Only when the spin coating event is completed, the material is accurately and accurately attached to the substrate, and the subsequent processing link has a solid foundation. Therefore, the end of spin coating event is given the highest priority, and once it is completed, it means that the whole process enters a new key node.
[0166] In contrast, the execution priority of the remaining processing process end events is lower. These processing processes include a series of operations such as annealing, air blowing, liquid absorption, liquid spraying, etc. Each process step has its specific target and requirement, which are interrelated and interdependent, and together build the functional structure of the semiconductor product. Although their importance is lower than that of the spin coating event, they are also indispensable in the entire process flow. When these processing processes are completed in turn, they need to be confirmed and processed according to the established priority order to ensure the orderly advancement of the entire process flow.
[0167] Further back is the mechanical arm movement event. The mechanical arm undertakes the important task of wafer handling and carrier movement. They need to move accurately between different processing equipment and place the wafer accurately on the corresponding processing position. The movement efficiency and accuracy of the mechanical arm directly affect the efficiency and stability of the entire process flow. However, compared with the spin coating event and other processing processes, the priority of the mechanical arm movement event is relatively low. This is because the movement of the mechanical arm mainly plays a supporting and bridging role, and its operation can be processed in parallel or delayed to some extent with other process steps, as long as it does not affect the overall process progress and product quality.
[0168] Finally, the priority of the "Time_x_second" event is the lowest. The "Time_x_second" event can be understood as a marker of time nodes, representing the passage of time. In semiconductor processing, time is only counted when an actual process step begins to execute. That is, the "Time_x_second" event exists in dependence on other process steps, and its priority is naturally at the lowest level. This priority setting ensures that the entire process flow can be carried out in the most reasonable and efficient way, ensuring that semiconductor materials can be manufactured in a high-quality and efficient production environment.
[0169] In this way, the present embodiment can construct a more streamlined and efficient closed-loop system. In this system, high-priority events can be responded to and processed in a timely manner, while low-priority events will not cause excessive interference and burden to the normal operation of the system. This not only improves the overall performance of the system, but also makes the behavior of the system more predictable and controllable.
[0170] Under the requirements of the processing process, considering the sequence of the processing flow, resource utilization efficiency, time limit and other factors, the priority of the scheduling event is clearly defined. In the case of assigning priority to the event, the scheduling path of the double-layer circulation solution is optimized to find a scheduling path with the highest efficiency and the shortest total processing time.
[0171] In the present embodiment, the code implementation process of the priority algorithm can be described as follows:
[0172]
[0173]
[0174] 2. High-throughput periodic scheduling strategy for single-channel spin coater based on supervisory control theory
[0175] Considering the glass as the processing object, the embodiment models various processing procedures as different automaton models, specifically including: pipetting process, spin coating process, flash evaporation process, annealing process, TIP picking and dropping operation, movement of carrier into the area to be coated, movement of carrier out of the area to be coated, and photographing process, a total of eight processing links.
[0176] (2-1) Automaton model
[0177] Naming rules for events of mechanical arm picking and placing glass: for example, the event "Pick_Glass_n_From_Place" represents the operation of the mechanical arm picking the nth glass in the place area; and the event "Put_Glass_n_Into_Place" represents the operation of the mechanical arm placing the nth glass in the place area.
[0178] Naming rules for the event "Move_Carrier_from_Place_to_Place" of moving the carrier: the first Place represents the position before the carrier moves, and the second Place represents the position after the carrier moves.
[0179] Naming rules for the event of ending the movement of the carrier: for example, "Move_Carrier_from_Place_to_Place_fn" character "fn" represents the meaning of ending, that is, the event "Move_Carrier_from_Place_to_Place" ends.
[0180] Naming rules for process events: for example, the event "Coating_n" represents the processing operation of the nth spin coater performing the spin coating process.
[0181] Naming rules for the end of the process event: for example, "Coating_n_fn" represents the end of the execution of the event "Coating_n".
[0182] Spin coater automaton model
[0183] The glass slides on the carrier are numbered and processed by the spin coater. The execution time of the Coat model includes the processing time of the events of taking the glass slide from the carrier, pipetting (air blowing, sucking, spraying), spin coating, and putting the glass slide into the heater. The time span between the time when the spin coater starts to process the currently numbered glass slide and the time when the spin coater starts to process the next numbered glass slide is defined as the cycle time, i.e., T1.
[0184] Pipetting robot model
[0185] The robot model represents that when the pipetting event occurs (the execution of the Pick_Tip event ends), the three processing procedures of air blowing, sucking, and spraying are sequentially executed. When the glass slide located in the spin coater is subjected to the air blowing process, the event occurring is defined as AirBlow, the spraying event is defined as Liquid_Spray, and the sucking event is represented by Pip_a_Suck_in_Liquid_Zone_b_Place_c. a represents the number of the tip head of the pipette gun sucking liquid; b represents the selection of which pipetting zone; and c represents the number of the hole position of the pipetting zone.
[0186] Pick / Place_Tip model
[0187] The Pick_Tip event, i.e., the event Pick_Glass_from_Carrier, can be executed as soon as the execution of the event ends. The number of TIPs taken by the pipette gun at one time can be determined according to the cycle of the Pick / Place_Tip, and the actual demand can be adjusted.
[0188] The event Pips_d_to_e_Pick_f_ul_tips_g_to_h is used to represent the coordinate range of the pipette gun taking TIPs; d_to_e represents the coordinate range of the pipette gun taking TIPs; f represents the selection of which type of TIP; and g_to_h represents the coordinate range of the TIP region.
[0189] Annealing robot model
[0190] After the spin coating process is performed on the glass slide, the annealing process is performed, i.e., the robot model represents the flow of the annealing process, i.e., taking the glass slide to the heater (Put_Glass_Into_Heater), starting the annealing process (Heating_n), and ending the annealing process (Heating_n_fn), n represents the annealing process event of the nth glass slide. The event Pick_Heated_Glass_n occurs, indicating that the processing of the glass slide ends.
[0191] Carrier model for entering the spin coating region
[0192] The carrier model for entering the spin coating region represents that the carrier in the preparation region is transported to the spin coating region, facilitating the subsequent spin coating process.
[0193] Carrier model for exiting the spin coating region
[0194] One layer of the carrier contains 8 pieces of glass, which means that when the Pick_Heated_Glass_8 event occurs, it indicates that all the glass pieces in one layer of the carrier have been processed, and this layer of the carrier can be transported to the photo area.
[0195] Photo model
[0196] The carrier is photographed, i.e., Photo_taking_1 and Photo_taking_2.
[0197] (2-2) Scheduling idea
[0198] For semiconductor material production tasks with the same processing flow and cycle, the key to improving overall efficiency lies in the spin coating efficiency. Therefore, the spin coating process of the spin coater, as the core processing equipment, is determined as the main control object, while the mechanical arm operation, pipetting, and photographing are considered as limited resources.
[0199] In accordance with the principle of minimizing the residence time of each node after completing the process or operation (except for the necessary time), the embodiment aims to solve the shortest total processing time. To achieve this goal, the cyclic scheduling algorithm is specifically used to solve it.
[0200] Flexible model (taking a layer of carrier that can carry 8 pieces of glass as an example):
[0201] The cyclic algorithm is designed to solve the complex constraint problem of the processing order of the glass between the carriers, which is directly related to the optimization of production efficiency and resource management. Specifically, it deals with how to determine the best scheduling starting time point for the glass on the next layer of the carrier after the glass processing task of the current layer of the carrier is completed. To quantify this process, the concept of T1 is introduced, which represents the entire cycle time from the start of processing the first glass piece of the current carrier to the start of processing the first glass piece of the next layer of the carrier.
[0202] The core of this cyclic algorithm lies in its flexible adjustment ability of T1. By dynamically flexibly adjusting T1, the system can make efficient scheduling decisions while ensuring smooth resource allocation and avoiding deadlock situations. Each iteration of the loop will perform a judgment step, i.e., the system will evaluate whether an effective and feasible glass scheduling path can be found under the current T1 constraint.
[0203] The fundamental purpose of this process is to find the shortest T1 that can achieve the processing goal under given and limited resource conditions through continuous attempts and path optimization. Such an approach not only helps to improve production efficiency and ensure that each layer of the carrier can be processed as quickly as possible, but also maximizes the use of existing resources, reduces unnecessary waiting time and resource waste.
[0204] To illustrate with a specific example, when the embodiment initially sets T1 to 0 seconds, the system initiates a complete cycle of the calculation process, which includes evaluating whether the controller can successfully find a valid scheduling path under the current T1 setting. If the controller fails to find a valid scheduling path, the loop scheduling algorithm increments T1 and re-executes the above process until the controller can find a valid scheduling path.
[0205] In a discrete event system, when the system state changes, there may be multiple executable subsequent events that can cause different state transitions. These events are called path branching events.
[0206] The "Pairwise Deprivation" strategy achieves deterministic operation of a discrete event system by precisely ordering the priorities of path branching events and combining the method of deprivation control. The core of this strategy is that it can effectively manage and coordinate the interactions between events in the system, ensuring that the system's behavior remains controllable and predictable during complex state transitions. Through this strategy, the system can avoid the uncertainty problems caused by unordered execution or event conflicts, thereby greatly improving the stability and reliability of the system.
[0207] In the production process of semiconductor materials, such as in the process of wafer processing, it is specified that the move carrier event always precedes the robot arm picking wafer event, i.e., when these two path branching events appear in the scheduling path, the move carrier event is executed first and then the robot arm picking wafer event is executed.
[0208] Under the requirements of the processing technology, considering factors such as the order of the processing flow, resource utilization efficiency, time constraints, etc., the scheduling path solved by the loop algorithm is optimized under the priority relationship of pairwise deprivation to find a scheduling path with the highest efficiency and the shortest total processing time.
[0209] In this embodiment, the code implementation process of the pairwise deprivation algorithm can be described as follows:
[0210]
[0211]
[0212] Embodiment
[0213] Taking the semiconductor preparation as an example, the specific implementation steps of the high-throughput periodic scheduling method provided in this embodiment include:
[0214] (1) Input production data, including: the number of processing objects num, job area division information of process processing, equipment information and process flow information;
[0215] For example, the job area division information includes: preparation area, transfer area, core processing area, secondary processing area, analysis area, and end area. The equipment information includes: processing equipment (2 spin coaters, 4 annealing tables), auxiliary equipment (two mechanical arms), and loading devices (carriers) for loading processing objects.
[0216] The process flow information of the processing objects based on the job area and the process step description (wafer process flow) and the process flow information of the loading device (carrier process flow) are as follows:
[0217] Wafer process flow: waiting for coating area = a = > spin coater = b = > flash evaporator = c = > hot table = d = > waiting for coating area, wherein "flash evaporator = c = > hot table = d = >" is a skipable process step;
[0218] Carrier process flow: preparation area = A = > waiting for coating area = B = > photographing area = C = > transfer area;
[0219] The duration of each action of the designed process step includes: the time of placing a wafer on a spin coater, the time of placing a wafer on a carrier, the spin coating time, the time of placing a wafer on a hot table, the annealing time, the time of taking a dispensing head, the time of knocking off a dispensing head, the air blowing time, the liquid suction time, the liquid spraying time, the time of moving a carrier from the preparation area to the waiting for coating area, the time of moving a carrier from the waiting for coating area to the photographing area, the time of moving a carrier from the photographing area to the transfer area, the flash evaporation time, the time of placing a wafer on a flash evaporator, etc.
[0220] (2) Based on the discrete event monitoring system, a process flow automaton model is constructed for each process flow, and a candidate scheduling path that meets the process requirements and does not appear deadlock is generated with the job area, the process step and the equipment as the scheduling path node; the candidate scheduling path with the shortest total processing time of each production cycle is taken as the optimal scheduling path; wherein the process flow automaton model characterizes each process step thereof according to a unified naming rule;
[0221] Wherein, the construction of the process step automaton model specifically includes the following steps:
[0222] (2a-1) Generate multiple sets of first joint automata of process steps:
[0223] (2a-1-1) Generate a core processing automaton (such as a spin coating process step) for each processing object for each process step; wherein each process step corresponds to a core processing automaton;
[0224] (2a-1-2) generating auxiliary operation automaton (such as blowing, taking liquid, spraying liquid, etc.) for each core processing automaton;
[0225] (2a-1-3) dividing all core processing automata of the same process step of all processing objects into several groups (grouping according to the number of core processing equipment that can be provided in the work area);
[0226] (2a-1-4) synchronously accumulating each group of automata (including core processing automata and auxiliary operation automata thereof) of each process step to obtain the first joint automaton of the group (also referred to as the first process step model);
[0227] (2a-2) generating several groups of second joint automata of process steps:
[0228] (2a-2-1) generating secondary processing automaton (such as optional flash evaporation, optional annealing, etc.) for each processing object of a single process step;
[0229] (2a-2-2) generating auxiliary operation automaton (such as spraying liquid, taking liquid, pipette, etc.) for each secondary processing automaton;
[0230] (2a-2-3) generating a photographing flow automaton (which is also a secondary processing automaton)
[0231] (2a-2-4) dividing all secondary processing automata of the same process step of all processing objects into several groups (grouping according to the number of flash evaporation / annealing equipment, i.e. based on the input number of equipment that can perform the current process step);
[0232] (2a-2-5) synchronously accumulating each group of automata (secondary processing automata and auxiliary operation automata involved in the current process step) of each process step to obtain the second joint automaton of the group (also referred to as the second process step model);
[0233] In this embodiment, the corresponding process step of the processing object is divided into core processing and secondary processing based on the work area to which the process step of the processing object belongs.
[0234] (2a-3) constructing a carrier rack in-out flow model:
[0235] (2a-3-1) carrier rack entering core processing area automaton;
[0236] (2a-3-2) carrier rack leaving core processing area and entering secondary processing area automaton;
[0237] (2a-3-3) carrier rack leaving secondary processing area automaton;
[0238] (2a-3-4) The above in-out automaton is synchronized to form a whole carrier in-out model, i.e. a loading in-out model of the process flow;
[0239] (2a-4) Construct global constraints:
[0240] (2a-4-1) Mechanical arm operation constraint automaton
[0241] (2a-4-2) Core processing area equipment access constraint automaton
[0242] (2a-4-3) Secondary processing area equipment access constraint automaton
[0243] (2a-4-4) Synchronize all constraint automata involved in each process flow with the model (loading in-out model, first and second process step model) to generate a global controlled system model, i.e. a process flow automaton model, denoted as SPEC.
[0244] Thus, the Supremal Controllable Sublanguage can be used to synthesize the global controlled model to obtain the optimal scheduling path. In this embodiment, the output optimal scheduling path is a scheduling string, so that a Gantt chart or other visual results thereof can be generated.
[0245] In this embodiment, when generating the optimal scheduling path (final_string_found), a serial for loop strategy or a multi-thread parallel strategy can be used, and the specific implementation steps are as follows:
[0246] (2b-1) Serial for loop strategy
[0247] 2b-1-1) Initialize the optimal scheduling path "final_string_found" as false, and initialize the outer loop boundary, i.e. initialize the value range of time intervals T1 and T2 as follows: T1∈[out_lower_bound,out_upper_bound] and T2∈[in_lower_bound,in_upper_bound];
[0248] 2b-1-2) Outer for T1=out_lower_bound to out_upper_bound serial execution:
[0249] Based on the set value step value, assign the current value of the time interval T1 to the adjacent workpiece start interval Offset of the same device;
[0250] Call the first process step model of each group at the start interval Offset, generate the first scheduling sequence Coat_String based on the synchronous product of the called first process step model;
[0251] 2b-1-2) Inner loop for T2 = in_lower_bound to in_upper_bound serially execute:
[0252] Based on the set value step, assign the current value of the time interval T2 to the different equipment adjacent workpiece start offset Offset_between_coaters;
[0253] Synchronous product of the first scheduling sequence Coat_String at the start offset Offset_between_coaters, get the initial scheduling plan Plant1;
[0254] Based on the synchronous product of Plant1, the second process step model and the loading in and out model, get the second scheduling plan Plant2;
[0255] Finally, based on Plant2 and control specification SPEC, perform supervisory control check, if the check passes, output the final scheduling result Super.
[0256] For example, input Plant2 and control specification SPEC into the supervisory controller synthesis software SupCon, then the corresponding scheduling result Super can be obtained, that is, let the optimal scheduling path "final_string_found" be false "true", and the current T1, T2 be the final search values found_out_bound and found_in_bound respectively;
[0257] 2b-1-3) When "final_string_found = true", then jump out of the outer loop;
[0258] 2b-1-4) Return (found_out_bound, found_in_bound) and the corresponding candidate scheduling path string Scheduling_String;
[0259] 2b-1-5) Find the optimal scheduling path in the candidate scheduling path through pairwise deprivation.
[0260] (2b-2) Multi-thread parallel strategy
[0261] Objective: Schedule all (T1, T2) combinations in parallel, collect feasible solutions and select the minimum (T1, T2) pair.
[0262] 2b-2-1) Input:
[0263] The value range of the time interval T1: T1 ∈ [out_lower_bound, out_upper_bound];
[0264] The value range of the time interval T2: T2 ∈ [in_lower_bound, in_upper_bound];
[0265] 2b-2-2) Based on the set value step, generate all (T1, T2) combination list;
[0266] 2b-2-3) For each combination (T1, T2), perform the following in parallel:
[0267] Assign the current value of the time interval T1 to Offset, and call the first process step model of each group under Offset, and generate the first scheduling sequence Coat_String(T1) based on the synchronization product of the called first process step model;
[0268] Calculate the synchronization product of Coat_String(T1) under Offset_between_coaters to obtain the initial scheduling plan Plant1(T1, T2);
[0269] Based on Plant1(T1, T2), the synchronization product of the second process step model and the loading in-out model to obtain the second scheduling plan Plant2(T1, T2);
[0270] Based on Plant2(T1, T2) and the control specification SPEC, perform supervisory controller verification, and if the check passes, output the final scheduling result Super r(T1, T2), and if it is not empty, output the feasible solution (T1, T2, Scheduling_String);
[0271] Finally, find the unique path by pairwise deprivation;
[0272] 2b-2-4) After the completion of the parallel task, collect all feasible solution sets;
[0273] 2b-2-5) Select the smallest (T1, T2) combination (lexicographic order or T1 priority, then T2);
[0274] 2b-2-6) Return the smallest (T1, T2) and the corresponding Scheduling_String.
[0275] (3) Distribute the scheduling information related to each job equipment to each job equipment in the job area based on the optimal scheduling path, and execute the machining job of the machining object based on the received scheduling information.
[0276] In the description of the specification, the description of the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the specification, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, the person skilled in the art can combine and combine the different embodiments or examples described in the specification and the features of the different embodiments or examples without contradiction and in combination.
[0277] In addition, the terms "first", "second", and the like are used only for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the technical features indicated. Therefore, the features defined with "first", "second", and the like can explicitly or implicitly include at least one of the features.
[0278] Any process or method descriptions in flow charts or otherwise described in the specification can be understood as representing code modules, segments, or portions of code that include one or more executable instructions for implementing the specified logic functions or processes, and the preferred embodiments of the present application include additional implementations in which the order of execution or the functions themselves can be changed, including according to the functionality involved, can be performed in substantially simultaneous fashion, or according to reverse order, as will be appreciated by those skilled in the art, without departing from the spirit of the embodiments of the present application.
[0279] The above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that the technical solutions recorded in the foregoing embodiments can be modified, or some technical features can be replaced by equivalents; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A periodic scheduling method for high throughput, characterized in that, The method comprises the following steps: inputting production data, including: job area division information of process processing, equipment information and process flow information; wherein the equipment in the equipment information includes processing equipment, auxiliary equipment and loading device for loading processing objects; the process flow information includes: process flow information of processing objects based on job area and process step description and process flow information of loading device; wherein the process flow information includes: job equipment, job equipment quantity, front and back logical relationship of job equipment and duration of each action of process step in each process step within each job area; a discrete event system supervisory control simulation platform is used to construct process flow automaton model for each process flow, and a job area, a process step and an equipment are used as a scheduling path node to generate a candidate scheduling path meeting process requirements and non-deadlock; a candidate scheduling path with the shortest total processing time in each production cycle is used as an optimal scheduling path; wherein the process automaton model characterizes each process step thereof according to a unified naming rule to represent the name, action, job equipment, position and state of each process step; based on the optimal scheduling path, the scheduling information corresponding to each job equipment is distributed to each job equipment to execute processing work of processing objects based on the received scheduling information.
2. The method of claim 1, wherein, The process flow automaton model is constructed specifically by: generating a processing automaton for each process step of the process flow, and dividing the generated processing automaton into several groups based on the number of processing equipment possessed; performing synchronous product operation on each group to obtain a process step model of each group; generating a first loading automaton for entering a job area, a second loading automaton for leaving a current job area and entering a next job area and a third loading automaton for leaving a job area for the loading device; performing synchronous product on the loading automaton involved in the current process flow to form a loading in-out model of the process flow; constructing an auxiliary equipment operation constraint automaton and a processing equipment access constraint automaton, and generating a process flow automaton model based on the synchronous product of the loading in-out model of the current process flow, the process step model involved in the current process flow and the constraint automaton.
3. The method of claim 1, wherein, When generating several scheduling paths, it further comprises: defining the time interval T0 of starting processing of the first processing object of the adjacent layer of the loading device as T0; iteratively and elastically adjusting the time interval T0 within the adjustable range of the set time interval T0 to obtain the shortest time interval T0 under the condition that at least one candidate scheduling path meets the process requirements of the process flow and is non-deadlock; based on the shortest time interval T0, the optimal scheduling path is selected from the candidate scheduling paths based on the shortest total processing time.
4. The method of claim 3, wherein, When executing the process step of the specified job area, the processing objects of the same layer of the loading device are divided into multiple parts, and each part is synchronously executed by multiple job equipments.
5. The method of claim 1, wherein, When executing the process step of the specified job area, the start interval of adjacent processing objects on the same job equipment is defined as T1, and the start interval of adjacent processing objects between different job equipments is defined as T2; The time intervals T1 and T2 are elastically adjusted within the boundary range of T1 and T2 to obtain the shortest time intervals T1 and T2 under the condition that at least one candidate scheduling path meets the process requirements and is non-deadlock; Based on the shortest time intervals T1 and T2, the optimal scheduling path is selected based on the shortest total processing time in the candidate scheduling path.
6. The method of claim 5, wherein, The scheduling strategy for generating the candidate scheduling path includes at least one of the following: Single-thread scheduling strategy based on for loop: Set inner and outer for loops, wherein the outer for loop is used to serially traverse different values of the time interval T1 from the lower limit of the boundary range of the time interval T1, and the inner for loop is used to serially traverse different values of the time interval T2 from the lower limit of the boundary range of the time interval T2; For each traversal of the outer for loop, the next value of T1 is traversed only after the inner for loop is completed; For each traversal of the inner for loop, the next value of T2 is traversed only after the supervisory controller verifies that the current time intervals T1 and T2 can generate a candidate scheduling path that meets the process requirements and is non-deadlock; The first pair of time intervals (T1, T2) found by traversal and verified by the supervisory controller is taken as the shortest time intervals T1 and T2; and the optimal scheduling path is obtained based on the candidate scheduling path corresponding to the current shortest T1 and T2; Multi-thread parallel scheduling strategy: Based on the boundary range and traversal step of T1 and T2, all value combination pairs (T1, T2) of the time intervals T1 and T2 are generated; All value combination pairs (T1, T2) are subjected to candidate scheduling path generation that meets the process requirements and is non-deadlock; The optimal scheduling path is obtained based on the candidate scheduling path corresponding to the smallest (T1, T2).
7. The method of claim 1, wherein, The process flow information also includes step priorities of each process step, and when the optimal scheduling path is selected, the candidate scheduling paths that do not meet the step priorities are pruned.
8. The method of claim 1, wherein, It also includes path optimization of the generated candidate scheduling path, and when the adjacent path nodes in the scheduling path are the loading device moving step and the auxiliary equipment working step, the priority of the loading device moving step is set to be higher than that of the auxiliary equipment working step.
9. characterized in that, The working area includes a preparation area, a transfer area, a core processing area, a secondary processing area, an analysis area, and an end area; The preparation area is used to transfer the processing object to the loading device; The transfer area is used to distribute the loading device carrying the processing object to the corresponding working area for processing according to the cycle period of the processing object; The core processing area is used to implement the specified core process on the processing object located on the loading device in the working area; The secondary processing area is used to implement the secondary process on the processing object located on the loading device in the working area, and the processing object located on the loading device in the secondary processing area has completed the core process; The analysis area is used to analyze and detect the processing quality of the processing object located on the loading device in the working area, and the processing object located on the loading device in the analysis area has completed the secondary process; and The end area is used to unload the processing object from the loading device. The loading device performs an analysis and detection operation. After the processing object on the loading device completes the processing of the core processing area and the secondary processing area, it is moved to the analysis area, and the processing quality of the processing object is comprehensively detected by using corresponding detection equipment and analysis methods; The end area is used as a storage area to store the loading device of the processing object with qualified processing quality.
10. The method according to any one of claims 1 to 9, characterized in that, The production data corresponds to a work scene including semiconductor preparation, biological and pharmaceutical research and development, or lithium battery preparation.