説明

シミュレータ、シミュレーションシステムおよびプログラム

【課題】基板処理装置のソフトウェアの品質を向上させる。
【解決手段】基板処理装置のソフトウェアをデバッグする環境として、シミュレーションシステム1を用いる。シミュレーションシステム1には、シミュレータ10とコンピュータ40とを設ける。コンピュータ40には、基板処理装置のソフトウェア(試験対象のソフトウェア)をインストールし、これを動作させることにより基板処理装置の制御ユニットを模擬させる。シミュレータ10においても専用のソフトウェアを動作させることによりコンピュータ40からの制御に従って、基板処理装置の実装処理ユニットの動作を模擬させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、基板処理装置のソフトウェアを試験する技術に関する。
【背景技術】
【0002】
基板の製造工程においては、制御ユニットと複数の実装処理ユニットとを備えた基板処理装置が用いられる。
【0003】
図10は、基板処理装置100の構成を示す図である。基板処理装置100は、制御ユニット101、インタフェースユニット102、操作ユニット103および複数の実装処理ユニット104を備える。
【0004】
制御ユニット101は、ネットワーク9を介してインタフェースユニット102と接続され、詳細は説明しないが一般的なパーソナルコンピュータを構成するハードウェアを備えている。制御ユニット101は、専用のソフトウェア(プログラムや設定ファイル等)に従って動作し、ネットワーク9およびインタフェースユニット102を介して、複数の実装処理ユニット104を制御する。
【0005】
インタフェースユニット102は、実装処理ユニット104をネットワーク9に接続する機能を有する。これにより、実装処理ユニット104におけるデータ通信が個々に異なるプロトコルであったり、あるいは直接ネットワーク9に接続できないプロトコルであっても、制御ユニット101との間でデータの送受信を行うことができる。
【0006】
操作ユニット103は、インタフェースユニット102に接続され、オペレータが基板処理装置100を操作するのに必要な指示を入力するために使用される。操作ユニット103をインタフェースユニット102に接続するための端子(コネクタ)は、一般には実装処理ユニット104の位置に設けられている。
【0007】
個々の実装処理ユニット104は基板に対してぞれぞれが所定の処理(例えば、搬送処理、洗浄処理、塗布処理、検査処理、露光処理および現像処理等)を実行する。実装処理ユニット104は、複数の処理ユニットからユーザの要望等に基づいて選択されて、基板処理装置100に搭載される。
【0008】
このように、基板処理装置100は、複数の実装処理ユニット104を備え、制御ユニット101の制御によって、これら複数の実装処理ユニット104が基板に対してそれぞれ決められた処理を行うことにより、基板に対する一連の処理が実行される。
【0009】
基板に対して実行すべき処理は、基板の製造段階や製造する基板の種類等に応じて異なる。したがって、基板処理装置100に要求される実装処理ユニット104の数および種類は状況に応じて様々に変化する。すなわち、実装処理ユニット104の数および種類に応じてハードウェア構成の異なる様々なバリエーションの基板処理装置100が存在することとなる。そして、基板処理装置100のハードウェア構成が異なれば、制御ユニット101の制御対象が異なるので、それに応じて制御ユニット101のソフトウェアを開発する必要がある。
【0010】
基板処理装置100に限らずソフトウェアを開発する場合のデバッグは、当該ソフトウェアが動作するハードウェアをデバッグ機として準備して行うことが好ましい。しかし、基板処理装置100の個々の実装処理ユニット104は、比較的大型かつ高価な装置であるため、様々なバリエーションの基板処理装置100を随時デバッグ機として準備することは事実上不可能である。
【0011】
そこで従来より、基本構成の基板処理装置100をデバッグ機として組み立て、これを用いて個々に開発したソフトウェアのデバッグを行っていた。
【0012】
【特許文献1】特開2003−345624号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
ところが、従来のデバッグにおいて使用される基本構成の基板処理装置100といえども大型かつ高価であるため、充分な台数を確保することがスペースおよびコストの両面において困難であり、試験が充分に行えないという問題があった。また、ソフトウェアが動作するハードウェア構成と、デバッグ機のハードウェア構成とが必ずしも一致しないために、ソフトウェアの試験内容が限定されるという問題があった。
【0014】
すなわち、従来の技術では、基板処理装置の開発環境が充分でないために、基板処理装置(ソフトウェア)の試験が不充分となり、品質が低下するという問題があった。
【0015】
本発明は、上記課題に鑑みなされたものであり、コストを抑制しつつ、基板処理装置のソフトウェアの品質を向上させることを目的とする。
【課題を解決するための手段】
【0016】
上記の課題を解決するため、請求項1の発明は、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部とを備えることを特徴とする。
【0017】
また、請求項2の発明は、請求項1の発明に係るシミュレータであって、前記ユニット模擬部の動作状況を表示する表示部をさらに備えることを特徴とする。
【0018】
また、請求項3の発明は、請求項1または2の発明に係るシミュレータであって、前記ユニット模擬部が動作を模擬する実装処理ユニットに、基板を搬送する搬送ユニットが含まれることを特徴とする。
【0019】
また、請求項4の発明は、基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、前記ソフトウェアが動作することにより前記基板処理装置の制御ユニットの機能を有するコンピュータと、前記コンピュータに接続されるシミュレータとを備え、前記シミュレータは、前記コンピュータから得られる情報に基づいて、前記基板処理装置の実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記コンピュータと前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部とを備えることを特徴とする。
【0020】
また、請求項5の発明は、基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、前記基板処理装置の制御ユニットと、前記制御ユニットに接続されるシミュレータとを備え、前記シミュレータは、前記制御ユニットから得られる情報に基づいて、前記基板処理装置の実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記制御ユニットと前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部とを備えることを特徴とする。
【0021】
また、請求項6の発明は、コンピュータ読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部とを備えるシミュレータとして機能させることを特徴とする。
【発明の効果】
【0022】
請求項1ないし3に記載の発明では、外部装置から得られる情報に基づいて、基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、実装処理ユニットの動作を模擬するユニット模擬部と、外部装置とユニット模擬部との間で、基板処理装置における制御ユニットと実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部とを備えることにより、基板処理装置の実装処理ユニットがなくても、基板処理装置のシミュレーションを行うことができる。
【0023】
請求項2に記載の発明では、ユニット模擬部の動作状況を表示する表示部をさらに備えることにより、ユニット模擬部によって模擬される動作の状況を容易にモニタリングできるとともに、動作状況の変更も可能となる。
【0024】
請求項4に記載の発明では、基板処理装置のソフトウェアが動作することにより基板処理装置の制御ユニットの機能を有するコンピュータと、コンピュータに接続されるシミュレータとを備え、シミュレータは、コンピュータから得られる情報に基づいて、基板処理装置の実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、実装処理ユニットの動作を模擬するユニット模擬部と、コンピュータとユニット模擬部との間で、基板処理装置における制御ユニットと実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部とを備えることにより、実際の基板処理装置がなくても、基板処理装置のシミュレーションを行うことができる。
【0025】
請求項5に記載の発明では、基板処理装置の制御ユニットと、制御ユニットに接続されるシミュレータとを備え、シミュレータは、制御ユニットから得られる情報に基づいて、基板処理装置の実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、実装処理ユニットの動作を模擬するユニット模擬部と、制御ユニットとユニット模擬部との間で、基板処理装置における制御ユニットと実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部とを備えることにより、処理ユニットがなくても基板処理装置のシミュレーションを行うことができる。また、制御ユニットについては実機でシミュレーションできるため、精度が向上する。
【0026】
請求項6に記載の発明では、コンピュータを、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、外部装置から得られる情報に基づいて、基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、実装処理ユニットの動作を模擬するユニット模擬部と、外部装置とユニット模擬部との間で、基板処理装置における制御ユニットと実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部とを備えるシミュレータとして機能させることにより、基板処理装置の実装処理ユニットがなくても、基板処理装置のシミュレーションを行うことができる。
【発明を実施するための最良の形態】
【0027】
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
【0028】
<1. 第1の実施の形態>
図1は、本発明に係るシミュレーションシステム1を示す図である。
【0029】
基板処理装置には、実装可能な複数の処理ユニットが製品のラインナップとして準備されており、これらのうちからユーザの要望等に応じて必要な処理ユニットが選択されて、組み合わされる。すなわち、基板処理装置は、複数の処理ユニットの組合せで構成され、カスタマイズによって様々なバリエーションが存在する。
【0030】
以下の説明では、便宜上、シミュレーションシステム1のシミュレートの対象となる基板処理装置として図10に示す基板処理装置100を例に説明する。すなわち、シミュレーションシステム1は、基板処理装置100のために開発されたソフトウェアを試験(デバッグ)するシステムとして説明する。
【0031】
なお、実装処理ユニット104は基板に何らかの処理を行うユニットであって、具体的には、洗浄ユニット、搬送ユニット、乾燥ユニット、加熱ユニット、冷却ユニット、塗布ユニット、現像ユニット、検査ユニット、除去(剥離)ユニット等が相当する。ただし、実装処理ユニット104はこれらに限定されるものではなく、直接的に基板に対する処理を行わない液供給ユニットのようなユニットも含む。
【0032】
また、実装処理ユニット104は、複数のハードウェアを有するものに限定されるものではなく、制御可能で、かつ所定の動作を行うハードウェアであれば、個々のランプやセンサ、ブザー、モータ等の単体のハードウェアであってもよい。ただし、説明の都合上、「実装処理ユニット」には、「制御ユニット」、「インタフェースユニット」および「操作ユニット」は含まないものとする。
【0033】
シミュレーションシステム1は、シミュレータ10と、コンピュータ40と、操作ユニット50とを備える。シミュレーションシステム1において、シミュレータ10とコンピュータ40とは、ネットワーク9を介して接続される。
【0034】
ネットワーク9は、一般的なコンピュータを相互に接続するネットワークである。本実施の形態では、ネットワーク9として、図10に示す基板処理装置100において、制御ユニット101とインタフェースユニット102との間で採用されるネットワークを採用する。
【0035】
シミュレータ10は、ユニット模擬装置20およびインタフェース模擬装置30を備え、ユニット模擬装置20とインタフェース模擬装置30とはネットワーク9を介して接続される。
【0036】
図2は、ユニット模擬装置20の構成を示す図である。図2に示すように、ユニット模擬装置20は、CPU21、記憶装置22、操作部23、表示部24、ディスク装置25および通信部26を備え、一般的なパーソナルコンピュータとしての機能を有している。
【0037】
図2に示す定義リスト221は、様々なパラメータや定義式、設定等の情報を含む情報の集合体である。定義リスト221には、基板処理装置100に搭載される実装処理ユニット104の模擬動作を定義する情報(振る舞い定義情報)や、入力情報のデフォルト値を定義する情報(デフォルト定義情報)等が含まれる。
【0038】
定義リスト221は、基板処理装置100を設計する際に生成される設計情報等に基づいて、例えば、オペレータが予め作成し、記憶装置22に記憶させておく。すなわち、ユーザの要望に応じて、基板処理装置100が設計されると(ハードウェア構成が決定されると)、それに基づいて定義リスト221が作成される。
【0039】
CPU21は、記憶装置22に記憶されているプログラム220に従って動作するとともに、必要に応じて定義リスト221を参照することにより、ユニット模擬装置20の各構成を制御する。
【0040】
図3は、ユニット模擬装置20の機能ブロックを示す図である。図3に示すデータ転送部210、ユニット模擬部211および表示制御部213は、主にCPU21がプログラム220に従って動作することにより実現される機能ブロックである。
【0041】
データ転送部210は、通信部26がインタフェース模擬装置30から受信した情報を入力情報222として記憶装置22に転送する。また、データ転送部210は、出力情報223のうち、コンピュータ40(あるいは操作ユニット50)に送信すべき情報を通信部26に伝達してインタフェース模擬装置30に向けて送信させる。
【0042】
ユニット模擬部211は、複数のデバイス模擬部212(第1模擬部212a、第2模擬部212b、・・・、第n模擬部212n(nは自然数))を備えている。ユニット模擬部211は、基板処理装置100に搭載されている複数のデバイスを、1つずつ第1模擬部212a、第2模擬部212b、・・・、第n模擬部212nのいずれかに割り当てる。
【0043】
詳細は後述するが、デバイスを割り当てられたデバイス模擬部212は、それぞれが割り当てられたデバイスの動作を個々に模擬する。
【0044】
ここで、実装処理ユニット104を構成しないデバイス(基板処理装置100に搭載されないデバイス)は、定義リスト221に模擬動作が定義されることはない。逆に言えば、定義リスト221において、模擬動作が定義されているデバイスは、有効なハードウェア(基板処理装置100に搭載されるデバイス)を示しており、ユニット模擬装置20はこれを模擬する必要がある。
【0045】
したがって、ユニット模擬部211は、定義リスト221を参照することにより、デバイス模擬部212に割り当てることが必要なデバイスを判断する。
【0046】
図4は、定義リスト221において模擬動作を定義する例を示す図である。本実施の形態におけるシミュレータ10(図1参照)では、デバイス(ハードウェア)ごとにCSV形式で模擬動作を定義することにより予め定義リスト221を作成し記憶しておく。図4に示す例は、「バルブ開出力」がONにされると、1sec後に「バルブ開確認入力」をONにするという「純水回収バルブ」の模擬動作を定義している。
【0047】
これを参照することにより、ユニット模擬部211は、「純水回収バルブ」を、例えば第1模擬部212aに割り当てる。また、同じデバイスであっても、模擬動作は複数定義される(例えばバルブ開動作とバルブ閉動作)。したがって、ユニット模擬部211は、同一のデバイスが重複した場合は、新たに割り当ては行わない。
【0048】
より詳しくは、ユニット模擬部211は、予め第1模擬部212a、第2模擬部212b、・・・、第n模擬部212nを備えているのではなく、定義リスト221を参照することにより、新たに割り当てが必要なデバイスを発見したときに、新たなデバイス模擬部212を生成して、これに当該デバイスを割り当てる。
【0049】
このように、記憶装置22に定義リスト221が予め記憶されているので、ユニット模擬部211は、シミュレーションの対象となる基板処理装置100に搭載されるすべてのデバイス(模擬する必要があるデバイス)を、デバイス模擬部212に割り当てることができる。
【0050】
処理ユニットは、通常、1つ以上のデバイスから構成される。そして、この処理ユニットが、実装処理ユニット104として基板処理装置100に搭載されると、処理ユニットを構成するすべてのデバイスは基板処理装置100に搭載されることとなる。したがって、基板処理装置100に搭載されるすべてのデバイスをデバイス模擬部212に割り当てて、各デバイス模擬部212がそれらの動作を模擬することによって、ユニット模擬部211は、すべての実装処理ユニット104の動作を模擬する。
【0051】
なお、図4に例示するように、定義リスト221における入出力情報(I/O)は、それぞれに割り当てられたアドレスではなく、アドレスに対応したシンボル(上記例では、「InDIWDrainOpen」や「OutPublicDrain1」)を使用して定義する。
【0052】
これにより、オペレータは容易に模擬動作を定義(定義リスト221を作成)することができる。ただし、シンボルと当該シンボルのデフォルト値との対応は別途定義する必要があり、先述のように、定義リスト221にはこれらを定義するデフォルト定義情報も含まれている。
【0053】
表示制御部213(図3参照)は、ユニット模擬部211および操作部23からの入力に基づいて、表示部24を制御する。表示制御部213は、シミュレーションの状況を表示させる機能およびシミュレーションシステム1におけるGUIを提供する機能を有する機能ブロックである。
【0054】
シミュレーションの状況を表示させる機能として、例えば、表示制御部213は、デバイスが割り当てられたデバイス模擬部212に対して、所定の表示領域を割り当てる。そして、ユニット模擬部211からこれらデバイス模擬部212の状況に関する情報を取得して、表示部24に表示させる。このとき、デバイス模擬部212の状況を文字情報として表示するだけでなく、デバイス模擬部212に対応するデバイスの特性に応じて、その表示形式を変えることも可能である。
【0055】
例えば、デバイス模擬部212によって模擬するデバイスが「ランプ」である場合、このランプを模擬的に表した画像を表示領域に表示させ、これを擬似的に点滅させることによってデバイス模擬部212の状況を表示させる。すなわち、デバイスが何らかの表示デバイスである場合、表示部24にその表示を模擬させる。
【0056】
これにより、オペレータは、より実機に近い状態で、シミュレーションの状況をモニタリングできる。なお、表示部24によって模擬されるハードウェア(デバイス)としては、「ランプ」だけに限られるものではなく、例えば、「ゲージ」や「メータ」「パネル」等であってもよい。
【0057】
また、表示制御部213は、操作部23からオペレータの指示を受け取り、表示部24の表示(表示領域)を切り替える。これにより、オペレータは注目しているデバイス(実装処理ユニット104)についての状況を容易に確認できる。なお、表示部24に表示される情報(表示領域)は同時に表示されてもよい。
【0058】
表示制御部213のGUI提供機能としては、表示部24にGUI画面を表示させるとともに、GUIに従ってオペレータによって入力された情報を操作部23から受け取り、主にユニット模擬部211に伝達する。このようにして入力される情報として、例えば定義リスト221に定義されている内容を変更する情報がある。オペレータからの入力があった場合は、入力された情報を定義リスト221に定義されている情報に優先するように伝達することにより、シミュレータ10は、例えば、試験内容(シミュレート条件)を変更できる。
【0059】
図2に戻って、記憶装置22は、図示しないROM、RAMおよびハードディスク等から構成され、各種データを適宜記憶する。特に、本実施の形態における記憶装置22は、プログラム220および定義リスト221を記憶する。
【0060】
操作部23は、各種ボタン類やキーボードおよびマウス等から構成され、オペレータがユニット模擬装置20を操作する際に、必要なデータを入力するために使用される。特に、操作部23は、表示部24に表示される画面(GUI)に従って、データを入力する際に使用される。
【0061】
表示部24は、表示制御部213に従って、各種データを画面に表示する。先述のように、表示部24は、デバイス模擬部212の動作状況や、定義リスト221の内容等を表示する。このように、オペレータは、表示部24に表示される動作状況を確認することによって、実装処理ユニット104がシミュレーションされる状況を容易にモニタリングでき、また、動作の状況を変更させることも可能となる。
【0062】
ディスク装置25は、可搬性の記憶媒体90を読み取る装置である。本実施の形態では、記憶媒体90に記憶された定義リスト221がディスク装置25によって読み取られ、記憶装置22に転送され記憶される。ディスク装置25としては、例えば、FDドライブ装置、CD−ROMドライブ装置およびDVDドライブ装置等が該当する。なお、ディスク装置25は、各種データを記憶媒体90に記憶させる(書き込む)機能を有していてもよい。
【0063】
通信部26は、ユニット模擬装置20をネットワーク9に接続する機能を有し、インタフェース模擬装置30との間でデータ通信を行う。
【0064】
シミュレーションシステム1では、コンピュータ40とインタフェース模擬装置30とを接続するネットワーク9を、ユニット模擬装置20とインタフェース模擬装置30とを接続するネットワークとしても使用する。このようにネットワーク9を兼用することにより、ユニット模擬装置20とインタフェース模擬装置30とを接続するためのネットワークを別途構築する必要がない。
【0065】
また、本実施の形態における通信部26は、基板処理装置100におけるインタフェースユニット102と実装処理ユニット104との間で採用されるプロトコルにかかわらず、インタフェース模擬装置30との間で、ネットワーク9を用いるプロトコルでデータ通信を行う。
【0066】
このように、ユニット模擬装置20とインタフェース模擬装置30との間で、一般的なプロトコルを採用することにより、シミュレータ10は、ユニット模擬装置20のハードウェアとして市販のパーソナルコンピュータを用いることができ、装置コストを抑制できる。
【0067】
また、図10から明らかなように、基板処理装置100において、各実装処理ユニット104の直接的な通信相手はインタフェースユニット102に固定されている。すなわち、実装処理ユニット104は、直接的にはインタフェースユニット102とのみデータ通信を行い、制御ユニット101との間で直接的なデータ通信は行わない。
【0068】
一方、シミュレーションシステム1において、通信部26はネットワーク9に接続される。したがって、ネットワーク9を介してユニット模擬装置20とコンピュータ40とが接続され、ハードウェア的にはユニット模擬装置20とコンピュータ40との間で直接的なデータ通信が可能である。
【0069】
しかし、ユニット模擬装置20の通信部26は、ネットワーク9を使用しつつも、直接的にはインタフェース模擬装置30とのみ通信を行う。
【0070】
図5は、インタフェース模擬装置30の構成を示す図である。インタフェース模擬装置30は、CPU31、記憶装置32、第1通信部33および第2通信部34を備えている。インタフェース模擬装置30は、制御ユニット101の機能を有する外部装置(コンピュータ40)にネットワーク9を介して接続され、コンピュータ40とユニット模擬装置20との間のデータ通信を行う機能を有している。
【0071】
CPU31は、記憶装置32に記憶されているプログラム320に従って動作することにより、インタフェース模擬装置30の各構成を制御する。
【0072】
記憶装置32は、図示しないROMやRAMから構成され、各種データを適宜記憶する。特に、記憶装置32は、プログラム320を記憶する。
【0073】
第1通信部33および第2通信部34は、ネットワーク階層モデルにおける下位層(いわゆる物理層)に相当し、具体的には端子やケーブル等のハードウェアである。
【0074】
第1通信部33は、インタフェース模擬装置30をネットワーク9に接続する。これにより、コンピュータ40とインタフェース模擬装置30とデータ通信、およびユニット模擬装置20とインタフェース模擬装置30とのデータ通信が実現される。
【0075】
シミュレーションシステム1では、コンピュータ40とインタフェース模擬装置30との間のデータ通信には、基板処理装置100における制御ユニット101とインタフェースユニット102との間のデータ通信に用いられるプロトコルを採用する。本実施の形態における基板処理装置100は、制御ユニット101とインタフェースユニット102との間で、TCP/IPプロトコルにてデータ通信を行う。したがって、本実施の形態における第1通信部33は、TCP/IPプロトコルに準拠したハードウェアインタフェースとなっている。
【0076】
第1通信部33は、先述のように、ユニット模擬装置20とインタフェース模擬装置30とを接続する機能も有する。しかし、基板処理装置100におけるインタフェースユニット102と各実装処理ユニット104とを接続するプロトコル(以下、「ローカルプロトコル」と称する)は、TCP/IPプロトコルに限られない。むしろ、TCP/IPプロトコルはローカルプロトコルとして採用されていない。
【0077】
ローカルプロトコルは、個々の実装処理ユニット104を構成するハードウェアの特性に応じて適切なプロトコルが採用されるため、実装処理ユニット104ごとに異なる場合もある。このようなローカルプロトコルとして、基板処理装置100は、例えば、I/Oポートによるプロトコル、シリアル通信ポートによるプロトコル、およびモータドライバによるプロトコル等を採用する。
【0078】
すなわち、インタフェース模擬装置30における第1通信部33は、コンピュータ40との間では制御ユニット101とインタフェースユニット102との間のプロトコルをそのまま再現する一方で、ユニット模擬装置20との間では個々のローカルプロトコルをすべてTCP/IPプロトコルによって模擬する。
【0079】
第2通信部34は、インタフェース模擬装置30と操作ユニット50とを接続する。第2通信部34は、基板処理装置100におけるインタフェースユニット102と操作ユニット103との間のデータ通信に用いられるプロトコルを採用する。これにより、基板処理装置100の操作ユニット103(図10参照)と同等の操作ユニット50をインタフェース模擬装置30にそのまま接続できる。本実施の形態では、第2通信部34として、RS232Cを採用するが、もちろんこれに限定されるものではない。
【0080】
図6は、インタフェース模擬装置30の機能ブロックを示す図である。図6に示すデータ転送部310,311,312は、主にCPU31(図5参照)がプログラム320(図5参照)に従って動作することにより実現される機能ブロックである。すなわち、データ転送部310,311,312はいずれも主にソフトウェアによって実現される機能ブロックである。
【0081】
データ転送部310,311はネットワーク階層モデルにおける中位層に相当し、例えばミドルウェアやドライバである。また、データ転送部312はネットワーク階層モデルにおける上位層に相当し、例えばアプリケーションソフトウェアである。
【0082】
データ転送部310は、データ転送部312から受け取った情報(基板処理装置100におけるデータフォーマットの情報)を、第1通信部33に適したデータフォーマット(本実施の形態ではTCP/IPプロトコルに準拠したデータフォーマット)に変換して第1通信部33に受け渡す。また、第1通信部33から受け取った情報を、基板処理装置100におけるデータフォーマットに変換して、データ転送部312に受け渡す。データ転送部310は、第1通信部33とデータ転送部312との間で、基板処理装置100におけるデータ通信を模擬する機能(模擬機能)と、再現する機能(再現機能)とを有している。
【0083】
データ転送部310の模擬機能と再現機能とについて詳細に説明する。
【0084】
基板処理装置100においてインタフェースユニット102と実装処理ユニット104との間で送受信される情報(図10参照)は、先述のように、当該実装処理ユニット104との間で採用されているローカルプロトコルに準拠したデータフォーマットで送受信される。したがって、基板処理装置100のインタフェースユニット102は、実装処理ユニット104との間で送受信する情報を、個々のローカルプロトコルに適したデータフォーマットに作り替える機能を有している。
【0085】
ところで、基板処理装置100においてローカルプロトコルで送受信される情報に相当する情報は、シミュレーションシステム1においてはインタフェース模擬装置30とユニット模擬装置20との間で送受信される。そして、シミュレーションシステム1は、インタフェース模擬装置30とユニット模擬装置20との間のデータ通信をネットワーク9を介して行う。
【0086】
すなちわ、シミュレーションシステム1は、インタフェースユニット102と実装処理ユニット104との間のローカルプロトコルを、インタフェース模擬装置30の第1通信部33、ネットワーク9およびユニット模擬装置20の通信部26によってハードウェア的に模擬する。
【0087】
一方、シミュレーションシステム1は、インタフェースユニット102と制御ユニット101との間のデータ通信を、インタフェース模擬装置30の第1通信部33、ネットワーク9およびコンピュータ40の通信部46(図7)によってハードウェア的に再現する。
【0088】
すなわち、データ転送部312から受け取った情報のうち、ユニット模擬装置20に送信される情報はデータ転送部310の模擬機能によって第1通信部33に受け渡され、コンピュータ40に送信される情報はデータ転送部310の再現機能によって第1通信部33に受け渡される。
【0089】
また、第1通信部33から受け取った情報のうち、ユニット模擬装置20から送信された情報はデータ転送部310の模擬機能によってデータ転送部312に受け渡され、コンピュータ40から送信された情報はデータ転送部310の再現機能によってデータ転送部312に受け渡される。
【0090】
このように、インタフェース模擬装置30は、基板処理装置100におけるインタフェースユニット102と各実装処理ユニット104との間のローカルプロトコルを、第1通信部33によってハードウェア的に模擬するとともに、データ転送部310によってソフトウェア的に模擬する。また、インタフェース模擬装置30は、基板処理装置100におけるインタフェースユニット102と制御ユニット101との間のデータ通信を再現する。このようにして、インタフェース模擬装置30は、制御ユニット101と実装処理ユニット104との間のデータ通信を模擬する。
【0091】
基板処理装置100の実装処理ユニット104をユニット模擬装置20によって模擬することにより、シミュレーションシステム1のハードウェアには、実装処理ユニット104を構成するハードウェアが含まれない。したがって、ユニット模擬装置20とインタフェース模擬装置30との間のデータ通信は、実装処理ユニット104を構成するハードウェアの制約をうけることなく、比較的任意のプロトコルを採用できる。
【0092】
本実施の形態におけるシミュレーションシステム1では、ユニット模擬装置20とインタフェース模擬装置30との間のデータ通信として、制御ユニット101とインタフェースユニット102との間のプロトコルを採用する。これにより、コンピュータ40とインタフェース模擬装置30との間のネットワーク9を、ユニット模擬装置20とインタフェース模擬装置30との間でも兼用できるため、ユニット模擬装置20とインタフェース模擬装置30との間に別途ネットワークを構築する必要がない。
【0093】
データ転送部311は、第2通信部34とデータ転送部312との間で情報の受け渡しを行う。すなわち、操作ユニット50から第2通信部34が受信した情報は、データ転送部311によってデータ転送部312に転送される。一方、操作ユニット50に向けて送信される情報は、データ転送部311によって第2通信部34に転送される。
【0094】
データ転送部312は、データ転送部310,311の間の情報の転送を行う。すなわち、データ転送部310,311のいずれかからデータ転送部312が受け取った情報は、データ転送部312によって宛先に応じてデータ転送部310,311のいずれかに転送される。具体的には、ユニット模擬装置20またはコンピュータ40が宛先となっている情報はデータ転送部310に転送され、操作ユニット50が宛先となっている情報はデータ転送部311に転送される。
【0095】
図7は、コンピュータ40の構成を示す図である。コンピュータ40は、CPU41、記憶装置42、操作部43、表示部44、ディスク装置45および通信部46を備え、基板処理装置100の制御ユニット101が備えるハードウェアと同等のハードウェアを備えている。また、コンピュータ40は、一般的なパーソナルコンピュータとしての機能を有している。
【0096】
CPU41は、設定ファイル421を参照しつつプログラム420に従って動作することにより、各種データの演算や制御信号の生成を行い、コンピュータ40の各構成を制御する。
【0097】
ここで、プログラム420および設定ファイル421は、基板処理装置100にそのまま搭載される「製品」であり、主にシミュレーションシステム1の試験(デバッグ)の対象となるソフトウェアである。プログラム420および設定ファイル421は、基板処理装置100を設計・開発する際に、オペレータ(プログラマ)によって作成される。
【0098】
このように、制御ユニット101にインストールされるプログラム420および設定ファイル421を記憶装置42に記憶し、当該プログラム420および設定ファイル421に基づいて、制御ユニット101と同等のハードウェアを制御することにより、コンピュータ40は制御ユニット101としての機能を発揮する。
【0099】
例えば、CPU41は、実装処理ユニット104に対する制御情報を生成し、生成した制御情報を、インタフェースユニット102を介して実装処理ユニット104に向けて送信するように通信部46を制御する。ただし、シミュレーションシステム1では、通信部46から送信される情報は、インタフェース模擬装置30を介してユニット模擬装置20に向けて送信される。また、CPU41は、シミュレータ10から通信部46が受信した情報に基づいて、新たな制御情報を生成したり、あるいは必要な情報を表示部44に表示させる。
【0100】
記憶装置42は、図示しないROM、RAMおよびハードディスク等から構成され、必要に応じて各種データを記憶する。特に、記憶装置42は、プログラム420および設定ファイル421を記憶する。
【0101】
操作部43は、各種ボタン類やキーボードおよびマウス等から構成され、オペレータがコンピュータ40を操作するためのデータを入力するために使用される。なお、シミュレーションシステム1が基板処理装置100のシミュレートを行っているとき、コンピュータ40を操作するために入力されるデータとは、主に基板処理装置100を操作するために入力されるデータに相当する。
【0102】
また、表示部44は、各種データを画面に表示する。表示部44は、基板処理装置100の制御ユニット101において表示されるデータを表示する機能を有している。
【0103】
コンピュータ40は、特に操作部43および表示部44について、実際の基板処理装置100に搭載される制御ユニット101と同等のハードウェアを採用する。これにより、コンピュータ40は、基板処理装置100の制御ユニット101と同じマンマシンインタフェース(特に表示部44に表示されるGUI)を提供できる。したがって、オペレータは、実際の制御ユニット101(基板処理装置100)を操作している感覚でコンピュータ40を操作できる。
【0104】
ディスク装置45は、可搬性の記憶媒体91を読み取る装置である。本実施の形態では、記憶媒体91に記憶されたプログラム420および設定ファイル421がディスク装置45によって読み取られ、記憶装置42に転送され記憶される。ディスク装置45としては、例えば、FDドライブ装置、CD−ROMドライブ装置およびDVDドライブ装置等が該当する。なお、ディスク装置45は、各種データを記憶媒体91に記憶させる(書き込む)機能を有していてもよい。
【0105】
通信部46は、コンピュータ40をネットワーク9に接続する。これにより、コンピュータ40とシミュレータ10との間でデータ通信が可能となる。ただし、通信部46の直接の通信相手先は、シミュレータ10のインタフェース模擬装置30に固定されており、通信部46はインタフェース模擬装置30を介さずにユニット模擬装置20との間でデータ通信することはできないようにされている。すなわち、コンピュータ40とユニット模擬装置20との間のデータ通信は、必ずインタフェース模擬装置30を介して行われる。
【0106】
図8は、操作ユニット50の構成を示す図である。操作ユニット50は、CPU51、記憶装置52、操作部53、表示部54および通信部56を備え、比較的小型で可搬性あるユニットである。
【0107】
一般に基板処理装置100は大型の装置であるため、基板処理装置100の制御ユニット101を操作するオペレータにとって、制御ユニット101の位置から各実装処理ユニット104の様子や表示状況(ランプやメータ等)を完全に把握することは難しい。
【0108】
そこで、基板処理装置100には、予め様々な位置にコネクタが設けられており、これに操作ユニット103を接続するように設計されている。すなわち、基板処理装置100は、オペレータが任意の位置にあるコネクタまで操作ユニット103を持参することにより、基板処理装置100を任意の位置で操作できるように構成されている。
【0109】
シミュレーションシステム1は、操作ユニット103(図10)と同じ操作ユニット50を用いることにより、操作ユニット103を用いた場合の基板処理装置100のシミュレーションも行えるよう構成されている。
【0110】
本来、操作ユニット103は、基板処理装置100のバリエーションにかかわらず、共通に用いられるユニットである。すなわち、基板処理装置100のバリエーションに応じて、シミュレーションシステム1の操作ユニット50をいくつも準備しておいて取り替える必要はない。したがって、シミュレーションシステム1において、操作ユニット103をそのまま操作ユニット50として採用したとしても、実装処理ユニット104のような問題は発生しない。
【0111】
なお、操作ユニット103をユニット模擬装置20によって模擬することも可能であり、その場合、シミュレーションシステム1において操作ユニット103のハードウェアは不要になる。しかし、その場合は、基板処理装置100のマンマシンインタフェース(特にハードウェアに依存する部分)を忠実に再現することはできない。
【0112】
CPU51は、プログラム520に従って動作することにより、各種データの演算や制御信号を生成する。なお、プログラム520は、基板処理装置100の操作ユニット103に搭載されるものと同じプログラムである。
【0113】
記憶装置52は、図示しないROMやRAM等から構成され、プログラム520の他、各種データを記憶する。
【0114】
操作部53は、オペレータが指示を入力するために使用される。また、表示部54は、適宜、情報(例えばGUI)を画面に表示する。
【0115】
以上のような本実施の形態におけるシミュレーションシステム1上で、試験対象のプログラム(プログラム420および設定ファイル421)を動作させると、基板処理装置100の制御ユニット101に表示される内容は、コンピュータ40の表示部44に表示される。また、このときの基板処理装置100における実装処理ユニット104の動作は、シミュレータ10によって模擬され、その動作状況は、ユニット模擬装置20の表示部24に表示される。
【0116】
したがって、シミュレーションシステム1を用いることにより、基板処理装置100の実装処理ユニット104を用いることなく、当該実装処理ユニット104を用いるのと同等の条件で、基板処理装置100のソフトウェア(プログラム420および設定ファイル421)のデバッグを行うことができる。したがって、基板処理装置100のソフトウェアの品質を向上させることが可能となる。
【0117】
<2. 第2の実施の形態>
第1の実施の形態では、基板処理装置100の制御ユニット101を、一般的なパーソナルコンピュータであるコンピュータ40によって模擬していた。しかし、制御ユニット101は、必ずしも模擬されなくてもよい。
【0118】
図9は、第2の実施の形態におけるシミュレーションシステム1aを示す図である。第2の実施の形態におけるシミュレーションシステム1aは、コンピュータ40の代わりに制御ユニット40aを備える点がシミュレーションシステム1と異なる。
【0119】
本来、制御ユニット101はネットワーク9に接続する機能を有している。したがって、コンピュータ40の代わりに、制御ユニット101と同じ制御ユニット40aをネットワーク9に接続することも可能である。
【0120】
制御ユニット101は、操作ユニット103と同様に、基板処理装置100のバリエーションにかかわらず、共通に用いられるユニットである。すなわち、シミュレーションシステム1aにおいて制御ユニット40aを用いるように構成したとしても、基板処理装置100のバリエーションに応じて、制御ユニット40aをいくつも準備しておいて取り替える必要はない。したがって、シミュレーションシステム1aのように、制御ユニット101をそのまま制御ユニット40aとして採用したとしても、実装処理ユニット104のような問題は発生しない。
【0121】
以上のように、第2の実施の形態におけるシミュレーションシステム1aは、シミュレータ10に接続する外部装置として、基板処理装置100の制御ユニット40aを用いることにより、第1の実施の形態におけるシミュレーションシステム1と同様の効果を得ることができる。
【0122】
また、コンピュータ40の代わりに制御ユニット40aを用いることにより、第2の実施の形態におけるシミュレーションシステム1aは、第1の実施の形態におけるシミュレーションシステム1に比べて、より実機に近い環境でデバッグを行うことができる。
【0123】
<3. 変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【0124】
例えば、上記実施の形態では、制御ユニット101の機能を有するコンピュータ40(または制御ユニット40a)と、ユニット模擬装置20とを別々のコンピュータで実現していたが、これを1台のコンピュータで実現することも可能である。
【0125】
例えば、ユニット模擬装置20とインタフェース模擬装置30との間のネットワークは、ネットワーク9を兼用しなくてもよい。すなわち、ユニット模擬装置20とインタフェース模擬装置30とを別途ケーブルで接続してもよい。あるいは、インタフェース模擬装置30をユニット模擬装置20に収納可能なインタフェースボードとして構成し、シミュレータ10を一体化された装置として構成することも可能である。その場合は、シミュレータ10を小型化でき、しいてはシミュレーションシステム1を小型化できる。
【図面の簡単な説明】
【0126】
【図1】本発明に係るシミュレーションシステムを示す図である。
【図2】ユニット模擬装置の構成を示す図である。
【図3】ユニット模擬装置の機能ブロックを示す図である。
【図4】定義リストにおいて模擬動作を定義する例を示す図である。
【図5】インタフェース模擬装置の構成を示す図である。
【図6】インタフェース模擬装置の機能ブロックを示す図である。
【図7】コンピュータの構成を示す図である。
【図8】操作ユニットの構成を示す図である。
【図9】第2の実施の形態におけるシミュレーションシステムを示す図である。
【図10】基板処理装置の構成を示す図である。
【符号の説明】
【0127】
1,1a シミュレーションシステム
10 シミュレータ
20 ユニット模擬装置
211 ユニット模擬部
220 プログラム
221 定義リスト
222 入力情報
223 出力情報
26 通信部
30 インタフェース模擬装置
310,311,312 データ転送部
320 プログラム
33 第1通信部
40 コンピュータ
40a 制御ユニット
420 プログラム
421 設定ファイル
9 ネットワーク
100 基板処理装置
101 制御ユニット
102 インタフェースユニット
104 実装処理ユニット

