(57)【特許請求の範囲】
【請求項１】
ホストコンピュータとの間で通信を行う機能を有する基板処理装置であって、
基板に所定の処理を行う基板処理部と、
記憶手段と、
前記ホストコンピュータとの通信を制御する第１の制御手段と、
前記基板処理部の処理に基づく情報およびその情報に関連する変数の値のうち前記変数の値を前記記憶手段にデータベースとして記憶させるとともに前記データベースに記憶された変数の値を検索するための識別子と前記情報とを前記第１の制御手段に与える第２の制御手段とを備え、
前記第１の制御手段は、情報と変数との対応関係を保有するとともに、前記第２の制御手段から与えられた情報に対応する変数の値を前記対応関係および前記識別子に基づいて前記記憶手段の前記データベースから取得し、前記第２の制御手段から与えられた情報および前記データベースから取得した変数の値を前記ホストコンピュータに送信することを特徴とする基板処理装置。
【請求項２】
前記対応関係は、各変数ごとに定義されかつ前記第２の制御手段から与えられた識別子を用いて前記データベースから該当する変数の値を取得するための取得処理を含むことを特徴とする請求項１記載の基板処理装置。
【請求項３】
表示手段と、
前記第２の制御手段から前記情報を受け、情報と変数との前記対応関係に基づいて前記情報に対応する変数の値を前記記憶手段の前記データベースから取得し、前記第２の制御手段から受けた情報および前記データベースから取得した変数の値を前記表示手段に表示させる表示用インタフェースとをさらに備えたことを特徴とする請求項１または２記載の基板処理装置。
【請求項４】
基板処理部、第１の制御手段、第２の制御手段および記憶手段を備えた基板処理装置においてホストコンピュータとの間での通信を制御する通信制御プログラムを記録した記録媒体であって、
前記通信制御プログラムは、
前記基板処理部の処理に基づく情報およびその情報に関連する変数の値のうち前記変数の値を前記記憶手段にデータベースとして記憶させる処理と、
前記データベースに記憶された変数の値を検索するための識別子と前記情報とを前記第１の制御手段に与える処理とを前記第２の制御手段に実行させ、
情報と変数との対応関係を保有するとともに、前記第２の制御手段から与えられた情報に対応する変数の値を前記対応関係および前記識別子に基づいて前記記憶手段の前記データベースから取得する処理と、
前記第２の制御手段から与えられた情報および前記データベースから取得した変数の値を前記ホストコンピュータに送信する処理とを前記第１の制御手段に実行させることを特徴とする通信制御プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、基板に所定の処理を行う基板処理装置および基板処理装置においてホストコンピュータとの間での通信を制御する通信制御プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
半導体ウエハ、液晶表示装置用ガラス基板、フォトマスク用ガラス基板、光ディスク用ガラス基板等の基板に種々の処理を行うために、基板処理装置が用いられている。例えば、半導体デバイスの製造プロセスでは、生産効率を高めるために一連の処理の各々をユニット化し、複数のユニットを統合した基板処理装置が用いられている。
【０００３】
このような基板処理装置は、複数のユニット、それらの複数のユニットの動作を制御する複数のスレーブコントローラ、および複数のユニットを協調動作させるために複数のスレーブコントローラを統括制御するメインコントローラを備える。メインコントローラは、各スレーブコントローラに各種指令を与えるとともに、各スレーブコントローラからの状態報告を受け、複数のユニットの動作タイミングを統括的に管理および制御する。
【０００４】
また、この基板処理装置のメインコントローラは、製造プロセスの自動化のために通信ラインを介して工場内のホストコンピュータに接続される。メインコントローラは、ホストコンピュータから送信される各種指令および各種データを受信するとともに、各スレーブコントローラからの状態報告に基づいてホストコンピュータに各種メッセージを送信する。
【０００５】
特に、半導体製造装置の分野では、ホストコンピュータの通信リンクから見た装置動作の定義がＳＥＭＩ  Ｅ３０「ＳＥＭＩ製造装置の通信およびコントロールのための包括的モデル（ＧＥＭ）」として国際標準化されている。
【０００６】
従来、このＧＥＭ規格に従う通信機能を実現するために、図９に示すメインコントローラ５０の構成が採用されている。図９において、メインコントローラ５０は、通信制御モジュール５１０および装置制御モジュール５２０を備える。装置制御モジュール５２０はユーザインタフェース５３０を含む。
【０００７】
通信制御モジュール５１０は、通信ライン５０１を介してホストコンピュータに接続される。また、装置制御モジュール５２０は、通信ライン５０２を介して複数のスレーブコントローラに接続される。ユーザインタフェース５３０は各種指令および各種データを入力および表示するためのメインパネルに接続される。
【０００８】
装置制御モジュール５２０は、通信制御モジュール５１０から転送される各種指令および各種データに基づいて複数のユニットを協調動作させるために複数のスレーブコントローラを統括制御する。また、この装置制御モジュール５２０は、各スレーブコントローラから与えられる状態報告（以下、イベントと呼ぶ）を予め定められた変数の値（パラメータ）とともに通信制御モジュール５１０に転送する。ここでは、変数とは、装置定数、状態変数および離散型データの総称である。また、装置制御モジュール５２０は、イベントおよび変数の値をユーザインタフェース５３０を介してメインパネルに表示させる。
【０００９】
通信制御モジュール５１０は、ホストコンピュータからの各種指令および各種データを受信して装置制御モジュール５２０に転送するとともに、装置制御モジュール５２０から与えられるイベントに変数の値を付加してメッセージとしてホストコンピュータに送信する。
【００１０】
上記のＧＥＭ規格には、通信制御モジュール５１０でイベントに付加して送信すべき変数をホストコンピュータから動的に変更することができる動的イベントレポート機能が規定されている。
【００１１】
図１０は上記の動的イベントレポート機能を実現するための方法を示す図である。通信制御モジュール５１０は、図１０に示すイベントリストＥＬ、レポートリストＲＬおよび変数リストＶＬＯを保有する。
【００１２】
イベントリストＥＬには、イベント識別子ＣＥＩＤ、イベント名およびレポート識別子ＲＰＴＩＤが格納される。イベントの種類としては、例えば「状態遷移」および「搬入完了」がある。「状態遷移」は、例えばポートの状態が変化したことを表す。ポートとは、基板を収納するカセットの搬入または搬出位置を表す。「搬入完了」は、例えば基板を収納するカセットがポートに搬入されたことを表す。
【００１３】
「状態遷移」には、イベント識別子ＣＥＩＤとして１００１が付され、レポート識別子ＲＰＴＩＤとして１００１が付されている。また、「搬入完了」には、イベント識別子ＣＥＩＤとして４００３が付され、レポート識別子ＲＰＴＩＤとして００００および０１００が付されている。
【００１４】
レポートリストＲＬには、レポート識別子ＲＰＴＩＤ、レポート名および変数識別子ＶＩＤが格納される。レポートの種類としては、例えば「クロック」、「状態遷移」および「材料情報」がある。
【００１５】
「クロック」には、レポート識別子ＲＰＴＩＤとして００００が付され、変数識別子ＶＩＤとして００００が付されている。「状態遷移」には、レポート識別子ＲＰＴＩＤとして１００１が付され、変数識別子ＶＩＤとして００００および１０１０が付与されている。「材料情報」には、レポート識別子ＲＰＴＩＤとして０１００が付され、変数識別子ＶＩＤとして２４００、２４０９および２５０７が付されている。
【００１６】
変数リストＶＬＯには、変数識別子ＶＩＤおよび変数名が格納される。変数の種類としては、例えば「クロック」、「制御状態」、「ポートＩＤ」、「ロットＩＤ」および「ウエハ情報」がある。「クロック」は現在の時刻を表す変数であり、「制御状態」はホストコンピュータからの制御であるかオペレータによる単体制御であるかを表す変数である。「ポートＩＤ」はポートを識別するための変数である。「ロットＩＤ」は基板を収納するカセットの処理単位を識別するための変数である。「ウエハ情報」はカセット内での基板の収納位置および収納枚数を表す変数である。
【００１７】
「クロック」には、変数識別子ＶＩＤとして００００が付され、「制御状態」には、変数識別子ＶＩＤとして１０１０が付されている。また、「ポートＩＤ」には、変数識別子ＶＩＤとして２４００が付され、「ロットＩＤ」には、変数識別子ＶＩＤとして２４０９が付されている。さらに、「ウエハ情報」には、変数識別子ＶＩＤとして２５０７が付されている。
【００１８】
レポート識別子ＲＰＴＩＤおよび変数識別子ＶＩＤが、イベントリストＥＬのイベント名、レポートリストＲＬのレポート名および変数リストＶＬＯの変数名を関連付けるポインタとなる。
【００１９】
例えば、図９の通信制御モジュール５１０は、装置制御モジュール５２０からイベント識別子ＣＥＩＤとして１００１および変数の値を受け取ると、そのイベント識別子ＣＥＩＤに基づいてイベントリストＥＬをサーチし、変数名として「状態遷移」を検出し、レポート識別子ＲＰＴＩＤとして１００１を検出する。次に、レポート識別子ＲＰＴＩＤに基づいてレポートリストＲＬをサーチし、レポート名として「状態遷移」を検出し、変数識別子ＶＩＤとして００００および１０１０を検出する。次に、変数識別子ＶＩＤに基づいて変数リストＶＬＯをサーチし、変数名として「クロック」および「制御状態」を検出する。
【００２０】
このようにして、イベント名「状態遷移」に対して変数名「クロック」および「制御状態」が関連付けられる。そこで、通信制御モジュール５１０は、イベント「状態遷移」に変数の現在値として現在の時刻および現在の制御状態の値を設定し、メッセージとしてホストコンピュータに送信する。
【００２１】
また、装置制御モジュール５２０は、イベント「状態遷移」および変数の現在値をユーザインタフェース５３０を介してメインパネルに表示させる。
【００２２】
【発明が解決しようとする課題】
上記のメインコントローラ５０においては、ホストコンピュータからの要求に従って、図１０のイベントリストＥＬ、レポートリストＲＬおよび変数リストＶＬＯを関連付けるレポート識別子ＲＰＴＩＤおよび変数識別子ＶＩＤを変更する機能を備える。それにより、各イベントに付加して送信する変数の種類を更新することができる。
【００２３】
しかしながら、上記の従来の動的イベントレポート機能の実現方法では、通信制御モジュール５１０からホストコンピュータに送信すべき変数の種類を追加したり、変数の内容を変更する場合、装置制御モジュール５２０から通信制御モジュール５１０にイベントとともに転送する変数自体も変更する必要がある。そのため、通信制御モジュール５１０と装置制御モジュール５２０との間の通信フォーマットを変更する必要が生じる。また、ユーザインターフェース５３０を介してメインパネルに表示する表示内容も変更する必要があるため、ユーザインターフェース５３０のデータ取得方法も変更する必要が生じる。これらの結果、ホストコンピュータに送信する変数の変更を容易に行うことができない。
【００２４】
本発明の目的は、ホストコンピュータとの通信において変数の変更を容易に行うことができる通信機能を備えた基板処理装置を提供することである。
【００２５】
本発明の他の目的は、基板処理装置においてホストコンピュータに送信する変数の変更を容易に行うことができる通信制御プログラムを記録した記録媒体を提供することである。
【００２６】
【課題を解決するための手段および発明の効果】
第１の発明に係る基板処理装置は、ホストコンピュータとの間で通信を行う機能を有する基板処理装置であって、基板に所定の処理を行う基板処理部と、記憶手段と、ホストコンピュータとの通信を制御する第１の制御手段と、基板処理部の処理に基づく情報およびその情報に関連する変数の値のうち変数の値を記憶手段にデータベースとして記憶させるとともにデータベースに記憶された変数の値を検索するための識別子と情報とを第１の制御手段に与える第２の制御手段とを備え、第１の制御手段は、情報と変数との対応関係を保有するとともに、第２の制御手段から与えられた情報に対応する変数の値を対応関係および識別子に基づいて記憶手段のデータベースから取得し、第２の制御手段から与えられた情報およびデータベースから取得した変数の値をホストコンピュータに送信するものである。
【００２７】
本発明に係る基板処理装置においては、基板処理部により基板に所定の処理が行われるとともに、基板処理部の処理に基づく情報およびその情報に関連する変数の値が第２の制御手段に与えられる。第２の制御手段により情報および変数の値のうち変数の値が記憶手段にデータベースとして記憶されるとともにデータベースに記憶された変数の値を検索するための識別子と情報とが第１の制御手段に与えられる。
【００２８】
そして、第１の制御手段により情報と変数との対応関係が保有されるとともに、その対応関係および識別子に基づいて、第２の制御手段から与えられた情報に対応する変数の値が記憶手段のデータベースから取得され、第２の制御手段から与えられた情報およびデータベースから取得された変数の値がホストコンピュータに送信される。
【００２９】
このように、基板処理部の処理に基づく情報に関連する変数の値がデータベースとして記憶されるので、第１の制御手段により保有される情報と変数との対応関係の追加または変更を行うことにより、第１の制御手段と第２の制御手段との間での情報および変数の値の転送方法を変更することなく、情報とともにホストコンピュータに送信する変数の種類の追加および変数の内容の変更を容易に行うことができる。
【００３１】
また、第１の制御手段は、第２の制御手段から与えられた識別子に基づいて第２の制御手段から与えられた情報に対応する変数の値を記憶手段のデータベースから容易に取得することが可能となる。
【００３２】
第２の発明に係る基板処理装置は、第１の発明に係る基板処理装置の構成において、対応関係は、各変数ごとに定義されかつ第２の制御手段から与えられた識別子を用いてデータベースから該当する変数の値を取得するための取得処理を含むものである。
【００３３】
この場合、第１の制御手段は、第２の制御手段から与えられた情報に基づいて対応関係から取得処理を選択し、第２の制御手段から与えられた識別子および選択された取得処理を用いて情報に対応する変数の値をデータベースから容易に取得することが可能となる。
【００３４】
また、対応関係の取得処理を追加または変更することにより、ホストコンピュータに送信する変数の種類の追加または変数の内容の変更を容易に行うことができる。
【００３５】
第３の発明に係る基板処理装置は、第１または第２の発明に係る基板処理装置の構成において、表示手段と、第２の制御手段から情報を受け、情報と変数との対応関係に基づいて情報に対応する変数の値を記憶手段のデータベースから取得し、第２の制御手段から受けた情報およびデータベースから取得した変数の値を表示手段に表示させる表示用インタフェースとをさらに備えたものである。
【００３６】
この場合、第２の制御手段から表示用インタフェースに情報が与えられると、与えられた情報に対応する変数の値が記憶手段のデータベースから取得され、第２の制御手段から与えられた情報およびデータベースから取得された変数の値が表示手段に表示される。
【００３７】
このように、情報に対応する変数の値がデータベースから取得されて表示されるので、情報とともにホストコンピュータに送信される変数の種類の追加および変数の内容の変更を行った場合でも、第２の制御手段と表示用インタフェースとの間の情報および変数の値の転送方法を変更する必要がない。
【００３８】
第４の発明に係る通信制御プログラムを記録した記録媒体は、基板処理部、第１の制御手段および第２の制御手段および記憶手段を備えた基板処理装置においてホストコンピュータとの間での通信を制御する通信制御プログラムを記録した記録媒体であって、通信制御プログラムは、基板処理部の処理に基づく情報およびその情報に関連する変数の値のうち変数の値を記憶手段にデータベースとして記憶させる処理と、データベースに記憶された変数の値を検索するための識別子と情報とを第１の制御手段に与える処理とを第２の制御手段に実行させるとともに、情報と変数との対応関係を保有するとともに、第２の制御手段から与えられた情報に対応する変数の値を対応関係および識別子に基づいて記憶手段のデータベースから取得する処理と、第２の制御手段から与えられた情報およびデータベースから取得した変数の値をホストコンピュータに送信する処理とを第１の制御手段に実行させるものである。
【００３９】
本発明に係る通信制御プログラムを記録した記録媒体によれば、基板処理装置の基板処理部の処理に基づく情報およびその情報に関連する変数の値が第２の制御手段に与えられた場合に、第２の制御手段により情報および変数の値のうち変数の値が記憶手段にデータベースとして記憶されるとともにデータベースに記憶された変数の値を検索するための識別子と情報とが第１の制御手段に与えられる。
【００４０】
そして、第１の制御手段により情報と変数との対応関係が保有されるとともに、その対応関係および識別子に基づいて、第２の制御手段から与えられた情報に対応する変数の値が記憶手段のデータベースから取得され、第２の記憶手段から与えられた情報およびデータベースから取得された変数の値がホストコンピュータに送信される。
【００４１】
このように、基板処理部の処理に基づく情報に関連する変数の値がデータベースとして記憶されるので、第１の制御手段により保有される情報と変数との対応関係の追加または変更を行うことにより、第１の制御手段と第２の制御手段との間での情報および変数の値の転送方法を変更することなく、情報とともにホストコンピュータに送信する変数の種類の追加および変数の内容の変更を容易に行うことができる。
また、第１の制御手段は、第２の制御手段から与えられた識別子に基づいて第２の制御手段から与えられた情報に対応する変数の値を記憶手段のデータベースから容易に取得することが可能となる。
【００４２】
【発明の実施の形態】
図１は本発明の一実施例における基板処理装置の構成を示すブロック図、図２は図１の基板処理装置の正面図、図３は図１の基板処理装置の制御系の構成を示すブロック図である。
【００４３】
図１の基板処理装置１において、搬送ユニット１２の周囲を取り囲むように、複数の回転処理ユニット１４が配置されている。図２に示すように、複数の回転処理ユニット１４の下部には薬液温調ユニット１３が配置され、複数の回転処理ユニット１４の上部には複数のベークユニット１５が複数段に配置されている。また、複数の回転処理ユニット１４の一端部側にはインデクサユニット（基板搬入搬出装置）１１が配置されている。インデクサユニット１１の側面にはメインパネル４０が設けられている。
【００４４】
搬送ユニット１２は、基板Ｗを保持する基板保持部１２１を有し、鉛直軸方向に移動可能かつθ軸方向（鉛直軸を中心とする回転方向）に回転可能に設けられている。基板保持部１２１は、Ｘ軸方向（水平面内で前進および後退する方向）に移動可能に設けられている。
【００４５】
回転処理ユニット１４は、基板を回転させながら基板に所定の処理を行う。この回転処理ユニット１４としては、基板上にフォトレジスト液等の処理液を塗布する回転式塗布ユニット、基板に現像処理を行う回転式現像ユニット、基板を洗浄する回転式洗浄ユニット等がある。ベークユニット１５は、基板に加熱、冷却等の温度処理を行う。このベークユニット１５としては、基板を加熱する加熱ユニット（ホットプレート）、基板を冷却する冷却ユニット（クーリングプレート）等がある。薬液温調ユニット１３は、回転処理ユニット１４で用いられる薬液（処理液）の温度調整を行う。
【００４６】
インデクサユニット１１は、カセット載置台１１０および移載ロボット１１２を備える。カセット載置台１１０には複数のカセット１１１が載置される。カセット載置台１１０の各カセット載置位置をポートと呼ぶ。本実施例では、インデクサユニット１１が４つのポートを有する。カセット載置台１１０にカセット１１１が載置されると、基板検出装置（図示せず）がカセット１１１内に収納される基板Ｗの収納位置および収納枚数を検出し、ウエハ情報として記憶する。移載ロボット１１２は、矢印Ｕの方向に移動し、ウエハ情報に基づいてカセット１１１から基板Ｗを取り出して搬送ユニット１２に渡し、逆に一連の処理が施された基板Ｗを搬送ユニット１２から受け取ってカセット１１１に戻す。
【００４７】
搬送ユニット１２は、インデクサユニット１１の移載ロボット１１２との間で基板Ｗの受け渡しを行い、回転処理ユニット１４およびベークユニット１５への基板の搬入および搬出を行う。
【００４８】
図３に示すように、本実施例の基板処理装置１の制御系は、メインコントローラ２０、インデクサユニット用のスレーブコントローラ２１、搬送ユニット用のスレーブコントローラ２２、薬液温調ユニット用のスレーブコントローラ２３、回転処理ユニット用のスレーブコントローラ２４およびベークユニット用のスレーブコントローラ２５を含む。
【００４９】
複数のスレーブコントローラ２１〜２５は、通信ライン２００を介してメインコントローラ２０に接続され、メインコントローラ２０は通信ライン２０１を介してホストコンピュータ３０に接続されている。また、メインコントローラ２０には、各種指令および各種データの入力および表示を行うためのメインパネル４０が接続されている。
【００５０】
各スレーブコントローラ２１〜２５は、それぞれの制御プログラムに従って動作し、メインコントローラ２０からの指令に従って各ユニット１１〜１５の動作を制御する。
【００５１】
図４は図３の基板処理装置１のメインコントローラ２０の構成を示すブロック図である。
【００５２】
図４に示すように、メインコントローラ２０は、通信制御モジュール２１０、装置制御モジュール２２０、データベース管理ソフトウェア２３０、データベース２４０およびユーザインタフェース２６０を含む。データベース２４０は例えばリレーショナルデータベースである。ユーザインタフェース２６０は、図２のメインパネル４０に接続されている。
【００５３】
通信制御モジュール２１０は、ＣＰＵ（中央演算処理装置）、およびメモリ等の一次記憶装置を含み、通信ライン２０１を介してホストコンピュータ３０に接続される。また、装置制御モジュール２２０は、ＣＰＵ、およびメモリ等の一次記憶装置を含み、通信ライン２００を介して複数のスレーブコントローラ２１〜２５に接続される。データベース管理ソフトウェア２３０およびデータベース２４０はハードディスク装置等の二次記憶装置２５０に格納される。
【００５４】
装置制御モジュール２２０は、通信制御プログラムに従って動作し、通信制御モジュール２１０から転送される各種指令および各種データに基づいて複数のユニット１１〜１５を協調動作させるために複数のスレーブコントローラ２１〜２５を統括制御する。また、この装置制御モジュール２２０は、各スレーブコントローラ２１〜２５から与えられる状態報告（以下、イベントと呼ぶ）を通信制御モジュール２１０に転送するとともに、そのイベントに関連する変数の値（パラメータ）を後述するようにデータベース管理ソフトウェア２３０を介してデータベース２４０に格納する。
【００５５】
通信制御モジュール２１０は、通信制御プログラムに従って動作し、ホストコンピュータ３０からの各種指令および各種データを受信して装置制御モジュール２２０に転送するとともに、装置制御モジュール２２０からイベントを受信したときにそのイベントに対応する変数の値をデータベース管理ソフトウェア２３０を介してデータベース２４０から取得し、イベントに取得した変数の値を付加してメッセージとしてホストコンピュータ３０に送信する。この通信制御モジュール２１０は、動的イベントレポート機能を実現するために、後述するイベントリスト、レポートリストおよび変数リストを内部に保持している。
【００５６】
通信制御プログラムは、二次記憶装置２５０に保存され、通信制御モジュール２１０および装置制御モジュール２２０の一次記憶装置に呼び出されて実行される。
【００５７】
図５は図４のデータベース２４０の構造の一例を示す図である。
データベース２４０は１組の装置情報ＵＩおよび複数組のポート情報ＰＩにより構成される。１組の装置情報ＵＩおよび各組のポート情報ＰＩがデータベース２４０のレコードをそれぞれ構成する。本実施例では、１組の装置情報ＵＩに対してｎ個のポート情報ＰＩが準備されている。ｎは任意の整数である。
【００５８】
装置情報ＵＩには、変数の値として「クロック」、「装置状態」および「制御状態」が含まれる。また、各ポート情報ＰＩには、変数の値として「ポート番号」、「ポートＩＤ」、「ロットＩＤ」、「カセットＩＤ」および「ウエハ情報」が含まれる。
【００５９】
ここで、「クロック」は現在の時刻を表す変数、「装置状態」は基板処理装置が動作中か否かを表す変数、「制御状態」はホストコンピュータからの制御であるかオペレータによる単体制御であるかを表す変数である。「ポート番号」はメインコントローラ２０が内部的にポートを識別するための変数である。「ポートＩＤ」はユーザがポートを識別するための変数である。「ロットＩＤ」はカセット１１１の処理単位を表す変数である。「カセットＩＤ」は複数のカセット１１１に１つのロットＩＤを割り付けた場合に各カセット１１１を識別するための変数である。「ウエハ情報」はカセット１１１内での基板Ｗの収納位置および収納枚数を表す変数である。
【００６０】
本実施例では、ユニット１１〜１５およびスレーブコントローラ２１〜２５が基板処理部を構成し、二次記憶装置２５０が記憶手段に相当し、通信制御モジュール２１０が第１の制御手段に相当し、装置制御モジュール２２０が第２の制御手段に相当する。また、メインパネル４０が表示手段に相当し、ユーザインタフェース２６０が表示用インタフェースに相当する。
【００６１】
図６〜図８は図４の通信制御モジュール２１０による動的イベントレポート機能の実現方法を示す図である。
【００６２】
通信制御モジュール２１０は、図６に示すイベントリストＥＬ、レポートリストＲＬおよび変数リストＶＬを保有する。
【００６３】
イベントリストＥＬおよびレポートリストＲＬの構成は、図１０のイベントリストＥＬおよびレポートリストＲＬの構成と同様である。すなわち、イベントリストＥＬには、イベント識別子ＣＥＩＤ、イベント名およびレポート識別子ＲＰＴＩＤが格納される。イベントの種類としては、例えば「状態遷移」および「搬入完了」がある。「状態遷移」には、イベント識別子ＣＥＩＤとして１００１が付され、レポート識別子ＲＰＴＩＤとして１００１が付されている。また、「搬入完了」には、イベント識別子ＣＥＩＤとして４００３が付され、レポート識別子ＲＰＴＩＤとして００００および０１００が付されている。
【００６４】
レポートリストＲＬには、レポート識別子ＲＰＴＩＤ、レポート名および変数識別子ＶＩＤが格納される。レポートの種類としては、例えば「クロック」、「状態遷移」および「材料情報」がある。「クロック」には、レポート識別子ＲＰＴＩＤとして００００が付され、変数識別子ＶＩＤとして００００が付されている。「状態遷移」には、レポート識別子ＲＰＴＩＤとして１００１が付され、変数識別子ＶＩＤとして００００および１０１０が付されている。「材料情報」には、レポート識別子ＲＰＴＩＤとして０１００が付され、変数識別子ＶＩＤとして２４００、２４０９および２５０７が付されている。
【００６５】
変数リストＶＬには、変数識別子ＶＩＤ、変数名および取得処理（読み込み関数）が格納される。ここで、変数は、装置定数、状態変数および離散型データを含む。変数の種類としては、例えば「クロック」、「制御状態」、「ポートＩＤ」、「ロットＩＤ」および「ウエハ情報」がある。取得処理は、データベース２４０を検索するための関数である。
【００６６】
「クロック」には、変数識別子ＶＩＤとして００００が付され、取得処理として「Get ＿Clock( )」が定義されている。「制御状態」には、変数識別子ＶＩＤとして１０１０が付され、取得処理として「Get ＿Controlstate( ) 」が定義されている。「ポートＩＤ」には、変数識別子ＶＩＤとして２４００が付され、取得処理として「Get ＿PortID( ) 」が定義されている。「ロットＩＤ」には、変数識別子ＶＩＤとして２４０９が付され、取得処理として「Get ＿LotID( )」が定義されている。「ウエハ情報」には、変数識別子ＶＩＤとして２５０７が付され、取得処理として「Get ＿WaferInf( ) 」が定義されている。
【００６７】
レポート識別子ＲＰＴＩＤおよび変数識別子ＶＩＤが、イベントリストＥＬのイベント名、レポートリストＲＬのレポート名、変数リストＶＬの変数名および取得処理を関連付けるポインタとなる。
【００６８】
図１の基板処理装置のポートにカセット１１１が搬入され、メインパネル４０からロットＩＤが入力されると、インデクサユニット１１の基板検出装置（図示せず）が搬入されたカセット１１１内の基板Ｗの収納位置および収納枚数を検出するウエハマッピングを行う。
【００６９】
例えばカセット１１１が２５段のスロットを有する場合、カセット１１１内の第１段目のスロットから第２５段目のスロットまで順に基板Ｗの有無を示すウエハ情報がスレーブコントローラ２１から装置制御モジュール２２０に与えられるとともに、イベント「搬入完了」が発生する。この「搬入完了」には、変数の値としてポート番号、ポートＩＤおよびウエハ情報の値が付随する。また、装置制御モジュール２２０は、メインパネル４０からユーザインターフェース２６０を介して入力されたロットＩＤを読み込む。
【００７０】
そして、装置制御モジュール２２０は、ポート番号をキー項目としてデータベース２４０内の該当するポート情報ＰＩを検索し、そのポート情報ＰＩの「ポートＩＤ」、「ロットＩＤ」および「ウエハ情報」に変数の値を書き込み、通信制御モジュール２１０およびユーザインターフェース２６０にイベント「搬送完了」を転送する。このとき、通信制御モジュール２１０には、「搬入完了」を示すイベント識別子ＣＥＩＤにポート番号のみが付随して転送される。
【００７１】
通信制御モジュール２１０は、装置制御モジュール２２０からイベント識別子ＣＥＩＤとして４００３およびポート番号を受け取ると、そのイベント識別子ＣＥＩＤに基づいてイベントリストＥＬをサーチし、イベント名として「搬入完了」を検出し、レポート識別子ＲＰＴＩＤとして００００および０１００を検出する。次に、レポート識別子ＲＰＴＩＤに基づいてレポートリストＲＬをサーチし、レポート名として「クロック」を検出し、変数識別子ＶＩＤとして００００を検出し、さらにレポート名として「材料情報」を検出し、変数識別子ＶＩＤとして２４００、２４０９および２５０７を検出する。次に、変数識別子ＶＩＤに基づいて変数リストＶＬをサーチし、変数名として「クロック」、「ポートＩＤ」、「ロットＩＤ」および「ウエハ情報」を検出するとともに取得処理として「Get ＿Clock( )」、「Get ＿PortID( ) 」、「Get ＿LotID( )」および「Get ＿WaferInf( ) 」を検出する。
【００７２】
このようにして、イベント名「搬送完了」に対して変数名「クロック」、「ポートＩＤ」、「ロットＩＤ」および「ウエハ情報」が関連付けられるとともに、各変数名に対応する取得処理が選択される。
【００７３】
通信制御モジュール２１０は、イベントに付随するポート番号を引数として選択された取得処理を実行する。各取得処理では、データベース２４０の装置情報ＵＩの「クロック」の値を読み出すとともに、ポート番号に基づいて該当するポート情報ＰＩの「ポートＩＤ」、「ロットＩＤ」および「ウエハ情報」の値をそれぞれ読み出す。
【００７４】
その後、通信制御モジュール２１０は、イベント「搬入完了」に変数の現在値として読み出した「クロック」、「ポートＩＤ」、「ロットＩＤ」および「ウエハ情報」の値を設定し、メッセージとしてホストコンピュータ３０に送信する。
【００７５】
ユーザインタフェース２６０も、通信制御モジュール２１０と同様のイベントリストＥＬ、レポートリストＲＬおよび変数リストＶＬを保有している。ユーザインターフェース２６０は、装置制御モジュール２２０からイベント識別子ＣＥＩＤとして４００３を受け取ると、通信制御モジュール２１０と同様にイベント識別子ＣＥＩＤに基づいてイベントリストＥＬ、レポートリストＲＬおよび変数リストＶＬをサーチし、変数名および取得処理を検出し、検出した取得処理を実行することによりデータベース２４０から該当する変数の値を読み出し、イベント名および変数の現在値をメインパネル４０に表示させる。
【００７６】
なお、ユーザインタフェース２６０は、通信制御モジュール２１０が保有するイベントリストＥＬ、リポートリストＲＬおよび変数リストＶＬを利用してもよい。
【００７７】
通信制御モジュール２１０とホストコンピュータ３０との間の通信において例えば変数として「カセットＩＤ」を追加する必要が生じた場合には、レポートリストＲＬおよび変数リストＶＬに変数識別子ＶＩＤを追加するとともに、変数リストＶＬに変数名および取得処理を追加する。
【００７８】
図７の例では、レポートリストＲＬのレポート名「材料情報」に変数識別子ＶＩＤとして２４０８を追加し、変数リストＶＬに変数識別子ＶＩＤとして２４０８を追加するとともに、変数名として「カセットＩＤ」を追加し、さらに取得処理として「Get ＿CassetID ( )」を追加する。
【００７９】
この場合、装置制御モジュール２２０から通信制御モジュール２１０およびユーザインタフェース２６０に対するイベントの転送のフォーマットを変更する必要はない。
【００８０】
また、通信制御モジュール２１０とホストコンピュータ３０との間の通信において例えば「ウエハ情報」の内容を変更する必要が生じた場合には、変数リストＶＬの取得処理「Get ＿WaferInf」の内容を変更するか、または変数リストＶＬの取得処理「Get ＿WaferInf」を別の取得処理と差し替える。
【００８１】
図８の例では、レポートリストＲＬの変数識別子ＶＩＤの２５０７を２５０８に変更し、変数リストＶＬの変数識別子ＶＩＤの２５０７を２５０８に変更するとともに、取得処理「Get ＿WaferInf( ) 」を取得処理「Get ＿WaferOpt( ) 」に差し替えている。ここで、取得処理「Get ＿WaferInf( ) 」は、カセット１１１内の第１段目のスロットから第２５段目のスロットまで順に基板Ｗの有無を示すウエハ情報を変数の値として取得する処理であり、取得処理「Get ＿WaferOpt( ) 」はカセット１１１内の第２５段目のスロットから第１段目のスロットまで順に基板Ｗの有無を示すウエハ情報を変数の値として取得する処理である。
【００８２】
この場合にも、装置制御モジュール２２０から通信制御モジュール２１０およびユーザインタフェース２６０に対するイベントの転送のフォーマットを変更する必要はない。
【００８３】
なお、ホストコンピュータ３０へのイベントの送信およびメインパネル４０でのイベントの表示に限らず、ホストコンピュータ３０からの指令またはメインパネル４０の操作により装置定数を更新する際にも、変数リストＶＬに更新処理を定義し、引数として更新値を設定することにより、装置制御モジュール２２０と通信制御モジュール２１０およびユーザインタフェース２６０との間の転送のフォーマットを変更することなく、装置定数を更新することができる。
【００８４】
本実施例の基板処理装置においては、通信制御モジュール２１０からホストコンピュータ３０へ送信される変数の種類の追加および変数の内容の変更を装置制御モジュール２２０と通信制御モジュール２１０との間の転送方法に影響を与えることなく容易に行うことができる。
【００８５】
また、通信制御モジュール２１０からホストコンピュータ３０に送信される変数の種類の追加および変数の内容の変更を行った場合でも、装置制御モジュール２２０とユーザインタフェース２６０との間の転送方法を変更する必要がない。
【００８６】
したがって、ＧＥＭ規格で規定される動的イベントレポート機能が有するカスタマイズ効果に加えて、さらに細部にわたってメインコントローラ２０の通信機能に柔軟性を付与することが可能となる。
【００８７】
上記実施例では、通信制御プログラムが記録される記録媒体としてハードディスク装置等の二次記憶装置２５０が用いられているが、通信制御プログラムをフロッピィディスク、ＣＤＲＯＭ、光ディスク、半導体メモリ等の他の記録媒体に記録してもよい。
【図面の簡単な説明】
【図１】本発明の一実施例における基板処理装置の平面図である。
【図２】図１の基板処理装置の正面図である。
【図３】図１の基板処理装置の制御系の構成を示すブロック図である。
【図４】図３の基板処理装置のメインコントローラの構成を示すブロック図である。
【図５】図４のデータベースの構造の一例を示す図である。
【図６】図４の通信制御モジュールによる動的イベントレポート機能の実現方法を示す図である。
【図７】図４の通信制御モジュールによる動的イベントレポート機能の実現方法を示す図である。
【図８】図４の通信制御モジュールによる動的イベントレポート機能の実現方法を示す図である。
【図９】従来のメインコントローラの構成の一例を示す図である。
【図１０】従来の動的イベントレポート機能を実現するための方法を示す図である。
【符号の説明】
１  基板処理装置
１１  インデクサユニット
１２  搬送ユニット
１３  薬液温調ユニット
１４  回転処理ユニット
１５  ベークユニット
２０  メインコントローラ
２１〜２５  スレーブコントローラ
３０  ホストコンピュータ
４０  メインパネル
１１０  カセット載置台
１１１  カセット
２００，２０１  通信ライン
２１０  通信制御モジュール
２２０  装置制御モジュール
２３０  データベース管理ソフトウェア
２４０  データベース
２５０  二次記憶装置
２６０  ユーザインタフェース
ＵＩ  装置情報
ＰＩ  ポート情報
【図１】
0003945933.tif 000002
【図２】
0003945933.tif 000003
【図３】
0003945933.tif 000004
【図４】
0003945933.tif 000005
【図５】
0003945933.tif 000006
【図６】
0003945933.tif 000007
【図７】
0003945933.tif 000008
【図８】
0003945933.tif 000009
【図９】
0003945933.tif 000010
【図１０】
0003945933.tif 000011