Control system and substrate processing apparatus
A control system using PLCs controlled by a computer storing sequence programs addresses the inefficiency of direct computer-object communication, simplifying setup by managing network configurations through PLCs.
Patent Information
- Application Number
- JP2024014522
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-02
- Publication Date
- 2025-08-15
AI Technical Summary
The burden of setting up communications between computers and controlled objects is greater than between PLCs and controlled objects, making it inefficient to use computers for controlling controlled objects.
A control system comprising at least one PLC that controls control objects, with a computer storing a sequence program to execute instructions for the PLCs, reducing the need for direct computer-object communication configuration.
This approach reduces the burden of network configuration by allowing the computer to control PLCs, which in turn manage the controlled objects, thus simplifying the communication setup process.
Smart Images

Figure 2025119642000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a control system and a substrate processing apparatus. [Background technology]
[0002] Patent Document 1 discloses a control system including a first controller that controls a machine tool according to an NC (Numerical Control) program, a second controller that controls target equipment according to a sequence program, and a support device. Paragraph 0030 of Patent Document 1 mentions a "PLC (Programmable Logic Controller)." [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-026309 Summary of the Invention [Problem to be solved by the invention]
[0004] PLCs control controlled objects such as electric motors and sensors. Computers such as personal computers (PCs) are more versatile and powerful than PLCs, so they are sometimes used to control controlled objects. When controlling controlled objects with a computer, the computer must be configured to enable communication between the computer and the controlled object. However, when communicating between a computer and the controlled object, the burden of setting up the communication is greater than when communicating between a PLC and the controlled object.
[0005] SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a control system and a substrate processing apparatus that can reduce the burden required for setting up communications. [Means for solving the problem]
[0006] One embodiment of the present invention provides a control system comprising at least one PLC (Programmable Logic Controller) that controls at least one control object, and at least one computer that stores a sequence program and executes the sequence program to cause the at least one PLC to control the at least one control object.
[0007] In the embodiment, at least one of the following features may be added to the control system:
[0008] The at least one PLC does not store the sequence program.
[0009] The at least one PLC is a plurality of PLCs that control a plurality of control objects, and the at least one computer includes a main computer that stores the sequence program and executes the sequence program, and a plurality of sub-sequence programs that store the sub-sequence programs and execute the sub-sequence programs when the main computer executes the sequence program, causing the plurality of PLCs to control the plurality of control objects.
[0010] The at least one computer stores a sequence creation application for creating the sequence program.
[0011] Another embodiment of the present invention provides a substrate processing apparatus comprising a plurality of processing units for processing substrates, a transport system for transporting the substrates to the plurality of processing units, at least one PLC for controlling a plurality of control objects provided in the plurality of processing units and the transport system, and at least one computer that stores a sequence program and executes the sequence program to cause the at least one PLC to control the plurality of control objects.
[0012] The plurality of processing units may include two or more processing units that perform different processes on the substrate. At least one of the above-described features relating to a control system may be added to the substrate processing apparatus. [Brief explanation of the drawings]
[0013] [Figure 1] 1 is a block diagram illustrating an example of a control system according to an embodiment of the present invention. [Figure 2] 2 is a block diagram for explaining an example of sequence control performed by the control system shown in FIG. 1. FIG. [Figure 3] FIG. 2 is a block diagram illustrating another example of a control system according to an embodiment of the present invention. [Figure 4] 1 is a schematic view showing an example of a substrate processing apparatus according to an embodiment of the present invention. [Figure 5] FIG. 10 is a schematic view showing another example of a substrate processing apparatus according to an embodiment of the present invention. [Figure 6] 10 is a flowchart showing an example of a schedule created by the main computer. [Figure 7] 7 is a flowchart showing an example of a chemical liquid supplying step shown in FIG. 6. [Figure 8] 4 is a block diagram for explaining an example of sequence control performed by the control system shown in FIG. 3. FIG. DETAILED DESCRIPTION OF THE INVENTION
[0014] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[0015] 1 is a block diagram showing an example of a control system CS according to an embodiment of the present invention. The control system CS is a system that causes a target device to perform its own function by executing a sequence program. When the control system CS executes the sequence program, sequence control is performed by the control system CS, and the target device performs its function using at least one control target 300.
[0016] The sequence program is a computer program that causes the control system CS to use at least one control target 300 provided in the target device and execute sequence control in the control system CS. The sequence program may be a program written in a visual programming language such as the ladder diagram (LD) language used to create ladder diagrams, or a program written in a text programming language that describes a program using only one or more of letters, symbols, and numbers.
[0017] The target device may be a device that uses an object to perform its function, or a device that performs its function without using an object such as a heater or lamp. In the former case, the function of the target device may be a function that causes a change to the object, a function that does not cause a change to the object, or both. If the target device causes a change to the object, the function of the target device may be at least one of processing and treating the object, or may be other than these. If the target device does not cause a change to the object, the function of the target device may be at least one of measuring, photographing, and transporting the object, or may be other than these. The object may be a tangible object or an intangible object such as data.
[0018] When the target device is a device that performs its function using an object, the target device may be a substrate processing apparatus 1 (see FIGS. 4 and 5) that processes the target substrate W, or may be a device other than the substrate processing apparatus 1, such as a machine tool or an inspection device. The substrate W may be, for example, a semiconductor wafer, a substrate for an FPD (Flat Panel Display) such as a liquid crystal display device or an organic electroluminescence (EL) display device, a substrate for an optical disk, a substrate for a magnetic disk, a substrate for a magneto-optical disk, a substrate for a photomask, a ceramic substrate, or a substrate for a solar cell, or may be other than these. The semiconductor may be a simple substance (elemental semiconductor) or a compound (compound semiconductor). The substrate W may be a disk-shaped substrate W such as a semiconductor wafer, or a square or rectangular substrate W such as an FPD substrate.
[0019] The target device includes at least one control object 300 that is used when the function of the target device is performed, and at least one PLC (Programmable Logic Controller) 200 that controls the at least one control object 300.
[0020] The control target 300 is an electronic or electrical device that transmits and / or receives electrical signals. The control target 300 may be an input device that only transmits electrical signals, an output device that only receives electrical signals, or an input / output device that both transmits and receives electrical signals. The control target 300 may be at least one of a sensor, a camera, a button, a switch, an actuator, a heater, a lamp, a solenoid valve, and a buzzer, or may be something other than these. The sensor, the camera (more specifically, the image sensor of the camera), the button, and the switch are examples of input devices. The actuator, the heater, the lamp, the solenoid valve, and the buzzer are examples of output devices.
[0021] An actuator is a device that converts driving energy, such as electrical, fluid, magnetic, thermal, or chemical energy, into mechanical work, i.e., the movement of a tangible object. Actuators include electric motors (rotary motors), linear motors, air cylinders, and other devices. When the actuator is an electric actuator, such as an electric motor or linear motor, the actuator may include a motor driver that controls the power to be supplied in accordance with instructions from the PLC 200 and a motor body that converts the power supplied from the motor driver into the movement of a tangible object. As long as the motor driver can supply power to the motor body, the motor driver may be fixed to the motor body or may be separate from the motor body. When the actuator is an actuator other than an electric actuator (such as an air cylinder), the actuator may include an electric valve equipped with an electric actuator and an actuator body that converts the energy of a fluid passing through the electric valve into the movement of a tangible object.
[0022] The controlled object 300 includes an automatic valve equipped with an actuator. Solenoid valves and motor-operated valves are examples of automatic valves. An automatic valve may be an on-off valve that opens and closes a flow path, or a flow control valve that changes the flow rate of a fluid. An automatic valve includes a valve body with an annular valve seat through which a fluid such as a liquid or gas passes, a valve element that is movable relative to the valve seat, and an actuator that moves the valve element between a closed position where the valve element contacts the valve seat and an open position where the valve element is separated from the valve seat. The actuator of the automatic valve may be a pneumatic actuator, an electric actuator, or another type of actuator. The aperture of the automatic valve is changed by controlling the actuator of the automatic valve. This opens and closes the on-off valve, or changes the aperture of the flow control valve.
[0023] The control system CS includes at least one PLC 200 that controls at least one control target 300, and at least one computer 100 that controls the at least one PLC 200. FIG. 1 shows an example in which a plurality of PLCs 200 and one computer 100 are provided. The control system CS may also include an HMI (Human Machine Interface) 150. The HMI 150 is an electronic or electrical device that receives instructions from a person to the control system CS. The HMI 150 may not only receive instructions from a person to the control system CS, but also communicate information generated by the control system CS to a person. FIG. 1 shows an example in which the HMI 150 is a touch panel display.
[0024] At least one PLC 200 is part of the target device and also part of the control system CS. The computer 100 may or may not be part of the target device. When the control system CS includes multiple computers 100, one or more computers 100 (less than all of the computers 100) may be part of the target device, and the remaining one or more computers 100 may not be part of the target device. When at least one computer 100 is part of the target device, the at least one computer 100 may be fixed to a frame of the target device to which the PLC 200 is fixed.
[0025] The computer 100 communicates with the PLC 200. The PLC 200 communicates with the controlled object 300. The computer 100 may also communicate with the controlled object 300. The PLC 200 receives an electrical signal sent from the computer 100. The PLC 200 sends an electrical signal to the computer 100. In other words, the computer 100 and the PLC 200 perform bidirectional communication. The communication between the PLC 200 and the controlled object 300 may be unidirectional (sending only or receiving only) or bidirectional.
[0026] The computer 100 may be connected to the PLC 200 via a communication network that transmits electrical signals among three or more communication devices, or may be connected to the PLC 200 without a communication network. FIG. 1 shows an example of the former. In the latter case, the computer 100 may be connected to the PLC 200 via a dedicated communication line. For example, the computer 100 may be connected to the PLC 200 via a communication cable that is directly attached to each of the computer 100 and the PLC 200. The connection between the computer 100 and the PLC 200 may be a wired connection or a wireless connection. The same applies to other connections. The computer 100, the PLC 200, and the controlled object 300 are all examples of communication devices.
[0027] FIG. 1 shows an example in which one computer 100 and multiple PLCs 200 are connected to a host network NA. At least one computer 100 communicates with at least one PLC 200 via the host network NA. When a control system CS includes multiple computers 100, the multiple computers 100 communicate with each other via the host network NA. The same applies when the control system CS includes multiple PLCs 200. When the control system CS includes an HMI 150, the HMI 150 may be connected to at least one computer 100 via the host network NA, or may be connected to any of the computers 100 via a dedicated communication line. FIG. 1 shows an example of the former.
[0028] 1 shows an example in which multiple PLCs 200 and multiple control targets 300 are connected to a lower network NB. At least one PLC 200 communicates with at least one control target 300 via the lower network NB. When a control system CS includes multiple PLCs 200, all of the PLCs 200 may be connected to a single lower network NB, or may be connected to separate lower networks NB. The control system CS may include multiple PLCs 200 connected to a single lower network NB, and at least one PLC 200 connected to a lower network NB that is different from the lower network NB to which the other PLCs 200 are connected.
[0029] A PLC 200 connected to a certain lower network NB communicates with a controlled object 300 connected to this lower network NB. When multiple PLCs 200 are connected to one lower network NB, the multiple PLCs 200 may communicate with each other via the lower network NB. The communication protocol used in the lower network NB may be the same as or different from the communication protocol used in the upper network NA. The PLC 200 performs real-time communication with the controlled object 300 or another PLC 200 via the lower network NB or a dedicated line. The cycle of communication between the PLC 200 and the computer 100 may be the same as or longer than the cycle of communication between the PLC 200 and the controlled object 300.
[0030] At least one computer 100, at least one PLC 200, and upper network NA constitute a computer layer. At least one PLC 200, at least one controlled object 300, and lower network NB constitute a PLC layer. The PLC layer is also called a field network, and the controlled object 300 is also called a field device. The computer 100 and the controlled object 300 belong to different control layers. The computer 100 is a control computer that controls the controlled object 300 via the PLC 200. The PLC 200 is a subsystem that communicates between the computer 100 and the controlled object 300. If the controlled object 300 is connected to the computer 100 without the PLC 200, it is necessary to configure the computer 100 for each controlled object 300. If the controlled object 300 is connected to the computer 100 via the PLC 200, there is no need to configure the computer 100. This eliminates the need to configure the computer 100. This reduces the burden of building a network.
[0031] The computer 100 includes a CPU (central processing unit) 101 that processes information such as executing a program, and a memory 102 that stores information such as programs to be executed by the CPU 101. The computer 100 further includes a communication module 103 that performs at least one of the following functions: transmitting information transmitted from the CPU 101 or the memory 102 to a communication device other than the computer 100; and receiving information transmitted from a communication device other than the computer 100 and transmitting the information to the CPU 101 or the memory 102.
[0032] Computer 100 may be an industrial PC, a consumer PC, or other type of PC. Computer 100 may include a general-purpose operating system (OS) such as Windows (registered trademark) or Linux (registered trademark) and at least one application (application software) running on the general-purpose OS. In addition to the general-purpose OS, computer 100 may also include a real-time OS used when computer 100 performs real-time control, and at least one application running on the real-time OS.
[0033] PLC 200 includes CPU 201 that processes information such as executing programs, and memory 202 that stores information such as programs to be executed by CPU 201. PLC 200 further includes communication module 203 that performs at least one of transmitting information transmitted from CPU 201 or memory 202 to a communication device other than PLC 200, and receiving information transmitted from a communication device other than PLC 200 and transmitting the information to CPU 201 or memory 202. Communication module 203 may be at least one of an input module that performs only reception, an output module that performs only transmission, and an input / output module that performs both transmission and reception.
[0034] The communication module 103 of the computer 100 is connected to the upper network NA. The communication module 203 of the PLC 200 is connected to the upper network NA and the lower network NB. The communication module 203 of the PLC 200 may include a communication module dedicated to the upper network NA and a communication module dedicated to the lower network NB. The control target 300 includes a communication module 303 that transmits and / or receives information. The communication module 303 of the control target 300 is connected to the lower network NB. The communication module 303 of the control target 300 may be an input module, an output module, or an input / output module.
[0035] At least one computer 100 stores a sequence program. Each PLC 200 has a memory 202 capable of storing a program such as a sequence program, but does not store the sequence program. The sequence program includes instructions for at least one control target 300. When at least one computer 100 executes the sequence program, the instructions are sent from the at least one computer 100 to at least one control target 300 via the PLC 200. This controls at least one control target 300 according to the sequence program. The PLC 200 may send the instructions sent from the computer 100 to the control target 300 without changing them, or may change the instructions of the computer 100 and send them to the control target 300, as long as at least one control target 300 follows the instructions of the computer 100.
[0036] The sequence program stored in at least one computer 100 may be a sequence program created by at least one computer 100, or may be a sequence program sent to at least one computer 100 from a computer other than the computer 100 included in the control system CS.
[0037] When at least one computer 100 creates a sequence program, the at least one computer 100 stores a sequence creation application 141 that creates the sequence program. In this case, the at least one computer 100 may store program parts 142, which are multiple components that can constitute a sequence program. The at least one computer 100 may execute the sequence creation application 141 to combine multiple components selected from the program parts 142 to create a sequence program. The program parts 142 may include at least one of a function, a class, a library, a module, a subroutine, a subprogram, and a parameter, or may include other components.
[0038] When the sequence creation application 141 is installed in at least one computer 100, when the at least one computer 100 executes the sequence creation application 141, a sequence program is created by the sequence creation application 141. A sequence creation instruction that causes the at least one computer 100 to create a sequence program may be input to the at least one computer 100 when a user operates the HMI 150, or may be input to the at least one computer 100 from a computer (such as a host computer HC described below) other than the computer 100 included in the control system CS.
[0039] When the target apparatus is the substrate processing apparatus 1 (see FIGS. 4 and 5), the program parts 142 may include at least one recipe. A recipe is information that specifies the processing content, processing conditions, and processing procedure for the substrate W. When a sequence creation instruction is input to the at least one computer 100, a recipe that constitutes a sequence program may be input to the at least one computer 100. When a sequence creation instruction is input to the at least one computer 100, information that identifies a recipe that constitutes a sequence program may be input to the at least one computer 100.
[0040] If the program part 142 includes a recipe, the at least one computer 100 may store process data, which is data to be substituted for variables in the recipe. The process data may include a log 144 generated by executing the recipe. The at least one computer 100 stores parameters, which are data to be substituted for variables in the sequence program. The process data is one of the parameters.
[0041] When at least one computer 100 executes a sequence program, a log 144 is generated, which is information including the content of an event that occurred and the time the event occurred. The log 144 generated by at least one computer 100 is stored in the at least one computer 100. The log 144 generated by the PLC 200 is sent to at least one computer 100 and stored in the at least one computer 100. The log 144 generated by the control target 300 is sent to at least one computer 100 via the PLC 200 and stored in the at least one computer 100. Therefore, the log 144 generated by the control system CS when the sequence program is executed is aggregated and accumulated in the at least one computer 100.
[0042] The analysis of the log 144 generated when the sequence program is executed may be performed by at least one computer 100, or may be performed by a computer other than the computer 100 included in the control system CS. In the former case, the at least one computer 100 may store a log analysis application 143 that analyzes the log 144 stored in the at least one computer 100.
[0043] When the at least one computer 100 executes the log analysis application 143, a log analysis file including the analysis results of the log 144 is generated and stored in the at least one computer 100. If the control system CS has a display, the at least one computer 100 may display the log analysis file on the display. If the at least one computer 100 creates a sequence program, the at least one computer 100 may create the sequence program based on the analysis results of the log 144 performed by the log analysis application 143.
[0044] Next, an example of sequence control performed by the control system CS shown in FIG. 1 will be described.
[0045] Fig. 2 is a block diagram for explaining an example of sequence control performed by the control system CS shown in Fig. 1. Fig. 2 shows an example in which three control targets 300 (electric motor 310, valve 320, sensor 330) are connected to the control system CS, and one PLC 200 (PLC 210, PLC 220, PLC 230) is provided for each control target 300. Below, a sequence control will be described in which, after driving the electric motor 310, the valve 320 is opened and the flow rate of the fluid that has passed through the valve 320 is detected by the sensor 330.
[0046] When a user operates the HMI 150 to issue a sequence execution instruction to cause the control system CS to execute a sequence program, at least one computer 100 executes the sequence program, and the control system CS starts sequence control.
[0047] Specifically, the at least one computer 100 sends a first instruction i1 to the PLC 210 to drive the electric motor 310. After receiving the first instruction i1, the PLC 210 drives the electric motor 310. That is, the first instruction i1 is sent from the PLC 210 to a motor driver of the electric motor 310, causing the electric motor 310 to rotate. After driving of the electric motor 310 is completed, the PLC 210 sends a first response R1 to the at least one computer 100 to notify that driving of the electric motor 310 has been completed. The at least one computer 100 receives the first response R1 and confirms that driving of the electric motor 310 has been completed.
[0048] Next, the at least one computer 100 sends a second instruction i2 to the PLC 220 to open the valve 320. After receiving the second instruction i2, the PLC 220 opens the valve 320. That is, the actuator of the valve 320, which is an automatic valve, is driven in response to the instruction from the PLC 220, and the valve disc of the valve 320 moves from the closed position. After opening the valve 320, the PLC 220 sends a second response R2 to the at least one computer 100 notifying that the valve 320 has been opened. The at least one computer 100 receives the second response R2 and confirms that the valve 320 has been opened.
[0049] Next, the at least one computer 100 sends a third instruction i3 to the PLC 230 to confirm that the flow rate of the fluid passing through the valve 320 is equal to or greater than a predetermined value. The PLC 230 is connected to a sensor 330. The sensor 330 detects the flow rate of the fluid passing through the valve 320. The detected value of the sensor 330 is input to the PLC 230. When the valve 320 is opened, the detected value of the sensor 330 changes. The PLC 230 determines whether the flow rate of the fluid passing through the valve 320 is equal to or greater than a predetermined value based on the detected value of the sensor 330.
[0050] If the flow rate of the fluid passing through the valve 320 is equal to or greater than the predetermined value, the PLC 230 sends a third response R3 to the at least one computer 100, informing the at least one computer 100 that the flow rate of the fluid passing through the valve 320 is equal to or greater than the predetermined value. The at least one computer 100 receives the third response R3 and confirms that the flow rate of the fluid passing through the valve 320 is equal to or greater than the predetermined value. In this way, each control step included in the sequence program is performed sequentially in a predetermined order.
[0051] Next, another example of the control system CS will be described.
[0052] Fig. 3 is a block diagram showing another example of a control system CS according to an embodiment of the present invention. Similar to the control system CS shown in Fig. 1, the control system CS shown in Fig. 3 includes at least one PLC 200 that controls at least one control target 300, and at least one computer 100 that controls the at least one PLC 200. The at least one computer 100 includes multiple sub-computers 120 that control the at least one PLC 200, and a main computer 110 that controls the multiple sub-computers 120. The control system CS may also include an HMI 150. Fig. 3 shows an example in which the HMI 150 is connected to the main computer 110 and the sub-computer 120.
[0053] The main computer 110 includes a CPU 101, a memory 102, and a communication module 103. The sub-computer 120 also includes a CPU 101, a memory 102, and a communication module 103. The main computer 110 and the sub-computer 120 are connected to a first higher-level network NA1. The sub-computer 120 and the PLC 200 are connected to a second higher-level network NA2. The main computer 110, the sub-computer 120, and the PLC 200 may be connected to the same communication network. In this case, the main computer 110 may communicate with the PLC 200 without going through the sub-computer 120.
[0054] The main computer 110 stores the sequence program described above. Each of the sub-computers 120 also stores a sub-sequence program. Each of the PLCs 200 has a memory 202 capable of storing programs such as a sequence program, but does not store the sequence program or the sub-sequence program.
[0055] A subsequence program is a part of a sequence program. A subsequence program is executed by executing the sequence program. A subsequence program can also be called a function, a class, a library, a module, a subroutine, or a subprogram. The content of a subsequence program in one subcomputer 120 may be the same as or different from the content of a subsequence program in another subcomputer 120. A subcomputer 120 may store multiple subsequence programs with different contents.
[0056] The sequence program stored in the main computer 110 may be a sequence program created by the computer 100 included in the control system CS, or may be a sequence program sent to the main computer 110 from a computer other than the computer 100 included in the control system CS. The same applies to the sub-sequence program stored in the sub-computer 120.
[0057] 3 shows an example in which main computer 110 creates a sequence program, and sub-computer 120 stores a sub-sequence program sent from a computer other than computer 100 included in control system CS. In this example, main computer 110 stores sequence creation application 141 that creates the sequence program. Main computer 110 may also store program parts 142, which are multiple components that can make up a sequence program.
[0058] When the main computer 110 executes a sequence program, a log 144 is generated. The same is true when the sub-computer 120 executes a sub-sequence program. The log 144 generated by the main computer 110 is stored in the main computer 110. The logs 144 generated by the sub-computer 120, the PLC 200, and the controlled object 300 are sent to the main computer 110 and stored in the main computer 110. Therefore, the logs 144 generated by the control system CS when the sequence program is executed are aggregated and accumulated in the main computer 110.
[0059] The analysis of the log 144 may be performed by the main computer 110, or may be performed by a computer other than the computer 100 included in the control system CS. Fig. 3 shows an example in which a log analysis application 143 that analyzes the log 144 stored in the main computer 110 is installed in the main computer 110. When the main computer 110 creates a sequence program, the main computer 110 may create the sequence program based on the analysis results of the log 144 performed by the log analysis application 143. The main computer 110 may also modify a sub-sequence program based on the analysis results.
[0060] Next, a substrate processing apparatus 1 equipped with a control system CS shown in FIG. 3 will be described.
[0061] 4 and 5 are schematic diagrams of a substrate processing apparatus 1 according to one embodiment of the present invention. The substrate processing apparatus 1 shown in Figures 4 and 5 includes a load port LP that holds a carrier CA that accommodates a substrate W such as a FOUP (Front-Opening Unified Pod), a plurality of processing units 2 that process the substrate W transferred from the carrier CA on the load port LP, a transfer system TS that transfers the substrate W between the carrier CA on the load port LP and the plurality of processing units 2, an outer wall 1a that forms an enclosed space accommodating the plurality of processing units 2 and the transfer system TS, and a control device 3 that controls the substrate processing apparatus 1.
[0062] The transfer system TS unloads the substrate W from the carrier CA on the load port LP and loads it into the processing unit 2. The transfer system TS further unloads the substrate W from the processing unit 2 and loads it into the carrier CA on the load port LP. The carrier CA into which the substrate W is loaded may be the same as or different from the carrier CA from which the substrate W was unloaded. The transfer system TS may transport the substrate W from one processing unit 2 to another processing unit 2. The transfer system TS may include at least one transport robot TR that transports one or more substrates W in a horizontal position.
[0063] The processing unit 2 may be a single-wafer processing unit 2 that processes substrates W one by one, or a batch processing unit 2 that processes multiple substrates W at once. The processing of substrates W performed by the processing unit 2 may be one or more of cleaning, bonding, film formation, resist coating, exposure, development, etching, impurity implantation, activation, resist stripping, polishing, dicing, and inspection, or may be other than these. All the processing units 2 may process the same substrate W, or may process different substrates W. The multiple processing units 2 may include two or more processing units 2 that perform processing of substrates W that is different from the processing of substrates W performed by other processing units 2.
[0064] FIG. 4 shows an example in which the processing unit 2 is a single-wafer cleaning unit 2c that supplies processing liquids such as chemical liquids and rinse liquids to the substrates W. FIG. 5 shows an example in which the processing unit 2 is a bonding unit 2b that bonds two substrates W (a first substrate W1 and a second substrate W2). In the example shown in FIG. 5, the bonding unit 2b and the cleaning unit 2c are included in the multiple processing units 2. The configuration of the cleaning unit 2c shown in FIG. 5 is the same as the configuration of the cleaning unit 2c shown in FIG. 4. Unless otherwise specified, the bonding unit 2b described in this specification bonds substrates under atmospheric pressure.
[0065] 4 includes a box-shaped chamber 4 having an internal space and a spin chuck 10 that holds one substrate W horizontally in the chamber 4 and rotates the substrate W about a vertical rotation axis A1 that passes through the center of the substrate W. The chamber 4 includes a box-shaped partition wall 5 that has a passage opening through which the substrate W passes, and a door 6 that opens and closes the passage opening. The spin chuck 10 includes a chuck 11 that is a mechanical chuck or a vacuum chuck that holds the substrate W horizontally, and a spin motor 12 that rotates the chuck 11 about the vertical rotation axis A1 that passes through the center of the substrate W held by the chuck 11.
[0066] The cleaning unit 2c shown in FIG. 4 further includes a chemical nozzle 31 that ejects a chemical solution toward the upper surface of the substrate W held on the spin chuck 10, and a rinse liquid nozzle 33 that ejects a rinse liquid such as pure water (deionized water: DIW) toward the upper surface of the substrate W held on the spin chuck 10.
[0067] The chemical nozzle 31 is connected to a chemical pipe 32p that guides the chemical. When a chemical valve 32v attached to the chemical pipe 32p is opened, the chemical is continuously discharged downward from the discharge port of the chemical nozzle 31. When the chemical valve 32v is opened, the flow rate of the chemical flowing from the chemical valve 32v toward the chemical nozzle 31 is detected by a flow meter 32m. The chemical nozzle 31 is connected to a nozzle actuator 32a that moves the chemical nozzle 31 within the chamber 4. The nozzle actuator 32a moves the chemical nozzle 31 horizontally between a processing position (position indicated by a solid line) where the chemical discharged from the chemical nozzle 31 is supplied to the upper surface of the substrate W, and a standby position (position indicated by a two-dot chain line) where the chemical nozzle 31 is positioned around the spin chuck 10 in a plan view.
[0068] 5 includes a box-shaped chamber 4 having an internal space, a first chuck 54A which is a vacuum chuck or an electrostatic chuck that holds the first substrate W1 horizontally within the chamber 4, and a second chuck 54B which is a vacuum chuck or an electrostatic chuck that holds the second substrate W2 horizontally within the chamber 4. The chamber 4 includes a partition wall 5 having a passage opening through which the first substrate W1 and the second substrate W2 pass, and a door 6 that opens and closes the passage opening.
[0069] 5 further includes a plurality of bonding actuators 55 that bond the first substrate W1 and the second substrate W2 by relatively moving the first chuck 54A and the second chuck 54B while they hold the first substrate W1 and the second substrate W2, and at least one camera 56 that detects the alignment of the first substrate W1 and the second substrate W2 at least before and after bonding the first substrate W1 and the second substrate W2 by photographing at least one of the first substrate W1 and the second substrate W2. The plurality of bonding actuators 55 may include a horizontal actuator that relatively moves the first chuck 54A and the second chuck 54B in the horizontal direction, a vertical actuator that relatively moves the first chuck 54A and the second chuck 54B in the vertical direction, and a rotational actuator that relatively rotates the first chuck 54A and the second chuck 54B about a vertical line.
[0070] The transfer system TS (strictly speaking, the actuators, sensors, etc. included in the transfer system TS) is included in the plurality of control objects 300. The spin motor 12, the chemical liquid valve 32v, and the flow meter 32m shown in FIG. 4 are also included in the plurality of control objects 300. The bonding actuator 55 and the camera 56 shown in FIG. 5 are also included in the plurality of control objects 300. The chemical liquid valve 32v is an opening / closing valve (the automatic valve described above) equipped with an actuator. The flow meter 32m is a sensor that measures the flow rate of the liquid. The substrate processing apparatus 1 shown in FIGS. 4 and 5 also includes other control objects 300. For example, an actuator (not shown) that opens and closes the door 6 is also included in the plurality of control objects 300.
[0071] The control device 3 corresponds to the main computer 110 that controls the control target 300 via the sub-computers 120 and the PLC 200. FIGS. 4 and 5 show an example in which a sub-computer 120 is provided for each processing unit 2, and the main computer 110 controls all of the sub-computers 120. In this example, at least one PLC 200 is provided for each processing unit 2. At least one PLC 200 provided in a certain processing unit 2 is controlled by the sub-computer 120 provided in this processing unit 2. Therefore, multiple processing units 2 are controlled by different sub-computers 120. The sub-computer 120 may control multiple processing units 2.
[0072] The HMI 150 is disposed outside the outer wall 1a of the substrate processing apparatus 1 while being in contact with the outer wall 1a. The main computer 110, the sub-computer 120, and the PLC 200 may be disposed inside or outside the outer wall 1a of the substrate processing apparatus 1. The main computer 110 is connected to a host computer HC disposed outside the substrate processing apparatus 1. The host computer HC communicates with the main computer 110. The host computer HC may be connected to the main computer 110 via a first higher-level network NA1 shown in FIG. 3, or may be connected to the main computer 110 via a communication network separate from the first higher-level network NA1 or a dedicated communication line.
[0073] When a user operates the HMI 150 to issue a processing start instruction to the substrate processing apparatus 1 to cause the substrate processing apparatus 1 to start processing a substrate W, the main computer 110 sends a message to the host computer HC requesting that the substrate processing apparatus 1 transport a substrate W. When the host computer HC receives this message, the host computer HC causes the carrier transport system to transport a carrier CA containing one or more substrates W to be processed in the substrate processing apparatus 1 to the substrate processing apparatus 1. The substrate processing apparatus 1 then reads information identifying the transported carrier CA and sends this information to the host computer HC. When the host computer HC receives this information, the host computer HC sends information such as a recipe to the main computer 110. If the main computer 110 stores multiple recipes, the host computer HC may also send information identifying the recipe to the main computer 110.
[0074] The process start instruction corresponds to the sequence creation instruction described above. After the user issues the process start instruction, the main computer 110 receives information such as a recipe from the host computer HC, and then creates a schedule that chronologically arranges multiple processes to be performed by the substrate processing apparatus 1. The schedule corresponds to a sequence program. The main computer 110 creates the schedule by executing a sequence creation application 141 (see FIG. 3), which corresponds to a scheduling application. Thereafter, the main computer 110 controls the multiple sub-computers 120 in accordance with the schedule, thereby causing the substrate processing apparatus 1 to perform the multiple processes in accordance with the schedule.
[0075] Fig. 6 shows an example of a schedule created by the main computer 110. In this example, the schedule includes a first transfer step (step S11 in Fig. 6) of transferring a substrate W in a carrier CA on the load port LP to a processing unit 2, a substrate processing step (steps S12 to S14 in Fig. 6) of processing the substrate W in the processing unit 2, and a second transfer step (step S15 in Fig. 6) of transferring the substrate W processed in the processing unit 2 to a carrier CA on the load port LP.
[0076] When the processing unit 2 is the cleaning unit 2c shown in FIG. 4, the substrate processing process may include a chemical liquid supply process (step S12 in FIG. 6) in which a chemical liquid ejected from the chemical liquid nozzle 31 is supplied to the upper surface of the substrate W while rotating the substrate W, a rinse liquid supply process (step S13 in FIG. 6) in which a rinse liquid ejected from the rinse liquid nozzle 33 is supplied to the upper surface of the substrate W while rotating the substrate W, and a drying process (step S14 in FIG. 6) in which the liquid is removed from the substrate W by rotating the substrate W, thereby drying the substrate W, or may include other processes.
[0077] Fig. 7 shows an example of the chemical liquid supplying step shown in Fig. 6. When the schedule includes the chemical liquid supplying step shown in Fig. 6, the chemical liquid supplying step may include a nozzle moving step (step S21 in Fig. 7) in which nozzle actuator 32a moves chemical liquid nozzle 31 from a standby position (the position shown by the two-dot chain line in Fig. 4) to a processing position (the position shown by the solid line in Fig. 4), a discharge start step (step S22 in Fig. 7) in which chemical liquid valve 32v is opened to cause chemical liquid nozzle 31 located at the processing position to start discharging the chemical liquid, and a flow rate confirmation step (step S23 in Fig. 7) in which it is confirmed based on the detection value of flow meter 32m that the flow rate of the chemical liquid discharged from chemical liquid nozzle 31 is equal to or greater than a predetermined value, or may include other steps.
[0078] Next, an example of sequence control performed by the control system CS shown in FIG. 3 will be described.
[0079] Fig. 8 is a block diagram for explaining an example of sequence control performed by the control system CS shown in Fig. 3. Fig. 8 shows an example in which three control targets 300 (electric motor 310, valve 320, sensor 330) are connected to the control system CS, and one PLC 200 (PLC 210, PLC 220, PLC 230) is provided for each control target 300. Below, with reference to Figs. 4 and 8, a description will be given of sequence control in which the control system CS executes the nozzle movement process (step S21 in Fig. 7), the discharge start process (step S22 in Fig. 7), and the flow rate confirmation process (step S23 in Fig. 7) shown in Fig. 7 in this order.
[0080] A processing start instruction that causes the substrate processing apparatus 1 to start processing the substrate W corresponds to a sequence creation instruction and a sequence execution instruction. The schedule created by the substrate processing apparatus 1 corresponds to a sequence program. When a user operates the HMI 150 to issue a sequence execution instruction that causes the control system CS to execute a sequence program, the main computer 110 executes the sequence program, and the control system CS starts sequence control. Specifically, the main computer 110 sends a comprehensive instruction iA to the sub-computer 120 to drive the electric motor 310, open the valve 320, and confirm that the flow rate of the fluid passing through the valve 320 is equal to or greater than a predetermined value.
[0081] When sub-computer 120 receives comprehensive instruction iA, sub-computer 120 executes a first sub-sequence program to perform sequence control for driving electric motor 310. Specifically, sub-computer 120 sends a first instruction i1 for driving electric motor 310 to PLC 210. After receiving first instruction i1, PLC 210 drives electric motor 310. As a result, chemical solution nozzle 31 moves from the standby position to the treatment position. After driving electric motor 310 has finished, PLC 210 sends a first response R1 to sub-computer 120 to notify that driving of electric motor 310 has finished.
[0082] Next, sub-computer 120 executes a second sub-sequence program to perform sequence control to open valve 320. Specifically, sub-computer 120 sends a second instruction i2 to PLC 220 to open valve 320. After receiving second instruction i2, PLC 220 opens valve 320. As a result, chemical nozzle 31 located at the processing position starts discharging the chemical solution. After opening valve 320, PLC 220 sends a second response R2 to sub-computer 120 to notify that valve 320 has been opened.
[0083] Next, sub-computer 120 executes a third sub-sequence program to perform sequence control to confirm that the flow rate of the fluid that has passed through valve 320 is equal to or greater than a predetermined value. Specifically, sub-computer 120 sends a third instruction i3 to PLC 230 to confirm that the flow rate of the fluid that has passed through valve 320 is equal to or greater than a predetermined value. After receiving third instruction i3, PLC 230 determines whether the flow rate of the fluid that has passed through valve 320 is equal to or greater than a predetermined value based on the detection value of sensor 330. As a result, whether the flow rate of the chemical liquid discharged from chemical liquid nozzle 31 is equal to or greater than a predetermined value is confirmed based on the detection value of flow meter 32m.
[0084] If the flow rate of the fluid passing through valve 320 is equal to or greater than the predetermined value, PLC 230 sends a third response R3 to sub-computer 120, indicating that the flow rate of the fluid passing through valve 320 is equal to or greater than the predetermined value. When sub-computer 120 receives third response R3, sub-computer 120 drives electric motor 310 to open valve 320, and sends a comprehensive response RA to main computer 110 indicating that it has confirmed that the flow rate of the fluid passing through valve 320 is equal to or greater than the predetermined value. In this way, each control step included in the sequence program is performed sequentially in a predetermined order.
[0085] Next, the effects of this embodiment will be described.
[0086] In this embodiment, the computer 100 executes a sequence program, which causes the PLC 200 to control the control target 300. In other words, the computer 100 controls the PLC 200 according to the sequence program, and the PLC 200 controls the control target 300 according to the sequence program. Therefore, it is not necessary to configure the computer 100 to enable communication between the computer 100 and the control target 300. Furthermore, the sequence program is stored in the computer 100. If the sequence program is stored in the PLC 200, it is necessary to manage the sequence program through the PLC 200. If the sequence program is stored in the computer 100, this is not necessary. In particular, if multiple PLCs 200 are connected to one computer 100, multiple sequence programs can be consolidated into the computer 100, which reduces the burden of managing the sequence program compared to when each PLC 200 stores a sequence program.
[0087] In this embodiment, the PLC 200 does not store a sequence program. In other words, the PLC 200 stores a program for communicating with the control target 300, but does not store a sequence program such as a ladder diagram. If a sequence program were stored in the PLC 200, it would be necessary to manage the sequence program through the PLC 200. This reduces the burden of managing the sequence program.
[0088] In this embodiment, the main computer 110 executes a sequence program. In response, the multiple sub-computers 120 execute multiple sub-sequence programs, causing the multiple PLCs 200 to control multiple control targets 300. This reduces the burden on the main computer 110 compared to when the main computer 110 executes both a sequence program and a sub-sequence program. This makes it possible to execute high-load control of multiple control targets 300 simultaneously.
[0089] In this embodiment, when a trigger such as a sequence creation instruction occurs, the computer 100 creates a sequence program by executing the sequence creation application 141. The computer 100 executes the sequence program created by executing the sequence creation application 141, thereby causing the PLC 200 to control the control target 300. In this way, the sequence program to be executed by the computer 100 is automatically created by the computer 100, thereby reducing the burden on the user of creating the sequence program.
[0090] In this embodiment, when the computer 100 executes a sequence program, the multiple processing units 2 and the multiple control targets 300 provided in the transport system TS are controlled by at least one PLC 200. As a result, the transport system TS transports the substrate W to the processing unit 2, and the processing unit 2 processes the substrate W. Because there are not only multiple processing units 2 but also the transport system TS, which has functions different from the processing units 2, the number and types of control targets 300 tend to increase. Connecting such multiple control targets 300 to the computer 100 without the PLC 200 can require a significant burden to establish and maintain communication between the computer 100 and the control targets 300. For example, if the OS installed on the computer 100 is updated or upgraded, the settings may need to be redone. Therefore, by having the computer 100 control the control targets 300 via the PLC 200, this burden can be reduced.
[0091] In this embodiment, when the computer 100 executes a sequence program, the plurality of processing units 2 perform different processes on the substrate W. In this case, the number of types of control targets 300 provided in the plurality of processing units 2 is likely to increase. When the control targets 300 are connected to the computer 100 without the PLC 200, the greater the number of types of control targets 300, the greater the burden required to establish communication between the computer 100 and the control targets 300 and to maintain and manage that communication. By controlling the control targets 300 by the computer 100 via the PLC 200, this burden can be reduced.
[0092] Next, another embodiment will be described.
[0093] As long as at least one control target 300 is connected to the computer 100 via the PLC 200, there may be a control target 300 connected to the computer 100 without going through the PLC 200.
[0094] As long as computer 100 controls control target 300 via PLC 200 in accordance with a sequence program stored in computer 100, PLC 200 may store a sequence program whose contents are the same as or different from those of the sequence program stored in computer 100.
[0095] Any two or more of the above-described configurations may be combined. Any two or more of the above-described steps may be combined.
[0096] Although the embodiments of the present invention have been described in detail, these are merely examples used to clarify the technical contents of the present invention, and the present invention should not be construed as being limited to these examples. The spirit and scope of the present invention are limited only by the appended claims. [Explanation of symbols]
[0097] 1: substrate processing apparatus, 2: processing unit, 2b: bonding unit, 2c: cleaning unit, 3: control device, 31: chemical nozzle, 32a: nozzle actuator, 32m: flow meter, 100: computer, 110: main computer, 120: sub-computer, 141: sequence creation application, 142: program parts, 143: log analysis application, 144: log, 150: HMI, 200: PLC, 210: PLC, 220: PLC, 230 : PLC, 300: Controlled object, 310: Electric motor, 320: Valve, 330: Sensor, CS: Control system, HC: Host computer, i1: First instruction, i2: Second instruction, i3: Third instruction, iA: Comprehensive instruction, NA: Upper network, NA1: First upper network, NA2: Second upper network, NB: Lower network, R1: First response, R2: Second response, R3: Third response, RA: Comprehensive response, TR: Transfer robot, TS: Transfer system, W: Board
Claims
1. At least one PLC (Programmable Logic Controller) that controls at least one control target; a control system comprising: at least one computer that stores a sequence program and executes the sequence program to cause the at least one PLC to control the at least one controlled object;
2. The control system according to claim 1 , wherein the at least one PLC does not store the sequence program.
3. the at least one PLC is a plurality of PLCs that control a plurality of control objects, 3. The control system according to claim 1, wherein the at least one computer includes: a main computer that stores the sequence program and executes the sequence program; and a plurality of sub-computers that store a plurality of sub-sequence programs and execute the plurality of sub-sequence programs when the main computer executes the sequence program, thereby causing the plurality of PLCs to control the plurality of control objects.
4. 3. The control system according to claim 1, wherein the at least one computer stores a sequence creation application for creating the sequence program.
5. a plurality of processing units for processing substrates; a transfer system that transfers the substrate to the plurality of processing units; at least one PLC that controls a plurality of control targets provided in the plurality of processing units and the transport system; a sequence program stored in the computer, the sequence program executing the sequence program to cause the at least one PLC to control the plurality of control targets;
6. The substrate processing apparatus according to claim 5 , wherein the plurality of processing units include two or more processing units that perform different processes on the substrate.
Citation Information
Patent Citations
Control system, analyzing method and program
JP2021026309A