JP5847515B2 - Schedule creation method and schedule creation program for substrate processing apparatus - Google Patents
Schedule creation method and schedule creation program for substrate processing apparatus Download PDFInfo
- Publication number
- JP5847515B2 JP5847515B2 JP2011211449A JP2011211449A JP5847515B2 JP 5847515 B2 JP5847515 B2 JP 5847515B2 JP 2011211449 A JP2011211449 A JP 2011211449A JP 2011211449 A JP2011211449 A JP 2011211449A JP 5847515 B2 JP5847515 B2 JP 5847515B2
- Authority
- JP
- Japan
- Prior art keywords
- substrate
- processing
- scheduling
- process job
- job number
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 1416
- 239000000758 substrate Substances 0.000 title claims description 1397
- 238000000034 method Methods 0.000 title claims description 940
- 230000008569 process Effects 0.000 claims description 902
- 238000012546 transfer Methods 0.000 claims description 68
- 238000004590 computer program Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 description 408
- 101000702132 Homo sapiens Protein spinster homolog 1 Proteins 0.000 description 220
- 101000629319 Homo sapiens Spindlin-1 Proteins 0.000 description 220
- 102100027005 Spindlin-1 Human genes 0.000 description 220
- 101000629413 Homo sapiens Spindlin-4 Proteins 0.000 description 192
- 102100026815 Spindlin-4 Human genes 0.000 description 192
- 101000828807 Homo sapiens Spindlin-2A Proteins 0.000 description 171
- 102100023505 Spindlin-2A Human genes 0.000 description 171
- 101000629410 Homo sapiens Spindlin-3 Proteins 0.000 description 143
- 102100026814 Spindlin-3 Human genes 0.000 description 143
- 230000032258 transport Effects 0.000 description 38
- 230000004044 response Effects 0.000 description 18
- 235000012431 wafers Nutrition 0.000 description 16
- 230000007246 mechanism Effects 0.000 description 12
- 239000007788 liquid Substances 0.000 description 8
- 238000004140 cleaning Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003028 elevating effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 239000000919 ceramic Substances 0.000 description 1
- 238000012993 chemical processing Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001035 drying Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Landscapes
- Cleaning Or Drying Semiconductors (AREA)
Description
この発明は、基板処理装置の動作を時系列に従って規定するスケジュールを作成するための方法およびプログラムに関する。基板処理装置による処理対象となる基板の例には、半導体ウエハ、液晶表示装置用基板、プラズマディスプレイ用基板、FED(Field Emission Display)用基板、光ディスク用基板、磁気ディスク用基板、光磁気ディスク用基板、フォトマスク用基板、セラミック基板、太陽電池用基板などが含まれる。 The present invention relates to a method and a program for creating a schedule for defining operations of a substrate processing apparatus according to a time series. Examples of substrates to be processed by the substrate processing apparatus include semiconductor wafers, liquid crystal display substrates, plasma display substrates, FED (Field Emission Display) substrates, optical disk substrates, magnetic disk substrates, and magneto-optical disks. Substrates, photomask substrates, ceramic substrates, solar cell substrates and the like are included.
特許文献1および特許文献2は、基板処理装置に備えられたリソースの使用タイミングを決定するためのスケジュール作成を開示している。具体的には、複数枚の基板で構成されるロットを一括して処理するバッチ式の基板処理装置において、搬送機構、薬液処理部、純水洗浄処理部、乾燥処理部等のリソースの使用タイミングを規定するスケジュールを作成するための技術が開示されている。基板処理装置に備えられた制御部は、作成されたスケジュールに従って各リソースを作動させる。これにより、ロット毎の基板に対する処理が効率良く行われ、基板処理装置の生産性が高まる。 Patent Documents 1 and 2 disclose creation of a schedule for determining the use timing of resources provided in the substrate processing apparatus. Specifically, in batch-type substrate processing apparatuses that batch process a lot consisting of a plurality of substrates, the use timing of resources such as a transport mechanism, a chemical processing unit, a pure water cleaning processing unit, and a drying processing unit A technique for creating a schedule that prescribes the above is disclosed. A control unit provided in the substrate processing apparatus operates each resource according to the created schedule. Thereby, the process with respect to the board | substrate for every lot is performed efficiently, and the productivity of a substrate processing apparatus increases.
基板に対する処理(たとえば洗浄処理)をより精密に行うために、基板を一枚ずつ処理する枚葉型の基板処理装置が用いられるようになってきている。しかし、特許文献1,2に係る先行技術は、いずれもバッチ式の基板処理装置に適したものであり、枚葉型の基板処理装置にそのまま適用しても、必ずしも効率的な基板処理を実現できるとは限らない。
そこで、この発明の目的は、枚葉型の基板処理装置に適したスケジュール作成方法およびスケジュール作成プログラムを提供することである。
In order to perform processing (for example, cleaning processing) on a substrate more precisely, single-wafer type substrate processing apparatuses that process substrates one by one have been used. However, the prior arts disclosed in Patent Documents 1 and 2 are both suitable for batch-type substrate processing apparatuses, and even when applied directly to a single-wafer type substrate processing apparatus, efficient substrate processing is not necessarily realized. It is not always possible.
SUMMARY OF THE INVENTION An object of the present invention is to provide a schedule creation method and a schedule creation program suitable for a single wafer type substrate processing apparatus.
上記の目的を達成するための請求項1記載の発明は、基板を一枚ずつ処理する枚葉型の処理ユニットを複数有する基板処理装置の動作を時系列に従って規定するスケジュールを前記基板処理装置に備えられた制御部が作成するための方法であって、前記制御部が、共通の処理を施すべき第1の基板群であって前記複数の処理ユニットのうちの第1の処理ユニット群において処理可能な第1の基板群に対して前記第1の処理ユニット群に属する処理ユニットの使用権を設定する第1使用権設定ステップと、前記制御部が、前記第1の処理ユニット群に属する処理ユニットの使用権が前記第1の基板群に対して設定されているときに、当該第1の基板群の基板の前記第1の処理ユニット群に属する処理ユニットによる処理を表す第1処理ブロックの配置を許容する一方で、他の基板群の基板の前記第1の処理ユニット群に属する処理ユニットによる処理を表す処理ブロックの配置を禁止する第1処理ブロック配置ステップと、前記制御部が、前記第1の基板群に対する前記第1の処理ユニット群に属する処理ユニットの使用権を削除するステップと、前記制御部が、共通の処理を施すべき第2の基板群であって前記複数の処理ユニットのうち前記第1の処理ユニット群に属する少なくとも一つの処理ユニットを含む第2の処理ユニット群において処理可能な第2の基板群に対する処理の計画に際して、前記第2の処理ユニット群に属するいずれの処理ユニットにも使用権が設定されていないことを条件に、前記第2の基板群に対して前記第2の処理ユニット群に属する処理ユニットの使用権を設定する第2使用権設定ステップと、前記制御部が、前記第2の処理ユニット群に属する処理ユニットの使用権が前記第2の基板群に対して設定されているときに、当該第2の基板群の基板の前記第2の処理ユニット群に属する処理ユニットによる処理を表す第2処理ブロックの配置を許容する一方で、他の基板群の基板の前記第2の処理ユニット群に属する処理ユニットによる処理を表す処理ブロックの配置を禁止する第2処理ブロック配置ステップとを含む、スケジュール作成方法である。 In order to achieve the above object, according to the first aspect of the present invention, the substrate processing apparatus has a schedule for defining the operation of the substrate processing apparatus having a plurality of single-wafer processing units for processing the substrates one by one in time series. A method for creating a control unit provided, wherein the control unit is a first substrate group to be subjected to a common process and is processed in a first processing unit group of the plurality of processing units. A first usage right setting step for setting a usage right of a processing unit belonging to the first processing unit group for a possible first substrate group; and a process in which the control unit belongs to the first processing unit group. when the right of use of the unit is set for the first substrate group, the first processing block showing the processing by the processing units belonging to the first processing unit group of the substrate of the first substrate group While allowing placement, a first processing block arrangement step that prohibits the placement of processing blocks that represent processing by the processing units belonging to the first processing unit group of a substrate other board group, the control section, the a step of deleting the right to use the processing units belonging to the first processing unit group with respect to the first substrate group, the control section, the processing of the plurality and a second substrate group to be subjected to processing in common When planning a process for a second substrate group that can be processed in a second processing unit group including at least one processing unit belonging to the first processing unit group among the units, any of the units belonging to the second processing unit group on condition that also use right to the processing unit is not set, used processing units belonging to the second processing unit group with respect to the second substrate group A second usage right setting step of setting a right, when the control unit, the right of use of the processing units belonging to the second processing unit group is set for the second substrate group, the first while allowing the arrangement of the second processing block showing the processing by the belonging processing unit to the of the second substrate group board second processing unit group, belonging to the second processing unit group of a substrate other substrate group And a second processing block placement step for prohibiting the placement of processing blocks representing processing by the processing unit.
この方法によれば、共通の処理を施すべき第1の基板群に対して第1の処理ユニット群に属する処理ユニットの使用権が設定される。この使用権が設定されているときには、その処理ユニットによる処理を表す処理ブロックとしては、第1の基板群に属する基板に対する処理を表す第1処理ブロックのみが配置可能となり、他の基板群に属する基板に対する処理を表す処理ブロックの配置は禁止される。したがって、当該処理ユニットにおいては、第1の基板群の処理の間に、他の基板群の処理が割り込まないことを保証できる。また、第1の基板群に対する第1の処理ユニット群に属する処理ユニットの使用権が削除され、第2の処理ユニット群に属するいずれの処理ユニットにも使用権が設定されていない状態になると、別の基板群である第2の基板群に対して当該処理ユニットの使用権が設定される。よって、その処理ユニットによる処理を表す処理ブロックとしては、第2の基板群に属する基板に対する処理を表す第2処理ブロックのみが配置可能となり、他の基板群に属する基板に対する処理を表す処理ブロックの配置は禁止される。したがって、当該処理ユニットにおいて、第2の基板群の処理の間に、他の基板群の処理が割り込まないことを保証できる。こうして、使用権の設定および削除を行うことで、処理が共通する基板群の間に別の処理を行うべき基板が割り込むことを回避できるので、基板処理装置のリソースとしての処理ユニットを効率的に稼働させることができる。これにより、個々の基板に対する処理ブロックを時間軸上に効率的に配置して枚葉型処理ユニット等のリソースの稼働率を高めることができるので、枚葉型基板処理装置の生産性を向上できる。 According to this method, the right to use a processing unit belonging to the first processing unit group is set for the first substrate group to be subjected to common processing. When this right of use is set, only the first processing block representing processing for a substrate belonging to the first substrate group can be arranged as a processing block representing processing by the processing unit, and belongs to another substrate group. Arrangement of processing blocks representing processing on a substrate is prohibited. Therefore, in the processing unit, it can be ensured that the processing of the other substrate group is not interrupted during the processing of the first substrate group. Moreover, the right of use of the processing units belonging to the first processing unit group with respect to the first substrate group is removed, that Do ready to be used right in any of the processing units belonging to the second processing unit group is not set Then, the right to use the processing unit is set for the second substrate group which is another substrate group. Therefore, as a processing block representing processing by the processing unit, only a second processing block representing processing for a substrate belonging to the second substrate group can be arranged, and a processing block representing processing for a substrate belonging to another substrate group. Placement is prohibited. Therefore, in the processing unit, it can be guaranteed that the processing of the other substrate group is not interrupted during the processing of the second substrate group. Thus, by setting and deleting the usage right, it is possible to avoid that a substrate to be subjected to another processing is interrupted between a group of substrates having a common processing, so that a processing unit as a resource of the substrate processing apparatus can be efficiently used. Can be operated. As a result, it is possible to efficiently arrange processing blocks for individual substrates on the time axis and increase the operating rate of resources such as a single wafer processing unit, thereby improving the productivity of the single substrate processing apparatus. .
請求項2記載の発明は、前記第1の基板群に対する前記処理ユニットの使用権を削除するステップが、前記第1の基板群に属する全ての基板に対するスケジューリングの完了直後に実行される、請求項1に記載のスケジュール作成方法である。
この方法では、第1の基板群に対する処理ユニットの使用権の削除が、当該第1の基板群に属する全ての基板に対するスケジューリングの完了直後に実行されるから、第1の基板群に属する基板に関する処理開始を待つことなく、第2の基板群に対して処理ユニットの使用権を設定できる。これにより、第2の基板群に属する基板に対する処理ブロックを速やかに配置できるので、効率的な処理ブロック配置が可能となるので、枚葉型処理ユニットの稼働率を一層高めることができる。スケジューリングの完了直後とは、具体的には、第1の基板群の最後の基板が処理のために搬送開始(たとえば基板収容器から搬出)されるよりも前であってもよい。
According to a second aspect of the present invention, the step of deleting the right to use the processing unit for the first substrate group is executed immediately after completion of scheduling for all the substrates belonging to the first substrate group. 1. A schedule creation method according to 1.
In this method, since the deletion of the right to use the processing unit for the first substrate group is executed immediately after the completion of scheduling for all the substrates belonging to the first substrate group, it relates to the substrates belonging to the first substrate group. The right to use the processing unit can be set for the second substrate group without waiting for the start of processing. As a result, the processing blocks for the substrates belonging to the second substrate group can be quickly arranged, so that efficient processing block arrangement is possible, and the operating rate of the single wafer processing unit can be further increased. Specifically, the time immediately after the completion of scheduling may be before the last substrate of the first substrate group is transferred (for example, unloaded from the substrate container) for processing.
請求項3記載の発明は、前記制御部が、共通の処理を施すべき第3の基板群であって前記複数の処理ユニットのうち前記第1の処理ユニット群に属する処理ユニットを含まない第3の処理ユニット群において処理可能な第3の基板群に対する処理の計画に際して、前記第3の処理ユニット群に属するいずれの処理ユニットにも使用権が設定されていないことを条件に、前記第3の基板群に対して前記第3の処理ユニット群に属する処理ユニットの使用権を設定する第3使用権設定ステップと、前記制御部が、前記第3の処理ユニット群に属する処理ユニットの使用権が前記第3の基板群に対して設定されているときに、当該第3の基板群の基板の前記第3の処理ユニット群に属する処理ユニットによる処理を表す第3処理ブロックの配置を許容する一方で、他の基板群の基板の前記第3の処理ユニット群に属する処理ユニットによる処理を表す処理ブロックの配置を禁止する第3処理ブロック配置ステップとをさらに含む、請求項1または2に記載のスケジュール作成方法である。 According to a third aspect of the present invention, the control unit includes a third substrate group to be subjected to a common process and does not include a processing unit belonging to the first processing unit group among the plurality of processing units. In the processing plan for the third substrate group that can be processed in the processing unit group, the right to use is not set for any processing unit belonging to the third processing unit group. A third usage right setting step for setting a usage right of the processing unit belonging to the third processing unit group for the substrate group; and the control unit has a usage right of the processing unit belonging to the third processing unit group. When set for the third substrate group, the arrangement of the third processing block representing the processing by the processing unit belonging to the third processing unit group of the substrate of the third substrate group is permitted. On the other hand, the method further comprises a third processing block disposing step for prohibiting disposition of processing blocks representing processing by processing units belonging to the third processing unit group of substrates of another substrate group. It is a schedule creation method described .
請求項4記載の発明は、前記基板処理装置が、複数枚の基板をそれぞれ保持して同時に搬送できる複数の基板保持ハンドを有する基板搬送ユニットを含み、前記制御部が、前記基板搬送ユニットによって同時に搬送される複数枚の基板の搬送をそれぞれ表す複数の搬送ブロックを時間軸上で重なり合うように配置するステップをさらに含む、請求項1〜3のいずれか一項に記載のスケジュール作成方法である。 According to a fourth aspect of the present invention, the substrate processing apparatus includes a substrate transport unit having a plurality of substrate holding hands capable of simultaneously holding and transporting a plurality of substrates, and the controller is simultaneously controlled by the substrate transport unit. further comprising the step of disposing so as to overlap a plurality of transport blocks respectively representing the transfer of a plurality of substrates that are transported on the time axis, a scheduling method according to any one of claims 1-3.
この方法では、基板搬送ユニットは、同時に複数枚の基板を搬送できる。そこで、複数枚の基板の搬送を表す複数の搬送ブロックを時間軸上で重なり合うように配置することで、複数枚の基板の同時搬送を計画することができる。こうして、枚葉型基板処理装置における基板搬送効率を高めることができるので、基板処理装置の生産性を高めることができる。 In this method, the substrate transport unit can transport a plurality of substrates simultaneously. Therefore, simultaneous transportation of a plurality of substrates can be planned by arranging a plurality of transportation blocks representing transportation of a plurality of substrates so as to overlap on the time axis. Thus, since the substrate transfer efficiency in the single wafer processing apparatus can be increased, the productivity of the substrate processing apparatus can be increased.
請求項5記載の発明は、基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを作成するためのコンピュータプログラムであって、請求項1〜4のいずれか一項に記載の方法を前記制御部としてのコンピュータに実行させるようにステップ群が組み込まれたコンピュータプログラムである。
この発明により、スケジュール作成方法に関して説明した前述の効果を得ることができる。
The invention according to claim 5 is a computer program for creating a schedule for defining the operation of a substrate processing apparatus having a single wafer processing unit for processing substrates one by one in time series. 5. A computer program in which steps are incorporated so as to cause a computer as the control unit to execute the method according to claim 4 .
According to the present invention, the above-described effects described with respect to the schedule creation method can be obtained.
以下では、この発明の実施の形態を、添付図面を参照して詳細に説明する。
図1は、この発明の一実施形態に係る基板処理装置のレイアウトを示す図解的な平面図であり、図2はその図解的な側面図である。この基板処理装置は、インデクサセクション1と、処理セクション2とを含む。処理セクション2は、インデクサセクション1との間で基板Wを受け渡しするための受け渡しユニットPASSを備えている。インデクサセクション1は、未処理の基板Wを受け渡しユニットPASSに渡し、受け渡しユニットPASSから処理済みの基板Wを受け取る。処理セクション2は、受け渡しユニットPASSから未処理の基板Wを受け取って、その基板Wに対して、処理剤(処理液または処理ガス)を用いた処理、紫外線等の電磁波を用いた処理、物理洗浄処理(ブラシ洗浄、スプレーノズル洗浄等)などの各種の処理を施す。そして、処理セクション2は、処理後の基板Wを受け渡しユニットPASSに渡す。
Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
FIG. 1 is a schematic plan view showing a layout of a substrate processing apparatus according to an embodiment of the present invention, and FIG. 2 is a schematic side view thereof. The substrate processing apparatus includes an indexer section 1 and a processing section 2. The processing section 2 includes a delivery unit PASS for delivering the substrate W to and from the indexer section 1. The indexer section 1 delivers the unprocessed substrate W to the delivery unit PASS and receives the processed substrate W from the delivery unit PASS. The processing section 2 receives an unprocessed substrate W from the delivery unit PASS, and processes the substrate W using a processing agent (processing liquid or processing gas), processing using electromagnetic waves such as ultraviolet rays, and physical cleaning. Various processing such as processing (brush cleaning, spray nozzle cleaning, etc.) is performed. Then, the processing section 2 delivers the processed substrate W to the delivery unit PASS.
インデクサセクション1は、複数のステージST1〜ST4と、インデクサロボットIRとを含む。
ステージST1〜ST4は、複数枚の基板W(たとえば半導体ウエハ)を積層状態で収容した基板収容器Cをそれぞれ保持することができる基板収容器保持部である。基板収容器Cは、基板Wを密閉した状態で収納するFOUP(Front Opening Unified Pod)であってもよいし、SMIF(Standard Mechanical Inter Face)ポッド、OC(Open Cassette)等であってもよい。たとえば、基板収容器CをステージST1〜ST4に載置したとき、基板収容器Cでは、水平姿勢の複数枚の基板Wが互いに間隔を開けて鉛直方向に積層された状態となる。
The indexer section 1 includes a plurality of stages ST1 to ST4 and an indexer robot IR.
Stages ST <b> 1 to ST <b> 4 are substrate container holders that can respectively hold a substrate container C that houses a plurality of substrates W (for example, semiconductor wafers) in a stacked state. The substrate container C may be a FOUP (Front Opening Unified Pod) that stores the substrate W in a sealed state, a SMIF (Standard Mechanical Inter Face) pod, an OC (Open Cassette), or the like. For example, when the substrate container C is placed on the stages ST <b> 1 to ST <b> 4, the substrate container C is in a state where a plurality of horizontal substrates W are stacked in the vertical direction with a space between each other.
インデクサロボットIRは、たとえば、基台部6と、多関節アーム7と、一対のハンド8A,8Bとを含む。基台部6は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム7は、水平面に沿って回動可能な複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム7の基端部は、基台部6に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム7は、基台部6に対して昇降可能に結合されている。換言すれば、基台部6には、多関節アーム7を昇降させるための昇降駆動機構、多関節アーム7を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム7には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム7の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド8A,8Bが結合されている。多関節アーム7には、ハンド8A,8Bを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド8A,8Bを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド8A,8Bは、たとえば、1枚の基板Wをそれぞれ保持できるように構成されている。なお、ハンド8A,8Bは上下に重なった状態で配置されていてもよいが、図1では、明瞭化のために、ハンド8A,8Bを紙面に平行な方向(水平方向)にずらして描いてある。 The indexer robot IR includes, for example, a base unit 6, a multi-joint arm 7, and a pair of hands 8A and 8B. The base unit 6 is fixed to the frame of the substrate processing apparatus, for example. The multi-joint arm 7 is configured by mutually connecting a plurality of arm portions that can rotate along a horizontal plane, and the angle between the arm portions is changed at a joint portion where the arm portions are connected. By doing so, it is configured to bend and stretch. The base end portion of the articulated arm 7 is coupled to the base portion 6 so as to be able to rotate around the vertical axis. Further, the articulated arm 7 is coupled to the base portion 6 so as to be movable up and down. In other words, the base unit 6 incorporates an elevating drive mechanism for elevating the articulated arm 7 and a rotation drive mechanism for rotating the articulated arm 7 about the vertical axis. The articulated arm 7 is provided with an individual rotation drive mechanism for independently rotating each arm portion. Hands 8A and 8B are coupled to the tip of the articulated arm 7 so that individual rotation about the vertical axis and individual advance and retreat in the horizontal direction are possible. The articulated arm 7 includes a hand rotation drive mechanism for individually rotating the hands 8A and 8B around the vertical axis, and a hand advancing and retracting mechanism for individually moving the hands 8A and 8B in the horizontal direction. It has been. The hands 8A and 8B are configured to hold, for example, one substrate W, respectively. The hands 8A and 8B may be arranged so as to overlap each other. However, for the sake of clarity, the hands 8A and 8B are drawn in a direction parallel to the paper surface (horizontal direction) in FIG. is there.
この構成により、インデクサロボットIRは、いずれかのステージST1〜ST4に保持された基板収容器Cから一枚の未処理基板Wをハンド8Aで搬出して受け渡しユニットPASSに渡すように動作する。さらに、インデクサロボットIRは、受け渡しユニットPASSから一枚の処理済み基板Wをハンド8Bで受け取って、いずれかのステージST1〜ST4に保持された基板収容器Cに収容するように動作する。 With this configuration, the indexer robot IR operates to unload a single unprocessed substrate W from the substrate container C held on any of the stages ST1 to ST4 by the hand 8A and pass it to the delivery unit PASS. Further, the indexer robot IR operates to receive one processed substrate W from the delivery unit PASS with the hand 8B and store it in the substrate container C held in any of the stages ST1 to ST4.
処理セクション2は、複数(この実施形態では12個)の処理ユニットSPIN1〜SPIN12と、主搬送ロボットCRと、前述の受け渡しユニットPASSとを含む。
処理ユニットSPIN1〜SPIN12は、この実施形態では、立体的に配置されている。より具体的には、三階建て構造をなすように複数の処理ユニットSPIN1〜SPIN12が配置されており、各階部分に4つの処理ユニットが配置されている。すなわち、一階部分に4つの処理ユニットSPIN1,SPIN4,SPIN7,SPIN10が配置され、二階部分に別の4つの処理ユニットSPIN2,SPIN5,SPIN8,SPIN11が配置され、三階部分にさらに別の処理ユニットSPIN3,SPIN6,SPIN9,SPIN12が配置されている。さらに具体的には、平面視において処理セクション2の中央に主搬送ロボットCRが配置されており、この主搬送ロボットCRとインデクサロボットIRとの間に受け渡しユニットPASSが配置されている。受け渡しユニットPASSを挟んで対向するように、3つの処理ユニットSPIN1〜SPIN3を積層した第1処理ユニット群G1と、別の3つの処理ユニットSPIN4〜SPIN6を積層した第2処理ユニット群G2とが配置されている。そして、第1処理ユニット群G1に対してインデクサロボットIRから遠い側に隣接するように、3つの処理ユニットSPIN7〜SPIN9を積層した第3処理ユニット群G3が配置されている。同様に、第2処理ユニット群G2に対してインデクサロボットIRから遠い側に隣接するように、3つの処理ユニットSPIN10〜SPIN12を積層した第4処理ユニット群G4が配置されている。第1〜第4処理ユニット群G1〜G4によって、主搬送ロボットCRが取り囲まれている。
The processing section 2 includes a plurality (12 in this embodiment) of processing units SPIN1 to SPIN12, the main transfer robot CR, and the above-described delivery unit PASS.
The processing units SPIN1 to SPIN12 are three-dimensionally arranged in this embodiment. More specifically, a plurality of processing units SPIN1 to SPIN12 are arranged so as to form a three-story structure, and four processing units are arranged on each floor portion. That is, four processing units SPIN1, SPIN4, SPIN7, and SPIN10 are arranged on the first floor portion, another four processing units SPIN2, SPIN5, SPIN8, and SPIN11 are arranged on the second floor portion, and another processing unit is arranged on the third floor portion. SPIN3, SPIN6, SPIN9, and SPIN12 are arranged. More specifically, the main transfer robot CR is arranged at the center of the processing section 2 in plan view, and the transfer unit PASS is arranged between the main transfer robot CR and the indexer robot IR. A first processing unit group G1 in which three processing units SPIN1 to SPIN3 are stacked and a second processing unit group G2 in which other three processing units SPIN4 to SPIN6 are stacked are arranged so as to face each other across the delivery unit PASS. Has been. A third processing unit group G3 in which three processing units SPIN7 to SPIN9 are stacked is arranged so as to be adjacent to the first processing unit group G1 on the side far from the indexer robot IR. Similarly, a fourth processing unit group G4 in which three processing units SPIN10 to SPIN12 are stacked is arranged so as to be adjacent to the second processing unit group G2 on the side far from the indexer robot IR. The main transfer robot CR is surrounded by the first to fourth processing unit groups G1 to G4.
主搬送ロボットCRは、たとえば、基台部11と、多関節アーム12と、一対のハンド13A,13Bとを含む。基台部11は、たとえば、当該基板処理装置のフレームに固定されている。多関節アーム12は、水平面に沿って延びた複数本のアーム部を互いに回動可能に結合して構成されており、アーム部の結合箇所である関節部でアーム部間の角度を変更することによって、屈伸するように構成されている。多関節アーム12の基端部は基台部11に対して、鉛直軸線回りの回動が可能であるように結合されている。さらに、多関節アーム12は、基台部11に対して昇降可能に結合されている。換言すれば、基台部11には、多関節アーム12を昇降させるための昇降駆動機構、多関節アーム12を鉛直軸線回りに回動させるための回動駆動機構が内蔵されている。また、多関節アーム12には、各アーム部を独立して回動させるための個別回動駆動機構が備えられている。多関節アーム12の先端部に、鉛直軸線回りの個別回動および水平方向への個別進退が可能であるように、ハンド13A,13Bが結合されている。多関節アーム12には、ハンド13A,13Bを鉛直軸線回りに個別に回動させるためのハンド回動駆動機構と、ハンド13A,13Bを水平方向に個別に進退させるためのハンド進退機構とが備えられている。ハンド13A,13Bは、たとえば、1枚の基板Wをそれぞれ保持できるように構成されている。なお、ハンド13A,13Bは上下に重なった状態で配置されていてもよいが、図1では、明瞭化のために、ハンド13A,13Bを紙面に平行な方向(水平方向)にずらして描いてある。 The main transfer robot CR includes, for example, a base part 11, an articulated arm 12, and a pair of hands 13A and 13B. The base unit 11 is fixed to the frame of the substrate processing apparatus, for example. The multi-joint arm 12 is configured such that a plurality of arm portions extending along a horizontal plane are rotatably coupled to each other, and an angle between the arm portions is changed at a joint portion which is a joint portion of the arm portions. Is configured to bend and stretch. The base end portion of the articulated arm 12 is coupled to the base portion 11 so as to be able to rotate around the vertical axis. Further, the articulated arm 12 is coupled to the base 11 so as to be movable up and down. In other words, the base 11 includes a lift drive mechanism for lifting the articulated arm 12 and a rotation drive mechanism for rotating the articulated arm 12 about the vertical axis. Further, the multi-joint arm 12 is provided with an individual rotation drive mechanism for independently rotating each arm portion. Hands 13 </ b> A and 13 </ b> B are coupled to the distal end portion of the articulated arm 12 so that individual rotation about the vertical axis and individual advance and retreat in the horizontal direction are possible. The articulated arm 12 includes a hand rotation drive mechanism for individually rotating the hands 13A and 13B around the vertical axis, and a hand advance / retreat mechanism for individually moving the hands 13A and 13B in the horizontal direction. It has been. The hands 13A and 13B are configured to hold, for example, one substrate W, respectively. The hands 13A and 13B may be arranged so as to overlap each other. However, in FIG. 1, the hands 13A and 13B are drawn while being shifted in a direction parallel to the paper surface (horizontal direction) for the sake of clarity. is there.
この構成により、主搬送ロボットCRは、受け渡しユニットPASSから未処理の一枚の基板Wをハンド13Aで受け取り、その未処理の基板Wをいずれかの処理ユニットSPIN1〜SPIN12に搬入する。また、主搬送ロボットCRは、処理ユニットSPIN1〜SPIN12で処理された処理済みの基板Wをハンド13Bで受け取り、その基板Wを受け渡しユニットPASSに渡す。 With this configuration, the main transport robot CR receives an unprocessed substrate W from the delivery unit PASS with the hand 13A, and carries the unprocessed substrate W into any of the processing units SPIN1 to SPIN12. Further, the main transport robot CR receives the processed substrate W processed by the processing units SPIN1 to SPIN12 by the hand 13B and transfers the substrate W to the transfer unit PASS.
処理ユニットSPIN1〜SPIN12は、基板Wを1枚ずつ処理する枚葉型の処理ユニットである。処理ユニットSPIN1〜SPIN12は、たとえば、1枚の基板Wを水平姿勢で保持して回転させるスピンチャック15と、スピンチャック15に対して処理液(薬液またはリンス液)を供給する処理液ノズル16とを処理室17(チャンバ)内に備えた、回転液処理ユニットであってもよい。図2では、処理ユニットSPIN3についてのみ、その内部構成を示し、他の処理ユニットの内部構成の図示を省いてある。 The processing units SPIN1 to SPIN12 are single wafer processing units that process the substrates W one by one. The processing units SPIN1 to SPIN12 include, for example, a spin chuck 15 that holds and rotates a single substrate W in a horizontal posture, and a processing liquid nozzle 16 that supplies a processing liquid (chemical liquid or rinsing liquid) to the spin chuck 15. May be a rotating liquid processing unit provided in the processing chamber 17 (chamber). In FIG. 2, only the processing unit SPIN3 is shown as its internal configuration, and the internal configuration of other processing units is not shown.
図3は、前記基板処理装置の電気的構成を説明するためのブロック図である。基板処理装置は、処理ユニットSPIN1〜SPIN12、主搬送ロボットCRおよびインデクサロボットを制御するコンピュータ20を備えている。コンピュータ20は、パーソナルコンピュータ(FAパソコン)の形態を有していてもよく、制御部21と、出入力部22と、記憶部23とを備えている。制御部21は、CPU等の演算ユニットを含む。出入力部22は、表示ユニット等の出力機器と、キーボード、ポインティングデバイス、タッチパネル等の入力機器とを含む。さらに、出入力部22は、ホストコンピュータ24との通信のための通信モジュールを含む。記憶部23は、固体メモリデバイス、ハードディスクドライブ等の記憶装置を含む。 FIG. 3 is a block diagram for explaining an electrical configuration of the substrate processing apparatus. The substrate processing apparatus includes a computer 20 that controls the processing units SPIN1 to SPIN12, the main transfer robot CR, and the indexer robot. The computer 20 may have a form of a personal computer (FA personal computer), and includes a control unit 21, an input / output unit 22, and a storage unit 23. The control unit 21 includes an arithmetic unit such as a CPU. The input / output unit 22 includes output devices such as a display unit and input devices such as a keyboard, a pointing device, and a touch panel. Further, the input / output unit 22 includes a communication module for communication with the host computer 24. The storage unit 23 includes a storage device such as a solid-state memory device or a hard disk drive.
制御部21は、スケジューリング機能部25と、処理実行指示部26とを含む。スケジューリング機能部25は、基板Wを基板収容器Cから搬出し、処理ユニットSPIN1〜SPIN12で処理した後、基板収容器Cに収容するために、基板処理装置のリソースを時系列に従って作動させるための計画(スケジュール)を作成する。処理実行指示部26は、スケジューリング機能部25によって作成されたスケジュールに従って、基板処理装置のリソースを作動させる。 The control unit 21 includes a scheduling function unit 25 and a process execution instruction unit 26. The scheduling function unit 25 carries out the resources of the substrate processing apparatus according to time series so that the substrate W is unloaded from the substrate container C, processed by the processing units SPIN1 to SPIN12, and then stored in the substrate container C. Create a plan (schedule). The process execution instruction unit 26 operates the resources of the substrate processing apparatus in accordance with the schedule created by the scheduling function unit 25.
記憶部23は、制御部21が実行するプログラム30と、ホストコンピュータ24から受信した処理内容データ40と、スケジューリング機能部25によって作成されたスケジュールデータ50とを含む各種データ等を記憶するように構成されている。
記憶部23に記憶されたプログラム30は、制御部21をスケジューリング機能部25として作動させるためのスケジュール作成プログラム31と、制御部21を処理実行指示部26として作動させるための処理実行プログラム32とを含む。
The storage unit 23 is configured to store various data including a program 30 executed by the control unit 21, processing content data 40 received from the host computer 24, and schedule data 50 created by the scheduling function unit 25. Has been.
The program 30 stored in the storage unit 23 includes a schedule creation program 31 for operating the control unit 21 as the scheduling function unit 25 and a process execution program 32 for operating the control unit 21 as the process execution instruction unit 26. Including.
処理内容データ40は、各基板Wに付与されたプロセスジョブ番号と、プロセスジョブ番号に対応付けられたレシピとを含む。レシピは、基板処理内容を定義したデータであり、基板処理条件および基板処理手順を含む。より具体的には、並行処理ユニット情報、使用処理液情報、処理時間情報等を含む。並行処理ユニット情報とは、使用可能な処理ユニットを指定する情報であり、指定された処理ユニットによる並行処理が可能であることを表す。換言すれば、指定処理ユニットのうちの一つが使用できないときには、それ以外の指定処理ユニットによる代替が可能であることを表す。「使用できないとき」とは、当該処理ユニットが別の基板Wの処理のために使用中であるとき、当該処理ユニットが故障中であるとき、オペレータが当該処理ユニットで基板Wの処理をさせたくないと考えているとき、などである。プロセスジョブ番号は、共通の処理が行われる1枚または複数枚の基板Wを識別するための識別情報(基板群識別情報)である。すなわち、共通のプロセスジョブ番号が付与された複数枚の基板Wは、当該プロセスジョブ番号に対応付けられたレシピによる共通の処理が施される。ただし、異なるプロセスジョブ番号に対応する基板処理内容(レシピ)が同じである場合もあり得る。たとえば、処理順序(基板収容器Cからの払い出し順序)が連続している複数枚の基板Wに対して共通の処理が施されるとき、それらの複数枚の基板Wに対して共通のプロセスジョブ番号が付与される。 The processing content data 40 includes a process job number assigned to each substrate W and a recipe associated with the process job number. The recipe is data defining the contents of substrate processing, and includes substrate processing conditions and substrate processing procedures. More specifically, it includes parallel processing unit information, used processing liquid information, processing time information, and the like. The parallel processing unit information is information for designating usable processing units, and indicates that parallel processing by the designated processing units is possible. In other words, when one of the designated processing units cannot be used, it indicates that replacement by other designated processing units is possible. “Unusable” means that when the processing unit is in use for processing another substrate W, or when the processing unit is in failure, the operator wants the processing unit to process the substrate W. When you think it is not. The process job number is identification information (substrate group identification information) for identifying one or a plurality of substrates W on which common processing is performed. That is, a plurality of substrates W to which a common process job number is assigned are subjected to a common process using a recipe associated with the process job number. However, the substrate processing contents (recipe) corresponding to different process job numbers may be the same. For example, when a common process is performed on a plurality of substrates W in which the processing order (the order of dispensing from the substrate container C) is continuous, a common process job is performed on the plurality of substrates W. A number is given.
制御部21は、各基板Wに対する処理内容データを取得して、記憶部23に記憶させる。処理内容データの取得および記憶は、各基板Wに対するスケジューリングが実行されるよりも前に行われればよい。たとえば、基板収容器CがステージST1〜ST4に保持された直後に、ホストコンピュータ24から制御部21に当該基板収容器Cに収容された基板Wに対応する処理内容データが与えられてもよい。 The control unit 21 acquires processing content data for each substrate W and stores the processing content data in the storage unit 23. The acquisition and storage of the processing content data may be performed before the scheduling for each substrate W is executed. For example, immediately after the substrate container C is held on the stages ST1 to ST4, processing content data corresponding to the substrate W accommodated in the substrate container C may be given from the host computer 24 to the control unit 21.
図4および図5は、スケジューリング機能部25による処理例(第1の実施形態)を説明するためのフローチャートである。より具体的には、制御部21(コンピュータ20)がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、スケジュール作成プログラム31には、図4および図5に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。 4 and 5 are flowcharts for explaining a processing example (first embodiment) by the scheduling function unit 25. More specifically, a process performed by the control unit 21 (computer 20) executing the schedule creation program 31 is shown. In other words, the schedule creation program 31 includes a group of steps so as to cause the computer to execute the processes shown in FIGS.
ホストコンピュータ24からもしくは出入力部22からオペレータによって基板処理開始の指示が与えられると(ステップS1)、スケジューリング機能部25は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成する(ステップS2)。基板処理開始指示は、基板収容器Cに収容された全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブ番号が付与された基板Wの処理開始を指示するものであってもよい。 When an instruction for starting the substrate processing is given from the host computer 24 or the input / output unit 22 by the operator (step S1), the scheduling function unit 25 displays a temporary time table for all the substrates W to which the substrate processing start instruction is given. Create (step S2). The substrate processing start instruction may be issued for all the substrates W accommodated in the substrate container C as a unit. The substrate processing start instruction may be an instruction to start processing of the substrate W to which one or more process job numbers are assigned.
たとえば、処理内容データにおいて或るプロセスジョブ番号に対応付けられたレシピが、処理ユニットSPIN1〜SPIN4の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、4個の処理ユニットSPIN1〜SPIN4のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ番号が付与された基板Wが処理を受けるときに通る経路は、4通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットSPIN1〜SPIN4のいずれかを通る4個の経路である。そこで、スケジューリング機能部25は、その4個の経路に対応した仮タイムテーブルを作成する。 For example, it is assumed that a recipe associated with a certain process job number in the processing content data specifies parallel processing of the processing units SPIN1 to SPIN4. That is, consider a case where the substrate processing according to the recipe can be executed in any of the four processing units SPIN1 to SPIN4. In this case, there are four paths through which the substrate W to which the process job number is assigned undergoes processing. That is, the paths that can be selected for processing the substrate W are four paths that pass through any one of the processing units SPIN1 to SPIN4. Therefore, the scheduling function unit 25 creates a temporary time table corresponding to the four routes.
処理ユニットSPIN1を通る経路に対応した仮タイムテーブルを図6に示す。この仮タイムテーブルは、インデクサロボットIRによる基板収容器Cからの基板Wの搬出(Get)を表すブロック(搬送ブロックの一例)と、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSへの搬入(Put)を表すブロック(搬送ブロックの一例)と、主搬送ロボットCRによる受け渡しユニットPASSからの当該基板Wの搬出(Get)を表すブロック(搬送ブロックの一例)と、主搬送ロボットCRによる当該基板Wの処理ユニットSPIN1への搬入(Put)を表すブロック(搬送ブロックの一例)と、処理ユニットSPIN1による当該基板Wに対する処理を表す処理ブロックと、主搬送ロボットCRによる処理ユニットSPIN1からの処理済みの基板Wの搬出(Get)を表すブロック(搬送ブロックの一例)と、主搬送ロボットCRによる当該基板Wの受け渡しユニットPASSへの搬入(Put)を表すブロック(搬送ブロックの一例)と、インデクサロボットIRによる当該基板Wの受け渡しユニットPASSからの搬出(Get)を表すブロック(搬送ブロックの一例)と、インデクサロボットIRによる当該基板Wの基板収容器Cへの搬入(Put)を表すブロック(搬送ブロックの一例)とを含む。スケジューリング機能部25は、これらのブロックを時間軸上で重なり合いのないように順番に配置することによって、仮タイムテーブルを作成する。スケジューリング機能部25は、同じ基板Wに対して、処理ユニットSPIN2〜SPIN4をそれぞれ通る経路に対応した同様の仮タイムテーブル(処理ブロックを処理ユニットSPIN2〜SPIN4にそれぞれ配置した仮タイムテーブル)を作成する。こうして、一枚の基板Wに対して合計4経路分の仮タイムテーブルが作成される。 FIG. 6 shows a temporary time table corresponding to the route passing through the processing unit SPIN1. This temporary time table includes a block (an example of a transport block) representing the unloading (Get) of the substrate W from the substrate container C by the indexer robot IR, and the loading (PASS) of the substrate W to the delivery unit PASS by the indexer robot IR. ) Representing a block (an example of a transport block), a block representing an unloading (Get) of the substrate W from the transfer unit PASS by the main transport robot CR (an example of a transport block), and a block representing the substrate W by the main transport robot CR A block (an example of a transport block) representing loading (Put) into the processing unit SPIN1, a processing block representing processing on the substrate W by the processing unit SPIN1, and a substrate W processed from the processing unit SPIN1 by the main transport robot CR Block (Transport) representing unloading (Get) An example of a lock), a block (an example of a transfer block) representing the transfer (Put) of the substrate W to the transfer unit PASS by the main transfer robot CR, and the transfer of the substrate W from the transfer unit PASS by the indexer robot IR ( A block (an example of a transport block) representing Get) and a block (an example of a transport block) representing loading (Put) of the substrate W into the substrate container C by the indexer robot IR. The scheduling function unit 25 creates a temporary time table by arranging these blocks in order so as not to overlap on the time axis. The scheduling function unit 25 creates the same temporary time table (temporary time table in which processing blocks are arranged in the processing units SPIN2 to SPIN4, respectively) corresponding to the paths passing through the processing units SPIN2 to SPIN4, for the same substrate W. . In this way, a temporary time table for a total of four paths is created for one substrate W.
同様の仮タイムテーブルが同じプロセスジョブ番号が付与された基板Wの全てに対応して作成される。たとえば、同じプロセスジョブ番号が付与された基板Wが4枚あれば、合計で16経路(4経路×4枚)分の仮タイムテーブルが作成される。さらに、同時に開始指示されたプロセスジョブが複数個ある場合には、全てのプロセスジョブ番号に関して、同様の処理が行われて仮タイムテーブルが作成される。こうして作成された仮タイムテーブルは、スケジュールデータ50の一部として記憶部23に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉(時間軸上での重なり合い)は考慮されない。 A similar temporary time table is created corresponding to all the substrates W to which the same process job number is assigned. For example, if there are four substrates W to which the same process job number is assigned, a temporary time table for a total of 16 paths (4 paths × 4 sheets) is created. Further, when there are a plurality of process jobs instructed to start at the same time, the same processing is performed for all process job numbers, and a temporary time table is created. The temporary time table created in this way is stored in the storage unit 23 as part of the schedule data 50. In the stage of creating the temporary timetable, interference with the block relating to another substrate W (overlap on the time axis) is not considered.
スケジューリング指示が発生すると(ステップS3)、当該プロセスジョブ番号の基板Wに関するブロックの配置が行われる(全体スケジューリング。ステップS4〜S16)。具体的には、スケジューリング機能部25は、当該基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。 When a scheduling instruction is generated (step S3), blocks relating to the substrate W of the process job number are arranged (overall scheduling, steps S4 to S16). Specifically, the scheduling function unit 25 reads the temporary time table of the substrate W from the storage unit 23 and arranges the blocks constituting the temporary time table on the time axis.
さらに具体的に説明すると、スケジューリング機能部25は、基板処理開始の指示が与えられると、当該スケジューリング機能部25において基板処理手順を管理している全ての基板Wに関して、処理内容データ(プロセスジョブ番号およびレシピ)を記憶部23から取得する(ステップS4)。さらに、スケジューリング機能部25は、基板収容器Cから搬出されて処理開始されている基板Wがあるかどうかを判断する(ステップS5)。いずれの基板Wの処理も開始されていなければ(ステップS5:NO)、スケジューリング機能部25は、記憶部23から取得した処理内容データに対応する基板Wのうち、ステージSTで待機中であり、かつスケジューリングが行われていない基板Wがあるかどうかを判断する(ステップS7)。この判断が肯定されると、スケジューリング機能部25は、スケジューリングを行っていない基板Wのうち、処理順序が最も若い基板Wをスケジューリング対象基板Wとし、そのスケジューリング対象基板Wに関するデータ(処理内容データおよびスケジュールデータ)を記憶部23から取得する(ステップS8)。通常は、基板収容器Cにおいて上に位置している基板Wほど処理順序が若い。 More specifically, the scheduling function unit 25 receives processing instruction data (process job numbers) for all the substrates W that manage the substrate processing procedure in the scheduling function unit 25 when an instruction to start the substrate processing is given. And a recipe) are acquired from the memory | storage part 23 (step S4). Furthermore, the scheduling function unit 25 determines whether there is a substrate W that has been unloaded from the substrate container C and has started processing (step S5). If the processing of any substrate W has not been started (step S5: NO), the scheduling function unit 25 is waiting at the stage ST among the substrates W corresponding to the processing content data acquired from the storage unit 23, It is then determined whether there is a substrate W that has not been scheduled (step S7). If this determination is affirmative, the scheduling function unit 25 sets the substrate W having the youngest processing order among the substrates W that have not been scheduled as the scheduling target substrate W, and data related to the scheduling target substrate W (processing content data and Schedule data) is acquired from the storage unit 23 (step S8). Usually, the processing order is younger as the substrate W is located on the upper side of the substrate container C.
次に、スケジューリング機能部25は、データを取得した当該スケジューリング対象基板Wと共通のプロセスジョブ番号が付与された別の基板Wに対するスケジューリングを既に行ったかどうかを判断する(ステップS9)。或るプロセスジョブ番号の最初の基板がスケジューリング対象基板Wであるときには、この判断が否定される。すると、スケジューリング機能部25は、スケジューリング対象基板Wに対応するレシピを参照し、そのレシピにおいて指定された並行処理ユニットが全て使用可能である、すなわち、並行処理ユニットのいずれにも使用権が設定されていないかどうかを判断する(ステップS10)。スケジューリングを開始した直後には、いずれの使用権も設定されていないので、ステップS10の判断が肯定される。この場合、スケジューリング機能部25は、スケジューリング対象基板Wのプロセスジョブ番号に対応するレシピで指定された並行処理ユニットの全てに対して使用権を設定する(ステップS11)。 Next, the scheduling function unit 25 determines whether or not scheduling has already been performed for another substrate W to which a process job number common to the scheduling target substrate W from which data has been acquired has been assigned (step S9). When the first substrate of a certain process job number is the scheduling target substrate W, this determination is denied. Then, the scheduling function unit 25 refers to the recipe corresponding to the scheduling target substrate W, and all the parallel processing units specified in the recipe can be used. That is, the usage right is set for any of the parallel processing units. It is judged whether it is not (step S10). Immediately after starting the scheduling, since no usage right is set, the determination in step S10 is affirmed. In this case, the scheduling function unit 25 sets a usage right for all the parallel processing units specified in the recipe corresponding to the process job number of the scheduling target substrate W (step S11).
たとえば、レシピにおいて処理ユニットSPIN1〜SPIN4での並行処理が指定されていれば、図7に示すように、スケジューリング対象基板Wに付与されたプロセスジョブ番号PJ1を共有する基板群に対して、処理ユニットSPIN1〜SPIN4の使用権が設定される。この使用権が設定されている間は、他のプロセスジョブ番号の基板群の処理ブロックを処理ユニットSPIN1〜SPIN4に配置することはできない。なお、図7等のスケジューリング経過または結果を表す図面において、インデクサロボットIRの一方のハンド8Aを「IR1」と表記し、他方のハンド8Bを「IR2」と表記してある。同様に、主搬送ロボットCRの一方のハンド13Aを「CR1」と表記し、他方のハンド13Bを「CR2」と表記してある。また、プロセスジョブ番号PJn(nは自然数)のm枚目(mは自然数)の基板Wを、必要に応じて「基板PJn−m」などと表記することにする。 For example, if parallel processing in the processing units SPIN1 to SPIN4 is specified in the recipe, as shown in FIG. 7, the processing unit is assigned to the substrate group sharing the process job number PJ1 assigned to the scheduling target substrate W. The right to use SPIN1 to SPIN4 is set. While this usage right is set, the processing blocks of the substrate group having other process job numbers cannot be placed in the processing units SPIN1 to SPIN4. In the drawing showing the scheduling process or result of FIG. 7 and the like, one hand 8A of the indexer robot IR is represented as “IR1”, and the other hand 8B is represented as “IR2”. Similarly, one hand 13A of the main transfer robot CR is denoted as “CR1”, and the other hand 13B is denoted as “CR2”. Also, the m-th (m is a natural number) substrate W of the process job number PJn (n is a natural number) will be expressed as “substrate PJn-m” as necessary.
次いで、スケジューリング機能部25は、スケジューリング対象基板Wに対するスケジューリングを実行する。具体的には、スケジューリング機能部25は、スケジューリング対象基板Wに対応する仮タイムテーブルを参照し、当該仮タイムテーブルを構成するブロックを一つ取得する(ステップS12)。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部25は、当該取得したブロックを配置できる位置を検索し(ステップS13)、その検索された位置に当該ブロックを配置する(ステップS14)。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、仮タイムテーブルを構成する全てのブロックに関して繰り返し実行される(ステップS15)。そして、仮タイムテーブルを構成する全てのブロックを配置し終えると(ステップS15:YES)、スケジューリング機能部25は、各処理ユニットの最終使用時刻を計算し、その計算結果を記憶部23に格納する(ステップS16)。最終使用時刻の初期値は「0」である。この後は、ステップS7からの処理が繰り返される。処理開始指示された全てのプロセスジョブ番号の全基板Wに関するスケジューリングを終えると(ステップS7:NO)、全体スケジューリングが完了する(ステップS17)。 Next, the scheduling function unit 25 executes scheduling for the scheduling target substrate W. Specifically, the scheduling function unit 25 refers to the temporary time table corresponding to the scheduling target substrate W, and acquires one block constituting the temporary time table (step S12). The block acquired at this time is the block arranged at the earliest position on the time axis of the temporary time table among the unallocated blocks. Further, the scheduling function unit 25 searches for a position where the acquired block can be arranged (step S13), and arranges the block at the searched position (step S14). Each block is arranged at the earliest position on the time axis while preventing the same resource from being used repeatedly at the same time. A similar operation is repeatedly executed for all blocks constituting the temporary time table (step S15). When all blocks constituting the temporary time table have been arranged (step S15: YES), the scheduling function unit 25 calculates the last use time of each processing unit and stores the calculation result in the storage unit 23. (Step S16). The initial value of the last use time is “0”. Thereafter, the processing from step S7 is repeated. When scheduling for all substrates W of all process job numbers instructed to start processing is completed (step S7: NO), overall scheduling is completed (step S17).
スケジューリング対象基板Wに対応するレシピは、4つの処理ユニットSPIN1〜SPIN4の並行処理を指定しているので、スケジューリング対象基板Wに対して、4つの処理ユニットSPIN1〜SPIN4をそれぞれ通る4つの経路を表す4つの仮タイムテーブルが作成されている(ステップS2)。最初の基板Wに対する処理を計画するとき、スケジューリング機能部25は、それらの4つの仮タイムテーブルのなかから、最終使用時刻が最も早い仮タイムテーブルを選択し、その選択された仮タイムテーブルからブロックを取得する。複数の仮タイムテーブルにおいて最終使用時刻が等しい場合には、たとえば、処理ユニットの番号の若い経路を選択すればよい。複数の処理ユニットSPIN1〜SPIN4は基板処理装置内の異なる位置に配置されているので、それに応じて、基板Wの搬送に要する時間には相違があり、したがって、仮タイムテーブルにおける最終使用時刻は一般には等しくならない。図7には、プロセスジョブ番号PJ1の最初の基板PJ1−1に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。スケジューリング機能部25は、同一リソースのスペースでブロックが重なり合わないように各ブロックを配置する。 The recipe corresponding to the scheduling target substrate W designates the parallel processing of the four processing units SPIN1 to SPIN4, and therefore represents four paths that respectively pass through the four processing units SPIN1 to SPIN4 for the scheduling target substrate W. Four temporary time tables have been created (step S2). When planning a process for the first substrate W, the scheduling function unit 25 selects a temporary time table having the earliest last use time from among the four temporary time tables, and blocks from the selected temporary time table. To get. When the last use times are equal in a plurality of temporary time tables, for example, a route with a smaller processing unit number may be selected. Since the plurality of processing units SPIN1 to SPIN4 are arranged at different positions in the substrate processing apparatus, there is a difference in the time required for transporting the substrate W. Accordingly, the last use time in the temporary timetable is generally Are not equal. FIG. 7 shows an example in which all the blocks constituting the temporary time table corresponding to the first substrate PJ1-1 of the process job number PJ1 are arranged. The scheduling function unit 25 arranges the blocks so that the blocks do not overlap in the same resource space.
プロセスジョブ番号PJ1の1枚目の基板PJ1−1がインデクサロボットIRによって基板収容器Cから払い出されたタイミングで、スケジューリング指示が発生し(ステップS3:YES)、スケジューリング機能部25は、当該プロセスジョブ番号PJ1の2枚目の基板PJ1−2のスケジューリングを開始する。この場合、ステップS5での判断は肯定され、スケジューリング機能部25は、既に処理開始している1枚目の基板Wに対するスケジューリングを実行する(ステップS6)。その結果は、図7と同じである。さらに、当該プロセスジョブ番号PJ1に未スケジューリングの基板Wが存在するので、ステップS7での判断が肯定される。スケジューリング機能部25は、当該プロセスジョブ番号PJ1の2枚目の基板PJ1−2をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS8)。当該プロセスジョブ番号PJ1の1枚目の基板PJ1−1のスケジューリングが完了しているので、ステップS9の判断が肯定され、ステップS10,S11の処理を経ることなく、当該プロセスジョブ番号PJ1の2枚目の基板PJ1−2に対するスケジューリングが実行される(ステップS12〜S15)。この場合、1枚目の基板Wの処理のために処理ユニットSPIN1は使用中であるので、残りの並行処理ユニットSPIN2〜SPIN4をそれぞれ通る3つの経路を表す3つの仮タイムテーブルのなかから最終使用時刻が最も早い仮タイムテーブルが選択される。最終使用時刻が等しい場合には、番号の若い処理ユニットを通る経路に対応した仮タイムテーブルが選択される。このようにして、プロセスジョブ番号PJ1の2枚目の基板PJ1−2に対してスケジューリングを行った例を図8に示す。 At the timing when the first substrate PJ1-1 of the process job number PJ1 is paid out from the substrate container C by the indexer robot IR, a scheduling instruction is generated (step S3: YES), and the scheduling function unit 25 executes the process. Scheduling of the second board PJ1-2 of job number PJ1 is started. In this case, the determination in step S5 is affirmed, and the scheduling function unit 25 executes scheduling for the first substrate W that has already started processing (step S6). The result is the same as FIG. Further, since there is an unscheduled substrate W in the process job number PJ1, the determination in step S7 is affirmed. The scheduling function unit 25 sets the second substrate PJ1-2 of the process job number PJ1 as a scheduling target substrate, and acquires data related to the scheduling target substrate from the storage unit 23 (step S8). Since the scheduling of the first substrate PJ1-1 of the process job number PJ1 has been completed, the determination in step S9 is affirmed, and the two process job numbers PJ1 are processed without going through the processing of steps S10 and S11. Scheduling for the eye substrate PJ1-2 is executed (steps S12 to S15). In this case, since the processing unit SPIN1 is in use for processing the first substrate W, it is finally used from the three temporary time tables representing the three paths passing through the remaining parallel processing units SPIN2 to SPIN4. The temporary time table with the earliest time is selected. When the last use times are equal, a temporary time table corresponding to a route passing through a processing unit with a smaller number is selected. FIG. 8 shows an example in which scheduling is performed for the second substrate PJ1-2 having the process job number PJ1 in this way.
同様にして、プロセスジョブ番号PJ1の3枚目の基板PJ1−3に対してスケジューリングを行うことにより、図9に示すスケジューリング結果が得られる。
さらに同様にして、プロセスジョブ番号PJ1の4枚目の基板PJ1−4に対してスケジューリングを行うことにより、図10に示すスケジューリング結果が得られる。
ブロック配置位置を検索するとき(ステップS13)、スケジューリング機能部25は、同一リソースに対して時間軸上でブロックが重なり合うことがなく、かつできるだけ時間軸上の早い位置を検索する。
Similarly, the scheduling result shown in FIG. 9 is obtained by performing scheduling for the third substrate PJ1-3 having the process job number PJ1.
Further, similarly, scheduling is performed for the fourth substrate PJ1-4 having the process job number PJ1, thereby obtaining the scheduling result shown in FIG.
When searching for a block arrangement position (step S13), the scheduling function unit 25 searches for an earlier position on the time axis as much as possible without overlapping blocks on the time axis for the same resource.
図5は、スケジューリング機能部25が図4の処理と並行して行う別の処理を説明するためのフローチャートであり、使用権の削除に関する処理を示す。インデクサロボットIRによって基板Wが基板収容器Cから払い出されると(ステップS21)、スケジューリング機能部25は、その基板Wが共通のプロセスジョブ番号が与えられた基板群のうちの最後の基板かどうかを判断する(ステップS22)。最後の基板であれば(ステップS22:YES)、スケジューリング機能部25は、そのプロセスジョブ番号の基板群に対して設定されている使用権を削除する(ステップS23)。最後の基板でなければ(ステップS22:NO)、使用権削除を行わない。 FIG. 5 is a flowchart for explaining another process performed by the scheduling function unit 25 in parallel with the process of FIG. When the substrate W is dispensed from the substrate container C by the indexer robot IR (step S21), the scheduling function unit 25 determines whether the substrate W is the last substrate in the substrate group to which a common process job number is given. Judgment is made (step S22). If it is the last substrate (step S22: YES), the scheduling function unit 25 deletes the usage right set for the substrate group of the process job number (step S23). If it is not the last substrate (step S22: NO), the usage right is not deleted.
したがって、前述の例においては、プロセスジョブ番号PJ1の4枚目の基板PJ1−4が基板収容器Cから払い出されると、当該プロセスジョブ番号PJ1の基板群に対して設定された処理ユニットSPIN1〜SPIN4の使用権が削除される。これ以後は、別のプロセスジョブ番号の基板群に対して処理ユニットSPIN1〜SPIN4の使用権の設定が許容される。 Therefore, in the above-described example, when the fourth substrate PJ1-4 having the process job number PJ1 is discharged from the substrate container C, the processing units SPIN1 to SPIN4 set for the substrate group having the process job number PJ1. The right to use is deleted. Thereafter, the setting of the right to use the processing units SPIN1 to SPIN4 is permitted for a group of substrates having different process job numbers.
基板WがインデクサロボットIRによって基板収容器Cから払い出されることによって、スケジューリング指示が発生し、図4のステップS3の判断が肯定となる。
図11〜図16は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群(プロセスジョブ)に対するスケジューリングの例を示す。プロセスジョブ番号PJ1の基板群は1枚の基板PJ−1で構成され、処理内容データ中のレシピによって、4つの処理ユニットSPIN1〜SPIN4が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は3枚の基板PJ2−1,PJ2−2,PJ2−3で構成され、処理内容データ中のレシピによって2つの処理ユニットSPIN2〜SPIN3が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は1枚の基板PJ3−1で構成され、処理内容データ中のレシピによって、3つの処理ユニットSPIN2〜SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。
When the substrate W is dispensed from the substrate container C by the indexer robot IR, a scheduling instruction is generated, and the determination in step S3 in FIG. 4 becomes affirmative.
FIGS. 11 to 16 show an example of scheduling for three substrate groups (process jobs) assigned process job numbers PJ1, PJ2, and PJ3. The substrate group of process job number PJ1 is composed of one substrate PJ-1, and four processing units SPIN1 to SPIN4 are designated as parallel processing units by the recipe in the processing content data. The substrate group of process job number PJ2 is composed of three substrates PJ2-1, PJ2-2, and PJ2-3, and two processing units SPIN2 to SPIN3 are designated as parallel processing units by the recipe in the processing content data. It shall be. Furthermore, it is assumed that the substrate group of process job number PJ3 is composed of one substrate PJ3-1, and three processing units SPIN2 to SPIN4 are designated as parallel processing units by the recipe in the processing content data. A case is assumed in which processing is started for the substrate groups of process job numbers PJ1, PJ2, and PJ3 in the order of the numbers, and a scheduling instruction is generated.
図11は、仮タイムテーブルの例を示す。基板処理開始指示が与えられると(図4のステップS1)、スケジューリング機能部25は、仮タイムテーブルを作成する(ステップS2)。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚の基板PJ1−1に対して、処理ユニットSPIN1〜SPIN4をそれぞれ通る4経路分の仮タイムテーブルを作成する。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の3枚の基板PJ2−1,PJ2−2,PJ2−3に対して、それぞれ、処理ユニットSPIN2〜SPIN3をそれぞれ通る2経路分の仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ2に対して合計で6経路分の仮タイムテーブルが作成される。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚の基板PJ3−1に対して、処理ユニットSPIN2〜SPIN4をそれぞれ通る3経路分の仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。 FIG. 11 shows an example of a temporary time table. When a substrate processing start instruction is given (step S1 in FIG. 4), the scheduling function unit 25 creates a temporary time table (step S2). That is, the scheduling function unit 25 creates a temporary time table for four paths that pass through the processing units SPIN1 to SPIN4 for one substrate PJ1-1 having the process job number PJ1. In addition, the scheduling function unit 25 generates temporary time tables for two paths respectively passing through the processing units SPIN2 to SPIN3 for the three substrates PJ2-1, PJ2-2, and PJ2-3 having the process job number PJ2. create. That is, a temporary time table for a total of six paths is created for the process job number PJ2. Further, the scheduling function unit 25 creates a temporary time table for three paths that pass through the processing units SPIN2 to SPIN4 for one substrate PJ3-1 of the process job number PJ3. The created temporary time table is stored in the storage unit 23.
プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると(図4のステップS3)、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在しないので(ステップS5:NO)、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。はじめは、いずれの処理ユニットの最終使用時刻も「0」であるので、番号の最も若い処理ユニットSPIN1を使うプロセスジョブのうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルが記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ1の他の基板Wに対するスケジューリングはされておらず(ステップS9:NO)、いずれの処理ユニットに対しても使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN4に関する使用権を、プロセスジョブ番号PJ1の基板群に対して設定する(ステップS11)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 When the process start for process job numbers PJ1, PJ2, and PJ3 is instructed in order and a scheduling instruction is generated in response thereto (step S3 in FIG. 4), the scheduling function unit 25 stores all temporary times stored in the storage unit 23. The table, that is, the temporary time table of all the substrates W corresponding to the process job numbers PJ1 to PJ3 is read, and the entire scheduling is started. Since there is no other substrate W that has already started processing (step S5: NO), the scheduling function unit 25 searches for the processing unit with the earliest last use time. Initially, since the last use time of any of the processing units is “0”, the process job number PJ1 that is instructed to start processing first among the process jobs that use the processing unit SPIN1 with the smallest number is evaluated. . In this case, since the scheduling for the substrate W of the process job number PJ1 has not been completed (step S7: YES), the temporary time table of the first substrate PJ1-1 of the process job number PJ1 is acquired from the storage unit 23. (Step S8). Scheduling for the other substrate W of the process job number PJ1 is not performed (step S9: NO), and the right to use is not set for any of the processing units (step S10: YES). Sets the usage rights for the parallel processing units SPIN1 to SPIN4 specified in the recipe of the process job number PJ1 for the substrate group of the process job number PJ1 (step S11). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ1-1 having the process job number PJ1 (steps S12 to S15).
図12は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1に関するブロックを配置した例を示す。いずれの処理ユニットも使用されていない状態であるので、たとえば、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。こうして、基板PJ1−1のスケジューリングが完成すると、その基板PJ1−1の搬送が開始される。 FIG. 12 shows an example in which blocks relating to the first substrate PJ1-1 of the process job number PJ1 are arranged. Since none of the processing units is in use, for example, a provisional time table representing a route passing through the processing unit SPIN1 is selected, and the blocks constituting the provisional time table are arranged on the time axis in front-alignment. The Thus, when the scheduling of the substrate PJ1-1 is completed, the conveyance of the substrate PJ1-1 is started.
基板PJ1−1が基板収容器Cから払い出されると(図5のステップS21)、当該基板PJ1−1がプロセスジョブ番号PJ1の最後の基板であるので(ステップS22:YES)、プロセスジョブ番号PJ1に関する使用権が削除される(ステップS23)。そして、プロセスジョブ番号PJ2に関するスケジューリング指示が発生する(ステップS3:YES)。 When the substrate PJ1-1 is discharged from the substrate container C (step S21 in FIG. 5), since the substrate PJ1-1 is the last substrate of the process job number PJ1 (step S22: YES), the process job number PJ1 is related. The usage right is deleted (step S23). Then, a scheduling instruction relating to the process job number PJ2 is generated (step S3: YES).
スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1があるので(ステップS5:YES)、その基板PJ1−1についてのスケジューリングを行う(ステップS6)。その結果は、図12と同じである。プロセスジョブ番号PJ2の基板Wについてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブルが記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ2の他の基板Wに対するスケジューリングはされておらず(ステップS9:NO)、いずれの処理ユニットに対しても使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2〜SPIN3に関する使用権を、プロセスジョブ番号PJ2の基板群に対して設定する(ステップS11)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 In response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. Since there is a substrate PJ1-1 that has already started processing (step S5: YES), scheduling for the substrate PJ1-1 is performed (step S6). The result is the same as FIG. Since the scheduling for the substrate W of the process job number PJ2 has not been completed (step S7: YES), the temporary time table of the first substrate PJ2-1 of the process job number PJ2 is acquired from the storage unit 23 (step S7). S8). Scheduling for the other substrate W of the process job number PJ2 is not performed (step S9: NO), and the right to use is not set for any processing unit (step S10: YES). Sets the usage rights for the parallel processing units SPIN2 to SPIN3 specified in the recipe of the process job number PJ2 for the substrate group of the process job number PJ2 (step S11). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ2-1 having the process job number PJ2 (steps S12 to S15).
図13は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1に関するブロックを配置した例を示す。並行処理ユニットSPIN2〜SPIN3のいずれもが使用されていない状態であるので、たとえば、処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ2−1のスケジューリングが完成すると、その基板PJ2−1の搬送が開始される。 FIG. 13 shows an example in which blocks relating to the first substrate PJ2-1 of the process job number PJ2 are arranged. Since none of the parallel processing units SPIN2 to SPIN3 is in use, for example, a temporary time table representing a route passing through the processing unit SPIN2 is selected, and the blocks constituting the temporary time table have already been arranged. It is arranged on the time axis so as not to interfere with the block. Thus, when the scheduling of the substrate PJ2-1 is completed, the conveyance of the substrate PJ2-1 is started.
基板PJ2−1が基板収容器Cから払い出されると(図5のステップS21)、当該基板PJ2−1はプロセスジョブ番号PJ2の最後の基板ではないので(ステップS22:NO)、プロセスジョブ番号PJ2に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ2の2枚目の基板PJ2−2に関するスケジューリング指示が発生する(ステップS3:YES)。このとき、プロセスジョブ番号PJ3の基板に関するスケジューリングも開始されるが、プロセスジョブ番号PJ3の並行処理ユニットのうち処理ユニットSPIN2〜SPIN3に対してプロセスジョブ番号PJ2の使用権が設定されているため、図4のステップS10での判断が否定となり、「スケジューリング対象外」と判定されることになる。 When the substrate PJ2-1 is paid out from the substrate container C (step S21 in FIG. 5), since the substrate PJ2-1 is not the last substrate of the process job number PJ2 (step S22: NO), the process job number PJ2 is related. The right to use is maintained as it is. Then, a scheduling instruction for the second substrate PJ2-2 of the process job number PJ2 is generated (step S3: YES). At this time, scheduling for the substrate of the process job number PJ3 is also started, but the right to use the process job number PJ2 is set for the processing units SPIN2 to SPIN3 among the parallel processing units of the process job number PJ3. The determination in step S10 of No. 4 is negative, and it is determined that “not scheduled”.
スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1,PJ2−1があるので(ステップS5:YES)、それらの基板PJ1−1,PJ2−1についてのスケジューリングを行う(ステップS6)。その結果は、図13と同じである。プロセスジョブ番号PJ2の基板Wについてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ2の2枚目の基板PJ2−2の仮タイムテーブルが記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ2の他の基板PJ2−1に対するスケジューリングがされているので(ステップS9:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚目の基板PJ2−2の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 In response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. Since there are substrates PJ1-1 and PJ2-1 that have already started processing (step S5: YES), scheduling for these substrates PJ1-1 and PJ2-1 is performed (step S6). The result is the same as FIG. Since the scheduling for the substrate W of the process job number PJ2 has not been completed (step S7: YES), the temporary time table of the second substrate PJ2-2 of the process job number PJ2 is acquired from the storage unit 23 (step S7). S8). Since the scheduling for the other substrate PJ2-1 of the process job number PJ2 is performed (step S9: YES), the scheduling function unit 25 configures a temporary time table for the second substrate PJ2-2 of the process job number PJ2. The blocks to be processed are arranged (steps S12 to S15).
図14は、プロセスジョブ番号PJ2の2枚目の基板PJ2−2に関するブロックを配置した例を示す。並行処理ユニットSPIN2に対して1枚目の基板PJ2−1のための処理ブロックが配置されているので、処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ2−2のスケジューリングが完成すると、その基板PJ2−2の搬送が開始される。 FIG. 14 shows an example in which blocks relating to the second substrate PJ2-2 having the process job number PJ2 are arranged. Since a processing block for the first substrate PJ2-1 is arranged for the parallel processing unit SPIN2, a temporary time table indicating a route passing through the processing unit SPIN3 is selected, and blocks constituting the temporary time table Are arranged on the time axis so as not to interfere with the already arranged blocks. Thus, when the scheduling of the substrate PJ2-2 is completed, the conveyance of the substrate PJ2-2 is started.
基板PJ2−2が基板収容器Cから払い出されると(図5のステップS21)、当該基板PJ2−2はプロセスジョブ番号PJ2の最後の基板ではないので(ステップS22:NO)、プロセスジョブ番号PJ2に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ2の3枚目の基板PJ2−3に関するスケジューリング指示が発生する(ステップS3:YES)。その後、スケジューリング機能部25は、2枚目の基板PJ2−2の場合と同様にして、3枚目の基板PJ2−3に対するスケジューリングを行う。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ2の3枚目の基板PJ2−3の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。なお、基板PJ2−2が基板収容器Cから払い出されると、プロセスジョブ番号PJ3の基板に関するスケジューリングも開始されるが、プロセスジョブ番号PJ3の並行処理ユニットのうち処理ユニットSPIN2〜SPIN3に対してプロセスジョブ番号PJ2の使用権が設定されているため、図4のステップS10での判断が否定となり、「スケジューリング対象外」と判定されることになる。 When the substrate PJ2-2 is dispensed from the substrate container C (step S21 in FIG. 5), since the substrate PJ2-2 is not the last substrate of the process job number PJ2 (step S22: NO), the process job number PJ2 is related. The right to use is maintained as it is. Then, a scheduling instruction for the third substrate PJ2-3 having the process job number PJ2 is generated (step S3: YES). Thereafter, the scheduling function unit 25 performs scheduling for the third substrate PJ2-3 in the same manner as the second substrate PJ2-2. That is, the scheduling function unit 25 arranges blocks constituting the temporary time table of the third substrate PJ2-3 having the process job number PJ2 (steps S12 to S15). When the substrate PJ2-2 is dispensed from the substrate container C, scheduling for the substrate of the process job number PJ3 is started, but the process jobs SPIN2 to SPIN3 among the parallel processing units of the process job number PJ3 are processed. Since the right to use the number PJ2 is set, the determination in step S10 in FIG. 4 is negative, and it is determined that “not scheduled”.
図15は、プロセスジョブ番号PJ2の3枚目の基板PJ2−3に関するブロックを配置した例を示す。並行処理ユニットSPIN2,SPIN3に対して1枚目および2枚目の基板PJ2−1,PJ2−2のための処理ブロックがそれぞれ配置されているので、スケジューリング機能部25は、処理ユニットSPIN2,SPIN3の最終使用時刻を比較し、それらのうちの早い方である処理ユニットSPIN2を通る経路を表す仮タイムテーブルを選択する。そして、スケジューリング機能部25は、その仮タイムテーブルを構成するブロックを、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置する。すなわち、処理ユニットSPIN2に対して、1枚目の基板PJ2−1の処理ブロックの後の最も早い時刻に3枚目の基板PJ2−3の処理ブロックを配置し、それに合わせて、当該3枚目の基板PJ2−3のための他のブロックを配置する。こうして、基板PJ2−3のスケジューリングが完成すると、その基板PJ2−3の搬送が開始される。 FIG. 15 shows an example in which blocks relating to the third substrate PJ2-3 of process job number PJ2 are arranged. Since the processing blocks for the first and second substrates PJ2-1 and PJ2-2 are arranged for the parallel processing units SPIN2 and SPIN3, respectively, the scheduling function unit 25 is connected to the processing units SPIN2 and SPIN3. The last use times are compared, and a temporary time table representing a route passing through the processing unit SPIN2, which is the earlier one of them, is selected. And the scheduling function part 25 arrange | positions the block which comprises the temporary time table to the front on a time axis so that it may not interfere with the block already arrange | positioned. That is, the processing block of the third substrate PJ2-3 is arranged at the earliest time after the processing block of the first substrate PJ2-1 with respect to the processing unit SPIN2, and the third substrate PJ2-3 is arranged accordingly. Another block for the substrate PJ2-3 is arranged. Thus, when the scheduling of the substrate PJ2-3 is completed, the conveyance of the substrate PJ2-3 is started.
基板PJ2−3が基板収容器Cから払い出されると(図5のステップS21)、当該基板PJ2−3がプロセスジョブ番号PJ2の最後の基板であるので(ステップS22:YES)、プロセスジョブ番号PJ2に関する使用権が削除される(ステップS23)。そして、プロセスジョブ番号PJ3に関するスケジューリング指示が発生する(ステップS3:YES)。 When the substrate PJ2-3 is paid out from the substrate container C (step S21 in FIG. 5), since the substrate PJ2-3 is the last substrate of the process job number PJ2 (step S22: YES), the process job number PJ2 is related. The usage right is deleted (step S23). Then, a scheduling instruction relating to the process job number PJ3 is generated (step S3: YES).
スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1,PJ2−1,PJ2−2,PJ2−3があるので(ステップS5:YES)、それらの基板PJ1−1,PJ2−1,PJ2−2,PJ2−3についてのスケジューリングを行う(ステップS6)。その結果は、図15と同じである。プロセスジョブ番号PJ3の基板Wについてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルが記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ3の他の基板Wに対するスケジューリングはされておらず(ステップS9:NO)、いずれの処理ユニットに対しても使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN2〜SPIN4に関する使用権を、プロセスジョブ番号PJ3の基板群に対して設定する(ステップS11)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 In response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. Since there are substrates PJ1-1, PJ2-1, PJ2-2, and PJ2-3 that have already started processing (step S5: YES), these substrates PJ1-1, PJ2-1, PJ2-2, and PJ2-3. Is scheduled (step S6). The result is the same as FIG. Since the scheduling for the substrate W of the process job number PJ3 has not been completed (step S7: YES), the temporary time table of the first substrate PJ3-1 of the process job number PJ3 is acquired from the storage unit 23 (step S7). S8). Scheduling for the other substrate W of the process job number PJ3 is not performed (step S9: NO), and the right to use is not set for any processing unit (step S10: YES). Sets the usage rights for the parallel processing units SPIN2 to SPIN4 specified in the recipe of the process job number PJ3 for the substrate group of the process job number PJ3 (step S11). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ3-1 having the process job number PJ3 (steps S12 to S15).
図16は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1に関するブロックを配置した例を示す。並行処理ユニットSPIN2,SPIN3に対してすでに処理ブロックが配置されているので、最終使用時刻が最も早い処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ3−1のスケジューリングが完成すると、その基板PJ3−1の搬送が開始される。プロセスジョブ番号PJ2の最後の基板PJ2−3の搬送開始まで、処理ユニットSPIN2〜SPIN3に対するプロセスジョブ番号PJ2の使用権が削除されないので、基板PJ3−1に関するブロックは、基板PJ2−3を基板収容器Cから払い出す動作を指定するブロックよりも時間軸上において後に配置することになる。したがって、基板PJ3−1に対する処理が基板PJ2−3に対する処理を追い越すような計画が立てられることはない。 FIG. 16 shows an example in which blocks relating to the first substrate PJ3-1 of the process job number PJ3 are arranged. Since processing blocks have already been arranged for the parallel processing units SPIN2 and SPIN3, a temporary time table representing a route passing through the processing unit SPIN4 having the earliest last use time is selected, and the blocks constituting the temporary time table are: In order not to interfere with the already arranged blocks, the blocks are arranged on the front side on the time axis. Thus, when the scheduling of the substrate PJ3-1 is completed, the conveyance of the substrate PJ3-1 is started. Since the right to use the process job number PJ2 for the processing units SPIN2 to SPIN3 is not deleted until the conveyance of the last substrate PJ2-3 of the process job number PJ2 is started, the block relating to the substrate PJ3-1 is configured to transfer the substrate PJ2-3 to the substrate container It is arranged later on the time axis than the block that specifies the operation of paying out from C. Accordingly, there is no plan that the process for the substrate PJ3-1 overtakes the process for the substrate PJ2-3.
このようにして、全てのプロセスジョブ番号PJ1〜PJ3の全ての基板Wに関するスケジューリングが完了する(ステップS7:NO)。
図17〜図28は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群(プロセスジョブ)に対するスケジューリングの例を示す。プロセスジョブ番号PJ1の基板群は8枚の基板PJ1−1〜8で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN1〜SPIN2が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は2枚の基板PJ2−1〜2で構成され、処理内容データ中のレシピによって4つの処理ユニットSPIN1〜SPIN4が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は2枚の基板PJ3−1〜2で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN3〜SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。
In this way, scheduling for all the substrates W of all process job numbers PJ1 to PJ3 is completed (step S7: NO).
FIGS. 17 to 28 show examples of scheduling for three substrate groups (process jobs) assigned process job numbers PJ1, PJ2, and PJ3. It is assumed that the substrate group of process job number PJ1 is composed of eight substrates PJ1-1 to PJ1-1 and two processing units SPIN1 and SPIN2 are designated as parallel processing units by the recipe in the processing content data. Further, it is assumed that the substrate group of the process job number PJ2 includes two substrates PJ2-1 and PJ2-1 and four processing units SPIN1 to SPIN4 are designated as parallel processing units by the recipe in the processing content data. Further, it is assumed that the substrate group of the process job number PJ3 includes two substrates PJ3-1 and PJ3-1 and two processing units SPIN3 to SPIN4 are designated as parallel processing units by a recipe in the processing content data. . A case is assumed in which processing is started for the substrate groups of process job numbers PJ1, PJ2, and PJ3 in the order of the numbers, and a scheduling instruction is generated.
基板処理開始指示が与えられると(図4のステップS1)、スケジューリング機能部25は、仮タイムテーブルを作成する(ステップS2)。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の8枚の基板PJ1−1〜8に対して、それぞれ、処理ユニットSPIN1〜SPIN2をそれぞれ通る2経路分の仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ1に対して合計で16経路分の仮タイムテーブルが作成される。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚の基板PJ2−1〜2に対して、それぞれ、処理ユニットSPIN1〜SPIN4をそれぞれ通る4経路分の仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ2に対して合計で8経路分の仮タイムテーブルが作成される。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚の基板PJ3−1〜2に対して、それぞれ、処理ユニットSPIN3〜SPIN4をそれぞれ通る2経路分の仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ3に対して合計で4経路分の仮タイムテーブルが作成される。作成された仮タイムテーブルは、記憶部23に格納される。 When a substrate processing start instruction is given (step S1 in FIG. 4), the scheduling function unit 25 creates a temporary time table (step S2). That is, the scheduling function unit 25 creates temporary time tables for two paths that pass through the processing units SPIN1 and SPIN2, respectively, for the eight substrates PJ1-1 to PJ1 to process job number PJ1. That is, a temporary time table for 16 routes in total is created for the process job number PJ1. In addition, the scheduling function unit 25 creates temporary time tables for four paths respectively passing through the processing units SPIN1 to SPIN4 for the two substrates PJ2-1 and PJ2-1 having the process job number PJ2. That is, a temporary time table for eight routes in total is created for the process job number PJ2. Furthermore, the scheduling function unit 25 creates temporary time tables for two paths that pass through the processing units SPIN3 to SPIN4, respectively, for the two substrates PJ3-1 and PJ3 of process job number PJ3. That is, a temporary time table for a total of four paths is created for the process job number PJ3. The created temporary time table is stored in the storage unit 23.
プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると(図4のステップS3)、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在しないので(ステップS5:NO)、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。はじめは、いずれの処理ユニットの最終使用時刻も「0」であるので、番号の最も若い処理ユニットSPIN1を使うプロセスジョブのうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であるので(ステップS7:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルを記憶部23から取得する(ステップS8)。プロセスジョブ番号PJ1の他の基板Wに対するスケジューリングはされておらず(ステップS9:NO)、いずれの処理ユニットに対しても使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2に関する使用権を、プロセスジョブ番号PJ1の基板群に対して設定する(ステップS11)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。そして、各処理ユニットの最終使用時刻が計算されて、記憶部23に格納される(ステップS16)。 When the process start for process job numbers PJ1, PJ2, and PJ3 is instructed in order and a scheduling instruction is generated in response thereto (step S3 in FIG. 4), the scheduling function unit 25 stores all temporary times stored in the storage unit 23. The table, that is, the temporary time table of all the substrates W corresponding to the process job numbers PJ1 to PJ3 is read, and the entire scheduling is started. Since there is no other substrate W that has already started processing (step S5: NO), the scheduling function unit 25 searches for the processing unit with the earliest last use time. Initially, since the last use time of any of the processing units is “0”, the process job number PJ1 that is instructed to start processing first among the process jobs that use the processing unit SPIN1 with the smallest number is evaluated. . In this case, since the scheduling for the substrate W of the process job number PJ1 has not been completed (step S7: YES), the scheduling function unit 25 creates a temporary time table for the first substrate PJ1-1 of the process job number PJ1. Obtained from the storage unit 23 (step S8). Scheduling for the other substrate W of the process job number PJ1 is not performed (step S9: NO), and the right to use is not set for any of the processing units (step S10: YES). Sets the usage rights for the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1 for the substrate group of the process job number PJ1 (step S11). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ1-1 having the process job number PJ1 (steps S12 to S15). Then, the last use time of each processing unit is calculated and stored in the storage unit 23 (step S16).
図17は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1に関するブロックを配置した例を示す。いずれの処理ユニットも使用されていない状態であるので、たとえば、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。こうして、基板PJ1−1のスケジューリングが完成すると、その基板PJ1−1の搬送が開始される。 FIG. 17 shows an example in which blocks relating to the first substrate PJ1-1 of the process job number PJ1 are arranged. Since none of the processing units is in use, for example, a provisional time table representing a route passing through the processing unit SPIN1 is selected, and the blocks constituting the provisional time table are arranged on the time axis in front-alignment. The Thus, when the scheduling of the substrate PJ1-1 is completed, the conveyance of the substrate PJ1-1 is started.
基板PJ1−1が基板収容器Cから払い出されると(図5のステップS21)、当該基板PJ1−1はプロセスジョブ番号PJ1の最後の基板ではないので(ステップS22:NO)、プロセスジョブ番号PJ1に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ1の2枚目の基板PJ1−2およびプロセスジョブ番号PJ2,PJ3に関するスケジューリング指示が発生し(ステップS3)、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1があるので(ステップS5:YES)、その基板PJ1−1についてのスケジューリングを行う(ステップS6)。その結果は、図17と同じである。 When the substrate PJ1-1 is paid out from the substrate container C (step S21 in FIG. 5), since the substrate PJ1-1 is not the last substrate of the process job number PJ1 (step S22: NO), it relates to the process job number PJ1. The right to use is maintained as it is. Then, a scheduling instruction for the second substrate PJ1-2 of the process job number PJ1 and the process job numbers PJ2 and PJ3 is generated (step S3), and the operations from step S4 are performed. That is, in response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. . Since there is a substrate PJ1-1 that has already started processing (step S5: YES), scheduling for the substrate PJ1-1 is performed (step S6). The result is the same as FIG.
ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、処理ユニットSPIN2〜4の最終使用時刻が「0」であるので、番号の最も若い処理ユニットSPIN2を使うプロセスジョブ番号PJ1,PJ2のうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。 In step S7, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing units SPIN2 to SPIN4 is “0”, among the process job numbers PJ1 and PJ2 that use the processing unit SPIN2 with the smallest number, the process job number PJ1 that is instructed to start processing the earliest. Is evaluated.
プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ1の2枚目の基板PJ1−2の仮タイムテーブルが記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ1の他の基板PJ1−1に対するスケジューリングがされているので(ステップS9:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1−2の仮タイムテーブルを構成するブロックを配置していく(ステップS12)。 Since the scheduling for the substrate W of the process job number PJ1 has not been completed (step S7: YES), the temporary time table of the second substrate PJ1-2 of the process job number PJ1 is acquired from the storage unit 23 (step S7). S8). Since the scheduling for the other substrate PJ1-1 of the process job number PJ1 is performed (step S9: YES), the scheduling function unit 25 configures a temporary time table for the second substrate PJ1-2 of the process job number PJ1. The blocks to be processed are arranged (step S12).
図18は、プロセスジョブ番号PJ2の2枚目の基板PJ2−2に関するブロックを配置した例を示す。最終使用時刻が最も早い処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。こうして、基板PJ1−2のスケジューリングが完成すると、その基板PJ1−2の搬送が開始される。 FIG. 18 shows an example in which blocks related to the second substrate PJ2-2 having the process job number PJ2 are arranged. A temporary time table representing a route passing through the processing unit SPIN2 having the earliest last use time is selected, and the blocks constituting the temporary time table are arranged on the time axis so as not to interfere with the already arranged blocks. Is done. Thus, when the scheduling of the substrate PJ1-2 is completed, the conveyance of the substrate PJ1-2 is started.
基板PJ1−2が基板収容器Cから払い出されると(図5のステップS21)、当該基板PJ1−2はプロセスジョブ番号PJ1の最後の基板ではないので(ステップS22:NO)、プロセスジョブ番号PJ1に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ1の3枚目の基板PJ1−3およびプロセスジョブ番号PJ2,PJ3に関するスケジューリング指示が発生し(ステップS3)、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1,PJ1−2があるので(ステップS5:YES)、それらの基板PJ1−1,PJ1−2についてのスケジューリングを行う(ステップS6)。その結果は、図18と同じである。 When the substrate PJ1-2 is paid out from the substrate container C (step S21 in FIG. 5), since the substrate PJ1-2 is not the last substrate of the process job number PJ1 (step S22: NO), the process job number PJ1 is related. The right to use is maintained as it is. Then, a scheduling instruction for the third substrate PJ1-3 of the process job number PJ1 and the process job numbers PJ2 and PJ3 is generated (step S3), and the operation from step S4 is performed. That is, in response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. . Since there are substrates PJ1-1 and PJ1-2 that have already started processing (step S5: YES), scheduling for these substrates PJ1-1 and PJ1-2 is performed (step S6). The result is the same as FIG.
ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、処理ユニットSPIN3〜4の最終使用時刻が「0」であるので、番号の最も若い処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。しかし、プロセスジョブ番号PJ2の並行処理ユニットのうち処理ユニットSPIN1,SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているため、プロセスジョブ番号PJ2に関しては、図4のステップS10での判断が否定となり、「スケジューリング対象外」と判定されることになる。その結果、プロセスジョブ番号PJ3がスケジューリングの対象となる。 In step S7, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing units SPIN3 to SPIN4 is “0”, among the process job numbers PJ2 and PJ3 that use the processing unit SPIN3 with the smallest number, the process job number PJ2 that is instructed to start processing the earliest. Is evaluated. However, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2 among the parallel processing units of the process job number PJ2, the determination at step S10 in FIG. 4 is made regarding the process job number PJ2. The result is negative, and it is determined as “not scheduled”. As a result, the process job number PJ3 becomes a scheduling target.
プロセスジョブ番号PJ3の基板Wについてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルが記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ3の他の基板Wに対するスケジューリングはされておらず(ステップS9:NO)、プロセスジョブ番号PJ3のレシピにおいて指定された並行処理ユニットSPIN3〜SPIN4に対する使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、それらの並行処理ユニットSPIN3〜SPIN4に関する使用権を、プロセスジョブ番号PJ3の基板群に対して設定する(ステップS11)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。図19に、プロセスジョブ番号PJ3の1枚目の基板PJ3−1に関するブロックを配置した例を示す。 Since the scheduling for the substrate W of the process job number PJ3 has not been completed (step S7: YES), the temporary time table of the first substrate PJ3-1 of the process job number PJ3 is acquired from the storage unit 23 (step S7). S8). Since the process job number PJ3 is not scheduled for another substrate W (step S9: NO), the right to use the parallel processing units SPIN3 to SPIN4 specified in the recipe of the process job number PJ3 is not set (step S9). (S10: YES), the scheduling function unit 25 sets the usage rights regarding these parallel processing units SPIN3 to SPIN4 to the substrate group of the process job number PJ3 (step S11). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ3-1 having the process job number PJ3 (steps S12 to S15). FIG. 19 shows an example in which blocks related to the first substrate PJ3-1 having the process job number PJ3 are arranged.
こうして、基板PJ3−1のスケジューリングが完成すると、その基板PJ3−1の搬送が開始される。
同様の処理が行われることにより、最終使用時刻が最も早い処理ユニットSPIN4を使用するプロセスジョブ番号PJ3の2枚目の基板PJ3−2に関するスケジューリングが行われることになる。図20に、プロセスジョブ番号PJ3の2枚目の基板PJ3−2に関するブロックを配置した例を示す。
Thus, when the scheduling of the substrate PJ3-1 is completed, the conveyance of the substrate PJ3-1 is started.
By performing the same processing, scheduling for the second substrate PJ3-2 of the process job number PJ3 that uses the processing unit SPIN4 having the earliest final use time is performed. FIG. 20 shows an example in which blocks related to the second substrate PJ3-2 having the process job number PJ3 are arranged.
基板PJ3−2が基板収容器Cから払い出されると(図5のステップS21)、当該基板PJ3−2がプロセスジョブ番号PJ3の最後の基板であるので(ステップS22:YES)、プロセスジョブ番号PJ3に関する使用権が削除される(ステップS23)。そして、プロセスジョブ番号PJ1〜PJ3に関するスケジューリング指示が発生し(ステップS3)、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1,PJ1−2,PJ3−1,PJ3−2があるので(ステップS5:YES)、それらの基板PJ1−1,PJ1−2,PJ3−1,PJ3−2についてのスケジューリングを行う(ステップS6)。その結果は、図20と同じである。 When the substrate PJ3-2 is dispensed from the substrate container C (step S21 in FIG. 5), since the substrate PJ3-2 is the last substrate of the process job number PJ3 (step S22: YES), the process job number PJ3 is related. The usage right is deleted (step S23). Then, a scheduling instruction regarding the process job numbers PJ1 to PJ3 is generated (step S3), and the operation from step S4 is performed. That is, in response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. . Since there are substrates PJ1-1, PJ1-2, PJ3-1, and PJ3-2 that have already started processing (step S5: YES), these substrates PJ1-1, PJ1-2, PJ3-1, and PJ3-2. Is scheduled (step S6). The result is the same as FIG.
ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1〜PJ3のうちのいずれかで使用する処理ユニットSPIN1〜SPIN4のうち、処理ユニットSPIN1の最終使用時刻が最も早いので(図20参照)、処理ユニットSPIN1を使うプロセスジョブ番号PJ1,PJ2のうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。 In step S7, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing unit SPIN1 is the earliest among the processing units SPIN1 to SPIN4 used in any of the target process job numbers PJ1 to PJ3 (see FIG. 20), the process using the processing unit SPIN1 Of the job numbers PJ1 and PJ2, the process job number PJ1 instructed to start processing earliest is evaluated.
プロセスジョブ番号PJ1の3枚目以降の基板についてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルが記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ1の他の基板PJ1−1,PJ1−2に対するスケジューリングがされているので(ステップS9:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 Since the scheduling for the third and subsequent substrates of process job number PJ1 has not been completed (step S7: YES), the temporary time table of the third substrate PJ1-3 of process job number PJ1 is acquired from the storage unit 23. (Step S8). Since scheduling is performed for the other substrates PJ1-1 and PJ1-2 of the process job number PJ1 (step S9: YES), the scheduling function unit 25 temporarily sets the third substrate PJ1-3 of the process job number PJ1. Blocks constituting the time table are arranged (steps S12 to S15).
図21に、プロセスジョブ番号PJ1の3枚目の基板PJ1−3に関するブロックを配置した例を示す。処理ユニットSPIN1に対してすでに処理ブロックが配置されているので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。
こうして、基板PJ1−3のスケジューリングが完成すると、その基板PJ1−3の搬送が開始される。
FIG. 21 shows an example in which blocks relating to the third substrate PJ1-3 having the process job number PJ1 are arranged. Since processing blocks have already been arranged for the processing unit SPIN1, the blocks constituting the temporary time table representing the route passing through the processing unit SPIN1 are left-justified on the time axis so as not to interfere with the already arranged blocks. Placed in.
Thus, when the scheduling of the substrate PJ1-3 is completed, the conveyance of the substrate PJ1-3 is started.
同様の処理が行われることにより、最終使用時刻が最も早い処理ユニットSPIN2を使用するプロセスジョブ番号PJ1の4枚目の基板PJ1−4に関するスケジューリングが行われることになる。図22に、プロセスジョブ番号PJ1の4枚目の基板PJ1−4に関するブロックを配置した例を示す。
こうして、基板PJ1−4のスケジューリングが完成すると、その基板PJ1−4の搬送が開始される。
By performing the same processing, scheduling for the fourth substrate PJ1-4 of the process job number PJ1 using the processing unit SPIN2 with the earliest last use time is performed. FIG. 22 shows an example in which blocks relating to the fourth substrate PJ1-4 of process job number PJ1 are arranged.
Thus, when the scheduling of the substrate PJ1-4 is completed, the conveyance of the substrate PJ1-4 is started.
基板PJ1−4が基板収容器Cから払い出されると(図5のステップS21)、当該基板PJ1−4はプロセスジョブ番号PJ1の最後の基板ではないので(ステップS22:YES)、プロセスジョブ番号PJ1に関する使用権が維持される。そして、プロセスジョブ番号PJ1〜PJ3に関するスケジューリング指示が発生し(ステップS3)、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1〜4,PJ3−1〜2があるので(ステップS5:YES)、それらの基板PJ1−1〜4,PJ3−1〜2についてのスケジューリングを行う(ステップS6)。その結果は、図22と同じである。 When the substrate PJ1-4 is paid out from the substrate container C (step S21 in FIG. 5), since the substrate PJ1-4 is not the last substrate of the process job number PJ1 (step S22: YES), the process job number PJ1 is related. Use rights are maintained. Then, a scheduling instruction regarding the process job numbers PJ1 to PJ3 is generated (step S3), and the operation from step S4 is performed. That is, in response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. . Since there are the substrates PJ1-1 to PJ3-1 and PJ3-1 and 2 that have already started processing (step S5: YES), scheduling is performed for these substrates PJ1-1 to 4 and PJ3-1 and 2 (step S6). ). The result is the same as FIG.
ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1〜PJ3のうちのいずれかで使用する処理ユニットSPIN1〜SPIN4のうち、処理ユニットSPIN3の最終使用時刻が最も早いので(図22参照)、処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。しかし、プロセスジョブ番号PJ2の並行処理ユニットのうち処理ユニットSPIN1,SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているため、プロセスジョブ番号PJ2に関しては、図4のステップS10での判断が否定となり、「スケジューリング対象外」と判定されることになる。その結果、プロセスジョブ番号PJ1がスケジューリングの対象となる。 In step S7, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing unit SPIN3 is the earliest among the processing units SPIN1 to SPIN4 used in any of the target process job numbers PJ1 to PJ3 (see FIG. 22), the process using the processing unit SPIN3. Of the job numbers PJ2 and PJ3, the process job number PJ2 that is instructed to start processing the earliest is evaluated. However, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2 among the parallel processing units of the process job number PJ2, the determination at step S10 in FIG. 4 is made regarding the process job number PJ2. The result is negative, and it is determined as “not scheduled”. As a result, the process job number PJ1 is a scheduling target.
プロセスジョブ番号PJ1の5枚目以降の基板についてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルが記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ1の他の基板に対するスケジューリングがされているので(ステップS9:NO)、スケジューリング機能部25は、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 Since the scheduling for the fifth and subsequent substrates of process job number PJ1 has not been completed (step S7: YES), a temporary time table for the fifth substrate PJ1-5 of process job number PJ1 is acquired from storage unit 23. (Step S8). Since the scheduling for the other substrate of the process job number PJ1 is performed (step S9: NO), the scheduling function unit 25 stores the blocks constituting the temporary time table of the fifth substrate PJ1-5 of the process job number PJ1. They are arranged (steps S12 to S15).
図23に、プロセスジョブ番号PJ1の5枚目の基板PJ1−5に関するブロックを配置した例を示す。プロセスジョブ番号PJ1の並行処理ユニットSPIN1,SPIN2のうち最終使用時刻が最も早いのは処理ユニットSPIN1である(図22参照)。そこで、処理ユニットSPIN1を通る経路を表す仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。 FIG. 23 shows an example in which blocks related to the fifth substrate PJ1-5 of process job number PJ1 are arranged. Of the parallel processing units SPIN1 and SPIN2 of the process job number PJ1, the processing unit SPIN1 has the earliest last use time (see FIG. 22). Therefore, the blocks constituting the temporary time table representing the route passing through the processing unit SPIN1 are arranged on the time axis so as not to interfere with the already arranged blocks.
同様の処理が行われることにより、プロセスジョブ番号PJ1の6番目の基板PJ1−6が処理ユニットSPIN2で処理するように計画され(図24参照)、プロセスジョブ番号PJ1の7番目の基板PJ1−7が処理ユニットSPIN1で処理するように計画され(図25参照)、プロセスジョブ番号PJ1の8番目の基板PJ1−8が処理ユニットSPIN2で処理するように計画される(図26参照)。 By performing the same processing, it is planned that the sixth substrate PJ1-6 of process job number PJ1 is processed by the processing unit SPIN2 (see FIG. 24), and the seventh substrate PJ1-7 of process job number PJ1 is processed. Are planned to be processed by the processing unit SPIN1 (see FIG. 25), and the eighth substrate PJ1-8 of the process job number PJ1 is planned to be processed by the processing unit SPIN2 (see FIG. 26).
基板PJ1−8が基板収容器Cから払い出されると(図5のステップS21:YES)、当該基板PJ1−8がプロセスジョブ番号PJ1の最後の基板であるので(ステップS22:YES)、プロセスジョブ番号PJ1に関する使用権が削除される(ステップS23)。そして、プロセスジョブ番号PJ1〜PJ3に関するスケジューリング指示が発生する(ステップS3:YES)。このとき、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1〜PJ3のうちのいずれかで使用する処理ユニットSPIN1〜SPIN4のうち、処理ユニットSPIN3の最終使用時刻が最も早いので、処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。 When the substrate PJ1-8 is dispensed from the substrate container C (step S21 in FIG. 5: YES), since the substrate PJ1-8 is the last substrate of the process job number PJ1 (step S22: YES), the process job number The usage right for PJ1 is deleted (step S23). Then, a scheduling instruction regarding the process job numbers PJ1 to PJ3 is generated (step S3: YES). At this time, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing unit SPIN3 is the earliest among the processing units SPIN1 to SPIN4 used in any of the target process job numbers PJ1 to PJ3, the process job numbers PJ2 and PJ3 using the processing unit SPIN3 are used. Among these, the process job number PJ2 instructed to start processing the earliest is evaluated.
スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1〜8,PJ3−1〜2があるので(ステップS5:YES)、それらの基板PJ1−1〜8,PJ3−1〜2についてのスケジューリングを行う(ステップS6)。その結果は、図26と同じである。 In response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. Since there are substrates PJ1-1 through PJ3-1 and PJ3-1 and 2 that have already started processing (step S5: YES), scheduling is performed for these substrates PJ1-1 through 8 and PJ3-1 and 2 (step S6). ). The result is the same as FIG.
プロセスジョブ番号PJ2の基板についてのスケジューリングは未了であるので(ステップS7:YES)、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブル(処理ユニットSPIN3を通るもの)が記憶部23から取得される(ステップS8)。プロセスジョブ番号PJ2の他の基板に対するスケジューリングは未了であり(ステップS9:NO)、プロセスジョブ番号PJ2のレシピにおいて指定された並行処理ユニットSPIN1〜SPIN4に対する使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、それらの並行処理ユニットSPIN1〜SPIN4に関する使用権を、プロセスジョブ番号PJ2の基板群に対して設定する(ステップS11)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 Since the scheduling for the substrate of the process job number PJ2 has not been completed (step S7: YES), the temporary time table (passing through the processing unit SPIN3) of the first substrate PJ2-1 of the process job number PJ2 is stored in the storage unit. 23 (step S8). Scheduling for other substrates of process job number PJ2 has not been completed (step S9: NO), and the usage rights for the parallel processing units SPIN1 to SPIN4 designated in the recipe of process job number PJ2 have not been set (step S10). : YES), the scheduling function unit 25 sets the usage rights related to the parallel processing units SPIN1 to SPIN4 to the substrate group of the process job number PJ2 (step S11). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ2-1 having the process job number PJ2 (steps S12 to S15).
図27に、プロセスジョブ番号PJ2の1枚目の基板PJ2−1に関するブロックを配置した例を示す。プロセスジョブ番号PJ1の最後の基板PJ1−8の搬送開始まで、処理ユニットSPIN1〜SPIN2に対するプロセスジョブ番号PJ1の使用権が削除されないので、基板PJ2−1に関するブロックは、基板PJ1−8を基板収容器Cから払い出す動作を指定するブロックよりも時間軸上において後に配置されることになる。したがって、基板PJ2−1に対する処理が基板PJ1−8に対する処理を追い越すような計画が立てられることはない。 FIG. 27 shows an example in which blocks relating to the first substrate PJ2-1 having the process job number PJ2 are arranged. Since the right to use the process job number PJ1 for the processing units SPIN1 to SPIN2 is not deleted until the conveyance of the last substrate PJ1-8 of the process job number PJ1 is started, the block relating to the substrate PJ2-1 uses the substrate PJ1-8 as a substrate container. It is arranged later on the time axis than the block that specifies the operation of paying out from C. Therefore, there is no plan that the process for the substrate PJ2-1 overtakes the process for the substrate PJ1-8.
同様の処理が行われることにより、プロセスジョブ番号PJ2の2番目の基板PJ2−2が処理ユニットSPIN4で処理するように計画される(図28参照)。
基板PJ2−2が基板収容器Cから払い出されると(図5のステップS21:YES)、当該基板PJ2−2がプロセスジョブ番号PJ2の最後の基板であるので(ステップS22:YES)、プロセスジョブ番号PJ2に関する使用権が削除される(ステップS23)。こうして、全ての対象基板に対するスケジューリングが完了する(ステップS17)。
By performing the same processing, the second substrate PJ2-2 of the process job number PJ2 is planned to be processed by the processing unit SPIN4 (see FIG. 28).
When the substrate PJ2-2 is paid out from the substrate container C (step S21 in FIG. 5: YES), since the substrate PJ2-2 is the last substrate of the process job number PJ2 (step S22: YES), the process job number The usage right relating to PJ2 is deleted (step S23). Thus, the scheduling for all target substrates is completed (step S17).
以上のように、この実施形態によれば、共通のプロセスジョブ番号が付与された基板群に対して、そのプロセスジョブ番号に対応するレシピで指定された処理ユニット(並行処理ユニット)の使用権が設定される。この使用権が設定されているときには、その処理ユニットによる処理を表す処理ブロックとしては、当該使用権が設定されたプロセスジョブ番号の基板に対する処理を表す処理ブロックのみが配置可能となり、他のプロセスジョブ番号が付与された基板に対する処理を表す処理ブロックの配置は禁止される。したがって、一つの処理ユニットにおいて、或るプロセスジョブ番号の基板を処理しているときに、他のプロセスジョブ番号の基板に対する処理が割り込まないことを保証できる。また、或るプロセスジョブ番号に対する処理ユニットの使用権が削除されると、別のプロセスジョブ番号に対して当該処理ユニットの使用権設定が許容される。こうして、使用権の設定および削除を行うことで、一つの処理ユニットにおいて、或るプロセスジョブ番号の基板の処理の間に他のプロセスジョブ番号の基板の処理が割り込むことを回避できるので、基板処理装置のリソースとしての処理ユニットを効率的に稼働させることができる。これにより、個々の基板に対する処理ブロックを時間軸上に効率的に配置して枚葉型処理ユニット等のリソースの稼働率を高めることができるので、枚葉型基板処理装置の生産性を向上できる。 As described above, according to this embodiment, the right to use a processing unit (parallel processing unit) designated by a recipe corresponding to a process job number is assigned to a group of substrates assigned a common process job number. Is set. When this usage right is set, only processing blocks representing processing for the substrate of the process job number for which the usage right is set can be placed as processing blocks representing processing by the processing unit. Arrangement of the processing blocks representing the processing for the numbered substrates is prohibited. Therefore, when a substrate with a certain process job number is processed in one processing unit, it can be guaranteed that processing for a substrate with another process job number is not interrupted. If the right to use a processing unit for a certain process job number is deleted, setting of the right to use the processing unit for another process job number is allowed. Thus, by setting and deleting the usage right, in one processing unit, it is possible to avoid interrupting processing of a substrate of another process job number during processing of a substrate of a certain process job number. The processing unit as the resource of the apparatus can be operated efficiently. As a result, it is possible to efficiently arrange processing blocks for individual substrates on the time axis and increase the operating rate of resources such as a single wafer processing unit, thereby improving the productivity of the single substrate processing apparatus. .
また、或るプロセスジョブ番号に対して使用権が設定されているときでも、使用権が設定されていない処理ユニットのみを並行処理ユニットとして指定した別のプロセスジョブ番号があれば、当該別のプロセスジョブ番号に対する使用権設定が許容される。これにより、処理ユニット等のリソースの稼働効率を一層向上できる。そして、使用権未設定の処理ユニットの最終使用時刻が、使用権設定済みの処理ユニットの最終使用時刻よりも早ければ、その使用権未設定の処理ユニットを使うプロセスジョブ番号に使用権を設定して、そのプロセスジョブ番号の基板処理を開始することができる。これにより、処理ユニットの稼働率をさらに高めることができる。 Even when the usage right is set for a certain process job number, if there is another process job number that designates only a processing unit for which no usage right is set as a parallel processing unit, the other process Usage rights can be set for job numbers. Thereby, the operation efficiency of resources, such as a processing unit, can be improved further. If the last usage time of a processing unit for which usage rights have not been set is earlier than the last usage time for a processing unit for which usage rights have been set, the usage rights are set for the process job number that uses the processing unit for which usage rights have not been set. Thus, the substrate processing of the process job number can be started. Thereby, the operation rate of a processing unit can further be raised.
図29は、この発明の他の実施形態に係る基板処理装置のレイアウトを示す図解的な平面図であり、図30はその図解的な側面図である。図29および図30において、図1および図2に示された各部の対応部分には同一参照符号を付す。
この実施形態では、インデクサロボットIRのハンド8A,8Bは、それぞれ2つの基板保持部を有しており、これらの基板保持部を切り換えて用いることができるように構成されている。より具体的には、各ハンド8A,8Bは、第1基板保持部および第2基板保持部を有していて、第1基板保持部で基板Wを保持する第1状態と、第2基板保持部で基板Wを保持する第2状態とで切り換え可能に構成されている。たとえば、未処理基板Wを保持するときは第1状態に制御され、処理済み基板Wを保持するときは第2状態に制御される。この構成によって、インデクサロボットIRは、いずれも第1状態とした2つのハンド8Aおよび8Bで2枚の未処理基板Wを同時に保持して搬送したり、いずれも第2状態とした2つのハンド8Aおよび8Bで2枚の処理済み基板Wを同時に保持して搬送したりすることができる。このような基板搬送ロボットの一例の具体的な構成例は、たとえば、特許文献3に記載されている。
FIG. 29 is a schematic plan view showing a layout of a substrate processing apparatus according to another embodiment of the present invention, and FIG. 30 is a schematic side view thereof. 29 and FIG. 30, the same reference numerals are assigned to the corresponding portions of the respective parts shown in FIG. 1 and FIG.
In this embodiment, each of the hands 8A and 8B of the indexer robot IR has two substrate holders, and these substrate holders can be switched and used. More specifically, each hand 8A, 8B has a first substrate holding unit and a second substrate holding unit, and a first state in which the substrate W is held by the first substrate holding unit, and a second substrate holding It is configured to be switchable between a second state where the substrate W is held by the portion. For example, when the unprocessed substrate W is held, the first state is controlled, and when the processed substrate W is held, the second state is controlled. With this configuration, the indexer robot IR holds and transports two unprocessed substrates W simultaneously with the two hands 8A and 8B, both of which are in the first state, or two hands 8A of which both are in the second state. And 8B, the two processed substrates W can be simultaneously held and transported. A specific configuration example of an example of such a substrate transport robot is described in Patent Document 3, for example.
さらに、この実施形態では、主搬送ロボットCRは、4本のハンド13A,13B,13C,13Dを有している。これらの4本のハンド13A,13B,13C,13Dは、多関節アーム12に結合されている。多関節アーム12には、4本のハンド13A,13B,13C,13Dを独立して鉛直軸線回りに回動させる回動駆動機構と、4本のハンド13A,13B,13C,13Dを独立して水平方向に進退させる進退駆動機構とが備えられている。たとえば、2本のハンド13Aおよび13Bは未処理基板Wの搬送のために用いられ、2本のハンド13Cおよび13Dは処理済み基板Wの搬送のために用いられるように、主搬送ロボットCRの動作が制御される。 Further, in this embodiment, the main transport robot CR has four hands 13A, 13B, 13C, and 13D. These four hands 13A, 13B, 13C, and 13D are coupled to the articulated arm 12. The multi-joint arm 12 includes a rotation driving mechanism that independently rotates the four hands 13A, 13B, 13C, and 13D around the vertical axis, and the four hands 13A, 13B, 13C, and 13D independently. An advance / retreat drive mechanism for advancing / retreating in the horizontal direction is provided. For example, the operation of the main transport robot CR so that the two hands 13A and 13B are used for transporting the unprocessed substrate W and the two hands 13C and 13D are used for transport of the processed substrate W. Is controlled.
この他の構成は、図1および図2等に示した構成と同様であり、基板処理装置の制御のための構成は、図3の構成と同様である。
図31および図32は、スケジューリング機能部25による処理例(第2の実施形態)を説明するためのフローチャートである。より具体的には、制御部21(コンピュータ20)がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、スケジュール作成プログラム31には、図31および図32に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。図31および図32において、図4および図5に示したステップと同様の処理が行われるステップには同一参照符号を付してある。
Other configurations are the same as those shown in FIGS. 1 and 2 and the like, and the configuration for controlling the substrate processing apparatus is the same as the configuration shown in FIG.
FIGS. 31 and 32 are flowcharts for explaining a processing example (second embodiment) by the scheduling function unit 25. More specifically, a process performed by the control unit 21 (computer 20) executing the schedule creation program 31 is shown. In other words, the schedule creation program 31 includes a group of steps so as to cause the computer to execute the processes shown in FIGS. 31 and 32, the same reference numerals are assigned to steps in which the same processing as the steps shown in FIGS. 4 and 5 is performed.
ホストコンピュータ24からもしくは出入力部22からオペレータによって基板処理開始の指示が与えられると(ステップS1)、スケジューリング機能部25は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成する(ステップS2)。基板処理開始指示は、基板収容器Cに収容された全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブ番号が付与された基板Wの処理開始を指示するものであってもよい。 When an instruction for starting the substrate processing is given from the host computer 24 or the input / output unit 22 by the operator (step S1), the scheduling function unit 25 displays a temporary time table for all the substrates W to which the substrate processing start instruction is given. Create (step S2). The substrate processing start instruction may be issued for all the substrates W accommodated in the substrate container C as a unit. The substrate processing start instruction may be an instruction to start processing of the substrate W to which one or more process job numbers are assigned.
たとえば、処理内容データにおいて或るプロセスジョブ番号に対応付けられたレシピが、処理ユニットSPIN1〜SPIN4の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、4個の処理ユニットSPIN1〜SPIN4のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ番号が付与された基板Wが処理を受けるときに通る経路は、4通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットSPIN1〜SPIN4のいずれかを通る4個の経路である。そこで、スケジューリング機能部25は、その4個の経路に対応した仮タイムテーブルを作成する。こうして作成される仮タイムテーブルは、前述の図6の仮タイムテーブルと類似した仮タイムテーブルとなる。 For example, it is assumed that a recipe associated with a certain process job number in the processing content data specifies parallel processing of the processing units SPIN1 to SPIN4. That is, consider a case where the substrate processing according to the recipe can be executed in any of the four processing units SPIN1 to SPIN4. In this case, there are four paths through which the substrate W to which the process job number is assigned undergoes processing. That is, the paths that can be selected for processing the substrate W are four paths that pass through any one of the processing units SPIN1 to SPIN4. Therefore, the scheduling function unit 25 creates a temporary time table corresponding to the four routes. The temporary time table created in this way is a temporary time table similar to the temporary time table of FIG.
同様の仮タイムテーブルが同じプロセスジョブ番号が付与された基板Wの全てに対応して作成される。たとえば、同じプロセスジョブ番号が付与された基板Wが4枚あれば、合計で16経路(4経路×4枚)分の仮タイムテーブルが作成される。さらに、同時に開始指示されたプロセスジョブ番号が複数個ある場合には、全てのプロセスジョブ番号に関して、同様の処理が行われて仮タイムテーブルが作成される。こうして作成された仮タイムテーブルは、スケジュールデータ50の一部として記憶部23に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉(時間軸上での重なり合い)は考慮されない。 A similar temporary time table is created corresponding to all the substrates W to which the same process job number is assigned. For example, if there are four substrates W to which the same process job number is assigned, a temporary time table for a total of 16 paths (4 paths × 4 sheets) is created. Furthermore, when there are a plurality of process job numbers that are instructed to start at the same time, the same processing is performed for all the process job numbers to create a temporary time table. The temporary time table created in this way is stored in the storage unit 23 as part of the schedule data 50. In the stage of creating the temporary timetable, interference with the block relating to another substrate W (overlap on the time axis) is not considered.
スケジューリング指示が発生すると(ステップS3)、当該プロセスジョブ番号の基板Wに関するブロックの配置が行われる(全体スケジューリング。ステップS4〜S18)。具体的には、スケジューリング機能部25は、当該基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。 When a scheduling instruction is generated (step S3), blocks relating to the substrate W of the process job number are arranged (overall scheduling, steps S4 to S18). Specifically, the scheduling function unit 25 reads the temporary time table of the substrate W from the storage unit 23 and arranges the blocks constituting the temporary time table on the time axis.
さらに具体的に説明すると、スケジューリング機能部25は、基板処理開始の指示が与えられると、当該スケジューリング機能部25において基板処理手順を管理している全ての基板Wに関して、処理内容データ(プロセスジョブ番号およびレシピ)を記憶部23から取得する(ステップS4)。さらに、スケジューリング機能部25は、基板収容器Cから搬出されて処理開始されている基板Wがあるかどうかを判断する(ステップS5)。いずれの基板Wの処理も開始されていなければ(ステップS5:NO)、スケジューリング機能部25は、記憶部23から取得した処理内容データに対応する基板Wのうち、ステージSTで待機中であり、かつスケジューリングが行われていない基板Wがあるかどうかを判断する(ステップS7)。 More specifically, the scheduling function unit 25 receives processing instruction data (process job numbers) for all the substrates W that manage the substrate processing procedure in the scheduling function unit 25 when an instruction to start the substrate processing is given. And a recipe) are acquired from the memory | storage part 23 (step S4). Furthermore, the scheduling function unit 25 determines whether there is a substrate W that has been unloaded from the substrate container C and has started processing (step S5). If the processing of any substrate W has not been started (step S5: NO), the scheduling function unit 25 is waiting at the stage ST among the substrates W corresponding to the processing content data acquired from the storage unit 23, It is then determined whether there is a substrate W that has not been scheduled (step S7).
この判断が肯定されると、さらに、スケジューリング機能部25は、インデクサロボットIRが一度に搬送可能な枚数(この実施形態では2枚)分の未処理基板Wに関するスケジューリングを行ったかどうかを判断する(ステップS18)。この判断が肯定されれば、スケジューリングを一旦終える(ステップS17)。
一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了のときは(ステップS18:NO)、スケジューリング機能部25は、スケジューリングを行っていない基板Wのうち、処理順序が最も若い基板Wをスケジューリング対象基板Wとし、そのスケジューリング対象基板Wに関するデータ(処理内容データおよびスケジュールデータ)を記憶部23から取得する(ステップS8)。通常は、基板収容器Cにおいて上に位置している基板Wほど処理順序が若い。
If this determination is affirmed, the scheduling function unit 25 further determines whether or not the indexer robot IR has performed scheduling for the unprocessed substrates W for the number of sheets that can be transferred at one time (two in this embodiment) ( Step S18). If this determination is affirmed, the scheduling is temporarily ended (step S17).
When scheduling of the unprocessed substrates W for the number of sheets that can be transported at one time has not been completed (step S18: NO), the scheduling function unit 25 has the youngest substrate W in the processing order among the substrates W that have not been scheduled. Is a scheduling target substrate W, and data (processing content data and schedule data) relating to the scheduling target substrate W is acquired from the storage unit 23 (step S8). Usually, the processing order is younger as the substrate W is located on the upper side of the substrate container C.
次に、スケジューリング機能部25は、データを取得した当該スケジューリング対象基板Wと共通のプロセスジョブ番号が付与された別の基板Wに対するスケジューリングを既に行ったかどうかを判断する(ステップS9)。或るプロセスジョブ番号の最初の基板がスケジューリング対象基板Wであるときには、この判断が否定される。すると、スケジューリング機能部25は、スケジューリング対象基板Wに対応するレシピを参照し、そのレシピにおいて指定された並行処理ユニットが全て使用可能である、すなわち、並行処理ユニットのいずれにも使用権が設定されていないかどうかを判断する(ステップS10)。 Next, the scheduling function unit 25 determines whether or not scheduling has already been performed for another substrate W to which a process job number common to the scheduling target substrate W from which data has been acquired has been assigned (step S9). When the first substrate of a certain process job number is the scheduling target substrate W, this determination is denied. Then, the scheduling function unit 25 refers to the recipe corresponding to the scheduling target substrate W, and all the parallel processing units specified in the recipe can be used. That is, the usage right is set for any of the parallel processing units. It is judged whether it is not (step S10).
スケジューリングを開始した直後には、いずれの使用権も設定されていないので、ステップS10の判断が肯定される。この場合、スケジューリング機能部25は、スケジューリング対象基板Wのプロセスジョブ番号に対応するレシピで指定された並行処理ユニットの全てに対して使用権を設定する(ステップS11)。たとえば、レシピにおいて処理ユニットSPIN1〜SPIN4での並行処理が指定されていれば、スケジューリング対象基板Wが属するプロセスジョブ番号PJ1の基板群に対して、処理ユニットSPIN1〜SPIN4の使用権が設定される。この使用権が設定されている間は、他のプロセスジョブ番号の基板群の処理ブロックを処理ユニットSPIN1〜SPIN4に配置することはできない。すなわち、プロセスジョブ番号PJ1の使用権が設定されている処理ユニットを並行処理ユニットとして指定している他のプロセスジョブの基板Wに関しては、ステップS10の判断が否定され、スケジューリング対象外基板とされて、スケジューリングが禁止される。使用権が設定されたプロセスジョブ番号の別の基板Wがスケジューリング対象基板Wとなったときは、ステップS9の判断が肯定され、ステップS10およびS11の処理が省かれる。 Immediately after starting the scheduling, since no usage right is set, the determination in step S10 is affirmed. In this case, the scheduling function unit 25 sets a usage right for all the parallel processing units specified in the recipe corresponding to the process job number of the scheduling target substrate W (step S11). For example, if parallel processing in the processing units SPIN1 to SPIN4 is specified in the recipe, the right to use the processing units SPIN1 to SPIN4 is set for the substrate group of the process job number PJ1 to which the scheduling target substrate W belongs. While this usage right is set, the processing blocks of the substrate group having other process job numbers cannot be placed in the processing units SPIN1 to SPIN4. That is, regarding the substrate W of another process job that designates the processing unit for which the right to use the process job number PJ1 is set as the parallel processing unit, the determination in step S10 is denied and the substrate is not scheduled Scheduling is prohibited. When another substrate W of the process job number for which the usage right is set becomes the scheduling target substrate W, the determination in step S9 is affirmed, and the processing in steps S10 and S11 is omitted.
次いで、スケジューリング機能部25は、スケジューリング対象基板Wに対するスケジューリングを実行する。具体的には、スケジューリング機能部25は、スケジューリング対象基板Wに対応する仮タイムテーブルを参照し、当該仮タイムテーブルを構成するブロックを一つ取得する(ステップS12)。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部25は、当該取得したブロックを配置できる位置を検索し(ステップS13)、その検索された位置に当該ブロックを配置する(ステップS14)。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、仮タイムテーブルを構成する全てのブロックに関して繰り返し実行される(ステップS15)。そして、仮タイムテーブルを構成する全てのブロックを配置し終えると(ステップS15:YES)、スケジューリング機能部25は、各処理ユニットの最終使用時刻を計算し、その計算結果を記憶部23に格納する(ステップS16)。最終使用時刻の初期値は「0」である。この後は、ステップS7からの処理が繰り返される。処理開始指示された全てのプロセスジョブ番号の全基板Wに関するスケジューリングを終えると(ステップS7:NO)、全体スケジューリングが完了する。 Next, the scheduling function unit 25 executes scheduling for the scheduling target substrate W. Specifically, the scheduling function unit 25 refers to the temporary time table corresponding to the scheduling target substrate W, and acquires one block constituting the temporary time table (step S12). The block acquired at this time is the block arranged at the earliest position on the time axis of the temporary time table among the unallocated blocks. Further, the scheduling function unit 25 searches for a position where the acquired block can be arranged (step S13), and arranges the block at the searched position (step S14). Each block is arranged at the earliest position on the time axis while preventing the same resource from being used repeatedly at the same time. A similar operation is repeatedly executed for all blocks constituting the temporary time table (step S15). When all blocks constituting the temporary time table have been arranged (step S15: YES), the scheduling function unit 25 calculates the last use time of each processing unit and stores the calculation result in the storage unit 23. (Step S16). The initial value of the last use time is “0”. Thereafter, the processing from step S7 is repeated. When scheduling for all substrates W of all process job numbers instructed to start processing is completed (step S7: NO), overall scheduling is completed.
図32は、スケジューリング機能部25が図31の処理と並行して行う別の処理を説明するためのフローチャートであり、使用権の削除に関する処理を示す。インデクサロボットIRによって基板Wが基板収容器Cから払い出されると(ステップS21)、スケジューリング機能部25は、その基板Wが共通のプロセスジョブ番号が与えられた基板群のうちの最後の基板かどうかを判断する(ステップS22)。最後の基板であれば(ステップS22:YES)、スケジューリング機能部25は、そのプロセスジョブ番号の基板群に対して設定されている使用権を削除する(ステップS23)。最後の基板でなければ(ステップS22:NO)、使用権削除を行わない。 FIG. 32 is a flowchart for explaining another process performed by the scheduling function unit 25 in parallel with the process of FIG. When the substrate W is dispensed from the substrate container C by the indexer robot IR (step S21), the scheduling function unit 25 determines whether the substrate W is the last substrate in the substrate group to which a common process job number is given. Judgment is made (step S22). If it is the last substrate (step S22: YES), the scheduling function unit 25 deletes the usage right set for the substrate group of the process job number (step S23). If it is not the last substrate (step S22: NO), the usage right is not deleted.
図33〜図44は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群(プロセスジョブ)に対するスケジューリングの例を示す。プロセスジョブ番号PJ1の基板群は8枚の基板Wで構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN1〜SPIN2が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は2枚の基板Wで構成され、処理内容データ中のレシピによって4つの処理ユニットSPIN1〜SPIN4が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は2枚の基板Wで構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN3〜SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。なお、図33等のスケジューリング経過または結果を表す図面において、主搬送ロボットCRのハンド13A,13B,13C,13Dは、それぞれ「CR1」、「CR2」、「CR3」、「CR4」と表記してある。 FIGS. 33 to 44 show an example of scheduling for three substrate groups (process jobs) assigned process job numbers PJ1, PJ2, and PJ3. It is assumed that the substrate group of process job number PJ1 is composed of eight substrates W, and two processing units SPIN1 and SPIN2 are designated as parallel processing units by the recipe in the processing content data. Further, it is assumed that the substrate group of the process job number PJ2 includes two substrates W, and four processing units SPIN1 to SPIN4 are designated as parallel processing units by a recipe in the processing content data. Further, it is assumed that the substrate group of the process job number PJ3 includes two substrates W, and two processing units SPIN3 to SPIN4 are designated as parallel processing units by the recipe in the processing content data. A case is assumed in which processing is started for the substrate groups of process job numbers PJ1, PJ2, and PJ3 in the order of the numbers, and a scheduling instruction is generated. In the drawing showing the scheduling progress or result such as FIG. 33, the hands 13A, 13B, 13C and 13D of the main transfer robot CR are expressed as “CR1”, “CR2”, “CR3” and “CR4”, respectively. is there.
基板処理開始指示が与えられると(図31のステップS1)、スケジューリング機能部25は、仮タイムテーブルを作成する。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の8枚の基板Wに対して、それぞれ処理ユニットSPIN1またはSPIN2を通る経路を表す仮タイムテーブルを作成する。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚の基板Wに対して、それぞれ処理ユニットSPIN1〜SPIN4のいずれか一つを通る経路を表す仮タイムテーブルを作成する。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚の基板Wに対して、それぞれ処理ユニットSPIN3またはSPIN4を通る経路を表す仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。 When a substrate processing start instruction is given (step S1 in FIG. 31), the scheduling function unit 25 creates a temporary time table. In other words, the scheduling function unit 25 creates a temporary time table that represents a route passing through the processing unit SPIN1 or SPIN2 for the eight substrates W having the process job number PJ1. In addition, the scheduling function unit 25 creates a temporary time table representing a route passing through any one of the processing units SPIN1 to SPIN4 for the two substrates W having the process job number PJ2. Further, the scheduling function unit 25 creates a provisional time table that represents a route passing through the processing unit SPIN3 or SPIN4 for the two substrates W having the process job number PJ3. The created temporary time table is stored in the storage unit 23.
プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると(図31のステップS3)、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在しないので(ステップS5:NO)、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。はじめは、いずれの処理ユニットの最終使用時刻も「0」であるので、番号の最も若い処理ユニットSPIN1を使うプロセスジョブのうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であり(ステップS7:YES)、インデクサロボットIRの同時搬送数(この実施形態では2)以上の未処理基板Wのスケジューリングが未了であるので(ステップS18:NO)、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルを記憶部23から取得する(ステップS8)。 When the start of processing for the process job numbers PJ1, PJ2, and PJ3 is instructed in order and a scheduling instruction is generated in response thereto (step S3 in FIG. 31), the scheduling function unit 25 stores all the temporary times stored in the storage unit 23. The table, that is, the temporary time table of all the substrates W corresponding to the process job numbers PJ1 to PJ3 is read, and the entire scheduling is started. Since there is no other substrate W that has already started processing (step S5: NO), the scheduling function unit 25 searches for the processing unit with the earliest last use time. Initially, since the last use time of any of the processing units is “0”, the process job number PJ1 that is instructed to start processing first among the process jobs that use the processing unit SPIN1 with the smallest number is evaluated. . In this case, the scheduling for the substrate W of the process job number PJ1 has not been completed (step S7: YES), and the scheduling of the unprocessed substrate W that is equal to or greater than the number of simultaneous transfer of the indexer robot IR (2 in this embodiment) has not been completed. Therefore (step S18: NO), the scheduling function unit 25 acquires the temporary time table of the first substrate PJ1-1 having the process job number PJ1 from the storage unit 23 (step S8).
プロセスジョブ番号PJ1の他の基板Wに対するスケジューリングはされておらず(ステップS9:NO)、いずれの処理ユニットに対しても使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2に関する使用権を、プロセスジョブ番号PJ1の基板群に対して設定する(ステップS11)。 Scheduling for the other substrate W of the process job number PJ1 is not performed (step S9: NO), and the right to use is not set for any of the processing units (step S10: YES). Sets the usage rights for the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1 for the substrate group of the process job number PJ1 (step S11).
その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。そして、各処理ユニットの最終使用時刻が計算されて、記憶部23に格納される(ステップS16)。
図33は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1に関するブロックを配置した例を示す。いずれの処理ユニットも使用されていない状態であるので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ1-1 having the process job number PJ1 (steps S12 to S15). Then, the last use time of each processing unit is calculated and stored in the storage unit 23 (step S16).
FIG. 33 shows an example in which blocks relating to the first substrate PJ1-1 of the process job number PJ1 are arranged. Since none of the processing units is in use, a temporary time table representing a route passing through the processing unit SPIN1 is selected, and blocks constituting the temporary time table are arranged on the time axis in front-alignment.
スケジューリング機能部25は、図31のステップS16での処理の後、ステップS7からの処理を行う。
ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、処理ユニットSPIN2〜4の最終使用時刻が「0」であるので、番号の最も若い処理ユニットSPIN2を使うプロセスジョブ番号PJ1,PJ2のうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。
The scheduling function unit 25 performs the processing from step S7 after the processing in step S16 of FIG.
In step S7, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing units SPIN2 to SPIN4 is “0”, among the process job numbers PJ1 and PJ2 that use the processing unit SPIN2 with the smallest number, the process job number PJ1 that is instructed to start processing the earliest. Is evaluated.
プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であり(ステップS7:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS18:NO)、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1−2の仮タイムテーブルを記憶部23から取得する(ステップS8)。プロセスジョブ番号PJ1の他の基板PJ1−1に対するスケジューリングがされているので(ステップS9:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1−2の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 Scheduling for the substrate W of the process job number PJ1 has not been completed (step S7: YES), and the number of scheduled substrates W is less than the number of simultaneous transfer of the indexer robot IR (2 in this embodiment) (step S18). : NO), the scheduling function unit 25 acquires the temporary time table of the second substrate PJ1-2 of the process job number PJ1 from the storage unit 23 (step S8). Since the scheduling for the other substrate PJ1-1 of the process job number PJ1 is performed (step S9: YES), the scheduling function unit 25 configures a temporary time table for the second substrate PJ1-2 of the process job number PJ1. The blocks to be processed are arranged (steps S12 to S15).
図34は、プロセスジョブ番号PJ1の2枚目の基板PJ1−2に関するブロックを配置した例を示す。並行処理ユニットSPIN1に対して1枚目の基板PJ1−1のための処理ブロックが配置されているので、処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択される。その仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは、基板Wを同時に搬送可能であるので、これらのハンド8A,8Bによる基板搬送を表すブロックは時間軸上で重なり合うように配置される。 FIG. 34 shows an example in which blocks relating to the second substrate PJ1-2 having the process job number PJ1 are arranged. Since a processing block for the first substrate PJ1-1 is arranged for the parallel processing unit SPIN1, a temporary time table representing a route passing through the processing unit SPIN2 is selected. The blocks constituting the temporary time table are arranged on the time axis so as not to interfere with the already arranged blocks. Since the hands 8A and 8B of the indexer robot IR can simultaneously transport the substrate W, the blocks representing the substrate transport by these hands 8A and 8B are arranged so as to overlap on the time axis.
こうして、2枚の基板PJ1−1,PJ1−2のスケジューリングが完成すると、それらの基板PJ1−1,PJ1−2の搬送が開始される。
基板PJ1−1,PJ1−2が基板収容器Cから払い出されると(図32のステップS21)、基板PJ1−2はプロセスジョブ番号PJ1の最後の基板ではないので(ステップS22:NO)、プロセスジョブ番号PJ1に関する使用権はそのまま維持される。そして、プロセスジョブ番号PJ1の3枚目の基板PJ1−3およびプロセスジョブ番号PJ2,PJ3に関するスケジューリング指示が発生し(ステップS3:YES)、ステップS4からの動作が行われる。すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1,PJ1−2があるので(ステップS5:YES)、それらの基板PJ1−1,PJ1−2についてのスケジューリングを行う(ステップS6)。その結果は、図34と同じである。
Thus, when the scheduling of the two substrates PJ1-1 and PJ1-2 is completed, the conveyance of the substrates PJ1-1 and PJ1-2 is started.
When the substrates PJ1-1 and PJ1-2 are paid out from the substrate container C (step S21 in FIG. 32), since the substrate PJ1-2 is not the last substrate of the process job number PJ1 (step S22: NO), the process job The right to use the number PJ1 is maintained as it is. Then, a scheduling instruction regarding the third substrate PJ1-3 of the process job number PJ1 and the process job numbers PJ2 and PJ3 is generated (step S3: YES), and the operation from step S4 is performed. That is, in response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. . Since there are substrates PJ1-1 and PJ1-2 that have already started processing (step S5: YES), scheduling for these substrates PJ1-1 and PJ1-2 is performed (step S6). The result is the same as FIG.
一方、このスケジューリング指示が発生する前には、スケジューリング機能部25は、図31のステップS16での処理の後、ステップS7からの処理を行う。
ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、処理ユニットSPIN3〜4の最終使用時刻が「0」であるので、番号の最も若い処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。しかし、プロセスジョブ番号PJ2の並行処理ユニットのうち処理ユニットSPIN1,SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているため、プロセスジョブ番号PJ2に関しては、図31のステップS10での判断が否定となり、「スケジューリング対象外」と判定されることになる。その結果、プロセスジョブ番号PJ3がスケジューリングの対象となる。
On the other hand, before this scheduling instruction is generated, the scheduling function unit 25 performs the processing from step S7 after the processing in step S16 of FIG.
In step S7, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing units SPIN3 to SPIN4 is “0”, among the process job numbers PJ2 and PJ3 that use the processing unit SPIN3 with the smallest number, the process job number PJ2 instructed to start processing the earliest Is evaluated. However, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2 among the parallel processing units of the process job number PJ2, the process job number PJ2 is determined in step S10 in FIG. The result is negative, and it is determined as “not scheduled”. As a result, the process job number PJ3 becomes a scheduling target.
プロセスジョブ番号PJ3の基板Wについてのスケジューリングは未了であるので、ステップS7での判断は肯定される。一方、インデクサロボットIRのハンド8A,8Bにより同時搬送される基板PJ1−1,PJ1−2の払い出しが未了であれば、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達して、ステップS18での判断が肯定され、スケジューリング終了となる(ステップS17)。 Since the scheduling for the substrate W of the process job number PJ3 has not been completed, the determination in step S7 is affirmed. On the other hand, if the delivery of the substrates PJ1-1 and PJ1-2 that are simultaneously transported by the hands 8A and 8B of the indexer robot IR is not completed, the number of scheduled substrates W is the number of simultaneous transports of the indexer robot IR (this embodiment). Then, 2) is reached, the determination in step S18 is affirmed, and the scheduling ends (step S17).
インデクサロボットIRのハンド8A,8Bによって基板PJ1−1,PJ1−2の払い出しを終えてスケジューリング指示が発生すると、スケジューリングした基板枚数がリセットされて、ステップS18での判断が否定される。これにより、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルを記憶部23から取得する(ステップS8)。プロセスジョブ番号PJ3の他の基板Wに対するスケジューリングはされておらず(ステップS9:NO)、プロセスジョブ番号PJ3のレシピにおいて指定された並行処理ユニットSPIN3〜SPIN4に対する使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、それらの並行処理ユニットSPIN3〜SPIN4に関する使用権を、プロセスジョブ番号PJ3の基板群に対して設定する(ステップS11)。 When the scheduling instruction is issued after the dispensing of the substrates PJ1-1 and PJ1-2 is completed by the hands 8A and 8B of the indexer robot IR, the scheduled number of substrates is reset and the determination in step S18 is denied. Thereby, the scheduling function unit 25 acquires the temporary time table of the first substrate PJ3-1 having the process job number PJ3 from the storage unit 23 (step S8). Since the process job number PJ3 is not scheduled for another substrate W (step S9: NO), the right to use the parallel processing units SPIN3 to SPIN4 specified in the recipe of the process job number PJ3 is not set (step S9). (S10: YES), the scheduling function unit 25 sets the usage rights regarding these parallel processing units SPIN3 to SPIN4 to the substrate group of the process job number PJ3 (step S11).
その後、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。
図35に、プロセスジョブ番号PJ3の1枚目の基板PJ3−1に関するブロックを配置した例を示す。処理ユニットSPIN3,SPIN4のいずれの処理ユニットも使用されていない状態であるので、処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択されて、その仮タイムテーブルのブロックが配置されている。
Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ3-1 having the process job number PJ3 (steps S12 to S15).
FIG. 35 shows an example in which blocks relating to the first substrate PJ3-1 of process job number PJ3 are arranged. Since none of the processing units SPIN3 and SPIN4 is in use, a temporary time table representing a route passing through the processing unit SPIN3 is selected, and blocks of the temporary time table are arranged.
同様の処理が行われることにより、最終使用時刻が最も早い処理ユニットSPIN4を使用するプロセスジョブ番号PJ3の2枚目の基板PJ3−2に関するスケジューリングが行われることになる。図36に、プロセスジョブ番号PJ3の2枚目の基板PJ3−2に関するブロックを配置した例を示す。並行処理ユニットSPIN3に対して1枚目の基板PJ3−1のための処理ブロックが配置されているので、処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択されて、その仮タイムテーブルのブロックが配置されている。 By performing the same processing, scheduling for the second substrate PJ3-2 of the process job number PJ3 that uses the processing unit SPIN4 having the earliest final use time is performed. FIG. 36 shows an example in which blocks relating to the second substrate PJ3-2 having the process job number PJ3 are arranged. Since a processing block for the first substrate PJ3-1 is arranged for the parallel processing unit SPIN3, a temporary time table indicating a route passing through the processing unit SPIN4 is selected, and the block of the temporary time table is displayed. Has been placed.
こうして、2枚の基板PJ3−1,PJ3−2のスケジューリングが完成すると、それらの基板PJ3−1,PJ3−2の搬送が開始される。
基板PJ3−1,PJ3−2が基板収容器Cから払い出されると(図32のステップS21)、基板PJ3−2がプロセスジョブ番号PJ3の最後の基板であるので(ステップS22:YES)、プロセスジョブ番号PJ3に関する使用権が削除される(ステップS23)。そして、プロセスジョブ番号PJ1〜PJ3に関するスケジューリング指示が発生し(ステップS3)、ステップS4からの動作が行われる。
Thus, when the scheduling of the two substrates PJ3-1 and PJ3-2 is completed, the conveyance of the substrates PJ3-1 and PJ3-2 is started.
When the substrates PJ3-1 and PJ3-2 are paid out from the substrate container C (step S21 in FIG. 32), since the substrate PJ3-2 is the last substrate of the process job number PJ3 (step S22: YES), the process job The usage right for the number PJ3 is deleted (step S23). Then, a scheduling instruction regarding the process job numbers PJ1 to PJ3 is generated (step S3), and the operation from step S4 is performed.
すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1,PJ1−2,PJ3−1,PJ3−2があるので(ステップS5:YES)、それらの基板PJ1−1,PJ1−2,PJ3−1,PJ3−2についてのスケジューリングを行う(ステップS6)。その結果は、図36と同じである。 That is, in response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. . Since there are substrates PJ1-1, PJ1-2, PJ3-1, and PJ3-2 that have already started processing (step S5: YES), these substrates PJ1-1, PJ1-2, PJ3-1, and PJ3-2. Is scheduled (step S6). The result is the same as FIG.
一方、このスケジューリング指示が発生する前には、スケジューリング機能部25は、図31のステップS16での処理の後、ステップS7からの処理を行う。
ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1〜PJ3のうちのいずれかで使用する処理ユニットSPIN1〜SPIN4のうち、処理ユニットSPIN1の最終使用時刻が最も早いので、処理ユニットSPIN1を使うプロセスジョブ番号PJ1,PJ2のうち、最も早く処理開始指示されたプロセスジョブ番号PJ1についての評価が行われる。
On the other hand, before this scheduling instruction is generated, the scheduling function unit 25 performs the processing from step S7 after the processing in step S16 of FIG.
In step S7, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing unit SPIN1 is the earliest among the processing units SPIN1 to SPIN4 used in any of the target process job numbers PJ1 to PJ3, the process job numbers PJ1 and PJ2 that use the processing unit SPIN1 Among these, the process job number PJ1 that is instructed to start processing the earliest is evaluated.
プロセスジョブ番号PJ1の3枚目以降の基板についてのスケジューリングは未了であるので(ステップS7:YES)、ステップS7での判断は肯定される。一方、インデクサロボットIRのハンド8A,8Bにより同時搬送される基板PJ3−1,PJ3−2の払い出しが未了であれば、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達して、ステップS18での判断が肯定され、スケジューリング終了となる(ステップS17)。 Since the scheduling for the third and subsequent substrates of process job number PJ1 has not been completed (step S7: YES), the determination in step S7 is affirmed. On the other hand, if the payout of the substrates PJ3-1 and PJ3-2 that are simultaneously transported by the hands 8A and 8B of the indexer robot IR has not been completed, the number of scheduled substrates W is equal to the number of simultaneous transports of the indexer robot IR (this embodiment). Then, 2) is reached, the determination in step S18 is affirmed, and the scheduling ends (step S17).
インデクサロボットIRのハンド8A,8Bによって基板PJ3−1,PJ3−2の払い出しを終えてスケジューリング指示が発生すると、スケジューリングした基板枚数がリセットされて、ステップS18での判断が否定される。これにより、スケジューリング機能部25は、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルを記憶部23から取得する(ステップS8)。プロセスジョブ番号PJ1の他の基板PJ1−1,PJ1−2に対するスケジューリングがされているので(ステップS9:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 When the scheduling instruction is generated after the dispensing of the substrates PJ3-1 and PJ3-2 is completed by the hands 8A and 8B of the indexer robot IR, the scheduled number of substrates is reset and the determination in step S18 is denied. Thereby, the scheduling function unit 25 acquires the temporary time table of the third substrate PJ1-3 having the process job number PJ1 from the storage unit 23 (step S8). Since scheduling is performed for the other substrates PJ1-1 and PJ1-2 of the process job number PJ1 (step S9: YES), the scheduling function unit 25 temporarily sets the third substrate PJ1-3 of the process job number PJ1. Blocks constituting the time table are arranged (steps S12 to S15).
図37に、プロセスジョブ番号PJ1の3枚目の基板PJ1−3に関するブロックを配置した例を示す。処理ユニットSPIN1に対してすでに処理ブロックが配置されているので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。
同様の処理が行われることにより、最終使用時刻が最も早い処理ユニットSPIN2を使用するプロセスジョブ番号PJ1の4枚目の基板PJ1−4に関するスケジューリングが行われることになる。図38に、プロセスジョブ番号PJ1の4枚目の基板PJ1−4に関するブロックを配置した例を示す。処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択されて、その仮タイムテーブルのブロックが配置されている。
FIG. 37 shows an example in which blocks relating to the third substrate PJ1-3 having the process job number PJ1 are arranged. Since processing blocks have already been arranged for the processing unit SPIN1, the blocks constituting the temporary time table representing the route passing through the processing unit SPIN1 are left-justified on the time axis so as not to interfere with the already arranged blocks. Placed in.
By performing the same processing, scheduling for the fourth substrate PJ1-4 of the process job number PJ1 using the processing unit SPIN2 with the earliest last use time is performed. FIG. 38 shows an example in which blocks relating to the fourth substrate PJ1-4 of process job number PJ1 are arranged. A temporary time table representing a route passing through the processing unit SPIN2 is selected, and a block of the temporary time table is arranged.
こうして、2枚の基板PJ1−3,PJ1−4のスケジューリングが完成すると、それらの基板PJ1−3,PJ1−4の搬送が開始される。
基板PJ1−3,PJ1−4が基板収容器Cから払い出されると(図32のステップS21)、基板PJ1−4はプロセスジョブ番号PJ1の最後の基板ではないので(ステップS22:YES)、プロセスジョブ番号PJ1に関する使用権が維持される。そして、プロセスジョブ番号PJ1〜PJ3に関するスケジューリング指示が発生し(ステップS3)、ステップS4からの動作が行われる。
Thus, when the scheduling of the two substrates PJ1-3 and PJ1-4 is completed, the conveyance of the substrates PJ1-3 and PJ1-4 is started.
When the substrates PJ1-3 and PJ1-4 are paid out from the substrate container C (step S21 in FIG. 32), the substrate PJ1-4 is not the last substrate of the process job number PJ1 (step S22: YES). The usage rights for the number PJ1 are maintained. Then, a scheduling instruction regarding the process job numbers PJ1 to PJ3 is generated (step S3), and the operation from step S4 is performed.
すなわち、スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1〜4,PJ3−1〜2があるので(ステップS5:YES)、それらの基板PJ1−1〜4,PJ3−1〜2についてのスケジューリングを行う(ステップS6)。その結果は、図38と同じである。 That is, in response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. . Since there are the substrates PJ1-1 to PJ3-1 and PJ3-1 and 2 that have already started processing (step S5: YES), scheduling is performed for these substrates PJ1-1 to 4 and PJ3-1 and 2 (step S6). ). The result is the same as FIG.
一方、このスケジューリング指示が発生する前には、スケジューリング機能部25は、図31のステップS16での処理の後、ステップS7からの処理を行う。
ステップS7において、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1〜PJ3のうちのいずれかで使用する処理ユニットSPIN1〜SPIN4のうち、処理ユニットSPIN3の最終使用時刻が最も早いので(図38参照)、処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。しかし、プロセスジョブ番号PJ2の並行処理ユニットのうち処理ユニットSPIN1,SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているため、プロセスジョブ番号PJ2に関しては、図31のステップS10での判断が否定となり、「スケジューリング対象外」と判定されることになる。その結果、プロセスジョブ番号PJ1がスケジューリングの対象となる。そして、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうち、最終使用時刻が最先の処理ユニットSPIN1についての評価が行われることになる。
On the other hand, before this scheduling instruction is generated, the scheduling function unit 25 performs the processing from step S7 after the processing in step S16 of FIG.
In step S7, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing unit SPIN3 is the earliest among the processing units SPIN1 to SPIN4 used in any of the target process job numbers PJ1 to PJ3 (see FIG. 38), the process using the processing unit SPIN3. Of the job numbers PJ2 and PJ3, the process job number PJ2 that is instructed to start processing the earliest is evaluated. However, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2 among the parallel processing units of the process job number PJ2, the process job number PJ2 is determined in step S10 in FIG. The result is negative, and it is determined as “not scheduled”. As a result, the process job number PJ1 is a scheduling target. Then, among the parallel processing units SPIN1 and SPIN2 designated by the recipe of the process job number PJ1, the evaluation is performed for the processing unit SPIN1 having the earliest last use time.
プロセスジョブ番号PJ1の5枚目以降の基板についてのスケジューリングは未了であるので(ステップS7:YES)、ステップS7での判断は肯定される。一方、インデクサロボットIRのハンド8A,8Bにより同時搬送される基板PJ3−1,PJ3−2の払い出しが未了であれば、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達して、ステップS18での判断が肯定され、スケジューリング終了となる(ステップS17)。 Since the scheduling for the fifth and subsequent substrates of process job number PJ1 has not been completed (step S7: YES), the determination in step S7 is affirmed. On the other hand, if the payout of the substrates PJ3-1 and PJ3-2 that are simultaneously transported by the hands 8A and 8B of the indexer robot IR has not been completed, the number of scheduled substrates W is equal to the number of simultaneous transports of the indexer robot IR (this embodiment). Then, 2) is reached, the determination in step S18 is affirmed, and the scheduling ends (step S17).
インデクサロボットIRのハンド8A,8Bによって基板PJ1−3,PJ1−4の払い出しを終えてスケジューリング指示が発生すると、スケジューリングした基板枚数がリセットされて、ステップS18での判断が否定される。これにより、スケジューリング機能部25は、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルを記憶部23から取得する(ステップS8)。プロセスジョブ番号PJ1の他の基板に対するスケジューリングがされているので(ステップS9:YES)、スケジューリング機能部25は、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルを構成するブロックを配置していく(ステップS12)。この場合、プロセスジェブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうち、最終使用時刻が最先の処理ユニットSPIN1を通る経路を表す仮タイムテーブルが用いられる。 When the scheduling instruction is issued after the dispensing of the substrates PJ1-3 and PJ1-4 is completed by the hands 8A and 8B of the indexer robot IR, the scheduled number of substrates is reset and the determination in step S18 is denied. Thereby, the scheduling function unit 25 acquires the temporary time table of the fifth substrate PJ1-5 of the process job number PJ1 from the storage unit 23 (step S8). Since the scheduling for other substrates of the process job number PJ1 has been performed (step S9: YES), the scheduling function unit 25 selects blocks constituting the temporary time table of the fifth substrate PJ1-5 of the process job number PJ1. They are arranged (step S12). In this case, a temporary time table is used that represents a path that passes through the processing unit SPIN1 whose last use time is the earliest among the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process jeb number PJ1.
図39に、プロセスジョブ番号PJ1の5枚目の基板PJ1−5に関するブロックを配置した例を示す。処理ユニットSPIN1に対してすでに処理ブロックが配置されているので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルを構成するブロックが、既に配置されたブロックと干渉しないように、時間軸上で前詰めに配置される。
同様の処理が行われることにより、プロセスジョブ番号PJ1の6番目の基板PJ1−6が処理ユニットSPIN2で処理するように計画され(図40参照)、プロセスジョブ番号PJ1の7番目の基板PJ1−7が処理ユニットSPIN1で処理するように計画され(図41参照)、プロセスジョブ番号PJ1の8番目の基板PJ1−8が処理ユニットSPIN2で処理するように計画される(図42参照)。
FIG. 39 shows an example in which blocks relating to the fifth substrate PJ1-5 of process job number PJ1 are arranged. Since processing blocks have already been arranged for the processing unit SPIN1, the blocks constituting the temporary time table representing the route passing through the processing unit SPIN1 are left-justified on the time axis so as not to interfere with the already arranged blocks. Placed in.
By performing the same processing, it is planned that the sixth substrate PJ1-6 of the process job number PJ1 is processed by the processing unit SPIN2 (see FIG. 40), and the seventh substrate PJ1-7 of the process job number PJ1 is processed. Are planned to be processed by the processing unit SPIN1 (see FIG. 41), and the eighth substrate PJ1-8 of the process job number PJ1 is planned to be processed by the processing unit SPIN2 (see FIG. 42).
基板PJ1−7,PJ1−8が基板収容器Cから払い出されると(図32のステップS21)、当該基板PJ1−8がプロセスジョブ番号PJ1の最後の基板であるので(ステップS22:YES)、プロセスジョブ番号PJ1に関する使用権が削除される(ステップS23)。そして、プロセスジョブ番号PJ1〜PJ3に関するスケジューリング指示が発生する(ステップS3:YES)。このとき、スケジューリング機能部25は、最終使用時刻の最も早い処理ユニットを検索する。この場合、対象のプロセスジョブ番号PJ1〜PJ3のうちのいずれかで使用する処理ユニットSPIN1〜SPIN4のうち、処理ユニットSPIN3の最終使用時刻が最も早いので、処理ユニットSPIN3を使うプロセスジョブ番号PJ2,PJ3のうち、最も早く処理開始指示されたプロセスジョブ番号PJ2についての評価が行われる。 When the substrates PJ1-7 and PJ1-8 are paid out from the substrate container C (step S21 in FIG. 32), since the substrate PJ1-8 is the last substrate of the process job number PJ1 (step S22: YES), the process The usage right relating to the job number PJ1 is deleted (step S23). Then, a scheduling instruction regarding the process job numbers PJ1 to PJ3 is generated (step S3: YES). At this time, the scheduling function unit 25 searches for the processing unit with the earliest last use time. In this case, since the last use time of the processing unit SPIN3 is the earliest among the processing units SPIN1 to SPIN4 used in any of the target process job numbers PJ1 to PJ3, the process job numbers PJ2 and PJ3 using the processing unit SPIN3 are used. Among these, the process job number PJ2 instructed to start processing the earliest is evaluated.
スケジューリング指示発生に応答して、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出す。既に処理開始している基板PJ1−1〜8,PJ3−1〜2があるので(ステップS5:YES)、それらの基板PJ1−1〜8,PJ3−1〜2についてのスケジューリングを行う(ステップS6)。その結果は、図42と同じである。 In response to the generation of the scheduling instruction, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3. Since there are substrates PJ1-1 through PJ3-1 and PJ3-1 and 2 that have already started processing (step S5: YES), scheduling is performed for these substrates PJ1-1 through 8 and PJ3-1 and 2 (step S6). ). The result is the same as FIG.
プロセスジョブ番号PJ2の基板についてのスケジューリングは未了であるので(ステップS7:YES)、ステップS7での判断は肯定される。一方、インデクサロボットIRのハンド8A,8Bによって基板PJ1−7,PJ1−8の払い出しを終えてスケジューリング指示が発生すると、スケジューリングした基板枚数がリセットされて、ステップS18での判断が否定される。これにより、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブル(処理ユニットSPIN3を通るもの)を記憶部23から取得する(ステップS8)。プロセスジョブ番号PJ2の他の基板に対するスケジューリングは未了であり(ステップS9:NO)、プロセスジョブ番号PJ2のレシピにおいて指定された並行処理ユニットSPIN1〜SPIN4に対する使用権は未設定であるので(ステップS10:YES)、スケジューリング機能部25は、それらの並行処理ユニットSPIN1〜SPIN4に関する使用権を、プロセスジョブ番号PJ2の基板群に対して設定する(ステップS11)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブルを構成するブロックを配置していく(ステップS12〜S15)。 Since the scheduling for the substrate of the process job number PJ2 has not been completed (step S7: YES), the determination in step S7 is affirmed. On the other hand, when the scheduling instruction is generated after the dispensing of the substrates PJ1-7 and PJ1-8 is completed by the hands 8A and 8B of the indexer robot IR, the scheduled number of substrates is reset, and the determination in step S18 is denied. As a result, the scheduling function unit 25 obtains a temporary time table (passing through the processing unit SPIN3) of the first substrate PJ2-1 having the process job number PJ2 from the storage unit 23 (step S8). Scheduling for other substrates of process job number PJ2 has not been completed (step S9: NO), and the usage rights for the parallel processing units SPIN1 to SPIN4 designated in the recipe of process job number PJ2 have not been set (step S10). : YES), the scheduling function unit 25 sets the usage rights related to the parallel processing units SPIN1 to SPIN4 to the substrate group of the process job number PJ2 (step S11). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ2-1 having the process job number PJ2 (steps S12 to S15).
図43に、プロセスジョブ番号PJ2の1枚目の基板PJ2−1に関するブロックを配置した例を示す。プロセスジョブ番号PJ1の最後の基板PJ1−8の搬送開始まで、処理ユニットSPIN1〜SPIN2に対するプロセスジョブ番号PJ1の使用権が削除されないので、基板PJ2−1に関するブロックは、基板PJ1−8を基板収容器Cから払い出す動作を指定するブロックよりも時間軸上において後に配置することになる。したがって、基板PJ2−1に対する処理が基板PJ1−8に対する処理を追い越すような計画が立てられることはない。 FIG. 43 shows an example in which blocks relating to the first substrate PJ2-1 having the process job number PJ2 are arranged. The right to use the process job number PJ1 for the processing units SPIN1 and SPIN2 is not deleted until the last substrate PJ1-8 of the process job number PJ1 is transported. It is arranged later on the time axis than the block that specifies the operation of paying out from C. Therefore, there is no plan that the process for the substrate PJ2-1 overtakes the process for the substrate PJ1-8.
同様の処理が行われることにより、プロセスジョブ番号PJ2の2番目の基板PJ2−2が処理ユニットSPIN4で処理するように計画される(図44参照)。
2枚の基板PJ2−1,PJ2−2が基板収容器Cから払い出されると(図32のステップS21)、基板PJ2−2がプロセスジョブ番号PJ2の最後の基板であるので(ステップS22:YES)、プロセスジョブ番号PJ2に関する使用権が削除される(ステップS23)。こうして、全ての対象基板に対するスケジューリングが完了する(ステップS7:NO。ステップS17)。
By performing the same processing, the second substrate PJ2-2 of the process job number PJ2 is planned to be processed by the processing unit SPIN4 (see FIG. 44).
When the two substrates PJ2-1 and PJ2-2 are paid out from the substrate container C (step S21 in FIG. 32), the substrate PJ2-2 is the last substrate of the process job number PJ2 (step S22: YES). The usage right for the process job number PJ2 is deleted (step S23). Thus, scheduling for all target substrates is completed (step S7: NO, step S17).
以上のように、この実施形態によれば、第1の実施形態の場合と同様の効果に加えて、次のような効果が得られる。すなわち、インデクサロボットIR、同時に2枚の基板Wを搬送できるので、インデクサロボットIRに関して、2枚の基板の搬送を表す搬送ブロックを時間軸上で重なり合うように配置される。これにより、2枚の基板の同時搬送を計画することができるから、基板搬送効率を高めることができ、それによって、基板処理装置の生産性を高めることができる。 As described above, according to this embodiment, in addition to the same effects as those of the first embodiment, the following effects can be obtained. That is, since the indexer robot IR and the two substrates W can be simultaneously transferred, the transfer blocks representing the transfer of the two substrates are arranged on the time axis so as to overlap each other with respect to the indexer robot IR. Thereby, since the simultaneous conveyance of two substrates can be planned, the substrate conveyance efficiency can be increased, and thereby the productivity of the substrate processing apparatus can be increased.
図45は、この発明のさらに他の実施形態を説明するための図であり、スケジューリング機能部25による処理例(第3の実施形態)を説明するためのフローチャートである。この実施形態における基板処理装置の構成は、図29および図30のとおりであり、その電気的構成は図3に示す構成と同様である。図45には、制御部21(コンピュータ20)がスケジュール作成プログラム31を実行することによって行われる処理が表されている。換言すれば、スケジュール作成プログラム31には、図45に示す処理をコンピュータに実行させるようにステップ群が組み込まれている。 FIG. 45 is a diagram for explaining still another embodiment of the present invention, and is a flowchart for explaining a processing example (third embodiment) by the scheduling function unit 25. The configuration of the substrate processing apparatus in this embodiment is as shown in FIGS. 29 and 30, and the electrical configuration is the same as that shown in FIG. FIG. 45 illustrates processing performed by the control unit 21 (computer 20) executing the schedule creation program 31. In other words, the schedule creation program 31 includes a group of steps so as to cause the computer to execute the processing shown in FIG.
ホストコンピュータ24からもしくは出入力部22からオペレータによって基板処理開始の指示が与えられると(ステップS31)、スケジューリング機能部25は、基板処理開始指示が与えられた全ての基板Wに関して、仮タイムテーブルを作成する(ステップS32)。基板処理開始指示は、基板収容器Cに収容された全ての基板Wを一単位として発行されてもよい。基板処理開始指示は、一つまたは複数のプロセスジョブ番号が付与された基板Wの処理開始を指示するものであってもよい。 When an instruction to start substrate processing is given from the host computer 24 or the input / output unit 22 by the operator (step S31), the scheduling function unit 25 displays temporary timetables for all the substrates W to which the substrate processing start instruction is given. Create (step S32). The substrate processing start instruction may be issued for all the substrates W accommodated in the substrate container C as a unit. The substrate processing start instruction may be an instruction to start processing of the substrate W to which one or more process job numbers are assigned.
たとえば、処理内容データにおいて或るプロセスジョブ番号に対応付けられたレシピが、処理ユニットSPIN1〜SPIN4の並行処理を指定しているとする。すなわち、当該レシピに従う基板処理が、4個の処理ユニットSPIN1〜SPIN4のいずれにおいても実行可能である場合を考える。この場合、当該プロセスジョブ番号が付与された基板Wが処理を受けるときに通る経路は、4通りである。すなわち、その基板Wの処理のために選択し得る経路は、処理ユニットSPIN1〜SPIN4のいずれかを通る4個の経路である。そこで、スケジューリング機能部25は、その4個の経路に対応した仮タイムテーブルを作成する。こうして作成される仮タイムテーブルは、前述の図6の仮タイムテーブルと類似したテーブルとなる。 For example, it is assumed that a recipe associated with a certain process job number in the processing content data specifies parallel processing of the processing units SPIN1 to SPIN4. That is, consider a case where the substrate processing according to the recipe can be executed in any of the four processing units SPIN1 to SPIN4. In this case, there are four paths through which the substrate W to which the process job number is assigned undergoes processing. That is, the paths that can be selected for processing the substrate W are four paths that pass through any one of the processing units SPIN1 to SPIN4. Therefore, the scheduling function unit 25 creates a temporary time table corresponding to the four routes. The temporary time table created in this way is a table similar to the temporary time table of FIG.
同様の仮タイムテーブルが同じプロセスジョブ番号が付与された基板Wの全てに対応して作成される。たとえば、同じプロセスジョブ番号が付与された基板Wが4枚あれば、合計で16経路(4経路×4枚)分の仮タイムテーブルが作成される。さらに、同時に開始指示されたプロセスジョブ番号が複数個ある場合には、全てのプロセスジョブ番号に関して、同様の処理が行われて仮タイムテーブルが作成される。こうして作成された仮タイムテーブルは、スケジュールデータ50の一部として記憶部23に格納される。仮タイムテーブルの作成段階では、別の基板Wに関するブロックとの干渉(時間軸上での重なり合い)は考慮されない。 A similar temporary time table is created corresponding to all the substrates W to which the same process job number is assigned. For example, if there are four substrates W to which the same process job number is assigned, a temporary time table for a total of 16 paths (4 paths × 4 sheets) is created. Furthermore, when there are a plurality of process job numbers that are instructed to start at the same time, the same processing is performed for all the process job numbers to create a temporary time table. The temporary time table created in this way is stored in the storage unit 23 as part of the schedule data 50. In the stage of creating the temporary timetable, interference with the block relating to another substrate W (overlap on the time axis) is not considered.
スケジューリング指示が発生すると(ステップS33:YES)、基板Wの処理に関するブロックの配置が行われる(全体スケジューリング。ステップS34〜S52)。具体的には、スケジューリング機能部25は、当該基板Wの仮タイムテーブルを記憶部23から読み出して、その仮タイムテーブルを構成しているブロックを時間軸上に配置していく。 When a scheduling instruction is generated (step S33: YES), blocks relating to the processing of the substrate W are arranged (overall scheduling; steps S34 to S52). Specifically, the scheduling function unit 25 reads the temporary time table of the substrate W from the storage unit 23 and arranges the blocks constituting the temporary time table on the time axis.
さらに具体的に説明すると、スケジューリング機能部25は、基板処理開始の指示が与えられると、当該スケジューリング機能部25において基板処理手順を管理している全ての基板Wに関して、処理内容データ(プロセスジョブ番号およびレシピ)を記憶部23から取得する(ステップS34)。さらに、スケジューリング機能部25は、基板収容器Cから搬出されて処理開始されている基板Wがあるかどうかを判断する(ステップS35)。いずれの基板Wの処理も開始されていなければ(ステップS35:NO)、スケジューリング機能部25は、記憶部23から取得した処理内容データに対応する基板Wのうち、ステージSTで待機中であり、かつスケジューリングが行われていない基板Wがあるかどうかを判断する(ステップS37)。この判断が肯定されると、さらに、スケジューリング機能部25は、インデクサロボットIRが一度に搬送可能な枚数(この実施形態では2枚)分の未処理基板Wに関するスケジューリングを行ったかどうかを判断する(ステップS38)。この判断が肯定されれば、スケジューリングを一旦終える。 More specifically, the scheduling function unit 25 receives processing instruction data (process job numbers) for all the substrates W that manage the substrate processing procedure in the scheduling function unit 25 when an instruction to start the substrate processing is given. And a recipe) are acquired from the memory | storage part 23 (step S34). Furthermore, the scheduling function unit 25 determines whether there is a substrate W that has been unloaded from the substrate container C and has started processing (step S35). If the processing of any substrate W has not been started (step S35: NO), the scheduling function unit 25 is waiting at the stage ST among the substrates W corresponding to the processing content data acquired from the storage unit 23, It is then determined whether there is a substrate W that has not been scheduled (step S37). If this determination is affirmed, the scheduling function unit 25 further determines whether or not the indexer robot IR has performed scheduling for the unprocessed substrates W for the number of sheets that can be transferred at one time (two in this embodiment) ( Step S38). If this determination is affirmed, the scheduling is temporarily finished.
一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了のときは(ステップS38:NO)、スケジューリング機能部25は、スケジューリングを行っていない基板Wのうち、処理順序が最も若い基板Wをスケジューリング対象基板Wとし、そのスケジューリング対象基板Wに関するデータ(処理内容データおよびスケジュールデータ)を記憶部23から取得する(ステップS39)。通常は、基板収容器Cにおいて上に位置している基板Wほど処理順序が若い。 When scheduling of unprocessed substrates W for the number of sheets that can be transferred at one time has not been completed (step S38: NO), the scheduling function unit 25 has the youngest substrate W in the processing order among the substrates W that have not been scheduled. Is a scheduling target substrate W, and data (processing content data and schedule data) relating to the scheduling target substrate W is acquired from the storage unit 23 (step S39). Usually, the processing order is younger as the substrate W is located on the upper side of the substrate container C.
次に、スケジューリング機能部25は、スケジューリング対象基板Wのプロセスジョブ番号に対応するレシピデータで指定されている並行処理ユニットのうちの少なくとも一つが使用可能かどうか、すなわち他のプロセスジョブ番号の使用権が設定されていないかどうかを判断する(ステップS40)。最初の基板Wに対してスケジューリングを行うときには、いずれの処理ユニットに対しても使用権は未設定である。そこで、スケジューリング機能部25は、使用可能な処理ユニットのうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。各処理ユニットの最終使用時刻の初期値は「0」である。最小の最終使用時刻を有する複数の処理ユニットが存在するときは、たとえば番号の若い処理ユニットを選択すればよい。 Next, the scheduling function unit 25 determines whether or not at least one of the parallel processing units specified in the recipe data corresponding to the process job number of the scheduling target substrate W is usable, that is, the right to use another process job number. Whether or not is set is determined (step S40). When scheduling is performed for the first substrate W, the right to use is not set for any processing unit. Therefore, the scheduling function unit 25 identifies the processing unit with the smallest last use time among the available processing units (step S41). The initial value of the last use time of each processing unit is “0”. When there are a plurality of processing units having the minimum last use time, for example, a processing unit having a smaller number may be selected.
次に、スケジューリング機能部25は、スケジューリング対象基板Wよりも後にスケジューリング指示が与えられた未スケジューリングの別のプロセスジョブ(共通のプロセスジョブ番号が付与された基板群)があり、かつそのプロセスジョブのレシピにおいて指定された並行処理ユニットの少なくとも一つが使用可能かどうか、すなわち、使用権未設定かどうかを判断する(ステップS42)。別のプロセスジョブのスケジューリング指示がなければ、この判断が否定され、スケジューリング機能部25は、スケジューリング対象基板Wのプロセスジョブ番号に対して指定された並行処理ユニット(ただし使用可能なもの)に対して、当該プロセスジョブの使用権を設定する(ステップS43)。 Next, the scheduling function unit 25 has another unscheduled process job (a board group to which a common process job number is assigned) to which a scheduling instruction is given after the scheduling target board W, and the process job It is determined whether at least one of the parallel processing units specified in the recipe is usable, that is, whether the usage right is not set (step S42). If there is no scheduling instruction for another process job, this determination is denied, and the scheduling function unit 25 applies to the parallel processing unit (but usable) designated for the process job number of the scheduling target substrate W. Then, the right to use the process job is set (step S43).
たとえば、レシピにおいて処理ユニットSPIN1〜SPIN4での並行処理が指定されていれば、図46に示すように、スケジューリング対象基板Wが属するプロセスジョブ番号PJ1の基板群に対して、処理ユニットSPIN1〜SPIN4の使用権が設定される。この使用権が設定されている間は、他のプロセスジョブ番号の基板群の処理ブロックを処理ユニットSPIN1〜SPIN4に配置することはできない。 For example, if parallel processing in the processing units SPIN1 to SPIN4 is specified in the recipe, as shown in FIG. 46, the processing units SPIN1 to SPIN4 are assigned to the substrate group of the process job number PJ1 to which the scheduling target substrate W belongs. Usage rights are set. While this usage right is set, the processing blocks of the substrate group having other process job numbers cannot be placed in the processing units SPIN1 to SPIN4.
次いで、スケジューリング機能部25は、スケジューリング対象基板Wに対するスケジューリングを実行する。具体的には、スケジューリング機能部25は、スケジューリング対象基板Wに対応する仮タイムテーブルを参照し、当該仮タイムテーブルを構成するブロックを一つ取得する(ステップS44)。このとき取得されるブロックは、未配置のブロックのうち仮タイムテーブルの時間軸上で最も早い位置に配置されているブロックである。さらに、スケジューリング機能部25は、当該取得したブロックを配置できる位置を検索し(ステップS45)、その検索された位置に当該ブロックを配置する(ステップS46)。各ブロックは、同一リソースが同じ時間に重複して使用されないようにしながら、時間軸上で最も早い位置に配置される。同様の動作が、仮タイムテーブルを構成する全てのブロックに関して繰り返し実行される(ステップS47)。そして、仮タイムテーブルを構成する全てのブロックを配置し終えると(ステップS47:YES)、スケジューリング機能部25は、そのスケジューリングされた処理ブロックの実行後における各処理ユニットの最終使用時刻を計算し、その計算結果を記憶部23に格納する(ステップS48)。最終使用時刻の初期値は「0」である。 Next, the scheduling function unit 25 executes scheduling for the scheduling target substrate W. Specifically, the scheduling function unit 25 refers to the temporary time table corresponding to the scheduling target substrate W, and acquires one block constituting the temporary time table (step S44). The block acquired at this time is the block arranged at the earliest position on the time axis of the temporary time table among the unallocated blocks. Further, the scheduling function unit 25 searches for a position where the acquired block can be arranged (step S45), and arranges the block at the searched position (step S46). Each block is arranged at the earliest position on the time axis while preventing the same resource from being used repeatedly at the same time. A similar operation is repeatedly executed for all blocks constituting the temporary time table (step S47). When all the blocks constituting the temporary time table have been arranged (step S47: YES), the scheduling function unit 25 calculates the last use time of each processing unit after the execution of the scheduled processing block, The calculation result is stored in the storage unit 23 (step S48). The initial value of the last use time is “0”.
次に、スケジューリング機能部25は、スケジューリング対象基板Wが、共通のプロセスジョブ番号が与えられた基板群のうちの最後の基板かどうかを判断する(ステップS49)。最後の基板であれば(ステップS49:YES)、スケジューリング機能部25は、そのプロセスジョブ番号の基板群に対して設定されている使用権を削除する(ステップS50)。最後の基板でなければ(ステップS49:NO)、使用権削除を行わない。この後は、ステップS37からの処理が繰り返される。処理開始指示された全てのプロセスジョブ番号の全基板Wに関するスケジューリングを終えると(ステップS37:NO)、全体スケジューリングが完了する(ステップS53)。 Next, the scheduling function unit 25 determines whether the scheduling target substrate W is the last substrate in the substrate group to which the common process job number is given (step S49). If it is the last substrate (step S49: YES), the scheduling function unit 25 deletes the usage right set for the substrate group of the process job number (step S50). If it is not the last substrate (step S49: NO), the usage right is not deleted. Thereafter, the processing from step S37 is repeated. When scheduling for all substrates W of all process job numbers instructed to start processing is completed (step S37: NO), overall scheduling is completed (step S53).
図46には、プロセスジョブ番号PJ1の最初の基板PJ1−1に対応する仮タイムテーブルを構成する全てのブロックを配置した例を示す。スケジューリング機能部25は、同一リソースのスペースでブロックが重なり合わないように各ブロックを配置する。最初の基板のスケジューリングであるので、いずれの処理ユニットも使用されていない状態であるので、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置されている。 FIG. 46 shows an example in which all the blocks constituting the temporary time table corresponding to the first substrate PJ1-1 of the process job number PJ1 are arranged. The scheduling function unit 25 arranges the blocks so that the blocks do not overlap in the same resource space. Since it is the first board scheduling, no processing unit is in use, so a temporary time table representing a route passing through the processing unit SPIN1 is selected, and the blocks constituting the temporary time table are time axes. Arranged on the top justified above.
プロセスジョブ番号PJ1の1枚目の基板Wのスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行って、当該プロセスジョブ番号PJ1の2枚目の基板Wのスケジューリングを開始する。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板W、すなわちプロセスジョブ番号PJ1の2枚目の基板PJ1−2をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。 After scheduling the first substrate W of process job number PJ1, the scheduling function unit 25 performs the processing from step S37 and starts scheduling the second substrate W of process job number PJ1. In this case, the scheduling for the substrate W of the process job number PJ1 has not been completed (step S37: YES), and the number of scheduled substrates W is less than the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). (Step S38: NO), the scheduling function unit 25 determines that the substrate W having the earliest processing order of the process job number with the earliest scheduling instruction among the unscheduled process jobs, that is, the second substrate with the process job number PJ1. PJ1-2 is used as a scheduling target board, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39).
プロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、使用可能な処理ユニット(この場合、使用権が設定された処理ユニット)のうちで、最終使用時刻が最も小さい処理ユニット(たとえば処理ユニットSPIN2)を特定する(ステップS41)。スケジューリング対象基板Wよりも後でスケジューリング指示された別のプロセスジョブがなければ(ステップS42:NO)、ステップS43からの処理を行って、プロセスジョブ番号PJ1の2枚目の基板PJ1−2についてのスケジューリングが行われる(ステップS44〜S47)。この場合、処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルから取り出したブロックが配置される。 Since the right to use the process job number PJ1 is set, the determination in step S40 is affirmative, and the scheduling function unit 25 determines that among the available processing units (in this case, the processing units to which the right to use is set) The processing unit (for example, processing unit SPIN2) having the smallest last use time is specified (step S41). If there is no other process job for which scheduling is instructed after the scheduling target substrate W (step S42: NO), the processing from step S43 is performed, and the second substrate PJ1-2 having the process job number PJ1 is processed. Scheduling is performed (steps S44 to S47). In this case, a temporary time table representing a route passing through the processing unit SPIN2 is selected, and blocks extracted from the temporary time table are arranged.
ステップS41では、1枚目の基板PJ1−1の処理のための処理ブロックが処理ユニットSPIN1に対してすでに配置されているので、残りの並行処理ユニットSPIN2〜SPIN4をそれぞれ通る3つの経路を表す3つの仮タイムテーブルのなかから処理ユニットの最終使用時刻が最も早い仮タイムテーブルが選択される。最終使用時刻が等しい場合には、番号の若い処理ユニットを通る経路に対応した仮タイムテーブルが選択される。具体的には、処理ユニットSPIN2が選択されることになる。したがって、処理ユニットSPIN2を通る仮タイムテーブルを用いてプロセスジョブ番号PJ1の2枚目の基板PJ1−2に対してスケジューリングが行われる。 In step S41, since processing blocks for processing the first substrate PJ1-1 have already been arranged for the processing unit SPIN1, 3 representing the three paths respectively passing through the remaining parallel processing units SPIN2 to SPIN4. The temporary time table with the earliest last use time of the processing unit is selected from the two temporary time tables. When the last use times are equal, a temporary time table corresponding to a route passing through a processing unit with a smaller number is selected. Specifically, the processing unit SPIN2 is selected. Therefore, scheduling is performed for the second substrate PJ1-2 of the process job number PJ1 using the temporary time table passing through the processing unit SPIN2.
具体的なスケジューリング例を図47に示す。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1−1,PJ1−2の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板Wの受け渡しを同時に実行でき、また2枚の処理済み基板Wの受け渡しを同時に実行できるので、それらの各2枚の基板Wの受け渡しを表すブロックが時間軸上で重なりあって配置されている。 A specific scheduling example is shown in FIG. Since the hands 8A and 8B of the indexer robot IR can transfer two unprocessed substrates W or processed substrates W at the same time, the block representing the transfer of the substrates PJ1-1 and PJ1-2 by the indexer robot IR is timed. It is arranged to overlap on the axis. Further, between the main transfer robot CR and the indexer robot IR, two unprocessed substrates W can be transferred simultaneously, and two processed substrates W can be transferred simultaneously. The blocks representing the delivery of the substrate W are overlapped on the time axis.
同様にして、プロセスジョブ番号PJ1の3枚目の基板PJ1−3に対してスケジューリングを行うことにより、図48に示すスケジューリング結果が得られる。
さらに同様にして、プロセスジョブ番号PJ1の4枚目の基板PJ1−4に対してスケジューリングを行うことにより、図49に示すスケジューリング結果が得られる。図10との比較により明らかなとおり、インデクサロボットIRによる基板搬送を表す搬送ブロックを時間軸上で重ねて配置できるので、全体の処理時間を短くすることができる。
Similarly, the scheduling result shown in FIG. 48 is obtained by scheduling the third substrate PJ1-3 having the process job number PJ1.
Similarly, scheduling is performed on the fourth substrate PJ1-4 having the process job number PJ1, thereby obtaining the scheduling result shown in FIG. As is clear from comparison with FIG. 10, since the transfer blocks representing the substrate transfer by the indexer robot IR can be arranged on the time axis, the entire processing time can be shortened.
ブロック配置位置を検索するとき(ステップS45)、スケジューリング機能部25は、同一リソースに対して時間軸上でブロックが重なり合うことがなく、かつできるだけ時間軸上の早い位置を検索する。
プロセスジョブ番号PJ1の全ての基板Wに関してスケジューリングを終えると(ステップS49:YES)、スケジューリング機能部25は、その直後、すなわち、最後にスケジューリングされた基板Wの搬送開始(基板収容器Cからの払い出し)を待つことなく、プロセスジョブ番号PJ1の使用権を削除する(ステップS50)。この後の処理は、ステップS37に戻る。すなわち、引き続き、別のプロセスジョブ番号に関するスケジューリングが実行される。
When searching for a block arrangement position (step S45), the scheduling function unit 25 searches for an earlier position on the time axis as much as possible without overlapping blocks on the time axis for the same resource.
When the scheduling is completed for all the substrates W of the process job number PJ1 (step S49: YES), the scheduling function unit 25 starts the transfer of the substrate W scheduled immediately thereafter, that is, finally (payout from the substrate container C). The use right of the process job number PJ1 is deleted without waiting for (step S50). The subsequent processing returns to step S37. That is, the scheduling for another process job number is subsequently executed.
ステップS40において、スケジューリング対象基板Wに付与されたプロセスジョブ番号に対応するレシピが指定する並行処理ユニットの全てに関して別のプロセスジョブ番号の使用権が設定されていれば、そのスケジューリング対象基板Wに対応するプロセスジョブ番号はスケジューリング対象外として、ステップS37からの処理が実行される。
ステップS42において、スケジューリング対象基板Wの後にスケジューリング指示された他のプロセスジョブがあると判断されると、スケジューリング機能部25は、その後続のプロセスジョブで使用可能な処理ユニットの最終使用時刻が、スケジューリング対象基板Wの処理のために使用可能な処理ユニットの最終使用時刻よりも早いかどうかを判断する(ステップS51)。この判断が肯定されると、当該後続のプロセスジョブの基板Wをスケジューリング対象基板として(ステップS52)、ステップS42からの処理が行われる。当該判断が否定されれば、スケジューリング対象基板Wを変更せずに、ステップS43からの処理が実行される。
In step S40, if the right to use another process job number is set for all of the parallel processing units specified by the recipe corresponding to the process job number assigned to the scheduling target substrate W, the corresponding processing target substrate W is supported. The process job number is excluded from the scheduling target, and the processing from step S37 is executed.
In step S42, when it is determined that there is another process job for which scheduling is instructed after the scheduling target substrate W, the scheduling function unit 25 determines that the last use time of the processing unit that can be used in the subsequent process job is the scheduling. It is determined whether it is earlier than the last use time of a processing unit that can be used for processing the target substrate W (step S51). If this determination is affirmed, the substrate W of the subsequent process job is set as the scheduling target substrate (step S52), and the processing from step S42 is performed. If the determination is negative, the process from step S43 is executed without changing the scheduling target substrate W.
図50〜図55は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群(プロセスジョブ)に対するスケジューリングの例を示す。プロセスジョブ番号PJ1の基板群は1枚の基板PJ1−1で構成され、処理内容データ中のレシピによって、4つの処理ユニットSPIN1〜SPIN4が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は3枚の基板PJ2−1,PJ2−2,PJ2−3で構成され、処理内容データ中のレシピによって2つの処理ユニットSPIN2〜SPIN3が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は1枚の基板PJ3−1で構成され、処理内容データ中のレシピによって、3つの処理ユニットSPIN2〜SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。 50 to 55 show an example of scheduling for three substrate groups (process jobs) assigned with process job numbers PJ1, PJ2, and PJ3. The substrate group of process job number PJ1 is composed of one substrate PJ1-1, and four processing units SPIN1 to SPIN4 are designated as parallel processing units by the recipe in the processing content data. The substrate group of process job number PJ2 is composed of three substrates PJ2-1, PJ2-2, and PJ2-3, and two processing units SPIN2 to SPIN3 are designated as parallel processing units by the recipe in the processing content data. It shall be. Furthermore, it is assumed that the substrate group of process job number PJ3 is composed of one substrate PJ3-1, and three processing units SPIN2 to SPIN4 are designated as parallel processing units by the recipe in the processing content data. A case is assumed in which processing is started for the substrate groups of process job numbers PJ1, PJ2, and PJ3 in the order of the numbers, and a scheduling instruction is generated.
基板処理開始指示が与えられると(図45のステップS31)、スケジューリング機能部25は、仮タイムテーブルを作成する(ステップS32)。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚の基板PJ1−1に対して、処理ユニットSPIN1〜SPIN4のいずれかで処理される、4通りの経路を表す仮タイムテーブルを作成する。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の3枚の基板PJ2−1,PJ2−2,PJ2−3に対して、それぞれ、処理ユニットSPIN2〜SPIN3のいずれかで処理される、2通りの経路を表す仮タイムテーブルを作成する。すなわち、プロセスジョブ番号PJ2に対して合計で6(2×3)経路分の仮タイムテーブルが作成される。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚の基板PJ3−1に対して、処理ユニットSPIN2〜SPIN4のいずれかで処理される、3通りの経路を表す仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。図50は仮タイムテーブルの一例を示す。 When a substrate processing start instruction is given (step S31 in FIG. 45), the scheduling function unit 25 creates a temporary time table (step S32). That is, the scheduling function unit 25 creates a temporary time table representing four routes processed by one of the processing units SPIN1 to SPIN4 for one substrate PJ1-1 having the process job number PJ1. In addition, the scheduling function unit 25 processes the two substrates PJ2-1, PJ2-2, and PJ2-3 with the process job number PJ2 in one of the processing units SPIN2 to SPIN3, respectively. Create a temporary time table that represents the route. That is, a temporary time table for a total of 6 (2 × 3) paths is created for the process job number PJ2. Further, the scheduling function unit 25 creates a temporary time table representing three routes processed by one of the processing units SPIN2 to SPIN4 for one substrate PJ3-1 of the process job number PJ3. The created temporary time table is stored in the storage unit 23. FIG. 50 shows an example of a temporary time table.
プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると(図45のステップS33)、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在せず(ステップS35:NO)、未スケジューリングの基板Wがあり(ステップS37:YES)、インデクサロボットIRによって一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルが記憶部23から取得される(ステップS39)。 When the process start is sequentially instructed for the process job numbers PJ1, PJ2, and PJ3, and a scheduling instruction is generated in response thereto (step S33 in FIG. 45), the scheduling function unit 25 stores all the temporary times stored in the storage unit 23. The table, that is, the temporary time table of all the substrates W corresponding to the process job numbers PJ1 to PJ3 is read, and the entire scheduling is started. There is no other substrate W that has already started processing (step S35: NO), there is an unscheduled substrate W (step S37: YES), and the number of unprocessed substrates that can be transferred at one time by the indexer robot IR. Since the scheduling of W has not been completed (step S38: NO), the temporary time table of the first substrate PJ1-1 having the process job number PJ1 is acquired from the storage unit 23 (step S39).
さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN4のなかに、使用可能なもの、すなわち他のプロセスジョブ番号の使用権が未設定のものがあるかどうかを調べる(ステップS40)。最初の基板Wのスケジューリングを行うときにはいずれの使用権も未設定であるから、この判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN4のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。はじめは、いずれの処理ユニットの最終使用時刻も「0」であるので、番号の最も若い処理ユニットSPIN1が該当することになる。 Further, the scheduling function unit 25 determines whether there are usable parallel processing units SPIN1 to SPIN4 designated by the recipe of the process job number PJ1, that is, the usage rights of other process job numbers are not set. A check is made (step S40). Since the right to use is not set when scheduling the first substrate W, this determination is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 to SPIN4 that can be used with the process job number PJ1 (step S41). Initially, since the last use time of any processing unit is “0”, the processing unit SPIN1 with the smallest number corresponds.
プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしており、いずれの使用権も未設定であるため、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN2〜SPIN3の最終使用時刻を記憶部23から取得し、さらに、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN2〜SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。スケジューリング当初の各処理ユニットの最終使用時刻は初期値「0」であるので、ステップS51での判定は否定となる。 Since the process job numbers PJ2 and PJ3 have started after the process job number PJ1 and neither usage right has been set, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 obtains the last use time of the parallel processing units SPIN2 to SPIN3 used by the process job number PJ2 from the storage unit 23, and further, the last of the parallel processing units SPIN2 to SPIN4 used by the process job number PJ3. The use time is acquired from the storage unit 23. And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). Since the last use time of each processing unit at the beginning of scheduling is the initial value “0”, the determination in step S51 is negative.
そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピにおいて並行処理ユニットとして指定された処理ユニットSPIN1〜SPIN4に対して、プロセスジョブ番号PJ1の使用権を設定する(ステップS43)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Therefore, the scheduling function unit 25 sets the right to use the process job number PJ1 for the processing units SPIN1 to SPIN4 designated as the parallel processing units in the recipe of the process job number PJ1 (step S43). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ1-1 having the process job number PJ1 (steps S44 to S47).
図51は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択される。具体的には、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。 FIG. 51 shows an example in which blocks relating to the first substrate PJ1-1 of the process job number PJ1 are arranged. At this time, the provisional time table indicating the route passing through the processing unit SPIN1, which is the processing unit with the earliest last use time, specified in steps S41 and S42 is selected. Specifically, a temporary time table representing a route passing through the processing unit SPIN1 is selected, and the blocks constituting the temporary time table are arranged on the time axis in a left-justified manner.
その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1−1の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、プロセスジョブ番号PJ1の基板群は1枚の基板PJ1−1だけで構成されているので、ステップS49での判断が肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を削除する。この状態が、図51に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN1 finishes the processing of the substrate PJ1-1 as the last use time of the processing unit SPIN1, and writes it in the storage unit 23 (step S48). Since the substrate group of the process job number PJ1 is composed of only one substrate PJ1-1, the determination in step S49 is affirmative, and the scheduling function unit 25 deletes the right to use the process job number PJ1. . This state is shown in FIG.
プロセスジョブ番号PJ1の1枚目の基板PJ1−1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ2,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ2の1枚目の基板PJ2−1をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。 After scheduling the first substrate PJ1-1 having the process job number PJ1, the scheduling function unit 25 performs the processing from step S37. In this case, scheduling for the substrates W of process job numbers PJ2 and PJ3 has not been completed (step S37: YES), and the number of scheduled substrates W is less than the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Since there is no process (step S38: NO), the scheduling function unit 25 selects the first board of the process job number PJ2 that is the earliest process order of the process job number with the earliest scheduling instruction among the unscheduled process jobs. The board PJ2-1 is set as a scheduling target board, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39).
プロセスジョブ番号PJ1の使用権は既に削除されていて、いずれの使用権も設定されていないので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2,SPIN3のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合は、処理ユニットSPIN2〜SPIN4の最終使用時刻は初期値「0」であるので、処理ユニットSPIN2が該当する。 Since the right to use process job number PJ1 has already been deleted and no right to use has been set, the determination in step S40 is affirmative, and the scheduling function unit 25 performs the parallel processing specified by the recipe of process job number PJ2. Among the processing units SPIN2 and SPIN3, the processing unit with the smallest last use time is specified (step S41). In this case, since the last use time of the processing units SPIN2 to SPIN4 is the initial value “0”, the processing unit SPIN2 is applicable.
スケジューリング対象基板PJ2−1よりも後でスケジューリング指示された別のプロセスジョブPJ3があるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN2〜SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN2〜SPIN4の最終使用時刻は初期値「0」であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピにおいて並行処理ユニットとして指定された処理ユニットSPIN2〜SPIN3に対して、プロセスジョブ番号PJ2の使用権を設定する(ステップS43)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since there is another process job PJ3 for which scheduling is instructed after the scheduling target substrate PJ2-1, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 acquires the last use times of the parallel processing units SPIN <b> 2 to SPIN <b> 4 used by the process job number PJ <b> 3 from the storage unit 23. And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). In this case, since the last use time of the processing units SPIN2 to SPIN4 is the initial value “0”, the determination in step S51 is negative. Therefore, the scheduling function unit 25 sets the right to use the process job number PJ2 for the processing units SPIN2 to SPIN3 designated as parallel processing units in the recipe of the process job number PJ2 (step S43). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ2-1 having the process job number PJ2 (steps S44 to S47).
図52は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1−1,PJ2−1の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ1−1,PJ2−1の受け渡しを同時に実行でき、また2枚の処理済み基板PJ1−1,PJ2−1の受け渡しを同時に実行できるので、それらの2枚の基板PJ1−1,PJ2−1の受け渡しを表すブロックが時間軸上で重なりあって配置されている。
FIG. 52 shows an example in which blocks relating to the first substrate PJ2-1 of the process job number PJ2 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN2, which is the processing unit with the earliest last use time, identified in steps S41 and S42 is selected, and blocks constituting the temporary time table are displayed on the time axis. It is arranged in front.
Since the hands 8A and 8B of the indexer robot IR can simultaneously transport two unprocessed substrates W or processed substrates W, the block representing the transport of the substrates PJ1-1 and PJ2-1 by the indexer robot IR is timed. It is arranged to overlap on the axis. In addition, between the main transfer robot CR and the indexer robot IR, two unprocessed substrates PJ1-1 and PJ2-1 can be simultaneously transferred, and two processed substrates PJ1-1 and PJ2-1 can be transferred. Since the delivery can be executed simultaneously, the blocks representing the delivery of these two substrates PJ1-1 and PJ2-1 are arranged so as to overlap on the time axis.
その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ2−1の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ2−1はプロセスジョブ番号PJ2の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持する。この状態が、図52に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN2 finishes the processing of the substrate PJ2-1 as the last use time of the processing unit SPIN2, and writes it in the storage unit 23 (step S48). Since the substrate PJ2-1 is not the last substrate of the process job number PJ2, the determination in step S49 is denied, and the scheduling function unit 25 maintains the right to use the process job number PJ2. This state is shown in FIG.
プロセスジョブ番号PJ2の1枚目の基板PJ2−1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ2,PJ3の基板Wについてのスケジューリングは未了である(ステップS37:YES)が、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達したので(ステップS38:YES)、スケジューリングが一旦終了する。 After scheduling the first substrate PJ2-1 having the process job number PJ2, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of process job numbers PJ2 and PJ3 has not been completed (step S37: YES), but the number of scheduled substrates W is equal to the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Since it has reached (step S38: YES), the scheduling is temporarily terminated.
スケジューリング済みの2枚の基板PJ1−1,PJ2−1が基板収容器Cから払い出されると、スケジューリング指示が発生する(ステップS33:YES)。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を「0」にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。
スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板Wが存在する(ステップS35:YES)ので、処理開始している基板PJ1−1,PJ2−1のみでスケジューリングが行われる。その結果は、図52と同じである。
When two scheduled substrates PJ1-1 and PJ2-1 are paid out from the substrate container C, a scheduling instruction is generated (step S33: YES). At this time, the scheduling function unit 25 resets the scheduled number of substrates to “0”. The scheduled number of substrates is used in the determination in step S38.
When the scheduling instruction is generated, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3, and performs scheduling. Start. In this case, since there is another substrate W that has already started processing (step S35: YES), scheduling is performed only by the substrates PJ1-1 and PJ2-1 that have started processing. The result is the same as FIG.
さらに、未スケジューリングの基板があり(ステップS37:YES)、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ2の2枚目の基板PJ2−1の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2〜SPIN3が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN2〜SPIN3に対してプロセスジョブ番号PJ2の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ2で使用可能な処理ユニットSPIN2〜SPIN3のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。基板PJ2−1のための処理ブロックが処理ユニットSPIN2に配置されているので(図52参照)、処理ユニットSPIN3が最終使用時刻の最も早い処理ユニットに該当する。 Further, there is an unscheduled substrate (step S37: YES), and scheduling of unprocessed substrates W for the number of sheets that can be transferred at one time has not been completed (step S38: NO). The temporary time table of the substrate PJ2-1 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN2 to SPIN3 designated by the recipe of the process job number PJ2 can be used (step S40). In this case, since the right to use the process job number PJ2 is set for the processing units SPIN2 to SPIN3, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN2 to SPIN3 that can be used with the process job number PJ2 (step S41). Since the processing block for the substrate PJ2-1 is arranged in the processing unit SPIN2 (see FIG. 52), the processing unit SPIN3 corresponds to the processing unit with the earliest last use time.
プロセスジョブ番号PJ2の後にプロセスジョブ番号PJ3がスタートしているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN2〜SPIN4のうちで使用可能なもの(処理ユニットSPIN4が該当)の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻はいずれも初期値「0」であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持し(ステップS43)、プロセスジョブ番号PJ2の2枚目の基板PJ2−2の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since the process job number PJ3 has started after the process job number PJ2, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 acquires from the storage unit 23 the last use time of the parallel processing units SPIN2 to SPIN4 that can be used by the process job number PJ3 (the processing unit SPIN4 is applicable). And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). In the assumed situation, the final use times of the processing units SPIN3 and SPIN4 are all the initial value “0”, so the determination in step S51 is negative. Therefore, the scheduling function unit 25 maintains the right to use the process job number PJ2 (step S43), and arranges blocks constituting the temporary time table of the second substrate PJ2-2 of the process job number PJ2 ( Steps S44 to S47).
図53は、プロセスジョブ番号PJ2の2枚目の基板PJ2−2に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ2−2の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ2−2は、プロセスジョブ番号PJ2の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持する。この状態が、図53に示されている。
FIG. 53 shows an example in which blocks relating to the second substrate PJ2-2 having the process job number PJ2 are arranged. At this time, a temporary time table that represents the route passing through the processing unit SPIN3 that is the processing unit with the earliest final use time specified in steps S41 and S42 is selected, and the blocks constituting the temporary time table are displayed on the time axis. It is arranged in front.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN3 finishes the processing of the substrate PJ2-2 as the last use time of the processing unit SPIN3, and writes it in the storage unit 23 (step S48). Since the substrate PJ2-2 is not the last substrate of the process job number PJ2, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ2. This state is shown in FIG.
プロセスジョブ番号PJ2の2枚目の基板PJ2−2のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ2,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ2の3枚目の基板PJ2−3をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。プロセスジョブ番号PJ2の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2,SPIN3のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN2が該当する(図53参照)。 After scheduling the second substrate PJ2-2 having the process job number PJ2, the scheduling function unit 25 performs the processing from step S37. In this case, scheduling for the substrates W of process job numbers PJ2 and PJ3 has not been completed (step S37: YES), and the number of scheduled substrates W is less than the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Since there is no process (step S38: NO), the scheduling function unit 25 selects the third board of the process job number PJ2 that is the process order of the process job number with the earliest scheduling instruction among the unscheduled process jobs, that is, the process job number PJ2. The board PJ2-3 is set as a scheduling target board, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39). Since the right to use the process job number PJ2 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN2 and SPIN3 specified in the recipe of the process job number PJ2. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN2 is applicable (see FIG. 53).
スケジューリング対象基板PJ2−3よりも後でスケジューリング指示された別のプロセスジョブPJ3があるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN2〜SPIN4のうち使用可能な(使用権の設定されていない)処理ユニットである、処理ユニットSPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN4の最終使用時刻は初期値「0」であるので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ3−1をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。 Since there is another process job PJ3 for which scheduling has been instructed after the scheduling target substrate PJ2-3, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 stores the last use time of the processing unit SPIN4 which is a usable processing unit (no usage right is set) among the parallel processing units SPIN2 to SPIN4 used by the process job number PJ3. 23. Then, the scheduling function unit 25 compares the last use time with the last use time of the processing unit specified in Step S41 (Step S51). In this case, since the last use time of the processing unit SPIN4 is the initial value “0”, the determination in step S51 is affirmative. Therefore, the scheduling function unit 25 schedules the first substrate PJ3-1 that is the substrate with the earliest processing order among the unscheduled substrates of the process job number PJ3 that can use the processing unit SPIN4 with the earliest final use time. As the target substrate (step S52), the processing from step S42 is performed.
この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブはないので(ステップS42:NO)、スケジューリング機能部25は、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN2〜SPIN4のうち、使用権が未設定の処理ユニットSPIN4に対して、プロセスジョブ番号PJ3の使用権を設定する(ステップS43)。すなわち、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットの一部に他のプロセスジョブ番号の使用権が設定されているが、使用権未設定の一部の並行処理ユニットに関してのみ、プロセスジョブ番号PJ3の使用権が設定される。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 In this case, since there is no process job started after the process job number PJ3 (step S42: NO), the scheduling function unit 25, among the parallel processing units SPIN2 to SPIN4 designated by the recipe of the process job number PJ3, The usage right of the process job number PJ3 is set for the processing unit SPIN4 for which the usage right is not set (step S43). That is, the right to use another process job number is set in a part of the parallel processing unit specified in the recipe of the process job number PJ3, but the process job is applied only to a part of the parallel processing units in which the usage right is not set. The right to use the number PJ3 is set. Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ3-1 having the process job number PJ3 (steps S44 to S47).
図54は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである、処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ2−2,PJ3−1の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ2−2,PJ3−1の受け渡しを同時に実行でき、また2枚の処理済み基板PJ2−2,PJ3−1の受け渡しを同時に実行できるので、それらの2枚の基板PJ2−2,PJ3−1の受け渡しを表すブロックが時間軸上で重なりあって配置されている。
FIG. 54 shows an example in which blocks relating to the first substrate PJ3-1 of the process job number PJ3 are arranged. At this time, a provisional time table representing a route passing through the processing unit SPIN4, which is the processing unit with the earliest last use time, is selected, and blocks constituting the provisional time table are arranged on the time axis in front-alignment.
Since the hands 8A and 8B of the indexer robot IR can simultaneously transport two unprocessed substrates W or processed substrates W, the block representing the transport of the substrates PJ2-2 and PJ3-1 by the indexer robot IR is timed. It is arranged to overlap on the axis. In addition, two unprocessed substrates PJ2-2 and PJ3-1 can be simultaneously transferred between the main transfer robot CR and the indexer robot IR, and two processed substrates PJ2-2 and PJ3-1 can be transferred. Since the delivery can be executed simultaneously, the blocks representing the delivery of these two substrates PJ2-2 and PJ3-1 are arranged so as to overlap on the time axis.
その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ3−1の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ3−1はプロセスジョブ番号PJ3の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を削除する。この状態が、図54に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN4 finishes the processing of the substrate PJ3-1 as the last use time of the processing unit SPIN4, and writes it in the storage unit 23 (step S48). Since the substrate PJ3-1 is the last substrate of the process job number PJ3, the determination in step S49 is affirmed, and the scheduling function unit 25 deletes the right to use the process job number PJ3. This state is shown in FIG.
プロセスジョブ番号PJ3の1枚目の基板PJ3−1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ2の基板Wについてのスケジューリングは未了である(ステップS37:YES)が、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達したので(ステップS38:YES)、スケジューリングが一旦終了する。 After scheduling the first substrate PJ3-1 having the process job number PJ3, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrate W of the process job number PJ2 has not been completed (step S37: YES), but the number of scheduled substrates W has reached the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Therefore (step S38: YES), the scheduling is temporarily ended.
スケジューリング済みの2枚の基板PJ2−2,PJ3−1が基板収容器Cから払い出されると、スケジューリング指示が発生する(ステップS33:YES)。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を「0」にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。
スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板Wが存在する(ステップS35:YES)ので、処理開始している基板PJ1−1,PJ2−1,PJ2−2,PJ3−1のみでスケジューリングが行われる。その結果は、図54と同じである。
When the two scheduled substrates PJ2-2 and PJ3-1 are paid out from the substrate container C, a scheduling instruction is generated (step S33: YES). At this time, the scheduling function unit 25 resets the scheduled number of substrates to “0”. The scheduled number of substrates is used in the determination in step S38.
When the scheduling instruction is generated, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3, and performs scheduling. Start. In this case, since there is another substrate W that has already started processing (step S35: YES), scheduling is performed only by the substrates PJ1-1, PJ2-1, PJ2-2, and PJ3-1 that have started processing. Is called. The result is the same as FIG.
さらに、未スケジューリングの基板があり(ステップS37:YES)、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ2の3枚目の基板PJ2−3の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN2〜SPIN3が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN2〜SPIN3に対してプロセスジョブ番号PJ2の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ2で使用可能な処理ユニットSPIN2〜SPIN3のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN2が最終使用時刻の最も早い処理ユニットに該当する(図54参照)。 Further, there is an unscheduled substrate (step S37: YES), and scheduling of unprocessed substrates W for the number of sheets that can be transported at one time has not been completed (step S38: NO). The temporary time table of the substrate PJ2-3 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN2 to SPIN3 designated by the recipe of the process job number PJ2 can be used (step S40). In this case, since the right to use the process job number PJ2 is set for the processing units SPIN2 to SPIN3, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN2 to SPIN3 that can be used with the process job number PJ2 (step S41). In this case, the processing unit SPIN2 corresponds to the processing unit with the earliest last use time (see FIG. 54).
後続のプロセスジョブ番号PJ3のスケジューリングは終了しているので、ステップS42での判定が否定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2の並行処理ユニットSPIN2〜SPIN3に対する使用権を維持し(ステップS43)、プロセスジョブ番号PJ2の3枚目の基板PJ2−3の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since the scheduling of the subsequent process job number PJ3 has been completed, the determination in step S42 is negative. Therefore, the scheduling function unit 25 maintains the right to use the parallel processing units SPIN2 to SPIN3 of the process job number PJ2 (step S43), and configures a temporary time table for the third substrate PJ2-3 of the process job number PJ2. Blocks are arranged (steps S44 to S47).
図55は、プロセスジョブ番号PJ2の3枚目の基板PJ2−3に関するブロックを配置した例を示す。このとき、ステップS41で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。この場合、処理ユニットSPIN2に配置される処理ブロックに合わせて、ブロック間の隙間が最小となるように、各ブロックが配置される。 FIG. 55 shows an example in which blocks relating to the third substrate PJ2-3 of process job number PJ2 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN2, which is the processing unit with the earliest last use time, identified in step S41 is selected, and the blocks constituting the temporary time table are displayed on the time axis. Arranged to stuff. In this case, each block is arranged so as to minimize the gap between the blocks in accordance with the processing block arranged in the processing unit SPIN2.
その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ2−3の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ2−3は、プロセスジョブ番号PJ2の最後の基板であるので、ステップS49での判断が肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を削除する(ステップS50)。この状態が、図55に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN2 finishes the processing of the substrate PJ2-3 as the last use time of the processing unit SPIN2, and writes it in the storage unit 23 (step S48). Since the substrate PJ2-3 is the last substrate of the process job number PJ2, the determination in step S49 is affirmative, and the scheduling function unit 25 deletes the right to use the process job number PJ2 (step S50). This state is shown in FIG.
プロセスジョブ番号PJ2の3枚目の基板PJ2−3のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、開始指示されたプロセスジョブ番号PJ1,PJ2,PJ3の全てのスケジューリングが完了しているので(ステップS37:YES)、スケジューリングは終了となる(ステップS53)。
図55と図16との比較から明らかなとおり、図55に示したスケジューリングに従って処理を行うことによって、全体の処理時間が短縮される。とくに、インデクサロボットIRによる2枚の基板搬送を表す搬送ブロックを時間軸上で重ねて配置できることにより、処理時間を短縮できる。加えて、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN2〜SPIN4のうち、処理ユニットSPIN2〜SPIN3に対する使用権がプロセスジョブ番号PJ2に設定されている場合であっても、残りの処理ユニットSPIN4の最終使用時刻が早い場合には、その処理ユニットSPIN4についての使用権がプロセスジョブ番号PJ3に対して設定される。これにより、基板PJ3−1の処理が基板PJ2−3に対する処理を追い越す計画が策定されており、それによって、全体の基板処理時間の著しい短縮が達成されている。
After scheduling the third substrate PJ2-3 with the process job number PJ2, the scheduling function unit 25 performs the processing from step S37. In this case, since all the scheduling of the process job numbers PJ1, PJ2, and PJ3 instructed to start has been completed (step S37: YES), the scheduling ends (step S53).
As is clear from the comparison between FIG. 55 and FIG. 16, the entire processing time is shortened by performing the processing according to the scheduling shown in FIG. In particular, the processing time can be shortened because the transfer blocks representing the transfer of two substrates by the indexer robot IR can be arranged on the time axis. In addition, among the parallel processing units SPIN2 to SPIN4 specified in the recipe of the process job number PJ3, even if the right to use the processing units SPIN2 to SPIN3 is set to the process job number PJ2, the remaining processing units When the last use time of SPIN4 is early, the use right for the processing unit SPIN4 is set for the process job number PJ3. As a result, a plan has been formulated in which the processing of the substrate PJ3-1 overtakes the processing for the substrate PJ2-3, thereby significantly reducing the overall substrate processing time.
図56〜図67は、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群(プロセスジョブ)に対するスケジューリングの他の例を示す。プロセスジョブ番号PJ1の基板群は8枚の基板PJ1−1〜8で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN1〜SPIN2が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は2枚の基板PJ2−1〜2で構成され、処理内容データ中のレシピによって4つの処理ユニットSPIN1〜SPIN4が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は2枚の基板PJ3−1〜2で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN3〜SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。 56 to 67 show other examples of scheduling for three substrate groups (process jobs) assigned process job numbers PJ1, PJ2, and PJ3. It is assumed that the substrate group of process job number PJ1 is composed of eight substrates PJ1-1 to PJ1-1 and two processing units SPIN1 and SPIN2 are designated as parallel processing units by the recipe in the processing content data. Further, it is assumed that the substrate group of the process job number PJ2 includes two substrates PJ2-1 and PJ2-1 and four processing units SPIN1 to SPIN4 are designated as parallel processing units by the recipe in the processing content data. Further, it is assumed that the substrate group of the process job number PJ3 includes two substrates PJ3-1 and PJ3-1 and two processing units SPIN3 to SPIN4 are designated as parallel processing units by a recipe in the processing content data. . A case is assumed in which processing is started for the substrate groups of process job numbers PJ1, PJ2, and PJ3 in the order of the numbers, and a scheduling instruction is generated.
基板処理開始指示が与えられると(図45のステップS31)、スケジューリング機能部25は、仮タイムテーブルを作成する(ステップS32)。すなわち、スケジューリング機能部25は、プロセスジョブ番号PJ1の8枚の基板PJ1−1〜8に対して、それぞれ、処理ユニットSPIN1またはSPIN2を通る経路を表す仮タイムテーブルを作成する。また、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚の基板PJ2−1〜2に対して、それぞれ、処理ユニットSPIN1〜SPIN4のいずれか一つを通る経路を表す仮タイムテーブルを作成する。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚の基板PJ3−1〜2に対して、それぞれ、処理ユニットSPIN3またはSPIN4を通る経路を表す仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。 When a substrate processing start instruction is given (step S31 in FIG. 45), the scheduling function unit 25 creates a temporary time table (step S32). That is, the scheduling function unit 25 creates a temporary time table that represents the route passing through the processing unit SPIN1 or SPIN2 for the eight substrates PJ1-1 to PJ1-8 having the process job number PJ1. In addition, the scheduling function unit 25 creates a temporary time table representing a route passing through any one of the processing units SPIN1 to SPIN4 for the two substrates PJ2-1 to 2 having the process job number PJ2. Further, the scheduling function unit 25 creates a temporary time table that represents a route passing through the processing unit SPIN3 or SPIN4 for each of the two substrates PJ3-1 and PJ3 having the process job number PJ3. The created temporary time table is stored in the storage unit 23.
プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると(図45のステップS33:YES)、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在せず(ステップS35:NO)、未スケジューリングの基板Wがあり(ステップS37:YES)、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルが記憶部23から取得される(ステップS39)。 When the start of processing for the process job numbers PJ1, PJ2, and PJ3 is instructed in order and a scheduling instruction is generated in response thereto (step S33 in FIG. 45: YES), the scheduling function unit 25 stores all of the stored in the storage unit 23. The temporary time table, that is, the temporary time table of all the substrates W corresponding to the process job numbers PJ1 to PJ3 is read, and the entire scheduling is started. There is no other substrate W that has already started processing (step S35: NO), there is an unscheduled substrate W (step S37: YES), and scheduling of the unprocessed substrates W for the number of sheets that can be transferred at one time is performed. Since it has not been completed (step S38: NO), the temporary time table of the first substrate PJ1-1 of the process job number PJ1 is acquired from the storage unit 23 (step S39).
さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2のなかに、使用可能なもの、すなわち他のプロセスジョブ番号の使用権が未設定のものがあるかどうかを調べる(ステップS40)。最初の基板Wのスケジューリングを行うときには、この判断が肯定されるので、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。はじめは、いずれの処理ユニットの最終使用時刻も「0」であるので、番号の最も若い処理ユニットSPIN1が該当することになる。 Further, the scheduling function unit 25 determines whether there is a usable one among the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1, that is, the right to use another process job number is not set. A check is made (step S40). Since this determination is affirmed when scheduling the first substrate W, the scheduling function unit 25 further processes the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1. Is specified (step S41). Initially, since the last use time of any processing unit is “0”, the processing unit SPIN1 with the smallest number corresponds.
プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN1〜SPIN4の最終使用時刻を記憶部23から取得し、さらに、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3〜SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。スケジューリング当初の各処理ユニットの最終使用時刻は初期値「0」であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピにおいて並行処理ユニットとして指定された処理ユニットSPIN1〜SPIN2に対して、プロセスジョブ番号PJ1の使用権を設定する(ステップS43)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since process job numbers PJ2 and PJ3 are started after process job number PJ1, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 obtains the last use time of the parallel processing units SPIN1 to SPIN4 used by the process job number PJ2 from the storage unit 23, and further the final processing unit SPIN3 to SPIN4 used by the process job number PJ3. The use time is acquired from the storage unit 23. And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). Since the last use time of each processing unit at the beginning of scheduling is the initial value “0”, the determination in step S51 is negative. Therefore, the scheduling function unit 25 sets the right to use the process job number PJ1 for the processing units SPIN1 and SPIN2 designated as parallel processing units in the recipe of the process job number PJ1 (step S43). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ1-1 having the process job number PJ1 (steps S44 to S47).
図56は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1−1の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−1はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図56に示されている。
FIG. 56 shows an example in which blocks relating to the first substrate PJ1-1 of the process job number PJ1 are arranged. At this time, a temporary time table that represents the route passing through the processing unit SPIN1, which is the processing unit with the earliest last use time, identified in steps S41 and S42 is selected, and the blocks constituting the temporary time table are displayed on the time axis. It is arranged in front.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN1 finishes the processing of the substrate PJ1-1 as the last use time of the processing unit SPIN1, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-1 is not the last substrate of the process job number PJ1, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の1枚目の基板PJ1−1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の2枚目の基板PJ1−2をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。処理ユニットSPIN1には基板PJ1−1のための処理ブロックが配置されているので、処理ユニットSPIN2が該当することになる。 After scheduling the first substrate PJ1-1 having the process job number PJ1, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of the process job numbers PJ1, PJ2, and PJ3 has not been completed (step S37: YES), and the number of scheduled substrates W is the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). (Step S38: NO), the scheduling function unit 25 sets the two substrates of the process job number PJ1, that is, the substrate with the earliest processing order of the process job number having the earliest scheduling instruction among the unscheduled process jobs. The board PJ1-2 of the eye is set as a scheduling target board, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39). Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). Since the processing block for the substrate PJ1-1 is arranged in the processing unit SPIN1, the processing unit SPIN2 is applicable.
スケジューリング対象基板PJ1−2よりも後でスケジューリング指示された別のプロセスジョブPJ2,PJ3があり、それらのレシピで指定された並行処理ユニットのうち、処理ユニットSPIN3,SPIN4についてはいずれの使用権も設定されていないので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN2の最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN2の最終使用時刻は初期値「0」であり、処理ユニットSPIN3〜SPIN4の最終使用時刻も初期値「0」であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する(ステップS43)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1−2の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 There are other process jobs PJ2 and PJ3 for which scheduling is instructed after the board to be scheduled PJ1-2, and among the parallel processing units designated by those recipes, any usage rights are set for the processing units SPIN3 and SPIN4. Since the determination has not been made, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. Then, the scheduling function unit 25 compares the last use time with the last use time of the processing unit SPIN2 specified in Step S41 (Step S51). In this case, the final use time of the processing unit SPIN2 is the initial value “0”, and the final use times of the processing units SPIN3 to SPIN4 are also the initial value “0”, so the determination in step S51 is negative. Therefore, the scheduling function unit 25 maintains the right to use the process job number PJ1 (step S43). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the second substrate PJ1-2 having the process job number PJ1 (steps S44 to S47).
図57は、プロセスジョブ番号PJ1の2枚目の基板PJ1−2に関するブロックを配置した例を示す。このとき、ステップS41,S42,S52で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1−1,PJ1−2の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ1−1,PJ1−2の受け渡しを同時に実行でき、また2枚の処理済み基板PJ1−1,PJ1−2の受け渡しを同時に実行できるので、それらの2枚の基板PJ1−1,PJ1−2の受け渡しを表すブロックが時間軸上で重なりあって配置されている。 FIG. 57 shows an example in which blocks relating to the second substrate PJ1-2 having the process job number PJ1 are arranged. At this time, a temporary time table indicating a route passing through the processing unit SPIN2, which is the processing unit with the earliest last use time, identified in steps S41, S42, and S52 is selected, and the blocks constituting the temporary time table are time Arranged on the axis to the front. Since the hands 8A and 8B of the indexer robot IR can transfer two unprocessed substrates W or processed substrates W at the same time, the block representing the transfer of the substrates PJ1-1 and PJ1-2 by the indexer robot IR is timed. It is arranged to overlap on the axis. Although not shown in detail, two unprocessed substrates PJ1-1 and PJ1-2 can be simultaneously transferred between the main transfer robot CR and the indexer robot IR, and two processed substrates can be simultaneously processed. Since the transfer of PJ1-1 and PJ1-2 can be executed simultaneously, the blocks representing the transfer of these two substrates PJ1-1 and PJ1-2 are arranged overlapping on the time axis.
その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1−2の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−2はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図57に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN2 finishes the processing of the substrate PJ1-2 as the last use time of the processing unit SPIN2, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-2 is not the last substrate of the process job number PJ1, the determination in step S49 is denied, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の2枚目の基板PJ1−2のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了である(ステップS37:YES)が、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達したので(ステップS38:YES)、スケジューリングが一旦終了する(ステップS53)。 After scheduling the second substrate PJ1-2 having the process job number PJ1, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of process job numbers PJ1, PJ2, and PJ3 has not been completed (step S37: YES), but the number of scheduled substrates W is the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). ) (Step S38: YES), the scheduling is temporarily ended (step S53).
スケジューリング済みの2枚の基板PJ1−1,PJ1−2が基板収容器Cから払い出されると、スケジューリング指示が発生する(ステップS33:YES)。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を「0」にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。
スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1−1,PJ1−2が存在する(ステップS35:YES)ので、処理開始している基板PJ1−1,PJ1−2のみでスケジューリングが行われる。その結果は、図57と同じである。さらに、未スケジューリングの基板があり(ステップS37:YES)、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN1〜SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。図57から、処理ユニットSPIN1が該当することが分かる。
When the two scheduled substrates PJ1-1 and PJ1-2 are paid out from the substrate container C, a scheduling instruction is generated (step S33: YES). At this time, the scheduling function unit 25 resets the scheduled number of substrates to “0”. The scheduled number of substrates is used in the determination in step S38.
When the scheduling instruction is generated, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3, and performs scheduling. Start. In this case, since there are other substrates PJ1-1 and PJ1-2 that have already started processing (step S35: YES), scheduling is performed only by the substrates PJ1-1 and PJ1-2 that have started processing. The result is the same as FIG. Furthermore, there is an unscheduled substrate (step S37: YES), and scheduling of unprocessed substrates W for the number of sheets that can be transported at one time has not been completed (step S38: NO), so the third sheet of process job number PJ1 The temporary time table of the substrate PJ1-3 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN1 and SPIN2 designated in the recipe of the process job number PJ1 can be used (step S40). In this case, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1 (step S41). FIG. 57 shows that the processing unit SPIN1 is applicable.
プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしており、それらのレシピで指定された並行処理ユニットのうち、処理ユニットSPIN3,SPIN4についてはいずれの使用権も設定されていないので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN1〜SPIN4およびプロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3〜SPIN4のうちで使用可能なもの(使用権未設定の処理ユニットSPIN3,SPIN4が該当)の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻はいずれも初期値「0」であるので、ステップS51での判定は肯定となる。 Process job numbers PJ2 and PJ3 have started after process job number PJ1, and among the parallel processing units specified in those recipes, no usage rights have been set for processing units SPIN3 and SPIN4. The determination in S42 is affirmed. Therefore, the scheduling function unit 25 can be used among the parallel processing units SPIN1 to SPIN4 used by the process job number PJ2 and the parallel processing units SPIN3 to SPIN4 used by the process job number PJ3 (processing units for which usage rights are not set). The last use time of SPIN3 and SPIN4 is acquired from the storage unit 23. And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). In the assumed situation, the final use times of the processing units SPIN3 and SPIN4 are both the initial value “0”, so the determination in step S51 is affirmative.
そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN3,SPIN4のうち番号の若い処理ユニットSPIN3を使用可能なプロセスジョブ番号PJ2の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ2−1をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ2よりも後で開始したプロセスジョブPJ3が存在し、そのレシピで指定された処理ユニットSPIN3,SPIN4はいずれも使用権が未設定である(ステップS42:YES)。そこで、そのプロセスジョブ番号PJ3で使用可能な処理ユニットSPIN3,SPIN4のうちプロセスジョブ番号PJ2の処理のために使用しようとしている処理ユニットSPIN3以外の処理ユニットSPIN4の最終使用時間が調べられる(ステップS51)。この場合、処理ユニットSPIN3,SPIN4の最終使用時刻は、いずれも初期値「0」であるので、ステップS51での判断は否定となる。 Therefore, the scheduling function unit 25 is the board having the earliest processing order among the unscheduled boards having the process job number PJ2 that can use the processing unit SPIN3 having the smallest number among the processing units SPIN3 and SPIN4 having the earliest last use time. The first substrate PJ2-1 is used as a scheduling target substrate (step S52), and the processing from step S42 is performed. In this case, there is a process job PJ3 started after the process job number PJ2, and the right to use is not set for any of the processing units SPIN3 and SPIN4 specified in the recipe (step S42: YES). Therefore, the last use time of the processing units SPIN4 other than the processing unit SPIN3 to be used for processing the process job number PJ2 among the processing units SPIN3 and SPIN4 that can be used with the process job number PJ3 is checked (step S51). . In this case, since the last use times of the processing units SPIN3 and SPIN4 are both the initial value “0”, the determination in step S51 is negative.
そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN1〜SPIN4のうち、使用権が未設定の処理ユニットSPIN3,SPIN4に対して、プロセスジョブ番号PJ2の使用権を設定する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Therefore, the scheduling function unit 25 grants the right to use the process job number PJ2 to the processing units SPIN3 and SPIN4 for which the right to use is not set among the parallel processing units SPIN1 to SPIN4 specified in the recipe for the process job number PJ2. Set (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ2-1 having the process job number PJ2 (Steps S44 to S47).
図58は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ2−1の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ2−1は、プロセスジョブ番号PJ2の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持する。この状態が、図58に示されている。
FIG. 58 shows an example in which blocks relating to the first substrate PJ2-1 of the process job number PJ2 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN3, which is the processing unit with the earliest last use time, is selected, and blocks constituting the temporary time table are arranged on the time axis so as to be left-justified.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN3 finishes the processing of the substrate PJ2-1 as the last use time of the processing unit SPIN3, and writes it in the storage unit 23 (step S48). Since the substrate PJ2-1 is not the last substrate of the process job number PJ2, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ2. This state is shown in FIG.
プロセスジョブ番号PJ2の1枚目の基板PJ2−1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の3枚目の基板PJ1−3をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。 After scheduling the first substrate PJ2-1 having the process job number PJ2, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of the process job numbers PJ1, PJ2, and PJ3 has not been completed (step S37: YES), and the number of scheduled substrates W is the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). (Step S38: NO), the scheduling function unit 25 determines that the process job number for which the scheduling instruction is the earliest among the unscheduled process jobs is the substrate with the earliest processing order, that is, the process job number PJ1. The board PJ1-3 of the eye is set as a scheduling target board, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39).
プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN1が該当する(図58参照)。スケジューリング対象基板PJ1−3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3があり、処理ユニットSPIN3,SPIN4にプロセスジョブ番号PJ2の使用権が設定させているので、ステップS42での判定が肯定される。すなわち、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN1〜SPIN4のうち当該プロセスジョブ番号PJ2が使用可能な(他のプロセスジョブ番号に対して使用権の設定がされていないか、または当該プロセスジョブ番号PJ2に対して使用権が設定されている)処理ユニットは、処理ユニットSPIN3,SPIN4である。また、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3〜SPIN4のうち使用可能な(他のプロセスジョブ番号に対して使用権の設定がされていないか、または当該プロセスジョブ番号PJ3に対して使用権が設定されている)処理ユニットは存在しない。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN4の最終使用時刻は初期値「0」であるので、ステップS51での判定は肯定となる。 Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN1 corresponds (see FIG. 58). Since there are other process job numbers PJ2 and PJ3 for which scheduling is instructed after the scheduling target substrate PJ1-3 and the processing units SPIN3 and SPIN4 have the right to use the process job number PJ2 set, the determination in step S42 Is affirmed. That is, among the parallel processing units SPIN1 to SPIN4 used by the process job number PJ2, the process job number PJ2 can be used (whether the use right is not set for another process job number or the process job number The processing units whose usage rights are set for PJ2 are processing units SPIN3 and SPIN4. Further, the parallel processing units SPIN3 to SPIN4 used by the process job number PJ3 can be used (the use right is not set for another process job number or the use right is set for the process job number PJ3. There is no processing unit. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. Then, the scheduling function unit 25 compares these last use times with the last use time of the processing unit SPIN1 specified in Step S41 (Step S51). In this case, since the last use time of the processing unit SPIN4 is the initial value “0”, the determination in step S51 is affirmative.
そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ2の未スケジューリングの基板のうち処理順序が最も早い基板である2枚目の基板PJ2−2をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ2よりも後で開始したプロセスジョブPJ3が存在するが、そのプロセスジョブ番号PJ3で使用可能な処理ユニットの最終使用時間が調べられるが、プロセスジョブ番号PJ3で使用可能な処理ユニットが存在しないので、ステップS42での判断は否定となる。 Therefore, the scheduling function unit 25 schedules the second substrate PJ2-2, which is the substrate with the earliest processing order among the unscheduled substrates with the process job number PJ2 that can use the processing unit SPIN4 with the earliest last use time. As the target substrate (step S52), the processing from step S42 is performed. In this case, there is a process job PJ3 started after the process job number PJ2, but the last use time of the processing unit that can be used with the process job number PJ3 is checked, but the processing that can be used with the process job number PJ3 Since no unit exists, the determination in step S42 is negative.
そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2の処理ユニットSPIN3,SPIN4に対する使用権を維持する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚目の基板PJ2−2の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。
図59は、プロセスジョブ番号PJ2の2枚目の基板PJ2−2に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ2−1,PJ2−2の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ2−1,PJ2−2の受け渡しを同時に実行でき、また2枚の処理済み基板PJ2−1,PJ2−2の受け渡しを同時に実行できるので、それらの2枚の基板PJ2−1,PJ2−2の受け渡しを表すブロックが時間軸上で重なりあって配置されている。
Therefore, the scheduling function unit 25 maintains the right to use the processing units SPIN3 and SPIN4 of the process job number PJ2 (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the second substrate PJ2-2 having the process job number PJ2 (Steps S44 to S47).
FIG. 59 shows an example in which blocks relating to the second substrate PJ2-2 having the process job number PJ2 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN4, which is the processing unit with the earliest last use time, is selected, and the blocks constituting the temporary time table are arranged on the time axis in front-alignment. Since the hands 8A and 8B of the indexer robot IR can transfer two unprocessed substrates W or processed substrates W at the same time, a block representing transfer of the substrates PJ2-1 and PJ2-2 by the indexer robot IR is timed. It is arranged to overlap on the axis. Although not shown in detail, two unprocessed substrates PJ2-1 and PJ2-2 can be simultaneously transferred between the main transfer robot CR and the indexer robot IR, and two processed substrates can be simultaneously processed. Since the transfer of PJ2-1 and PJ2-2 can be executed simultaneously, the blocks representing the transfer of these two substrates PJ2-1 and PJ2-2 are arranged overlapping on the time axis.
その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ2−2の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ2−2はプロセスジョブ番号PJ2の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を削除する(ステップS50)。この状態が、図59に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN4 finishes the processing of the substrate PJ2-2 as the last use time of the processing unit SPIN4, and writes it in the storage unit 23 (step S48). Since the substrate PJ2-2 is the last substrate of the process job number PJ2, the determination in step S49 is affirmed, and the scheduling function unit 25 deletes the right to use the process job number PJ2 (step S50). This state is shown in FIG.
プロセスジョブ番号PJ2の2枚目の基板PJ2−2のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了である(ステップS37:YES)が、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達したので(ステップS38:YES)、スケジューリングが一旦終了する(ステップS53)。 After scheduling the second substrate PJ2-2 having the process job number PJ2, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of process job numbers PJ1 and PJ3 has not been completed (step S37: YES), but the number of scheduled substrates W is equal to the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Since it has reached (step S38: YES), the scheduling is temporarily ended (step S53).
スケジューリング済みの2枚の基板PJ2−1,PJ2−2が基板収容器Cから払い出されると、スケジューリング指示が発生する(ステップS33:YES)。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を「0」にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。
スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1−1,PJ1−2,PJ2−1,PJ2−2が存在する(ステップS35:YES)ので、処理開始している基板PJ1−1,PJ1−2,PJ2−1,PJ2−2のみでスケジューリングが行われる。その結果は、図59と同じである。さらに、未スケジューリングの基板があり(ステップS37:YES)、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN1〜SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。図59から、処理ユニットSPIN1が該当することが分かる。
When two scheduled substrates PJ2-1 and PJ2-2 are paid out from the substrate container C, a scheduling instruction is generated (step S33: YES). At this time, the scheduling function unit 25 resets the scheduled number of substrates to “0”. The scheduled number of substrates is used in the determination in step S38.
When the scheduling instruction is generated, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3, and performs scheduling. Start. In this case, since there are other substrates PJ1-1, PJ1-2, PJ2-1, and PJ2-2 that have already started processing (step S35: YES), the substrates PJ1-1 and PJ1- that have started processing are present. 2, PJ2-1 and PJ2-2 are only used for scheduling. The result is the same as FIG. Furthermore, there is an unscheduled substrate (step S37: YES), and scheduling of unprocessed substrates W for the number of sheets that can be transported at one time has not been completed (step S38: NO), so the third sheet of process job number PJ1 The temporary time table of the substrate PJ1-3 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN1 and SPIN2 designated in the recipe of the process job number PJ1 can be used (step S40). In this case, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1 (step S41). FIG. 59 shows that the processing unit SPIN1 is applicable.
プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしていて、プロセスジョブ番号PJ3についてのスケジューリングが未了であり、処理ユニットSPIN3,SPIN4に使用権が設定されていないので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3〜SPIN4のうちで使用可能なもの(使用権未設定の処理ユニットSPIN3,SPIN4が該当)の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻よりも処理ユニットSPIN1の最終使用時刻の方が早いので(図59参照)、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持し(ステップS43)、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since the process job numbers PJ2 and PJ3 have started after the process job number PJ1, the scheduling for the process job number PJ3 has not been completed, and no usage rights have been set for the processing units SPIN3 and SPIN4. The determination is affirmed. Therefore, the scheduling function unit 25 stores the last use time of the parallel processing units SPIN3 to SPIN4 used by the process job number PJ3 (corresponding to the processing units SPIN3 and SPIN4 for which usage rights are not set). Get from. And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). In the assumed situation, since the last use time of the processing unit SPIN1 is earlier than the last use time of the processing units SPIN3 and SPIN4 (see FIG. 59), the determination in step S51 is negative. Therefore, the scheduling function unit 25 maintains the right to use the process job number PJ1 (step S43), and arranges blocks constituting the temporary time table of the third substrate PJ1-3 having the process job number PJ1 ( Steps S44 to S47).
図60は、プロセスジョブ番号PJ1の3枚目の基板PJ1−3に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。より具体的には、基板PJ1−3の処理ブロックが、処理ユニットSPIN1に対応して、基板PJ1−1の処理ブロックの後に配置され、その処理ブロックに合わせて、ブロック間の間隔ができるだけ小さくなるように、各ブロックが配置される。 FIG. 60 shows an example in which blocks relating to the third substrate PJ1-3 of process job number PJ1 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN1, which is the processing unit with the earliest last use time, is selected, and blocks constituting the temporary time table are arranged on the time axis in front-alignment. More specifically, the processing block of the substrate PJ1-3 is arranged after the processing block of the substrate PJ1-1 corresponding to the processing unit SPIN1, and the interval between the blocks is made as small as possible in accordance with the processing block. Thus, each block is arranged.
その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1−3の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−3は、プロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図60に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN1 finishes the processing of the substrate PJ1-3 as the last use time of the processing unit SPIN1, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-3 is not the last substrate of the process job number PJ1, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の3枚目の基板PJ1−3のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の4枚目の基板PJ1−4をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。 After scheduling the third substrate PJ1-3 having the process job number PJ1, the scheduling function unit 25 performs the processing from step S37. In this case, scheduling for the substrates W of process job numbers PJ1 and PJ3 has not been completed (step S37: YES), and the number of scheduled substrates W is less than the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Since there is no process (step S38: NO), the scheduling function unit 25 determines the fourth board of the process job number PJ1, that is, the process board having the earliest processing order of the process job number having the earliest scheduling instruction among the unscheduled process jobs. The board PJ1-4 is set as a scheduling target board, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39).
プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN2が該当する(図60参照)。スケジューリング対象基板PJ1−3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3のうちプロセスジョブ番号PJ3が未スケジューリングであり、処理ユニットSPIN3,SPIN4に対する使用権が未設定であるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN2の最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN2の最終使用時刻が最も早い(図60参照)ので、ステップS51での判定は否定となる。 Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN2 is applicable (see FIG. 60). Since the process job number PJ3 is unscheduled among the other process job numbers PJ2 and PJ3 for which scheduling is instructed after the scheduling target substrate PJ1-3, the usage right for the processing units SPIN3 and SPIN4 is not set. The determination in S42 is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. Then, the scheduling function unit 25 compares the last use time with the last use time of the processing unit SPIN2 specified in Step S41 (Step S51). In this case, the final use time of the processing unit SPIN2 is the earliest (see FIG. 60), so the determination in step S51 is negative.
そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の処理ユニットSPIN1,SPIN2に対する使用権を維持する。そして、スケジューリング機能部25は、プロセスジョブ番号PJ1の4枚目の基板PJ1−4の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。
図61は、プロセスジョブ番号PJ1の4枚目の基板PJ1−4に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1−3,PJ1−4の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ1−3,PJ1−4の受け渡しを同時に実行でき、また2枚の処理済み基板PJ1−3,PJ1−4の受け渡しを同時に実行できるので、それらの2枚の基板PJ1−3,PJ1−4の受け渡しを表すブロックが時間軸上で重なりあって配置されている。
Therefore, the scheduling function unit 25 maintains the right to use the processing units SPIN1 and SPIN2 of the process job number PJ1. Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the fourth substrate PJ1-4 having the process job number PJ1 (Steps S44 to S47).
FIG. 61 shows an example in which blocks relating to the fourth substrate PJ1-4 of process job number PJ1 are arranged. At this time, a provisional time table representing a route passing through the processing unit SPIN2, which is the processing unit with the earliest last use time, is selected, and blocks constituting the provisional time table are arranged on the time axis in front-alignment. Since the hands 8A and 8B of the indexer robot IR can transfer two unprocessed substrates W or processed substrates W at the same time, the blocks representing the transfer of the substrates PJ1-3 and PJ1-4 by the indexer robot IR are timed. It is arranged to overlap on the axis. Although not shown in detail, two unprocessed substrates PJ1-3 and PJ1-4 can be simultaneously transferred between the main transfer robot CR and the indexer robot IR, and two processed substrates can be simultaneously processed. Since the transfer of PJ1-3 and PJ1-4 can be executed simultaneously, the blocks representing the transfer of these two substrates PJ1-3 and PJ1-4 are arranged overlapping on the time axis.
その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1−4の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−4はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図61に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN2 finishes the processing of the substrate PJ1-4 as the last use time of the processing unit SPIN2, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-4 is not the last substrate of the process job number PJ1, the determination in step S49 is denied, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の4枚目の基板PJ1−4のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了である(ステップS37:YES)が、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達したので(ステップS38:YES)、スケジューリングが一旦終了する(ステップS53)。 After scheduling the fourth substrate PJ1-4 with the process job number PJ1, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of process job numbers PJ1 and PJ3 has not been completed (step S37: YES), but the number of scheduled substrates W is equal to the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Since it has reached (step S38: YES), the scheduling is temporarily ended (step S53).
スケジューリング済みの2枚の基板PJ1−3,PJ1−4が基板収容器Cから払い出されると、スケジューリング指示が発生する(ステップS33:YES)。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を「0」にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。
スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1−1〜4,PJ2−1〜2が存在する(ステップS35:YES)ので、処理開始している基板PJ1−1〜4,PJ2−1〜2のみでスケジューリングが行われる。その結果は、図61と同じである。さらに、未スケジューリングの基板があり(ステップS37:YES)、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN1〜SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。図61から、処理ユニットSPIN1が該当することが分かる。
When the two scheduled substrates PJ1-3 and PJ1-4 are paid out from the substrate container C, a scheduling instruction is generated (step S33: YES). At this time, the scheduling function unit 25 resets the scheduled number of substrates to “0”. The scheduled number of substrates is used in the determination in step S38.
When the scheduling instruction is generated, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3, and performs scheduling. Start. In this case, since there are other substrates PJ1-1 to 4 and PJ2-1 and 2 that have already started processing (step S35: YES), the substrates PJ1-1 to 4 and PJ2-1 that have started processing are present. Scheduling is performed with only 2. The result is the same as FIG. Further, there is an unscheduled substrate (step S37: YES), and scheduling of unprocessed substrates W for the number of sheets that can be transported at one time has not been completed (step S38: NO), so the fifth sheet of process job number PJ1. The temporary time table of the substrate PJ1-5 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN1 and SPIN2 designated in the recipe of the process job number PJ1 can be used (step S40). In this case, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1 (step S41). FIG. 61 shows that the processing unit SPIN1 is applicable.
プロセスジョブ番号PJ1の後にスタートしたプロセスジョブ番号PJ3のスケジューリングが未了であり、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3,SPIN4がいずれも使用可能(使用権未設定)であるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。想定している状況では、処理ユニットSPIN1,SPIN3,SPIN4のなかで処理ユニットSPIN3の最終使用時刻が最も早い(図61参照)ので、ステップS51での判定は肯定となる。 Since the scheduling of the process job number PJ3 started after the process job number PJ1 has not been completed and the parallel processing units SPIN3 and SPIN4 used by the process job number PJ3 are both usable (usage right not set), step S42 The determination at is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). In the assumed situation, the final use time of the processing unit SPIN3 is the earliest among the processing units SPIN1, SPIN3 and SPIN4 (see FIG. 61), so the determination in step S51 is affirmative.
そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN3を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ3−1をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブは存在しないので(ステップS42:NO)、スケジューリング機能部25は、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN3〜SPIN4のうち、使用権が未設定の処理ユニットSPIN3,SPIN4に対して、プロセスジョブ番号PJ3の使用権を設定する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Therefore, the scheduling function unit 25 schedules the first substrate PJ3-1 that is the substrate with the earliest processing order among the unscheduled substrates with the process job number PJ3 that can use the processing unit SPIN3 with the earliest last use time. As the target substrate (step S52), the processing from step S42 is performed. In this case, since there is no process job started after the process job number PJ3 (step S42: NO), the scheduling function unit 25 selects the parallel processing units SPIN3 to SPIN4 designated by the recipe of the process job number PJ3. The right to use the process job number PJ3 is set for the processing units SPIN3 and SPIN4 for which the right to use has not been set (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ3-1 having the process job number PJ3 (steps S44 to S47).
図62は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ3−1の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ3−1は、プロセスジョブ番号PJ3の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を維持する。この状態が、図62に示されている。
FIG. 62 shows an example in which blocks related to the first substrate PJ3-1 of process job number PJ3 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN3, which is the processing unit with the earliest last use time, is selected, and blocks constituting the temporary time table are arranged on the time axis so as to be left-justified.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN3 finishes the processing of the substrate PJ3-1 as the last use time of the processing unit SPIN3, and writes it in the storage unit 23 (step S48). Since the substrate PJ3-1 is not the last substrate of the process job number PJ3, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ3. This state is shown in FIG.
プロセスジョブ番号PJ3の1枚目の基板PJ3−1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の5枚目の基板PJ1−5をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。 After scheduling the first substrate PJ3-1 having the process job number PJ3, the scheduling function unit 25 performs the processing from step S37. In this case, scheduling for the substrates W of process job numbers PJ1 and PJ3 has not been completed (step S37: YES), and the number of scheduled substrates W is less than the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Since there is no process (step S38: NO), the scheduling function unit 25 selects the fifth board of the process job number PJ1, that is, the board with the earliest processing order of the process job number with the earliest scheduling instruction among the unscheduled process jobs. The board PJ1-5 is set as a scheduling target board, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39).
プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN1が該当する(図62参照)。スケジューリング対象基板PJ1−5よりも後でスケジューリング指示された別のプロセスジョブ番号PJ3のスケジューリングが未了であり、処理ユニットSPIN3,SPIN4に対してプロセスジョブ番号PJ3の使用権が設定されているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN4の最終使用時刻が処理ユニットSPIN1の最終使用時刻よりも早い。 Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN1 corresponds (see FIG. 62). Since the scheduling of another process job number PJ3 instructed after the scheduling target substrate PJ1-5 has not been completed and the right to use the process job number PJ3 is set for the processing units SPIN3 and SPIN4, The determination in step S42 is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. Then, the scheduling function unit 25 compares the last use time with the last use time of the processing unit SPIN1 specified in Step S41 (Step S51). In this case, the last use time of the processing unit SPIN4 is earlier than the last use time of the processing unit SPIN1.
そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である2枚目の基板PJ3−2をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブは存在しないので(ステップS42:NO)、スケジューリング機能部25は、プロセスジョブ番号PJ3の処理ユニットSPIN3,SPIN4に対する使用権を維持する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚目の基板PJ3−2の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Therefore, the scheduling function unit 25 schedules the second substrate PJ3-2 that is the substrate with the earliest processing order among the unscheduled substrates of the process job number PJ3 that can use the processing unit SPIN4 with the earliest last use time. As the target substrate (step S52), the processing from step S42 is performed. In this case, since there is no process job started after the process job number PJ3 (step S42: NO), the scheduling function unit 25 maintains the right to use the processing units SPIN3 and SPIN4 of the process job number PJ3 (step S42). S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the second substrate PJ3-2 having the process job number PJ3 (Steps S44 to S47).
図63は、プロセスジョブ番号PJ3の2枚目の基板PJ3−2に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ3−1,PJ3−2の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ3−1,PJ3−2の受け渡しを同時に実行でき、また2枚の処理済み基板PJ3−1,PJ3−2の受け渡しを同時に実行できるので、それらの2枚の基板PJ3−1,PJ3−2の受け渡しを表すブロックが時間軸上で重なりあって配置されている。 FIG. 63 shows an example in which blocks relating to the second substrate PJ3-2 of the process job number PJ3 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN4, which is the processing unit with the earliest last use time, is selected, and the blocks constituting the temporary time table are arranged on the time axis in front-alignment. Since the hands 8A and 8B of the indexer robot IR can simultaneously transport two unprocessed substrates W or processed substrates W, the blocks representing the transport of the substrates PJ3-1 and PJ3-2 by the indexer robot IR are timed. It is arranged to overlap on the axis. Although not shown in detail, two unprocessed substrates PJ3-1 and PJ3-2 can be simultaneously transferred between the main transfer robot CR and the indexer robot IR, and two processed substrates can be simultaneously processed. Since the transfer of PJ3-1 and PJ3-2 can be executed simultaneously, the blocks representing the transfer of these two substrates PJ3-1 and PJ3-2 are arranged overlapping on the time axis.
その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ3−2の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ3−2はプロセスジョブ番号PJ2の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を削除する(ステップS50)。この状態が、図63に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN4 finishes the processing of the substrate PJ3-2 as the last use time of the processing unit SPIN4, and writes it in the storage unit 23 (step S48). Since the substrate PJ3-2 is the last substrate of the process job number PJ2, the determination in step S49 is affirmed, and the scheduling function unit 25 deletes the right to use the process job number PJ3 (step S50). This state is shown in FIG.
プロセスジョブ番号PJ3の2枚目の基板PJ3−2のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了である(ステップS37:YES)が、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達したので(ステップS38:YES)、スケジューリングが一旦終了する(ステップS53)。 After scheduling of the second substrate PJ3-2 having the process job number PJ3, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrate W of the process job number PJ1 has not been completed (step S37: YES), but the number of scheduled substrates W has reached the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Therefore (step S38: YES), the scheduling is temporarily ended (step S53).
スケジューリング済みの2枚の基板PJ3−1,PJ3−2が基板収容器Cから払い出されると、スケジューリング指示が発生する(ステップS33:YES)。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を「0」にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。
スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1−1〜4,PJ2−1〜2,PJ3−1〜2が存在する(ステップS35:YES)ので、処理開始している基板PJ1−1〜4,PJ2−1〜2,PJ3−1〜2のみでスケジューリングが行われる。その結果は、図63と同じである。さらに、未スケジューリングの基板があり(ステップS37:YES)、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN1〜SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。図63から、処理ユニットSPIN1が該当することが分かる。
When the two scheduled substrates PJ3-1 and PJ3-2 are paid out from the substrate container C, a scheduling instruction is generated (step S33: YES). At this time, the scheduling function unit 25 resets the scheduled number of substrates to “0”. The scheduled number of substrates is used in the determination in step S38.
When the scheduling instruction is generated, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3, and performs scheduling. Start. In this case, since there are other substrates PJ1-1 to 4, PJ2-1 to 2 and PJ3-1 to 2 that have already started processing (step S35: YES), the substrate PJ1-1 to which processing has been started is present. 4, PJ2-1 to 2 and PJ3-1 to 2 are only used for scheduling. The result is the same as FIG. Further, there is an unscheduled substrate (step S37: YES), and scheduling of unprocessed substrates W for the number of sheets that can be transported at one time has not been completed (step S38: NO), so the fifth sheet of process job number PJ1. The temporary time table of the substrate PJ1-5 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN1 and SPIN2 designated in the recipe of the process job number PJ1 can be used (step S40). In this case, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1 (step S41). FIG. 63 shows that the processing unit SPIN1 is applicable.
プロセスジョブ番号PJ1の後にスタートしたプロセスジョブ番号PJ2,PJ3のスケジューリングは完了しているので、ステップS42での判定が否定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持し(ステップS43)、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since the scheduling of the process job numbers PJ2 and PJ3 started after the process job number PJ1 is completed, the determination in step S42 is denied. Therefore, the scheduling function unit 25 maintains the right to use the process job number PJ1 (step S43), and arranges blocks constituting the temporary time table of the fifth substrate PJ1-5 of the process job number PJ1 ( Steps S44 to S47).
図64は、プロセスジョブ番号PJ1の5枚目の基板PJ1−5に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。より具体的には、基板PJ1−5の処理ブロックが、処理ユニットSPIN1に対応して、基板PJ1−3の処理ブロック後に配置され、その処理ブロックに合わせて、ブロック間の間隔ができるだけ小さくなるように、各ブロックが配置される。 FIG. 64 shows an example in which blocks relating to the fifth substrate PJ1-5 of process job number PJ1 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN1, which is the processing unit with the earliest last use time, is selected, and blocks constituting the temporary time table are arranged on the time axis in front-alignment. More specifically, the processing block of the substrate PJ1-5 is arranged after the processing block of the substrate PJ1-3 corresponding to the processing unit SPIN1, and the interval between the blocks is made as small as possible in accordance with the processing block. Each block is arranged.
その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1−5の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−5は、プロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図64に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN1 finishes the processing of the substrate PJ1-5 as the last use time of the processing unit SPIN1, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-5 is not the last substrate of the process job number PJ1, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の5枚目の基板PJ1−5のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に満たないので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の6枚目の基板PJ1−6をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。 After scheduling the fifth substrate PJ1-5 with the process job number PJ1, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrate W of the process job number PJ1 has not been completed (step S37: YES), and the number of scheduled substrates W is less than the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). (Step S38: NO) The scheduling function unit 25 determines that the process job number with the earliest scheduling instruction among the unscheduled process jobs has the earliest processing order, that is, the sixth board PJ1 with the process job number PJ1. -6 is set as a scheduling target board, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39).
プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN2が該当する(図64参照)。スケジューリング対象基板PJ1−3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3のスケジューリングは完了しているので、ステップS42での判定が否定される。したがって、スケジューリング機能部25は、プロセスジョブ番号PJ1の処理ユニットSPIN1,SPIN2に対する使用権を維持する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ1の6枚目の基板PJ1−6の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN2 is applicable (see FIG. 64). Since the scheduling of the other process job numbers PJ2 and PJ3 instructed after the scheduling target substrate PJ1-3 is completed, the determination in step S42 is negative. Accordingly, the scheduling function unit 25 maintains the right to use the process units SPIN1 and SPIN2 of the process job number PJ1 (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the sixth substrate PJ1-6 having the process job number PJ1 (steps S44 to S47).
図65は、プロセスジョブ番号PJ1の6枚目の基板PJ1−6に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。インデクサロボットIRのハンド8Aおよび8Bは同時に2枚の未処理基板Wまたは処理済み基板Wを搬送することができるので、インデクサロボットIRによる基板PJ1−5,PJ1−6の搬送を表すブロックが、時間軸上で重なり合うように配置されている。また、詳細な図示は省略するが、主搬送ロボットCRとインデクサロボットIRとの間では、2枚の未処理基板PJ1−5,PJ1−6の受け渡しを同時に実行でき、また2枚の処理済み基板PJ1−5,PJ1−6の受け渡しを同時に実行できるので、それらの2枚の基板PJ1−5,PJ1−6の受け渡しを表すブロックが時間軸上で重なりあって配置されている。 FIG. 65 shows an example in which blocks relating to the sixth substrate PJ1-6 of process job number PJ1 are arranged. At this time, a provisional time table representing a route passing through the processing unit SPIN2, which is the processing unit with the earliest last use time, is selected, and blocks constituting the provisional time table are arranged on the time axis in front-alignment. Since the hands 8A and 8B of the indexer robot IR can transfer two unprocessed substrates W or processed substrates W at the same time, the blocks representing the transfer of the substrates PJ1-5 and PJ1-6 by the indexer robot IR are timed. It is arranged to overlap on the axis. Although not shown in detail, two unprocessed substrates PJ1-5 and PJ1-6 can be simultaneously transferred between the main transfer robot CR and the indexer robot IR, and two processed substrates can be simultaneously processed. Since the transfer of PJ1-5 and PJ1-6 can be executed simultaneously, the blocks representing the transfer of these two substrates PJ1-5 and PJ1-6 are arranged so as to overlap on the time axis.
その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1−6の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−6はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する(ステップS50)。この状態が、図65に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN2 finishes the processing of the substrate PJ1-6 as the last use time of the processing unit SPIN2, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-6 is not the last substrate of the process job number PJ1, the determination in step S49 is denied, and the scheduling function unit 25 maintains the right to use the process job number PJ1 (step S50). This state is shown in FIG.
プロセスジョブ番号PJ1の6枚目の基板PJ1−6のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了である(ステップS37:YES)が、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では2)に達したので(ステップS38:YES)、スケジューリングが一旦終了する(ステップS53)。 After scheduling the sixth substrate PJ1-6 having the process job number PJ1, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrate W of the process job number PJ1 has not been completed (step S37: YES), but the number of scheduled substrates W has reached the number of simultaneous conveyances of the indexer robot IR (2 in this embodiment). Therefore (step S38: YES), the scheduling is temporarily ended (step S53).
スケジューリング済みの2枚の基板PJ1−5,PJ1−6が基板収容器Cから払い出されると、スケジューリング指示が発生する(ステップS33)。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を「0」にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。
以後、同様の動作によって、プロセスジョブ番号PJ1の7枚目の基板PJ1−7を処理ユニットSPIN1で処理する計画が作成され(図66参照)、その後、プロセスジョブ番号PJ1の8枚目の基板PJ1−8を処理ユニットSPIN2で処理する計画が作成される(図67参照)。基板PJ1−8はプロセスジョブ番号PJ1の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を削除する(ステップS50)。これにより、図67に示す全体スケジューリングが完成し、スケジューリングを終える(ステップS37:NO。ステップS53)。
When the two scheduled substrates PJ1-5 and PJ1-6 are paid out from the substrate container C, a scheduling instruction is generated (step S33). At this time, the scheduling function unit 25 resets the scheduled number of substrates to “0”. The scheduled number of substrates is used in the determination in step S38.
Thereafter, by the same operation, a plan for processing the seventh substrate PJ1-7 having the process job number PJ1 by the processing unit SPIN1 is created (see FIG. 66), and then the eighth substrate PJ1 having the process job number PJ1 is prepared. A plan for processing -8 by the processing unit SPIN2 is created (see FIG. 67). Since the board PJ1-8 is the last board of the process job number PJ1, the determination in step S49 is affirmed, and the scheduling function unit 25 deletes the right to use the process job number PJ1 (step S50). Thereby, the overall scheduling shown in FIG. 67 is completed, and the scheduling ends (step S37: NO, step S53).
図67と図28との比較から明らかなとおり、図67に示したスケジューリングに従って処理を行うことによって、全体の処理時間が短縮される。とくに、インデクサロボットIRによる2枚の基板搬送を表す搬送ブロックを時間軸上で重ねて配置できることにより、処理時間を短縮できる。加えて、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN1〜SPIN4のうち、処理ユニットSPIN1〜SPIN2に対する使用権がプロセスジョブ番号PJ1に設定されている場合であっても、残りの処理ユニットSPIN3,SPIN4の最終使用時刻が早い場合には、その処理ユニットSPIN3,SPIN4についての使用権がプロセスジョブ番号PJ2に対して設定される。これにより、基板PJ2−1,PJ2−2の処理がプロセスジョブ番号PJ3の処理に対して先行する計画が策定されており、それによって、全体の基板処理時間の著しい短縮が達成されている。 As is clear from the comparison between FIG. 67 and FIG. 28, the entire processing time is shortened by performing the processing according to the scheduling shown in FIG. In particular, the processing time can be shortened because the transfer blocks representing the transfer of two substrates by the indexer robot IR can be arranged on the time axis. In addition, among the parallel processing units SPIN1 to SPIN4 specified in the recipe of the process job number PJ2, the remaining processing units are used even when the right to use the processing units SPIN1 to SPIN2 is set to the process job number PJ1. When the last use time of SPIN3 and SPIN4 is early, the right to use the processing units SPIN3 and SPIN4 is set for the process job number PJ2. As a result, a plan has been formulated in which the processing of the substrates PJ2-1 and PJ2-2 precedes the processing of the process job number PJ3, thereby significantly reducing the overall substrate processing time.
また、使用権の削除は、プロセスジョブの最後の基板が払い出されてからではなく、最後の基板のスケジューリングが終わった直後に行われるので、処理ユニットを効率的に稼働させるスケジューリングが可能となる。
図68〜図79は、第4の実施形態を説明するための図であり、プロセスジョブ番号PJ1,PJ2,PJ3が付された3つの基板群(プロセスジョブ)に対するスケジューリングのさらに他の例を示す。この例は、図1および図2に示された構成の基板処理装置に対して、図45に示したスケジューリングを適用した例である。
Also, the usage right is deleted not immediately after the last substrate of the process job is issued, but immediately after the last substrate is scheduled, so that the processing unit can be efficiently operated. .
68 to 79 are diagrams for explaining the fourth embodiment, and show still another example of scheduling for three substrate groups (process jobs) assigned process job numbers PJ1, PJ2, and PJ3. . This example is an example in which the scheduling shown in FIG. 45 is applied to the substrate processing apparatus having the configuration shown in FIGS. 1 and 2.
プロセスジョブ番号PJ1の基板群は8枚の基板PJ1−1〜8で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN1〜SPIN2が並行処理ユニットとして指定されているものとする。また、プロセスジョブ番号PJ2の基板群は2枚の基板PJ2−1〜2で構成され、処理内容データ中のレシピによって4つの処理ユニットSPIN1〜SPIN4が並行処理ユニットとして指定されているものとする。さらに、プロセスジョブ番号PJ3の基板群は2枚の基板PJ3−1〜2で構成され、処理内容データ中のレシピによって、2つの処理ユニットSPIN3〜SPIN4が並行処理ユニットとして指定されているものとする。そして、プロセスジョブ番号PJ1,PJ2,PJ3の基板群に対して、この番号順に処理開始されて、スケジューリング指示が発生する場合を想定する。 It is assumed that the substrate group of process job number PJ1 is composed of eight substrates PJ1-1 to PJ1-1 and two processing units SPIN1 and SPIN2 are designated as parallel processing units by the recipe in the processing content data. Further, it is assumed that the substrate group of the process job number PJ2 includes two substrates PJ2-1 and PJ2-1 and four processing units SPIN1 to SPIN4 are designated as parallel processing units by the recipe in the processing content data. Further, it is assumed that the substrate group of the process job number PJ3 includes two substrates PJ3-1 and PJ3-1 and two processing units SPIN3 to SPIN4 are designated as parallel processing units by a recipe in the processing content data. . A case is assumed in which processing is started for the substrate groups of process job numbers PJ1, PJ2, and PJ3 in the order of the numbers, and a scheduling instruction is generated.
基板処理開始指示が与えられると(図45のステップS31)、スケジューリング機能部25は、仮タイムテーブルを作成する(ステップS32)。すなわち、スケジューリング機能部25は、処理ユニットSPIN1を通る経路と処理ユニットSPIN2を通る経路との2つの経路を表す仮タイムテーブルがプロセスジョブ番号PJ1の8枚の基板PJ1−1〜8に対してそれぞれ作成される。同様に、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚の基板PJ2−1〜2に対して、それぞれ処理ユニットSPIN1〜SPIN4のいずれか一つを通る、4つの経路を表す仮タイムテーブルを作成する。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚の基板PJ3−1〜2に対して、それぞれ処理ユニットSPIN3またはSPIN4を通る、2つの経路を表す仮タイムテーブルを作成する。作成された仮タイムテーブルは、記憶部23に格納される。 When a substrate processing start instruction is given (step S31 in FIG. 45), the scheduling function unit 25 creates a temporary time table (step S32). In other words, the scheduling function unit 25 has provisional time tables representing two routes, a route passing through the processing unit SPIN1 and a route passing through the processing unit SPIN2, for the eight substrates PJ1-1 to 8 having the process job number PJ1, respectively. Created. Similarly, the scheduling function unit 25 generates a temporary time table representing four paths that pass through any one of the processing units SPIN1 to SPIN4 for the two substrates PJ2-1 to 2 of the process job number PJ2. create. Further, the scheduling function unit 25 creates a temporary time table representing two paths passing through the processing units SPIN3 and SPIN4 for the two substrates PJ3-1 and PJ3 of process job number PJ3. The created temporary time table is stored in the storage unit 23.
プロセスジョブ番号PJ1,PJ2,PJ3に対する処理開始が順に指示され、それに応答してスケジューリング指示が発生すると(図45のステップS33)、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、全体スケジューリングを開始する。既に処理開始している他の基板Wは存在せず(ステップS35:NO)、未スケジューリングの基板Wがあり(ステップS37:YES)、一度に搬送可能な枚数分(この実施形態では1枚)の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2のなかに、使用可能なもの、すなわち他のプロセスジョブ番号の使用権が未設定のものがあるかどうかを調べる(ステップS40)。最初の基板Wのスケジューリングを行うときには、この判断が肯定されるので、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。はじめは、いずれの処理ユニットの最終使用時刻も「0」であるので、番号の最も若い処理ユニットSPIN1が該当することになる。 When the process start is sequentially instructed for the process job numbers PJ1, PJ2, and PJ3, and a scheduling instruction is generated in response thereto (step S33 in FIG. 45), the scheduling function unit 25 stores all the temporary times stored in the storage unit 23. The table, that is, the temporary time table of all the substrates W corresponding to the process job numbers PJ1 to PJ3 is read, and the entire scheduling is started. There is no other substrate W that has already started processing (step S35: NO), there is an unscheduled substrate W (step S37: YES), and the number of substrates that can be transferred at one time (one in this embodiment). Since the unprocessed substrate W has not yet been scheduled (step S38: NO), the temporary time table of the first substrate PJ1-1 of the process job number PJ1 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 determines whether there is a usable one among the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1, that is, the right to use another process job number is not set. A check is made (step S40). Since this determination is affirmed when scheduling the first substrate W, the scheduling function unit 25 further processes the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1. Is specified (step S41). Initially, since the last use time of any processing unit is “0”, the processing unit SPIN1 with the smallest number corresponds.
プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしており、いずれの使用権も未設定であるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2が使用する並行処理ユニットSPIN1〜SPIN4の最終使用時刻を記憶部23から取得し、さらに、プロセスジョブ番号PJ3が使用する並行処理ユニットSPIN3〜SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。スケジューリング当初の各処理ユニットの最終使用時刻は初期値「0」であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピにおいて並行処理ユニットとして指定された処理ユニットSPIN1〜SPIN2に対して、プロセスジョブ番号PJ1の使用権を設定する(ステップS43)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since the process job numbers PJ2 and PJ3 have started after the process job number PJ1 and neither usage right has been set, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 obtains the last use time of the parallel processing units SPIN1 to SPIN4 used by the process job number PJ2 from the storage unit 23, and further the final processing unit SPIN3 to SPIN4 used by the process job number PJ3. The use time is acquired from the storage unit 23. And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). Since the last use time of each processing unit at the beginning of scheduling is the initial value “0”, the determination in step S51 is negative. Therefore, the scheduling function unit 25 sets the right to use the process job number PJ1 for the processing units SPIN1 and SPIN2 designated as parallel processing units in the recipe of the process job number PJ1 (step S43). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ1-1 having the process job number PJ1 (steps S44 to S47).
図68は、プロセスジョブ番号PJ1の1枚目の基板PJ1−1に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである、処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。 FIG. 68 shows an example in which blocks relating to the first substrate PJ1-1 of the process job number PJ1 are arranged. At this time, a temporary time table representing the route passing through the processing unit SPIN1, which is the processing unit with the earliest last use time specified in steps S41 and S42, is selected, and the blocks constituting the temporary time table are displayed on the time axis. Arranged at the top justified above.
その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1−1の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−1はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図68に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN1 finishes the processing of the substrate PJ1-1 as the last use time of the processing unit SPIN1, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-1 is not the last substrate of the process job number PJ1, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の1枚目の基板PJ1−1のスケジューリングの後、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了である(ステップS37:YES)が、スケジューリングした基板Wの枚数がインデクサロボットIRの同時搬送数(この実施形態では1)に達したので(ステップS38:YES)、スケジューリングが一旦終了する(ステップS52)。 After scheduling the first substrate PJ1-1 having the process job number PJ1, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of the process job numbers PJ1, PJ2, and PJ3 has not been completed (step S37: YES), but the number of the scheduled substrates W is the number of simultaneous conveyances of the indexer robot IR (1 in this embodiment). ) (Step S38: YES), the scheduling is temporarily ended (step S52).
スケジューリング済みの1枚の基板PJ1−1が基板収容器Cから払い出されると、スケジューリング指示が発生する(ステップS33:YES)。このとき、スケジューリング機能部25は、スケジューリング済みの基板枚数を「0」にリセットする。スケジューリング済み基板枚数は、ステップS38での判断で用いられる。
スケジューリング指示が発生すると、スケジューリング機能部25は、記憶部23に格納された全ての仮タイムテーブル、すなわち、プロセスジョブ番号PJ1〜PJ3に対応する全ての基板Wの仮タイムテーブルを読み出して、スケジューリングを開始する。この場合、既に処理開始している他の基板PJ1−1が存在する(ステップS35:YES)ので、処理開始している基板PJ1−1のみでスケジューリングが行われる。その結果は、図68と同じである。さらに、未スケジューリングの基板があり(ステップS37:YES)、一度に搬送可能な枚数分の未処理基板Wのスケジューリングが未了であるので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の2枚目の基板PJ1−2をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。処理ユニットSPIN1には基板PJ1−1のための処理ブロックが配置されているので、処理ユニットSPIN2が該当することになる。
When one scheduled substrate PJ1-1 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES). At this time, the scheduling function unit 25 resets the scheduled number of substrates to “0”. The scheduled number of substrates is used in the determination in step S38.
When the scheduling instruction is generated, the scheduling function unit 25 reads all the temporary time tables stored in the storage unit 23, that is, the temporary time tables of all the substrates W corresponding to the process job numbers PJ1 to PJ3, and performs scheduling. Start. In this case, since there is another substrate PJ1-1 that has already started processing (step S35: YES), scheduling is performed only by the substrate PJ1-1 that has started processing. The result is the same as FIG. Furthermore, there is an unscheduled substrate (step S37: YES), and scheduling of the unprocessed substrates W for the number of sheets that can be transported at one time has not been completed (step S38: NO). Among the completed process jobs, the board with the earliest processing order of the process job number with the earliest scheduling instruction, that is, the second board PJ1-2 of the process job number PJ1, is set as the scheduling target board, and data relating to the scheduling target board is obtained. Obtained from the storage unit 23 (step S39). Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). Since the processing block for the substrate PJ1-1 is arranged in the processing unit SPIN1, the processing unit SPIN2 is applicable.
スケジューリング対象基板PJ1−2よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3があり、それらのプロセスジョブで使用可能な(使用権未設定の)処理ユニットSPIN3,SPIN4があるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3〜SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN3の最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN2の最終使用時刻は初期値「0」であり、処理ユニットSPIN3〜SPIN4の最終使用時刻も初期値「0」であるので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する(ステップS43)。その後、スケジューリング機能部25は、プロセスジョブ番号PJ1の2枚目の基板PJ1−2の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since there are other process job numbers PJ2 and PJ3 for which scheduling has been instructed after the scheduling target substrate PJ1-2, and there are processing units SPIN3 and SPIN4 that can be used in those process jobs (no usage rights are set), step The determination in S42 is affirmed. Therefore, the scheduling function unit 25 acquires the last use times of the processing units SPIN <b> 3 to SPIN <b> 4 from the storage unit 23. Then, the scheduling function unit 25 compares the last use time with the last use time of the processing unit SPIN3 specified in Step S41 (Step S51). In this case, the final use time of the processing unit SPIN2 is the initial value “0”, and the final use times of the processing units SPIN3 to SPIN4 are also the initial value “0”, so the determination in step S51 is negative. Therefore, the scheduling function unit 25 maintains the right to use the process job number PJ1 (step S43). Thereafter, the scheduling function unit 25 arranges blocks constituting the temporary time table of the second substrate PJ1-2 having the process job number PJ1 (steps S44 to S47).
図69は、プロセスジョブ番号PJ1の2枚目の基板PJ1−2に関するブロックを配置した例を示す。このとき、ステップS41,S42で特定された、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1−2の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−2はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図69に示されている。
FIG. 69 shows an example in which blocks related to the second substrate PJ1-2 having the process job number PJ1 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN2, which is the processing unit with the earliest last use time, identified in steps S41 and S42 is selected, and blocks constituting the temporary time table are displayed on the time axis. It is arranged in front.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN2 finishes the processing of the substrate PJ1-2 as the last use time of the processing unit SPIN2, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-2 is not the last substrate of the process job number PJ1, the determination in step S49 is denied, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の2枚目の基板PJ1−2のスケジューリングの後、その基板PJ1−2が基板収容器Cから払い出されると、スケジューリング指示が発生し(ステップS33:YES)、ステップS34〜S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリング指示発生によってスケジューリング済みの基板枚数が「0」にリセットされるので(ステップS38:NO)、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN1〜SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。図69から、処理ユニットSPIN1が該当することが分かる。 After the second substrate PJ1-2 having the process job number PJ1 is scheduled, when the substrate PJ1-2 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES), and steps S34 to S36 are performed. Through the processing, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrate W of the process job numbers PJ1, PJ2, and PJ3 has not been completed (step S37: YES), and the number of substrates that have been scheduled is reset to “0” when the scheduling instruction is generated (step S38). : NO), a temporary time table of the third substrate PJ1-3 of the process job number PJ1 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN1 and SPIN2 designated in the recipe of the process job number PJ1 can be used (step S40). In this case, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1 (step S41). It can be seen from FIG. 69 that the processing unit SPIN1 is applicable.
プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしており、処理ユニットSPIN3,SPIN4が使用可能なので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2またはPJ3が使用可能な処理ユニットSPIN3〜SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較する(ステップS51)。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻はいずれも初期値「0」であるので、ステップS51での判定は肯定となる。 Since the process job numbers PJ2 and PJ3 are started after the process job number PJ1 and the processing units SPIN3 and SPIN4 are usable, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 acquires from the storage unit 23 the last use times of the processing units SPIN3 to SPIN4 that can use the process job number PJ2 or PJ3. Then, the scheduling function unit 25 compares these last use times with the last use time of the processing unit SPIN1 specified in Step S41 (Step S51). In the assumed situation, the final use times of the processing units SPIN3 and SPIN4 are both the initial value “0”, so the determination in step S51 is affirmative.
そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN3,SPIN4のうち番号の若い処理ユニットSPIN3を使用することができるプロセスジョブ番号PJ2の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ2−1をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ2よりも後で開始したプロセスジョブPJ3が存在するので(ステップS42:YES)、そのプロセスジョブ番号PJ3で使用可能な処理ユニットSPIN4の最終使用時間が調べられるが、ステップS51での判断は否定となる。 Therefore, the scheduling function unit 25 has the earliest processing order among the unscheduled substrates with the process job number PJ2 that can use the processing unit SPIN3 with the smallest number among the processing units SPIN3 and SPIN4 with the earliest last use time. The first substrate PJ2-1 is a substrate to be scheduled (step S52), and the processing from step S42 is performed. In this case, since there is a process job PJ3 started after the process job number PJ2 (step S42: YES), the last use time of the processing unit SPIN4 that can be used with the process job number PJ3 is checked. Judgment is negative.
そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN1〜SPIN4のうち、使用権が未設定の処理ユニットSPIN3,SPIN4に対して、プロセスジョブ番号PJ2の使用権を設定する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Therefore, the scheduling function unit 25 grants the right to use the process job number PJ2 to the processing units SPIN3 and SPIN4 for which the right to use is not set among the parallel processing units SPIN1 to SPIN4 specified in the recipe for the process job number PJ2. Set (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ2-1 having the process job number PJ2 (Steps S44 to S47).
図70は、プロセスジョブ番号PJ2の1枚目の基板PJ2−1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである、処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ2−1の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ2−1は、プロセスジョブ番号PJ2の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を維持する。この状態が、図70に示されている。
FIG. 70 shows an example in which blocks relating to the first substrate PJ2-1 of the process job number PJ2 are arranged. At this time, a provisional time table representing a route passing through the processing unit SPIN3, which is the processing unit with the earliest last use time, is selected, and the blocks constituting the provisional time table are arranged on the time axis in front-alignment.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN3 finishes the processing of the substrate PJ2-1 as the last use time of the processing unit SPIN3, and writes it in the storage unit 23 (step S48). Since the substrate PJ2-1 is not the last substrate of the process job number PJ2, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ2. This state is shown in FIG.
プロセスジョブ番号PJ2の1枚目の基板PJ2−1のスケジューリングの後、その基板PJ2−1が基板収容器Cから払い出されると、スケジューリング指示が発生し(ステップS33:YES)、ステップS34〜S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ2,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリング指示発生によってスケジューリング済みの基板枚数が「0」にリセットされるので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の3枚目の基板PJ1−3をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN1が該当する(図70参照)。 After the scheduling of the first substrate PJ2-1 having the process job number PJ2, when the substrate PJ2-1 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES), and steps S34 to S36 are performed. Through the processing, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrate W of the process job numbers PJ1, PJ2, and PJ3 has not been completed (step S37: YES), and the number of substrates that have been scheduled is reset to “0” when the scheduling instruction is generated (step S38). : NO), the scheduling function unit 25 selects the third board PJ1-3 having the process order with the earliest processing order of the process job number with the earliest scheduling instruction among the unscheduled process jobs, ie, the third board PJ1-3 with the process job number PJ1. A scheduling target board is obtained, and data relating to the scheduling target board is acquired from the storage unit 23 (step S39). Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN1 corresponds (see FIG. 70).
スケジューリング対象基板PJ1−3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3があり、処理ユニットSPIN3,SPIN4の使用権がプロセスジョブ番号PJ2に設定されているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN4の最終使用時刻は初期値「0」であるので、ステップS51での判定は肯定となる。そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ2の未スケジューリングの基板のうち処理順序が最も早い基板である2枚目の基板PJ2−2をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ2よりも後で開始したプロセスジョブ番号PJ3が存在するが、処理ユニットSPIN3,SPIN4の使用権がプロセスジョブ番号PJ2に設定されているので、ステップS42での判断が否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ2の処理ユニットSPIN3,SPIN4に対する使用権を維持する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ2の2枚目の基板PJ2−2の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since there are other process job numbers PJ2 and PJ3 for which scheduling is instructed after the scheduling target substrate PJ1-3 and the right to use the processing units SPIN3 and SPIN4 is set to the process job number PJ2, the determination in step S42 Is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. Then, the scheduling function unit 25 compares the last use time with the last use time of the processing unit SPIN1 specified in Step S41 (Step S51). In this case, since the last use time of the processing unit SPIN4 is the initial value “0”, the determination in step S51 is affirmative. Therefore, the scheduling function unit 25 schedules the second substrate PJ2-2, which is the substrate with the earliest processing order among the unscheduled substrates with the process job number PJ2 that can use the processing unit SPIN4 with the earliest last use time. As the target substrate (step S52), the processing from step S42 is performed. In this case, there is a process job number PJ3 started after the process job number PJ2, but since the right to use the processing units SPIN3 and SPIN4 is set to the process job number PJ2, the determination in step S42 is negative. Become. Therefore, the scheduling function unit 25 maintains the right to use the process units SPIN3 and SPIN4 of the process job number PJ2 (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the second substrate PJ2-2 having the process job number PJ2 (Steps S44 to S47).
図71は、プロセスジョブ番号PJ2の2枚目の基板PJ2−2に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ2−2の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ2−2はプロセスジョブ番号PJ2の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ2の使用権を削除する(ステップS50)。この状態が、図71に示されている。
FIG. 71 shows an example in which blocks relating to the second substrate PJ2-2 of the process job number PJ2 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN4, which is the processing unit with the earliest last use time, is selected, and the blocks constituting the temporary time table are arranged on the time axis in front-alignment.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN4 finishes the processing of the substrate PJ2-2 as the last use time of the processing unit SPIN4, and writes it in the storage unit 23 (step S48). Since the substrate PJ2-2 is the last substrate of the process job number PJ2, the determination in step S49 is affirmed, and the scheduling function unit 25 deletes the right to use the process job number PJ2 (step S50). This state is shown in FIG.
プロセスジョブ番号PJ2の2枚目の基板PJ2−2のスケジューリングの後、その基板PJ2−2が基板収容器Cから払い出されると、スケジューリング指示が発生し(ステップS33:YES)、ステップS34〜S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリング指示発生によってスケジューリング済みの基板枚数が「0」にリセットされるので(ステップS38:NO)、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN1〜SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。図71から、処理ユニットSPIN1が該当することが分かる。 After the second substrate PJ2-2 having the process job number PJ2 is scheduled, when the substrate PJ2-2 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES), and steps S34 to S36 are performed. Through the processing, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of process job numbers PJ1 and PJ3 has not been completed (step S37: YES), and the number of substrates already scheduled is reset to “0” by the generation of the scheduling instruction (step S38: NO). ), The provisional time table of the third substrate PJ1-3 of the process job number PJ1 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN1 and SPIN2 designated in the recipe of the process job number PJ1 can be used (step S40). In this case, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1 (step S41). From FIG. 71, it can be seen that the processing unit SPIN1 is applicable.
プロセスジョブ番号PJ1の後にプロセスジョブ番号PJ2,PJ3がスタートしていて、プロセスジョブ番号PJ3についてのスケジューリングが未了であり、処理ユニットSPIN3,SPIN4に使用権が設定されていないので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットの最終使用時刻とを比較する(ステップS51)。想定している状況では、処理ユニットSPIN3,SPIN4の最終使用時刻よりも処理ユニットSPIN1の最終使用時刻の方が早いので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持し(ステップS43)、プロセスジョブ番号PJ1の3枚目の基板PJ1−3の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since the process job numbers PJ2 and PJ3 have started after the process job number PJ1, the scheduling for the process job number PJ3 has not been completed, and no usage rights have been set for the processing units SPIN3 and SPIN4. The determination is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. And the scheduling function part 25 compares those last use time with the last use time of the processing unit specified by step S41 (step S51). In the assumed situation, since the last use time of the processing unit SPIN1 is earlier than the last use time of the processing units SPIN3 and SPIN4, the determination in step S51 is negative. Therefore, the scheduling function unit 25 maintains the right to use the process job number PJ1 (step S43), and arranges blocks constituting the temporary time table of the third substrate PJ1-3 having the process job number PJ1 ( Steps S44 to S47).
図72は、プロセスジョブ番号PJ1の3枚目の基板PJ1−3に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。より具体的には、基板PJ1−3の処理ブロックが、処理ユニットSPIN1に対応して、基板PJ1−1の処理ブロックの後に配置され、その処理ブロックに合わせて、ブロック間の間隔ができるだけ小さくなるように、各ブロックが配置される。 FIG. 72 shows an example in which blocks relating to the third substrate PJ1-3 of process job number PJ1 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN1, which is the processing unit with the earliest last use time, is selected, and blocks constituting the temporary time table are arranged on the time axis in front-alignment. More specifically, the processing block of the substrate PJ1-3 is arranged after the processing block of the substrate PJ1-1 corresponding to the processing unit SPIN1, and the interval between the blocks is made as small as possible in accordance with the processing block. Thus, each block is arranged.
その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1−3の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−3は、プロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図72に示されている。 Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN1 finishes the processing of the substrate PJ1-3 as the last use time of the processing unit SPIN1, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-3 is not the last substrate of the process job number PJ1, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の3枚目の基板PJ1−3のスケジューリングの後、その基板PJ1−3が基板収容器Cから払い出されると、スケジューリング指示が発生し(ステップS33:YES)、ステップS34〜S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリング指示発生によってスケジューリング済みの基板枚数が「0」にリセットされるので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の4枚目の基板PJ1−4をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。 After the third substrate PJ1-3 having the process job number PJ1 is scheduled, when the substrate PJ1-3 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES), and steps S34 to S36 are performed. Through the processing, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of process job numbers PJ1 and PJ3 has not been completed (step S37: YES), and the number of substrates already scheduled is reset to “0” by the generation of the scheduling instruction (step S38: NO). ), The scheduling function unit 25 schedules the fourth board PJ1-4 of the process job number PJ1 that is the earliest processing order of the process job number with the earliest scheduling instruction among the unscheduled process jobs. A board is obtained, and data relating to the board to be scheduled is acquired from the storage unit 23 (step S39).
プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN2が該当する(図72参照)。 Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN2 is applicable (see FIG. 72).
スケジューリング対象基板PJ1−3よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3のうちプロセスジョブ番号PJ3が未スケジューリングであり、処理ユニットSPIN3,SPIN4は使用可能(使用権未設定)であるので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN2の最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN2の最終使用時刻が最も早い(図72参照)ので、ステップS51での判定は否定となる。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の処理ユニットSPIN1,SPIN2に対する使用権を維持する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ1の4枚目の基板PJ1−4の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Of the other process job numbers PJ2 and PJ3 for which scheduling is instructed after the scheduling target substrate PJ1-3, the process job number PJ3 is unscheduled, and the processing units SPIN3 and SPIN4 are usable (use rights are not set). Therefore, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. Then, the scheduling function unit 25 compares the last use time with the last use time of the processing unit SPIN2 specified in Step S41 (Step S51). In this case, the final use time of the processing unit SPIN2 is the earliest (see FIG. 72), so the determination in step S51 is negative. Therefore, the scheduling function unit 25 maintains the right to use the processing units SPIN1, SPIN2 of the process job number PJ1 (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the fourth substrate PJ1-4 having the process job number PJ1 (Steps S44 to S47).
図73は、プロセスジョブ番号PJ1の4枚目の基板PJ1−4に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1−4の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−4はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図73に示されている。
FIG. 73 shows an example in which blocks relating to the fourth substrate PJ1-4 of process job number PJ1 are arranged. At this time, a provisional time table representing a route passing through the processing unit SPIN2, which is the processing unit with the earliest last use time, is selected, and blocks constituting the provisional time table are arranged on the time axis in front-alignment.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN2 finishes the processing of the substrate PJ1-4 as the last use time of the processing unit SPIN2, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-4 is not the last substrate of the process job number PJ1, the determination in step S49 is denied, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の4枚目の基板PJ1−4のスケジューリングの後、その基板PJ1−4が基板収容器Cから払い出されると、スケジューリング指示が発生し(ステップS33:YES)、ステップS34〜S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリング指示発生によってスケジューリング済みの基板枚数が「0」にリセットされるので(ステップS38:NO)、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN1〜SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。図73から、処理ユニットSPIN1が該当することが分かる。 After the fourth substrate PJ1-4 having the process job number PJ1 is scheduled, when the substrate PJ1-4 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES), and steps S34 to S36 are performed. Through the processing, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of process job numbers PJ1 and PJ3 has not been completed (step S37: YES), and the number of substrates already scheduled is reset to “0” by the generation of the scheduling instruction (step S38: NO). ), A provisional time table of the fifth substrate PJ1-5 of process job number PJ1 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN1 and SPIN2 designated in the recipe of the process job number PJ1 can be used (step S40). In this case, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1 (step S41). FIG. 73 shows that the processing unit SPIN1 is applicable.
プロセスジョブ番号PJ1の後にスタートしたプロセスジョブ番号PJ3のスケジューリングが未了であり、処理ユニットSPIN3,SPIN4が使用可能なので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、それらの最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較する(ステップS51)。想定している状況では、処理ユニットSPIN1,SPIN3,SPIN4のなかで処理ユニットSPIN3の最終使用時刻が最も早い(図73参照)ので、ステップS51での判定は肯定となる。 Since the scheduling of the process job number PJ3 started after the process job number PJ1 has not been completed and the processing units SPIN3 and SPIN4 can be used, the determination in step S42 is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. Then, the scheduling function unit 25 compares these last use times with the last use time of the processing unit SPIN1 specified in Step S41 (Step S51). In the assumed situation, the final use time of the processing unit SPIN3 is the earliest among the processing units SPIN1, SPIN3 and SPIN4 (see FIG. 73), so the determination in step S51 is affirmative.
そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN3を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である1枚目の基板PJ3−1をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブは存在しないので(ステップS42:NO)、スケジューリング機能部25は、プロセスジョブ番号PJ3のレシピで指定された並行処理ユニットSPIN3〜SPIN4のうち、使用権が未設定の処理ユニットSPIN3,SPIN4に対して、プロセスジョブ番号PJ3の使用権を設定する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Therefore, the scheduling function unit 25 schedules the first substrate PJ3-1 that is the substrate with the earliest processing order among the unscheduled substrates with the process job number PJ3 that can use the processing unit SPIN3 with the earliest last use time. As the target substrate (step S52), the processing from step S42 is performed. In this case, since there is no process job started after the process job number PJ3 (step S42: NO), the scheduling function unit 25 selects the parallel processing units SPIN3 to SPIN4 designated by the recipe of the process job number PJ3. The right to use the process job number PJ3 is set for the processing units SPIN3 and SPIN4 for which the right to use has not been set (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the first substrate PJ3-1 having the process job number PJ3 (steps S44 to S47).
図74は、プロセスジョブ番号PJ3の1枚目の基板PJ3−1に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN3を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN3が基板PJ3−1の処理を終える時刻を、処理ユニットSPIN3の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ3−1は、プロセスジョブ番号PJ3の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を維持する。この状態が、図74に示されている。
FIG. 74 shows an example in which blocks relating to the first substrate PJ3-1 of the process job number PJ3 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN3, which is the processing unit with the earliest last use time, is selected, and blocks constituting the temporary time table are arranged on the time axis so as to be left-justified.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN3 finishes the processing of the substrate PJ3-1 as the last use time of the processing unit SPIN3, and writes it in the storage unit 23 (step S48). Since the substrate PJ3-1 is not the last substrate of the process job number PJ3, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ3. This state is shown in FIG.
プロセスジョブ番号PJ3の1枚目の基板PJ3−1のスケジューリングの後、その基板PJ3−1が基板収容器Cから払い出されると、スケジューリング指示が発生し(ステップS33:YES)、ステップS34〜S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1,PJ3の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリング指示発生によってスケジューリング済みの基板枚数が「0」にリセットされるので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の5枚目の基板PJ1−5をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。 After the scheduling of the first substrate PJ3-1 having the process job number PJ3, when the substrate PJ3-1 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES), and steps S34 to S36 are performed. Through the processing, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrates W of process job numbers PJ1 and PJ3 has not been completed (step S37: YES), and the number of substrates already scheduled is reset to “0” by the generation of the scheduling instruction (step S38: NO). ), The scheduling function unit 25 schedules the board PJ1-5 having the earliest processing order of the process job number with the earliest scheduling instruction among the unscheduled process jobs, that is, the fifth board PJ1-5 having the process job number PJ1. A board is obtained, and data relating to the board to be scheduled is acquired from the storage unit 23 (step S39).
プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN1が該当する(図74参照)。 Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN1 corresponds (see FIG. 74).
スケジューリング対象基板PJ1−5よりも後でスケジューリング指示された別のプロセスジョブ番号PJ3のスケジューリングが未了であり、処理ユニットSPIN3,SPIN4の使用権がプロセスジョブ番号PJ3に設定されているので、ステップS42での判定が肯定される。そこで、スケジューリング機能部25は、処理ユニットSPIN3,SPIN4の最終使用時刻を記憶部23から取得する。そして、スケジューリング機能部25は、その最終使用時刻と、ステップS41で特定された処理ユニットSPIN1の最終使用時刻とを比較する(ステップS51)。この場合、処理ユニットSPIN4の最終使用時刻が処理ユニットSPIN1の最終使用時刻よりも早い。 Since the scheduling of another process job number PJ3 instructed after the scheduling target substrate PJ1-5 has not been completed and the right to use the processing units SPIN3 and SPIN4 is set to the process job number PJ3, step S42 The determination at is affirmed. Therefore, the scheduling function unit 25 acquires the last use time of the processing units SPIN3 and SPIN4 from the storage unit 23. Then, the scheduling function unit 25 compares the last use time with the last use time of the processing unit SPIN1 specified in Step S41 (Step S51). In this case, the last use time of the processing unit SPIN4 is earlier than the last use time of the processing unit SPIN1.
そこで、スケジューリング機能部25は、最終使用時刻が最も早い処理ユニットSPIN4を使用可能なプロセスジョブ番号PJ3の未スケジューリングの基板のうち処理順序が最も早い基板である2枚目の基板PJ3−2をスケジューリング対象基板として(ステップS52)、ステップS42からの処理を行う。この場合、プロセスジョブ番号PJ3よりも後で開始したプロセスジョブは存在しないので(ステップS42:NO)、スケジューリング機能部25は、プロセスジョブ番号PJ3の処理ユニットSPIN3,SPIN4に対する使用権を維持する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ3の2枚目の基板PJ3−2の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Therefore, the scheduling function unit 25 schedules the second substrate PJ3-2 that is the substrate with the earliest processing order among the unscheduled substrates of the process job number PJ3 that can use the processing unit SPIN4 with the earliest last use time. As the target substrate (step S52), the processing from step S42 is performed. In this case, since there is no process job started after the process job number PJ3 (step S42: NO), the scheduling function unit 25 maintains the right to use the processing units SPIN3 and SPIN4 of the process job number PJ3 (step S42). S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the second substrate PJ3-2 having the process job number PJ3 (Steps S44 to S47).
図75は、プロセスジョブ番号PJ3の2枚目の基板PJ3−2に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN4を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN4が基板PJ3−2の処理を終える時刻を、処理ユニットSPIN4の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ3−2はプロセスジョブ番号PJ3の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ3の使用権を削除する(ステップS50)。この状態が、図75に示されている。
FIG. 75 shows an example in which blocks relating to the second substrate PJ3-2 of process job number PJ3 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN4, which is the processing unit with the earliest last use time, is selected, and the blocks constituting the temporary time table are arranged on the time axis in front-alignment.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN4 finishes the processing of the substrate PJ3-2 as the last use time of the processing unit SPIN4, and writes it in the storage unit 23 (step S48). Since the substrate PJ3-2 is the last substrate of the process job number PJ3, the determination in step S49 is affirmed, and the scheduling function unit 25 deletes the right to use the process job number PJ3 (step S50). This state is shown in FIG.
プロセスジョブ番号PJ3の2枚目の基板PJ3−2のスケジューリングの後、その基板PJ3−2が基板収容器Cから払い出されると、スケジューリング指示が発生し(ステップS33:YES)、ステップS34〜S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリング指示発生によってスケジューリング済みの基板枚数が「0」にリセットされるので(ステップS38:NO)、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルが記憶部23から取得される(ステップS39)。さらに、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1〜SPIN2が使用可能かどうかを調べる(ステップS40)。この場合、処理ユニットSPIN1〜SPIN2に対してプロセスジョブ番号PJ1の使用権が設定されているので、ステップS40の判断が肯定される。そこで、スケジューリング機能部25は、さらに、プロセスジョブ番号PJ1で使用可能な処理ユニットSPIN1〜SPIN2のうち、最終使用時刻の最も早い処理ユニットを特定する(ステップS41)。図75から、処理ユニットSPIN1が該当することが分かる。 After the second substrate PJ3-2 having the process job number PJ3 is scheduled, when the substrate PJ3-2 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES), and steps S34 to S36 are performed. Through the processing, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrate W of the process job number PJ1 has not been completed (step S37: YES), and the number of substrates already scheduled is reset to “0” when the scheduling instruction is generated (step S38: NO). A temporary time table of the fifth substrate PJ1-5 having the process job number PJ1 is acquired from the storage unit 23 (step S39). Further, the scheduling function unit 25 checks whether or not the parallel processing units SPIN1 and SPIN2 designated in the recipe of the process job number PJ1 can be used (step S40). In this case, since the right to use the process job number PJ1 is set for the processing units SPIN1 and SPIN2, the determination in step S40 is affirmed. Therefore, the scheduling function unit 25 further identifies the processing unit with the earliest last use time among the processing units SPIN1 and SPIN2 that can be used with the process job number PJ1 (step S41). From FIG. 75, it can be seen that the processing unit SPIN1 is applicable.
プロセスジョブ番号PJ1の後にスタートしたプロセスジョブ番号PJ2,PJ3のスケジューリングは完了しているので、ステップS42での判定が否定される。そこで、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持し(ステップS43)、プロセスジョブ番号PJ1の5枚目の基板PJ1−5の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 Since the scheduling of the process job numbers PJ2 and PJ3 started after the process job number PJ1 is completed, the determination in step S42 is denied. Therefore, the scheduling function unit 25 maintains the right to use the process job number PJ1 (step S43), and arranges blocks constituting the temporary time table of the fifth substrate PJ1-5 of the process job number PJ1 ( Steps S44 to S47).
図76は、プロセスジョブ番号PJ1の5枚目の基板PJ1−5に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである処理ユニットSPIN1を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN1が基板PJ1−5の処理を終える時刻を、処理ユニットSPIN1の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−5は、プロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する。この状態が、図76に示されている。
FIG. 76 shows an example in which blocks relating to the fifth substrate PJ1-5 of process job number PJ1 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN1, which is the processing unit with the earliest last use time, is selected, and blocks constituting the temporary time table are arranged on the time axis in front-alignment.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN1 finishes the processing of the substrate PJ1-5 as the last use time of the processing unit SPIN1, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-5 is not the last substrate of the process job number PJ1, the determination in step S49 is negative, and the scheduling function unit 25 maintains the right to use the process job number PJ1. This state is shown in FIG.
プロセスジョブ番号PJ1の5枚目の基板PJ1−5のスケジューリングの後、その基板PJ1−5が基板収容器Cから払い出されると、スケジューリング指示が発生し(ステップS33:YES)、ステップS34〜S36の処理を経て、スケジューリング機能部25は、ステップS37からの処理を行う。この場合、プロセスジョブ番号PJ1の基板Wについてのスケジューリングは未了であり(ステップS37:YES)、スケジューリング指示発生によってスケジューリング済みの基板枚数が「0」にリセットされるので(ステップS38:NO)、スケジューリング機能部25は、スケジュール未了のプロセスジョブのなかでスケジューリング指示が最も早いプロセスジョブ番号の処理順序が最も早い基板、すなわちプロセスジョブ番号PJ1の6枚目の基板PJ1−6をスケジューリング対象基板とし、そのスケジューリング対象基板に関するデータを記憶部23から取得する(ステップS39)。プロセスジョブ番号PJ1の使用権が維持されているので、ステップS40の判断は肯定となり、スケジューリング機能部25は、プロセスジョブ番号PJ1のレシピで指定された並行処理ユニットSPIN1,SPIN2のうちで、最終使用時刻が最も小さい処理ユニットを特定する(ステップS41)。この場合、処理ユニットSPIN2が該当する(図76参照)。スケジューリング対象基板PJ1−6よりも後でスケジューリング指示された別のプロセスジョブ番号PJ2,PJ3のスケジューリングは完了しているので、ステップS42での判定が否定される。したがって、スケジューリング機能部25は、プロセスジョブ番号PJ1の処理ユニットSPIN1,SPIN2に対する使用権を維持する(ステップS43)。そして、スケジューリング機能部25は、プロセスジョブ番号PJ1の6枚目の基板PJ1−6の仮タイムテーブルを構成するブロックを配置していく(ステップS44〜S47)。 After the fifth substrate PJ1-5 having the process job number PJ1 is scheduled, when the substrate PJ1-5 is paid out from the substrate container C, a scheduling instruction is generated (step S33: YES), and steps S34 to S36 are performed. Through the processing, the scheduling function unit 25 performs the processing from step S37. In this case, the scheduling for the substrate W of the process job number PJ1 has not been completed (step S37: YES), and the number of substrates already scheduled is reset to “0” when the scheduling instruction is generated (step S38: NO). The scheduling function unit 25 sets the board with the earliest processing order of the process job number with the earliest scheduling instruction among the unscheduled process jobs, that is, the sixth board PJ1-6 with the process job number PJ1 as the board to be scheduled. Then, data relating to the board to be scheduled is acquired from the storage unit 23 (step S39). Since the right to use the process job number PJ1 is maintained, the determination in step S40 is affirmative, and the scheduling function unit 25 uses the final use of the parallel processing units SPIN1 and SPIN2 specified in the recipe of the process job number PJ1. The processing unit with the smallest time is specified (step S41). In this case, the processing unit SPIN2 is applicable (see FIG. 76). Since the scheduling of the other process job numbers PJ2 and PJ3 instructed after the scheduling target substrate PJ1-6 has been completed, the determination in step S42 is negative. Accordingly, the scheduling function unit 25 maintains the right to use the process units SPIN1 and SPIN2 of the process job number PJ1 (step S43). Then, the scheduling function unit 25 arranges blocks constituting the temporary time table of the sixth substrate PJ1-6 having the process job number PJ1 (steps S44 to S47).
図77は、プロセスジョブ番号PJ1の6枚目の基板PJ1−6に関するブロックを配置した例を示す。このとき、最終使用時刻が最も早い処理ユニットである、処理ユニットSPIN2を通る経路を表す仮タイムテーブルが選択され、その仮タイムテーブルを構成するブロックが、時間軸上で前詰めに配置される。
その後、スケジューリング機能部25は、処理ユニットSPIN2が基板PJ1−6の処理を終える時刻を、処理ユニットSPIN2の最終使用時刻として求め、記憶部23に書き込む(ステップS48)。そして、基板PJ1−6はプロセスジョブ番号PJ1の最後の基板ではないので、ステップS49での判断が否定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を維持する(ステップS50)。この状態が、図77に示されている。
FIG. 77 shows an example in which blocks relating to the sixth substrate PJ1-6 of process job number PJ1 are arranged. At this time, a temporary time table representing a route passing through the processing unit SPIN2, which is the processing unit with the earliest last use time, is selected, and blocks constituting the temporary time table are arranged on the time axis in front-alignment.
Thereafter, the scheduling function unit 25 obtains the time when the processing unit SPIN2 finishes the processing of the substrate PJ1-6 as the last use time of the processing unit SPIN2, and writes it in the storage unit 23 (step S48). Since the substrate PJ1-6 is not the last substrate of the process job number PJ1, the determination in step S49 is denied, and the scheduling function unit 25 maintains the right to use the process job number PJ1 (step S50). This state is shown in FIG.
以後、同様の動作によって、プロセスジョブ番号PJ1の7枚目の基板PJ1−7を処理ユニットSPIN1で処理する計画が作成され(図78参照)、その後、プロセスジョブ番号PJ1の8枚目の基板PJ1−8を処理ユニットSPIN2で処理する計画が作成される(図79参照)。基板PJ1−8はプロセスジョブ番号PJ1の最後の基板であるので、ステップS49での判断が肯定され、スケジューリング機能部25は、プロセスジョブ番号PJ1の使用権を削除する(ステップS50)。これにより、図79に示す全体スケジューリングが完成し、スケジューリングを終える(ステップS37:NO)。 Thereafter, by the same operation, a plan for processing the seventh substrate PJ1-7 having the process job number PJ1 by the processing unit SPIN1 is created (see FIG. 78), and then the eighth substrate PJ1 having the process job number PJ1 is prepared. A plan for processing -8 by the processing unit SPIN2 is created (see FIG. 79). Since the board PJ1-8 is the last board of the process job number PJ1, the determination in step S49 is affirmed, and the scheduling function unit 25 deletes the right to use the process job number PJ1 (step S50). Thereby, the overall scheduling shown in FIG. 79 is completed and the scheduling ends (step S37: NO).
このように、この実施形態においても、プロセスジョブ番号PJ2のレシピで指定された並行処理ユニットSPIN1〜SPIN4のうち、処理ユニットSPIN1〜SPIN2に対する使用権がプロセスジョブ番号PJ1に設定されている場合であっても、残りの処理ユニットSPIN3,SPIN4の最終使用時刻が早い場合には、その処理ユニットSPIN3,SPIN4についての使用権がプロセスジョブ番号PJ2に対して設定される。これにより、基板PJ2−1,PJ2−2の処理がプロセスジョブ番号PJ3の処理に対して先行する計画を策定でき、それによって、全体の基板処理時間の著しい短縮が達成されている。また、使用権の削除は、プロセスジョブの最後の基板が払い出されてからではなく、最後の基板のスケジューリングが終わった直後に行われるので、処理ユニットを効率的に稼働させるスケジューリングが可能となる。 As described above, also in this embodiment, among the parallel processing units SPIN1 to SPIN4 specified in the recipe of the process job number PJ2, the right to use the processing units SPIN1 to SPIN2 is set to the process job number PJ1. However, when the last use time of the remaining processing units SPIN3 and SPIN4 is early, the right to use the processing units SPIN3 and SPIN4 is set for the process job number PJ2. As a result, it is possible to formulate a plan in which the processing of the substrates PJ2-1 and PJ2-2 precedes the processing of the process job number PJ3, thereby significantly reducing the overall substrate processing time. Also, the usage right is deleted not immediately after the last substrate of the process job is issued, but immediately after the last substrate is scheduled, so that the processing unit can be efficiently operated. .
以上、この発明の4つの実施形態について説明してきたが、この発明は、さらに他の形態で実施することもできる。たとえば、前述の実施形態で示した基板処理装置の構成や基板処理内容は一例に過ぎず、基板処理装置は他の構成を採ることができ、かつ別の基板処理内容に対してもこの発明を適用できる。
また、プログラム30は、コンピュータ20に組み込まれた状態で提供されてもよいし、コンピュータ20とは別の記憶媒体(CD−ROM、DVD−ROM等のコンピュータ読取可能な記憶媒体)に記録された状態で提供されてもよい。
As mentioned above, although four embodiment of this invention has been described, this invention can also be implemented with another form. For example, the configuration of the substrate processing apparatus and the substrate processing contents shown in the above-described embodiments are merely examples, and the substrate processing apparatus can take other configurations, and the present invention can be applied to other substrate processing contents. Applicable.
The program 30 may be provided in a state incorporated in the computer 20 or recorded on a storage medium (computer-readable storage medium such as a CD-ROM or DVD-ROM) different from the computer 20. May be provided in the state.
その他、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
この明細書および添付図面から抽出され得る特徴を以下に記す。
A1.基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを前記基板処理装置に備えられた制御部が作成するための方法であって、
前記制御部が、共通の処理を施すべき第1の基板群に対して前記処理ユニットの使用権を設定する第1使用権設定ステップと、
前記制御部が、前記処理ユニットの使用権が前記第1の基板群に対して設定されているときに、当該第1の基板群の基板の前記処理ユニットによる処理を表す第1処理ブロックの配置を許容する一方で、他の基板群の基板の前記処理ユニットによる処理を表す処理ブロックの配置を禁止する第1処理ブロック配置ステップと、
前記制御部が、前記第1の基板群に対する前記処理ユニットの使用権を削除するステップと、
前記制御部が、前記第1の基板群に対して設定された前記処理ユニットの使用権が削除された後に、共通の処理を施すべき第2の基板群に対して前記処理ユニットの使用権を設定する第2使用権設定ステップと、
前記制御部が、前記処理ユニットの使用権が前記第2の基板群に対して設定されているときに、当該第2の基板群の基板の前記処理ユニットによる処理を表す第2処理ブロックの配置を許容する一方で、他の基板群の基板の前記処理ユニットによる処理を表す処理ブロックの配置を禁止する第2処理ブロック配置ステップと
を含む、スケジュール作成方法。
この方法によれば、共通の処理を施すべき第1の基板群に対して枚葉型処理ユニットの使用権が設定される。この使用権が設定されているときには、その処理ユニットによる処理を表す処理ブロックとしては、第1の基板群に属する基板に対する処理を表す第1処理ブロックのみが配置可能となり、他の基板群に属する基板に対する処理を表す処理ブロックの配置は禁止される。したがって、当該処理ユニットにおいては、第1の基板群の処理の間に、他の基板群の処理が割り込まないことを保証できる。また、第1の基板群に対する当該処理ユニットの使用権が削除されると、別の基板群である第2の基板群に対して当該処理ユニットの使用権が設定される。よって、その処理ユニットによる処理を表す処理ブロックとしては、第2の基板群に属する基板に対する処理を表す第2処理ブロックのみが配置可能となり、他の基板群に属する基板に対する処理を表す処理ブロックの配置は禁止される。したがって、当該処理ユニットにおいて、第2の基板群の処理の間に、他の基板群の処理が割り込まないことを保証できる。こうして、使用権の設定および削除を行うことで、処理が共通する基板群の間に別の処理を行うべき基板が割り込むことを回避できるので、基板処理装置のリソースとしての処理ユニットを効率的に稼働させることができる。これにより、個々の基板に対する処理ブロックを時間軸上に効率的に配置して枚葉型処理ユニット等のリソースの稼働率を高めることができるので、枚葉型基板処理装置の生産性を向上できる。
A2.前記第1の基板群に対する前記処理ユニットの使用権を削除するステップが、前記第1の基板群に属する全ての基板に対するスケジューリングの完了直後に実行される、項A1に記載のスケジュール作成方法。
この方法では、第1の基板群に対する処理ユニットの使用権の削除が、当該第1の基板群に属する全ての基板に対するスケジューリングの完了直後に実行されるから、第1の基板群に属する基板に関する処理開始を待つことなく、第2の基板群に対して処理ユニットの使用権を設定できる。これにより、第2の基板群に属する基板に対する処理ブロックを速やかに配置できるので、効率的な処理ブロック配置が可能となるので、枚葉型処理ユニットの稼働率を一層高めることができる。スケジューリングの完了直後とは、具体的には、第1の基板群の最後の基板が処理のために搬送開始(たとえば基板収容器から搬出)されるよりも前であってもよい。
A3.前記基板処理装置が複数の処理ユニットを含み、
前記第1の基板群を構成する基板が前記複数の処理ユニットのうちの第1の処理ユニット群において処理可能であり、
前記第2の基板群を構成する基板が前記複数の処理ユニットのうち、前記第1の処理ユニット群に属する少なくとも一つの処理ユニットを含む第2の処理ユニット群において処理可能であり、
前記第2処理ブロック配置ステップが、前記第1処理ブロックと干渉(時間軸上で重複)しないように前記第2処理ブロックを配置するステップを含む、項A2に記載のスケジューリング方法。
この方法では、第1の基板群を処理可能な第1処理ユニット群と第2の基板群を処理可能な第2処理ユニット群とは、少なくとも一つの重複する処理ユニットを有している。この場合に、第1の基板群に対して第1処理ユニット群の使用権が設定されているときは、当該重複する処理ユニットに対する第2処理ブロックの配置は許されない。第1の基板群に対する第1処理ユニット群の使用権が削除されると、当該重複する処理ユニットに対する第2処理ブロックの配置が可能となる。この場合、第2処理ブロックは、第1処理ブロックと干渉(時間軸上で重複)しないように配置される。具体的には、第2処理ユニット群のうち前記重複する処理ユニット以外の処理ユニットに対して第2処理ブロックを配置したり、前記重複する処理ユニットに対して第1処理ブロックと干渉しないように第2処理ブロックを配置したりすることができる。こうして、第1処理ブロックおよび第2処理ブロックの干渉を回避しつつ、枚葉型処理ユニットを効率的に稼働させることができる。
A4.前記基板処理装置が複数の処理ユニットを含み、
前記第1の基板群を構成する基板が前記複数の処理ユニットのうちの第1の処理ユニット群において処理可能であり、
前記第2の基板群を構成する基板が前記複数の処理ユニットのうち前記第1の処理ユニット群に属する処理ユニットと前記第1の処理ユニット群に属さない処理ユニットとを含む第2の処理ユニット群において処理可能であり、
前記制御部が、前記第1の基板群に対して前記第1の処理ユニット群の使用権が設定されているときに、前記第2の基板群に対して前記第2の処理ユニット群のうち前記第1処理ユニット群に属さない処理ユニットの使用権を設定する第3使用権設定ステップをさらに含む、項A1〜A3のいずれか一項に記載のスケジュール作成方法。
この方法によれば、第1の基板群に対して第1処理ユニット群の使用権が設定されているときであっても、第2の基板群に対して、第2処理ユニット群のうち第1処理ユニット群と重複しない処理ユニットの使用権が設定される。これにより、第1処理ユニット群の使用権の削除を待つことなく、かつ第1処理ブロックと干渉することもなく、第2処理ブロックを配置できる。したがって、枚葉型処理ユニットを一層効率的に稼働させることが可能となる。
A5.前記第2の処理ユニット群のうち前記第1処理ユニット群に属さない処理ユニットの最終使用時刻が他の処理ユニット(前記第2の処理ユニット群のうち前記第1の処理ユニット群に属する処理ユニット)の最終使用時刻よりも早いときに、前記制御部が、前記第3使用権設定ステップを実行する、項A4に記載のスケジュール作成方法。
この方法では、第2処理ユニット群のうち第1処理ユニット群と重複しない処理ユニットの最終使用時刻が、第1処理ユニット群と重複する処理ユニットの最終使用時刻よりも早いときに、第2の基板群に対して当該重複しない処理ユニットの使用権が設定される。したがって、第2の基板群に属する基板のための第2処理ブロックを、当該重複する処理ユニットの最終使用時刻よりも前に配置できる。これにより、枚葉型処理ユニットの稼働率を高めることができる。
A6.前記基板処理装置が、複数枚の基板をそれぞれ保持して同時に搬送できる複数の基板保持ハンドを有する基板搬送ユニットを含み、
前記制御部が、前記基板搬送ユニットによって同時に搬送される複数枚の基板の搬送をそれぞれ表す複数の搬送ブロックを時間軸上で重なり合うように配置するステップをさらに含む、項A1〜A5のいずれか一項に記載のスケジュール作成方法。
この方法では、基板搬送ユニットは、同時に複数枚の基板を搬送できる。そこで、複数枚の基板の搬送を表す複数の搬送ブロックを時間軸上で重なり合うように配置することで、複数枚の基板の同時搬送を計画することができる。こうして、枚葉型基板処理装置における基板搬送効率を高めることができるので、基板処理装置の生産性を高めることができる。
A7.基板を一枚ずつ処理する枚葉型の処理ユニットを有する基板処理装置の動作を時系列に従って規定するスケジュールを作成するためのコンピュータプログラムであって、項A1〜A6のいずれか一項に記載の方法を前記制御部としてのコンピュータに実行させるようにステップ群が組み込まれたコンピュータプログラム。
このコンピュータプログラムにより、スケジュール作成方法に関して説明した前述の効果を得ることができる。
In addition, various design changes can be made within the scope of the matters described in the claims.
Features that can be extracted from this specification and the accompanying drawings are described below.
A1. A method for a controller provided in the substrate processing apparatus to create a schedule for defining the operation of a substrate processing apparatus having a single-wafer type processing unit for processing substrates one by one according to a time series,
A first usage right setting step in which the control unit sets a usage right of the processing unit for a first substrate group to be subjected to common processing;
Arrangement of the first processing block representing the processing by the processing unit of the substrate of the first substrate group when the control unit has the right to use the processing unit for the first substrate group. A first processing block disposition step for prohibiting disposition of processing blocks representing processing by the processing unit of substrates of other substrate groups,
The control unit deleting a right to use the processing unit for the first substrate group;
The controller grants the right to use the processing unit to the second substrate group to be subjected to a common process after the right to use the processing unit set for the first substrate group is deleted. A second usage right setting step to be set;
Arrangement of the second processing block representing the processing by the processing unit of the substrate of the second substrate group when the control unit has the right to use the processing unit for the second substrate group. A second processing block disposing step for prohibiting disposition of processing blocks representing processing by the processing unit of substrates of other substrate groups,
A schedule creation method including
According to this method, the right to use the single wafer processing unit is set for the first substrate group to be subjected to common processing. When this right of use is set, only the first processing block representing processing for a substrate belonging to the first substrate group can be arranged as a processing block representing processing by the processing unit, and belongs to another substrate group. Arrangement of processing blocks representing processing on a substrate is prohibited. Therefore, in the processing unit, it can be ensured that the processing of the other substrate group is not interrupted during the processing of the first substrate group. Further, when the right to use the processing unit for the first substrate group is deleted, the right to use the processing unit is set to the second substrate group which is another substrate group. Therefore, as a processing block representing processing by the processing unit, only a second processing block representing processing for a substrate belonging to the second substrate group can be arranged, and a processing block representing processing for a substrate belonging to another substrate group. Placement is prohibited. Therefore, in the processing unit, it can be guaranteed that the processing of the other substrate group is not interrupted during the processing of the second substrate group. Thus, by setting and deleting the usage right, it is possible to avoid that a substrate to be subjected to another processing is interrupted between a group of substrates having a common processing, so that a processing unit as a resource of the substrate processing apparatus can be efficiently used. Can be operated. As a result, it is possible to efficiently arrange processing blocks for individual substrates on the time axis and increase the operating rate of resources such as a single wafer processing unit, thereby improving the productivity of the single substrate processing apparatus. .
A2. The schedule creation method according to Item A1, wherein the step of deleting the right to use the processing unit for the first substrate group is executed immediately after completion of scheduling for all the substrates belonging to the first substrate group.
In this method, since the deletion of the right to use the processing unit for the first substrate group is executed immediately after the completion of scheduling for all the substrates belonging to the first substrate group, it relates to the substrates belonging to the first substrate group. The right to use the processing unit can be set for the second substrate group without waiting for the start of processing. As a result, the processing blocks for the substrates belonging to the second substrate group can be quickly arranged, so that efficient processing block arrangement is possible, and the operating rate of the single wafer processing unit can be further increased. Specifically, the time immediately after the completion of scheduling may be before the last substrate of the first substrate group is transferred (for example, unloaded from the substrate container) for processing.
A3. The substrate processing apparatus includes a plurality of processing units,
Substrate constituting the first substrate group can be processed in the first processing unit group of the plurality of processing units,
The substrates constituting the second substrate group can be processed in a second processing unit group including at least one processing unit belonging to the first processing unit group among the plurality of processing units,
The scheduling method according to Item A2, wherein the second processing block arranging step includes a step of arranging the second processing block so as not to interfere (duplicate on the time axis) with the first processing block.
In this method, the first processing unit group capable of processing the first substrate group and the second processing unit group capable of processing the second substrate group have at least one overlapping processing unit. In this case, when the right to use the first processing unit group is set for the first substrate group, the arrangement of the second processing block with respect to the overlapping processing unit is not permitted. When the right to use the first processing unit group for the first substrate group is deleted, the second processing block can be arranged for the overlapping processing unit. In this case, the second processing block is arranged so as not to interfere (duplicate on the time axis) with the first processing block. Specifically, the second processing block is arranged in a processing unit other than the overlapping processing unit in the second processing unit group, or the overlapping processing unit does not interfere with the first processing block. A second processing block can be arranged. Thus, the single wafer processing unit can be operated efficiently while avoiding interference between the first processing block and the second processing block.
A4. The substrate processing apparatus includes a plurality of processing units,
Substrate constituting the first substrate group can be processed in the first processing unit group of the plurality of processing units,
A second processing unit in which a substrate constituting the second substrate group includes a processing unit belonging to the first processing unit group and a processing unit not belonging to the first processing unit group among the plurality of processing units. Can be processed in groups,
When the right to use the first processing unit group is set for the first substrate group, the control unit includes the second processing unit group for the second substrate group. The schedule creation method according to any one of Items A1 to A3, further including a third usage right setting step of setting a usage right of a processing unit that does not belong to the first processing unit group.
According to this method, even when the right to use the first processing unit group is set for the first substrate group, the second processing unit group in the second processing unit group has the right to use the first processing unit group. The right to use a processing unit that does not overlap with one processing unit group is set. Thereby, the second processing block can be arranged without waiting for the deletion of the right to use the first processing unit group and without interfering with the first processing block. Therefore, the single wafer processing unit can be operated more efficiently.
A5. The last use time of a processing unit that does not belong to the first processing unit group in the second processing unit group is another processing unit (the processing unit that belongs to the first processing unit group in the second processing unit group). The schedule creation method according to Item A4, wherein the control unit executes the third usage right setting step when it is earlier than the last use time.
In this method, when the last use time of a processing unit that does not overlap with the first processing unit group in the second processing unit group is earlier than the last use time of the processing unit that overlaps with the first processing unit group, The right to use the non-overlapping processing unit is set for the substrate group. Therefore, the second processing block for the substrates belonging to the second substrate group can be arranged before the last use time of the overlapping processing unit. Thereby, the operation rate of a single wafer processing unit can be raised.
A6. The substrate processing apparatus includes a substrate transfer unit having a plurality of substrate holding hands that can hold and transfer a plurality of substrates simultaneously,
Any one of Items A1 to A5 further including a step in which the control unit arranges a plurality of transport blocks each representing transport of a plurality of substrates transported simultaneously by the substrate transport unit so as to overlap on a time axis. The schedule creation method described in the section.
In this method, the substrate transport unit can transport a plurality of substrates simultaneously. Therefore, simultaneous transportation of a plurality of substrates can be planned by arranging a plurality of transportation blocks representing transportation of a plurality of substrates so as to overlap on the time axis. Thus, since the substrate transfer efficiency in the single wafer processing apparatus can be increased, the productivity of the substrate processing apparatus can be increased.
A7. A computer program for creating a schedule for prescribing operations of a substrate processing apparatus having a single-wafer type processing unit for processing substrates one by one in time series, according to any one of Items A1 to A6 A computer program in which steps are incorporated so as to cause a computer as the control unit to execute a method.
With this computer program, it is possible to obtain the above-described effects described regarding the schedule creation method.
W 基板
C 基板収容器
ST1〜ST4 ステージ
IR インデクサロボット
PASS 受け渡しユニット
CR 主搬送ロボット
SPIN1〜SPIN12 処理ユニット
G1〜G4 処理ユニット群
1 インデクサセクション
2 処理セクション
6 基台部
7 多関節アーム
8A,8B ハンド
11 基台部
12 多関節アーム
13A,13B,13C,13D ハンド
15 スピンチャック
16 処理液ノズル
17 処理室
20 コンピュータ
21 制御部
22 出入力部
23 記憶部
24 ホストコンピュータ
25 スケジューリング機能部
26 処理実行指示部
30 プログラム
31 スケジュール作成プログラム
32 処理実行プログラム
40 処理内容データ
50 スケジュールデータ
W substrate C substrate container ST1 to ST4 stage IR indexer robot PASS delivery unit CR main transfer robot SPIN1 to SPIN12 processing unit G1 to G4 processing unit group 1 indexer section 2 processing section 6 base 7 articulated arm 8A, 8B hand 11 Base unit 12 Articulated arm 13A, 13B, 13C, 13D Hand 15 Spin chuck 16 Processing liquid nozzle 17 Processing chamber 20 Computer 21 Control unit 22 Input / output unit 23 Storage unit 24 Host computer 25 Scheduling function unit 26 Processing execution instruction unit 30 Program 31 Schedule creation program 32 Process execution program 40 Process content data 50 Schedule data
Claims (5)
前記制御部が、共通の処理を施すべき第1の基板群であって前記複数の処理ユニットのうちの第1の処理ユニット群において処理可能な第1の基板群に対して前記第1の処理ユニット群に属する処理ユニットの使用権を設定する第1使用権設定ステップと、
前記制御部が、前記第1の処理ユニット群に属する処理ユニットの使用権が前記第1の基板群に対して設定されているときに、当該第1の基板群の基板の前記第1の処理ユニット群に属する処理ユニットによる処理を表す第1処理ブロックの配置を許容する一方で、他の基板群の基板の前記第1の処理ユニット群に属する処理ユニットによる処理を表す処理ブロックの配置を禁止する第1処理ブロック配置ステップと、
前記制御部が、前記第1の基板群に対する前記第1の処理ユニット群に属する処理ユニットの使用権を削除するステップと、
前記制御部が、共通の処理を施すべき第2の基板群であって前記複数の処理ユニットのうち前記第1の処理ユニット群に属する少なくとも一つの処理ユニットを含む第2の処理ユニット群において処理可能な第2の基板群に対する処理の計画に際して、前記第2の処理ユニット群に属するいずれの処理ユニットにも使用権が設定されていないことを条件に、前記第2の基板群に対して前記第2の処理ユニット群に属する処理ユニットの使用権を設定する第2使用権設定ステップと、
前記制御部が、前記第2の処理ユニット群に属する処理ユニットの使用権が前記第2の基板群に対して設定されているときに、当該第2の基板群の基板の前記第2の処理ユニット群に属する処理ユニットによる処理を表す第2処理ブロックの配置を許容する一方で、他の基板群の基板の前記第2の処理ユニット群に属する処理ユニットによる処理を表す処理ブロックの配置を禁止する第2処理ブロック配置ステップとを含む、スケジュール作成方法。 A method for creating a schedule for defining the operation of a substrate processing apparatus having a plurality of single-wafer processing units for processing substrates one by one according to a time series, the control unit provided in the substrate processing apparatus,
The first processing is performed on the first substrate group that can be processed in the first processing unit group of the plurality of processing units by the control unit, which is a first substrate group to perform common processing. A first usage right setting step for setting usage rights of processing units belonging to the unit group ;
Wherein the control unit is, the when the right of use of the first processing unit processing units belonging to the group is set to said first substrate group, the first processing of the substrate of the first substrate group while allowing the arrangement of the first processing block showing the processing by the processing units belonging to unit group, prohibits the arrangement of processing blocks that represent processing by the processing units belonging to the first processing unit group of a substrate other substrate group A first processing block placement step,
The control unit deleting a right to use a processing unit belonging to the first processing unit group for the first substrate group;
Wherein the control unit is, in the second process unit group that includes at least one processing units belonging to the first processing unit group among the plurality of processing units and a second substrate group to be subjected to processing in common When planning a process for a second substrate group that can be processed, the right to use is not set for any of the processing units belonging to the second processing unit group . A second usage right setting step for setting usage rights of processing units belonging to the second processing unit group ;
Wherein the control unit is, the when the right of use of the second processing unit processing units belonging to the group is set to said second substrate group, the second processing of the substrate of the second substrate group While the arrangement of the second processing block representing the processing by the processing unit belonging to the unit group is permitted, the arrangement of the processing block representing the processing by the processing unit belonging to the second processing unit group of the substrate of the other substrate group is prohibited. And a second processing block arranging step.
前記制御部が、前記第3の処理ユニット群に属する処理ユニットの使用権が前記第3の基板群に対して設定されているときに、当該第3の基板群の基板の前記第3の処理ユニット群に属する処理ユニットによる処理を表す第3処理ブロックの配置を許容する一方で、他の基板群の基板の前記第3の処理ユニット群に属する処理ユニットによる処理を表す処理ブロックの配置を禁止する第3処理ブロック配置ステップとをさらに含む、請求項1または2に記載のスケジュール作成方法。 When the use right of the processing unit belonging to the third processing unit group is set for the third substrate group, the control unit performs the third processing of the substrate of the third substrate group. While the arrangement of the third processing block representing the processing by the processing unit belonging to the unit group is permitted, the arrangement of the processing block representing the processing by the processing unit belonging to the third processing unit group of the substrate of the other substrate group is prohibited. The schedule creation method according to claim 1, further comprising a third processing block arrangement step.
前記制御部が、前記基板搬送ユニットによって同時に搬送される複数枚の基板の搬送をそれぞれ表す複数の搬送ブロックを時間軸上で重なり合うように配置するステップをさらに含む、請求項1〜3のいずれか一項に記載のスケジュール作成方法。 The substrate processing apparatus includes a substrate transfer unit having a plurality of substrate holding hands that can hold and transfer a plurality of substrates simultaneously,
Wherein the control unit further comprises the step of placing so as to overlap a plurality of transport blocks respectively representing the transfer of a plurality of substrates which are transported simultaneously by the substrate transfer unit on the time axis, any of claims 1 to 3 The schedule creation method according to one item.
請求項1〜4のいずれか一項に記載の方法を前記制御部としてのコンピュータに実行させるようにステップ群が組み込まれたコンピュータプログラム。 A computer program for creating a schedule for defining the operation of a substrate processing apparatus having a single-wafer type processing unit for processing substrates one by one according to a time series,
The computer program in which the group of steps was incorporated so that the computer as the said control part might perform the method as described in any one of Claims 1-4 .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011211449A JP5847515B2 (en) | 2011-09-27 | 2011-09-27 | Schedule creation method and schedule creation program for substrate processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011211449A JP5847515B2 (en) | 2011-09-27 | 2011-09-27 | Schedule creation method and schedule creation program for substrate processing apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013074059A JP2013074059A (en) | 2013-04-22 |
JP5847515B2 true JP5847515B2 (en) | 2016-01-20 |
Family
ID=48478315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011211449A Active JP5847515B2 (en) | 2011-09-27 | 2011-09-27 | Schedule creation method and schedule creation program for substrate processing apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5847515B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6481977B2 (en) * | 2015-01-26 | 2019-03-13 | 株式会社Screenホールディングス | Substrate processing method and substrate processing apparatus |
JP6512445B2 (en) * | 2015-08-18 | 2019-05-15 | 株式会社Screenホールディングス | Substrate processing apparatus and substrate processing method |
CN113299587B (en) * | 2021-05-21 | 2022-04-26 | 无锡亚电智能装备有限公司 | Wafer cleaning process task arrangement method and device |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5270289B2 (en) * | 2008-09-30 | 2013-08-21 | 株式会社Sokudo | Substrate processing equipment |
JP5445006B2 (en) * | 2009-10-05 | 2014-03-19 | 東京エレクトロン株式会社 | Substrate processing apparatus, substrate processing method, and storage medium |
-
2011
- 2011-09-27 JP JP2011211449A patent/JP5847515B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013074059A (en) | 2013-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5852908B2 (en) | Schedule creation method and schedule creation program for substrate processing apparatus | |
KR101553417B1 (en) | Substrate processing apparatus and substrate processing method | |
JP5246184B2 (en) | Substrate processing apparatus, substrate processing method, and storage medium | |
JP6313671B2 (en) | Method for creating schedule for substrate processing apparatus and substrate processing apparatus | |
KR102040339B1 (en) | Scheduling method and recording medium recording scheduling program for substrate processing apparatus | |
JP2008034746A (en) | Coating and developing device, method therefor and storage medium | |
JP5223778B2 (en) | Substrate processing apparatus, substrate processing method, and storage medium | |
JP2010199427A (en) | Substrate processing apparatus | |
JP6481977B2 (en) | Substrate processing method and substrate processing apparatus | |
JP5928283B2 (en) | Substrate processing apparatus, substrate transfer method, and storage medium | |
JP5847515B2 (en) | Schedule creation method and schedule creation program for substrate processing apparatus | |
TWI770598B (en) | Substrate processing method, substrate processing apparatus, and computer readable recording medium | |
JP2021036582A (en) | Schedule creation method and schedule creation device | |
JP6688361B2 (en) | Substrate transfer method | |
JP6435388B2 (en) | Substrate processing method and substrate processing apparatus | |
JP5348290B2 (en) | Substrate processing apparatus, substrate processing method, and storage medium | |
JP7112836B2 (en) | Substrate processing method and substrate processing apparatus | |
JP2017011023A (en) | Substrate processing apparatus and substrate processing method | |
JP5904294B2 (en) | Substrate processing apparatus and substrate processing method | |
JP6573693B2 (en) | Method for creating schedule for substrate processing apparatus and substrate processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140625 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150924 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151029 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151125 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5847515 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |