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

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

Info

Publication number
JP2008090394A
JP2008090394A JP2006267840A JP2006267840A JP2008090394A JP 2008090394 A JP2008090394 A JP 2008090394A JP 2006267840 A JP2006267840 A JP 2006267840A JP 2006267840 A JP2006267840 A JP 2006267840A JP 2008090394 A JP2008090394 A JP 2008090394A
Authority
JP
Japan
Prior art keywords
unit
information
processing apparatus
simulation
substrate processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006267840A
Other languages
English (en)
Inventor
Koichi Matsuda
浩一 松田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dainippon Screen Manufacturing Co Ltd
Original Assignee
Dainippon Screen Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dainippon Screen Manufacturing Co Ltd filed Critical Dainippon Screen Manufacturing Co Ltd
Priority to JP2006267840A priority Critical patent/JP2008090394A/ja
Publication of JP2008090394A publication Critical patent/JP2008090394A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】コストを抑制しつつ、基板処理装置のソフトウェアの品質を向上させる。
【解決手段】基板処理装置の実装処理ユニットの動作を模擬するユニット模擬部211と、操作部23から得られる試験に関する指示情報に基づいてユニット模擬部211を制御する表示制御部213と、試験情報224を生成する情報生成部214とを設ける。試験を開始する前に、予め情報生成部214によってシミュレートのシナリオ(試験条件)としての試験情報224を作成する。すなわち、試験においてオペレータが指示すべき情報を予め試験情報224として生成する。試験が開始されると、表示制御部213は、予め作成された試験情報224を参照することにより、試験情報224に記述されている内容の指示情報があったものとして、ユニット模擬部211を制御する。
【選択図】図10

Description

本発明は、基板処理装置のソフトウェアを試験する技術に関する。
基板の製造工程においては、制御ユニットと複数の実装処理ユニットとを備えた基板処理装置が用いられる。
図31は、基板処理装置100の構成を示す図である。基板処理装置100は、制御ユニット101、インタフェースユニット102、操作ユニット103および複数の実装処理ユニット104を備える。
制御ユニット101は、ネットワーク9を介してインタフェースユニット102と接続され、詳細は説明しないが一般的なパーソナルコンピュータを構成するハードウェアを備えている。制御ユニット101は、専用のソフトウェア(プログラムや設定ファイル等)に従って動作し、ネットワーク9およびインタフェースユニット102を介して、複数の実装処理ユニット104を制御する。
インタフェースユニット102は、実装処理ユニット104をネットワーク9に接続する機能を有する。これにより、実装処理ユニット104におけるデータ通信が個々に異なるプロトコルであったり、あるいは直接ネットワーク9に接続できないプロトコルであっても、制御ユニット101との間でデータの送受信を行うことができる。
操作ユニット103は、インタフェースユニット102に接続され、オペレータが基板処理装置100を操作するのに必要な指示を入力するために使用される。操作ユニット103をインタフェースユニット102に接続するための端子(コネクタ)は、一般には実装処理ユニット104の位置に設けられている。
個々の実装処理ユニット104は基板に対してぞれぞれが所定の処理(例えば、搬送処理、洗浄処理、塗布処理、検査処理、露光処理および現像処理等)を実行する。実装処理ユニット104は、複数の処理ユニットからユーザの要望等に基づいて選択されて、基板処理装置100に搭載される。
このように、基板処理装置100は、複数の実装処理ユニット104を備え、制御ユニット101の制御によって、これら複数の実装処理ユニット104が基板に対してそれぞれ決められた処理を行うことにより、基板に対する一連の処理が実行される。
基板に対して実行すべき処理は、基板の製造段階や製造する基板の種類等に応じて異なる。したがって、基板処理装置100に要求される実装処理ユニット104の数および種類は状況に応じて様々に変化する。すなわち、実装処理ユニット104の数および種類に応じてハードウェア構成の異なる様々なバリエーションの基板処理装置100が存在することとなる。そして、基板処理装置100のハードウェア構成が異なれば、制御ユニット101の制御対象が異なるので、それに応じて制御ユニット101のソフトウェアを開発する必要がある。
基板処理装置100に限らずソフトウェアを開発する場合のデバッグは、当該ソフトウェアが動作するハードウェアをデバッグ機として準備して行うことが好ましい。しかし、基板処理装置100の個々の実装処理ユニット104は、比較的大型かつ高価な装置であるため、様々なバリエーションの基板処理装置100を随時デバッグ機として準備することは事実上不可能である。
そこで従来より、基本構成の基板処理装置100をデバッグ機として組み立て、これを用いて個々に開発したソフトウェアのデバッグを行っていた。
特開2003−345624号公報
ところが、従来のデバッグにおいて使用される基本構成の基板処理装置100といえども大型かつ高価であるため、充分な台数を確保することがスペースおよびコストの両面において困難であり、試験が充分に行えないという問題があった。また、ソフトウェアが動作するハードウェア構成と、デバッグ機のハードウェア構成とが必ずしも一致しないために、ソフトウェアの試験内容が限定されるという問題があった。
すなわち、従来の技術では、基板処理装置の開発環境が充分でないために、基板処理装置(ソフトウェア)の試験が不充分となり、品質が低下するという問題があった。
本発明は、上記課題に鑑みなされたものであり、コストを抑制しつつ、基板処理装置のソフトウェアの品質を向上させることを目的とする。
上記の課題を解決するため、請求項1の発明は、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、オペレータによる指示情報を受け付ける操作部と、前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部とを備えることを特徴とする。
また、請求項2の発明は、基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、前記ソフトウェアが動作することにより前記基板処理装置の制御ユニットの機能を有するコンピュータと、前記コンピュータに接続されるシミュレータとを備え、前記シミュレータは、オペレータによる指示情報を受け付ける操作部と、前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部とを備えることを特徴とする。
また、請求項3の発明は、基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、前記基板処理装置の制御ユニットと、前記制御ユニットに接続されるシミュレータとを備え、前記シミュレータは、オペレータによる指示情報を受け付ける操作部と、前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部とを備えることを特徴とする。
また、請求項4の発明は、コンピュータ読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、オペレータによる指示情報を受け付ける操作部と、前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部とを備えるシミュレータとして機能させることを特徴とする。
請求項1ないし4に記載の発明では、基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成し、生成された試験情報に応じて、ユニット模擬部を制御することにより、オペレータの負担を増大させることなく、試験の品質を向上できる。したがって、コストを抑制しつつ、ソフトウェアの品質を向上できる。
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
<1. 第1の実施の形態>
図1は、本発明に係るシミュレーションシステム1と情報処理装置6とを示す図である。
基板処理装置には、実装可能な複数の処理ユニットが製品のラインナップとして準備されており、これらのうちからユーザの要望等に応じて必要な処理ユニットが選択されて、組み合わされる。すなわち、基板処理装置は、複数の処理ユニットの組合せで構成され、カスタマイズによって様々なバリエーションが存在する。
以下の説明では、便宜上、シミュレーションシステム1のシミュレートの対象となる基板処理装置として図31に示す基板処理装置100を例に説明する。すなわち、シミュレーションシステム1は、基板処理装置100のために開発されたソフトウェアを試験(デバッグ)するシステムとして説明する。
なお、実装処理ユニット104は基板に何らかの処理を行うユニットであって、具体的には、洗浄ユニット、搬送ユニット、乾燥ユニット、加熱ユニット、冷却ユニット、塗布ユニット、現像ユニット、検査ユニット、除去(剥離)ユニット等が相当する。ただし、実装処理ユニット104はこれらに限定されるものではなく、直接的に基板に対する処理を行わない液供給ユニットのようなユニットも含む。
また、実装処理ユニット104は、複数のハードウェアを有するものに限定されるものではなく、制御可能で、かつ所定の動作を行うハードウェアであれば、個々のランプやセンサ、ブザー、モータ等の単体のハードウェアであってもよい。ただし、説明の都合上、「実装処理ユニット」には、「制御ユニット」、「インタフェースユニット」および「操作ユニット」は含まないものとする。
シミュレーションシステム1は、シミュレータ10と、コンピュータ40と、操作ユニット50とを備える。シミュレーションシステム1において、シミュレータ10とコンピュータ40とは、ネットワーク9を介して接続される。また、シミュレーションシステム1(主にシミュレータ10のユニット模擬装置20)は、情報処理装置6との間で、記憶媒体90を介してデータのやりとりを行う。ただし、データのやりとりは、これに限られるものではなく、例えば、シミュレーションシステム1と情報処理装置6とをネットワークで接続し、通信によってデータのやりとりを行ってもよい。
ネットワーク9は、一般的なコンピュータを相互に接続するネットワークである。本実施の形態では、ネットワーク9として、図31に示す基板処理装置100において、制御ユニット101とインタフェースユニット102との間で採用されるネットワークを採用する。
シミュレータ10は、ユニット模擬装置20およびインタフェース模擬装置30を備え、ユニット模擬装置20とインタフェース模擬装置30とはネットワーク9を介して接続される。
図2は、ユニット模擬装置20の構成を示す図である。
図2に示す定義リスト221は、様々なパラメータや定義式、設定等の情報を含む情報の集合体である。定義リスト221は、主に本発明における定義情報に相当する。定義リスト221には、基板処理装置100に搭載される実装処理ユニット104の模擬動作を定義する情報(振る舞い定義ファイル)や、入力情報のデフォルト値を定義する情報(デフォルト定義ファイル)等が含まれる。
図3は、定義リスト221を生成する情報処理装置6の構成を示す図である。
情報処理装置6は、CPU61、記憶装置62、操作部63、表示部64およびディスク装置65を備え、一般的なパーソナルコンピュータとしての機能を有している。
CPU61は、プログラム620に従って動作することにより、情報処理装置6の各構成を制御する。
図4は、情報処理装置6の機能ブロックを示す図である。図4に示す情報生成部610および誤り検出部611が、主にCPU61がプログラム620に従って動作することにより実現される機能ブロックである。
情報生成部610は、記憶装置62に記憶された設定ファイル421および基礎ファイル621に基づいて、基板処理装置100を構成する実装処理ユニット104の動作を模擬するシミュレータ10のための定義リスト221を生成する。すなわち、設定ファイル421および基礎ファイル621が、主に本発明における基礎情報に相当する。
なお、設定ファイル421とは、基板処理装置100に搭載される実装処理ユニット104に応じて生成される情報であり、基板処理装置100を動作させるために必要な情報である。すなわち、設定ファイル421は、基板処理装置100のソフトウェアの一部であり、基板処理装置100にインストールされる。
また、基礎ファイル621とは、複数のファイルの集合体であって、処理ユニットの仕様書(あるいは設計書)とも言える情報を含む。すなわち、基礎ファイル621は、すべての処理ユニットについて、個々の処理ユニットを設計・開発する段階で、オペレータ(開発担当)によって予め作成される。
図5は、基礎ファイル621に含まれるアドレス基礎ファイル622を例示する図である。アドレス基礎ファイル622には、各シンボルに対して「振る舞い定義式」と呼ばれる模擬動作を定義する式が個々に関連付けられている。
また、図6は、基礎ファイル621に含まれる温調器基礎ファイル623を例示する図である。さらに、図7は、基礎ファイル621に含まれる干渉判定基礎ファイル624を例示する図である。
誤り検出部611は、情報生成部610によって生成された定義リスト221の誤り(エラー)を検出する。誤り検出部611は、定義リスト221に誤りを検出した場合には、図示しないエラーログを生成する。なお、エラーログとは、エラーを記録した履歴ファイルであって、エラーが発生したファイル名やエラーの内容等が記録される。
記憶装置62は、図示しないROM、RAMおよびハードディスク等から構成され、プログラム620や各種データを記憶する。特に、記憶装置62は、ディスク装置65によって取得された設定ファイル421および基礎ファイル621を記憶する。また、情報生成部610により生成された定義リスト221も、一旦、記憶装置62に記憶される。
操作部63はキーボードやマウス等から構成され、オペレータが情報処理装置6に必要な情報を入力するために使用する。
表示部64は、例えば一般的なディスプレイ装置であって、CPU61からの指示に従って、各種データを画面に表示する。
本実施の形態における情報処理装置6では、ディスク装置65が記憶媒体90に記憶されている設定ファイル421および基礎ファイル621を読み取ることにより、基板処理装置100の構成を規定する基礎情報を取得する。すなわち、ディスク装置65は、本発明における情報取得手段に相当する。
また、ディスク装置65は、情報生成部610により生成された定義リスト221を記憶媒体90に書き込む(出力する)機能を有しており、出力された定義リスト221は、シミュレータ10(ディスク装置25:図2)によって読み取られる。すなわち、ディスク装置65は、本発明における出力手段にも相当する。
なお、基礎情報の取得、あるいは定義情報の出力は、記憶媒体90を介する手法に限定されない。例えば、設定ファイル421および基礎ファイル621を作成する端末装置と、情報処理装置6とをネットワークで接続し、ダウンロードすることにより取得してもよい。また、情報処理装置6をネットワーク9に接続して、情報処理装置6が定義リスト221をシミュレータ10に送信してもよい。さらに、これらの手法を併用することも可能である。
図8および図9は、情報処理装置6が定義リスト221を作成する動作を示す流れ図である。
定義リスト221を作成する処理が開始されると、情報生成部610は、まず、設定ファイル421を参照して(ステップS11)、基板処理装置100の実装処理ユニット104を判定する。本実施の形態では、設定ファイル421に含まれるファイル名に基づいて、基板処理装置100を構成する実装処理ユニット104を判定する。ただし、設定ファイル421に、例えば、実装処理ユニット104の識別子(型式番号等)を格納したファイルを含めるようにして判定してもよい。
基板処理装置100を構成する実装処理ユニット104が判明すると、情報生成部610は、これに応じて定義リスト221を作成するために必要な基礎ファイル名を取得する(ステップS12)。これにより、基礎ファイル621に含まれる複数のファイルの中から参照されるファイルが確定する。すなわち、情報生成部610は、設定ファイル421を参照することにより、基礎ファイル621の中から定義リスト221を作成するために必要なファイル(情報)を特定する。
次に、実装処理ユニット104に応じて必要な定義ファイルを作成することにより、定義リスト221を生成する(ステップS13)。ただし、この時点では、定義リスト221を構成する複数の定義ファイルが作成されるだけであり、必要な情報は未だ個々の定義ファイルに格納されない。
必要な定義ファイルを作成すると、情報生成部610は、ステップS12で取得した基礎ファイル名に基づいて、そのうちから参照する基礎ファイルを1つ特定する(ステップS14)。さらに、特定した基礎ファイルを開いて、定義リスト221に必要な情報を抽出し(ステップS15)、定義リスト221の必要な定義ファイルに所定の形式で出力する(ステップS16)。さらに、ステップS15,S16の処理を、基礎ファイルの最後まで繰り返す(ステップS17)。
本実施の形態におけるステップS14ないしS17の処理を、図5に示すアドレス基礎ファイル622を例に説明する。
まず、ステップS14においてアドレス基礎ファイル622を特定すると、情報生成部610は、アドレス基礎ファイル622を開いて、各レコードに格納されている情報をシンボルごとに順次取得する。
図5に示す例では、一つ目には、デフォルト値「1」が格納されているので、定義リスト221に含まれるデフォルト定義ファイルに、例えば、「CHB/InLevelLeakageDetection,1」のように出力する。また、一つ目のレコードは最終レコードではなく、未だアドレス基礎ファイル622に含まれる全レコードについて処理を終了していないので、ステップS17においてNoと判定し、ステップS15に戻る。
次に、二つ目のレコードには、振る舞い定義式、デフォルト値およびアナログ値のいずれにおいても「−」が格納されているので、定義リスト221に必要のない情報とみなして、当該レコードに格納されている情報は抽出しない。
さらに、三つ目のレコードには、振る舞い定義式に「$Level>=4」と格納されているので、定義リスト221に含まれる振る舞い定義ファイルに、例えば、「InLevelFixedDetection,$Level>=4,"定量OFF"」のように出力する。
このようにして処理を繰り返すことにより、アドレス基礎ファイル622の全レコード(全シンボル)について処理が終了すると、情報生成部610は、ステップS17においてYesと判定する。すなわち、ステップS17においてYesと判定されるごとに、1つの基礎ファイルについての処理が終了する。
なお、温調器基礎ファイル623および干渉判定基礎ファイル624についても、同様に、各レコードごとに所定の書式で定義リスト221に出力される。
次に、誤り検出部611は、ステップS14において特定した基礎ファイル(ステップS17において処理が終了した基礎ファイル)から振る舞い定義ファイルが作成されている場合、当該振る舞い定義ファイルにおいて、定義式の異なる同一のシンボルが複数あるか否かを判定する(ステップS21)。
複数の同一のシンボルにおいて、定義式が異なっていた場合、シミュレータ10は、当該シンボルにおいて、どのように模擬動作を実行すればよいか決定できない。したがって、この場合(ステップS21においてYesと判定した場合)は、誤り検出部611は、エラーログを出力し(ステップS22)、情報処理装置6は処理を継続する。
このように、定義リスト221にエラーが発生した場合であっても、一旦処理を継続することにより、必要な定義リスト221をひとまず完成できる。すなわち、1つのエラーのために、他のファイルの作成が阻害されることが防止できる。なお、エラーログが生成された場合、後に、オペレータがその内容を確認し、エディタ等を用いて手動で定義リスト221を修正する。
一方、ステップS21においてNoと判定した場合、誤り検出部611は、エラーログを出力せず、情報処理装置6は、ステップS22をスキップして処理を継続する。なお、複数の同一のシンボルについて定義式が存在したとしても、それらの定義式が同一である場合には、誤り検出部611がその一方をファイルから消去し、情報処理装置6は、ステップS22をスキップする。
次に、誤り検出部611は、作成された定義リスト221のデータチェックにおいて不整合があるか否かを判定する(ステップS23)。不整合の具体例としては、例えば、同一のシンボルについて異なるデフォルト値が設定されている場合や、設定ファイル421と基礎ファイル621が矛盾する場合、あるいは、振る舞い定義式の「AND」や「OR」等の演算子で複数のシンボルが定義されており、その中に基板処理装置100に存在しないシンボル(搭載されていない処理ユニットに関するシンボル)が使用されている場合等である。
ステップS23において、不整合がない場合、情報処理装置6はステップS24ないしS26をスキップする。
一方、ステップS23において、不整合があった場合、誤り検出部611は、さらにその不整合が修正可能か否かを判定する(ステップS24)。そして、修正可能であった場合は、誤り検出部611が定義リスト221の不整合箇所を修正する(ステップS25)。例えば、作成した振る舞い定義ファイルの振る舞い定義式において、「InDiwPress,"OR(OutInDIWValve,OutOutDIWValve) ? 1140:0","純水圧力"」と定義されている場合において、OutInDIWValveは定義されているが、OutOutDIWValveについては定義がない場合、誤り検出部611は、定義リスト221の定義式を「InDiwPress,"OutInDIWValve ? 1140:0","純水圧力"」のように修正する。なお、修正可能でない不整合が発生している場合(ステップS24においてNo)、誤り検出部611は、ステップS26を実行することにより、ステップS22と同様にエラーログを出力する。
次に、情報生成部610は、ステップS12において取得した基礎ファイル名に基づいて、全ての基礎ファイル621について処理を終了したか否かを判定し(ステップS27)、まだ未処理の基礎ファイル621が残っている場合はステップS14に戻って処理を繰り返す。
一方、全ての基礎ファイル621について処理を終了した場合、情報処理装置6は、表示部64に終了メッセージを表示して(ステップS28)、処理を終了する。
以上のようにして、情報処理装置6は、基板処理装置100を設計する際に生成される基礎情報(設定ファイル421および基礎ファイル621)に基づいて、定義リスト221を予め作成する。ユーザの要望に応じて、基板処理装置100が設計されると(ハードウェア構成が決定されると)、それに応じて情報処理装置6が定義リスト221を作成する。
基板処理装置100は、非常に多くのハードウェア(デバイス)を搭載しているため、定義リスト221において定義すべき情報は非常に多量である。例えば、オペレータが240〜300時間程度かかって作成する定義リスト221を、情報処理装置6によって作成すると0.5時間程度で作成できる。すなわち、基板処理装置100のソフトウェアのデバッグ効率を大幅に向上できる。
なお、定義リスト221を作成するためには、設定ファイル421および基礎ファイル621を作成する必要がある。しかし、設定ファイル421は製品であるため、基板処理装置100を製造する限り、必ず作成しなければならない情報であり、定義リスト221のために作成するものではない(すなわち、工数は増加しない)。また、基礎ファイル621は、1回作成すれば、どのような構成の基板処理装置100にも適用可能な情報である。したがって、基板処理装置100ごとに定義リスト221をオペレータが作成することに比べれば、基礎ファイル621を一度作成する方がオペレータの負担は軽減される。
オペレータは、基板処理装置100のソフトウェアのデバッグ作業に先立って、情報処理装置6によって生成された定義リスト221を、ディスク装置65に装着した記憶媒体90に記憶させる。さらに、オペレータは、定義リスト221を記憶した記憶媒体90を、シミュレータ10のディスク装置25に読み込ませて、記憶装置22に記憶させる。
図2に戻って、ユニット模擬装置20は、CPU21、記憶装置22、操作部23、表示部24、ディスク装置25および通信部26を備え、一般的なパーソナルコンピュータとしての機能を有している。
CPU21は、記憶装置22に記憶されているプログラム220に従って動作するとともに、必要に応じて定義リスト221を参照することにより、ユニット模擬装置20の各構成を制御する。
図10は、ユニット模擬装置20の機能ブロックを示す図である。図10に示すデータ転送部210、ユニット模擬部211、表示制御部213および情報生成部214は、主にCPU21がプログラム220に従って動作することにより実現される機能ブロックである。
データ転送部210は、通信部26がインタフェース模擬装置30から受信した情報を入力情報222として記憶装置22に転送する。また、データ転送部210は、出力情報223のうち、コンピュータ40(あるいは操作ユニット50)に送信すべき情報を通信部26に伝達してインタフェース模擬装置30に向けて送信させる。
ユニット模擬部211は、複数のデバイス模擬部212(第1模擬部212a、第2模擬部212b、・・・、第n模擬部212n(nは自然数))を備えている。ユニット模擬部211は、基板処理装置100に搭載されている複数のデバイスを、1つずつ第1模擬部212a、第2模擬部212b、・・・、第n模擬部212nのいずれかに割り当てる。
詳細は後述するが、デバイスを割り当てられたデバイス模擬部212は、それぞれが割り当てられたデバイスの動作を個々に模擬する。
ここで、実装処理ユニット104を構成しないデバイス(基板処理装置100に搭載されないデバイス)は、定義リスト221に模擬動作が定義されることはない。逆に言えば、定義リスト221において、模擬動作が定義されているデバイスは、有効なハードウェア(基板処理装置100に搭載されるデバイス)を示しており、ユニット模擬装置20はこれを模擬する必要がある。
したがって、ユニット模擬部211は、定義リスト221を参照することにより、デバイス模擬部212に割り当てることが必要なデバイスを判断する。
図11は、定義リスト221において模擬動作を定義する例を示す図である。本実施の形態におけるシミュレータ10では、デバイス(ハードウェア)ごとにCSV形式で模擬動作を定義することにより予め定義リスト221を作成し記憶しておく。図11に示す例は、「バルブ開出力」がONにされると、1sec後に「バルブ開確認入力」をONにするという「純水回収バルブ」の模擬動作を定義している。
これを参照することにより、ユニット模擬部211は、「純水回収バルブ」を、例えば第1模擬部212aに割り当てる。また、同じデバイスであっても、模擬動作は複数定義される(例えばバルブ開動作とバルブ閉動作)。したがって、ユニット模擬部211は、同一のデバイスが重複した場合は、新たに割り当ては行わない。
より詳しくは、ユニット模擬部211は、予め第1模擬部212a、第2模擬部212b、・・・、第n模擬部212nを備えているのではなく、定義リスト221を参照することにより、新たに割り当てが必要なデバイスを発見したときに、新たなデバイス模擬部212を生成して、これに当該デバイスを割り当てる。
このように、記憶装置22に定義リスト221が予め記憶されているので、ユニット模擬部211は、シミュレーションの対象となる基板処理装置100に搭載されるすべてのデバイス(模擬する必要があるデバイス)を、デバイス模擬部212に割り当てることができる。
処理ユニットは、通常、1つ以上のデバイスから構成される。そして、この処理ユニットが、実装処理ユニット104として基板処理装置100に搭載されると、処理ユニットを構成するすべてのデバイスは基板処理装置100に搭載されることとなる。したがって、基板処理装置100に搭載されるすべてのデバイスをデバイス模擬部212に割り当てて、各デバイス模擬部212がそれらの動作を模擬することによって、ユニット模擬部211は、すべての実装処理ユニット104の動作を模擬する。
表示制御部213は、シミュレーションの状況を表示させる機能およびシミュレーションシステム1におけるGUIを提供する機能を有する機能ブロックである。
シミュレーションの状況を表示させる機能として、例えば、表示制御部213は、デバイスが割り当てられたデバイス模擬部212に対して、所定の表示領域を割り当てる。そして、ユニット模擬部211からこれらデバイス模擬部212の状況に関する情報を取得して、表示部24に表示させる。このとき、デバイス模擬部212の状況を文字情報として表示するだけでなく、デバイス模擬部212に対応するデバイスの特性に応じて、その表示形式を変えることも可能である。
例えば、デバイス模擬部212によって模擬するデバイスが「ランプ」である場合、このランプを模擬的に表した画像を表示領域に表示させ、これを擬似的に点滅させることによってデバイス模擬部212の状況を表示させる。すなわち、デバイスが何らかの表示デバイスである場合、表示部24にその表示を模擬させる。
これにより、オペレータは、より実機に近い状態で、シミュレーションの状況をモニタリングできる。なお、表示部24によって模擬されるハードウェア(デバイス)としては、「ランプ」だけに限られるものではなく、例えば、「ゲージ」や「メータ」「パネル」等であってもよい。
また、表示制御部213は、操作部23からオペレータの指示情報を受け取り、表示部24の表示(表示領域)を切り替える。これにより、オペレータは注目しているデバイス(実装処理ユニット104)についての状況を容易に確認できる。なお、表示部24に表示される情報(表示領域)は同時に表示されてもよい。
表示制御部213のGUI提供機能としては、表示部24にGUI画面を表示させるとともに、GUIに従ってオペレータによって入力された指示情報を操作部23から受け取り、主にユニット模擬部211に伝達する。このようにして入力される指示情報として、例えば定義リスト221に定義されている内容を変更する情報がある。例えば、このような指示情報の入力があった場合は、入力された情報を定義リスト221に定義されている情報に優先するように伝達することにより、シミュレータ10は、試験内容(シミュレート条件)を変更できる。
具体例を挙げると、液漏れ検出センサの動作(出力)は、液漏れのない状態を想定して、デフォルト値として「OFF」がデフォルト定義ファイル(定義リスト221)に設定されている。しかし、このデフォルト値をオペレータが「ON」に変更することにより、液漏れが発生している状態を擬似的に作り出して試験を行うことができる。
このように、表示制御部213がシミュレータ10のGUI機能を提供し、操作部23からの指示情報に従って、ユニット模擬部211を制御する機能を有しているため、オペレータは任意の条件で試験を行うことができる。
さらに、表示制御部213は、情報生成部214により生成された試験情報224に応じて、オペレータからの指示情報が入力された場合と同様に、ユニット模擬部211を制御する。すなわち、表示制御部213は、主に本発明の試験制御部に相当する。
情報生成部214は、操作部23が受け付けた指示情報に基づいて、基板処理装置100のソフトウェアに対する試験内容を規定する試験情報224を予め生成する。
図2に戻って、記憶装置22は、図示しないROM、RAMおよびハードディスク等から構成され、各種データを適宜記憶する。特に、本実施の形態における記憶装置22は、プログラム220、定義リスト221および試験情報224を記憶する。
操作部23は、各種ボタン類やキーボードおよびマウス等から構成され、オペレータがユニット模擬装置20を操作する際に、必要なデータを入力するために使用される。特に、操作部23は、表示部24に表示される画面(GUI)に従って、データを入力する際に使用される。また、操作部23は、試験情報224を作成する場合にも、必要な指示情報を入力するために使用される。
表示部24は、表示制御部213に従って、各種データを画面に表示する。先述のように、表示部24は、デバイス模擬部の動作状況や、定義リスト221の内容等を表示する。このように、オペレータは、表示部24に表示される動作状況を確認することによって、実装処理ユニットがシミュレーションされる状況を容易にモニタリングできる。
ディスク装置25は、可搬性の記憶媒体90を読み取る装置である。本実施の形態では、記憶媒体90に記憶された定義リスト221がディスク装置25によって読み取られ、記憶装置22に転送され記憶される。ディスク装置25としては、例えば、FDドライブ装置、CD−ROMドライブ装置およびDVDドライブ装置等が該当する。なお、ディスク装置25は、各種データを記憶媒体90に記憶させる(書き込む)機能を有していてもよい。
通信部26は、ユニット模擬装置20をネットワーク9に接続する機能を有し、インタフェース模擬装置30との間でデータ通信を行う。
シミュレーションシステム1では、コンピュータ40とインタフェース模擬装置30とを接続するネットワーク9を、ユニット模擬装置20とインタフェース模擬装置30とを接続するネットワークとしても使用する。このようにネットワーク9を兼用することにより、ユニット模擬装置20とインタフェース模擬装置30とを接続するためのネットワークを別途構築する必要がない。
また、本実施の形態における通信部26は、基板処理装置100におけるインタフェースユニット102と実装処理ユニット104との間で採用されるプロトコルにかかわらず、インタフェース模擬装置30との間で、ネットワーク9を用いるプロトコルでデータ通信を行う。
このように、ユニット模擬装置20とインタフェース模擬装置30との間で、一般的なプロトコルを採用することにより、シミュレータ10は、ユニット模擬装置20のハードウェアとして市販のパーソナルコンピュータを用いることができ、装置コストを抑制できる。
また、図Bから明らかなように、基板処理装置100において、各実装処理ユニット104の直接的な通信相手はインタフェースユニット102に固定されている。すなわち、実装処理ユニット104は、直接的にはインタフェースユニット102とのみデータ通信を行い、制御ユニット101との間で直接的なデータ通信は行わない。
一方、シミュレーションシステム1において、通信部26はネットワーク9に接続される。したがって、ネットワーク9を介してユニット模擬装置20とコンピュータ40とが接続され、ハードウェア的にはユニット模擬装置20とコンピュータ40との間で直接的なデータ通信が可能である。
しかし、ユニット模擬装置20の通信部26は、ネットワーク9を使用しつつも、直接的にはインタフェース模擬装置30とのみ通信を行う。
図12は、インタフェース模擬装置30の構成を示す図である。インタフェース模擬装置30は、CPU31、記憶装置32、第1通信部33および第2通信部34を備えている。インタフェース模擬装置30は、制御ユニット101の機能を有する外部装置(コンピュータ40)にネットワーク9を介して接続され、コンピュータ40とユニット模擬装置20との間のデータ通信を行う機能を有している。
CPU31は、記憶装置32に記憶されているプログラム320に従って動作することにより、インタフェース模擬装置30の各構成を制御する。
記憶装置32は、図示しないROMやRAMから構成され、各種データを適宜記憶する。特に、記憶装置32は、プログラム320を記憶する。
第1通信部33および第2通信部34は、ネットワーク階層モデルにおける下位層(いわゆる物理層)に相当し、具体的には端子やケーブル等のハードウェアである。
第1通信部33は、インタフェース模擬装置30をネットワーク9に接続する。これにより、コンピュータ40とインタフェース模擬装置30とデータ通信、およびユニット模擬装置20とインタフェース模擬装置30とのデータ通信が実現される。
シミュレーションシステム1では、コンピュータ40とインタフェース模擬装置30との間のデータ通信には、基板処理装置100における制御ユニット101とインタフェースユニット102との間のデータ通信に用いられるプロトコルを採用する。本実施の形態における基板処理装置100は、制御ユニット101とインタフェースユニット102との間で、TCP/IPプロトコルにてデータ通信を行う。したがって、本実施の形態における第1通信部33は、TCP/IPプロトコルに準拠したハードウェアインタフェースとなっている。
第1通信部33は、先述のように、ユニット模擬装置20とインタフェース模擬装置30とを接続する機能も有する。しかし、基板処理装置100におけるインタフェースユニット102と各実装処理ユニット104とを接続するプロトコル(以下、「ローカルプロトコル」と称する)は、TCP/IPプロトコルに限られない。むしろ、TCP/IPプロトコルはローカルプロトコルとして採用されていない。
ローカルプロトコルは、個々の実装処理ユニット104を構成するハードウェアの特性に応じて適切なプロトコルが採用されるため、実装処理ユニット104ごとに異なる場合もある。このようなローカルプロトコルとして、基板処理装置100は、例えば、I/Oポートによるプロトコル、シリアル通信ポートによるプロトコル、およびモータドライバによるプロトコル等を採用する。
すなわち、インタフェース模擬装置30における第1通信部33は、コンピュータ40との間では制御ユニット101とインタフェースユニット102との間のプロトコルをそのまま再現する一方で、ユニット模擬装置20との間では個々のローカルプロトコルをすべてTCP/IPプロトコルによって模擬する。
第2通信部34は、インタフェース模擬装置30と操作ユニット50とを接続する。第2通信部34は、基板処理装置100におけるインタフェースユニット102と操作ユニット103との間のデータ通信に用いられるプロトコルを採用する。これにより、基板処理装置100の操作ユニット103と同等の操作ユニット50をインタフェース模擬装置30にそのまま接続できる。本実施の形態では、第2通信部34として、RS232Cを採用するが、もちろんこれに限定されるものではない。
図13は、インタフェース模擬装置30の機能ブロックを示す図である。図13に示すデータ転送部310,311,312は、主にCPU31がプログラム320に従って動作することにより実現される機能ブロックである。すなわち、データ転送部310,311,312はいずれも主にソフトウェアによって実現される機能ブロックである。
データ転送部310,311はネットワーク階層モデルにおける中位層に相当し、例えばミドルウェアやドライバである。また、データ転送部312はネットワーク階層モデルにおける上位層に相当し、例えばアプリケーションソフトウェアである。
データ転送部310は、データ転送部312から受け取った情報(基板処理装置100におけるデータフォーマットの情報)を、第1通信部33に適したデータフォーマット(本実施の形態ではTCP/IPプロトコルに準拠したデータフォーマット)に変換して第1通信部33に受け渡す。また、第1通信部33から受け取った情報を、基板処理装置100におけるデータフォーマットに変換して、データ転送部312に受け渡す。データ転送部310は、第1通信部33とデータ転送部312との間で、基板処理装置100におけるデータ通信を模擬する機能(模擬機能)と、再現する機能(再現機能)とを有している。
データ転送部310の模擬機能と再現機能とについて詳細に説明する。
基板処理装置100においてインタフェースユニット102と実装処理ユニット104との間で送受信される情報は、先述のように、当該実装処理ユニット104との間で採用されているローカルプロトコルに準拠したデータフォーマットで送受信される。したがって、基板処理装置100のインタフェースユニット102は、実装処理ユニット104との間で送受信する情報を、個々のローカルプロトコルに適したデータフォーマットに作り替える機能を有している。
ところで、基板処理装置100においてローカルプロトコルで送受信される情報に相当する情報は、シミュレーションシステム1においてはインタフェース模擬装置30とユニット模擬装置20との間で送受信される。そして、シミュレーションシステム1は、インタフェース模擬装置30とユニット模擬装置20との間のデータ通信をネットワーク9を介して行う。
すなちわ、シミュレーションシステム1は、インタフェースユニット102と実装処理ユニット104との間のローカルプロトコルを、インタフェース模擬装置30の第1通信部33、ネットワーク9およびユニット模擬装置20の通信部26によってハードウェア的に模擬する。
一方、シミュレーションシステム1は、インタフェースユニット102と制御ユニット101との間のデータ通信を、インタフェース模擬装置30の第1通信部33、ネットワーク9およびコンピュータ40の通信部46(図14)によってハードウェア的に再現する。
すなわち、データ転送部312から受け取った情報のうち、ユニット模擬装置20に送信される情報はデータ転送部310の模擬機能によって第1通信部33に受け渡され、コンピュータ40に送信される情報はデータ転送部310の再現機能によって第1通信部33に受け渡される。
また、第1通信部33から受け取った情報のうち、ユニット模擬装置20から送信された情報はデータ転送部310の模擬機能によってデータ転送部312に受け渡され、コンピュータ40から送信された情報はデータ転送部310の再現機能によってデータ転送部312に受け渡される。
このように、インタフェース模擬装置30は、基板処理装置100におけるインタフェースユニット102と各実装処理ユニット104との間のローカルプロトコルを、第1通信部33によってハードウェア的に模擬するとともに、データ転送部310によってソフトウェア的に模擬する。また、インタフェース模擬装置30は、基板処理装置100におけるインタフェースユニット102と制御ユニット101との間のデータ通信を再現する。このようにして、インタフェース模擬装置30は、制御ユニット101と実装処理ユニット104との間のデータ通信を模擬する。
基板処理装置100の実装処理ユニット104をユニット模擬装置20によって模擬することにより、シミュレーションシステム1のハードウェアには、実装処理ユニット104を構成するハードウェアが含まれない。したがって、ユニット模擬装置20とインタフェース模擬装置30との間のデータ通信は、実装処理ユニット104を構成するハードウェアの制約をうけることなく、比較的任意のプロトコルを採用できる。
本実施の形態におけるシミュレーションシステム1では、ユニット模擬装置20とインタフェース模擬装置30との間のデータ通信として、制御ユニット101とインタフェースユニット102との間のプロトコルを採用する。これにより、コンピュータ40とインタフェース模擬装置30との間のネットワーク9を、ユニット模擬装置20とインタフェース模擬装置30との間でも兼用できるため、ユニット模擬装置20とインタフェース模擬装置30との間に別途ネットワークを構築する必要がない。
データ転送部311は、第2通信部34とデータ転送部312との間で情報の受け渡しを行う。すなわち、操作ユニット50から第2通信部34が受信した情報は、データ転送部311によってデータ転送部312に転送される。一方、操作ユニット50に向けて送信される情報は、データ転送部311によって第2通信部34に転送される。
データ転送部312は、データ転送部310,311の間の情報の転送を行う。すなわち、データ転送部310,311のいずれかからデータ転送部312が受け取った情報は、データ転送部312によって宛先に応じてデータ転送部310,311のいずれかに転送される。具体的には、ユニット模擬装置20またはコンピュータ40が宛先となっている情報はデータ転送部310に転送され、操作ユニット50が宛先となっている情報はデータ転送部311に転送される。
図14は、コンピュータ40の構成を示す図である。コンピュータ40は、CPU41、記憶装置42、操作部43、表示部44、ディスク装置45および通信部46を備え、基板処理装置100の制御ユニット101が備えるハードウェアと同等のハードウェアを備えている。また、コンピュータ40は、一般的なパーソナルコンピュータとしての機能を有している。
CPU41は、設定ファイル421を参照しつつプログラム420に従って動作することにより、各種データの演算や制御信号の生成を行い、コンピュータ40の各構成を制御する。
ここで、プログラム420は、設定ファイル421と同様に基板処理装置100にそのまま搭載される「製品」であり、主にシミュレーションシステム1の試験(デバッグ)の対象となるソフトウェアである。プログラム420は、基板処理装置100を設計・開発する際に、オペレータ(プログラマ)によって作成される。
このように、制御ユニット101にインストールされるプログラム420および設定ファイル421を記憶し、当該プログラム420および設定ファイル421に基づいて、制御ユニット101と同等のハードウェアを制御することにより、コンピュータ40は制御ユニット101としての機能を発揮する。
例えば、CPU41は、実装処理ユニット104に対する制御情報を生成し、生成した制御情報を、インタフェースユニット102を介して実装処理ユニット104に向けて送信するように通信部46を制御する。ただし、シミュレーションシステム1では、通信部46から送信される情報は、インタフェース模擬装置30を介してユニット模擬装置20に向けて送信される。また、CPU41は、シミュレータ10から通信部46が受信した情報に基づいて、新たな制御情報を生成したり、あるいは必要な情報を表示部44に表示させる。
記憶装置42は、図示しないROM、RAMおよびハードディスク等から構成され、必要に応じて各種データを記憶する。特に、記憶装置42は、プログラム420および設定ファイル421を記憶する。
操作部43は、各種ボタン類やキーボードおよびマウス等から構成され、オペレータがコンピュータ40を操作するためのデータを入力するために使用される。なお、シミュレーションシステム1が基板処理装置100のシミュレートを行っているとき、コンピュータ40を操作するために入力されるデータとは、主に基板処理装置100を操作するために入力されるデータに相当する。
また、表示部44は、各種データを画面に表示する。表示部44は、基板処理装置100の制御ユニット101において表示されるデータを表示する機能を有している。
コンピュータ40は、特に操作部43および表示部44について、実際の基板処理装置100に搭載される制御ユニット101と同等のハードウェアを採用する。これにより、コンピュータ40は、基板処理装置100の制御ユニット101と同じマンマシンインタフェース(特に表示部44に表示されるGUI)を提供できる。したがって、オペレータは、実際の制御ユニット101(基板処理装置100)を操作している感覚でコンピュータ40を操作できる。
ディスク装置45は、可搬性の記憶媒体91を読み取る装置である。本実施の形態では、記憶媒体91に記憶されたプログラム420および設定ファイル421がディスク装置45によって読み取られ、記憶装置42に転送され記憶される。ディスク装置45としては、例えば、FDドライブ装置、CD−ROMドライブ装置およびDVDドライブ装置等が該当する。なお、ディスク装置45は、各種データを記憶媒体91に記憶させる(書き込む)機能を有していてもよい。
通信部46は、コンピュータ40をネットワーク9に接続する。これにより、コンピュータ40とシミュレータ10との間でデータ通信が可能となる。ただし、通信部46の直接の通信相手先は、シミュレータ10のインタフェース模擬装置30に固定されており、通信部46はインタフェース模擬装置30を介さずにユニット模擬装置20との間でデータ通信することはできないようにされている。すなわち、コンピュータ40とユニット模擬装置20との間のデータ通信は、必ずインタフェース模擬装置30を介して行われる。
図15は、操作ユニット50の構成を示す図である。操作ユニット50は、CPU51、記憶装置52、操作部53、表示部54および通信部56を備え、比較的小型で可搬性あるユニットである。
一般に基板処理装置100は大型の装置であるため、基板処理装置100の制御ユニット101を操作するオペレータにとって、制御ユニット101の位置から各実装処理ユニット104の様子や表示状況(ランプやメータ等)を完全に把握することは難しい。
そこで、基板処理装置100には、予め様々な位置にコネクタが設けられており、これに操作ユニット103を接続するように設計されている。すなわち、基板処理装置100は、オペレータが任意の位置にあるコネクタまで操作ユニット103を持参することにより、基板処理装置100を任意の位置で操作できるように構成されている。
シミュレーションシステム1は、操作ユニット103と同じ操作ユニット50を用いることにより、操作ユニット103を用いた場合の基板処理装置100のシミュレーションも行えるよう構成されている。
本来、操作ユニット103は、基板処理装置100のバリエーションにかかわらず、共通に用いられるユニットである。すなわち、基板処理装置100のバリエーションに応じて、シミュレーションシステム1の操作ユニット50をいくつも準備しておいて取り替える必要はない。したがって、シミュレーションシステム1において、操作ユニット103をそのまま操作ユニット50として採用したとしても、実装処理ユニット104のような問題は発生しない。
なお、操作ユニット103をユニット模擬装置20によって模擬することも可能であり、その場合、シミュレーションシステム1において操作ユニット103のハードウェアは不要になる。しかし、その場合は、基板処理装置100のマンマシンインタフェース(特にハードウェアに依存する部分)を忠実に再現することはできない。
CPU51は、プログラム520に従って動作することにより、各種データの演算や制御信号を生成する。なお、プログラム520は、基板処理装置100の操作ユニット103に搭載されるものと同じプログラムである。
記憶装置52は、図示しないROMやRAM等から構成され、プログラム520の他、各種データを記憶する。
操作部53は、オペレータが指示を入力するために使用される。また、表示部54は、適宜、情報(例えばGUI)を画面に表示する。
以上がシミュレーションシステム1の構成および機能の説明である。次に、シミュレーションシステム1の動作について説明する。
図16は、シミュレーションシステム1の動作を示す流れ図である。シミュレーションシステム1では、まず、初期設定が実行される(ステップS31)。初期設定とは、例えば、必要なファイル(定義リスト221等)の転送を含む動作である。すなわち、初期設定が終了した時点において、必要なハードウェアの電源がすべて投入されており、かつ、必要なプログラムやファイルの転送(インストール)が完了している。初期設定が終了すると、シミュレーションシステム1は、一旦、オペレータからの所定の指示があるまで待機する。
待機状態において、オペレータが、操作部23を操作することにより、シナリオ作成を選択する指示情報を入力すると、シミュレーションシステム1は、ステップS32においてYesと判定し、シナリオを作成する(ステップS33)。
ステップS33の処理は、シミュレーションに先立って、情報生成部214が試験情報224を予め生成する処理である。以下に、ステップS33の処理について詳細に説明する。
図17ないし図24は、試験情報224を作成する間に、表示部24に表示されるGUI画面240の例である。GUI画面240は、操作部23からの指示情報に応じて、表示制御部213が表示部24に表示させる。
まず、作成する試験情報224の区分が選択される。図17に示すように、「区分ボックス」に設けられたプルダウンボタンを操作することにより、選択可能な区分がプルダウンメニューに一覧表示される。ここに示す例では、「テスト操作」を選択する。
次に、順次実行するコマンドを選択する。図18に示すように、「コマンドボックス」に設けられたプルダウンボタンを操作することにより、シミュレータ10において選択可能なコマンドがプルダウンメニューに一覧表示される。オペレータは、表示された一覧から所望するコマンドを選択するだけで、容易に所望するコマンドを入力できる。
コマンドとは、シミュレーションシステム1に対するオペレータの命令を模擬するものであり、予め定義され準備されている。なお、予め定義されているコマンドの種類等は定義リスト221にファイルとして含まれていてもよい。また、ここに示す例では、シミュレータ10のIOポートのデフォルト値(デフォルト定義ファイル)を変更するコマンド(SIM-IOChange)を選択する。
コマンドが選択されると、図19に示すように、コマンドボックスに選択されたコマンド(ここに示す例では、「SIM-IOChange」)が入力されるとともに、当該コマンドに対して必要な数の「引数ボックス」がアクティブ化され、その引数の名称が表示される。アクティブ化された「引数ボックス」には、プルダウンボタンが設けられ、引数を入力することが可能となる。
図19に示す例では、「引数1および引数2のボックス」がアクティブ化されている。これによって、選択されたコマンド「SIM-IOChange」に対して、2つの引数が必要であり、引数3ないし引数5は入力不要であることが容易にわかる。また、引数1として入力しなければならない引数は「接点名称」であり、引数2として入力しなければならない引数は「設定値」であることも容易に理解できる。
オペレータが、「引数1のボックス」に設けられたプルダウンボタンを操作することにより、図20に示すように、引数1(ここに示す例では、「接点名称」)として入力可能な引数がプルダウンメニューに一覧表示される。オペレータは、一覧表示された引数から、所望する引数を選択することにより、容易に引数1を入力できる。
なお、「接点名称」として選択可能なシンボル(基板処理装置100ごとに異なる)の名称は、例えば、表示制御部213が定義リスト221を参照することにより取得できる。また、ここに示す例では、引数「/ONB_T4/InShowerFlowLowerLimit」を選択する。
引数1が選択されると、図21に示すように、引数1のボックスに選択された引数(ここに示す例では、「/ONB_T4/InShowerFlowLowerLimit」)が入力される。
オペレータが、「引数2のボックス」に設けられたプルダウンボタンを操作することにより、図21に示すように、引数2(ここに示す例では、「設定値」)として入力可能な引数がプルダウンメニューに一覧表示される。オペレータは、一覧表示された引数から、所望する引数を選択することにより、容易に引数2を入力できる。ここに示す例では、引数「ON」を選択する。
引数2が選択されると、図22に示すように、引数2のボックスに選択された引数(ここに示す例では、「ON」)が入力される。
選択されたコマンドに対して、必要な引数が全て入力されると、オペレータがGUI画面240に設けられている「行追加ボタン」を操作することにより、図22に示すように、入力された内容(ここに示す例では、「T,SIM-IOChange,/ONB_T4/InShowerFlowLowerLimit,ON」)が「試験内容表示ボックス」に追加される。
このようにして、コマンドが繰り返し入力されることにより、図23に示すように、一連の試験内容(テストシナリオ)が完成する。
オペレータがGUI画面240に設けられている「保存ボタン」を操作すると、情報生成部214が記憶装置22上にファイルを作成し、「試験内容表示ボックス」に表示されている内容(オペレータが入力した指示情報)を当該ファイルに保存する。このようにして生成されるファイルが試験情報224である。
情報生成部214によって試験情報224が作成されると、シミュレーションシステム1は、ステップS33を終了する。以上が、図16に示すステップS33の処理の説明である。
図16に戻って、待機状態において、オペレータが、操作部23を操作することにより、シミュレーション開始を選択する指示情報を入力すると、表示制御部213は、ステップS34においてYesと判定し、シミュレーションシステム1はシミュレーションを実行する(ステップS35)。
シミュレーションシステム1は、シミュレーション(試験)を開始するときに、まず、マニュアルモードで試験を行うか、オートモードで試験を行うかを決定する。この選択は、オペレータからの指示により決定するが、例えば、試験情報224の有無によって決定してもよい。
なお、マニュアルモードとは、シミュレーションの条件等をオペレータが、操作部23を操作して指示情報を入力することにより行うモードである。マニュアルモードでは、オペレータがその場で自由に指示情報を入力できるので柔軟性に富むが、シミュレーションを行う際に、すべての情報を誤り無く入力しなければならないため、正確性および再現性に劣る。マニュアルモードは、必要に応じてオペレータがシミュレーションシステム1に指示情報を入力し、この指示情報に応じてシミュレーションシステム1が動作するだけの処理であるので、ここでは詳細な説明を省略する。
一方、オートモードとは、すでに準備されている試験情報224に基づいてシミュレーションを行うモードである。オートモードでは、シミュレーションが開始されると、自動的に試験が実行されるので、例えば、シミュレーションをモニタリングしながら適切なタイミングで指示情報を入力する必要がないので、オペレータの負担が軽減される。また、試験情報224を共通化することにより、試験の正確性および再現性が向上する。
以下に、オートモードにおけるシミュレーションシステム1の動作を説明する。
図25ないし図29は、オートモードにおいて表示部24に表示されるGUI画面241を例示する図である。
オートモードが選択されると、表示制御部213は、表示部24にGUI画面241を表示させる。図25に示すGUI画面241には、「テストシナリオ実行ファイルボックス」が設けられており、所望のファイルを指定できるようになっている。
オペレータが「テストシナリオ実行ファイルボックス」に設けられている「選択ボタン」を操作すると、図26に示すように、所定のフォルダが開かれ、選択可能なファイルが表示される。ここに示す例では、「TEST_DEMO.tef」を選択する。
ファイルが選択されると、図27に示すように、「テストシナリオ実行ファイルボックス」に選択されたファイル(ここに示す例では「TEST_DEMO.tef」)が入力される。これにより、シミュレーションにおいて参照される試験情報224が指定される。
試験情報224の指定が終了すると、オペレータは、GUI画面241に設けられている「実行ボタン」を操作して、シミュレーションを開始させる。「実行ボタン」が操作されると、シミュレーションシステム1はオートモードで試験を開始する。
シミュレーション中において、表示制御部213は、適宜、試験情報224を参照し、図28に示すように、「テストシナリオ実行履歴ボックス」にその内容を表示する。なお、図28に示すGUI画面242は、GUI画面241とともに表示部24に表示される画面であって、シミュレーションの状況(模擬動作の状況)を示す画面である。GUI画面242は、オートモードに限らず、マニュアルモードで動作する場合にも表示部24に表示される。
このように、シミュレーションが実行されると、GUI画面242が表示されることにより、オペレータは、実装処理ユニット104(ユニット模擬部211)の動作状況を容易にモニタリングできる。したがって、実装処理ユニット104(ハードウェア)を用意することなく、ソフトウェアの試験を行うことができる。
また、オートモードでは、GUI画面241も表示されるので、これによっても状況をモニタリングできる。特に、GUI画面242は、通常、リアルタイムにその表示内容が変化するため、オペレータはシミュレート中、常にモニタリングしていなければならない。しかし、GUI画面241は実行順に表示され、過去の状況も表示されたまま残るので、過去の状況も把握できる。
シミュレーションが終了すると、図29に示すように、「テストシナリオ実行履歴ボックス」に「シナリオ終了」と表示し、ステップS35の処理を終了する。
図16に戻って、待機状態において、オペレータが、操作部23を操作することにより、処理を終了する指示情報を入力すると、シミュレーションシステム1は、ステップS36においてYesと判定し、処理を終了する。
以上のように、本実施の形態におけるシミュレーションシステム1は、シミュレーションにおけるオペレータの入力を、予め作成した試験情報224によって模擬することにより、オペレータの負担を軽減できる。また、デバッグ試験の品質も向上するため、基板処理装置100のソフトウェアの品質も向上する。
<2. 第2の実施の形態>
第1の実施の形態では、基板処理装置100の制御ユニット101を、一般的なパーソナルコンピュータであるコンピュータ40によって模擬していた。しかし、制御ユニット101は、必ずしも模擬されなくてもよい。
図30は、第2の実施の形態におけるシミュレーションシステム1aを示す図である。第2の実施の形態におけるシミュレーションシステム1aは、コンピュータ40の代わりに制御ユニット40aを備える点がシミュレーションシステム1と異なる。なお、図30では、情報処理装置6を省略している。
本来、制御ユニット101はネットワーク9に接続する機能を有している。したがって、コンピュータ40の代わりに、制御ユニット101と同じ制御ユニット40aをネットワーク9に接続することも可能である。
制御ユニット101は、操作ユニット103と同様に、基板処理装置100のバリエーションにかかわらず、共通に用いられるユニットである。すなわち、シミュレーションシステム1aにおいて制御ユニット40aを用いるように構成したとしても、基板処理装置100のバリエーションに応じて、制御ユニット40aをいくつも準備しておいて取り替える必要はない。したがって、シミュレーションシステム1aのように、制御ユニット101をそのまま制御ユニット40aとして採用したとしても、実装処理ユニット104のような問題は発生しない。
以上のように、第2の実施の形態におけるシミュレーションシステム1aは、シミュレータ10に接続する外部装置として、基板処理装置100の制御ユニット40aを用いることにより、第1の実施の形態におけるシミュレーションシステム1と同様の効果を得ることができる。
また、コンピュータ40の代わりに制御ユニット40aを用いることにより、第2の実施の形態におけるシミュレーションシステム1aは、第1の実施の形態におけるシミュレーションシステム1に比べて、より実機に近い環境でデバッグを行うことができる。
<3. 変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
例えば、上記実施の形態では、制御ユニット101の機能を有するコンピュータ40(または制御ユニット40a)と、ユニット模擬装置20とを別々のコンピュータで実現していたが、これを1台のコンピュータで実現することも可能である。
例えば、ユニット模擬装置20とインタフェース模擬装置30との間のネットワークは、ネットワーク9を兼用しなくてもよい。すなわち、ユニット模擬装置20とインタフェース模擬装置30とを別途ケーブルで接続してもよい。あるいは、インタフェース模擬装置30をユニット模擬装置20に収納可能なインタフェースボードとして構成し、シミュレータ10を一体化された装置として構成することも可能である。その場合は、シミュレータ10を小型化でき、しいてはシミュレーションシステム1を小型化できる。
本発明に係るシミュレーションシステムと情報処理装置とを示す図である。 ユニット模擬装置の構成を示す図である。 定義リストを生成する情報処理装置の構成を示す図である。 情報処理装置の機能ブロックを示す図である。 基礎ファイルに含まれるアドレス基礎ファイルを例示する図である。 基礎ファイルに含まれる温調器基礎ファイルを例示する図である。 基礎ファイルに含まれる干渉判定基礎ファイルを例示する図である。 情報処理装置が定義リストを作成する動作を示す流れ図である。 情報処理装置が定義リストを作成する動作を示す流れ図である。 ユニット模擬装置の機能ブロックを示す図である。 定義リストにおいて模擬動作を定義する例を示す図である。 インタフェース模擬装置の構成を示す図である。 インタフェース模擬装置の機能ブロックを示す図である。 コンピュータの構成を示す図である。 操作ユニットの構成を示す図である。 シミュレーションシステムの動作を示す流れ図である。 試験情報を作成する間に、表示部に表示されるGUI画面の例である。 試験情報を作成する間に、表示部に表示されるGUI画面の例である。 試験情報を作成する間に、表示部に表示されるGUI画面の例である。 試験情報を作成する間に、表示部に表示されるGUI画面の例である。 試験情報を作成する間に、表示部に表示されるGUI画面の例である。 試験情報を作成する間に、表示部に表示されるGUI画面の例である。 試験情報を作成する間に、表示部に表示されるGUI画面の例である。 試験情報を作成する間に、表示部に表示されるGUI画面の例である。 オートモードにおいて表示部に表示されるGUI画面を例示する図である。 オートモードにおいて表示部に表示されるGUI画面を例示する図である。 オートモードにおいて表示部に表示されるGUI画面を例示する図である。 オートモードにおいて表示部に表示されるGUI画面を例示する図である。 オートモードにおいて表示部に表示されるGUI画面を例示する図である。 第2の実施の形態におけるシミュレーションシステムを示す図である。 基板処理装置の構成を示す図である。
符号の説明
1,1a シミュレーションシステム
10 シミュレータ
100 基板処理装置
101 制御ユニット
104 実装処理ユニット
20 ユニット模擬装置
21 CPU
210 データ転送部
211 ユニット模擬部
212 デバイス模擬部
213 表示制御部
214 情報生成部
22 記憶装置
220 プログラム
221 定義リスト
224 試験情報
23 操作部
24 表示部
25 ディスク装置
26 通信部
30 インタフェース模擬装置
310,311,312 データ転送部
40 コンピュータ
40a 制御ユニット
41 CPU
420 プログラム
421 設定ファイル