【特許請求の範囲】
【請求項1】
基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、
前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
を備えることを特徴とするシミュレータ。
【請求項2】
請求項1に記載のシミュレータであって、
前記ユニット模擬部の動作状況を表示する表示部をさらに備えることを特徴とするシミュレータ。
【請求項3】
請求項1または2に記載のシミュレータであって、
前記ユニット模擬部が動作を模擬する実装処理ユニットに、基板を搬送する搬送ユニットが含まれることを特徴とするシミュレータ。
【請求項4】
基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、
前記ソフトウェアが動作することにより前記基板処理装置の制御ユニットの機能を有するコンピュータと、
前記コンピュータに接続されるシミュレータと、
を備え、
前記シミュレータは、
前記コンピュータから得られる情報に基づいて、前記基板処理装置の実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
前記コンピュータと前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
を備えることを特徴とするシミュレーションシステム。
【請求項5】
基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、
前記基板処理装置の制御ユニットと、
前記制御ユニットに接続されるシミュレータと、
を備え、
前記シミュレータは、
前記制御ユニットから得られる情報に基づいて、前記基板処理装置の実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
前記制御ユニットと前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
を備えることを特徴とするシミュレーションシステム。
【請求項6】
コンピュータ読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、
前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
を備えるシミュレータとして機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−84075(P2008−84075A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−264340(P2006−264340)
【出願日】平成18年9月28日(2006.9.28)
【出願人】(000207551)大日本スクリーン製造株式会社 (2,640)
【Fターム(参考)】