(57)【特許請求の範囲】
【請求項１】
複数の処理部と、それぞれが１または複数の基板からなる複数の基板群を前記複数の処理部に順次に搬送する搬送手段とを機能手段として備え、前記複数の基板群についてそれぞれあらかじめ規定されたレシピに応じた処理を順次に行う基板処理装置であって、
(a) 基板群ごとのレシピに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出する処理スケジュール算出手段と、
(b) 前記占有時間帯を前記複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、前記処理スケジュールを修正することにより、前記重複を回避した修正済スケジュールを得る比較修正手段と、
(c) 前記修正済スケジュールに基づいて前記機能手段を制御する制御手段と、
をさらに備え、
前記比較修正手段は、
(b-1) 基板群ごとに得られる複数の処理スケジュールを比較対象とし、時刻の進行順序に従って前記占有時間帯を相互に比較する順次比較手段と、
(b-2) 前記占有時間帯の重複が発見される都度、その重複時間幅に応じて、前記複数の処理スケジュールのうちのいずれかを時間的にシフトさせるシフト手段と、
(b-3) 前記シフト後の処理スケジュールを新たな比較対象として、前記重複のすべてが解消するまで前記順次比較手段と前記シフト手段とを繰返し能動化させる繰返し手段と、
を備え、
前記重複がすべて解消した状態で得られている処理スケジュールを前記修正済スケジュールとして得ることを特徴とする基板処理装置。
【請求項２】
複数の処理部と、それぞれが１または複数の基板からなる複数の基板群を前記複数の処理部に順次に搬送する搬送手段とを機能手段として備え、前記複数の基板群についてそれぞれあらかじめ規定されたレシピに応じた処理を順次に行う基板処理装置であって、
(a) 前記複数の基板群を投入前に待機させるバッファ部と、
(b) 各基板群の最適スケジュールを決定するスケジュール決定手段と、
(c) 前記最適スケジュールに従って、前記基板処理装置のポジション間における各基板群の移動タイミングを、前記機能手段を制御することにより制御する最適時間制御手段と、
をさらに備え、
前記スケジュール決定手段が、
(b-1) 各基板群の投入順序および投入タイミングを仮定して、基板群ごとのレシピに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出する処理スケジュール算出手段と、
(b-2) 前記占有時間帯を前記複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、前記処理スケジュールを修正することにより、前記重複を回避した修正済スケジュールを得る比較修正手段と、
(b-3) 前記修正済スケジュールに基づいて、前記複数の基板群のすべての処理に要する総処理時間を算出する総処理時間算出手段と、
(b-4) 各基板群の投入順序の仮定を変更しつつ、各投入順序における前記総処理時間を相互に比較して、前記総処理時間が最小となる前記修正済スケジュールを前記最適スケジュールとして特定する最適スケジュール特定手段と、
を備え、
前記比較修正手段は、
(b-2-1) 基板群ごとに得られる複数の処理スケジュールを比較対象とし、時刻の進行順序に従って前記占有時間帯を相互に比較する順次比較手段と、
(b-2-2) 前記占有時間帯の重複が発見される都度、その重複時間幅に応じて、前記複数の処理スケジュールのうちのいずれかを時間的にシフトさせるシフト手段と、
(b-2-3) 前記シフト後の処理スケジュールを新たな比較対象として、前記重複のすべてが解消するまで前記順次比較手段と前記シフト手段とを繰返し能動化させる繰返し手段と、
を備え、
前記重複がすべて解消した状態で得られている処理スケジュールを前記修正済スケジュールとして得ることを特徴とする基板処理装置。
【請求項３】
複数の処理部と、それぞれが１または複数の基板からなる複数の基板群を前記複数の処理部に順次に搬送する搬送手段とを機能手段として備え、前記複数の基板群についてそれぞれあらかじめ規定されたレシピに応じた処理を順次に行う基板処理装置のシミュレート装置であって、
(a) 前記基板処理装置の配置構成と基板群ごとのレシピとに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出する処理スケジュール算出手段と、
(b) 前記占有時間帯を前記複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、前記処理スケジュールを修正することにより、前記重複を回避した修正済スケジュールを得る比較修正手段と、
(c) 前記比較修正手段により得られた修正済スケジュールを前記基板処理装置に対して出力する出力手段と、
を備え、
前記基板処理装置とは別体として構成され、
前記比較修正手段は、
(b-1) 基板群ごとに得られる複数の処理スケジュールを比較対象とし、時刻の進行順序に従って前記占有時間帯を相互に比較する順次比較手段と、
(b-2) 前記占有時間帯の重複が発見される都度、その重複時間幅に応じて、前記複数の処理スケジュールのうちのいずれかを時間的にシフトさせるシフト手段と、
(b-3) 前記シフト後の処理スケジュールを新たな比較対象として、前記重複のすべてが解消するまで前記順次比較手段と前記シフト手段とを繰返し能動化させる繰返し手段と、
を備え、
前記重複がすべて解消した状態で得られている処理スケジュールを前記修正済スケジュールとして得ることを特徴とする、基板処理装置のシミュレート装置。
【請求項４】
それぞれが１または複数の基板からなる複数の基板群を投入前に待機させるバッファ部と、複数の処理部と、前記基板群を前記複数の処理部に順次に搬送する搬送手段とを機能手段として備え、前記複数の基板群についてそれぞれあらかじめ規定されたレシピに応じた処理を順次に行う基板処理装置のシミュレート装置であって、
(a) 各基板群の投入順序および投入タイミングを仮定して、前記基板処理装置の配置構成と基板群ごとのレシピとに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出する処理スケジュール算出手段と、
(b) 前記占有時間帯を前記複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、前記処理スケジュールを修正することにより、前記重複を回避した修正済スケジュールを得る比較修正手段と、
(c) 前記修正済スケジュールに基づいて、前記複数の基板群のすべての処理に要する総処理時間を算出する総処理時間算出手段と、
(d) 各基板群の投入順序の仮定を変更しつつ、各投入順序における前記総処理時間を相互に比較して、前記総処理時間が最小となる前記修正済スケジュールを最適スケジュールとして特定する最適スケジュール特定手段と、
(e) 前記最適スケジュール特定手段により特定された最適スケジュールを前記基板処理装置に対して出力する出力手段と、
を備え、
前記基板処理装置とは別体として構成され、
前記比較修正手段は、
(b-1) 基板群ごとに得られる複数の処理スケジュールを比較対象とし、時刻の進行順序に従って前記占有時間帯を相互に比較する順次比較手段と、
(b-2) 前記占有時間帯の重複が発見される都度、その重複時間幅に応じて、前記複数の処理スケジュールのうちのいずれかを時間的にシフトさせるシフト手段と、
(b-3) 前記シフト後の処理スケジュールを新たな比較対象として、前記重複のすべてが解消するまで前記順次比較手段と前記シフト手段とを繰返し能動化させる繰返し手段と、
を備え、
前記重複がすべて解消した状態で得られている処理スケジュールを前記修正済スケジュールとして得ることを特徴とする、基板処理装置のシミュレート装置。
【請求項５】
コンピュータを、請求項３または請求項４に記載の基板処理装置のシミュレート装置として動作させるための基板処理装置のシミュレートプログラムが記録されたことを特徴とする、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体ウエハ、液晶表示用ガラス基板、プラズマディスプレイパネル等の精密基板（以下、単に「基板」という）に対し、複数の処理部にて順次に所定の処理を施していく基板処理装置、そのような基板処理装置のシミュレート装置、及び基板処理装置のシミュレートプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
基板に対する処理を行う基板処理装置の一つとして、いわゆるインライン型と呼ばれる構成の装置が知られている。この装置は、処理対象となる基板を所定のキャリア（容器）から順次に払い出すローダと、処理の終了した基板を所定のキャリアに収容するアンローダとの間に、基板に対する所定の処理を行うために設けられる複数の処理部が一列状に配置され、基板をローダ側からアンローダ側に向かって一方向に搬送していくことにより、搬送過程にある各処理部内で基板に対する所定の処理を順次に行っていくように構成されている。
【０００３】
ローダより払い出される基板は、ロットごとに異なる処理内容が設定される場合があり、このような場合にはロットごとに各処理部における処理時間等が異なる内容で設定されている。そして、各ロットごとの処理内容は、ロットごとに対応づけられたレシピとして管理されている。
【０００４】
そして、処理内容の異なるロットの基板をローダより各処理部に対して順次に払い出していく際には、ローダから次のロットの基板を処理部に投入するタイミングを先に投入したロットの基板に後のロットの基板が追いつくことがないように設定する必要がある。
【０００５】
例えば、各処理部が処理槽を有し、処理槽内の薬液中に基板を浸漬させることにより、基板に対してエッチング等の基板処理を行うものである場合、後のロットの基板に対する薬液中への浸漬処理が終了して次の処理部（処理槽）に搬送しようとした際に搬送先の処理部において未だ先のロットの基板が処理中であったとき、後のロットの基板を次の処理部へ搬送することができず、オーバーエッチング等の過剰処理を行うことになり、不良基板を発生させる。
【０００６】
つまり、先に投入したロットの基板に後のロットの基板が追いついてしまうと、基板処理装置の内部で基板の渋滞が生じるため、レシピに応じて基板を各処理部に対して順次に搬送することができず、基板に対する適切な処理を行うことができないのである。
【０００７】
したがって、後に投入したロットの基板が先に投入したロットの基板に追いついてしまった場合には、後の基板を一時的に水洗処理槽に浸漬させておき、次の搬送先となる処理部が処理可能な状態になるまで待機させることが考えられる。
【０００８】
しかしながら、水洗処理槽において基板を浸漬させている間は純水のオーバーフロー供給を絶やすことができないため純水の消費量が多くなる。また、さらに後のロットの基板が当該水洗処理槽を搬送先としているときには、その基板の搬送を行うことも不可能となり、基板処理装置の内部における基板の渋滞の問題がさらに大きくなっていく。
【０００９】
そこで、ローダから基板を投入する際は、先の基板を投入してから所定時間の間隔を設けなければならない。この間隔は、必要以上に長ければ基板処理装置の稼働率を低下させることになるので、最低限の間隔にすることが好ましい。
【００１０】
従来は、最適な投入間隔、すなわち、ロットごとの投入タイミングを導くために、基板処理装置における各処理部の処理時間や搬送ロボットの動作等を考慮しながら手作業でロットごとの基板の移動をタイムチャートとして作成し、そして、人為的に作成されるタイムチャートに基づいて新規ロットの投入タイミングを定めていた。
【００１１】
【発明が解決しようとする課題】
ところが、上記のような手作業によるタイムチャートの作成は、計算が非常に複雑であるため、その作成に多大な労力と作業時間とを必要とするという問題がある。そして、このような作業は、異なる処理内容のロットの基板が多数混在する場合、計算がより複雑となり、作業効率が極めて悪くなる。
【００１２】
また、基板処理装置の構成自体が変更されることもあるが、その際には新たに多大な労力と作業時間をかけてタイムチャートを作成しなければならないという問題もある。
【００１３】
この発明は、上記課題に鑑みてなされたものであって、基板処理装置を実際に動作させることなく、基板の移動状況及び搬送ロボットの動作状況をシミュレートすることができるとともに、最適な投入タイミングや投入順序をも導くことのできる基板処理装置、基板処理装置のシミュレート装置、及び基板処理装置のシミュレートプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明は、複数の処理部と、それぞれが１または複数の基板からなる複数の基板群を前記複数の処理部に順次に搬送する搬送手段とを機能手段として備え、前記複数の基板群についてそれぞれあらかじめ規定されたレシピに応じた処理を順次に行う基板処理装置であって、(a) 基板群ごとのレシピに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出する処理スケジュール算出手段と、(b) 前記占有時間帯を前記複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、前記処理スケジュールを修正することにより、前記重複を回避した修正済スケジュールを得る比較修正手段と、(c) 前記修正済スケジュールに基づいて前記機能手段を制御する制御手段とをさらに備え、前記比較修正手段は、(b-1) 基板群ごとに得られる複数の処理スケジュールを比較対象とし、時刻の進行順序に従って前記占有時間帯を相互に比較する順次比較手段と、(b-2) 前記占有時間帯の重複が発見される都度、その重複時間幅に応じて、前記複数の処理スケジュールのうちのいずれかを時間的にシフトさせるシフト手段と、(b-3) 前記シフト後の処理スケジュールを新たな比較対象として、前記重複のすべてが解消するまで前記順次比較手段と前記シフト手段とを繰返し能動化させる繰返し手段とを備え、前記重複がすべて解消した状態で得られている処理スケジュールを前記修正済スケジュールとして得ることを特徴としている。
【００１６】
請求項２に記載の発明は、複数の処理部と、それぞれが１または複数の基板からなる複数の基板群を前記複数の処理部に順次に搬送する搬送手段とを機能手段として備え、前記複数の基板群についてそれぞれあらかじめ規定されたレシピに応じた処理を順次に行う基板処理装置であって、(a) 前記複数の基板群を投入前に待機させるバッファ部と、(b) 各基板群の最適スケジュールを決定するスケジュール決定手段と、(c) 前記最適スケジュールに従って、前記基板処理装置のポジション間における各基板群の移動タイミングを、前記機能手段を制御することにより制御する最適時間制御手段とをさらに備え、前記スケジュール決定手段が、(b-1) 各基板群の投入順序および投入タイミングを仮定して、基板群ごとのレシピに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出する処理スケジュール算出手段と、(b-2) 前記占有時間帯を前記複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、前記処理スケジュールを修正することにより、前記重複を回避した修正済スケジュールを得る比較修正手段と、(b-3) 前記修正済スケジュールに基づいて、前記複数の基板群のすべての処理に要する総処理時間を算出する総処理時間算出手段と、(b-4) 各基板群の投入順序の仮定を変更しつつ、各投入順序における前記総処理時間を相互に比較して、前記総処理時間が最小となる前記修正済スケジュールを前記最適スケジュールとして特定する最適スケジュール特定手段とを備え、前記比較修正手段は、(b-2-1) 基板群ごとに得られる複数の処理スケジュールを比較対象とし、時刻の進行順序に従って前記占有時間帯を相互に比較する順次比較手段と、(b-2-2) 前記占有時間帯の重複が発見される都度、その重複時間幅に応じて、前記複数の処理スケジュールのうちのいずれかを時間的にシフトさせるシフト手段と、(b-2-3) 前記シフト後の処理スケジュールを新たな比較対象として、前記重複のすべてが解消するまで前記順次比較手段と前記シフト手段とを繰返し能動化させる繰返し手段とを備え、前記重複がすべて解消した状態で得られている処理スケジュールを前記修正済スケジュールとして得ることを特徴としている。
【００１７】
ここで、ポジションとは、バッファ部や処理部等のように、基板群の一連の処理過程において基板群の移動が一旦停止するように設定されている箇所をいう。
【００１８】
請求項３に記載の発明は、複数の処理部と、それぞれが１または複数の基板からなる複数の基板群を前記複数の処理部に順次に搬送する搬送手段とを機能手段として備え、前記複数の基板群についてそれぞれあらかじめ規定されたレシピに応じた処理を順次に行う基板処理装置のシミュレート装置であって、(a) 前記基板処理装置の配置構成と基板群ごとのレシピとに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出する処理スケジュール算出手段と、(b) 前記占有時間帯を前記複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、前記処理スケジュールを修正することにより、前記重複を回避した修正済スケジュールを得る比較修正手段と、(c) 前記比較修正手段により得られた修正済スケジュールを前記基板処理装置に対して出力する出力手段とを備え、前記基板処理装置とは別体として構成され、前記比較修正手段は、(b-1) 基板群ごとに得られる複数の処理スケジュールを比較対象とし、時刻の進行順序に従って前記占有時間帯を相互に比較する順次比較手段と、(b-2) 前記占有時間帯の重複が発見される都度、その重複時間幅に応じて、前記複数の処理スケジュールのうちのいずれかを時間的にシフトさせるシフト手段と、(b-3) 前記シフト後の処理スケジュールを新たな比較対象として、前記重複のすべてが解消するまで前記順次比較手段と前記シフト手段とを繰返し能動化させる繰返し手段とを備え、前記重複がすべて解消した状態で得られている処理スケジュールを前記修正済スケジュールとして得ることを特徴としている。
【００１９】
請求項４に記載の発明は、それぞれが１または複数の基板からなる複数の基板群を投入前に待機させるバッファ部と、複数の処理部と、前記基板群を前記複数の処理部に順次に搬送する搬送手段とを機能手段として備え、前記複数の基板群についてそれぞれあらかじめ規定されたレシピに応じた処理を順次に行う基板処理装置のシミュレート装置であって、(a) 各基板群の投入順序および投入タイミングを仮定して、前記基板処理装置の配置構成と基板群ごとのレシピとに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出する処理スケジュール算出手段と、(b) 前記占有時間帯を前記複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、前記処理スケジュールを修正することにより、前記重複を回避した修正済スケジュールを得る比較修正手段と、(c) 前記修正済スケジュールに基づいて、前記複数の基板群のすべての処理に要する総処理時間を算出する総処理時間算出手段と、(d) 各基板群の投入順序の仮定を変更しつつ、各投入順序における前記総処理時間を相互に比較して、前記総処理時間が最小となる前記修正済スケジュールを最適スケジュールとして特定する最適スケジュール特定手段と、(e) 前記最適スケジュール特定手段により特定された最適スケジュールを前記基板処理装置に対して出力する出力手段とを備え、前記基板処理装置とは別体として構成され、前記比較修正手段は、(b-1) 基板群ごとに得られる複数の処理スケジュールを比較対象とし、時刻の進行順序に従って前記占有時間帯を相互に比較する順次比較手段と、(b-2) 前記占有時間帯の重複が発見される都度、その重複時間幅に応じて、前記複数の処理スケジュールのうちのいずれかを時間的にシフトさせるシフト手段と、(b-3) 前記シフト後の処理スケジュールを新たな比較対象として、前記重複のすべてが解消するまで前記順次比較手段と前記シフト手段とを繰返し能動化させる繰返し手段とを備え、前記重複がすべて解消した状態で得られている処理スケジュールを前記修正済スケジュールとして得ることを特徴としている。
【００２０】
請求項５に記載の発明は、コンピュータを、請求項３または請求項４に記載の基板処理装置のシミュレート装置として動作させるための基板処理装置のシミュレートプログラムが記録されたことを特徴としている。
【００２１】
【発明の実施の形態】
以下、本発明の実施形態を図面に基づいて説明する。
【００２２】
＜１．基板処理装置の概要＞
図１は、本実施形態の基板処理装置１の構成を示す平面図である。なお、図１にはＸ軸、Ｙ軸およびＺ軸からなる３次元座標が定義されている。
【００２３】
図１に示すように、基板処理装置１は、バッファ部１０、移載ロボット２０、搬送ロボット３０、処理部群４０及び制御部ＣＬを備える。
【００２４】
バッファ部１０は、複数の基板Ｗが収納されるキャリアＣを複数個収容する待機バッファとしての機能と、基板処理装置１の外部装置（例えば、ＡＧＶ等）との間で、キャリアＣの搬入および搬出を行うローダ及びアンローダとしての機能を兼備している。また、バッファ部１０の内部にはバッファ内搬送部１１が設けられており、このバッファ内搬送部１１が所定の投入順序に応じて複数のキャリアＣのうちから投入すべき基板Ｗが収納されるキャリアＣを特定し、そのキャリアＣを所定の受け渡し位置ＴＰに搬送する。
【００２５】
移載ロボット２０は、受け渡し位置ＴＰにアクセスしてキャリアＣから処理単位となる１または複数の基板Ｗからなる基板群を取り出したり、キャリアＣに基板群を収納する移載機構２０ａと、基板群の姿勢を水平姿勢と垂直姿勢との間で変換する姿勢変換機構２０ｂと、垂直姿勢の基板群を昇降させる昇降機構２０ｃとを備え、バッファ部１０と搬送ロボット３０との間で基板群の搬送を行うように構成されている。
【００２６】
搬送ロボット３０は、Ｘ軸に沿った水平移動及びＺ軸に沿った昇降移動が可能であり、一対の挟持機構３１により基板群を垂直姿勢で挟持して基板群の搬送を行う。この搬送ロボット３０は、昇降機構２０ｃとの間で基板群の受け渡しを行う。また処理部群４０に設けられている第１リフタ３５、第２リフタ３６、第３リフタ３７のそれぞれとの間での基板群の受け渡しを行うこともできる。
【００２７】
処理部群４０は、基板群に対して所定の処理を行う複数の処理部が設けられている。具体的には、基板群に対する減圧乾燥を行う乾燥処理部４１と、純水を収容する水洗槽ＷＢ１を有する第１水洗処理部４２と、薬液を収容する薬液槽ＣＢ１を有する第１薬液処理部４３と、純水を収容する水洗槽ＷＢ２を有する第２水洗処理部４４と、薬液を収容する薬液槽ＣＢ２を有する第２薬液処理部４３とを備える。これら複数の処理部はＸ方向に直線的に配列されており、この直線的配列に沿って前述の搬送ロボット３０の搬送路が形成されている。
【００２８】
乾燥処理部４１の後方側には第１リフタ３５が配置されており、この第１リフタ３５は上下動（Ｚ方向）が可能であり、搬送ロボット３０から受け取った基板群を乾燥処理部４１の内部側に搬送する。
【００２９】
また、第１水洗処理部４２及び第１薬液処理部４３の後方側には第２リフタ３６が配置されており、第２水洗処理部４４及び第２薬液処理部４５の後方側には第３リフタ３７が配置されている。第２リフタ３６及び第３リフタ３７は、上下動（Ｚ方向）および横行（Ｘ方向）が可能である。そして、第２リフタ３６は、搬送ロボット３０から受け取った基板群を第１薬液処理部４３の薬液槽ＣＢ１に浸漬したり、第１水洗処理部４２の水洗槽ＷＢ１に浸漬したりする。また、第３リフタ３７は、搬送ロボット３０から受け取った基板群を第２薬液処理部４５の薬液槽ＣＢ２に浸漬したり、第２水洗処理部４４の水洗槽ＷＢ２に浸漬したりする。
【００３０】
なお、この実施の形態では、基板群に対する各処理部４１〜４５と、バッファ内搬送部１１、移載ロボット２０、搬送ロボット３０及び第１〜第３リフタ３５〜３７からなる基板群の搬送手段とは、基板処理装置１において基板処理を行う際に必須の機能手段を形成している。これらの機能手段の動作制御は、制御部ＣＬによって行われる。
【００３１】
このような構成により、処理対象となる各基板群は、それぞれにあらかじめ規定されたレシピに応じて各処理部に順次搬送されるとともに、各処理部において所定の処理がなされていくことになる。また、レシピに応じた処理が終了した基板群は、搬送手段によって再びバッファ部１０に戻されて、キャリアＣ内に収納されるように構成されている。
【００３２】
ここで、基板処理装置１による基板処理手順の一例について説明する。バッファ内搬送部１１は、後述する投入順序決定方法によって決定された投入順序又は予め設定されている投入順序に従って、バッファ部１０内に収容されて待機状態にある複数のキャリアＣを順次受け渡し位置ＴＰまで搬送する。
【００３３】
移載ロボット２０は、キャリアＣから基板Ｗを１枚又は複数枚の処理単位である基板群ごとに取り出し、水平姿勢から垂直姿勢に変換した後に、基板群を搬送ロボット３０に渡す。
【００３４】
搬送ロボット３０は、基板群を受け取るとＸ方向に移動して第２リフタ３６又は第３リフタ３７にその基板群を渡す。第２又は第３リフタ３６，３７は、処理対象の基板群を受け取ると、基板群を下降させ、薬液層ＣＢ１，ＣＢ２内の所定の薬液中に基板群を浸漬させる。これにより基板群に対する薬液処理が開始される。なお、基板群に対する浸漬処理中においても第２又は第３リフタ３６，３７は基板群を垂直姿勢で保持した状態を持続する。
【００３５】
そしてレシピに基づいた薬液処理時間が経過すると、第２又は第３リフタ３６，３７は基板群を上昇させることによって薬液中から取り出し、水洗槽ＷＢ１，ＷＢ２上に移動した後に純水中に基板群を浸漬させる。これにより基板群に対する洗浄処理が行われる。基板群に対する洗浄過程においては水洗槽ＷＢ１，ＷＢ２から純水のオーバーフローが行われる。
【００３６】
基板群に対する薬液処理および純水処理が終了すると、搬送ロボット３０は第２又は第３リフタ３６，３７から基板群を取り出し、それを第１リフタ３５に渡す。そして、第１リフタ４１は搬送ロボット３０から受け取った基板群を乾燥処理部４１内に搬送することにより基板群を乾燥させる。
【００３７】
乾燥が終了すると、搬送ロボット３０は第１リフタ３５から乾燥の終了した基板群を取り出して、移載ロボット２０に全ての処理が終了した基板群を渡す。移載ロボット２０は処理の完了した基板群を垂直姿勢から水平姿勢に変換した後、それをバッファ部１０の受け渡し位置ＴＰにあるキャリアＣ内に収納する。
【００３８】
以上で一連の基板処理が終了することになるが、１つの基板群が特定の処理部にて処理中であるとき、他の処理部や搬送ロボット３０等に空き状態が生じるため、この実施の形態では、そのような空き状態を利用して他の基板群の搬送や処理を行うように基板処理に関するスケジュールを設定して基板処理の効率化を図るように構成される。
【００３９】
＜２．基板処理装置の制御機構＞
図２は、上記のような基板処理装置１の制御部ＣＬの詳細を示すブロック図である。図２に示すように、この制御部ＣＬには、マスタ制御部２と処理制御部３と搬送制御部４との３つの制御部が設けられている。
【００４０】
マスタ制御部２は、基板処理装置１における各部の全体的な動作を統括的に制御管理する制御部である。マスタ制御部２には、基板ごと又はロットごとに設定される処理内容に関するレシピや基板処理装置１の構成に関するデータ等を記憶するメモリ５、オペレータに対して基板処理状況等の幾種類もの情報を表示する表示部６、オペレータによって操作入力が行われることにより所定の情報を入力するキーボード７、処理制御部３及び搬送制御部４がそれぞれ接続されている。
【００４１】
処理制御部３は、処理部群４０における各処理部の動作に関するパラメータ等を個別に送信することによって各処理部を制御するものであり、上述した乾燥処理部４１、第１水洗処理部４２、第１薬液処理部４３、第２水洗処理部４４、第２薬液処理部４５のそれぞれと通信可能な状態で接続されている。
【００４２】
搬送制御部４は、基板処理装置１における各搬送手段に対して搬送指令等を送信することによって各搬送手段を個別に制御するものであり、上述のバッファ内搬送部１１、移載ロボット２０、搬送ロボット３０、第１リフタ３５、第２リフタ３６、第３リフタ３７のそれぞれと通信可能な状態で接続されている。
【００４３】
基板処理装置１において基板群を処理する際には、まず、処理対象の基板Ｗが複数枚収納されたキャリアＣがバッファ部１０に搬入される。このキャリアＣの搬入とほぼ同時に、当該キャリアＣに収納されている基板群の処理内容に関するレシピがデータ入力され、マスタ制御部２によってメモリ５に格納される。なお、レシピの入力は、オペレータによってキーボード７より入力されてもよく、また、図示しないデータ入力手段を介して他のコンピュータ（例えば、工場内に設けられた管理コンピュータ等）から入力されてもよい。
【００４４】
レシピには、基板群に対してどのような処理を施すかが記述されている。例えば、乾燥処理部４１における減圧の際の圧力値や乾燥処理時間、第１水洗処理部４２および第２水洗処理部４４における水洗処理時間、第１薬液処理部４３および第２薬液処理部４５における薬液処理時間等の基板群に対する処理手順が記述される。
【００４５】
基板群に対する処理を行う際には、マスタ制御部２が当該基板群に関するレシピをメモリ５より読み出して、各種パラメータを処理制御部３及び搬送制御部４に与えることにより、搬送制御部４が各搬送手段に駆動指令を与えて基板群を処理手順に応じた順序での基板搬送を行わせるとともに、処理制御部３が各処理部における基板群に対する処理を適切に行わせるよう管理制御する。
【００４６】
そして、この実施の形態では過剰処理等による不良基板の発生を回避し、かつ、効率的な基板処理を行うために、オペレータからの指示に基づいて、基板群に対する実際の処理の開始に先立ってマスタ制御部２がバッファ部１０に待機する複数の基板群の最適な投入順序等を決定する。また、予め投入順序が定められている場合には、各基板群の最適な投入タイミング等を決定する。
【００４７】
図３は、マスタ制御部２に含まれる機能を模式的に示した図である。
【００４８】
上記のように、マスタ制御部２は、実際の基板処理に先立ってスケジュール決定部２５として動作することにより、各基板群を処理する際の最適スケジュールを特定する。
【００４９】
実際に基板処理を行う際、マスタ制御部２は最適時間制御部２６として動作することにより、予め特定された最適スケジュールに基づいて各ポジション間における各基板群の移動タイミングを制御する。すなわち、バッファ部１０から基板群を所定の投入タイミングで投入したり所定の搬送タイミングで各処理部間の搬送を行ったりするように、処理制御部３および搬送制御部４に動作指令を与えて制御するのである。
【００５０】
最適スケジュールを特定する際のスケジュール決定部２５は、さらに、処理スケジュール算出部２５ａ、比較修正部２５ｂ、総処理時間算出部２５ｃ、最適スケジュール特定部２５ｄという４つの処理部に分類される。
【００５１】
処理スケジュール算出部２５ａは、基板群ごとに規定されたレシピに応じて基板群ごとの処理スケジュールを求める。処理スケジュールは、当該基板群に対してなされる処理手順を経時的に表現したものであり、当該基板による各機能手段の占有時間帯の連鎖として表される。
【００５２】
比較修正部２５ｂは、基板群ごとに得られる処理スケジュールの占有時間帯を時間軸に沿って相互に比較検証し、いずれかの占有時間帯に重複がある場合に処理スケジュールを修正することにより、重複を回避した修正済スケジュールを生成する。
【００５３】
総処理時間算出部２５ｃは、修正済スケジュールに基づいて、複数の基板群のすべての処理に要する総処理時間を算出する。
【００５４】
最適スケジュール特定部２５ｄは、異なる投入順序ごとに算出される総処理時間を相互に比較して、総処理時間が最小となる修正済スケジュールを選定しそれを最適スケジュールとして特定する。
【００５５】
そして、これらの各部が密接に関係することにより、基板処理に先立って、各基板群を処理する際の最適なスケジュールを特定することができるので、基板処理装置１を効率的に稼働させ、かつ、過剰な基板処理を回避することを可能にする。
【００５６】
以下、このようなマスタ制御部２における処理の詳細について説明する。
【００５７】
＜３．投入順序が規定されていない場合の最適スケジュールの決定＞
まず、投入順序の決定に関する処理について説明する。バッファ部１０に複数のキャリアＣが待機しており、各キャリアＣの投入順序が特に定められていない場合には、各キャリアＣに収納される基板群の投入順序に応じて基板処理装置１における処理効率が著しく変化する。したがって、過剰処理等による不良基板の発生を回避し、かつ、効率的な基板処理を行うためには、最適な投入順序を含む最適なスケジュールを決定する必要がある。
【００５８】
なお、以下の説明においては、各手順を理解し易くするために、バッファ部１０内に処理内容の異なる３つの基板群Ａ，Ｂ，Ｃが待機状態にある場合を一例として説明する。また、これら各基板群Ａ，Ｂ，Ｃにはそれぞれレシピａ，ｂ，ｃが設定されているものとする。
【００５９】
図４、図５および図６は、基板処理に先立って基板群の投入順序を決定する場合のフローチャートである。
【００６０】
図４に示すように、実際の基板処理（ステップＳ２）に先立って、マスタ制御部２がバッファ部１０に待機する基板群が複数ある場合に、それら基板群の投入順序を含む最適なスケジュールを決定する（ステップＳ１）。つまり、マスタ制御部２がステップＳ１の処理を行う際には、スケジュール決定部２５として機能するのである。
【００６１】
なお、バッファ部１０に待機する基板群が１つのみである場合は、投入対象が１つしか存在しないので、他の基板群との関係における最適なスケジュールを決定するということが必要でなくなるため、ステップＳ１の処理は行わなくともよい。
【００６２】
最適スケジュールの決定（ステップＳ１）の詳細な処理内容は図５および図６のフローチャートである。
【００６３】
マスタ制御部２は、バッファ部１０に待機する複数の基板群の投入順序及び投入タイミングを仮定する（ステップＳ１１）。例えば、基板群Ａ，Ｂ，Ｃの投入順序を「Ａ→Ｂ→Ｃ」の順に仮定する。
【００６４】
そして、マスタ制御部２は、メモリ５にアクセスしてバッファ部１０に待機する基板群ごとに設定されたレシピを取得する（ステップＳ１２）。これにより、マスタ制御部２は各基板群に対する処理内容を解明することができる。例えば、上記例の場合、基板群Ａ，Ｂ，Ｃのそれぞれについて個別に設定されたレシピａ，ｂ，ｃを取得することになる。
【００６５】
そして、マスタ制御部２は、基板群ごとのレシピに応じた処理スケジュールを算出する（ステップＳ１３）。上記のレシピには各処理部において処理される時間等は記述されているが、基板群を搬送元から搬送先まで搬送する際に要する時間等については不明である。したがって、この処理スケジュールでは、基板処理装置１の配置構成から基板群の搬送元から搬送先までの距離等に基づいて搬送に要する時間についても算出し、それを含めた処理スケジュールを生成するのである。
【００６６】
例えば、基板群Ａについてのレシピａには「第１薬液処理部４３、第１水洗処理部４２、第２薬液処理部４５、第２水洗処理部４４、乾燥処理部４１」という手順での処理内容が記述されており、基板群Ｂについてのレシピｂには「第１薬液処理部４３、第１水洗処理部４２、乾燥処理部４１」という手順での処理内容が記述されており、基板群Ｃについてのレシピｃには「第２薬液処理部４５、第２水洗処理部４４、乾燥処理部４１」という手順での処理内容が記述されていたとする。マスタ制御部２がこれら基板群Ａ，Ｂ，Ｃについての処理スケジュールＳＡ，ＳＢ，ＳＣを算出すると、図７に示すようになる。
【００６７】
マスタ制御部２は、ステップＳ１２，Ｓ１３の処理を行う際には上述した処理スケジュール算出部２５ａとして機能するのである。
【００６８】
そして、ステップＳ１４では、ステップＳ１１で仮定した投入順序において最初に投入対象となる基板群の処理スケジュールを時間軸上の所定位置に設定する。上記例の場合は、最初の投入対象は基板群Ａであるので、基板群Ａについての処理スケジュールＳＡを時間軸上の所定位置（例えば、時間軸原点位置ｔ＝０）に設定する。
【００６９】
ステップＳ１５に進み、マスタ制御部２は仮定された投入順序に応じて順次に処理スケジュールを時間軸上に設定していき、複数の基板群の処理スケジュールの比較および修正を行うことにより、過剰処理等による不良基板の発生を回避し、かつ、効率的な基板処理を行うための修正済スケジュールを生成する。つまり、このステップＳ１５においてマスタ制御部２は比較修正部２５ｂとして機能するのである。
【００７０】
このステップＳ１５の詳細な処理内容は図６に示すフローチャートである。
【００７１】
ステップＳ２１では、ステップＳ１１で仮定された投入順序に基づいて、次に投入される基板群を特定し、その基板群についての処理スケジュールを時間軸上の所定位置に追加設定する。上記例の場合であると、基板群Ａについては既に時間軸上に設定されているので、基板群Ａの次に投入される基板群Ｂについての処理スケジュールＳＢを時間軸上に設定する。時間軸上に設定する際の設定位置は、基板群Ａよりも基板群Ｂの方が後に投入されるという投入順序が仮定されているので、基板群Ａについての投入時刻以降の位置となる。
【００７２】
このように基板群Ａについての処理スケジュールＳＡと基板群Ｂについての処理スケジュールＳＢとを時間軸上に設定した際の概念を図８に示す。なお、各処理スケジュールＳＡ，ＳＢの上端部はそれぞれ基板群Ａ，Ｂの投入時刻を示しており、図８においては基板群Ａ，Ｂの投入時刻はｔ＝０で一致していることになる。
【００７３】
そして、ステップＳ２２に進み、時間軸の進行方向に沿って検査し、時間軸に設定されている複数の処理スケジュールにおいて同一時刻での同一機能手段の占有が生じているか否かを判断する。
【００７４】
同一時刻での同一機能手段の占有が生じているということは、異なる基板群が同一時刻に同一の機能手段によって処理又は搬送されることを示している。しかしながら、この実施の形態における基板処理装置１では、いずれの機能手段においても複数の基板群を同時に処理（搬送を含む）ことができない。この結果、一方の基板群は次の搬送先へと移動することができないので、必然的に待機状態となり過剰処理等の要因になる。
【００７５】
そこで、この実施の形態では、基板群ごとに得られる処理スケジュールに生じる占有時間の重複を解消するために、次のステップＳ２３〜Ｓ２４を実行する。
【００７６】
ステップＳ２３において処理スケジュールの占有時間の重複が発見されたかどうかを調べ、重複があった場合にはステップＳ２４に進んで占有時間の重複時間幅を求める。
【００７７】
そして、ステップＳ２５に進んで重複時間幅に応じて、処理スケジュールのうちのいずれか一方を時間的にシフトさせる。
【００７８】
例えば、図８において、時刻ｔ＝０から時刻の進行順序に従って検査していくと、処理スケジュールＳＡのバッファ内搬送部１１による基板群Ａの搬送と処理スケジュールＳＢのバッファ内搬送部１１による基板群Ｂの搬送とが同一時間帯で重複している。したがって、このような処理スケジュールでは、基板群Ｂを処理スケジュールに応じた適切な処理を行うことができないので重複時間幅ｔ１だけいずれか一方を時間軸に沿ってシフトさせることが必要になる。
【００７９】
基板群Ａ，Ｂについての投入順序は基板群Ａの次に基板群Ｂが投入される仮定とされているので、処理スケジュールＳＡを時間前方側にシフトさせるか、又は、処理スケジュールＳＢを時間後方側にシフトさせることにより、バッファ内搬送部１１による占有時間の重複を解消することができる。
【００８０】
この実施形態においては、投入順序に従って後に投入される基板群についての処理スケジュールを時間後方側にシフトさせる場合について例示することにする。そして、図９は、図８の処理スケジュールＳＡとＳＢとに生じている重複時間幅ｔ１に基づいて処理スケジュールＳＢを時間後方側にシフトさせた際の概念を示す図である。図９に示すように、処理スケジュールＳＢを重複時間幅ｔ１に相当する時間だけ時間後方側にシフトさせたことにより、バッファ内搬送部１１による占有時間の重複が解消されている。
【００８１】
このようにステップＳ２２〜Ｓ２５の処理において、占有時間の重複を調べ、重複が生じていた場合に、占有時間の重複時間幅を求め、その重複時間幅に応じて処理スケジュールのうちの一方を時間的にシフトさせることにより、時間軸の進行方向に沿って最初に発見される重複部分の解消を行うことができる。
【００８２】
その後、再びステップＳ２２に戻り、時間軸の進行方向に沿って占有時間の重複の有無の検査が行われる。ここでは、一方の処理スケジュールをシフトさせた後の状態において検査が行われる。
【００８３】
例えば、図９のように処理スケジュールＳＢがシフトされた状態にある場合には、処理スケジュールＳＢの投入時刻より時間後方側に向かって検査を行っていけばよい。なぜなら、処理スケジュールＳＢの投入時刻以前では、既に処理スケジュールをシフトさせたことによって占有時間の重複は解消されているからである。
【００８４】
そして、図９において処理スケジュールＳＢの投入時刻より時間後方側に検査を進めていくと、機能手段のうちの第２リフタ３６を重複して占有する時間帯が存在することが判明する。したがって、この場合もステップＳ２３において「ＹＥＳ」と判断され、ステップＳ２４において重複時間幅ｔ２が導かれる。そして、ステップＳ２５において重複時間幅ｔ２に応じて処理スケジュールＳＢが時間軸後方側にシフトされることになる。この結果、第２リフタ３６の占有時間帯の重複は解消され、再びステップＳ２２の処理に戻る。
【００８５】
このようにステップＳ２３において重複の有無の判定を行い、重複がある場合にはステップＳ２４，Ｓ２５，Ｓ２２を繰り返して行わせるように機能する。この繰り返しによって処理スケジュールＳＡとＳＢとの占有時間の重複が次第に解消されていくのである。
【００８６】
そして、ステップＳ２２での検査において処理スケジュールＳＡとＳＢとの重複が発見されなかった場合、ステップＳ２３で「ＮＯ」と判定されてステップＳ２６に進むことになる。
【００８７】
上記例の場合、ステップＳ２４，Ｓ２５，Ｓ２２の繰り返しによって基板群Ａと基板群Ｂとの処理スケジュールＳＡ，ＳＢは最終的に図１０に示すような状態となって占有時間の重複が解消され、ステップＳ２６の処理に進むことになる。
【００８８】
ステップＳ２６では、時間軸上に設定され、占有時間の重複が生じていない各処理スケジュールを修正済スケジュールとして確定する。そして、重複を回避した修正済スケジュールに基づいて各基板群の投入タイミングを決定する。
【００８９】
上記例の場合、基板群Ａについては処理スケジュールＳＡに基づいて時刻ｔ＝０に投入を開始するように決定し、基板群Ｂについては処理スケジュールＳＢに基づいて時刻ｔ＝０から時間ｔｂ経過後に投入を開始するように決定する（図１０参照）。このようにしてステップＳ１１で仮定された投入順序における基板群ＡとＢとについての投入タイミングが決定される。
【００９０】
この投入タイミングが、基板群ＡとＢとに対する基板処理を最も効率よく行い、かつ、各基板群Ａ，Ｂに過剰処理を施すことを回避することのできるタイミングとなる。
【００９１】
そして、ステップＳ２７に進み、次に投入される基板群が存在するか否かを調べ、存在する場合は「ＹＥＳ」と判定されてステップＳ２１に戻ることになる。
【００９２】
上記例の場合は、基板群Ａ，Ｂに次いで基板群Ｃが投入されると仮定されているので、ステップＳ２７では「ＹＥＳ」と判定されることになり、ステップＳ２１に戻る。
【００９３】
そしてステップＳ２１において次に投入される基板群Ｃについての処理スケジュールＳＣを時間上の所定位置に追加設定する。既に基板群Ａ及びＢについては既に時間軸上に設定されて修正済スケジュールとして確定しており、また、基板群Ｃは基板群Ｂよりも後に投入されることが仮定されている。したがって、処理スケジュールＳＣを時間軸上に設定する際の設定位置は、基板群Ｂについての投入時刻以降の位置となる。例えば、基板群Ｃについての処理スケジュールＳＣを基板群Ｂの投入タイミングと同時刻に設定した際の概念を図１１に示す。
【００９４】
そして、この状態でステップＳ２２〜Ｓ２５を繰り返し行うことによって、処理スケジュールＳＡおよびＳＢの修正済スケジュールと、追加された処理スケジュールＳＣとの各占有時間の重複の有無を検出して、処理スケジュールＳＣを時間後方側にシフトさせることによって、占有時間の重複を次第に解消していく。
【００９５】
この結果、最終的に処理スケジュールＳＣの各占有時間が基板群Ａ及びＢについての修正済スケジュールの各占有時間と重複しないようなスケジュールが得られる。この状態を図１２に示す。
【００９６】
図１２に示すような状態となったときに、ステップＳ２２〜Ｓ２５の繰り返しループを抜け出して、ステップＳ２６に進み、基板群Ａ，Ｂ，Ｃについての各処理スケジュールＳＡ，ＳＢ，ＳＣが時間軸上に確定された修正済スケジュールが得られる。この修正済スケジュールに基づいて、基板群Ｃは基板群Ａが投入されてから時間ｔｃ経過後、又は、基板群Ｂが投入されてから時間ｔｃ’経過後に投入を開始すればよいことが判明する。
【００９７】
そして、ステップＳ２７においては、次に投入される基板群が存在しないことから「ＮＯ」と判定されるので、ステップＳ１６に進むことになる（図５）。
【００９８】
ステップＳ１６では、マスタ制御部２がステップＳ１５で得られた修正済スケジュールに基づいて全ての基板群に対する全ての処理が終了するのに要する時間の総計、すなわち総処理時間を算出する。つまり、このときマスタ制御部２は上述の総処理時間算出部２５ｃとして機能するのである。
【００９９】
基板群Ａ，Ｂ，Ｃの例の場合であると、ステップＳ１５において図１２に示すような修正済スケジュールが得られているので、基板群Ａ，Ｂ，Ｃの全ての処理に要する総処理時間ｔｐ１が導かれる。
【０１００】
ここで導かれる総処理時間ｔｐ１は、ステップＳ１１にて仮定された投入順序での総処理時間である。したがって、他の投入順序（投入パターン）がある場合には、その投入順序についても上記と同様の処理を繰り返し行って総処理時間を求める必要がある。
【０１０１】
このため、ステップＳ１７において他の投入順序が存在し得るかどうかを調べ、存在し得る場合は仮定された投入順序の変更を行うべくステップＳ１８に進む。上記例の場合は、ステップＳ１１にて「Ａ→Ｂ→Ｃ」の投入順序が仮定されており、他の投入順序についても総処理時間を求めるべく、ステップＳ１８に進むことになる。
【０１０２】
そして、ステップＳ１８では投入順序の仮定が変更される。例えば、基板群Ａ，Ｂ，Ｃについての投入順序を「Ａ→Ｃ→Ｂ」として設定変更する。
【０１０３】
そしてステップＳ１４に戻り、設定変更された投入順序の最初の投入対象となる基板群の処理スケジュールが時間軸の所定位置に設定され、ステップＳ１５に進むことになる。
【０１０４】
そして上述した図６のフローチャートの処理（比較修正部２５ｂとしての処理）が再度行われて、基板群を投入順序に応じて時間軸上に追加していくとともに、占有時間の重複を解消していく。この結果、基板群Ａ，Ｃ，Ｂについて、図１３に示すような修正済スケジュールが得られる。
【０１０５】
そして、ステップＳ１６では、図１３に示す修正スケジュールから基板群Ａ，Ｃ，Ｂの全てを処理するのに要する総処理時間ｔｐ２を求める。
【０１０６】
そして、ステップＳ１７に進み、再び他の投入順序が存在するか否かの判定が行われ、存在すれば再びステップＳ１８に進み、存在しないのであればステップＳ１９に進む。
【０１０７】
ステップＳ１９では、各投入順序ごとに算出された総処理時間を相互に比較し、総処理時間が最小となる修正済スケジュールを最適スケジュールとして特定する。
【０１０８】
例えば、３つの基板群Ａ，Ｂ，Ｃについて得られた修正済スケジュールが図１２と図１３との２つのパターンであったとすると、図１２から導かれる総処理時間ｔｐ１と図１３から導かれる総処理時間ｔｐ２とを相互に比較した場合、最小となる方は図１３の総処理時間ｔｐ２である。
【０１０９】
図１２に示すように基板群Ａ，Ｂ，Ｃを「Ａ→Ｂ→Ｃ」という順序で投入した場合には、基板群Ｃの処理が終了するのは基板群ＡおよびＢについての処理が終了した後である。つまり、図１２に示す修正済スケジュールでは、基板群Ａについての投入時刻から基板群Ｃに対する処理の終了時刻までが総処理時間ｔｐ１となっている。
【０１１０】
一方、図１３に示すように基板群Ａ，Ｂ，Ｃを「Ａ→Ｃ→Ｂ」という順序で投入した場合には、基板群Ｃに対する処理は基板群Ａについての処理が終了するときには既に終了している。また、基板群Ｂについての投入タイミングは図１２と同一のタイミングとして決定されている。このため、図１３に示す修正済スケジュールから導かれる総処理時間ｔｐ２は、図１２の修正済スケジュールにおける基板群Ｂの処理が終了するまでの時間に相当する。
【０１１１】
したがって、総処理時間ｔｐ１と総処理時間ｔｐ２とを比較すると、総処理時間ｔｐ２が最小の時間として得られるのである。
【０１１２】
そして、マスタ制御部２は最小の総処理時間ｔｐ２で各基板群Ａ，Ｂ，Ｃに対する処理を行うことのできる投入順序「Ａ→Ｃ→Ｂ」を最適投入順序として特定するとともに、各機能手段への投入タイミング（又は搬送タイミング）を最適スケジュールに基づいて求めるのである。総処理時間が最小であるということは、処理対象となる基板群の全てを処理するのに要する時間が最短であるということなので、総処理時間を最小にする修正済スケジュールに基づいて、各基板群を投入していけば、基板処理装置１を最も効率的に稼働させることが可能になる。
【０１１３】
そして、マスタ制御部２は特定した最適スケジュールをメモリ５等に格納保存しておく。
【０１１４】
以上で、図４のフローチャートにおけるステップＳ１の処理、すなわち基板処理に先立って行う最適スケジュールの決定のための処理が終了する。
【０１１５】
そして、次にステップＳ２に進み、実際の基板処理を開始する。このとき、マスタ制御部２は、最適時間制御部２６として機能し、メモリ５から最適スケジュールを読み出し、この最適スケジュールに基づいた投入順序および投入タイミング（搬送タイミング）で各基板群を順次に投入（および搬送）するように制御する。
【０１１６】
最適スケジュールは、各基板群が処理過程において待機状態とならない最も効率的なスケジュールとして特定されたものであるため、マスタ制御部２がこの最適スケジュールに基づいて各機能手段の動作制御を行えば、基板群の過剰処理が生じることもない。
【０１１７】
また、マスタ制御部２が基板処理に先立って最適スケジュールを特定しておくことで、基板処理装置１の最も効率的な稼働を実現できる。
【０１１８】
なお、処理対象となる基板群に対応づけられたレシピ等に基づいて最適スケジュールを決定するまでの処理は、実際の基板処理装置１の稼働（物理的動作）は伴わないため、基板群の処理状況や各機能手段の動作状況をレシピ等に基づいてシミュレート処理を行うことに相当する。
【０１１９】
＜４．投入順序が予め規定されている場合の最適スケジュールの決定＞
基板処理装置１におけるバッファ部１０からの投入順序が予め規定されている場合には、上記のように投入順序を決定する必要はない。また、基板処理装置１のようなバッファ部１０が設けられていないような装置の場合には、外部装置から搬入される基板群をその搬入される順序に従って投入していかなければならず、この場合も投入順序を決定する必要はない。
【０１２０】
しかしながら、各基板群の投入順序は予め定まっていても各基板群の投入タイミングや搬送タイミングは最適なタイミングに設定しなければ、稼働率が低下したり、装置内部で基板の待機状態が発生して過剰処理等の要因となる。
【０１２１】
したがって、予め定められた投入順序に最適な各基板群の投入タイミングや搬送タイミング等のスケジュールを決定する必要がある。
【０１２２】
ここでは上述した最適スケジュールを決定するための手順を若干修正し、投入順序が予め規定されている場合の最適スケジュールの決定手順について説明する。
【０１２３】
なお、予め規定されている投入順序は、メモリ５に記録されているものとする（図２参照）。
【０１２４】
図１４および図１５は、基板処理に先立って、各基板群の投入タイミング等を決定する場合のフローチャートである。
【０１２５】
図１４に示すように、実際の基板処理（ステップＳ４）に先立って、マスタ制御部２が投入対象となる基板群が複数ある場合に、それら基板群について予め設定された投入順序に基づいて最適な投入タイミングを決定する（ステップＳ３）。
【０１２６】
投入タイミングの決定（ステップＳ３）の詳細な処理内容は図１５のフローチャートである。
【０１２７】
マスタ制御部２は、ステップＳ３１において複数の基板群について予め規定された投入順序を取得する。具体的には、マスタ制御部２がメモリ５にアクセスすることによって投入順序を取得するのである。
【０１２８】
次にマスタ制御部２は、再びメモリ５にアクセスし、投入対象となる基板群ごとに設定されているレシピを取得し（ステップＳ３２）、レシピに応じて処理スケジュールを基板群ごとに算出する（ステップＳ３３）。そして、規定された投入順序に基づいて最初の投入対象となる基板群の処理スケジュールを時間軸の所定位置に設定する（ステップＳ３４）。なお、このステップＳ３２〜Ｓ３４の処理は、図５に示したフローチャートのステップＳ１２〜Ｓ１４と実質的に同じ処理である。
【０１２９】
そして、ステップＳ３５に進み、規定された投入順序に応じて順次に基板群goごとの処理スケジュールを時間軸上に追加設定していき、複数の基板群の処理スケジュールの比較・修正を行っていくことにより、異なる基板群による機能手段の占有時間帯の重複を解消していく。そして、その結果として修正済スケジュールを生成するのである。このステップＳ３５の処理の詳細は、既述した図６のフローチャートに示される処理と同一である。
【０１３０】
そして、全ての基板群についての処理スケジュールが追加され、全ての重複時間帯の解消された修正済スケジュールが得られると、ステップＳ３６に進む。
【０１３１】
ステップＳ３６では、最終的に得られた修正済スケジュールに基づいて基板群の全ての処理に要する総処理時間を算出するとともに、修正済スケジュールを最適スケジュールとして特定する。ここで、特定される最適スケジュールが、各基板群を所定の投入順序に従って基板処理を行う際における最適な投入タイミングや最適な搬送タイミングを表している。
【０１３２】
したがって、次のステップＳ３７において最適スケジュールに基づいて各基板群の投入タイミングと搬送タイミングとを決定するのである。
【０１３３】
以上で、投入タイミングの決定（ステップＳ３）に関する処理が終了する。なお、このステップＳ３の処理を行う際にマスタ制御部２はスケジュール決定部２５として機能することは、投入順序が規定されていない場合と同様である。
【０１３４】
図１４のフローチャートに戻って、ステップＳ４に進む。ステップＳ４では、マスタ制御部２は、最適時間制御部２６として機能し、メモリ５から最適スケジュールを読み出し、この最適スケジュールと予め規定された投入順序とに基づいて各基板群を所定の投入タイミング（搬送タイミング）で各基板群を順次に投入（および搬送）するように制御する。
【０１３５】
投入順序が予め規定されている場合であっても、上記のようにして特定される最適スケジュールは各基板群が処理過程において待機状態とならない最も効率的なスケジュールであるため、マスタ制御部２がこの最適スケジュールに基づいて各機能手段の動作制御を行えば、装置の効率的な稼働を実現することができるとともに、基板群に過剰処理が施されることを回避することもできる。
【０１３６】
なお、ここで説明した投入順序が予め規定されている場合の処理手順においても、処理対象となる基板群に対応づけられたレシピ等に基づいて最適スケジュールを決定するまでの処理は、実際の装置の稼働（物理的動作）は伴わないため、基板群の処理状況や各機能手段の動作状況をレシピ等に基づいてシミュレート処理を行うことに相当する。
【０１３７】
＜５．基板処理装置のシミュレート装置＞
上述した投入順序が規定されていない場合および投入順序が予め規定されている場合の最適スケジュールの決定（ステップＳ１，ステップＳ３）に関する処理は、実際の基板処理装置１の動作を伴わないため、装置の物理的構成を有していなくとも最適スケジュールの決定を行うことは可能である。
【０１３８】
すなわち、基板群ごとのレシピに関するデータと基板処理装置の構成に関するデータとがあれば、基板処理装置１とは別体として構成される一般的なコンピュータにおいても最適スケジュールの決定を行うことは可能である。
【０１３９】
そして、基板処理装置とは別体として構成されたコンピュータを使用して最適スケジュールの決定を行うことにより、基板処理装置から離れた場所においても基板群の処理状況や各機能手段の動作状況をレシピ等に基づいてシミュレート処理を行うことが可能となり便利である。
【０１４０】
ここでは、上記のような観点から基板処理装置１の本体とは別体として構成される基板処理装置のシミュレート装置について説明する。
【０１４１】
図１６は、この実施の形態における基板処理装置のシミュレート装置２００の構成の一例を示す図である。図１６に示すように、入出力装置２０１，ＣＰＵ２０２，メモリ２０３，記憶部２０４，インタフェース２０５，２０６，２０９がバスライン２１０を介して相互に接続されている。入出力装置２０１は、フレキシブルディスク，光磁気ディスク，ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な可搬性記録媒体２１１からデータを読み込んだり、それらに対してデータを書き込んだりする装置である。ＣＰＵ２０２は、演算処理を行う処理部である。メモリ２０３は、データを一時的に記憶保持しておくための装置であり、記憶部２０４は、磁気ディスクなどのコンピュータ読み取り可能な固定の記録媒体であり、オペレーティングシステム（ＯＳ）、シミュレート装置を実現するシミュレートプログラム、基板処理装置の構成に関するデータ、レシピデータ等が格納される。
【０１４２】
そして、インタフェース２０５にはさらにＣＲＴや液晶ディスプレイなどのような表示装置２０７が接続されており、インタフェース２０６にはキーボード２０８が接続されている。さらに、インタフェース２０９は、外部装置（例えば、基板処理装置１等）と通信等を行うためのインタフェースである。
【０１４３】
このような構成からも明らかなように、この基板処理装置のシミュレート装置２００は基板処理装置１とは別体として構成されている。
【０１４４】
そして、シミュレート装置２００は、処理対象となる基板群の数に関するデータ、基板群ごとのレシピに関するデータ及び基板処理装置の各機能手段の配置構成に関するデータをインタフェース２０９又は入出力装置２０１を介して取得する。そして、これらのデータをメモリ２０３又は記憶部２０４に格納保存しておく。
【０１４５】
その後、シミュレート装置２００のＣＰＵ２０２が図３に示したスケジュール決定部２５として機能することにより、各基板群についての最適なスケジュールを特定することが可能となる。なお、ＣＰＵ２０２が行う処理内容は、図５及び図６、又は、図１５に示したフローチャートに示す内容と同様である。
【０１４６】
このように、基板処理装置１とは別体として構成される一般的なコンピュータによってシミュレート装置２００を実現すれば、クリーンルーム内以外の場所でも基板群の処理状況や各機能手段の動作状況をレシピ等に基づいてシミュレート処理を行うことが可能になる。この結果、例えば工場内に設けられた管理コンピュータ等においても、基板処理装置における最適スケジュールの決定を行うことが可能になるのである。
【０１４７】
なお、上記のシミュレートプログラムは、可搬性記録媒体２１１から読み込まれても良いし、上述のように予め記憶部２０４に記憶させておいても良い。すなわち、このシミュレートプログラムが格納される対象は、可搬性記録媒体であるか、固定の記録媒体であるかを問わない構成となっている。
【０１４８】
＜６．変形例＞
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容に限定されるものではない。
【０１４９】
例えば、基板処理装置１における処理形態は、枚葉式処理形態であってもよいし、また、バッチ式処理形態であってもよい。また、処理対象の基板群を液中に浸漬させるものに限定されない。すなわち、基板処理装置は、複数の処理部と、それぞれが１または複数の基板からなる複数の基板群を複数の処理部に順次に搬送する搬送手段とを機能手段として備える構成のものであればよいのである。
【０１５０】
一方、基板処理装置１が図１のように基板群を液中に浸漬させることによって所定の処理を施すものである場合は、薬液槽ＣＢ１，ＣＢ２に貯留されている薬液は、所定時間の経過ごとに交換されなければならない。なぜなら、薬液によってはライフタイム（液の寿命）に限界があるものもあり、そのような薬液を使用する場合はライフタイムごとに液交換を行う必要があるからである。
【０１５１】
ところが、液交換を行う際には、薬液槽ＣＢ１，ＣＢ２において基板処理を行うことが不可能な状態となる。言い換えれば、液交換というスケジュールによって薬液槽ＣＢ１，ＣＢ２が占有された状態となり、基板群の処理を行うことが不可能になるのである。
【０１５２】
このため、上記のような最適なスケジュールを決定する際には、必要に応じて液交換をも考慮することが好ましい。ここで、液交換を行う周期は薬液のライフタイムに基づいて算出可能であるとともに、液交換に要する時間も薬液槽ＣＢ１，ＣＢ２の液交換能力等から算出可能である。
【０１５３】
したがって、上述した基板群ごとの処理スケジュールを比較・修正する際に、液交換による処理スケジュールをあたかも基板群の一つであるかの如く取り扱うことによって、液交換によって薬液槽ＣＢ１，ＣＢ２が占有された時間帯に他の基板群が搬送されてくることを回避することが可能となる。
【０１５４】
例えば、図１７は、図１２に示す基板群Ａ，Ｂ，Ｃについて得られる修正済スケジュールに第１薬液処理部４３における薬液交換の処理スケジュールＳＸを追加設定したものを示している。図１７に示す例のように、薬液交換を１つの処理スケジュールＳＸとして取り扱うことにより、薬液交換と各基板群Ａ，Ｂ，Ｃの処理スケジュールとの間で占有時間帯の重複は回避される。
【０１５５】
次に、上述した基板処理装置１はいわゆるスタンドアロン型と呼ばれる装置であり、バッファ部１０から投入された基板群は、処理の終に再びバッファ部１０に戻されるように構成されていた。しかしながら、この発明は、そのようなスタンドアロン型の基板処理装置のみならず、従来からのいわゆるインライン型の基板処理装置であってもよいことは勿論である。
【０１５６】
ただし、スタンドアロン型の基板処理装置の場合には、基板群の往路と復路とで同一の機能手段を占有する事態が生じるため、手作業によるタイムチャートの作成はインライン型の基板処理装置の場合に比べて困難になる。このため、双方の型の基板処理装置にこの発明を適用した場合、作業者の労力低減という観点から考えるとスタンドアロン型の基板処理装置に適用した場合の効果の方が大きいといえる。
【０１５７】
【発明の効果】
以上説明したように、請求項１に記載の基板処理装置によれば、基板群ごとのレシピに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出し、占有時間帯を複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、処理スケジュールを修正することにより、重複を回避した修正済スケジュールを得え、修正済スケジュールに基づいて機能手段を制御するように構成されるため、基板処理装置を実際に動作させることなく、各機能手段の動作状況をシミュレートすることができ、基板処理装置を最も効率よく稼働させるとともに、基板群に対する過剰処理を回避した最適なスケジュールを得ることができる。
【０１５８】
また、請求項１ないし５に記載の基板処理装置によれば、占有時間帯の重複がすべて解消するまで順次比較手段とシフト手段とを繰返し能動化させ、重複がすべて解消した状態で得られている処理スケジュールを修正済スケジュールとして得ることを特徴とするため、占有時間帯の重複を適切に解消することができ、基板処理装置を最も効率よく稼働させるとともに、基板群に過剰処理が行われることを回避した最適な修正済スケジュールを得ることができる。
【０１５９】
請求項２に記載の基板処理装置によれば、基板群ごとのレシピに応じた処理スケジュールを算出し、複数の基板群の処理スケジュール相互間で比較した結果、いずれかの占有時間帯に重複がある場合には、処理スケジュールを修正することによって重複を回避した修正済スケジュールを生成し、その修正済スケジュールに基づいて、複数の基板群のすべての処理に要する総処理時間を算出し、各投入順序における総処理時間を相互に比較して、総処理時間が最小となる修正済スケジュールを最適スケジュールとして特定するとともに、その最適スケジュールに従って各基板群の移動タイミングを、機能手段を制御することにより制御するように構成されているため、基板処理装置を実際に動作させることなく、各機能手段の動作状況をシミュレートすることができるので、基板処理装置を最も効率よく稼働させることができるとともに、基板群に対する過剰処理を回避することができる。
【０１６０】
請求項３に記載の基板処理装置のシミュレート装置によれば、基板処理装置の配置構成と基板群ごとのレシピとに応じた処理スケジュールを、当該基板群による各機能手段の占有時間帯の連鎖として算出し、占有時間帯を複数の基板群の処理スケジュール相互間で比較し、いずれかの占有時間帯に重複がある場合には、処理スケジュールを修正することにより、重複を回避した修正済スケジュールを得え、比較修正手段により得られた修正済スケジュールを基板処理装置に対して出力するための構成が基板処理装置とは別体として構成されているので、基板処理装置から離れた場所においても基板群の処理状況や各機能手段の動作状況をレシピ等に基づいてシミュレート処理を行うことが可能となり、基板処理装置を最も効率よく稼働させるとともに、基板群に対する過剰処理を回避した最適なスケジュールを得ることができる。
【０１６１】
請求項４に記載の基板処理装置のシミュレート装置によれば、基板処理装置の配置構成と基板群ごとのレシピとに応じた処理スケジュールを算出し、複数の基板群の処理スケジュール相互間で比較した結果、いずれかの占有時間帯に重複がある場合には、処理スケジュールを修正することによって重複を回避した修正済スケジュールを生成し、その修正済スケジュールに基づいて、複数の基板群のすべての処理に要する総処理時間を算出し、各投入順序における総処理時間を相互に比較して、総処理時間が最小となる修正済スケジュールを最適スケジュールとして特定し、特定された最適スケジュールを基板処理装置に対して出力するための構成が基板処理装置とは別体として構成されているので、基板処理装置から離れた場所においても基板群の処理状況や各機能手段の動作状況をレシピ等に基づいてシミュレート処理を行うことが可能となり、基板処理装置を最も効率よく稼働させるとともに、基板群に対する過剰処理を回避した最適なのスケジュールを得ることができる。
【０１６２】
請求項５に記載のシミュレートプログラムが記録された記録媒体によれば、コンピュータを基板処理装置のシミュレート装置として動作させることが可能になる。
【図面の簡単な説明】
【図１】この発明の実施の形態における基板処理装置の一構成例を示す平面図である。
【図２】基板処理装置の制御部の詳細を示すブロック図である。
【図３】マスタ制御部に含まれる機能を模式的に示した図である。
【図４】基板群の投入順序を決定するためのフローチャートである。
【図５】基板群の投入順序を決定するためのフローチャートである。
【図６】基板群の投入順序を決定するためのフローチャートである。
【図７】基板群ごとの処理スケジュールの一例を示す図である。
【図８】２つの処理スケジュールを時間軸上に設定した際の概念を示す図である。
【図９】図８において一方の処理スケジュールをシフトさせた状態を示す図である。
【図１０】２つの処理スケジュール相互間の占有時間帯の重複が解消された状態を示す図である。
【図１１】図１０において新たに処理スケジュールを追加した際の概念を示す図である。
【図１２】最終的に得られる修正済スケジュールを示す図である。
【図１３】図１２とは異なる投入順序において最終的に得られる修正済スケジュールを示す図である。
【図１４】基板群の投入タイミング等を決定するためのフローチャートである。
【図１５】基板群の投入タイミング等を決定するためのフローチャートである。
【図１６】基板処理装置のシミュレート装置の構成の一例を示す図である。
【図１７】薬液交換の処理スケジュールを追加設定した際に得られる修正済スケジュールを示す図である。
【符号の説明】
１  基板処理装置
２  マスタ制御部
２５  スケジュール決定部（スケジュール決定手段）
２５ａ  処理スケジュール算出部（処理スケジュール算出手段）
２５ｂ  比較修正部（比較修正手段）
２５ｃ  総処理時間算出部（総処理時間算出手段）
２５ｄ  最適スケジュール特定部（最適スケジュール特定手段）
２６  最適時間制御部（最適時間制御手段）
１０  バッファ部
１１  バッファ内搬送部（搬送手段）
２０  移載ロボット（搬送手段）
３０  搬送ロボット（搬送手段）
３５  第１リフタ（搬送手段）
３６  第２リフタ（搬送手段）
３７  第３リフタ（搬送手段）
４１  乾燥処理部（処理部）
４２  第１水洗処理部（処理部）
４３  第１薬液処理部（処理部）
４４  第２水洗処理部（処理部）
４５  第２薬液処理部（処理部）
ＳＡ，ＳＢ，ＳＣ，ＳＸ  処理スケジュール
２００  シミュレート装置
【図１】
0003934275.tif 000002
【図２】
0003934275.tif 000003
【図３】
0003934275.tif 000004
【図４】
0003934275.tif 000005
【図５】
0003934275.tif 000006
【図６】
0003934275.tif 000007
【図７】
0003934275.tif 000008
【図８】
0003934275.tif 000009
【図９】
0003934275.tif 000010
【図１０】
0003934275.tif 000011
【図１１】
0003934275.tif 000012
【図１２】
0003934275.tif 000013
【図１３】
0003934275.tif 000014
【図１４】
0003934275.tif 000015
【図１５】
0003934275.tif 000016
【図１６】
0003934275.tif 000017
【図１７】
0003934275.tif 000018