(57)【要約】【課題】コストを抑制しつつ、基板処理装置のソフトウェアの品質を向上させる。【解決手段】基板処理装置の実装処理ユニットの動作を模擬するユニット模擬部２１１と、操作部２３から得られる試験に関する指示情報に基づいてユニット模擬部２１１を制御する表示制御部２１３と、試験情報２２４を生成する情報生成部２１４とを設ける。試験を開始する前に、予め情報生成部２１４によってシミュレートのシナリオ（試験条件）としての試験情報２２４を作成する。すなわち、試験においてオペレータが指示すべき情報を予め試験情報２２４として生成する。試験が開始されると、表示制御部２１３は、予め作成された試験情報２２４を参照することにより、試験情報２２４に記述されている内容の指示情報があったものとして、ユニット模擬部２１１を制御する。【選択図】図１０
2008090394.tif 000002
【特許請求の範囲】
【請求項１】
基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、
オペレータによる指示情報を受け付ける操作部と、
前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、
前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部と、
を備えることを特徴とするシミュレータ。
【請求項２】
基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、
前記ソフトウェアが動作することにより前記基板処理装置の制御ユニットの機能を有するコンピュータと、
前記コンピュータに接続されるシミュレータと、
を備え、
前記シミュレータは、
オペレータによる指示情報を受け付ける操作部と、
前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、
前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部と、
を備えることを特徴とするシミュレーションシステム。
【請求項３】
基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、
前記基板処理装置の制御ユニットと、
前記制御ユニットに接続されるシミュレータと、
を備え、
前記シミュレータは、
オペレータによる指示情報を受け付ける操作部と、
前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、
前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部と、
を備えることを特徴とするシミュレーションシステム。
【請求項４】
コンピュータ読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、
オペレータによる指示情報を受け付ける操作部と、
前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、
前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部と、
を備えるシミュレータとして機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基板処理装置のソフトウェアを試験する技術に関する。
【背景技術】
【０００２】
基板の製造工程においては、制御ユニットと複数の実装処理ユニットとを備えた基板処理装置が用いられる。
【０００３】
図３１は、基板処理装置１００の構成を示す図である。基板処理装置１００は、制御ユニット１０１、インタフェースユニット１０２、操作ユニット１０３および複数の実装処理ユニット１０４を備える。
【０００４】
制御ユニット１０１は、ネットワーク９を介してインタフェースユニット１０２と接続され、詳細は説明しないが一般的なパーソナルコンピュータを構成するハードウェアを備えている。制御ユニット１０１は、専用のソフトウェア（プログラムや設定ファイル等）に従って動作し、ネットワーク９およびインタフェースユニット１０２を介して、複数の実装処理ユニット１０４を制御する。
【０００５】
インタフェースユニット１０２は、実装処理ユニット１０４をネットワーク９に接続する機能を有する。これにより、実装処理ユニット１０４におけるデータ通信が個々に異なるプロトコルであったり、あるいは直接ネットワーク９に接続できないプロトコルであっても、制御ユニット１０１との間でデータの送受信を行うことができる。
【０００６】
操作ユニット１０３は、インタフェースユニット１０２に接続され、オペレータが基板処理装置１００を操作するのに必要な指示を入力するために使用される。操作ユニット１０３をインタフェースユニット１０２に接続するための端子（コネクタ）は、一般には実装処理ユニット１０４の位置に設けられている。
【０００７】
個々の実装処理ユニット１０４は基板に対してぞれぞれが所定の処理（例えば、搬送処理、洗浄処理、塗布処理、検査処理、露光処理および現像処理等）を実行する。実装処理ユニット１０４は、複数の処理ユニットからユーザの要望等に基づいて選択されて、基板処理装置１００に搭載される。
【０００８】
このように、基板処理装置１００は、複数の実装処理ユニット１０４を備え、制御ユニット１０１の制御によって、これら複数の実装処理ユニット１０４が基板に対してそれぞれ決められた処理を行うことにより、基板に対する一連の処理が実行される。
【０００９】
基板に対して実行すべき処理は、基板の製造段階や製造する基板の種類等に応じて異なる。したがって、基板処理装置１００に要求される実装処理ユニット１０４の数および種類は状況に応じて様々に変化する。すなわち、実装処理ユニット１０４の数および種類に応じてハードウェア構成の異なる様々なバリエーションの基板処理装置１００が存在することとなる。そして、基板処理装置１００のハードウェア構成が異なれば、制御ユニット１０１の制御対象が異なるので、それに応じて制御ユニット１０１のソフトウェアを開発する必要がある。
【００１０】
基板処理装置１００に限らずソフトウェアを開発する場合のデバッグは、当該ソフトウェアが動作するハードウェアをデバッグ機として準備して行うことが好ましい。しかし、基板処理装置１００の個々の実装処理ユニット１０４は、比較的大型かつ高価な装置であるため、様々なバリエーションの基板処理装置１００を随時デバッグ機として準備することは事実上不可能である。
【００１１】
そこで従来より、基本構成の基板処理装置１００をデバッグ機として組み立て、これを用いて個々に開発したソフトウェアのデバッグを行っていた。
【００１２】
【特許文献１】特開２００３−３４５６２４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ところが、従来のデバッグにおいて使用される基本構成の基板処理装置１００といえども大型かつ高価であるため、充分な台数を確保することがスペースおよびコストの両面において困難であり、試験が充分に行えないという問題があった。また、ソフトウェアが動作するハードウェア構成と、デバッグ機のハードウェア構成とが必ずしも一致しないために、ソフトウェアの試験内容が限定されるという問題があった。
【００１４】
すなわち、従来の技術では、基板処理装置の開発環境が充分でないために、基板処理装置（ソフトウェア）の試験が不充分となり、品質が低下するという問題があった。
【００１５】
本発明は、上記課題に鑑みなされたものであり、コストを抑制しつつ、基板処理装置のソフトウェアの品質を向上させることを目的とする。
【課題を解決するための手段】
【００１６】
上記の課題を解決するため、請求項１の発明は、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、オペレータによる指示情報を受け付ける操作部と、前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部とを備えることを特徴とする。
【００１７】
また、請求項２の発明は、基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、前記ソフトウェアが動作することにより前記基板処理装置の制御ユニットの機能を有するコンピュータと、前記コンピュータに接続されるシミュレータとを備え、前記シミュレータは、オペレータによる指示情報を受け付ける操作部と、前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部とを備えることを特徴とする。
【００１８】
また、請求項３の発明は、基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、前記基板処理装置の制御ユニットと、前記制御ユニットに接続されるシミュレータとを備え、前記シミュレータは、オペレータによる指示情報を受け付ける操作部と、前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部とを備えることを特徴とする。
【００１９】
また、請求項４の発明は、コンピュータ読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、オペレータによる指示情報を受け付ける操作部と、前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部とを備えるシミュレータとして機能させることを特徴とする。
【発明の効果】
【００２０】
請求項１ないし４に記載の発明では、基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成し、生成された試験情報に応じて、ユニット模擬部を制御することにより、オペレータの負担を増大させることなく、試験の品質を向上できる。したがって、コストを抑制しつつ、ソフトウェアの品質を向上できる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
【００２２】
＜１．  第１の実施の形態＞
図１は、本発明に係るシミュレーションシステム１と情報処理装置６とを示す図である。
【００２３】
基板処理装置には、実装可能な複数の処理ユニットが製品のラインナップとして準備されており、これらのうちからユーザの要望等に応じて必要な処理ユニットが選択されて、組み合わされる。すなわち、基板処理装置は、複数の処理ユニットの組合せで構成され、カスタマイズによって様々なバリエーションが存在する。
【００２４】
以下の説明では、便宜上、シミュレーションシステム１のシミュレートの対象となる基板処理装置として図３１に示す基板処理装置１００を例に説明する。すなわち、シミュレーションシステム１は、基板処理装置１００のために開発されたソフトウェアを試験（デバッグ）するシステムとして説明する。
【００２５】
なお、実装処理ユニット１０４は基板に何らかの処理を行うユニットであって、具体的には、洗浄ユニット、搬送ユニット、乾燥ユニット、加熱ユニット、冷却ユニット、塗布ユニット、現像ユニット、検査ユニット、除去（剥離）ユニット等が相当する。ただし、実装処理ユニット１０４はこれらに限定されるものではなく、直接的に基板に対する処理を行わない液供給ユニットのようなユニットも含む。
【００２６】
また、実装処理ユニット１０４は、複数のハードウェアを有するものに限定されるものではなく、制御可能で、かつ所定の動作を行うハードウェアであれば、個々のランプやセンサ、ブザー、モータ等の単体のハードウェアであってもよい。ただし、説明の都合上、「実装処理ユニット」には、「制御ユニット」、「インタフェースユニット」および「操作ユニット」は含まないものとする。
【００２７】
シミュレーションシステム１は、シミュレータ１０と、コンピュータ４０と、操作ユニット５０とを備える。シミュレーションシステム１において、シミュレータ１０とコンピュータ４０とは、ネットワーク９を介して接続される。また、シミュレーションシステム１（主にシミュレータ１０のユニット模擬装置２０）は、情報処理装置６との間で、記憶媒体９０を介してデータのやりとりを行う。ただし、データのやりとりは、これに限られるものではなく、例えば、シミュレーションシステム１と情報処理装置６とをネットワークで接続し、通信によってデータのやりとりを行ってもよい。
【００２８】
ネットワーク９は、一般的なコンピュータを相互に接続するネットワークである。本実施の形態では、ネットワーク９として、図３１に示す基板処理装置１００において、制御ユニット１０１とインタフェースユニット１０２との間で採用されるネットワークを採用する。
【００２９】
シミュレータ１０は、ユニット模擬装置２０およびインタフェース模擬装置３０を備え、ユニット模擬装置２０とインタフェース模擬装置３０とはネットワーク９を介して接続される。
【００３０】
図２は、ユニット模擬装置２０の構成を示す図である。
【００３１】
図２に示す定義リスト２２１は、様々なパラメータや定義式、設定等の情報を含む情報の集合体である。定義リスト２２１は、主に本発明における定義情報に相当する。定義リスト２２１には、基板処理装置１００に搭載される実装処理ユニット１０４の模擬動作を定義する情報（振る舞い定義ファイル）や、入力情報のデフォルト値を定義する情報（デフォルト定義ファイル）等が含まれる。
【００３２】
図３は、定義リスト２２１を生成する情報処理装置６の構成を示す図である。
【００３３】
情報処理装置６は、ＣＰＵ６１、記憶装置６２、操作部６３、表示部６４およびディスク装置６５を備え、一般的なパーソナルコンピュータとしての機能を有している。
【００３４】
ＣＰＵ６１は、プログラム６２０に従って動作することにより、情報処理装置６の各構成を制御する。
【００３５】
図４は、情報処理装置６の機能ブロックを示す図である。図４に示す情報生成部６１０および誤り検出部６１１が、主にＣＰＵ６１がプログラム６２０に従って動作することにより実現される機能ブロックである。
【００３６】
情報生成部６１０は、記憶装置６２に記憶された設定ファイル４２１および基礎ファイル６２１に基づいて、基板処理装置１００を構成する実装処理ユニット１０４の動作を模擬するシミュレータ１０のための定義リスト２２１を生成する。すなわち、設定ファイル４２１および基礎ファイル６２１が、主に本発明における基礎情報に相当する。
【００３７】
なお、設定ファイル４２１とは、基板処理装置１００に搭載される実装処理ユニット１０４に応じて生成される情報であり、基板処理装置１００を動作させるために必要な情報である。すなわち、設定ファイル４２１は、基板処理装置１００のソフトウェアの一部であり、基板処理装置１００にインストールされる。
【００３８】
また、基礎ファイル６２１とは、複数のファイルの集合体であって、処理ユニットの仕様書（あるいは設計書）とも言える情報を含む。すなわち、基礎ファイル６２１は、すべての処理ユニットについて、個々の処理ユニットを設計・開発する段階で、オペレータ（開発担当）によって予め作成される。
【００３９】
図５は、基礎ファイル６２１に含まれるアドレス基礎ファイル６２２を例示する図である。アドレス基礎ファイル６２２には、各シンボルに対して「振る舞い定義式」と呼ばれる模擬動作を定義する式が個々に関連付けられている。
【００４０】
また、図６は、基礎ファイル６２１に含まれる温調器基礎ファイル６２３を例示する図である。さらに、図７は、基礎ファイル６２１に含まれる干渉判定基礎ファイル６２４を例示する図である。
【００４１】
誤り検出部６１１は、情報生成部６１０によって生成された定義リスト２２１の誤り（エラー）を検出する。誤り検出部６１１は、定義リスト２２１に誤りを検出した場合には、図示しないエラーログを生成する。なお、エラーログとは、エラーを記録した履歴ファイルであって、エラーが発生したファイル名やエラーの内容等が記録される。
【００４２】
記憶装置６２は、図示しないＲＯＭ、ＲＡＭおよびハードディスク等から構成され、プログラム６２０や各種データを記憶する。特に、記憶装置６２は、ディスク装置６５によって取得された設定ファイル４２１および基礎ファイル６２１を記憶する。また、情報生成部６１０により生成された定義リスト２２１も、一旦、記憶装置６２に記憶される。
【００４３】
操作部６３はキーボードやマウス等から構成され、オペレータが情報処理装置６に必要な情報を入力するために使用する。
【００４４】
表示部６４は、例えば一般的なディスプレイ装置であって、ＣＰＵ６１からの指示に従って、各種データを画面に表示する。
【００４５】
本実施の形態における情報処理装置６では、ディスク装置６５が記憶媒体９０に記憶されている設定ファイル４２１および基礎ファイル６２１を読み取ることにより、基板処理装置１００の構成を規定する基礎情報を取得する。すなわち、ディスク装置６５は、本発明における情報取得手段に相当する。
【００４６】
また、ディスク装置６５は、情報生成部６１０により生成された定義リスト２２１を記憶媒体９０に書き込む（出力する）機能を有しており、出力された定義リスト２２１は、シミュレータ１０（ディスク装置２５：図２）によって読み取られる。すなわち、ディスク装置６５は、本発明における出力手段にも相当する。
【００４７】
なお、基礎情報の取得、あるいは定義情報の出力は、記憶媒体９０を介する手法に限定されない。例えば、設定ファイル４２１および基礎ファイル６２１を作成する端末装置と、情報処理装置６とをネットワークで接続し、ダウンロードすることにより取得してもよい。また、情報処理装置６をネットワーク９に接続して、情報処理装置６が定義リスト２２１をシミュレータ１０に送信してもよい。さらに、これらの手法を併用することも可能である。
【００４８】
図８および図９は、情報処理装置６が定義リスト２２１を作成する動作を示す流れ図である。
【００４９】
定義リスト２２１を作成する処理が開始されると、情報生成部６１０は、まず、設定ファイル４２１を参照して（ステップＳ１１）、基板処理装置１００の実装処理ユニット１０４を判定する。本実施の形態では、設定ファイル４２１に含まれるファイル名に基づいて、基板処理装置１００を構成する実装処理ユニット１０４を判定する。ただし、設定ファイル４２１に、例えば、実装処理ユニット１０４の識別子（型式番号等）を格納したファイルを含めるようにして判定してもよい。
【００５０】
基板処理装置１００を構成する実装処理ユニット１０４が判明すると、情報生成部６１０は、これに応じて定義リスト２２１を作成するために必要な基礎ファイル名を取得する（ステップＳ１２）。これにより、基礎ファイル６２１に含まれる複数のファイルの中から参照されるファイルが確定する。すなわち、情報生成部６１０は、設定ファイル４２１を参照することにより、基礎ファイル６２１の中から定義リスト２２１を作成するために必要なファイル（情報）を特定する。
【００５１】
次に、実装処理ユニット１０４に応じて必要な定義ファイルを作成することにより、定義リスト２２１を生成する（ステップＳ１３）。ただし、この時点では、定義リスト２２１を構成する複数の定義ファイルが作成されるだけであり、必要な情報は未だ個々の定義ファイルに格納されない。
【００５２】
必要な定義ファイルを作成すると、情報生成部６１０は、ステップＳ１２で取得した基礎ファイル名に基づいて、そのうちから参照する基礎ファイルを１つ特定する（ステップＳ１４）。さらに、特定した基礎ファイルを開いて、定義リスト２２１に必要な情報を抽出し（ステップＳ１５）、定義リスト２２１の必要な定義ファイルに所定の形式で出力する（ステップＳ１６）。さらに、ステップＳ１５，Ｓ１６の処理を、基礎ファイルの最後まで繰り返す（ステップＳ１７）。
【００５３】
本実施の形態におけるステップＳ１４ないしＳ１７の処理を、図５に示すアドレス基礎ファイル６２２を例に説明する。
【００５４】
まず、ステップＳ１４においてアドレス基礎ファイル６２２を特定すると、情報生成部６１０は、アドレス基礎ファイル６２２を開いて、各レコードに格納されている情報をシンボルごとに順次取得する。
【００５５】
図５に示す例では、一つ目には、デフォルト値「１」が格納されているので、定義リスト２２１に含まれるデフォルト定義ファイルに、例えば、「CHB/InLevelLeakageDetection,1」のように出力する。また、一つ目のレコードは最終レコードではなく、未だアドレス基礎ファイル６２２に含まれる全レコードについて処理を終了していないので、ステップＳ１７においてＮｏと判定し、ステップＳ１５に戻る。
【００５６】
次に、二つ目のレコードには、振る舞い定義式、デフォルト値およびアナログ値のいずれにおいても「−」が格納されているので、定義リスト２２１に必要のない情報とみなして、当該レコードに格納されている情報は抽出しない。
【００５７】
さらに、三つ目のレコードには、振る舞い定義式に「$Level>=4」と格納されているので、定義リスト２２１に含まれる振る舞い定義ファイルに、例えば、「InLevelFixedDetection,$Level>=4,"定量ＯＦＦ"」のように出力する。
【００５８】
このようにして処理を繰り返すことにより、アドレス基礎ファイル６２２の全レコード（全シンボル）について処理が終了すると、情報生成部６１０は、ステップＳ１７においてＹｅｓと判定する。すなわち、ステップＳ１７においてＹｅｓと判定されるごとに、１つの基礎ファイルについての処理が終了する。
【００５９】
なお、温調器基礎ファイル６２３および干渉判定基礎ファイル６２４についても、同様に、各レコードごとに所定の書式で定義リスト２２１に出力される。
【００６０】
次に、誤り検出部６１１は、ステップＳ１４において特定した基礎ファイル（ステップＳ１７において処理が終了した基礎ファイル）から振る舞い定義ファイルが作成されている場合、当該振る舞い定義ファイルにおいて、定義式の異なる同一のシンボルが複数あるか否かを判定する（ステップＳ２１）。
【００６１】
複数の同一のシンボルにおいて、定義式が異なっていた場合、シミュレータ１０は、当該シンボルにおいて、どのように模擬動作を実行すればよいか決定できない。したがって、この場合（ステップＳ２１においてＹｅｓと判定した場合）は、誤り検出部６１１は、エラーログを出力し（ステップＳ２２）、情報処理装置６は処理を継続する。
【００６２】
このように、定義リスト２２１にエラーが発生した場合であっても、一旦処理を継続することにより、必要な定義リスト２２１をひとまず完成できる。すなわち、１つのエラーのために、他のファイルの作成が阻害されることが防止できる。なお、エラーログが生成された場合、後に、オペレータがその内容を確認し、エディタ等を用いて手動で定義リスト２２１を修正する。
【００６３】
一方、ステップＳ２１においてＮｏと判定した場合、誤り検出部６１１は、エラーログを出力せず、情報処理装置６は、ステップＳ２２をスキップして処理を継続する。なお、複数の同一のシンボルについて定義式が存在したとしても、それらの定義式が同一である場合には、誤り検出部６１１がその一方をファイルから消去し、情報処理装置６は、ステップＳ２２をスキップする。
【００６４】
次に、誤り検出部６１１は、作成された定義リスト２２１のデータチェックにおいて不整合があるか否かを判定する（ステップＳ２３）。不整合の具体例としては、例えば、同一のシンボルについて異なるデフォルト値が設定されている場合や、設定ファイル４２１と基礎ファイル６２１が矛盾する場合、あるいは、振る舞い定義式の「ＡＮＤ」や「ＯＲ」等の演算子で複数のシンボルが定義されており、その中に基板処理装置１００に存在しないシンボル（搭載されていない処理ユニットに関するシンボル）が使用されている場合等である。
【００６５】
ステップＳ２３において、不整合がない場合、情報処理装置６はステップＳ２４ないしＳ２６をスキップする。
【００６６】
一方、ステップＳ２３において、不整合があった場合、誤り検出部６１１は、さらにその不整合が修正可能か否かを判定する（ステップＳ２４）。そして、修正可能であった場合は、誤り検出部６１１が定義リスト２２１の不整合箇所を修正する（ステップＳ２５）。例えば、作成した振る舞い定義ファイルの振る舞い定義式において、「InDiwPress,"OR(OutInDIWValve,OutOutDIWValve) ? 1140:0","純水圧力"」と定義されている場合において、OutInDIWValveは定義されているが、OutOutDIWValveについては定義がない場合、誤り検出部６１１は、定義リスト２２１の定義式を「InDiwPress,"OutInDIWValve ? 1140:0","純水圧力"」のように修正する。なお、修正可能でない不整合が発生している場合（ステップＳ２４においてＮｏ）、誤り検出部６１１は、ステップＳ２６を実行することにより、ステップＳ２２と同様にエラーログを出力する。
【００６７】
次に、情報生成部６１０は、ステップＳ１２において取得した基礎ファイル名に基づいて、全ての基礎ファイル６２１について処理を終了したか否かを判定し（ステップＳ２７）、まだ未処理の基礎ファイル６２１が残っている場合はステップＳ１４に戻って処理を繰り返す。
【００６８】
一方、全ての基礎ファイル６２１について処理を終了した場合、情報処理装置６は、表示部６４に終了メッセージを表示して（ステップＳ２８）、処理を終了する。
【００６９】
以上のようにして、情報処理装置６は、基板処理装置１００を設計する際に生成される基礎情報（設定ファイル４２１および基礎ファイル６２１）に基づいて、定義リスト２２１を予め作成する。ユーザの要望に応じて、基板処理装置１００が設計されると（ハードウェア構成が決定されると）、それに応じて情報処理装置６が定義リスト２２１を作成する。
【００７０】
基板処理装置１００は、非常に多くのハードウェア（デバイス）を搭載しているため、定義リスト２２１において定義すべき情報は非常に多量である。例えば、オペレータが２４０〜３００時間程度かかって作成する定義リスト２２１を、情報処理装置６によって作成すると０．５時間程度で作成できる。すなわち、基板処理装置１００のソフトウェアのデバッグ効率を大幅に向上できる。
【００７１】
なお、定義リスト２２１を作成するためには、設定ファイル４２１および基礎ファイル６２１を作成する必要がある。しかし、設定ファイル４２１は製品であるため、基板処理装置１００を製造する限り、必ず作成しなければならない情報であり、定義リスト２２１のために作成するものではない（すなわち、工数は増加しない）。また、基礎ファイル６２１は、１回作成すれば、どのような構成の基板処理装置１００にも適用可能な情報である。したがって、基板処理装置１００ごとに定義リスト２２１をオペレータが作成することに比べれば、基礎ファイル６２１を一度作成する方がオペレータの負担は軽減される。
【００７２】
オペレータは、基板処理装置１００のソフトウェアのデバッグ作業に先立って、情報処理装置６によって生成された定義リスト２２１を、ディスク装置６５に装着した記憶媒体９０に記憶させる。さらに、オペレータは、定義リスト２２１を記憶した記憶媒体９０を、シミュレータ１０のディスク装置２５に読み込ませて、記憶装置２２に記憶させる。
【００７３】
図２に戻って、ユニット模擬装置２０は、ＣＰＵ２１、記憶装置２２、操作部２３、表示部２４、ディスク装置２５および通信部２６を備え、一般的なパーソナルコンピュータとしての機能を有している。
【００７４】
ＣＰＵ２１は、記憶装置２２に記憶されているプログラム２２０に従って動作するとともに、必要に応じて定義リスト２２１を参照することにより、ユニット模擬装置２０の各構成を制御する。
【００７５】
図１０は、ユニット模擬装置２０の機能ブロックを示す図である。図１０に示すデータ転送部２１０、ユニット模擬部２１１、表示制御部２１３および情報生成部２１４は、主にＣＰＵ２１がプログラム２２０に従って動作することにより実現される機能ブロックである。
【００７６】
データ転送部２１０は、通信部２６がインタフェース模擬装置３０から受信した情報を入力情報２２２として記憶装置２２に転送する。また、データ転送部２１０は、出力情報２２３のうち、コンピュータ４０（あるいは操作ユニット５０）に送信すべき情報を通信部２６に伝達してインタフェース模擬装置３０に向けて送信させる。
【００７７】
ユニット模擬部２１１は、複数のデバイス模擬部２１２（第１模擬部２１２ａ、第２模擬部２１２ｂ、・・・、第ｎ模擬部２１２ｎ（ｎは自然数））を備えている。ユニット模擬部２１１は、基板処理装置１００に搭載されている複数のデバイスを、１つずつ第１模擬部２１２ａ、第２模擬部２１２ｂ、・・・、第ｎ模擬部２１２ｎのいずれかに割り当てる。
【００７８】
詳細は後述するが、デバイスを割り当てられたデバイス模擬部２１２は、それぞれが割り当てられたデバイスの動作を個々に模擬する。
【００７９】
ここで、実装処理ユニット１０４を構成しないデバイス（基板処理装置１００に搭載されないデバイス）は、定義リスト２２１に模擬動作が定義されることはない。逆に言えば、定義リスト２２１において、模擬動作が定義されているデバイスは、有効なハードウェア（基板処理装置１００に搭載されるデバイス）を示しており、ユニット模擬装置２０はこれを模擬する必要がある。
【００８０】
したがって、ユニット模擬部２１１は、定義リスト２２１を参照することにより、デバイス模擬部２１２に割り当てることが必要なデバイスを判断する。
【００８１】
図１１は、定義リスト２２１において模擬動作を定義する例を示す図である。本実施の形態におけるシミュレータ１０では、デバイス（ハードウェア）ごとにＣＳＶ形式で模擬動作を定義することにより予め定義リスト２２１を作成し記憶しておく。図１１に示す例は、「バルブ開出力」がＯＮにされると、１ｓｅｃ後に「バルブ開確認入力」をＯＮにするという「純水回収バルブ」の模擬動作を定義している。
【００８２】
これを参照することにより、ユニット模擬部２１１は、「純水回収バルブ」を、例えば第１模擬部２１２ａに割り当てる。また、同じデバイスであっても、模擬動作は複数定義される（例えばバルブ開動作とバルブ閉動作）。したがって、ユニット模擬部２１１は、同一のデバイスが重複した場合は、新たに割り当ては行わない。
【００８３】
より詳しくは、ユニット模擬部２１１は、予め第１模擬部２１２ａ、第２模擬部２１２ｂ、・・・、第ｎ模擬部２１２ｎを備えているのではなく、定義リスト２２１を参照することにより、新たに割り当てが必要なデバイスを発見したときに、新たなデバイス模擬部２１２を生成して、これに当該デバイスを割り当てる。
【００８４】
このように、記憶装置２２に定義リスト２２１が予め記憶されているので、ユニット模擬部２１１は、シミュレーションの対象となる基板処理装置１００に搭載されるすべてのデバイス（模擬する必要があるデバイス）を、デバイス模擬部２１２に割り当てることができる。
【００８５】
処理ユニットは、通常、１つ以上のデバイスから構成される。そして、この処理ユニットが、実装処理ユニット１０４として基板処理装置１００に搭載されると、処理ユニットを構成するすべてのデバイスは基板処理装置１００に搭載されることとなる。したがって、基板処理装置１００に搭載されるすべてのデバイスをデバイス模擬部２１２に割り当てて、各デバイス模擬部２１２がそれらの動作を模擬することによって、ユニット模擬部２１１は、すべての実装処理ユニット１０４の動作を模擬する。
【００８６】
表示制御部２１３は、シミュレーションの状況を表示させる機能およびシミュレーションシステム１におけるＧＵＩを提供する機能を有する機能ブロックである。
【００８７】
シミュレーションの状況を表示させる機能として、例えば、表示制御部２１３は、デバイスが割り当てられたデバイス模擬部２１２に対して、所定の表示領域を割り当てる。そして、ユニット模擬部２１１からこれらデバイス模擬部２１２の状況に関する情報を取得して、表示部２４に表示させる。このとき、デバイス模擬部２１２の状況を文字情報として表示するだけでなく、デバイス模擬部２１２に対応するデバイスの特性に応じて、その表示形式を変えることも可能である。
【００８８】
例えば、デバイス模擬部２１２によって模擬するデバイスが「ランプ」である場合、このランプを模擬的に表した画像を表示領域に表示させ、これを擬似的に点滅させることによってデバイス模擬部２１２の状況を表示させる。すなわち、デバイスが何らかの表示デバイスである場合、表示部２４にその表示を模擬させる。
【００８９】
これにより、オペレータは、より実機に近い状態で、シミュレーションの状況をモニタリングできる。なお、表示部２４によって模擬されるハードウェア（デバイス）としては、「ランプ」だけに限られるものではなく、例えば、「ゲージ」や「メータ」「パネル」等であってもよい。
【００９０】
また、表示制御部２１３は、操作部２３からオペレータの指示情報を受け取り、表示部２４の表示（表示領域）を切り替える。これにより、オペレータは注目しているデバイス（実装処理ユニット１０４）についての状況を容易に確認できる。なお、表示部２４に表示される情報（表示領域）は同時に表示されてもよい。
【００９１】
表示制御部２１３のＧＵＩ提供機能としては、表示部２４にＧＵＩ画面を表示させるとともに、ＧＵＩに従ってオペレータによって入力された指示情報を操作部２３から受け取り、主にユニット模擬部２１１に伝達する。このようにして入力される指示情報として、例えば定義リスト２２１に定義されている内容を変更する情報がある。例えば、このような指示情報の入力があった場合は、入力された情報を定義リスト２２１に定義されている情報に優先するように伝達することにより、シミュレータ１０は、試験内容（シミュレート条件）を変更できる。
【００９２】
具体例を挙げると、液漏れ検出センサの動作（出力）は、液漏れのない状態を想定して、デフォルト値として「ＯＦＦ」がデフォルト定義ファイル（定義リスト２２１）に設定されている。しかし、このデフォルト値をオペレータが「ＯＮ」に変更することにより、液漏れが発生している状態を擬似的に作り出して試験を行うことができる。
【００９３】
このように、表示制御部２１３がシミュレータ１０のＧＵＩ機能を提供し、操作部２３からの指示情報に従って、ユニット模擬部２１１を制御する機能を有しているため、オペレータは任意の条件で試験を行うことができる。
【００９４】
さらに、表示制御部２１３は、情報生成部２１４により生成された試験情報２２４に応じて、オペレータからの指示情報が入力された場合と同様に、ユニット模擬部２１１を制御する。すなわち、表示制御部２１３は、主に本発明の試験制御部に相当する。
【００９５】
情報生成部２１４は、操作部２３が受け付けた指示情報に基づいて、基板処理装置１００のソフトウェアに対する試験内容を規定する試験情報２２４を予め生成する。
【００９６】
図２に戻って、記憶装置２２は、図示しないＲＯＭ、ＲＡＭおよびハードディスク等から構成され、各種データを適宜記憶する。特に、本実施の形態における記憶装置２２は、プログラム２２０、定義リスト２２１および試験情報２２４を記憶する。
【００９７】
操作部２３は、各種ボタン類やキーボードおよびマウス等から構成され、オペレータがユニット模擬装置２０を操作する際に、必要なデータを入力するために使用される。特に、操作部２３は、表示部２４に表示される画面（ＧＵＩ）に従って、データを入力する際に使用される。また、操作部２３は、試験情報２２４を作成する場合にも、必要な指示情報を入力するために使用される。
【００９８】
表示部２４は、表示制御部２１３に従って、各種データを画面に表示する。先述のように、表示部２４は、デバイス模擬部の動作状況や、定義リスト２２１の内容等を表示する。このように、オペレータは、表示部２４に表示される動作状況を確認することによって、実装処理ユニットがシミュレーションされる状況を容易にモニタリングできる。
【００９９】
ディスク装置２５は、可搬性の記憶媒体９０を読み取る装置である。本実施の形態では、記憶媒体９０に記憶された定義リスト２２１がディスク装置２５によって読み取られ、記憶装置２２に転送され記憶される。ディスク装置２５としては、例えば、ＦＤドライブ装置、ＣＤ−ＲＯＭドライブ装置およびＤＶＤドライブ装置等が該当する。なお、ディスク装置２５は、各種データを記憶媒体９０に記憶させる（書き込む）機能を有していてもよい。
【０１００】
通信部２６は、ユニット模擬装置２０をネットワーク９に接続する機能を有し、インタフェース模擬装置３０との間でデータ通信を行う。
【０１０１】
シミュレーションシステム１では、コンピュータ４０とインタフェース模擬装置３０とを接続するネットワーク９を、ユニット模擬装置２０とインタフェース模擬装置３０とを接続するネットワークとしても使用する。このようにネットワーク９を兼用することにより、ユニット模擬装置２０とインタフェース模擬装置３０とを接続するためのネットワークを別途構築する必要がない。
【０１０２】
また、本実施の形態における通信部２６は、基板処理装置１００におけるインタフェースユニット１０２と実装処理ユニット１０４との間で採用されるプロトコルにかかわらず、インタフェース模擬装置３０との間で、ネットワーク９を用いるプロトコルでデータ通信を行う。
【０１０３】
このように、ユニット模擬装置２０とインタフェース模擬装置３０との間で、一般的なプロトコルを採用することにより、シミュレータ１０は、ユニット模擬装置２０のハードウェアとして市販のパーソナルコンピュータを用いることができ、装置コストを抑制できる。
【０１０４】
また、図Ｂから明らかなように、基板処理装置１００において、各実装処理ユニット１０４の直接的な通信相手はインタフェースユニット１０２に固定されている。すなわち、実装処理ユニット１０４は、直接的にはインタフェースユニット１０２とのみデータ通信を行い、制御ユニット１０１との間で直接的なデータ通信は行わない。
【０１０５】
一方、シミュレーションシステム１において、通信部２６はネットワーク９に接続される。したがって、ネットワーク９を介してユニット模擬装置２０とコンピュータ４０とが接続され、ハードウェア的にはユニット模擬装置２０とコンピュータ４０との間で直接的なデータ通信が可能である。
【０１０６】
しかし、ユニット模擬装置２０の通信部２６は、ネットワーク９を使用しつつも、直接的にはインタフェース模擬装置３０とのみ通信を行う。
【０１０７】
図１２は、インタフェース模擬装置３０の構成を示す図である。インタフェース模擬装置３０は、ＣＰＵ３１、記憶装置３２、第１通信部３３および第２通信部３４を備えている。インタフェース模擬装置３０は、制御ユニット１０１の機能を有する外部装置（コンピュータ４０）にネットワーク９を介して接続され、コンピュータ４０とユニット模擬装置２０との間のデータ通信を行う機能を有している。
【０１０８】
ＣＰＵ３１は、記憶装置３２に記憶されているプログラム３２０に従って動作することにより、インタフェース模擬装置３０の各構成を制御する。
【０１０９】
記憶装置３２は、図示しないＲＯＭやＲＡＭから構成され、各種データを適宜記憶する。特に、記憶装置３２は、プログラム３２０を記憶する。
【０１１０】
第１通信部３３および第２通信部３４は、ネットワーク階層モデルにおける下位層（いわゆる物理層）に相当し、具体的には端子やケーブル等のハードウェアである。
【０１１１】
第１通信部３３は、インタフェース模擬装置３０をネットワーク９に接続する。これにより、コンピュータ４０とインタフェース模擬装置３０とデータ通信、およびユニット模擬装置２０とインタフェース模擬装置３０とのデータ通信が実現される。
【０１１２】
シミュレーションシステム１では、コンピュータ４０とインタフェース模擬装置３０との間のデータ通信には、基板処理装置１００における制御ユニット１０１とインタフェースユニット１０２との間のデータ通信に用いられるプロトコルを採用する。本実施の形態における基板処理装置１００は、制御ユニット１０１とインタフェースユニット１０２との間で、ＴＣＰ／ＩＰプロトコルにてデータ通信を行う。したがって、本実施の形態における第１通信部３３は、ＴＣＰ／ＩＰプロトコルに準拠したハードウェアインタフェースとなっている。
【０１１３】
第１通信部３３は、先述のように、ユニット模擬装置２０とインタフェース模擬装置３０とを接続する機能も有する。しかし、基板処理装置１００におけるインタフェースユニット１０２と各実装処理ユニット１０４とを接続するプロトコル（以下、「ローカルプロトコル」と称する）は、ＴＣＰ／ＩＰプロトコルに限られない。むしろ、ＴＣＰ／ＩＰプロトコルはローカルプロトコルとして採用されていない。
【０１１４】
ローカルプロトコルは、個々の実装処理ユニット１０４を構成するハードウェアの特性に応じて適切なプロトコルが採用されるため、実装処理ユニット１０４ごとに異なる場合もある。このようなローカルプロトコルとして、基板処理装置１００は、例えば、Ｉ／Ｏポートによるプロトコル、シリアル通信ポートによるプロトコル、およびモータドライバによるプロトコル等を採用する。
【０１１５】
すなわち、インタフェース模擬装置３０における第１通信部３３は、コンピュータ４０との間では制御ユニット１０１とインタフェースユニット１０２との間のプロトコルをそのまま再現する一方で、ユニット模擬装置２０との間では個々のローカルプロトコルをすべてＴＣＰ／ＩＰプロトコルによって模擬する。
【０１１６】
第２通信部３４は、インタフェース模擬装置３０と操作ユニット５０とを接続する。第２通信部３４は、基板処理装置１００におけるインタフェースユニット１０２と操作ユニット１０３との間のデータ通信に用いられるプロトコルを採用する。これにより、基板処理装置１００の操作ユニット１０３と同等の操作ユニット５０をインタフェース模擬装置３０にそのまま接続できる。本実施の形態では、第２通信部３４として、ＲＳ２３２Ｃを採用するが、もちろんこれに限定されるものではない。
【０１１７】
図１３は、インタフェース模擬装置３０の機能ブロックを示す図である。図１３に示すデータ転送部３１０，３１１，３１２は、主にＣＰＵ３１がプログラム３２０に従って動作することにより実現される機能ブロックである。すなわち、データ転送部３１０，３１１，３１２はいずれも主にソフトウェアによって実現される機能ブロックである。
【０１１８】
データ転送部３１０，３１１はネットワーク階層モデルにおける中位層に相当し、例えばミドルウェアやドライバである。また、データ転送部３１２はネットワーク階層モデルにおける上位層に相当し、例えばアプリケーションソフトウェアである。
【０１１９】
データ転送部３１０は、データ転送部３１２から受け取った情報（基板処理装置１００におけるデータフォーマットの情報）を、第１通信部３３に適したデータフォーマット（本実施の形態ではＴＣＰ／ＩＰプロトコルに準拠したデータフォーマット）に変換して第１通信部３３に受け渡す。また、第１通信部３３から受け取った情報を、基板処理装置１００におけるデータフォーマットに変換して、データ転送部３１２に受け渡す。データ転送部３１０は、第１通信部３３とデータ転送部３１２との間で、基板処理装置１００におけるデータ通信を模擬する機能（模擬機能）と、再現する機能（再現機能）とを有している。
【０１２０】
データ転送部３１０の模擬機能と再現機能とについて詳細に説明する。
【０１２１】
基板処理装置１００においてインタフェースユニット１０２と実装処理ユニット１０４との間で送受信される情報は、先述のように、当該実装処理ユニット１０４との間で採用されているローカルプロトコルに準拠したデータフォーマットで送受信される。したがって、基板処理装置１００のインタフェースユニット１０２は、実装処理ユニット１０４との間で送受信する情報を、個々のローカルプロトコルに適したデータフォーマットに作り替える機能を有している。
【０１２２】
ところで、基板処理装置１００においてローカルプロトコルで送受信される情報に相当する情報は、シミュレーションシステム１においてはインタフェース模擬装置３０とユニット模擬装置２０との間で送受信される。そして、シミュレーションシステム１は、インタフェース模擬装置３０とユニット模擬装置２０との間のデータ通信をネットワーク９を介して行う。
【０１２３】
すなちわ、シミュレーションシステム１は、インタフェースユニット１０２と実装処理ユニット１０４との間のローカルプロトコルを、インタフェース模擬装置３０の第１通信部３３、ネットワーク９およびユニット模擬装置２０の通信部２６によってハードウェア的に模擬する。
【０１２４】
一方、シミュレーションシステム１は、インタフェースユニット１０２と制御ユニット１０１との間のデータ通信を、インタフェース模擬装置３０の第１通信部３３、ネットワーク９およびコンピュータ４０の通信部４６（図１４）によってハードウェア的に再現する。
【０１２５】
すなわち、データ転送部３１２から受け取った情報のうち、ユニット模擬装置２０に送信される情報はデータ転送部３１０の模擬機能によって第１通信部３３に受け渡され、コンピュータ４０に送信される情報はデータ転送部３１０の再現機能によって第１通信部３３に受け渡される。
【０１２６】
また、第１通信部３３から受け取った情報のうち、ユニット模擬装置２０から送信された情報はデータ転送部３１０の模擬機能によってデータ転送部３１２に受け渡され、コンピュータ４０から送信された情報はデータ転送部３１０の再現機能によってデータ転送部３１２に受け渡される。
【０１２７】
このように、インタフェース模擬装置３０は、基板処理装置１００におけるインタフェースユニット１０２と各実装処理ユニット１０４との間のローカルプロトコルを、第１通信部３３によってハードウェア的に模擬するとともに、データ転送部３１０によってソフトウェア的に模擬する。また、インタフェース模擬装置３０は、基板処理装置１００におけるインタフェースユニット１０２と制御ユニット１０１との間のデータ通信を再現する。このようにして、インタフェース模擬装置３０は、制御ユニット１０１と実装処理ユニット１０４との間のデータ通信を模擬する。
【０１２８】
基板処理装置１００の実装処理ユニット１０４をユニット模擬装置２０によって模擬することにより、シミュレーションシステム１のハードウェアには、実装処理ユニット１０４を構成するハードウェアが含まれない。したがって、ユニット模擬装置２０とインタフェース模擬装置３０との間のデータ通信は、実装処理ユニット１０４を構成するハードウェアの制約をうけることなく、比較的任意のプロトコルを採用できる。
【０１２９】
本実施の形態におけるシミュレーションシステム１では、ユニット模擬装置２０とインタフェース模擬装置３０との間のデータ通信として、制御ユニット１０１とインタフェースユニット１０２との間のプロトコルを採用する。これにより、コンピュータ４０とインタフェース模擬装置３０との間のネットワーク９を、ユニット模擬装置２０とインタフェース模擬装置３０との間でも兼用できるため、ユニット模擬装置２０とインタフェース模擬装置３０との間に別途ネットワークを構築する必要がない。
【０１３０】
データ転送部３１１は、第２通信部３４とデータ転送部３１２との間で情報の受け渡しを行う。すなわち、操作ユニット５０から第２通信部３４が受信した情報は、データ転送部３１１によってデータ転送部３１２に転送される。一方、操作ユニット５０に向けて送信される情報は、データ転送部３１１によって第２通信部３４に転送される。
【０１３１】
データ転送部３１２は、データ転送部３１０，３１１の間の情報の転送を行う。すなわち、データ転送部３１０，３１１のいずれかからデータ転送部３１２が受け取った情報は、データ転送部３１２によって宛先に応じてデータ転送部３１０，３１１のいずれかに転送される。具体的には、ユニット模擬装置２０またはコンピュータ４０が宛先となっている情報はデータ転送部３１０に転送され、操作ユニット５０が宛先となっている情報はデータ転送部３１１に転送される。
【０１３２】
図１４は、コンピュータ４０の構成を示す図である。コンピュータ４０は、ＣＰＵ４１、記憶装置４２、操作部４３、表示部４４、ディスク装置４５および通信部４６を備え、基板処理装置１００の制御ユニット１０１が備えるハードウェアと同等のハードウェアを備えている。また、コンピュータ４０は、一般的なパーソナルコンピュータとしての機能を有している。
【０１３３】
ＣＰＵ４１は、設定ファイル４２１を参照しつつプログラム４２０に従って動作することにより、各種データの演算や制御信号の生成を行い、コンピュータ４０の各構成を制御する。
【０１３４】
ここで、プログラム４２０は、設定ファイル４２１と同様に基板処理装置１００にそのまま搭載される「製品」であり、主にシミュレーションシステム１の試験（デバッグ）の対象となるソフトウェアである。プログラム４２０は、基板処理装置１００を設計・開発する際に、オペレータ（プログラマ）によって作成される。
【０１３５】
このように、制御ユニット１０１にインストールされるプログラム４２０および設定ファイル４２１を記憶し、当該プログラム４２０および設定ファイル４２１に基づいて、制御ユニット１０１と同等のハードウェアを制御することにより、コンピュータ４０は制御ユニット１０１としての機能を発揮する。
【０１３６】
例えば、ＣＰＵ４１は、実装処理ユニット１０４に対する制御情報を生成し、生成した制御情報を、インタフェースユニット１０２を介して実装処理ユニット１０４に向けて送信するように通信部４６を制御する。ただし、シミュレーションシステム１では、通信部４６から送信される情報は、インタフェース模擬装置３０を介してユニット模擬装置２０に向けて送信される。また、ＣＰＵ４１は、シミュレータ１０から通信部４６が受信した情報に基づいて、新たな制御情報を生成したり、あるいは必要な情報を表示部４４に表示させる。
【０１３７】
記憶装置４２は、図示しないＲＯＭ、ＲＡＭおよびハードディスク等から構成され、必要に応じて各種データを記憶する。特に、記憶装置４２は、プログラム４２０および設定ファイル４２１を記憶する。
【０１３８】
操作部４３は、各種ボタン類やキーボードおよびマウス等から構成され、オペレータがコンピュータ４０を操作するためのデータを入力するために使用される。なお、シミュレーションシステム１が基板処理装置１００のシミュレートを行っているとき、コンピュータ４０を操作するために入力されるデータとは、主に基板処理装置１００を操作するために入力されるデータに相当する。
【０１３９】
また、表示部４４は、各種データを画面に表示する。表示部４４は、基板処理装置１００の制御ユニット１０１において表示されるデータを表示する機能を有している。
【０１４０】
コンピュータ４０は、特に操作部４３および表示部４４について、実際の基板処理装置１００に搭載される制御ユニット１０１と同等のハードウェアを採用する。これにより、コンピュータ４０は、基板処理装置１００の制御ユニット１０１と同じマンマシンインタフェース（特に表示部４４に表示されるＧＵＩ）を提供できる。したがって、オペレータは、実際の制御ユニット１０１（基板処理装置１００）を操作している感覚でコンピュータ４０を操作できる。
【０１４１】
ディスク装置４５は、可搬性の記憶媒体９１を読み取る装置である。本実施の形態では、記憶媒体９１に記憶されたプログラム４２０および設定ファイル４２１がディスク装置４５によって読み取られ、記憶装置４２に転送され記憶される。ディスク装置４５としては、例えば、ＦＤドライブ装置、ＣＤ−ＲＯＭドライブ装置およびＤＶＤドライブ装置等が該当する。なお、ディスク装置４５は、各種データを記憶媒体９１に記憶させる（書き込む）機能を有していてもよい。
【０１４２】
通信部４６は、コンピュータ４０をネットワーク９に接続する。これにより、コンピュータ４０とシミュレータ１０との間でデータ通信が可能となる。ただし、通信部４６の直接の通信相手先は、シミュレータ１０のインタフェース模擬装置３０に固定されており、通信部４６はインタフェース模擬装置３０を介さずにユニット模擬装置２０との間でデータ通信することはできないようにされている。すなわち、コンピュータ４０とユニット模擬装置２０との間のデータ通信は、必ずインタフェース模擬装置３０を介して行われる。
【０１４３】
図１５は、操作ユニット５０の構成を示す図である。操作ユニット５０は、ＣＰＵ５１、記憶装置５２、操作部５３、表示部５４および通信部５６を備え、比較的小型で可搬性あるユニットである。
【０１４４】
一般に基板処理装置１００は大型の装置であるため、基板処理装置１００の制御ユニット１０１を操作するオペレータにとって、制御ユニット１０１の位置から各実装処理ユニット１０４の様子や表示状況（ランプやメータ等）を完全に把握することは難しい。
【０１４５】
そこで、基板処理装置１００には、予め様々な位置にコネクタが設けられており、これに操作ユニット１０３を接続するように設計されている。すなわち、基板処理装置１００は、オペレータが任意の位置にあるコネクタまで操作ユニット１０３を持参することにより、基板処理装置１００を任意の位置で操作できるように構成されている。
【０１４６】
シミュレーションシステム１は、操作ユニット１０３と同じ操作ユニット５０を用いることにより、操作ユニット１０３を用いた場合の基板処理装置１００のシミュレーションも行えるよう構成されている。
【０１４７】
本来、操作ユニット１０３は、基板処理装置１００のバリエーションにかかわらず、共通に用いられるユニットである。すなわち、基板処理装置１００のバリエーションに応じて、シミュレーションシステム１の操作ユニット５０をいくつも準備しておいて取り替える必要はない。したがって、シミュレーションシステム１において、操作ユニット１０３をそのまま操作ユニット５０として採用したとしても、実装処理ユニット１０４のような問題は発生しない。
【０１４８】
なお、操作ユニット１０３をユニット模擬装置２０によって模擬することも可能であり、その場合、シミュレーションシステム１において操作ユニット１０３のハードウェアは不要になる。しかし、その場合は、基板処理装置１００のマンマシンインタフェース（特にハードウェアに依存する部分）を忠実に再現することはできない。
【０１４９】
ＣＰＵ５１は、プログラム５２０に従って動作することにより、各種データの演算や制御信号を生成する。なお、プログラム５２０は、基板処理装置１００の操作ユニット１０３に搭載されるものと同じプログラムである。
【０１５０】
記憶装置５２は、図示しないＲＯＭやＲＡＭ等から構成され、プログラム５２０の他、各種データを記憶する。
【０１５１】
操作部５３は、オペレータが指示を入力するために使用される。また、表示部５４は、適宜、情報（例えばＧＵＩ）を画面に表示する。
【０１５２】
以上がシミュレーションシステム１の構成および機能の説明である。次に、シミュレーションシステム１の動作について説明する。
【０１５３】
図１６は、シミュレーションシステム１の動作を示す流れ図である。シミュレーションシステム１では、まず、初期設定が実行される（ステップＳ３１）。初期設定とは、例えば、必要なファイル（定義リスト２２１等）の転送を含む動作である。すなわち、初期設定が終了した時点において、必要なハードウェアの電源がすべて投入されており、かつ、必要なプログラムやファイルの転送（インストール）が完了している。初期設定が終了すると、シミュレーションシステム１は、一旦、オペレータからの所定の指示があるまで待機する。
【０１５４】
待機状態において、オペレータが、操作部２３を操作することにより、シナリオ作成を選択する指示情報を入力すると、シミュレーションシステム１は、ステップＳ３２においてＹｅｓと判定し、シナリオを作成する（ステップＳ３３）。
【０１５５】
ステップＳ３３の処理は、シミュレーションに先立って、情報生成部２１４が試験情報２２４を予め生成する処理である。以下に、ステップＳ３３の処理について詳細に説明する。
【０１５６】
図１７ないし図２４は、試験情報２２４を作成する間に、表示部２４に表示されるＧＵＩ画面２４０の例である。ＧＵＩ画面２４０は、操作部２３からの指示情報に応じて、表示制御部２１３が表示部２４に表示させる。
【０１５７】
まず、作成する試験情報２２４の区分が選択される。図１７に示すように、「区分ボックス」に設けられたプルダウンボタンを操作することにより、選択可能な区分がプルダウンメニューに一覧表示される。ここに示す例では、「テスト操作」を選択する。
【０１５８】
次に、順次実行するコマンドを選択する。図１８に示すように、「コマンドボックス」に設けられたプルダウンボタンを操作することにより、シミュレータ１０において選択可能なコマンドがプルダウンメニューに一覧表示される。オペレータは、表示された一覧から所望するコマンドを選択するだけで、容易に所望するコマンドを入力できる。
【０１５９】
コマンドとは、シミュレーションシステム１に対するオペレータの命令を模擬するものであり、予め定義され準備されている。なお、予め定義されているコマンドの種類等は定義リスト２２１にファイルとして含まれていてもよい。また、ここに示す例では、シミュレータ１０のＩＯポートのデフォルト値（デフォルト定義ファイル）を変更するコマンド（SIM-IOChange）を選択する。
【０１６０】
コマンドが選択されると、図１９に示すように、コマンドボックスに選択されたコマンド（ここに示す例では、「SIM-IOChange」）が入力されるとともに、当該コマンドに対して必要な数の「引数ボックス」がアクティブ化され、その引数の名称が表示される。アクティブ化された「引数ボックス」には、プルダウンボタンが設けられ、引数を入力することが可能となる。
【０１６１】
図１９に示す例では、「引数１および引数２のボックス」がアクティブ化されている。これによって、選択されたコマンド「SIM-IOChange」に対して、２つの引数が必要であり、引数３ないし引数５は入力不要であることが容易にわかる。また、引数１として入力しなければならない引数は「接点名称」であり、引数２として入力しなければならない引数は「設定値」であることも容易に理解できる。
【０１６２】
オペレータが、「引数１のボックス」に設けられたプルダウンボタンを操作することにより、図２０に示すように、引数１（ここに示す例では、「接点名称」）として入力可能な引数がプルダウンメニューに一覧表示される。オペレータは、一覧表示された引数から、所望する引数を選択することにより、容易に引数１を入力できる。
【０１６３】
なお、「接点名称」として選択可能なシンボル（基板処理装置１００ごとに異なる）の名称は、例えば、表示制御部２１３が定義リスト２２１を参照することにより取得できる。また、ここに示す例では、引数「/ONB_T4/InShowerFlowLowerLimit」を選択する。
【０１６４】
引数１が選択されると、図２１に示すように、引数１のボックスに選択された引数（ここに示す例では、「/ONB_T4/InShowerFlowLowerLimit」）が入力される。
【０１６５】
オペレータが、「引数２のボックス」に設けられたプルダウンボタンを操作することにより、図２１に示すように、引数２（ここに示す例では、「設定値」）として入力可能な引数がプルダウンメニューに一覧表示される。オペレータは、一覧表示された引数から、所望する引数を選択することにより、容易に引数２を入力できる。ここに示す例では、引数「ON」を選択する。
【０１６６】
引数２が選択されると、図２２に示すように、引数２のボックスに選択された引数（ここに示す例では、「ON」）が入力される。
【０１６７】
選択されたコマンドに対して、必要な引数が全て入力されると、オペレータがＧＵＩ画面２４０に設けられている「行追加ボタン」を操作することにより、図２２に示すように、入力された内容（ここに示す例では、「T,SIM-IOChange,/ONB_T4/InShowerFlowLowerLimit,ON」）が「試験内容表示ボックス」に追加される。
【０１６８】
このようにして、コマンドが繰り返し入力されることにより、図２３に示すように、一連の試験内容（テストシナリオ）が完成する。
【０１６９】
オペレータがＧＵＩ画面２４０に設けられている「保存ボタン」を操作すると、情報生成部２１４が記憶装置２２上にファイルを作成し、「試験内容表示ボックス」に表示されている内容（オペレータが入力した指示情報）を当該ファイルに保存する。このようにして生成されるファイルが試験情報２２４である。
【０１７０】
情報生成部２１４によって試験情報２２４が作成されると、シミュレーションシステム１は、ステップＳ３３を終了する。以上が、図１６に示すステップＳ３３の処理の説明である。
【０１７１】
図１６に戻って、待機状態において、オペレータが、操作部２３を操作することにより、シミュレーション開始を選択する指示情報を入力すると、表示制御部２１３は、ステップＳ３４においてＹｅｓと判定し、シミュレーションシステム１はシミュレーションを実行する（ステップＳ３５）。
【０１７２】
シミュレーションシステム１は、シミュレーション（試験）を開始するときに、まず、マニュアルモードで試験を行うか、オートモードで試験を行うかを決定する。この選択は、オペレータからの指示により決定するが、例えば、試験情報２２４の有無によって決定してもよい。
【０１７３】
なお、マニュアルモードとは、シミュレーションの条件等をオペレータが、操作部２３を操作して指示情報を入力することにより行うモードである。マニュアルモードでは、オペレータがその場で自由に指示情報を入力できるので柔軟性に富むが、シミュレーションを行う際に、すべての情報を誤り無く入力しなければならないため、正確性および再現性に劣る。マニュアルモードは、必要に応じてオペレータがシミュレーションシステム１に指示情報を入力し、この指示情報に応じてシミュレーションシステム１が動作するだけの処理であるので、ここでは詳細な説明を省略する。
【０１７４】
一方、オートモードとは、すでに準備されている試験情報２２４に基づいてシミュレーションを行うモードである。オートモードでは、シミュレーションが開始されると、自動的に試験が実行されるので、例えば、シミュレーションをモニタリングしながら適切なタイミングで指示情報を入力する必要がないので、オペレータの負担が軽減される。また、試験情報２２４を共通化することにより、試験の正確性および再現性が向上する。
【０１７５】
以下に、オートモードにおけるシミュレーションシステム１の動作を説明する。
【０１７６】
図２５ないし図２９は、オートモードにおいて表示部２４に表示されるＧＵＩ画面２４１を例示する図である。
【０１７７】
オートモードが選択されると、表示制御部２１３は、表示部２４にＧＵＩ画面２４１を表示させる。図２５に示すＧＵＩ画面２４１には、「テストシナリオ実行ファイルボックス」が設けられており、所望のファイルを指定できるようになっている。
【０１７８】
オペレータが「テストシナリオ実行ファイルボックス」に設けられている「選択ボタン」を操作すると、図２６に示すように、所定のフォルダが開かれ、選択可能なファイルが表示される。ここに示す例では、「TEST_DEMO.tef」を選択する。
【０１７９】
ファイルが選択されると、図２７に示すように、「テストシナリオ実行ファイルボックス」に選択されたファイル（ここに示す例では「TEST_DEMO.tef」）が入力される。これにより、シミュレーションにおいて参照される試験情報２２４が指定される。
【０１８０】
試験情報２２４の指定が終了すると、オペレータは、ＧＵＩ画面２４１に設けられている「実行ボタン」を操作して、シミュレーションを開始させる。「実行ボタン」が操作されると、シミュレーションシステム１はオートモードで試験を開始する。
【０１８１】
シミュレーション中において、表示制御部２１３は、適宜、試験情報２２４を参照し、図２８に示すように、「テストシナリオ実行履歴ボックス」にその内容を表示する。なお、図２８に示すＧＵＩ画面２４２は、ＧＵＩ画面２４１とともに表示部２４に表示される画面であって、シミュレーションの状況（模擬動作の状況）を示す画面である。ＧＵＩ画面２４２は、オートモードに限らず、マニュアルモードで動作する場合にも表示部２４に表示される。
【０１８２】
このように、シミュレーションが実行されると、ＧＵＩ画面２４２が表示されることにより、オペレータは、実装処理ユニット１０４（ユニット模擬部２１１）の動作状況を容易にモニタリングできる。したがって、実装処理ユニット１０４（ハードウェア）を用意することなく、ソフトウェアの試験を行うことができる。
【０１８３】
また、オートモードでは、ＧＵＩ画面２４１も表示されるので、これによっても状況をモニタリングできる。特に、ＧＵＩ画面２４２は、通常、リアルタイムにその表示内容が変化するため、オペレータはシミュレート中、常にモニタリングしていなければならない。しかし、ＧＵＩ画面２４１は実行順に表示され、過去の状況も表示されたまま残るので、過去の状況も把握できる。
【０１８４】
シミュレーションが終了すると、図２９に示すように、「テストシナリオ実行履歴ボックス」に「シナリオ終了」と表示し、ステップＳ３５の処理を終了する。
【０１８５】
図１６に戻って、待機状態において、オペレータが、操作部２３を操作することにより、処理を終了する指示情報を入力すると、シミュレーションシステム１は、ステップＳ３６においてＹｅｓと判定し、処理を終了する。
【０１８６】
以上のように、本実施の形態におけるシミュレーションシステム１は、シミュレーションにおけるオペレータの入力を、予め作成した試験情報２２４によって模擬することにより、オペレータの負担を軽減できる。また、デバッグ試験の品質も向上するため、基板処理装置１００のソフトウェアの品質も向上する。
【０１８７】
＜２．  第２の実施の形態＞
第１の実施の形態では、基板処理装置１００の制御ユニット１０１を、一般的なパーソナルコンピュータであるコンピュータ４０によって模擬していた。しかし、制御ユニット１０１は、必ずしも模擬されなくてもよい。
【０１８８】
図３０は、第２の実施の形態におけるシミュレーションシステム１ａを示す図である。第２の実施の形態におけるシミュレーションシステム１ａは、コンピュータ４０の代わりに制御ユニット４０ａを備える点がシミュレーションシステム１と異なる。なお、図３０では、情報処理装置６を省略している。
【０１８９】
本来、制御ユニット１０１はネットワーク９に接続する機能を有している。したがって、コンピュータ４０の代わりに、制御ユニット１０１と同じ制御ユニット４０ａをネットワーク９に接続することも可能である。
【０１９０】
制御ユニット１０１は、操作ユニット１０３と同様に、基板処理装置１００のバリエーションにかかわらず、共通に用いられるユニットである。すなわち、シミュレーションシステム１ａにおいて制御ユニット４０ａを用いるように構成したとしても、基板処理装置１００のバリエーションに応じて、制御ユニット４０ａをいくつも準備しておいて取り替える必要はない。したがって、シミュレーションシステム１ａのように、制御ユニット１０１をそのまま制御ユニット４０ａとして採用したとしても、実装処理ユニット１０４のような問題は発生しない。
【０１９１】
以上のように、第２の実施の形態におけるシミュレーションシステム１ａは、シミュレータ１０に接続する外部装置として、基板処理装置１００の制御ユニット４０ａを用いることにより、第１の実施の形態におけるシミュレーションシステム１と同様の効果を得ることができる。
【０１９２】
また、コンピュータ４０の代わりに制御ユニット４０ａを用いることにより、第２の実施の形態におけるシミュレーションシステム１ａは、第１の実施の形態におけるシミュレーションシステム１に比べて、より実機に近い環境でデバッグを行うことができる。
【０１９３】
＜３．  変形例＞
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【０１９４】
例えば、上記実施の形態では、制御ユニット１０１の機能を有するコンピュータ４０（または制御ユニット４０ａ）と、ユニット模擬装置２０とを別々のコンピュータで実現していたが、これを１台のコンピュータで実現することも可能である。
【０１９５】
例えば、ユニット模擬装置２０とインタフェース模擬装置３０との間のネットワークは、ネットワーク９を兼用しなくてもよい。すなわち、ユニット模擬装置２０とインタフェース模擬装置３０とを別途ケーブルで接続してもよい。あるいは、インタフェース模擬装置３０をユニット模擬装置２０に収納可能なインタフェースボードとして構成し、シミュレータ１０を一体化された装置として構成することも可能である。その場合は、シミュレータ１０を小型化でき、しいてはシミュレーションシステム１を小型化できる。
【図面の簡単な説明】
【０１９６】
【図１】本発明に係るシミュレーションシステムと情報処理装置とを示す図である。
【図２】ユニット模擬装置の構成を示す図である。
【図３】定義リストを生成する情報処理装置の構成を示す図である。
【図４】情報処理装置の機能ブロックを示す図である。
【図５】基礎ファイルに含まれるアドレス基礎ファイルを例示する図である。
【図６】基礎ファイルに含まれる温調器基礎ファイルを例示する図である。
【図７】基礎ファイルに含まれる干渉判定基礎ファイルを例示する図である。
【図８】情報処理装置が定義リストを作成する動作を示す流れ図である。
【図９】情報処理装置が定義リストを作成する動作を示す流れ図である。
【図１０】ユニット模擬装置の機能ブロックを示す図である。
【図１１】定義リストにおいて模擬動作を定義する例を示す図である。
【図１２】インタフェース模擬装置の構成を示す図である。
【図１３】インタフェース模擬装置の機能ブロックを示す図である。
【図１４】コンピュータの構成を示す図である。
【図１５】操作ユニットの構成を示す図である。
【図１６】シミュレーションシステムの動作を示す流れ図である。
【図１７】試験情報を作成する間に、表示部に表示されるＧＵＩ画面の例である。
【図１８】試験情報を作成する間に、表示部に表示されるＧＵＩ画面の例である。
【図１９】試験情報を作成する間に、表示部に表示されるＧＵＩ画面の例である。
【図２０】試験情報を作成する間に、表示部に表示されるＧＵＩ画面の例である。
【図２１】試験情報を作成する間に、表示部に表示されるＧＵＩ画面の例である。
【図２２】試験情報を作成する間に、表示部に表示されるＧＵＩ画面の例である。
【図２３】試験情報を作成する間に、表示部に表示されるＧＵＩ画面の例である。
【図２４】試験情報を作成する間に、表示部に表示されるＧＵＩ画面の例である。
【図２５】オートモードにおいて表示部に表示されるＧＵＩ画面を例示する図である。
【図２６】オートモードにおいて表示部に表示されるＧＵＩ画面を例示する図である。
【図２７】オートモードにおいて表示部に表示されるＧＵＩ画面を例示する図である。
【図２８】オートモードにおいて表示部に表示されるＧＵＩ画面を例示する図である。
【図２９】オートモードにおいて表示部に表示されるＧＵＩ画面を例示する図である。
【図３０】第２の実施の形態におけるシミュレーションシステムを示す図である。
【図３１】基板処理装置の構成を示す図である。
【符号の説明】
【０１９７】
１，１ａ  シミュレーションシステム
１０  シミュレータ
１００  基板処理装置
１０１  制御ユニット
１０４  実装処理ユニット
２０  ユニット模擬装置
２１  ＣＰＵ
２１０  データ転送部
２１１  ユニット模擬部
２１２  デバイス模擬部
２１３  表示制御部
２１４  情報生成部
２２  記憶装置
２２０  プログラム
２２１  定義リスト
２２４  試験情報
２３  操作部
２４  表示部
２５  ディスク装置
２６  通信部
３０  インタフェース模擬装置
３１０，３１１，３１２  データ転送部
４０  コンピュータ
４０ａ  制御ユニット
４１  ＣＰＵ
４２０  プログラム
４２１  設定ファイル
【図１】
2008090394.tif 000003
【図２】
2008090394.tif 000004
【図３】
2008090394.tif 000005
【図４】
2008090394.tif 000006
【図５】
2008090394.tif 000007
【図６】
2008090394.tif 000008
【図７】
2008090394.tif 000009
【図８】
2008090394.tif 000010
【図９】
2008090394.tif 000011
【図１０】
2008090394.tif 000012
【図１１】
2008090394.tif 000013
【図１２】
2008090394.tif 000014
【図１３】
2008090394.tif 000015
【図１４】
2008090394.tif 000016
【図１５】
2008090394.tif 000017
【図１６】
2008090394.tif 000018
【図１７】
2008090394.tif 000019
【図１８】
2008090394.tif 000020
【図１９】
2008090394.tif 000021
【図２０】
2008090394.tif 000022
【図２１】
2008090394.tif 000023
【図２２】
2008090394.tif 000024
【図２３】
2008090394.tif 000025
【図２４】
2008090394.tif 000026
【図２５】
2008090394.tif 000027
【図２６】
2008090394.tif 000028
【図２７】
2008090394.tif 000029
【図２８】
2008090394.tif 000030
【図２９】
2008090394.tif 000031
【図３０】
2008090394.tif 000032
【図３１】
2008090394.tif 000033