Manufacturing execution system simulation method, device and equipment in semiconductor manufacturing system
By acquiring a virtual environment map from the semiconductor manufacturing system and generating transport tasks, and using the simulation platform to schedule the simulation subsystem, the problem of insufficient simulation accuracy in AMHS was solved, thereby improving the accuracy and efficiency of the simulation system and ensuring that the simulation results are synchronized with the actual situation.
Patent Information
- Application Number
- CN202511572646.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-30
- Publication Date
- 2025-12-26
AI Technical Summary
Existing simulation systems for Automated Material Handling Systems (AMHS) in semiconductor manufacturing systems have inconsistent task settings with actual factory conditions, resulting in insufficient simulation accuracy.
By acquiring a virtual environment map, material handling tasks based on process areas, Bay areas, and equipment are generated. The simulation platform is used to schedule simulation subsystems, including MSTC, traffic control, storage device management, and algorithm simulation subsystems. Actual communication protocols and hardware simulators are used to simulate the behavior of material handling and storage devices, ensuring that the simulation tasks are consistent with the actual system.
It improves the accuracy and efficiency of the simulation system, ensures that the simulation results are consistent with the actual system, and reduces resource consumption.
Smart Images

Figure CN121209306A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of semiconductor technology, and in particular to a manufacturing execution system simulation method, device and equipment in a semiconductor manufacturing system. BACKGROUND
[0002] The automatic material handling system (AMHS) of the semiconductor industry is a key component in wafer factory production, which improves production efficiency and product yield through automated material handling. With the continuous progress of domestic semiconductor processes, the importance of the AMHS system is increasingly prominent.
[0003] In the traditional technology, the AMHS simulation system is a software tool specially used for modeling, simulating, analyzing and optimizing the actual or planned AMHS. It is an indispensable part of designing and operating an efficient AMHS. It creates a virtual "digital twin" environment, allowing engineers to deeply understand, predict and optimize complex AMHS behavior at no risk and low cost.
[0004] However, the current simulation of the AMHS is usually pre-set by the user for each handling task, but the handling task may not be consistent with the actual factory situation, resulting in insufficient simulation accuracy. SUMMARY
[0005] Therefore, it is necessary to provide a manufacturing execution system simulation method, device and equipment in a semiconductor manufacturing system that can improve simulation accuracy to solve the above technical problems.
[0006] In a first aspect, the present application provides a manufacturing execution system simulation method in a semiconductor manufacturing system, the method comprising:
[0007] obtaining a virtual environment map, the virtual environment map comprising at least two process areas, each process area comprising at least one Bay area, and each Bay area comprising at least one device;
[0008] generating a handling task based on at least one of the process areas, the Bay areas and the devices in the virtual environment map;
[0009] issuing the generated handling task.
[0010] In a second aspect, the present application also provides a manufacturing execution system simulation device in a semiconductor manufacturing system, the device comprising:
[0011] a map obtaining module configured to obtain a virtual environment map, the virtual environment map comprising at least two process areas, each process area comprising at least one Bay area, and each Bay area comprising at least one device;
[0012] a carrying task generation module, configured to generate a carrying task based on at least one of the process area, the Bay area, and the equipment in the virtual environment map;
[0013] a sending module, configured to issue the generated carrying task.
[0014] In a third aspect, a computer device is provided, including a memory and a processor, the memory stores a computer program, and the processor implements the steps of the method in any one of the above embodiments when executing the computer program.
[0015] In a fourth aspect, a computer readable storage medium is provided, which stores a computer program, and the computer program implements the steps of the method in any one of the above embodiments when executed by a processor.
[0016] In a fifth aspect, a computer program product is provided, including a computer program, and the computer program implements the steps of the method in any one of the above embodiments when executed by a processor.
[0017] The above semiconductor manufacturing system manufacturing execution system simulation method, device, equipment, medium and program product, obtain a virtual environment map, the virtual environment map includes at least two process areas, each process area includes at least one Bay area, and each Bay area includes at least one equipment; based on at least one of the process area, the Bay area and the equipment in the virtual environment map, a carrying task is generated; the generated carrying task is issued, so that the corresponding carrying task is generated based on the virtual environment map, instead of being randomly set by the user, which can ensure the accuracy of the carrying task, and further improve the simulation accuracy. BRIEF DESCRIPTION OF DRAWINGS
[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the description of the embodiments of the present application or the related art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other related drawings can also be obtained without creative labor on the basis of these drawings.
[0019] Figure 1 It is an application environment diagram of a semiconductor manufacturing system full loop simulation system in one embodiment;
[0020] Figure 2 It is a flowchart of a semiconductor manufacturing system simulation method in one embodiment;
[0021] Figure 3Fig. 1 is a schematic diagram of a monitoring service corresponding to a simulation subsystem of a MSTC in an embodiment;
[0022] Figure 4 Fig. 2 is a schematic diagram of a monitoring service corresponding to a simulation subsystem of a traffic control in an embodiment;
[0023] Figure 5 Fig. 3 is a schematic diagram of a monitoring service corresponding to a simulation subsystem of a storage management in an embodiment;
[0024] Figure 6 Fig. 4 is a schematic diagram of a monitoring service corresponding to a simulation subsystem of an algorithm in an embodiment;
[0025] Figure 7 Fig. 5 is a schematic diagram of a monitoring service corresponding to a simulation subsystem of a handling equipment in an embodiment;
[0026] Figure 8 Fig. 6 is a schematic diagram of a one-key start in an embodiment;
[0027] Figure 9 Fig. 7 is a schematic diagram of a flow of a full loop simulation method of a semiconductor manufacturing system in an embodiment;
[0028] Figure 10 Fig. 8 is a simulation flow chart of a handling equipment simulator in an embodiment;
[0029] Figure 11 Fig. 9 is a flow chart of a calculation step of a second distance between target handling equipments in an embodiment;
[0030] Figure 12 Fig. 10 is a simulation flow chart of a handling equipment suspending or canceling a handling task in an embodiment;
[0031] Figure 13 Fig. 11 is a simulation flow chart of a simulation step of a picking process in an embodiment;
[0032] Figure 14 Fig. 12 is a simulation flow chart of a simulation step of a placing process in an embodiment;
[0033] Figure 15 Fig. 13 is a flow chart of a one-key configuration step in an embodiment;
[0034] Figure 16 Fig. 14 is a schematic diagram of a flow of a manufacturing execution system simulation method in a semiconductor manufacturing system in an embodiment;
[0035] Figure 17 Fig. 15 is a schematic diagram of a relationship of areas included in a virtual environment map in an embodiment;
[0036] Figure 18 Fig. 16 is a schematic diagram of a handling task generation step in an embodiment;
[0037] Figure 19 Figure 6 is a schematic diagram of a step of dispatching a handling task in one embodiment;
[0038] Figure 20 Figure 7 is a schematic diagram of a relationship between a process area and a handling task in one embodiment;
[0039] Figure 21 Figure 8 is a schematic diagram of a relationship between a Bay area and a handling task in one embodiment;
[0040] Figure 22 Figure 9 is a schematic diagram of a relationship between a piece of equipment and a handling task in one embodiment;
[0041] Figure 23 Figure 10 is a schematic diagram of a relationship between a handling device and a handling task in one embodiment;
[0042] Figure 24 Figure 11 is a schematic diagram of a manufacturing execution system simulation device in a semiconductor manufacturing system in one embodiment;
[0043] Figure 25 Figure 12 is a schematic diagram of an internal structure of a computer device in one embodiment. DETAILED DESCRIPTION
[0044] In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and not intended to limit the present application. It should be noted that the terms "first", "second" and the like used herein can be used to describe various elements, but these elements are not limited by these terms. These terms are only used to distinguish the first element from the second element. The terms "include" and "have" and any variations thereof used herein are intended to cover the non-exclusive inclusion. The term "multiple" used herein refers to two or more.
[0045] The semiconductor manufacturing system manufacturing execution system simulation method provided by the embodiments of the present application can be applied to a semiconductor manufacturing system as shown in FIG. 1. Figure 1The shown semiconductor manufacturing system full loop simulation system. Among them, the software layer directly reuses the software of the real semiconductor manufacturing system, including the material control simulation subsystem (MCS): the same code, same configuration, same database as the actual MCS, running in a container or virtual machine; traffic control simulation subsystem (TCU): a real system that implements consistent deadlock prevention logic (such as Dijkstra-based path planning) with the real system; MSTC simulation subsystem (MSTC): same as the actual handling equipment scheduling system, supporting hot plug scheduling algorithms. The hardware layer develops corresponding equivalent simulators, including handling equipment simulators and storage equipment simulators, among which the handling equipment simulator is consistent with the real handling equipment in terms of overall characteristics, including vehicle body mechanical size, vehicle body control program communication simulation (communication with MSTC), vehicle body motion simulation (acceleration and deceleration), interface simulation, TCU communication simulation, and front obstacle detection simulation; the storage equipment simulator is consistent with the real storage equipment in terms of overall characteristics, including mechanical hand motion simulation, port (loading port) motion simulation, storage location management, and pick-and-place action simulation. In addition, the communication layer communicates using actual communication methods, such as using real industrial communication protocols and industrial WiFi6 network technology for communication, so that each layer is consistent with the actual, thereby ensuring the correctness of the simulation.
[0046] In other embodiments, the semiconductor manufacturing system full loop simulation system further includes a simulation platform, on which a monitoring service can be used to schedule each simulation subsystem in the semiconductor manufacturing system, including the MSTC simulation subsystem, the traffic control simulation subsystem (TCU), the handling equipment simulation subsystem, the storage equipment management simulation subsystem, and the algorithm simulation subsystem. Among them, each subsystem is deployed on a different server, and each subsystem is configured with a corresponding monitoring service. In some optional embodiments, the monitoring service and the subsystem can be deployed on different servers, for example, the monitoring service is deployed on a windows server and the subsystem is deployed on a linux server. In other embodiments, the monitoring service and the subsystem can be deployed on the same server. In some optional embodiments, the monitoring service is deployed on a windows server, and each subsystem included in the semiconductor manufacturing system can be deployed on a windows server or a linux server. Specifically, the monitoring service provides an interface using a wcf service, and the program directory and program name are configured on the wcf service. The corresponding interface of each simulation subsystem is called through the monitoring service to control each simulation subsystem. Among them, the handling equipment simulation subsystem is used to control the handling equipment simulator.
[0047] In actual application, the simulation platform can receive a simulation task, and start each simulation subsystem based on the simulation task. Subsequently, the simulation platform implements scheduling of each system of the software layer and each hardware simulator of the hardware layer based on the simulation task, to finally complete the simulation. For example, the simulation platform can send the simulation task to the MES system, the MES system generates a handling task based on a virtual environment map corresponding to the simulation task, including generating the handling task based on at least one of a process area, a Bay area and a device in the virtual environment map, and sending the handling task to a material control simulation subsystem (MCS). Then, each handling task corresponding to the simulation task is processed by using the actual software, to schedule the hardware simulator, which is configured to reproduce the characteristics of the actual hardware. The handling task is executed by the hardware simulator, and the hardware simulator communicates with each system in which the actual software is located by using an actual communication mode in the execution process of the handling task. Finally, the simulation result is obtained by processing of the hardware simulator and the software. The hardware simulator includes a handling device simulator and a storage device simulator.
[0048] In combination with 1, a monitoring service is deployed on a server corresponding to the MSTC simulation subsystem, and an interface address of the monitoring service corresponding to the handling device scheduling subsystem is configured on a configuration file of the simulation platform. Specifically, the monitoring service deployed on the server corresponding to the MSTC simulation subsystem can include at least one of an mstc start interface, an mstc stop interface, an update map interface, a query configuration interface and a modify configuration interface.
[0049] The handling device simulation subsystem includes a plurality of handling device simulation subsystems, and corresponds to a total monitoring service and a plurality of sub-monitoring services. Each monitoring service is deployed on a different server, and the total monitoring service is used to schedule the sub-monitoring services. The total monitoring service includes at least one of a first start interface, a first stop interface, a first update map interface, a first query configuration interface and a first modify configuration interface. The sub-monitoring service includes at least one of a second start interface, a second stop interface, a maximum start vehicle quantity interface, a second update map interface, a second query configuration interface and a second modify configuration interface.
[0050] A monitoring service is deployed on another server corresponding to the traffic control simulation subsystem, and an interface address of the monitoring service corresponding to the traffic control simulation subsystem is configured on a configuration file of the simulation platform. Specifically, the monitoring service deployed on the server corresponding to the traffic control simulation subsystem can include at least one of a tcu start interface, a tcu stop interface and an import map interface.
[0051] The monitoring service deployed on the server corresponding to the storage device management simulation subsystem is configured with the interface address of the monitoring service corresponding to the storage device management simulation subsystem on the configuration file of the simulation platform. Specifically, the monitoring service deployed on the server corresponding to the storage device management simulation subsystem can include at least one of a stk start interface, a stk close interface, and a synchronization stk configuration file interface.
[0052] The monitoring service deployed on the server corresponding to the algorithm simulation subsystem is configured with the interface address of the monitoring service corresponding to the algorithm simulation subsystem on the configuration file of the simulation platform. Specifically, the monitoring service deployed on the server corresponding to the algorithm simulation subsystem can include at least one of an algorithm start interface, an algorithm close interface, a query configuration interface, and a modification configuration interface.
[0053] The specific functions implemented by the above interfaces are described below.
[0054] In an exemplary embodiment, as shown in Figure 2 A simulation monitoring method for a semiconductor manufacturing system is provided, which is applied to a simulation platform in Figure 1 for example, and includes the following steps 202 to 210. Specifically:
[0055] S202: Receive a simulation task, the simulation task carrying a number of handling devices.
[0056] The simulation platform can be configured with a simulation task, for example, the number of handling devices. The number of handling devices is used to determine the target sub-monitoring service to be started.
[0057] In other optional embodiments, the simulation times, the configuration map, the configuration of each simulation subsystem, and the selection of the simulation command can also be set, which are not limited here.
[0058] S204: Call each monitoring service pre-configured based on the simulation task, each monitoring service corresponding to a simulation subsystem in the semiconductor manufacturing system.
[0059] The addresses of the interfaces of each monitoring service are pre-stored in the configuration file of the simulation platform, each simulation subsystem is configured with at least one monitoring service, one monitoring service corresponding to one simulation subsystem, for example, if the simulation subsystem is deployed in one server, only one monitoring service needs to be configured, if the simulation subsystem is deployed in at least two servers, one monitoring service needs to be deployed in each server, and one of the plurality of monitoring services is a total monitoring service, which can be called by the simulation platform, and the calling of the simulation platform determines the sub-monitoring service to be called.
[0060] S206: Start each simulation subsystem by calling the startup interface of each simulation subsystem through the monitoring service.
[0061] Generally, after receiving a simulation task, it is necessary to start each simulation subsystem. The startup interface of each simulation subsystem is called through the interface address of the startup interface of each monitoring service stored in the configuration file of the simulation platform, and then the method of the startup interface is implemented to start each simulation subsystem.
[0062] For example, the simulation subsystem includes the MSTC simulation subsystem, the traffic control simulation subsystem, the storage device management simulation subsystem, and the algorithm simulation subsystem. Combined with... Figure 3 As shown, Figure 3 This is a schematic diagram of the monitoring service corresponding to the MSTC simulation subsystem in one embodiment. The monitoring service deployed on the server corresponding to the MSTC simulation subsystem may include an mstc startup interface. The mstc startup interface is used to determine the program directory to be started through the configuration file directory address of the MSTC simulation subsystem in the configuration file of the monitoring service. After starting the program by calling the method corresponding to the mstc startup interface, it will return a process identifier. Combined with... Figure 4 As shown, Figure 4 This is a schematic diagram of the monitoring service corresponding to the traffic control simulation subsystem in one embodiment. The monitoring service deployed on the server corresponding to the traffic control simulation subsystem may include a TCU startup interface. The TCU startup interface starts the traffic control simulation subsystem through the SSH and configured Linux host address, port, account, password, TCU startup command, and other related parameters in the monitoring service configuration file. Combined with... Figure 5 As shown, Figure 5 This is a schematic diagram of a monitoring service corresponding to a storage device management simulation subsystem in one embodiment. The monitoring service deployed on the server corresponding to the storage device management simulation subsystem may include an STK startup interface. The STK startup interface is used to determine the program directory to be started through the directory address of the storage device management simulation subsystem's configuration file in the monitoring service's configuration file. After starting the program by calling the method corresponding to the STK startup interface, it will return a process identifier. Combined with... Figure 6 As shown, Figure 6 This is a schematic diagram of the monitoring service corresponding to the algorithm simulation subsystem in one embodiment. The monitoring service deployed on the server corresponding to the algorithm simulation subsystem may include an algorithm startup interface. The algorithm startup interface is used to determine the algorithm program to be started through the configuration file directory address of the algorithm simulation subsystem in the configuration file of the monitoring service. After starting the algorithm by calling the method corresponding to the algorithm startup interface, a process identifier will be returned.
[0063] S208: When the monitoring service is the overall monitoring service, the target sub-monitoring service is determined based on the number of handling equipment through the overall monitoring service, and the startup interface of each handling equipment simulation subsystem is called through the target sub-monitoring service to start the handling equipment simulation subsystem.
[0064] The material handling equipment simulation subsystem includes multiple OHT simulators. These simulators simulate the movement, picking up, and placing of materials by the material handling equipment. One OHT simulator can typically control N material handling devices. Therefore, to support M material handling devices, M / N OHT simulators are needed, where M / N is the rounded-up value. Different OHT simulators can be deployed on different servers. For ease of understanding, [the following is a more detailed explanation]. Figure 7 As shown, Figure 7 This diagram illustrates the monitoring service corresponding to the handling equipment simulation subsystem in one embodiment. A central monitoring service is deployed on one server, controlling which specific sub-monitoring service is called. This central monitoring service is configured with the service addresses of each sub-monitoring service. Other servers deploy sub-monitoring services, and each of these servers also deploys a handling equipment simulation subsystem. Each handling equipment simulation subsystem includes at least one OHT simulator; for example, one server can deploy three OHT simulators, each of which can control N virtual handling equipment. The central monitoring service may include a first startup interface, which determines the target sub-monitoring service to be launched based on the number of handling equipment and the number of handling equipment each sub-monitoring service can launch. Then, the target sub-monitoring service calls the second startup interface of each handling equipment simulation subsystem to launch the handling equipment simulation subsystem, i.e., to launch at least one corresponding OHT simulator. The process identifier of each launched OHT simulator is saved to the simulation platform for subsequent shutdown of the OHT simulator. For example, suppose we need to start 600 OHTs and deploy 3 servers, each server has two OHT simulators, each OHT sub-monitoring service is configured with one OHT simulator to start a maximum of 100 OHTs, and one server can control a maximum of 200 OHTs. Then the OHT overall monitoring service will calculate which OHT sub-monitoring service's second start interface to call based on the number of vehicles started and the maximum number of vehicles returned by each sub-monitoring service. It will call the second start interfaces of the 3 OHT sub-monitoring services respectively, passing in the parameters of 200 vehicles. After receiving the parameters, the OHT sub-monitoring services will start the corresponding OHT simulators.
[0065] S210: Execute simulation tasks through the various simulation subsystems that are started.
[0066] Combination Figure 8 As shown, Figure 8Fig. 1 is a schematic diagram of one-key start in one embodiment, in which the simulation platform starts the simulation subsystems through the monitoring services to lay the foundation for the execution of the simulation task.
[0067] The simulation monitoring method in the semiconductor manufacturing system described above receives a simulation task, the simulation task carrying the number of handling equipment; calls the pre-configured monitoring services based on the simulation task, each monitoring service corresponding to a simulation subsystem in the semiconductor manufacturing system; calls the start interface of each simulation subsystem through the monitoring service to start each simulation subsystem; in the case that the monitoring service is a total monitoring service, determines the target sub-monitoring service based on the number of handling equipment through the total monitoring service, and calls the start interface of each handling equipment simulation subsystem through the target sub-monitoring service to start the handling equipment simulation subsystem; executes the simulation task through the started simulation subsystems, so that the configured monitoring services can automatically start each simulation subsystem, and the target sub-monitoring service that needs to be started can be determined based on the number of handling equipment to start the corresponding number of target sub-monitoring services, without starting all sub-monitoring services, thus reducing the occupation of resources and improving the simulation efficiency.
[0068] In some optional embodiments, after starting, the corresponding simulation task is executed, specifically, the simulation task includes simulation information; executing the simulation task through the started simulation subsystems includes: determining the handling equipment simulator and the storage equipment simulator to be dispatched through the started MSTC simulation subsystem, the handling equipment simulator being simulated generated by the handling equipment simulation subsystem, and the storage equipment simulator being simulated generated by the storage equipment simulation subsystem; executing the simulation programs corresponding to the handling equipment simulator and the storage equipment simulator, and controlling the handling equipment simulator and the storage equipment simulator through the algorithm simulation subsystem and the traffic control simulation subsystem in the execution process; generating the simulation result when it is determined based on the simulation information that the simulation task is executed.
[0069] The MSTC simulation subsystem is used to determine the handling equipment simulator and the storage equipment simulator to be dispatched based on the scheduling algorithm, so as to schedule the handling equipment in the corresponding handling equipment simulation subsystem and the storage equipment in the storage equipment simulation subsystem, and execute the simulation programs corresponding to the handling equipment simulator and the storage equipment simulator to realize the simulation of the hardware of the handling equipment and the storage equipment, in addition, the handling equipment simulator and the storage equipment simulator are controlled through the algorithm simulation subsystem and the traffic control simulation subsystem to realize the simulation of the software, so that the simulation result is finally obtained through the simulation of the software and the hardware. The simulation result can include the time required for a fixed number of handling equipment to execute the corresponding task, the number of handling equipment required to execute a certain task within a certain time, etc., which is not specifically limited here, and those skilled in the art can set the simulation target based on the needs to obtain the corresponding simulation result.
[0070] In some optional embodiments, in order to improve the accuracy of simulation, a semiconductor manufacturing system full loop simulation method is provided, which is applied to Figure 9 The semiconductor manufacturing system full loop simulation system in the method is described as an example, including the following steps 902 to step 906. Among them:
[0071] S902: receiving a simulation task.
[0072] The simulation task is a task configured by the user and received by the simulation platform. The simulation task can be the time required for a fixed number of handling equipment to perform a handling task corresponding to a certain virtual environment map, or the number of handling equipment required for a handling task corresponding to a certain virtual environment map to be completed within a predetermined time period, etc. Those skilled in the art can set the corresponding simulation task according to the needs, which is not limited here.
[0073] S904: processing each handling task corresponding to the simulation task by multiplexing the actual software to schedule the hardware simulator. The hardware simulator is configured to reproduce the characteristics of the actual hardware.
[0074] Each handling task corresponding to the simulation task is generated by the MES system based on the virtual environment map corresponding to the simulation task. The virtual environment map includes at least two process areas, each process area includes at least one Bay area, and each Bay area includes at least one device. In this way, the MES system can generate a handling task based on at least one of the process area, the Bay area and the device in the virtual environment map, and issue the handling task to the material control simulation subsystem (MCS). The material control simulation subsystem (MCS) sends the handling task to the corresponding MSTC simulation subsystem, and the MSTC simulation subsystem schedules the corresponding hardware simulator to execute the handling task. For the generation of the handling task, please refer to the following.
[0075] The hardware simulator is configured to reproduce the characteristics of the actual hardware, and the hardware simulator includes a handling equipment simulator and a storage equipment simulator. For specific limitations of the handling equipment simulator and the storage equipment simulator, please refer to the above, which will not be repeated here.
[0076] S906: executing the handling task through the hardware simulator, and communicating with the system where each actual software is located through the actual communication mode during the execution of the handling task.
[0077] The communication involved in the execution of the handling task by the hardware simulator is carried out through the actual communication mode, and each actual software is located in the system of the real semiconductor manufacturing system, so as to ensure the consistency of the software and the communication with the real system.
[0078] For example, the communication layer uses actual communication methods for communication, such as using real industrial communication protocols and industrial WiFi6 network technologies for communication.
[0079] Material control simulation subsystem (MCS): same source code, same configuration, and same database as the actual MCS, running in a container or virtual machine.
[0080] Traffic control simulation subsystem (TCU): a real system that implements deadlock prevention logic consistent with the real system (such as Dijkstra-based path planning).
[0081] MSTC simulation subsystem (MSTC): same source as the actual crane dispatching simulation subsystem, supporting hot-plug scheduling algorithms.
[0082] The above semiconductor manufacturing system full-loop simulation method receives a simulation task; processes each handling task corresponding to the simulation task by reusing actual software to schedule a hardware simulator, which reproduces the characteristics of actual hardware through configuration; executes the handling task through the hardware simulator and communicates with the system where each actual software is located through actual communication methods during the execution of the handling task. In this way, the software fully reuses the actual software, the hardware reproduces the characteristics of the actual hardware through configuration, and the communication uses the actual communication method. In this way, the configuration in the simulation system is the same as the actual one, ensuring the correctness of the simulation.
[0083] In some optional embodiments, the hardware simulator includes a handling equipment simulator; the above method further includes configuring the handling equipment simulator, specifically including: receiving a first configuration instruction for the handling equipment simulator; and configuring at least one of a communication instruction between the handling equipment simulator and the reused crane dispatching simulation subsystem, a communication instruction between the handling equipment simulator and the reused traffic control simulation subsystem, a running logic of the handling equipment simulator, and a position detection logic of the handling equipment simulator based on the first configuration instruction, wherein the communication instruction between the handling equipment simulator and the reused crane dispatching simulation subsystem is used to realize the interaction between the reused handling equipment simulator and the crane dispatching simulation subsystem; the communication instruction between the handling equipment simulator and the reused traffic control simulation subsystem is used to realize the interaction between the handling equipment simulator and the reused traffic control simulation subsystem; the running logic of the handling equipment simulator is used to control each target handling equipment corresponding to the handling equipment simulator to simulate the running of the real semiconductor handling equipment; and the position detection logic of the handling equipment simulator is used to broadcast the position information of the target handling equipment to other target handling equipment through multicast.
[0084] In order to make the handling equipment corresponding to the handling equipment simulator consistent with the overall characteristics of the real handling equipment, the handling equipment simulator is configured in the application through configuration, mainly including:
[0085] First, communication with the crane dispatch simulation subsystem: specifically, based on the communication of the real handling equipment with the crane dispatch system, communication with the crane dispatch simulation subsystem MSTC is realized through a data distribution service, which can include FASTDDS, and in other embodiments can include other data distribution services.
[0086] Second, communication with the multiplexed traffic control simulation subsystem: specifically, an interface can be used to handle the relevant operations of the handling equipment simulator and the traffic control simulation subsystem TCU, including functions such as detecting communication status, initializing TCU objects, path sequencing, calculating TCU information, distance calculation, etc. The code involves a number of methods related to TCU path, command and road segment calculation, covering the assembly and withdrawal of TCU information, as well as the determination of road and curve distances. The interface also supports asynchronous operations such as starting and stopping TCU tasks, ensuring effective management of material handling paths and processes in the AMHS environment.
[0087] Third, running logic: the movement of the handling equipment includes the movement of multiple axes, in this application the X axis is used to simulate movement, the Y axis is used to simulate the mechanical movement of the gripper extending and retracting, the Z axis is used to simulate the mechanical movement of ascending and descending, and the G axis is used to simulate the mechanical movement of the gripper grabbing and releasing. The configuration of the running logic of each axis can be combined with the content of each running logic below, for example, designing the X axis main logic, mainly including forward vehicle detection, accurate positioning, starting and stopping, and straight-line three-stage speed and curve speed, S0 stage (no vehicle in front): get the maximum speed - and calculate the maximum speed allowed in this section; S1 stage (6000~3600): travel at a calculated speed of 3300; S2 stage (3600~2000): decelerate to 500 speed travel; S3 stage (2000~800): travel at a calculated speed of 300; design the Y axis main logic, move by calculating the extension and retraction time configuration; design the Z axis main logic, move by calculating the extension and retraction time configuration; design the G axis main logic, move by calculating the pick and place time configuration; in other embodiments, the movement of the handling equipment can also involve the R axis, which is used to simulate the rotation of the gripper, and can move by calculating the rotation time configuration.
[0088] Fourth, position detection logic: used to broadcast the position information of the target handling equipment to other target handling equipment through multicasting, and the other target handling equipment accepts this information through UDP multicasting and performs position detection.
[0089] After the above configuration, the handling equipment simulator can simulate the real handling equipment. If the real handling equipment changes, the handling equipment simulator can be added or modified, so that the performance of the upper MSTC system and the rationality of the scheduling algorithm can be simulated in high-performance testing.
[0090] In some optional embodiments, in combination with Figure 10 As shown in the figure, Figure 10 is a simulation flowchart of the handling equipment simulator in an embodiment, in which the handling task is executed by the hardware simulator, including:
[0091] S1002: Determine the running axis of the target handling equipment based on the position and running state of the target handling equipment.
[0092] The position of the target handling equipment can be determined based on the positioning information in the virtual environment map, for example, the virtual environment map includes a positioning barcode, and the position of the target handling equipment is determined by the target handling equipment and the positioning barcode. If the position of the target handling equipment is a track, the running axis of the target handling equipment is the first running axis, for example, the X axis. If the position of the target equipment is the position of the storage equipment, the running axis is determined based on the running state of the target handling equipment, for example, the running state includes the picking state, the placing state, and the state change of the gripper as the end effector of the target handling equipment performs the picking and placing task. The gripper state includes the extended state, the retracted state, the lowered state, the raised state, the picking state, and the placing state. First, determine the gripper state change sequence based on the picking state or the placing state, and then determine the corresponding running axis based on the gripper state change sequence.
[0093] S1004: Obtain the target running logic corresponding to the running axis in the pre-configured running logic.
[0094] The target running logic corresponding to different running axes is different, for example, the running logic of the first running axis, i.e., the X axis, is the logic when moving, including positioning and forward obstacle distance detection logic, distance-based segmented speed control logic, control logic for different track types, and task cancellation logic, etc. The running logic of the second running axis, i.e., the Y axis, includes the gripper extension logic and the gripper retraction logic. The running logic of the third running axis, i.e., the Z axis, includes the gripper lowering logic and the gripper raising logic. The running logic of the fourth running axis, i.e., the G axis, includes the gripper picking logic and the gripper placing logic.
[0095] Further, since each operation logic is configured in the configuration process, for example, the operation logic of the second operation axis is a telescopic offset determined based on the telescopic time of the gripper of the target carrying device; the operation logic of the third operation axis is a lifting offset determined based on the lifting time of the gripper of the target carrying device; and the operation logic of the fourth operation axis is a gripper offset determined based on the pick-and-place time of the gripper of the target carrying device. In this way, the telescopic amount of the simulation is configured by the telescopic time, so as to realize the simulation of the gripper of the real carrying device. Taking the operation logic of the second operation axis as an example, the telescopic amount of the gripper corresponding to the second operation axis relative to the target carrying device in a predetermined direction is first obtained, and then the configured telescopic offset is determined, and the telescopic offset of the second operation axis is output, so that the telescopic time of the Y axis can be determined based on the telescopic offset and the telescopic speed of the Y axis. After waiting for the telescopic time, the telescopic amount of the Y axis is set to the original telescopic amount plus the telescopic offset. The processing of the third operation axis and the like is similar and will not be described herein.
[0096] S1006: Perform operation control on the target carrying device based on the target operation logic.
[0097] After the operation axis and the target operation logic are determined, the operation of the target carrying device is simulated based on the target operation logic.
[0098] For the convenience of understanding, taking the goods picking process as an example, when the carrying device is in the goods picking state, the gripper state is in the retracted state, then the operation axis is determined as the second operation axis, i.e., the Y axis, to control the second operation axis to extend the gripper. Then, when the gripper state is extended, the operation axis is determined as the third operation axis, i.e., the Z axis, to control the gripper to descend. When the gripper state is descended to a specific position, the operation axis is the fourth operation axis, i.e., the G axis, to control the gripper to pick up the goods. When the gripper state is in the goods picking completion state, the operation axis is the third operation axis, i.e., the Z axis, to control the gripper to ascend. When the gripper state is in the ascending state, the operation axis is the second operation axis, i.e., the Y axis, to control the gripper to retract, so as to complete the entire goods picking process.
[0099] In the above embodiment, the target operation logic is determined based on the position and the operation state of the target carrying device, so as to realize the simulation of the target carrying device.
[0100] In some optional embodiments, the operation control on the target carrying device based on the target operation logic includes: in the case that the target carrying device enters a new track, determining the type of the track where the target carrying device is located based on the position of the target carrying device; and controlling the movement of the target carrying device based on the type of the track where the target carrying device is located.
[0101] Continue to combine Figure 10As shown, the operation logic for the first operation axis includes determining whether the target carrying device enters a new track, and if so, determining the track type. Different track types correspond to different control logics, and the movement of the target carrying device is controlled based on the type of the track on which the target carrying device is located. Here, the movement is simulated as that of a real carrying device. In addition, after entering a new track, the properties of the new track can also be obtained, including the maximum running speed of the track, to facilitate subsequent control of the movement of the target carrying device on the track.
[0102] In some optional embodiments, the movement of the target carrying device is controlled based on the type of the track, including: in the case where the type of the track on which the target carrying device is located is a curved track, controlling the target carrying device to move at a constant speed according to the curved track speed; in the case where the type of the track on which the target carrying device is located is a straight track and there is no obstacle in front of the target carrying device, controlling the target carrying device to move at a speed corresponding to the track; and in the case where the type of the track on which the target carrying device is located is a straight track and there is an obstacle in front of the target carrying device, determining the distance interval in which the distance between the target carrying device and the obstacle is located, obtaining a speed corresponding to the distance interval as a target speed, and controlling the movement of the target carrying device based on the target speed.
[0103] In combination with Figure 10 As shown, in the case where the type of the track is a curved track, the target carrying device moves at a constant speed according to the curved track speed, for example, the length of the curved track is calculated, the time to exit the curved track is determined based on the length of the curved track and the constant speed according to the curved track speed, and thus after waiting for the time, the position of the target carrying device in the virtual environment map is updated. In some other optional embodiments, the curved track can include an S-shaped curved track, a Y-shaped curved track, and an N-shaped curved track, different curved track types correspond to different speeds, and the constant speed operation of the target carrying device can be controlled based on the speed corresponding to the curved track type.
[0104] If the type of the track is a straight track and there is no obstacle in front of the target carrying device, the target carrying device moves at the maximum running speed of the track.
[0105] In the case where the type of the track is a straight track and there is an obstacle in front of the target carrying device, the distance interval in which the distance between the target carrying device and the obstacle is located is determined, a speed corresponding to the distance interval is obtained as a target speed, and the movement of the target carrying device is controlled based on the target speed, for example, the distance interval can include (6000, 3600) (3600, 2000) (2000, 800), different distance intervals correspond to different target speeds, the larger the distance interval, the greater the speed, and in other embodiments, the distance interval can also be other values, which are not specifically limited here. Thus, the movement of the target carrying device is controlled based on the distance interval in which the distance between the target carrying device and the obstacle is located, until the target carrying device stops, and it continues to detect whether there is an obstacle in front.
[0106] In some optional embodiments, in combination with Figure 11 As shown, before obtaining the distance interval in which the target carrying device is away from the obstacle, the method further comprises:
[0107] S1102: Determine the current position of the target carrying device in the virtual simulation environment.
[0108] S1104: Determine the first moving direction of the target carrying device based on the current position.
[0109] The current position of the target carrying device in the virtual simulation environment can be determined based on the bar code in the virtual simulation map in the virtual simulation environment. The virtual simulation map includes a plurality of bar codes, and the types of the bar codes are different, and the first moving direction is different.
[0110] In this way, the bar code corresponding to the current position of the target carrying device in the virtual simulation environment is obtained, and the type of the bar code can be used to determine the corresponding moving direction. For example, the first moving direction can include a horizontal direction and a vertical direction, and the type of the bar code can be used to determine whether the first moving direction is horizontal or vertical.
[0111] S1106: Determine whether the target carrying devices with the same first moving direction are located on the same track based on the first distance between the target carrying devices.
[0112] The target carrying devices are divided into target carrying devices moving horizontally and target carrying devices moving vertically based on the first moving direction, and then the first distance between the target carrying devices in each group is calculated.
[0113] In some optional embodiments, in order to improve the accuracy, determining whether the target carrying devices with the same first moving direction are located on the same track based on the first distance between the target carrying devices with the same first moving direction comprises: determining each target coordinate in the current position of the target carrying devices with the same first moving direction based on the first moving direction of the target carrying devices; integerizing each target coordinate, and determining the first distance between the target carrying devices based on the integerized target coordinates; in the case that the first distance is less than a distance threshold, determining that the target carrying devices are located on the same track; and in the case that the first distance is greater than or equal to the distance threshold, determining that the target carrying devices are located on different tracks.
[0114] When the moving direction is horizontal, the first distance between the target carrying devices moving horizontally can be determined. For example, in the XY plane, the longitudinal coordinate y of each target carrying device moving horizontally is obtained as the target coordinate, and then the difference between each longitudinal coordinate y is calculated as the first distance. The target coordinate is integerized first, i.e., the longitudinal coordinate y is integerized, for example, 1.02 is integerized to 1, and finally the first distance between the target carrying devices is determined based on the integerized target coordinates.
[0115] When the moving direction is longitudinal, a first distance between the target handling devices of each longitudinal movement can be determined, for example, in the XY plane, the longitudinal coordinates x of the target handling devices of each longitudinal movement are obtained as target coordinates, and then the difference between each longitudinal coordinate x is calculated as the first distance, including first integerizing the target coordinates, that is, integerizing the longitudinal coordinates x, for example, integerizing 5.9 to 6, and finally determining the first distance of each target handling device based on the integerized target coordinates.
[0116] If the first distance is less than the distance threshold value in the subsequent, it is determined that the target handling devices are located on the same track, otherwise it is determined that the target handling devices are not located on the same track.
[0117] S1108: In the case that there are at least two target handling devices located on the same track and the second moving direction of the at least two target handling devices is the same, the second distance between the target handling device and the front adjacent target handling device is obtained, and the second distance between the target handling device and the front adjacent target handling device is used to determine the distance interval in which the distance between the target handling device and the obstacle is located.
[0118] There are at least two target handling devices located on the same track, that is, there is road correlation between the two target handling devices.
[0119] The first moving direction includes each second moving direction, for example, when the first moving direction is transverse, the second moving direction can be forward transverse and reverse transverse; when the second moving direction is longitudinal, the second moving direction can be forward longitudinal and reverse longitudinal.
[0120] Therefore, the second moving direction of the target handling device with road correlation is obtained, if the second moving direction is the same, the movement between them may affect each other, so the second distance between the target handling device and the front adjacent target handling device is obtained as the distance between the target handling device and the obstacle, which is used to determine the distance interval, thereby facilitating the subsequent control of the speed of the target handling device.
[0121] If the second moving direction of the target handling device with road correlation is not the same, the movement between them will not affect each other, so there is no need to calculate the distance between them.
[0122] In the above embodiment, the position of the target handling device corresponding to the handling device simulator and the distance between the target handling device and the front target handling device are obtained through the above simulation logic. Once a vehicle in the same track and same direction in front is detected, it will seamlessly perform the segmented speed control logic in the above, automatically adjust the speed to maintain a safe distance, and truly reproduce the following, deceleration and waiting behavior in the traffic flow.
[0123] In some optional embodiments, the actual communication mode is used to communicate with the system where the multiplexed actual software is located during the execution of the transport task, including: before the target transport device reaches the turnout control area, controlling the transport device simulator corresponding to the target transport device to send a right-of-way application request to the multiplexed traffic control simulation subsystem through the actual communication mode; in the case that the right-of-way application result returned by the traffic control simulation subsystem is pass, controlling the target transport device to slow down through the turnout control area; in the case that the right-of-way application result returned by the traffic control simulation subsystem is not pass, controlling the target transport device to reach a deceleration position and start deceleration until reaching a parking point, and then, when the right-of-way application result returned by the traffic control simulation subsystem is pass, controlling the target transport device to slow down through the turnout control area, where the parking point is located before the end of the track where the target transport device is located.
[0124] In some optional embodiments, the actual communication mode is used to communicate with the system where the multiplexed actual software is located during the execution of the transport task, including: before the target transport device reaches the turnout control area, controlling the transport device simulator corresponding to the target transport device to send a right-of-way application request to the multiplexed traffic control simulation subsystem through the actual communication mode; in the case that the right-of-way application result returned by the traffic control simulation subsystem is pass, controlling the target transport device to slow down through the turnout control area; in the case that the right-of-way application result returned by the traffic control simulation subsystem is not pass, controlling the target transport device to reach a deceleration position and start deceleration until reaching a parking point, and then, when the right-of-way application result returned by the traffic control simulation subsystem is pass, controlling the target transport device to slow down through the turnout control area, where the parking point is located before the end of the track where the target transport device is located.
[0125] In some optional embodiments, the actual communication mode is used to communicate with the system where the multiplexed actual software is located during the execution of the transport task, including: before the target transport device reaches the turnout control area, controlling the transport device simulator corresponding to the target transport device to send a right-of-way application request to the multiplexed traffic control simulation subsystem through the actual communication mode; in the case that the right-of-way application result returned by the traffic control simulation subsystem is pass, controlling the target transport device to slow down through the turnout control area; in the case that the right-of-way application result returned by the traffic control simulation subsystem is not pass, controlling the target transport device to reach a deceleration position and start deceleration until reaching a parking point, and then, when the right-of-way application result returned by the traffic control simulation subsystem is pass, controlling the target transport device to slow down through the turnout control area, where the parking point is located before the end of the track where the target transport device is located.
[0126] In the case where the target handling device reaches the end of the track, the control continues to decelerate the target handling device to a target speed, for example, to 1 meter per second, in other embodiments, the target speed can be other values, to pass through the current track at the target speed, and determine whether there are other obstacles in front, if there are no other obstacles, enter a new track, and continue to execute the control logic of entering a new track as described above.
[0127] In the above embodiments, the operation logic of the configured handling device simulator is configured to make the operation of the target handling device corresponding to the handling device simulator consistent with the operation of the real handling device, thereby ensuring the accuracy of the simulation.
[0128] In some optional embodiments, in combination with Figure 12 As shown in the figure, Figure 12 is a simulation flowchart for the handling device to pause or cancel the handling task in an embodiment, in which the method further comprises:
[0129] S1202: In the case where the handling device simulator receives an instruction to cancel or pause the handling task of the target handling device and the target handling device is located in a curve, the target handling device is controlled to continue to move.
[0130] In the case where the instruction to cancel or pause the handling task is received when the target handling device is located in a curve, the target handling device needs to be controlled to drive out of the curve to avoid affecting the normal movement of other handling devices, to drive out of the curve, reach a straight track, and then be controlled according to the control logic of the straight track.
[0131] S1204: In the case where the handling device simulator receives an instruction to cancel the handling task of the target handling device and the target handling device is located in a straight track, it is determined whether the target handling device can be decelerated to a stop on the straight track.
[0132] S1206: In the case where the target handling device can be decelerated to a stop on the straight track, the target handling device is controlled to decelerate to a stop.
[0133] S1208: In the case where the target handling device cannot be decelerated to a stop on the straight track, the target handling device is controlled to continue to drive until the target handling device is located in a straight track and can be decelerated to a stop, and the target handling device is controlled to decelerate to a stop.
[0134] In the case where the instruction to cancel or pause the handling task is received when the target handling device is located in a straight track, it is determined whether the remaining distance of the straight track can make the target handling device decelerate to a stop, if so, the target handling device is controlled to decelerate to a stop, otherwise, the target handling device is controlled to continue to drive to drive to other straight tracks and can be decelerated to a stop, and the target handling device is controlled to decelerate to a stop.
[0135] In the above embodiments, each simulation logic of the handling equipment simulator is given so that the handling equipment simulator can simulate the operation of the real handling equipment, laying a foundation for simulation accuracy.
[0136] In some optional embodiments, the hardware simulator comprises a storage device simulator; the method further comprises: receiving a second configuration instruction for the storage device simulator; configuring at least one of the manipulator movement logic, the port movement logic and the picking and placing logic of the storage device simulator based on the second configuration instruction; the manipulator movement logic comprises the movement speed of the manipulator along each axis and the picking and placing time consumption; the port movement logic comprises the movement combination of the port along each axis, the movement speed along each axis, the time consumption and the movement distance.
[0137] In order to make the corresponding storage device of the storage device simulator consistent with the overall characteristics of the real handling equipment, the storage device simulator is configured in the application by configuration, mainly including:
[0138] Firstly, the manipulator movement logic comprises the movement speed of the manipulator along each axis and the picking and placing time consumption, for example, each axis comprises: X axis (forward and backward movement), Y axis (up and down lifting), Z axis (picking and placing), one picking or placing is composed of Z axis picking + XY axis movement + Z axis placing, and the parameters of X axis average movement speed, Y axis average movement speed, Z axis picking time consumption and Z axis placing time consumption need to be configured.
[0139] Secondly, the port movement logic: the movement of the port includes X axis (forward and backward translational movement), Y axis (lifting) and R axis (rotation), and the movement distance and movement time consumption of each axis. According to the design of the port, the movement combination of X axis, Y axis and R axis is different; 1) only X axis movement without R axis movement; 2) with or without Y axis movement; 3) X axis and R axis move simultaneously; 4) X axis movement is completed before R axis movement starts, or R axis movement is completed before X axis movement starts; 5) whether there is R axis movement, 6) whether there is Y axis movement, 7) whether X axis and R axis move simultaneously. In addition, the X axis movement needs to be set according to the port design, the length is different, the X axis is simulated at a constant speed, the R axis movement is simulated at a configurable time consumption, the X axis movement distance, the X axis movement speed, the Y axis movement time and the R axis movement time consumption. In actual application, the movement combination of each axis is configured first, and then at least one of the movement distance, the movement time consumption and the movement speed of each axis in each movement combination is set to realize the simulation of the real movement.
[0140] Thirdly, the picking and placing logic comprises the above-mentioned manipulator movement logic and port movement logic, each step of the picking and placing logic can be configured, and the manipulator movement logic and the port movement logic are called in the process to realize the simulation of picking and placing, which can be referred to in the following.
[0141] In this embodiment, the simulation of the picking and placing process can be realized through simple configuration, and the accuracy of the simulation is ensured.
[0142] In one of the optional embodiments, the simulation of the picking process can refer to Figure 13 The hardware simulator performs the handling task and communicates with the systems where the various actual softwares are located through actual communication modes during the execution of the handling task, including: the storage device simulator sends a loading port ready message to the multiplexed material control system, and receives the delivery instruction sent by the multiplexed material control system. Based on the delivery instruction, the mechanical hand movement logic and the loading port movement logic are executed; the storage device simulator sends a picking completion message to the multiplexed material control system, the picking completion message is used to instruct the multiplexed material control system to send a handling task to the multiplexed crane scheduling simulation subsystem, the handling task is used to instruct the multiplexed crane scheduling simulation subsystem to send a handling instruction to the handling equipment simulator, and the handling instruction is used to instruct the corresponding target handling equipment in the handling equipment simulator to move to the loading port to simulate the picking process.
[0143] The storage device simulator sends a loading port ready message to the multiplexed material control system to facilitate delivery, that is, the loading port is idle to wait for the placement of the wafer box for delivery; the multiplexed material control system sends a delivery instruction to the storage device simulator, wherein the communication between the storage device simulator and the multiplexed material control system adopts a real communication mode.
[0144] The storage device simulator executes the mechanical hand movement logic, that is, including Z-axis picking + XY-axis movement + Z-axis placing. Then the storage device simulator executes the loading port movement logic to reach the loading port, and sends a picking completion message to the multiplexed material control system through the storage device simulator, the multiplexed material control system sends a handling task to the multiplexed crane scheduling simulation subsystem, the crane scheduling simulation subsystem sends a handling instruction to the handling equipment simulator, so that the handling equipment simulator executes according to the simulation logic in the foregoing to reach the loading port, and realizes delivery.
[0145] In one of the optional embodiments, the simulation of the placing process can refer to Figure 14The hardware simulator performs the carrying task, and communicates with the systems where the actual software is located through actual communication mode during the execution of the carrying task, including: receiving the carrying task sent by the multiplexed material control system to the multiplexed crane scheduling simulation subsystem, the carrying task being used to instruct the multiplexed crane scheduling simulation subsystem to control the corresponding target carrying device in the carrying device simulator to move to the loading port, and control the target carrying device to simulate the unloading process; after the target carrying device unloading process simulation is completed, receiving the storage instruction sent by the multiplexed material control system to the storage device simulator, and executing the mechanical hand movement logic and the loading port movement logic of the storage device simulator based on the storage instruction to store the goods.
[0146] The unloading process needs to transport the wafer box to the corresponding storage device position first, so the multiplexed material control system sends the carrying task to the multiplexed crane scheduling simulation subsystem, so that the multiplexed crane scheduling simulation subsystem can schedule the corresponding carrying device simulator to execute the carrying task, transport the wafer box to the position of the corresponding storage device simulator, and then based on the communication between the carrying device simulator and the storage device simulator, carry the wafer box in the target carrying device to the storage device, and then the storage device simulator implements the wafer box storage based on the mechanical hand movement logic and the loading port movement logic to complete the unloading process.
[0147] In the above embodiment, the communication between the storage device simulator and each software system adopts the real communication mode, the communication between the storage device simulator and the carrying device simulator also adopts the real communication mode, and the storage device simulator simulates the real storage device based on the mechanical hand movement logic and the loading port movement logic in simulation. Since the mechanical hand movement logic and the loading port movement logic are configured to realize the whole machine characteristics of the real storage device, the simulation accuracy can be greatly improved.
[0148] In some optional embodiments, the target sub-monitoring service is determined based on the number of carrying devices through the total monitoring service, including: obtaining the start number of the carrying devices corresponding to each carrying device simulation subsystem pre-configured through the total monitoring service corresponding to the carrying device total simulation system; determining the number of carrying device simulation subsystems that need to be started based on the number of carrying devices and the start number of the carrying devices corresponding to each carrying device simulation subsystem; and determining the corresponding target sub-monitoring service based on the number of carrying device simulation subsystems that need to be started.
[0149] In combination with Figure 7As shown, the total monitoring service can obtain the number of started vehicles of the vehicle simulation subsystem corresponding to each vehicle simulation subsystem by calling the maximum number of started vehicles interface in the sub-monitoring service, wherein the number of started vehicles of the vehicle simulation subsystem corresponding to each vehicle simulation subsystem can be the same or different. Generally, under the condition of certain server resources, the number is a fixed value. Based on the number of vehicles and the number of started vehicles of the vehicle simulation subsystem corresponding to each vehicle simulation subsystem, the total monitoring service determines the number of vehicle simulation subsystems that need to be started, for example, the number of vehicles is 300, and the number of started vehicles of the vehicle simulation subsystem corresponding to each vehicle simulation subsystem is 100, so the number of vehicle simulation subsystems that need to be started is 3, the target sub-monitoring service corresponding to the 3 vehicle simulation subsystems is determined, and the corresponding vehicle simulation subsystem is started through the target sub-monitoring service. The vehicle simulation subsystem is started in different processes, and the process identifier of the started vehicle simulation subsystem is recorded to facilitate subsequent closing.
[0150] In some optional embodiments, the starting interface of each simulation subsystem is called by the monitoring service to start each simulation subsystem, including: in the case of a storage device simulation subsystem, the storage device simulator directory configured in the storage device simulation subsystem is obtained by the monitoring service, and the storage device simulator directory at least includes a configuration file corresponding to each storage device simulator; and the corresponding storage device simulator is started in sequence through the configuration file in the storage device simulator directory.
[0151] In combination Figure 5 As shown, one storage device simulator is a container of multiple storage devices, for example, at least 2 storage devices. In some optional embodiments, one storage device simulator includes a container of 3 storage devices, and in other embodiments, other values are also possible, which are not limited here. The storage device simulation subsystem includes a storage device simulator directory, and the storage device simulator directory at least includes a configuration file corresponding to each storage device simulator. For example, one server includes at least one storage device simulator directory, and the storage device simulator directory includes at least one storage device configuration file. In some optional embodiments, the server includes 5 storage device simulator directories, and each storage device simulator directory includes 3 storage device configuration files, so that 15 storage devices can be started.
[0152] Optionally, the stk starting interface starts the corresponding storage device simulator in sequence through the configuration file in the storage device simulator directory according to the storage device simulator directory configured by the monitoring service, and saves the process identifier of the started storage device simulator, which can be used for subsequent closing of the storage device simulator.
[0153] In the above embodiments, the process of starting different simulation subsystems is given, one-key starting can be realized, and each simulation subsystem does not need to be started manually one by one, thereby greatly improving the efficiency during starting.
[0154] In the application, each simulation subsystem is started before simulation starts by one-key starting, so that each simulation subsystem can normally run during simulation. Similarly, after simulation ends, the application can also close each simulation subsystem by one-key closing. Specifically, in some optional embodiments, the method further comprises: after each starting interface starts the simulation subsystem, recording the process identifier returned by each starting interface; after each simulation subsystem started by the starting interface performs a simulation task, comprising: calling the closing interface of each simulation subsystem corresponding to the monitoring service based on the process identifier, and closing the started simulation subsystem based on the process identifier through the closing interface.
[0155] In some optional embodiments, after each simulation subsystem started by the starting interface performs a simulation task, comprising: in the case that the simulation subsystem and the monitoring service are deployed on different servers, calling the closing interface of the simulation subsystem through the configuration information of the simulation subsystem configured in the monitoring service, and closing the started simulation subsystem.
[0156] In the case that the simulation subsystem and the monitoring service are deployed on the same server, after each starting interface starts the simulation subsystem, the process identifier returned by each starting interface is recorded by the monitoring service, and the specific limitation of the process identifier can be referred to the above.
[0157] In the case that the simulation subsystem needs to be closed, the corresponding closing interface is called to close the simulation subsystem based on the process identifier.
[0158] For example, the mstc closing interface is called to close the MSTC simulation subsystem through the process identifier saved by the system after starting.
[0159] The first closing interface of the OHT general monitoring service is called to obtain the process identifier of the handling equipment simulation subsystem started by the second starting interface, and then the corresponding second closing interface is called to close the handling equipment simulation subsystem based on the process identifier.
[0160] The stk closing interface is called to close the corresponding storage device management simulation subsystem through the process identifier saved by the stk starting interface, for example, the started storage device simulator is determined based on the process identifier of the started storage device simulator, and then each storage device simulator is closed.
[0161] The algorithm closing interface is called to close the corresponding algorithm simulation subsystem through the process identifier saved by the algorithm starting interface.
[0162] In the case that the simulation subsystem and the monitoring service are deployed on different servers, taking the traffic control simulation subsystem in the above text as an example, the configuration file of the monitoring service stores the configuration information of the simulation subsystem, such as the configured linux related host address, port, account, password, and tcu closing command of ssh, and through the configuration information, the traffic control simulation subsystem deployed on other servers can be closed.
[0163] In the above embodiments, the closing of each simulation subsystem can also be implemented based on the closing interface provided by the monitoring service.
[0164] In some optional embodiments, the application can also one-key configure each simulation subsystem. Specifically, in combination with Figure 15 as shown, Figure 15 a flowchart of the one-key configuration step in an embodiment, the one-key configuration step includes:
[0165] S1502: Receive a configuration query instruction.
[0166] S1504: Based on the configuration query instruction, call the query configuration interface through the monitoring service, obtain the configuration information of the corresponding simulation subsystem, and display the configuration information.
[0167] The simulation platform can display the query button of each simulation subsystem, and through the query button, receive the configuration query instruction. For example, the query configuration interface of the MSTC simulation subsystem is used to read the files in the directory through the configuration file directory address of the MSTC simulation subsystem in the configuration file of the monitoring service, and return to the simulation platform, and the simulation platform will be displayed on the interface. The simulation platform can read the configuration information of the MSTC simulation subsystem through the query configuration interface of the monitoring service of the MSTC simulation subsystem, that is, the simulation platform stores the address of the query configuration interface of the monitoring service of the MSTC simulation subsystem in the configuration file, calls the query configuration interface through the address, the configuration file of the monitoring service includes the configuration file directory address of the MSTC simulation subsystem, and then based on the configuration file directory address, the files in the directory, that is, the configuration information, can be read, the configuration information is returned to the simulation platform, and the configuration information is displayed.
[0168] The simulation platform can also read the configuration information of the algorithm simulation subsystem through the query configuration interface of the monitoring service of the algorithm simulation subsystem, for example, read the files according to the algorithm configuration file directory configured by the monitoring service, and display them in the interface of the simulation platform.
[0169] S1506: Update the configuration information, and call the modification configuration interface through the monitoring service to save the updated configuration information to the configuration file corresponding to the simulation subsystem.
[0170] The modification configuration interface of the MSTC simulation subsystem is used to update the configuration file by monitoring the configuration file directory address of the MSTC simulation subsystem on the configuration file of the monitoring service, and the simulation platform calls the interface to input new configuration data for updating. Thus, after the configuration information is updated, the modification configuration interface of the MSTC simulation subsystem can be called to update the updated configuration information to the configuration file of the MSTC simulation subsystem.
[0171] Similarly, the simulation platform can also update the updated configuration information to the configuration file of the algorithm simulation subsystem through the modification configuration interface of the monitoring service of the algorithm simulation subsystem.
[0172] In some optional embodiments, the updated configuration information is saved to the configuration file of the simulation subsystem by calling the modification configuration interface through the monitoring service, including: in the case that the simulation subsystem corresponds to a total monitoring service, the first modification configuration interface is called through the total monitoring service, and each sub-monitoring service corresponding to each handling equipment simulation subsystem is called through the first modification configuration interface; and the updated configuration information is saved to the configuration file of the handling equipment simulation subsystem through the second modification configuration interface of each sub-monitoring service.
[0173] In the case that the simulation subsystem corresponds to a total monitoring service, because the configuration files of the handling equipment simulation subsystems are the same, only the query configuration interface of one sub-monitoring service needs to be called to obtain the configuration information in the configuration file of the handling equipment simulation subsystem, and the configuration information is displayed on the interface.
[0174] When the configuration information is updated, the first modification configuration interface is called through the total monitoring service, and the second modification configuration interface of each sub-monitoring service is called through the first modification configuration interface to save the updated configuration information to the configuration file of the handling equipment simulation subsystem, that is, the first modification configuration interface of the total monitoring service is mainly used to realize the calling of the second modification configuration interface to update the configuration information to each handling equipment simulation subsystem.
[0175] In some optional embodiments, the method further includes: configuring the configuration file of the storage device subsystem through the configuration interface; and calling the synchronization configuration file interface corresponding to the storage device subsystem through the monitoring service, and updating each configuration file in each storage device simulator directory in the configuration of the storage device simulation subsystem based on the configured configuration file.
[0176] The monitoring service configures directories of the stk simulator, and in the case of multiple directories, the multiple directories are separated by commas, multiple configuration information input through the synchronization configuration file interface is used to update the configuration files in each directory in turn, and in order to improve the update speed, one update can be performed at a time; for example, three directories are configured, and each directory includes three configuration files, so there are nine configuration files, and each three configuration files are updated into each directory in turn.
[0177] In the above embodiment, one-key configuration of the simulation subsystem can be realized through the interfaces of the monitoring service, operation is simplified, and processing efficiency is improved.
[0178] In some optional embodiments, the method further includes: receiving a map update instruction, the map update instruction carrying an updated map; in the case that the simulation subsystem and the monitoring service are deployed on the same server, storing the updated map into the configuration file of the simulation subsystem by calling a map update interface of the monitoring service; in the case that the simulation subsystem and the monitoring service are deployed on different servers, updating map configuration information in the configuration file of the simulation subsystem by calling an imported map interface of the monitoring service, the map configuration information being used to instruct the simulation subsystem to read the updated map.
[0179] The simulation subsystem and the monitoring service are deployed on the same server, for example, the MSTC simulation subsystem, the handling equipment simulation subsystem, the storage equipment management simulation subsystem, and the algorithm simulation subsystem, at this time, the map update interface of the monitoring service can be directly called to store the updated map into the corresponding configuration file of the simulation subsystem. It should be noted that for the handling equipment simulation subsystem, a first map update interface of the general monitoring service is called first, and a second map update interface of the sub-monitoring service is called through the first map update interface to store the updated map into the configuration file of each handling equipment simulation subsystem.
[0180] In the case that the simulation subsystem and the monitoring service are deployed on different servers, for example, the traffic control simulation subsystem (TCU), the monitoring service of the traffic control simulation subsystem (TCU) calls an imported map interface to update map configuration information in the configuration file of the simulation subsystem, the map configuration information including a map name and a path, and further including access path information of the traffic control simulation subsystem, for example, an ssh and a configured linux related host address, a port, an account, and a password, the traffic control simulation subsystem is accessed through the access path information, and then the map configuration information is updated to the configuration file of the traffic control simulation subsystem, so that the traffic control simulation subsystem can read the updated map based on the map name and the path in the configuration file.
[0181] The above embodiment realizes one-key update of the map in each simulation subsystem by each monitoring service, and lays a foundation for correct running of subsequent simulation.
[0182] The simulation process of the MES system is mainly described in the present application.
[0183] In an exemplary embodiment, as shown in Figure 16 , a semiconductor manufacturing system manufacturing execution system simulation method is provided, which is applied to the MES system (manufacturing execution system simulation) in Figure 1 , including the following steps 1602 to step 1606. Among them:
[0184] S1602: Obtain a virtual environment map, the virtual environment map including at least two process areas, each process area including at least one Bay area, and each Bay area including at least one device.
[0185] As shown in Figure 17 , it is a schematic diagram of the relationship between the areas included in the virtual environment map in an embodiment, wherein the virtual environment map includes at least two process areas, each process area includes at least one Bay area, and each Bay area includes at least one device. Figure 17
[0186] Among them, the manufacturing execution system simulation can set multiple process areas of the same level, also known as process areas, each process area including multiple Bay areas, each Bay area including multiple devices, and the devices can include machines, storage devices and buffer devices.
[0187] Among them, the present application can also include a process process time configuration step, that is, the process time corresponding to different process areas is configured, and optionally, the process process time is uniformly configured as the same time, which is changed to different process times respectively configured by different processes, so as to achieve production line capacity balance.
[0188] S1604: Based on at least one of the process areas, Bay areas and devices in the virtual environment map, generate a carrying task.
[0189] Among them, the carrying task can be generated based on at least one of the process areas, Bay areas and devices in the virtual environment map.
[0190] In some optional embodiments, the process constraints are obtained based on the sequence of processes corresponding to the process regions in the virtual environment map; the Bay region constraints are generated based on the task weights of the Bay regions, the task weights being proportional to the number of handling tasks corresponding to the Bay regions; the device constraints are generated based on the device types of the devices and the task states, the device types including machines, buffer devices, and storage devices, and the task states including an idle state and an execution state; and the handling tasks are generated based on at least one of the process constraints, the Bay region constraints, and the device constraints. For specific limitations, refer to the following.
[0191] In some optional embodiments, the handling tasks are generated based on the sequence of the process regions, the Bay regions, and the devices. Figure 18 As shown in the above, the handling tasks are generated based on the sequence of the process regions, the Bay regions, and the devices.
[0192] In the present application, the handling tasks are generated based on at least one of the process regions, the Bay regions, and the devices in the virtual environment map, mainly to balance the number of handling tasks corresponding to each process region, each Bay region, and each device, so that the number of handling tasks in each process region, each Bay region, and each device is as equal as possible, thereby avoiding too many handling tasks in some process regions, Bay regions, and devices, and no execution of handling tasks in some process regions, Bay regions, and devices, to maximize the use of the process regions, the Bay regions, and the devices in the virtual environment map.
[0193] In some optional embodiments, the handling tasks corresponding to each process region, each Bay region, and each device are balanced by selecting based on the number of handling tasks corresponding to each process region, each Bay region, and each device when determining the starting process region, the starting Bay region, and the starting device, and by also considering the number of the destination process region, the destination Bay region, and the destination device when determining the destination process region, the destination Bay region, and the destination device. Alternatively, the region with the least number of handling tasks can be selected, or the region with the number of handling tasks less than a threshold value can be selected.
[0194] In actual applications, at the beginning, the process regions, the Bay regions, and the devices can be determined by polling, and the corresponding handling tasks are generated. Subsequently, as the handling tasks are executed, the process region with the least number of handling tasks is obtained, then the Bay region with the least number of handling tasks in the process region is obtained, and finally the device with the least number of handling tasks in the determined Bay region is obtained, and the handling task corresponding to the device is generated. Alternatively, the number of handling tasks generated each time can also be controlled to balance the handling tasks corresponding to each process region, each Bay region, and each device.
[0195] S1606: Issue the generated handling task.
[0196] Wherein after generating the handling task, the handling task can be issued to the simulation subsystem, for example, the MES system can directly issue the handling task to the handling equipment scheduling simulation subsystem, or the MES system first issues the handling task to the MCS system, and then the MCS system issues the handling task to the handling equipment scheduling simulation subsystem, so that the handling equipment scheduling simulation subsystem simulates based on the handling task.
[0197] In some optional embodiments, after generating the handling task, the method further includes: caching the handling task in a cache queue; and issuing the generated handling task, including: based on at least one of the process area, the Bay area and the equipment in the virtual environment map, evenly obtaining the handling task from the cache queue and issuing it to the corresponding task processing system.
[0198] Wherein the handling task generated by the MES is not directly issued to the MCS system or the MSTC system, but is first cached in the cache queue to avoid impacting the MCS system or the MSTC system. Optionally, when the task quantity is less than the task quantity threshold, the handling task can not be issued, or the handling task can be directly issued, and when the task quantity is greater than or equal to the task quantity threshold, the handling task is cached in the cache queue, and the subsequent handling task is obtained from the cache queue for issuance.
[0199] And in order to ensure the balance of subsequent task execution as much as possible, the handling task is also evenly issued when the handling task is issued in this application, that is, based on at least one of the process area, the Bay area and the equipment in the virtual environment map, the handling task is evenly obtained from the cache queue and issued to the corresponding task processing system, wherein the task processing system can include the MCS system or the MSTC system.
[0200] Specifically, in combination with Figure 19 As shown in the figure, at the beginning, a certain number of handling tasks can be sent to each process area in turn by polling, and subsequently, as the tasks are executed, the process area of each to-be-sent handling task can be determined based on the task quantity of each process area, for example, the process area with a small number of handling tasks is obtained, and the handling task is preferentially issued to the process area.
[0201] At the beginning, a certain number of handling tasks can also be sent to each Bay area in turn by polling, and subsequently, as the tasks are executed, the Bay area of each to-be-sent handling task can be determined based on the task quantity of each Bay area, for example, the Bay area with a small number of handling tasks is obtained, and the handling task is preferentially issued to the Bay area.
[0202] At the beginning, a certain number of handling tasks can also be sent to each device in turn in a polling manner, and subsequently, as the tasks are executed, the device of each to-be-sent handling task can be determined based on the task amount of each device, for example, a device with a small number of handling tasks is obtained, and handling tasks are preferentially issued to the device.
[0203] In actual application, at the beginning, the device of the Bay area of the process area can be determined in a polling manner, and the corresponding handling task is issued in turn, subsequently, as the handling task is executed, the process area with a small number of handling tasks is obtained, then the Bay area with a small number of handling tasks in the process area is obtained, and finally the device with a small number of handling tasks in the determined Bay area is obtained, and the handling task corresponding to the device is issued. Optionally, the number of handling tasks issued each time can also be controlled to balance the handling tasks corresponding to each process area, each Bay area, and each device.
[0204] The above semiconductor manufacturing system manufacturing execution system simulation method obtains a virtual environment map, the virtual environment map includes at least two process areas, each process area includes at least one Bay area, and each Bay area includes at least one device; generates a handling task based on at least one of the process area, the Bay area, and the device in the virtual environment map; and issues the generated handling task. Instead of randomly setting by the user, the corresponding handling task is generated based on the virtual environment map, which can ensure the accuracy of the handling task and improve the simulation accuracy.
[0205] In some optional embodiments, the handling task is generated by determining the sequence of processes corresponding to the process areas in the virtual environment map; determining the two adjacent process areas based on the sequence of processes; taking the former process area in the two adjacent process areas as a starting process area and the latter process area as a destination process area; and generating the handling task based on the starting process area and the destination process area.
[0206] In combination with Figure 20 the figure, Figure 20 which is a schematic diagram of the relationship between the process area and the handling task in an embodiment. In this embodiment, the processes corresponding to the process areas in the virtual environment map have a sequence, and the handling task can only be from the former process area to the latter process area in the two adjacent process areas based on the sequence of processes, that is, taking the former process area in the two adjacent process areas as a starting process area and the latter process area as a destination process area.
[0207] In combination with Figure 20, assuming that the virtual environment map includes 6 process areas, the wafer box is circulated from process 1 to process 2, process 2 to process 3, process 3 to process 4, process 4 to process 5, process 5 to process 6. Therefore, the generated carrying tasks include the carrying tasks corresponding to process 1 to process 2, the carrying tasks corresponding to process 2 to process 3, the carrying tasks corresponding to process 3 to process 4, the carrying tasks corresponding to process 4 to process 5, the carrying tasks corresponding to process 5 to process 6, and the carrying tasks corresponding to process 6 to process 1. The carrying tasks corresponding to process 1 to process 3, or the carrying tasks corresponding to process 1 to process 4, the carrying tasks corresponding to process 1 to process 5, the carrying tasks corresponding to process 1 to process 6, and the carrying tasks corresponding to process 1 to process 1 are not generated. That is, it is impossible to generate a carrying task across a process area or a reverse carrying task in the present application.
[0208] In the above embodiment, the corresponding carrying task is generated based on the order of the process area, which can avoid generating an incorrect carrying task and ensure the accuracy of the carrying task.
[0209] In some optional embodiments, the carrying task is generated, including: obtaining the task weight value of each Bay area in the starting process area and the task weight value of each Bay in the target process area; and based on the task weight value of each Bay area in the starting process area and the task weight value of each Bay in the target process area, the corresponding carrying task of each Bay area is generated in a balanced manner. The task weight value is proportional to the number of generated carrying tasks corresponding to the Bay area.
[0210] In order to realize the balance of the carrying task, the task weight value in the present application is used to identify the quantity of the carrying task of the Bay area. In the case that there is an associated carrying task in the Bay area, the corresponding task weight value is not 0, and the task weight value is proportional to the number of generated carrying tasks corresponding to the Bay area. Generally, for each Bay area, one associated carrying task is added, and the corresponding task weight value is added by 1. In other embodiments, other ways can also be used, which are not limited here.
[0211] In the present embodiment, in combination with Figure 21 , as shown in Figure 21For a schematic diagram of the relationship between the Bay area and the carrying task in an embodiment, after the starting process area and the target process area are determined, the task weight values of the Bay areas in the starting process area and the task weight values of the Bay areas in the target process area can be obtained; optionally, a Bay area in the starting process area whose task weight value meets a first requirement is selected as the starting Bay area, and a Bay area in the target process area whose task weight value meets a second requirement is selected as the target Bay area, so as to generate a corresponding carrying task. The first requirement and the second requirement can be at least one of the minimum task weight values, and in other embodiments, other requirements can also be set.
[0212] Suppose that 6 carrying tasks need to be generated, then the 6 task generation is as follows Figure 20 Distribution, so that the task weight values of the Bay areas under each process are balanced. The purpose of this is to prevent the carrying tasks from being excessively concentrated in a Bay of a process and causing traffic congestion.
[0213] In some optional embodiments, generating a carrying task includes: determining the device types and the task states of the devices in the Bay area; and generating the carrying task based on the device types and the task states.
[0214] The device types include a machine EQ, an in-air buffer device OHB / OHBP, and a storage device STOCKER. The task state includes an idle state and an execution state, which are used to indicate whether there is a virtual FOUP being processed in the device. If there is, the task state is the execution state, otherwise, the task state is the idle state. In some optional embodiments, the buffer device is an in-air buffer device.
[0215] In this application, the carrying task is generated based on the device types and the task states, so that the virtual FOUP can be directly transported to the target destination, or when the target destination is in the execution state, it can be first transported to other intermediate destinations, and then transported from the intermediate destinations to the target destination.
[0216] After the starting Bay area of the starting process area is determined, the starting device in the starting Bay area is determined. The starting device can be determined according to the device types and the task states of the devices in the starting Bay area, and the balance of the carrying tasks between the devices needs to be considered. After the starting device is determined, the optional device types of the target device are determined according to the device type of the starting device, and then the optional devices corresponding to the optional device types are obtained from the target Bay area of the target process area according to the optional device types, and the target device is determined based on the task state of the optional device and the number of the carrying tasks corresponding to each optional device, so as to achieve the balance of the carrying tasks.
[0217] In some optional embodiments, a transport task is generated based on device type and task status, including: when the starting location is a machine in the starting Bay area and there are idle machines in the target Bay area, a transport task is generated from the machine in the starting Bay area to a machine in the target Bay area; when the starting location is a machine in the starting Bay area and all machines in the target Bay area are in an executing state, but there are idle cache devices, a transport task is generated from the machine in the starting Bay area to a cache device in the target Bay area; when the starting location is a machine in the starting Bay area and there are idle cache devices in the target Bay area, a transport task is generated from the machine in the starting Bay area to a cache device in the target Bay area. If all servers and cache devices in a domain are in an executing state, but there are idle storage devices, a transfer task is generated from a server in the starting Bay area to a storage device in the target Bay area. If the starting location is a cache device in the starting Bay area and there are idle servers in the target Bay area, a transfer task is generated from a cache device in the starting Bay area to a server in the target Bay area. If the starting location is a storage device in the starting Bay area and there are idle servers in the target Bay area, a transfer task is generated from a storage device in the starting Bay area to a server in the target Bay area.
[0218] Among them, combined Figure 22 As shown, the rules for generating transport tasks in this embodiment include at least one of the following: firstly, generating transport tasks from machine EQ to machine EQ; secondly, generating transport tasks from machine EQ to cache device OHB / OHBP; thirdly, generating transport tasks from machine EQ to storage device STOCKER; generating transport tasks from cache device OHB / OHBP to machine EQ; and generating transport tasks from storage device STOCKER to machine EQ.
[0219] Assuming that storage device Store1 has a virtual wafer box, when machine EQ1 becomes idle, the MES simulator will generate a transfer task from storage device Store1 to machine EQ1. After machine EQ1 is manufactured, the MES simulator will generate a transfer task from machine EQ1 to storage device Store2. If machine EQ2 is being manufactured at this time, the MES simulator will generate a transfer task from storage device Store2 to machine EQ2 after machine EQ2 is manufactured. If machine EQ2 is also idle when machine EQ1 is manufactured, the MES simulator will directly generate a transfer task from machine EQ1 to machine EQ2.
[0220] The above gives the relationship between each transport task and the equipment, and the corresponding equipment can be selected based on the equipment type and the task state. In addition, it is also necessary to point out that after the optional equipment is determined, the transport tasks of each equipment need to be balanced, that is, based on the number of transport tasks of the optional equipment, the least number is selected, so as to avoid the situation that some equipment has no transport task to execute, while the transport task number of other transport equipment is relatively large.
[0221] In some optional embodiments, the transport task is generated, including: in the case that each machine in the starting Bay area includes the to-be-transported article, and each machine in the target Bay area is in an execution state, generating a transport task from each machine in the starting Bay area to each cache equipment in the target Bay area, and the transport tasks are evenly distributed in each cache equipment in the target Bay area; in the case that there is a machine in the idle state in the target Bay area, generating a transport task from the cache equipment in the target Bay area to the machine in the idle state in the target Bay area, and the machine in the idle state in the target Bay area is closest to the cache equipment in the target Bay area.
[0222] In combination with Figure 23 As shown in the target process area of the target Bay area, each machine in the target Bay area is in an execution state, then a transport task from each machine in the starting Bay area to each cache equipment in the target Bay area can be generated first, and then a transport task from the cache equipment in the target Bay area to the machine in the idle state in the target Bay area is generated when there is a machine in the idle state in the target Bay area, and the machine in the idle state in the target Bay area is closest to the cache equipment in the target Bay area.
[0223] For the convenience of understanding, in combination with Figure 23, the machine table EQ1, the machine table EQ2, the machine table EQ3 and the machine table EQ4 are manufactured, the machine table EQ5, the machine table EQ6, the machine table EQ7 and the machine table EQ8 are in the manufacturing process, the buffer device OHB1, the buffer device OHB2, the buffer device OHB3 and the buffer device OHB4 have spare storage positions, at this time, the MES simulator generates four conveyances of the machine table EQ1-buffer device OHB3, the machine table EQ2-buffer device OHB2, the machine table EQ3-buffer device OHB1 and the machine table EQ4-buffer device OHB4, which ensures that the tasks are evenly distributed to each buffer device OHB in each Bay, and the tasks are concentrated in some buffer devices OHB in each Bay as much as possible; after the machine table EQ5, the machine table EQ6, the machine table EQ7 and the machine table EQ8 complete the manufacturing, the MES simulator generates the conveyances of the buffer device OHB1-machine table EQ5, the buffer device OHB2-machine table EQ6, the buffer device OHB3-machine table EQ7 and the buffer device OHB4-machine table EQ8, at this time, the principle of the machine table EQ selecting the buffer device OHB is to select the buffer device OHB with inventory in the nearest Bay area.
[0224] In the above embodiments, based on the purpose of balance, the conveying tasks from each machine table in the starting Bay area to each buffer device in the target Bay area are generated first, and then the conveying tasks from the buffer device in the target Bay area to the machine table in the idle state in the target Bay area are generated, which avoids the situation that all machine tables in the starting Bay area cannot be used, and also provides goods for the manufacturing in the target Bay area in advance, laying a foundation for improving the manufacturing efficiency. It should be understood that although each step in the flowchart involved in the above embodiments is displayed in sequence according to the arrow, these steps are not necessarily executed in sequence according to the arrow. Unless otherwise stated herein, the execution of these steps has no strict sequence limitation, and these steps can be executed in other orders. Moreover, at least part of the steps in the flowchart involved in the above embodiments can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution sequence of these steps or stages is not necessarily sequential, but can be executed in rotation or alternation with at least part of other steps or steps or stages in other steps. It can be understood that the steps in different embodiments can be freely combined as needed, and various non-contradictory schemes formed by the combination all belong to the scope protected by the present application.
[0225] Based on the same inventive concept, the embodiments of the present application also provide a semiconductor manufacturing system manufacturing execution system simulation device for implementing the semiconductor manufacturing system manufacturing execution system simulation method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more semiconductor manufacturing system manufacturing execution system simulation device embodiments provided below can refer to the limitations of the semiconductor manufacturing system manufacturing execution system simulation method described above, which will not be repeated here.
[0226] In one exemplary embodiment, as shown in Figure 24 a semiconductor manufacturing system manufacturing execution system simulation device is provided, comprising: a map acquisition module 2401, a transport task generation module 2402, and a sending module 2403, wherein:
[0227] The map acquisition module 2401 is configured to acquire a virtual environment map, wherein the virtual environment map comprises at least two process areas, each process area comprises at least one Bay area, and each Bay area comprises at least one device.
[0228] The transport task generation module 2402 is configured to generate a transport task based on at least one of the process areas, the Bay areas, and the devices in the virtual environment map.
[0229] The sending module 2403 is configured to send the generated transport task.
[0230] In one of the optional embodiments, the transport task generation module 2402 is specifically configured to determine the order of the processes corresponding to the process areas in the virtual environment map; determine the adjacent two process areas based on the order of the processes; take the first process area in the adjacent two process areas as the starting process area and the second process area as the target process area; and generate the transport task based on the starting process area and the target process area.
[0231] In one of the optional embodiments, the transport task generation module 2402 is specifically configured to acquire the task weight values of each Bay area in the starting process area and the task weight values of each Bay in the target process area; and generate the transport task of each Bay area based on the task weight values of each Bay area in the starting process area and the task weight values of each Bay in the target process area, wherein the task weight values are proportional to the number of the generated transport tasks corresponding to the Bay areas.
[0232] In one of the optional embodiments, the transport task generation module 2402 is specifically configured to determine the device types and the task states of each device in the Bay area; and generate the transport task based on the device types and the task states.
[0233] In one of the optional embodiments, the device types include machines, buffer devices, and storage devices, and the task states include idle states and execution states. In one of the optional embodiments, the carrying task generation module 2402 is specifically configured to generate a carrying task from a machine in a starting Bay area to a machine in a target Bay area when the starting position is the machine in the starting Bay area and the target Bay area has a machine in an idle state. In one of the optional embodiments, the carrying task generation module 2402 is specifically configured to generate a carrying task from a machine in a starting Bay area to a buffer device in a target Bay area when the starting position is the machine in the starting Bay area and the target Bay area has a buffer device in an idle state. In one of the optional embodiments, the carrying task generation module 2402 is specifically configured to generate a carrying task from a machine in a starting Bay area to a storage device in a target Bay area when the starting position is the machine in the starting Bay area and the target Bay area has a storage device in an idle state. In one of the optional embodiments, the carrying task generation module 2402 is specifically configured to generate a carrying task from a buffer device in a starting Bay area to a machine in a target Bay area when the starting position is the buffer device in the starting Bay area and the target Bay area has a machine in an idle state. In one of the optional embodiments, the carrying task generation module 2402 is specifically configured to generate a carrying task from a storage device in a starting Bay area to a machine in a target Bay area when the starting position is the storage device in the starting Bay area and the target Bay area has a machine in an idle state.
[0234] In one of the optional embodiments, the carrying task generation module 2402 is specifically configured to generate carrying tasks from each machine in a starting Bay area to each buffer device in a target Bay area when each machine in the starting Bay area includes an article to be carried and each machine in the target Bay area is in an execution state, and the carrying tasks are evenly distributed in each buffer device in each target Bay area. In one of the optional embodiments, the carrying task generation module 2402 is specifically configured to generate a carrying task from a buffer device in a target Bay area to a machine in an idle state in the target Bay area when there is a machine in an idle state in the target Bay area, and the machine in an idle state in the target Bay area is closest to the buffer device in the target Bay area.
[0235] In one of the optional embodiments, the carrying task generation module 2402 is specifically configured to generate carrying tasks corresponding to each process area, each Bay area, and each device based on the order of the process area, the Bay area, and the device.
[0236] In one of the optional embodiments, the device further includes a buffer module configured to buffer the carrying tasks in a buffer queue, and the sending module 2403 is specifically configured to evenly obtain the carrying tasks from the buffer queue based on at least one of the process area, the Bay area, and the device in the virtual environment map, and deliver the carrying tasks to the corresponding task processing system.
[0237] The modules in the manufacturing execution system simulation device in the semiconductor manufacturing system can be implemented by software, hardware, or a combination thereof. The modules can be embedded in a processor in a computer device or independent of the processor, or stored in a memory in the computer device in a software form, so that the processor can call and execute the operations of the modules.
[0238] In an example embodiment, a computer device, which can be a server, has an internal structure as shown in Figure 25 The computer device includes a processor, a memory, an input / output interface, and a communication interface. The processor, the memory, and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device provides computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The database of the computer device is used to store data involved in the above method. The input / output interface of the computer device is used to exchange information between the processor and external devices. The communication interface of the computer device is used to communicate with external terminals through a network connection. The computer program is executed by the processor to implement a semiconductor manufacturing system manufacturing execution system simulation method.
[0239] Those skilled in the art can understand that Figure 25 The structure shown in the above
[0240] In an embodiment, a computer device is also provided, which includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps in the above method embodiments.
[0241] In an embodiment, a computer readable storage medium is provided, which stores a computer program. The computer program is executed by a processor to implement the steps in the above method embodiments.
[0242] In an embodiment, a computer program product is provided, which includes a computer program. The computer program is executed by a processor to implement the steps in the above method embodiments.
[0243] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiment methods. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. The non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. The volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, the RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., without being limited thereto.
[0244] Any technical features in the above embodiments can be combined, and for the sake of brevity, not all possible combinations are described, however, any combination of the technical features is considered to be within the scope of the present application. The above embodiments only express several implementation manners of the present application, and the description is more specific and detailed, but it should not be understood as a limitation on the patent scope of the present application. It should be pointed out that, for those skilled in the art, without departing from the concept of the present application, some modifications and improvements can be made, which are all within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the appended claims.
Claims
1. A simulation method for a manufacturing execution system in a semiconductor manufacturing system, characterized in that, The method includes: Obtain a virtual environment map, the virtual environment map including at least two process regions, each process region including at least one Bay region, and each Bay region including at least one device; Based on at least one of the process area, the Bay area, and the equipment in the virtual environment map, a transport task is generated; The generated transport task is then issued.
2. The method according to claim 1, characterized in that, The generation of the transport task includes: Determine the sequence of processes corresponding to the process areas in the virtual environment map; The process regions of two adjacent processes are determined based on the order of the manufacturing process. The first process region among the two adjacent process regions is taken as the starting process region, and the second process region is taken as the destination process region. A transport task is generated based on the starting process area and the destination process area.
3. The method according to claim 2, characterized in that, The generation of the transport task includes: Obtain the task weight values of each Bay area in the starting process region and the task weight values of each Bay area in the target process region; Based on the task weight values of each Bay area in the starting process area and the task weight values of each Bay in the target process area, the transport tasks corresponding to each Bay area are generated in a balanced manner. The task weight value is proportional to the number of transport tasks generated corresponding to the Bay area.
4. The method according to claim 1, characterized in that, The generation of the transport task includes: Determine the device type and task status of each device in the Bay area; A transport task is generated based on the device type and the task status.
5. The method according to claim 4, characterized in that, The equipment types include machines, cache devices, and storage devices; the task states include idle state and execution state; generating a handling task based on the equipment type and the task state includes: Given a machine whose starting location is in the starting Bay area and an idle machine exists in the target Bay area, generate a transport task from the machine in the starting Bay area to the machine in the target Bay area. Given that the starting position is a machine in the starting Bay area and all machines in the target Bay area are in the running state, but there are idle cache devices, generate a transfer task from the machine in the starting Bay area to the cache device in the target Bay area. Given a machine in the starting Bay region and both the machine and cache device in the target Bay region are in an executing state, but there is an idle storage device, generate a transfer task from the machine in the starting Bay region to the storage device in the target Bay region. Given a cache device in the starting Bay area and an idle machine in the target Bay area, generate a transfer task from the cache device in the starting Bay area to the machine in the target Bay area. Given a storage device whose starting location is the starting Bay area and a machine in the target Bay area that is idle, generate a transfer task from the storage device in the starting Bay area to the machine in the target Bay area.
6. The method according to claim 1, characterized in that, The generation of the transport task includes: When each machine in the starting Bay region contains items to be moved, and each machine in the destination Bay region is in an execution state, a moving task is generated from each machine in the starting Bay region to each cache device in the destination Bay region, and the moving task is evenly distributed among each cache device in each destination Bay region. If a machine in the destination Bay area is idle, a transport task is generated from the cache device in the destination Bay area to the idle machine in the destination Bay area, and the idle machine in the destination Bay area is closest to the cache device in the destination Bay area.
7. The method according to any one of claims 1 to 6, characterized in that, The generation of the transport task includes: Based on the order of the process region, the Bay region, and the equipment, the corresponding handling tasks for each process region, each Bay region, and each equipment are generated in a balanced manner.
8. The method according to any one of claims 1 to 6, characterized in that, After generating the transport task, the process also includes: The transport task is cached in a cache queue; The generated transport task includes: Based on at least one of the process area, the Bay area, and the device in the virtual environment map, transfer tasks are obtained evenly from the cache queue and sent to the corresponding task processing system.
9. A manufacturing execution system simulation device in a semiconductor manufacturing system, characterized in that, The device includes: A map acquisition module is used to acquire a virtual environment map, the virtual environment map including at least two process regions, each process region including at least one Bay region, and each Bay region including at least one device; The transport task generation module is used to generate transport tasks based on at least one of the process area, the Bay area, and the equipment in the virtual environment map; The sending module is used to send out the generated transport task.
10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 8.
