(57)【特許請求の範囲】
【請求項１】
複数の動作ユニットを備える基板処理装置を用いて一連の基板処理を行う場合の動作進行状況をシミュレートする装置であって、
前記基板処理装置が、前記複数の動作ユニットとして、
複数の処理部と、
前記複数の処理部を制御する制御部と、
前記複数の処理部に基板を順次に搬送する搬送機構と、
を備えるとともに、
(a) 前記基板処理装置の動作ユニットごとに動作進行状況をシミュレートするシミュレート手段群と、
(b) 前記シミュレート手段群による前記一連の基板処理のシミュレート結果を出力するシミュレート結果出力手段と、
を備え、
前記シミュレート手段群は、
(a-1) 前記制御部の機能をシミュレートする制御部シミュレート手段と、
(a-2) 前記搬送機構の搬送進行状況をシミュレートする搬送機構シミュレート手段と、
を含み、
前記シミュレート手段群をイベントドリブンで能動化させることにより前記シミュレート結果を生成するとともに、
前記搬送機構シミュレート手段は、基板の搬送命令を受けると、前記制御部シミュレート手段をイベントドリブンで能動化し、
前記制御部シミュレート手段は、基板の搬送先の処理部の準備が完了すると、前記搬送機構シミュレート手段における搬送先の処理部の準備が完了した状態となった後の動作に係る処理をイベントドリブンで能動化し、基板の搬送動作に係るシミュレートを開始させることを特徴とする、基板処理装置のシミュレート装置。
【請求項２】
請求項１のシミュレート装置において、
前記シミュレート結果出力手段は、
(b-1) 前記基板について前記一連の基板処理を完了するまでの進行状況をシミュレートしてグラフィカルな表示が可能な信号として出力するグラフィカル表示信号出力手段、
を有することを特徴とする、基板処理装置のシミュレート装置。
【請求項３】
請求項１または請求項２のシミュレート装置において、
前記基板処理装置が、前記複数の動作ユニットとして、
所定の処理部へ基板を搬送する場合に開ける必要がある開閉可能な開閉部をさらに備えるとともに、
前記シミュレート手段群は、
(a-3)前記開閉部の動作をシミュレートする開閉部シミュレート手段をさらに含み、
前記搬送機構シミュレート手段が前記所定の処理部への基板の搬送命令を受けた場合、
前記制御部シミュレート手段は、能動化されると、前記開閉部シミュレート手段をイベントドリブンで能動化し、
前記開閉部シミュレート手段は、前記開閉部の開動作が完了すると、前記制御部シミュレート手段における前記開閉部の開動作が完了した状態となった後の動作に係る処理をイベントドリブンで能動化することを特徴とするシミュレーション装置。
【請求項４】
請求項１ないし請求項３のいずれかのシミュレート装置において、
(c) 複数の基板群を、基板群ごとに順次に前記基板処理装置の一連の基板処理プロセスに送り出す際の時間間隔を登録する時間間隔設定手段と、
(d) 前記時間間隔だけ離して順次に送り出された前記複数の基板群について前記シミュレート手段群をイベントドリブンで能動化する手段と、
(e) 前記基板処理装置内における前記複数の基板群の相互干渉の有無を判定する判定手段と、
(f) 前記基板処理装置内において前記複数の基板群が相互干渉しない範囲内で前記時間間隔の最小値付近の最適間隔を求める最小値決定手段と、
をさらに備えることを特徴とする、基板処理装置のシミュレート装置。
【請求項５】
請求項４のシミュレート装置において、
前記一連の基板処理の内容および順序が、前記基板群ごとに設定可能とされていることを特徴とする、基板処理装置のシミュレート装置。
【請求項６】
請求項１ないし請求項４のいずれかのシミュレート装置において、
前記基板処理装置とは別体として構成されていることを特徴とする、基板処理装置のシミュレート装置。
【請求項７】
請求項１ないし請求項４のいずれかのシミュレート装置において、
前記基板処理装置に組み込まれていることを特徴とする、基板処理装置のシミュレート装置。
【請求項８】
コンピュータを、請求項１ないし請求項６のいずれかのシミュレート装置として動作させるためのプログラムを記録したことを特徴とする、コンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、半導体ウエハ、液晶表示用ガラス基板、プラズマディスプレイパネル等の精密基板（以下、単に「基板」という）に対して順次に所定の処理を施していく基板処理装置のシミュレート装置及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【０００２】
【従来の技術】
図１は、基板を順次に処理する基板処理装置の一例を示す概略構成図である。図１に示すように、基板処理装置１００は、４つの搬送ロボットＲＢ１〜ＲＢ４を備えるとともに、ローダ１０１からアンローダ１１１の間に種々の処理槽（処理部）１０２〜１１０を備えている。各処理槽においては薬液や純水等の所定の処理液によって基板に処理が施される。なお、チャック水洗槽１０２については、搬送ロボットＲＢ１が基板を保持するチャック部を水洗する槽である。搬送ロボットＲＢ１はローダ１０１から水洗槽１０４の間の基板の搬送を行う。搬送ロボットＲＢ２は水洗槽１０４から水洗槽１０８の間の基板の搬送を行う。搬送ロボットＲＢ３は水洗槽１０８からスピンドライヤ１１０の間の搬送を行う。搬送ロボットＲＢ４はスピンドライヤ１１０で乾燥処理が終了した基板をアンローダ１１１に搬送する。
【０００３】
薬液槽１０３は、アンモニアと過酸化水素水との混合溶液（ＳＣ−１液）に基板を浸漬させて基板の洗浄を行う槽である。水洗槽１０４は、温純水のオーバーフロー，急速ドレインを交互に行い基板の洗浄を行う槽である。薬液槽１０５は、フッ酸中に基板を浸漬させて基板のエッチングを行う槽である。オーバーリンス槽１０６は、純水をオーバーフローさせた槽に基板を浸漬し、基板に付着したフッ酸の除去を行う槽である。薬液槽１０７は、塩酸と過酸化水素水との混合溶液（ＳＣ−２液）に基板を浸漬させて基板の洗浄を行う槽である。水洗槽１０８は、水洗槽１０４と同様の槽であり、ＳＣ−２液を基板表面から除去する槽である。最終リンス槽１０９は、純水中に基板を浸漬させて基板のリンスを行う槽である。さらに、スピンドライヤ１１０は、基板を回転させて基板に付着した純水を遠心力により振り切り乾燥させる処理槽である。
【０００４】
このような基板処理装置１００において、処理対象の基板は、搬送ロボットＲＢ１によりローダ１０１から順次に払い出され、搬送ロボットＲＢ１〜ＲＢ４が連携して動作することによって薬液槽１０３から順次Ｘ方向に搬送されるとともに所定の処理が施されていくように構成されている。
【０００５】
各処理槽には、基板に所定の処理を施すのに最適な浸漬時間等の処理時間が設定されている。また、各搬送ロボットＲＢ１〜ＲＢ４によって搬送される基板は、複数の基板群を１つの搬送単位としたロットごとに行われる。基板の処理においてはロットごとに処理内容が異なる場合があり、このような場合には各処理槽における処理時間の設定が異なることがある。
【０００６】
従って、基板処理装置１００において、ローダ１０１から次のロットの基板を処理槽に投入するタイミングは、先に投入したロットの基板に、後のロットの基板が追いつくことがないようにする必要がある。
【０００７】
例えば、薬液槽１０５において、あるロットの基板に対する所定の時間の浸漬処理が終了して、次のオーバーリンス槽１０６に当該ロットの基板を移動させようとしたところ、オーバーリンス槽１０６で当該ロットよりも先のロットの基板が洗浄途中であった場合は、当該ロットの基板をオーバーリンス槽１０６に移動させることができない。この場合、当該ロットの基板は所定の浸漬時間を超過してフッ酸中に浸漬されることとなり、オーバーエッチングされることとなるため、不良品が発生することとなる。
【０００８】
そこで、ローダ１０１からのロットの投入の際は、先のロットを投入してから所定時間の間隔を設けなければならない。この間隔を、「投入規制時間」という。投入規制時間は、必要以上に長ければ基板処理装置１００の稼働率を低下させることになるので、最低限の間隔にすることが好ましい。
【０００９】
従来より、以下の２つの手法によって投入規制時間が導かれ、基板処理装置１００に設定されている。
【００１０】
第１の手法は、演算により投入規制時間を算出する手法である。図１４は、第１の投入規制時間を算出する手法を説明するための図である。なお、図１４に示す時間の単位は、秒である。図１４（ａ）は、先行するロットを示す図である。先行ロットの基板は、各処理槽１０３〜１１０で順次に処理される。各処理槽における処理時間は、図１４（ａ）に示す通りである。
【００１１】
まず、図１４（ａ）に示す各処理槽の処理時間から全ての処理槽に対して先行ロットの基板が到着する時間（到着時間）を算出する。この到着時間は、当該処理槽の前の処理槽までの処理時間の総和である。例えば、先行ロットの基板が、オーバーリンス槽１０６に到着するのに要する時間は、それより前の処理槽１０３，１０４，１０５においてそれぞれ所要する処理時間（「３０秒」，「１０秒」，「２０秒」）の総和であるため、「６０秒」となる。
【００１２】
そして、任意の処理槽において、処理槽が使用可能となる時間は、先行ロットの基板の到着時間に当該処理槽における処理時間を加算した時間となる。
【００１３】
ところが、上記処理時間には、搬送ロボットＲＢ１〜ＲＢ４が基板を搬送する際に要する時間が含まれていない。そこで、従来は、基板の搬送の他搬送ロボットのチャック水洗に要する時間等を含めて、各処理槽に対して一定のラグタイムを設定している。図１４の例では、ラグタイムは、２０秒として設定されている。なお、図１４（ａ）には、当該処理槽までのラグタイムの累積値が示されている。
【００１４】
従って、任意の処理槽において、先行ロットの基板の処理が終了し、次のロットの基板を処理することができる使用可能時間は、図１４（ａ）における処理時間と到着時間とラグタイムの累積値とを全て加算した時間である。
【００１５】
次に、図１４（ｂ）は、図１４（ａ）の先行ロットの次に投入されるロット（新規ロット）の処理を示す図である。新規ロットの基板は、処理槽１０３，１０６，１１０で順次に処理が施され、その他の処理槽では処理されない。処理槽１０３，１０６，１１０における処理時間は、図１４（ｂ）に示す通りであるが、使用されない処理槽の処理時間は「０」である。そして、図１４（ａ）の先行ロットの場合と同様に、新規ロットの各処理槽における到着時間を図１４（ｂ）に示すように算出する。
【００１６】
一般に、任意の処理槽において、先行ロットの処理が終了して使用可能となる使用可能時間から新規ロットの到着時間を減算して得られる時間間隔を設けて新規ロットを投入すれば、当該処理槽で新規ロットが先行ロットに追いつくことはない。従って、全ての処理槽について使用可能時間から新規ロットの到着時間を減算し、その最大値を投入規制時間とすれば、基板処理装置１００の内部の全ての処理槽において新規ロットが先行ロットに追いつくことがなく、オーバーエッチング等の問題を回避することができるとともに、基板処理装置１００の稼働率が最も高くなる。
【００１７】
図１４（ｃ）は、図１４（ａ）の使用可能時間から図１４（ｂ）の到着時間を減算した値を示している。図１４（ｃ）によれば、最大値はスピンドライヤ１１０の「３３０」であるため、ローダ１０１から先行ロットの基板を払い出した後、３３０秒経過後に新規ロットを払い出せば、基板処理装置１００の内部でロットの追いつきが解消される。従って、図１４の例の場合の投入規制時間は「３３０秒」と設定される。
【００１８】
第１の手法においては、以上のような演算処理を自動的に行うことにより、ローダ１０１における次のロットの払い出しのタイミングが制御される。
【００１９】
次に、第２の手法は、基板処理装置１００における各処理槽の処理時間や搬送ロボットの動作等を考慮しながら手作業で、ロットごとの基板の移動をタイムチャートとして作成する手法である。そして、作成されるタイムチャートに基づいて新規ロットの投入規制時間を定めることができる。
【００２０】
【発明が解決しようとする課題】
近年の基板処理装置においては、薬液槽１０３，１０５，１０７やスピンドライヤ１１０にカバーが設けられたり、ローダ１０１と処理槽との間や、任意の処理槽間にシャッタが設けられたりすることが多い。このような装置の場合は、基板を搬送する際には、これらのカバーやシャッタを開閉する時間も必要になる。
【００２１】
しかし、上記第１の手法においては、ラグタイムは、カバーやシャッタの動作を必要とする処理槽についても他の処理槽と同様に一定の値で設定されているため、その精度は低いものとなる。また、ラグタイムには、若干の余裕を含ませる場合もある。従って、上記第１の手法で得られた投入規制時間は最適な間隔になっていないという問題がある。
【００２２】
また、上記第２の手法のように手作業でタイムチャートを作成する場合であっても、カバーやシャッタの動作をも考慮しながらタイムチャートを作成するとすると、計算が非常に複雑になり、その作成に多大な労力と作業時間とを必要とするという問題がある。そして、このような作業は、種々の処理手順のロットが混在し、処理手順の変更が行われる度に行わなければならないこととなり、作業効率が悪い。
【００２３】
さらに、基板の処理手順の変更に伴って基板処理装置１００の装置構成自体が変更されることもあるが、このような場合において、第１の手法では、自動演算を行うためのプログラムを新たに作成したり、又は大幅な修正を加える必要が生じるという問題がある一方、第２の手法も、新たに多大な労力と作業時間をかけてタイムチャートを作成する必要がある。
【００２４】
上述のように、基板に対するオーバーエッチング等のような処理オーバーを解消するとともに、基板処理装置１００の稼働率を最大限に引き出すためには、最適な投入規制時間を導くことは非常に重要であるが、その他に基板処理装置１００を実際に動作させる以前に、オペレータ（作業者）が簡単かつ容易にロットごとの基板の移動状況及び搬送ロボットＲＢ１〜ＲＢ４等の動作を知ることができれば、さらに好ましい。
【００２５】
しかし、従来は、ロットごとの基板の移動状況及び搬送ロボットＲＢ１〜ＲＢ４等の動作についてオペレータに通知するような装置は存在しないばかりか、投入規制時間ですら第１の手法によると最適な間隔とはならないとともに、第２の手法によると多大な労力となる。
【００２６】
この発明は、上記課題に鑑みてなされたものであって、基板を順次に処理する基板処理装置を実際に動作させることなく、基板の移動状況及び搬送ロボットの動作状況をシミュレートし、その結果をオペレータに通知するとともに、最適な投入規制時間についても導くことが可能な基板処理装置のシミュレート装置及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【００２７】
【課題を解決するための手段】
上記目的を達成するために、請求項１に記載の発明は、複数の動作ユニットを備える基板処理装置を用いて一連の基板処理を行う場合の動作進行状況をシミュレートする装置であって、基板処理装置が、複数の動作ユニットとして、複数の処理部と、複数の処理部を制御する制御部と、複数の処理部に基板を順次に搬送する搬送機構とを備えるとともに、(a) 基板処理装置の動作ユニットごとに動作進行状況をシミュレートするシミュレート手段群と、(b) シミュレート手段群による一連の基板処理のシミュレート結果を出力するシミュレート結果出力手段とを備え、シミュレート手段群は、(a-1) 制御部の機能をシミュレートする制御部シミュレート手段と、(a-2) 搬送機構の搬送進行状況をシミュレートする搬送機構シミュレート手段とを含み、シミュレート手段群をイベントドリブンで能動化させることによりシミュレート結果を生成するとともに、搬送機構シミュレート手段は、基板の搬送命令を受けると、制御部シミュレート手段をイベントドリブンで能動化し、制御部シミュレート手段は、基板の搬送先の処理部の準備が完了すると、搬送機構シミュレート手段における搬送先の処理部の準備が完了した状態となった後の動作に係る処理をイベントドリブンで能動化し、基板の搬送動作に係るシミュレートを開始させることを特徴としている。
【００２８】
請求項２に記載の発明は、請求項１のシミュレート装置において、シミュレート結果出力手段は、(b-1) 基板について一連の基板処理を完了するまでの進行状況をシミュレートしてグラフィカルな表示が可能な信号として出力するグラフィカル表示信号出力手段を有することを特徴としている。
【００２９】
請求項３に記載の発明は、請求項１または請求項２のシミュレート装置において、基板処理装置が、複数の動作ユニットとして、所定の処理部へ基板を搬送する場合に開ける必要がある開閉可能な開閉部をさらに備えるとともに、シミュレート手段群は、(a-3)開閉部の動作をシミュレートする開閉部シミュレート手段をさらに含み、搬送機構シミュレート手段が所定の処理部への基板の搬送命令を受けた場合、制御部シミュレート手段は、能動化されると、開閉部シミュレート手段をイベントドリブンで能動化し、開閉部シミュレート手段は、開閉部の開動作が完了すると、制御部シミュレート手段における開閉部の開動作が完了した状態となった後の動作に係る処理をイベントドリブンで能動化することを特徴としている。
【００３０】
請求項４に記載の発明は、請求項１ないし請求項３のいずれかのシミュレート装置において、(c) 複数の基板群を、基板群ごとに順次に基板処理装置の一連の基板処理プロセスに送り出す際の時間間隔を登録する時間間隔設定手段と、(d) 時間間隔だけ離して順次に送り出された複数の基板群についてシミュレート手段群をイベントドリブンで能動化する手段と、(e) 基板処理装置内における複数の基板群の相互干渉の有無を判定する判定手段と、(f) 基板処理装置内において複数の基板群が相互干渉しない範囲内で時間間隔の最小値付近の最適間隔を求める最小値決定手段とをさらに備えることを特徴としている。
【００３１】
請求項５に記載の発明は、請求項４のシミュレート装置において、一連の基板処理の内容および順序が、基板群ごとに設定可能とされていることを特徴としている。
【００３２】
請求項６に記載の発明は、請求項１ないし請求項４のいずれかのシミュレート装置において、基板処理装置とは別体として構成されていることを特徴としている。
【００３３】
請求項７に記載の発明は、請求項１ないし請求項４のいずれかのシミュレート装置において、基板処理装置に組み込まれていることを特徴としている。
【００３４】
請求項８に記載の発明は、コンピュータ読み取り可能な記録媒体に、コンピュータを、請求項１ないし請求項６のいずれかのシミュレート装置として動作させるためのプログラムが記録されている。
【００３５】
【発明の実施の形態】
＜１．基板処理装置の構成＞
この発明の実施の形態における基板処理装置の一例は図１である。従って、この基板処理装置１００の概要は既に説明した内容と同様である。
【００３６】
薬液槽１０３，１０５，１０７には、それぞれの処理槽からの雰囲気漏れを防止するために図示しない開閉可能なカバー取り付けられており、また、スピンドライヤ１１０には、基板の乾燥中に遠心力によって液体が飛散するのを防止するために図示しない開閉可能なカバーが取り付けられている。
【００３７】
また、ローダ１０１とチャック水洗槽１０２との間にはチャック水洗槽１０２で使用される洗浄液がローダ１０１側に入らないように遮断するための図示しないシャッタが設けられている。そして、水洗槽１０４と薬液槽１０５との間にも両槽の処理液が互いに侵入しないようにするために図示しないシャッタが設けられている。さらに、水洗槽１０８と最終リンス槽１０９との間にも両槽の処理液が互いに侵入しないようにするために図示しないシャッタが設けられている。
【００３８】
また、各処理槽には、必要に応じて種々の素子やセンサが取り付けられる。例えば、薬液槽１０３には、ＳＣ−１液を振動させることにより基板に対する処理の活性化を促進するためにＳＣ−１液中に超音波振動子が配置される。また、各薬液槽１０３，１０５，１０７には、それぞの薬液を所定の温度に調整するために、温調素子や温度センサがそれぞれに設けられる。
【００３９】
このような構成により、処理対象の基板はロットごとに搬送ロボットＲＢ１〜ＲＢ４によって搬送され、予め定められた処理槽において順次に処理される。搬送ロボットＲＢ１〜ＲＢ４が基板を搬送する際には、上述したカバーやシャッタの開閉動作を必要に応じて行う。また、ロットごとに薬液の設定温度が異なる場合は上記温度素子や温度センサによってロットごとに温度調整を行い、各処理槽の処理液が寿命となった場合は次のロットの処理を開始する前に処理液交換を行う。
【００４０】
このような基板処理装置１００の動作は、制御機構によって制御される。図２は、基板処理装置１００の制御ブロック図である。図２に示すように、基板処理装置１００には、マスタＣＰＵ１２１，ロボット制御用ＣＰＵ１２２，槽制御用ＣＰＵ１２３の３つのＣＰＵが設けられている。マスタＣＰＵ１２１は、基板処理装置１００全体を統括的に制御するＣＰＵであり、ロボット制御用ＣＰＵ１２２は、搬送ロボットＲＢ１〜ＲＢ４の動作を制御するＣＰＵである。さらに、槽制御用ＣＰＵ１２３は、各処理槽１０２〜１１０のバルブの開閉等の動作の制御の他、上述したような、薬液槽１０３，１０５，１０７やスピンドライヤ１１０に設けられたカバーＣ１〜Ｃ４の開閉動作の制御、所定の処理槽間に設けられたシャッタＳＨ１〜ＳＨ３の制御、薬液の温度調整のための温調素子ＴＣ１〜ＴＣ３及び温度センサＴＳ１〜ＴＳ３の制御、超音波振動子ＵＳの制御等を行うＣＰＵである。
【００４１】
マスタＣＰＵ１２１には、ＣＲＴ１３１やキーボード１３２が接続されており、オペレータは、ＣＲＴ１３１の画面表示を参照しながらキーボード１３２を操作することにより基板の処理における各種パラメータを設定入力することができる。また、マスタＣＰＵ１２１には記憶部１３３が接続されており、キーボード１３２より入力された各種パラメータやその他の基板処理装置１００において基板を処理する際に必要なパラメータを記憶部１３３に格納しておくことができる。これらのパラメータには、装置構成に関係なく半固定的な固定データ（例えば、各搬送ロボットのＸ方向への移動速度，各処理槽やローダにおいて搬送ロボットが鉛直方向に移動する距離，カバーやシャッタが開閉動作に要する時間等）、変更される頻度が高い可変データ（例えば、各処理槽のサイズ，薬液等の寿命や補充間隔等）、ロットごとの基板の処理内容を示すレシピデータ（例えば、搬送順序，各処理槽における処理時間，処理の際の薬液の温度等）がある。
【００４２】
そして、基板に対する処理を行う際には、マスタＣＰＵ１２１は、上記各種パラメータを記憶部１３３から読み出し、各ロットごとに設定されたレシピデータに基づいてロボット制御用ＣＰＵ１２２や槽制御用ＣＰＵ１２３に対して適切な動作を行うように命令を出す。ロボット制御用ＣＰＵ１２２は、マスタＣＰＵ１２１や槽制御用ＣＰＵ１２３からの命令に基づいて搬送ロボットＲＢ１〜ＲＢ４のそれぞれを駆動する一方、槽制御用ＣＰＵ１２３もマスタＣＰＵ１２１やロボット制御用ＣＰＵ１２２からの命令に基づいて各処理槽１０２〜１１０を動作させるとともに、カバーＣ１〜Ｃ４やシャッタＳＨ１〜ＳＨ３の開閉動作を制御し、薬液の温度調整を行うように構成されている。
【００４３】
＜２．シミュレート装置＞
上記のように搬送ロボット，処理槽，シャッタ，カバー，温度調整機構等のように複数の動作ユニットを備える基板処理装置１００を用いて一連の基板処理を行う場合の動作進行状況をシミュレートする基板処理装置のシミュレート装置について説明する。
【００４４】
この実施の形態における基板処理装置のシミュレート装置では、上記構成の基板処理装置１００を実際に動作させることなく、コンピュータにおける処理によって仮想的に基板処理装置１００の各動作ユニットの動作を再現し、それによって基板処理装置１００全体の動作進行状況をシミュレートし、その結果として基板処理装置１００のスループットやロットごとの最適な投入規制時間を出力するように構成する。
【００４５】
図３は、この実施の形態におけるシミュレート装置２００の構成の一例を示す図である。図３に示すように、この装置において入出力装置２０１，ＣＰＵ２０２，メモリ２０３，記憶部２０４，インタフェース２０５，２０６，２０９がバスライン２１０を介して相互に接続されている。入出力装置２０１は、フレキシブルディスク，光磁気ディスク，ＣＤ−ＲＯＭなどのコンピュータ読み取り可能な可搬性記録媒体２１１からデータを読み込んだり、それらに対してデータを書き込んだりする装置である。ＣＰＵ２０２は、演算処理を行う処理部である。メモリ２０３は、データを一時的に記憶保持しておくための装置であり、記憶部２０４は、磁気ディスクなどのコンピュータ読み取り可能な固定の記録媒体であり、オペレーティングシステム（ＯＳ）やシミュレート装置を実現するシミュレートプログラムや上述の固定データ，可変データ，レシピデータ等が格納される。そして、インタフェース２０５にはさらにＣＲＴや液晶ディスプレイなどのような表示装置２０７が接続されており、インタフェース２０６にはキーボード２０８が接続されている。さらに、インタフェース２０９は、外部の基板処理装置１００と通信等を行うためのインタフェースであり、当該シミュレート装置２００から基板処理装置１００に対してデータを送信したり、基板処理装置１００からデータを受信したりすることができる。
【００４６】
このように、この実施の形態における基板処理装置のシミュレート装置２００は、マルチタスクのオペレーティングシステム（ＯＳ）がインストールされた一般的な１台のコンピュータにおいて内部のＣＰＵ２０２が所定のシミュレートプログラムを実行することにより、実現される装置である。
【００４７】
なお、上記のシミュレートプログラムは、可搬性記録媒体２１１から読み込まれても良いし、上述のように予め記憶部２０４に記憶させておいても良い。すなわち、このシミュレートプログラムが格納される対象は、可搬性記録媒体であるか、固定の記録媒体であるかを問わない構成となっている。
【００４８】
このように構成されたシミュレート装置２００において、上述の基板処理装置１００の各動作ユニットをそれぞれモデル化したオブジェクト（モジュール）で実現し、それぞれのオブジェクトをシミュレート装置２００のＣＰＵ２０２が実行することにより、各動作ユニットについてのシミュレート手段として機能する。ここで、オブジェクトとは、１つの動作ユニットの動作について、その動作に要する時間などを上述の各種パラメータに基づいて導くための１つのモジュールである。そして、各オブジェクトは他のオブジェクトからは独立したものであるが、オブジェクト自体は完成したプログラムではなく、全てのオブジェクトが結合した状態で上記シミュレートプログラムとなる。
【００４９】
ここで、基板処理装置１００の各動作ユニットのモデル構造について説明する。図４は、この実施の形態における基板処理装置のシミュレート装置２００によって実行される基板処理装置１００の各動作ユニットのモデル構造の一例を示す概念図である。なお、図４において各オブジェクト間を連結する実線は、オブジェクトが実線により連結された他のオブジェクトとメッセージの送受信が可能な関係の一部を示しており、相互に他のオブジェクトを能動化したり、また、他のオブジェクトによって能動化されることを示している。
【００５０】
イベントオブジェクト２３１は、後述するカバーオブジェクト２３２、シャッタオブジェクト２３３、薬液交換オブジェクト２３４、槽管理オブジェクト２３５、処理槽オブジェクト２３７、マスタオブジェクト２３６、および搬送ロボットオブジェクト２３８等のスーパクラスである。このイベントオブジェクト２３２のサブクラスであるカバーオブジェクト２３２、シャッタオブジェクト２３３、薬液交換オブジェクト２３４、槽管理オブジェクト２３５、処理槽オブジェクト２３７、マスタオブジェクト２３６、および搬送ロボットオブジェクト２３８等の各々は、所定のレシピデータに基づいてそれら個々のオブジェクトに連結された別のオブジェクトを能動化し、シミュレート処理を開始させる。カバーオブジェクト２３２は、基板処理装置１００の所定の処理槽に設けられたカバーの動作をシミュレートするオブジェクトであり、処理槽オブジェクト２３５等からの指令により能動化され、図２に示すカバーＣ１〜Ｃ３の動作をシミュレートする。シャッタオブジェクト２３３は、基板処理装置１００の所定の位置に設けられたシャッタの動作をシミュレートするオブジェクトであり、処理槽オブジェクト２３５等からの指令により能動化され、図２に示すシャッタＳＨ１〜ＳＨ３の動作をシミュレートする。薬液交換オブジェクト２３４は、薬液槽１０３，１０５，１０７における各薬液の寿命や薬液の温調に要する時間等を管理制御するオブジェクトであり、上記と同様に処理槽オブジェクト２３５等からの指令により能動化され、図２に示す温度センサＴＳ１〜ＴＳ３及び温調素子ＴＣ１〜ＴＣ３の動作等をシミュレートする。槽管理オブジェクトは２３５は、各処理槽の準備状況等を管理するオブジェクトである。マスタオブジェクト２３６は、基板処理装置１００のマスタＣＰＵ１２１の基板処理中の一部の機能を仮想的に実現するオブジェクトである。
【００５１】
また、処理槽オブジェクト２３７は、各処理槽からの基板の搬出要求を行ったり、各処理槽への基板の搬入要求を行ったり、各処理槽の制御を行うオブジェクトであり、他のオブジェクトによって能動化され、図２に示す槽制御用ＣＰＵ１２３の一部の機能をシミュレートする。搬送ロボットオブジェクト２３８は、図２のロボット制御用ＣＰＵ１２２の機能をシミュレートするオブジェクトであり、実際の基板の搬送進行状況をシミュレートする搬送機構シミュレート手段として機能する。
【００５２】
また、スピンドライヤカバーオブジェクト２３９は、スピンドライヤ１１０に設けられたカバーＣ４の動作をシミュレートするオブジェクトである。
【００５３】
槽マネージャ２４０は、ロットごとの基板の搬送先の処理槽を特定したり、その処理槽が準備可能かをチェックするオブジェクトである。レシピマネージャ２４１は、ロットごとに異なるレシピを生成したり、マスタオブジェクトや処理槽オブジェクトに対してロットごとのレシピの詳細なデータを提供するオブジェクトである。このレシピマネージャ２４１は、ロットごとにレシピを変更する場合における基板処理装置１００の動作をシミュレートするために有効である。なお、槽マネージャ２４０やレシピマネージャ２４１は、基板処理装置１００の特定の動作ユニットをシミュレートするものではない。
【００５４】
ファイルオブジェクト２４２は、シミュレート結果を後に出力することができるように、搬送ロボットや各処理槽の状態をファイルとして記憶部２０４等に格納するオブジェクトである。このファイルオブジェクト２４２は、基板処理装置１００の動作ユニットをシミュレートするオブジェクトではないが、シミュレート装置２００におけるシミュレート結果を有効に利用することができるようにするために設けられている。
【００５５】
さらに、ローダオブジェクト２４３は、ローダ１０１のロットごとの基板の投入動作等をシミュレートするオブジェクトである。また、アンローダオブジェクト２４４，薬液槽オブジェクト２４５，水洗槽オブジェクト２４６，スピンドライヤオブジェクト２４７，チャック水洗槽オブジェクト２４８についても、それぞれの処理槽の動作状態をシミュレートするオブジェクトである。これらのオブジェクトは、ロットごとに設定されたレシピデータに基づいてそれぞれの処理槽について設定された処理時間等をシミュレートする。そして、それぞれの処理槽についてのオブジェクトは、基板処理装置１００に設けられた複数の処理槽のそれぞれでの処理進行状況をシミュレートする複数の処理部シミュレート手段として機能する。
【００５６】
そして図４において、基板処理装置の各動作ユニット間の通信をオブジェクト間の通信で模擬的に実現している。
【００５７】
以上のようなモデル構成となっているが、図４に示すモデル構成は、図１，図２に示す基板処理装置１００のモデル構成を示す一例であって、これに限定するものではなく、他のモデル構成を採用しても良い。ただし、搬送ロボットが処理対象の基板を複数の処理槽（処理部）に順次に搬送することによって一連の基板処理が施されるような基板処理装置をシミュレートする場合には、進行状況に最も影響するファクタである個々の基板の処理と搬送との進行状況を把握することが必要であるため、上記の処理部シミュレート手段として機能するオブジェクトと、搬送機構シミュレート手段として機能するオブジェクトとが必要となる。
【００５８】
＜３．シミュレート装置の動作＞
上記のように構成された基板処理装置のシミュレート装置の動作について説明する。図５は、この実施の形態における基板処理装置のシミュレート装置の処理シーケンスを示すフローチャートである。
【００５９】
図５に示すように、このシミュレート装置２００においては、実際のシミュレート処理の前に、ステップＳ１で入力データの設定が行われる。このステップＳ１における入力データの設定は、シミュレート処理を行うのに必要なパラメータやロットごとのレシピ等を設定するために行われる。
【００６０】
シミュレート装置２００のＣＰＵ２０２は、表示装置２０７に図６に示すような入力データ編集画面Ｇ１を表示する。入力データ編集画面Ｇ１には、図６のように入力編集をすることができるデータのメニュー表示が行われる。そして、オペレータが表示装置２０７に表示された入力データ編集画面Ｇ１を参照しながらキーボード２０８より入力編集すべきデータを特定する。例えば、オペレータが搬送ロボットについての設定を選択した場合は、表示装置２０７に図７に示すような搬送ロボット設定画面Ｇ２が表示される。そして、オペレータは、搬送ロボット設定画面Ｇ２を参照しながら各搬送ロボットについての必要なデータ（ロボット名，ローダ側守備範囲，アンローダ側守備範囲，原点位置，チャック洗浄を行う洗浄位置等）をキーボード２０８を操作することにより設定入力する。また、搬送ロボットが多数存在する場合には、「前ページ」や「次ページ」を操作することにより、他の搬送ロボットについて設定入力することができるように表示される。
【００６１】
なお、入力データ編集画面Ｇ１において他の入力データ（シミュレーション条件設定，槽設定，レシピデータ）の選択を行った場合についても、搬送ロボット設定の場合と同様にそれぞれの設定画面が表示され、オペレータにより必要なデータの設定が行われる。
【００６２】
シミュレーション条件設定では、処理槽の数，その配列状態，シミュレート期間（例えば、基板処理装置１００の１日のスループット等をシミュレートする場合は、１日）等が設定され、槽設定では各槽のサイズ等が設定され、レシピデータの設定では、ロットごとに適用されるレシピの設定が行われる。これらの設定により、処理槽の配列や搬送ロボットの台数，可動範囲を設定することができ、自由な基板処理装置の構成を定義することが可能となる。また、薬液交換の条件なども変更することができる。
【００６３】
ステップＳ１において設定された入力データは、各オブジェクトの処理過程において必要に応じて使用される。また、これらの入力データは、キーボード２０８から入力される代わりに、基板処理装置１００から通信により直接インタフェース２０９を介して入力しても良い。
【００６４】
そして、図５におけるステップＳ１の入力データ設定が終了すると、ステップＳ２に進み、実際の基板処理装置の動作についてのシミュレート処理が開始される。ステップＳ２では、図４に示したように基板処理装置の各動作ユニットをモデル化した各オブジェクトが、相互に連結されたオブジェクト間でイベントドリブンによる通信が行われる。
【００６５】
ここで、イベントドリブンについて簡単に説明する。図８は、イベントドリブンの概念を説明するための説明図である。図８に示すように、まずオブジェクトＡが実行され、オブジェクトＡの内部状態が状態Ａ１から状態Ａ２に遷移したときに、オブジェクトＡはオブジェクトＢに対してメッセージを送信し、オブジェクトＢを能動化する。そして、オブジェクトＢの実行が開始され、オブジェクトＢの内部状態が状態Ｂ１から状態Ｂ２に遷移したときに、オブジェクトＢはオブジェクトＣに対してメッセージを送信し、オブジェクトＣを能動化する。そして、オブジェクトＣの実行が開始され、オブジェクトＣの内部状態が状態Ｃ１から状態Ｃ２に遷移する。オブジェクトＡは、オブジェクトＡの内部状態の遷移、すなわちオブジェクトＡにおけるイベントの発生によって、オブジェクトＢに対してメッセージを送信するように構成されている。他のオブジェクトＢ，Ｃについても同様である。このようなイベントの発生によって生じる通信を、イベントドリブンによる通信と呼ぶ。このように、イベントドリブンによって他のオブジェクトを能動化させることにより、各オブジェクトの処理を相互に関連させながら、並列的に処理することが可能となるため、実際の基板処理装置の処理に即したシミュレートが可能となり、シミュレート結果についても誤差の少ない最適なものとなる。
【００６６】
例えば、図４に示すモデル構成において、搬送ロボットがあるロットの基板を搬送する場合のシミュレート装置の動作について説明する。図９は、この場合のＣＰＵ２０２で実行される各オブジェクトの一例を示す図である。なお、図９において、処理はｔ方向に進められる。
【００６７】
搬送ロボットオブジェクト２３８は、マスタオブジェクト２３６やその他のオブジェクトからあるロットの基板を所定の処理槽に搬送するように命令（メッセージ）を受ける。すると、ＣＰＵ２０２は、搬送ロボットオブジェクト２３８の実行を開始する。そして、搬送先の処理槽が準備された状態であるか否かを確認する必要が生じたときに、イベントドリブンにより処理槽オブジェクト２３７に対してメッセージを送信する。
【００６８】
このようなオブジェクト間のメッセージの送受信は、シミュレート装置２００内に設けられたメモリ２０３等を介して行われる。また、通信先のオブジェクトの特定は、通信相手先のオブジェクトの格納位置をポインタとして指定することにより行われる。
【００６９】
このようなイベントドリブンのメッセージの送信により、図９においては次に処理槽オブジェクト２３７が能動化され、ＣＰＵ２０２によって実行が開始される。このとき、搬送ロボットオブジェクト２３８が処理槽オブジェクト２３７からのメッセージを待たずに他の動作をシミュレートすることができる場合は、搬送ロボットオブジェクト２３８の実行は中断しない。従って、このようなときは図９に示すように搬送ロボットオブジェクト２３８と処理槽オブジェクト２３７とが並列的に処理されることとなる。実際の基板処理装置１００においても搬送ロボットと処理槽との関係等のように各動作ユニットは、独立して動作する。そこで、シミュレート装置２００においても、各オブジェクトを並列処理することにより、実際の基板処理装置１００の動作により近いシミュレートを行うことができる。
【００７０】
そして、基板の搬送先となっている処理槽にカバーが設けられている場合は、基板を処理槽に搬入するために、カバーを開けることが必要になる。そして、処理槽オブジェクト２３７は、そのカバーを基板搬送のために開放する必要が生じたときに、カバーオブジェクト２３２に対して当該処理槽のカバーを開くようメッセージを送信する。これにより、カバーオブジェクト２３２が実行されて、カバーを開く動作をシミュレートする。このときも、搬送ロボットオブジェクト２３８，処理槽オブジェクト２３７は、並列的に実行され続ける。そして、カバーオブジェクト２３２によるカバーの開動作が完了すると、開動作を命令したオブジェクトである処理槽オブジェクト２３７に対し、カバーの開動作が完了したことを伝えるメッセージを送信する。そして、カバーオブジェクト２３２の実行は、終了する。
【００７１】
そして、次に、カバーの開動作が完了したというイベントによって、処理槽オブジェクト２３７におけるカバーが開いた状態となった後の動作が実行可能となり、それに相当する処理が能動化される。そして、処理槽オブジェクト２３７が実行され続け、基板の搬送先の処理槽の準備が完了したときには、メッセージを搬送ロボットオブジェクト２３８に送信する。これにより、搬送ロボットオブジェクト２３８における基板の搬送先の処理槽の準備が完了した状態となった後の動作が実行可能となり、それに相当する処理が能動化され、実際の基板の搬送動作をシミュレートする。そして、搬送ロボットの搬送動作のシミュレートが完了すると、基板の搬送指令メッセージを送信してきたマスタオブジェクト２３６に対して搬送完了のメッセージを送信する。
【００７２】
ここで、各オブジェクト間で送受信されるメッセージの内容は、動作指令や完了通知であっても良いが、動作指令を行った時刻や動作を完了させた時刻を通知するようにしても良い。基板処理装置１００における処理の進行状況をシミュレートし、スループットや投入規制時間を知るためには、時間情報が重要だからである。また、動作指令の送信を行ったオブジェクトには、必ずその動作についての完了通知がある。
【００７３】
なお、図９では、搬送ロボットがあるロットの基板を搬送する場合を例に挙げて説明したが、図４に示した各動作ユニットをシミュレートするオブジェクトについても同様に他のオブジェクトからのイベントドリブンによって能動化される。ここで、これらイベントドリブンによる通信状況は、ロットごとに適用されるレシピに応じてそれぞれ異なることとなるため、全てのオブジェクトについてのイベントドリブンの形態を一概に説明することはできない。そのため、図４に示したその他のオブジェクト間におけるイベントドリブンに基づく処理形態についての説明は省略する。
【００７４】
このように基板処理装置１００の複数の動作ユニットは、それぞれオブジェクトとして実現され、それぞれのオブジェクトによって各動作ユニットの動作を独立にシミュレートするように構成されている。また、各オブジェクトは、他のオブジェクトにおけるイベントの発生によって能動化されるように構成されている。
【００７５】
従って、実際の基板処理装置１００において新規に処理槽やその他の動作ユニットが追加された場合は、追加されるオブジェクトのみを新たに作成すれば良いだけである。また、処理槽やその他の動作ユニットが変更になった場合は、変更された動作ユニットに対応するオブジェクトを変更するだけで良い。すなわち、この実施の形態のシミュレート装置２００においては、基板処理装置１００の装置構成自体が変更されたとしても、従来のようにシミュレートプログラム全体を改良する必要がないため、効率的に基板処理装置１００の装置構成の追加・変更に対応することができる。
【００７６】
また、この実施の形態では、各動作ユニットをモデル化したオブジェクトで実現し、そして、それぞれのオブジェクトを連結することによって全体として基板処理装置１００のシミュレート装置を構成させている。このオブジェクトが、いわゆるサブルーチンと異なる点について説明する。
【００７７】
いわゆるサブルーチンで各動作ユニットを実現した場合は、サブルーチンに処理が移ると、基本的にはそのサブルーチンの処理のみが実行される。ところが、既述のように実際の基板処理装置１００では各動作ユニットはそれぞれ独立に動作する。従って、サブルーチンで各動作ユニットを実現した場合は、実際の基板処理装置１００の動作に即したシミュレート装置を実現することは困難となる。
【００７８】
これに対して、オブジェクトによって各動作ユニットを実現した場合は、図９に示したように複数の動作ユニットが並列に動作させるように実現することができ、より実際の基板処理に近いシミュレートを行うことができる。
【００７９】
以上のようにして、図５に示すステップＳ２のシミュレート処理が行われる。最終的には、シミュレート期間に相当するシミュレート処理が終了すればステップＳ２は終了する。
【００８０】
そして、次に、ステップＳ３のシミュレート結果出力が行われる。シミュレート結果は、ファイルオブジェクト２４２により記憶部２０４に格納されている。従って、ＣＰＵ２０２がシミュレート結果出力手段として機能し、記憶部２０４からファイルを読み出して表示装置２０７にシミュレート結果の表示を行う。
【００８１】
ところで、基板の処理が進行するに伴ってロットごとの基板は所定の処理槽を順次に搬送されていく。そして、基板の搬送の際には必ず搬送ロボットＲＢ１〜ＲＢ４の搬送動作を伴う。このように時間の経過に伴って移動する対象物を表示する際には、時間経過に伴う軌跡をグラフィカルに表示することが好ましい。そこで、ＣＰＵ２０２は、ロットごとの基板の移動状況や搬送ロボットの動作状況をグラフィカルに表示することができるようにグラフィカルな表示が可能な信号として出力するグラフィカル表示信号出力手段として機能する。
【００８２】
ＣＰＵ２０２によって表示装置２０７に表示される画面は、図１０ないし図１２である。図１０に示す画面Ｇ３は、各ロットＬ１，Ｌ２，Ｌ３ごとの基板が各処理槽に搬送される過程を示している。なお、ロットＬ２の基板は、他のロットＬ１，Ｌ３の基板とレシピが異なるため、基板に対して施される処理が異なっている。また、図１１に示す画面Ｇ４は、図１に示す搬送ロボットＲＢ１，ＲＢ２，ＲＢ３，ＲＢ４のそれぞれの動作を示している。これら図１０，図１１の画面Ｇ３，Ｇ４は、ロットごとの基板の移動状況又は搬送ロボットの動作状況をグラフィカルに軌跡として表示しているため、基板の処理過程における進行状況の確認を容易に行うことが可能となっている。さらに、図１２に示す画面Ｇ５は、シミュレート処理（ステップＳ２）によって得られた基板処理装置１００のスループットを示している。これらの画面により、オペレータは、基板処理装置１００を実際に動作させることなく、基板の移動状況および搬送ロボットの動作状況などを容易に知ることができるとともに、基板処理装置１００のスループットをも知ることができる。
【００８３】
次に、最適な投入規制時間の自動導出について説明する。図１３は、図５のフローチャートにさらに投入規制時間を自動で導くための処理を加えたフローチャートである。まず、ステップＳ１は、図５のフローチャートのステップＳ１と同様である。そして、ステップＳ１１において、ＣＰＵ２０２は、ロットごとにローダ１０１から順次に基板処理装置１００の一連の基板処理プロセスに投入する際の時間間隔を設定する。ここで、設定される時間間隔の初期値は、後のロットが先のロットに追いつかないように十分大きな値である。ＣＰＵ２０２は、ステップＳ１１を行うとき、時間間隔設定手段として機能する。
【００８４】
そして、ステップＳ２のシミュレート処理が行われる。このステップＳ２は、図５のステップＳ２と同様であり、イベントドリブンによって各オブジェクトが能動化されて、基板処理装置１００の動作がシミュレートされる。そして、ステップＳ２のシミュレート処理が終了するとステップＳ１２に進む。
【００８５】
ステップＳ１２では、ロットが干渉したか否かを判定する。すなわち、ローダ１０１から後に送り出したロットが先に送り出していたロットに追いついた場合は「ＹＥＳ」と判定し、追いつかなかった場合は「ＮＯ」と判定する。このとき、ＣＰＵ２０２は、判定手段として機能する。時間間隔の初期値は、ロットの干渉が生じないように十分大きな値であるため、ステップＳ１２が行われるのが１回目であるときは通常「ＮＯ」と判定される。なお、ステップＳ１２で「ＹＥＳ」と判定された場合はステップＳ３に進み、「ＮＯ」と判定された場合はステップＳ１３に進む。また、同じ搬送ロボットに対して複数の処理槽でのロットを搬送する命令が、許容時間を越えて重ならなければ「ＮＯ」、あれば「ＹＥＳ」とするチェックも、併せて行っている。
【００８６】
ステップＳ１３では、投入規制時間をステップＳ１１で設定された時間間隔として設定する。そして、ステップＳ１４に進む。
【００８７】
ステップＳ１４では、ステップＳ１１で設定されている時間間隔を所定の間隔だけ小さい値に変更し、再びステップＳ１１に戻る。ステップＳ１１では、ステップＳ１４で小さい値に変更された時間間隔をシミュレートする際の時間間隔として設定する。
【００８８】
以下同様の処理が、ステップＳ１２で「ＹＥＳ」と判定されるまで繰り返される。ステップＳ１２で「ＹＥＳ」と判定された場合は、その直前にステップＳ１３で投入規制時間として設定された時間間隔が、ロットの干渉を生じない範囲内での時間間隔の最小値付近の最適な時間間隔となる。すなわち、ステップＳ１２において「ＮＯ」と判定される間繰り返し実行されるステップＳ１３の処理が、最適な投入規制時間を導く最小値決定手段として機能する。
【００８９】
そして、ステップＳ３のシミュレート結果出力の処理で、最適な投入規制時間が表示装置２０７に表示される。また、そのときのロットごとの基板の移動状況や搬送ロボットの動作状況等が図１０ないし図１２に示した各画面と同様に行われる。
【００９０】
このように、この実施の形態のシミュレート装置２００において、図１３に示すようなフローチャートの処理を行うことにより、実際の基板処理装置の動作に即した最適な投入規制時間を自動的に検出することができる。
【００９１】
＜４．変形例＞
上記の説明は、主として図１に示すようなロットごとの基板を順次に所定の処理槽に搬送することによって基板に処理を施す基板処理装置１００についてのものであったが、この実施の形態の基板処理装置のシミュレート装置２００は、図１のような基板処理装置に限定するものではなく、回転塗布装置や熱処理装置等が組み合わされた枚葉式の基板処理装置、さらにはクラスタ型基板処理装置であっても、上記と同様に各動作ユニットを個々のオブジェクトとして実現し、イベントドリブンによってそれぞれのオブジェクトを能動化させることができるため、これらの装置のシミュレート装置を構築することができる。
【００９２】
また、上記の説明においてシミュレート装置２００は、基板処理装置１００とは別体として構成されている場合について説明したが、これに限定するものではない。すなわち、シミュレート装置２００を基板処理装置の本体に組み込むことも可能である。シミュレート装置２００が、基板処理装置と別体として構成されている場合は、上述のように一般的なコンピュータ（例えば、いわゆるパソコン）で構成することにより、基板処理装置が存在しない場所でシミュレートすることができる。一方、シミュレート装置２００を基板処理装置に組み込んだ状態で構成されている場合は、基板処理装置の稼働現場でシミュレートすることができるとともに、装置固有のパラメータについては設定入力する必要がなく、基板処理装置自体が保持しているパラメータを使用することができるという効果がある。
【００９３】
【発明の効果】
以上説明したように、請求項１に記載の発明によれば、基板処理装置の動作ユニットごとに動作進行状況をシミュレートするシミュレート手段群をイベントドリブンで能動化させることにより、シミュレート手段群による一連の基板処理のシミュレート結果を生成するため、基板処理装置の動作ユニットの追加又は変更等に容易かつ効率的に対応することができる。
【００９４】
請求項２に記載の発明によれば、シミュレート結果出力手段は、基板について一連の基板処理を完了するまでの進行状況をシミュレートしてグラフィカルな表示が可能な信号として出力するグラフィカル表示信号出力手段を有するため、シミュレート結果をグラフィカルに表示することができ、進行状況の確認が容易となる。
【００９６】
請求項４に記載の発明によれば、複数の基板群を、基板群ごとに順次に基板処理装置の一連の基板処理プロセスに送り出す際の時間間隔を登録する時間間隔設定手段と、時間間隔だけ離して順次に送り出された複数の基板群についてシミュレート手段群をイベントドリブンで能動化する手段と、基板処理装置内における複数の基板群の相互干渉の有無を判定する判定手段と、基板処理装置内において複数の基板群が相互干渉しない範囲内で時間間隔の最小値付近の最適間隔を求める最小値決定手段とを備えるため、最適な間隔を自動検出することができる。
【００９７】
請求項５に記載の発明によれば、一連の基板処理の内容および順序が、基板群ごとに設定可能とされているため、異なるレシピの基板群を投入した場合のシミュレートすることが可能である。
【００９８】
請求項６に記載の発明によれば、シミュレート装置は、基板処理装置とは別体として構成されているため、基板処理装置が存在しない場所でシミュレートすることが可能である。
【００９９】
請求項７に記載の発明によれば、シミュレート装置は、基板処理装置に組み込まれているため、基板処理装置の稼働現場でシミュレートすることが可能である。
【０１００】
請求項８に記載の発明によれば、コンピュータ読み取り可能な記録媒体に記録されたシミュレート装置として動作させるためのプログラムをコンピュータが実行することにより、当該コンピュータが基板処理装置の動作ユニットの追加又は変更等に容易かつ効率的に対応することができるシミュレート装置として機能する。
【図面の簡単な説明】
【図１】基板を順次に処理する基板処理装置の一例を示す概略構成図である。
【図２】図１の基板処理装置の制御ブロック図である。
【図３】この発明の実施の形態におけるシミュレート装置の構成の一例を示す図である。
【図４】この発明の実施の形態におけるシミュレート装置によって実行される基板処理装置の各動作ユニットのモデル構造の一例を示す概念図である。
【図５】この発明の実施の形態におけるシミュレート装置の処理シーケンスを示すフローチャートである。
【図６】この発明の実施の形態におけるシミュレート装置によって表示される入力データ編集画面を示す図である。
【図７】この発明の実施の形態におけるシミュレート装置によって表示される搬送ロボット設定画面を示す図である。
【図８】イベントドリブンの概念を説明するための説明図である。
【図９】搬送ロボットがあるロットの基板を搬送する場合のシミュレート装置の処理の一部を経時的に示す図である。
【図１０】シミュレート結果についての表示画面を示す図である。
【図１１】シミュレート結果についての表示画面を示す図である。
【図１２】シミュレート結果についての表示画面を示す図である。
【図１３】この発明の実施の形態のシミュレート装置において最適な投入規制時間を自動で導くためのフローチャートである。
【図１４】従来の投入規制時間を算出する手法を説明するための図である。
【符号の説明】
１００  基板処理装置
１０２〜１１０  処理槽
１２１  マスタＣＰＵ
１２２  ロボット制御用ＣＰＵ
１２３  槽制御用ＣＰＵ
２００  シミュレート装置
２０２  ＣＰＵ
２０７  表示装置
２０８  キーボード
【図１】
0003686279.tif 000002
【図２】
0003686279.tif 000003
【図３】
0003686279.tif 000004
【図４】
0003686279.tif 000005
【図５】
0003686279.tif 000006
【図６】
0003686279.tif 000007
【図７】
0003686279.tif 000008
【図８】
0003686279.tif 000009
【図９】
0003686279.tif 000010
【図１０】
0003686279.tif 000011
【図１１】
0003686279.tif 000012
【図１２】
0003686279.tif 000013
【図１３】
0003686279.tif 000014
【図１４】
0003686279.tif 000015