Claims (4)

  1. 基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、
    オペレータによる指示情報を受け付ける操作部と、
    前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、
    前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
    前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
    前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部と、
    を備えることを特徴とするシミュレータ。
  2. 基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、
    前記ソフトウェアが動作することにより前記基板処理装置の制御ユニットの機能を有するコンピュータと、
    前記コンピュータに接続されるシミュレータと、
    を備え、
    前記シミュレータは、
    オペレータによる指示情報を受け付ける操作部と、
    前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、
    前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
    前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
    前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部と、
    を備えることを特徴とするシミュレーションシステム。
  3. 基板処理装置のソフトウェアを動作させるシミュレーションシステムであって、
    前記基板処理装置の制御ユニットと、
    前記制御ユニットに接続されるシミュレータと、
    を備え、
    前記シミュレータは、
    オペレータによる指示情報を受け付ける操作部と、
    前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、
    前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
    前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
    前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部と、
    を備えることを特徴とするシミュレーションシステム。
  4. コンピュータ読み取り可能なプログラムであって、前記プログラムの前記コンピュータによる実行は、前記コンピュータを、基板処理装置の制御ユニットとしての機能を有する外部装置に接続されるシミュレータであって、
    オペレータによる指示情報を受け付ける操作部と、
    前記操作部が受け付けた指示情報に基づいて、前記基板処理装置のソフトウェアに対する試験内容を規定する試験情報を予め生成する情報生成部と、
    前記外部装置から得られる情報に基づいて、前記基板処理装置を構成する実装処理ユニットの模擬動作を定義する定義情報を参照しつつ、前記実装処理ユニットの動作を模擬するユニット模擬部と、
    前記外部装置と前記ユニット模擬部との間で、前記基板処理装置における前記制御ユニットと前記実装処理ユニットとの間のデータ通信を模擬するインタフェース模擬部と、
    前記情報生成部により生成された試験情報に応じて、前記ユニット模擬部を制御する試験制御部と、
    を備えるシミュレータとして機能させることを特徴とするプログラム。
JP2006267840A 2006-09-29 2006-09-29 シミュレータ、シミュレーションシステムおよびプログラム Pending JP2008090394A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006267840A JP2008090394A (ja) 2006-09-29 2006-09-29 シミュレータ、シミュレーションシステムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006267840A JP2008090394A (ja) 2006-09-29 2006-09-29 シミュレータ、シミュレーションシステムおよびプログラム

Publications (1)

Publication Number Publication Date
JP2008090394A true JP2008090394A (ja) 2008-04-17

Family

ID=39374515

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006267840A Pending JP2008090394A (ja) 2006-09-29 2006-09-29 シミュレータ、シミュレーションシステムおよびプログラム

Country Status (1)

Country Link
JP (1) JP2008090394A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013206106A (ja) * 2012-03-28 2013-10-07 Dainippon Screen Mfg Co Ltd シミュレータおよびシミュレーションシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013206106A (ja) * 2012-03-28 2013-10-07 Dainippon Screen Mfg Co Ltd シミュレータおよびシミュレーションシステム

Similar Documents

Publication Publication Date Title
CN104007957B (zh) 在编辑期间显示实时数据的改进图形用户界面编辑器
US8793668B2 (en) Protocol independent programming environment
JP2009146229A (ja) プログラマブルコントローラシステム
JP2017142767A (ja) コントローラシステム、変数連携支援装置
RU2294015C2 (ru) Способ автоматического моделирования системы управления процессом и система управления процессом
KR20100108582A (ko) 프로그램 테스트 장치 및 프로그램
JP2009157533A (ja) プログラマブルコントローラシステム
CN114020400A (zh) 一种基于noVNC的远程虚拟仿真方法、系统、设备及介质
JP4672532B2 (ja) オペレータ擬似システムおよびオペレータ擬似方法
JP4941674B2 (ja) シミュレーション・システム
JP5314959B2 (ja) 情報処理装置、及びその制御方法、コンピュータプログラム、記憶媒体
JP2008090394A (ja) シミュレータ、シミュレーションシステムおよびプログラム
EP3734379A1 (en) Method and system for generating control programs in a cloud computing environment
JP2007293409A (ja) シミュレーション方法およびその装置
JP2009081372A (ja) シミュレータ、シミュレーションシステムおよびプログラム
JP5396759B2 (ja) 情報処理装置、画像処理装置、ソフトウェア動作テスト方法、ソフトウェア動作テストプログラム、及びそのプログラムを記録した記録媒体
JP2008090393A (ja) シミュレータ、シミュレーションシステムおよびプログラム
JP2008084073A (ja) 情報処理装置およびプログラム
KR20080018701A (ko) 테스트 환경 적응이 가능한 자동 테스트 장치 및 방법
CN113220569A (zh) 一种基于多进程的iOS兼容性自动化测试方法与装置
JP2007172128A (ja) I/oシミュレータ装置
JP2009169628A (ja) 監視制御システムの構築装置、構築方法およびプログラム
JP2008077464A (ja) モデル作成装置
JP2008084075A (ja) シミュレータ、シミュレーションシステムおよびプログラム
JP2001356928A (ja) 試験評価システム