本発明は、各種の処理装置に対するパラメータの設定を支援する装置パラメータ設定支援システムに関する。
半導体製造装置、フラットパネル製造装置、太陽電池製造装置、MEMS(Micro Electro Mechanical Systems)製造装置、生化学自動分析装置、医薬品製造装置、食品製造装置などの各種の装置(以下、本明細書では単に「処理装置」という。製造装置、分析装置のほかにも、さまざまな処理を行う装置が含まれる)の製造工程の多くが自動制御により行われている。
そして、自動制御が行われる処理装置では、その制御方式としてPID制御を用いることが非常に多い。そのため、PID制御の各パラメータを適切に設定することが、処理装置の装置性能の向上および安定化のためには必要である。装置性能としては、たとえば、定められた処理条件(本明細書では「レシピ」と呼ぶ)に従って、各プロセスが安定的に適切に処理が行われること、スループット、スピードなどが該当する。
処理装置の装置性能の向上および安定化のため、PID制御を行うためのPIDパラメータを最適に設定するために、下記特許文献1、特許文献2に示すような方法が用いられる。
また、自動制御の制御方式としてはPID制御以外の方式もある。その場合においても、何らかのパラメータを用いて自動制御を実現している。そして、上述のPID制御方式と同様に、当該自動制御に用いる各パラメータを適切に設定することが、処理装置の装置性能の向上および安定化のためには必要である。
さらに、上述の自動制御は、レシピが設定され、設定されたレシピに沿って処理が実行される。
そのため、自動制御の前提となるレシピを、エンジニアが設定しなければ装置は機能せず、またレシピの設定の如何によって装置の装置性能が変化するため、どのようにレシピが設定されるのかは非常に重要である。
従来、レシピの設定にあたっては、エンジニアが初期値としてレシピの各データを設定し、そのレシピに従って実際の処理装置を稼働させてそのスループットを確認した後、レシピの各データを補正して、再度、補正後のレシピのデータで実際の処理装置を稼働させる、という作業を反復することで、最終的なレシピの設定を行っている。従って、レシピにおけるデータ(パラメータ)の設定は、装置の装置性能の向上、安定化のために重要である。
特開2009−199221号公報
特開2010−49392号公報
PID制御で用いるパラメータについては上述の特許文献の方法を用いることで、理想的なPIDパラメータ(理想状態におけるPIDパラメータ)を設定することはできる。
しかしながら、実際の処理装置を稼働させると、その処理装置を構成する各部品の劣化、汚れの蓄積などによって、時間の経過とともに理想状態ではなくなる。処理装置の各部品をメンテナンスすることによって理想状態に戻すことはできるが、メンテナンスを頻繁に行うことはできない。そのため、時間の経過とともに、処理装置としてのスループットが低下するなど、装置性能の低下、不安定化が発生する。一方、装置シミュレータを用いることで、処理装置のシミュレーション処理を実現することができるが、シミュレーション処理では処理装置の各部品の劣化、汚れの蓄積などが発生せず、つねに理想状態に装置性能(理想状態のスループット)があるとして出力が行われる。そうすると、実際の処理装置での装置性能と、装置シミュレータでの装置性能(たとえば実際の処理装置でのスループットと装置シミュレータでのスループット)との間にずれが生じ、精度の高いシミュレーションを行うことができない問題点がある。すなわち、従来のシミュレーション処理では、実際の装置と同じような経時変化を考慮したシミュレーションを行うことができない問題点がある。また装置トラブル等の、より装置の状態が変化してしまう場合も同様の問題が発生する。これら問題は、PID制御方式以外の自動制御に用いるパラメータの場合でも同様である。
そこで本願発明者は、第一に、装置に経時変化や装置状態の変化があったとしても、それを加味した、自動制御における適切なパラメータ(PID制御方式のPIDパラメータやそのほかの自動制御方式のパラメータ)となるような、装置パラメータ設定支援システムを発明した。
第1の発明は、処理装置の設計、製造を支援する装置設計製造支援システムで用いる装置パラメータ設定支援システムであって、前記装置パラメータ設定支援システムは、少なくとも、実装置の任意の二時点における実行結果を、前記装置設計製造支援システムのEESまたは装置コントローラから取得する実行結果取得部と、前記取得した実行結果に基づいて、各時点におけるPIDパラメータを算出するパラメータ算出部と、算出したそれぞれのPIDパラメータの差分を算出する差分算出部と、算出した差分について、単位期間あたりの変化値を算出する変化値算出部と、を有しており、前記装置設計製造支援システムでは、前記算出した変化値と装置シミュレータで記憶しているPIDパラメータとを演算して新たなPIDパラメータを算出し、該新たなPIDパラメータでPID制御を該装置シミュレータで実行する、装置パラメータ設定支援システムである。
本発明のように構成することで、装置シミュレータでのシミュレーション処理に用いるPIDパラメータの変化値を算出することができる。その変化値を装置シミュレータに渡し、変化値をPIDパラメータに加味することで、実装置で発生する経時変化や装置状態の変化を装置シミュレータにも反映させることができる。
第2の発明は、処理装置の設計、製造を支援する装置設計製造支援システムで用いる装置パラメータ設定支援システムであって、前記装置パラメータ設定支援システムは、少なくとも、実装置の任意の二時点における実行結果を、前記装置設計製造支援システムのEESまたは装置コントローラから取得する実行結果取得部と、前記取得した実行結果に基づいて、各時点におけるPIDパラメータを算出するパラメータ算出部と、算出したそれぞれのPIDパラメータに基づいてPID波形を算出する波形算出部と、前記算出したそれぞれのPID波形を比較する波形比較部と、前記比較の結果、所定の条件を充足している場合には、前記二時点での変化値について、単位期間あたりの変化値を算出する変化値算出部と、を有しており、前記装置設計製造支援システムでは、前記算出した変化値と装置シミュレータで記憶しているPIDパラメータとを演算して新たなPIDパラメータを算出し、該新たなPIDパラメータでPID制御を該装置シミュレータで実行する、装置パラメータ設定支援システムである。
本発明のように構成することでも、装置シミュレータでのシミュレーション処理に用いるPIDパラメータの変化値を算出することができる。そしてその変化値を装置シミュレータに渡し、変化値をPIDパラメータに加味することで、実装置で発生する経時変化や装置状態の変化を装置シミュレータにも反映させることができる。
上述の各発明において、前記装置パラメータ設定支援システムは、さらに、前記算出したPIDパラメータの変化値を前記単位期間の到来ごとに前記装置シミュレータに渡すデータ送出部を備えており、前記装置設計製造支援システムは、前記装置シミュレータで記憶しているPIDパラメータに、前記変化値を演算して新たなPIDパラメータとして算出させ、該新たなPIDパラメータでPID制御を該装置シミュレータで実行させる、装置パラメータ設定支援システムのように構成することもできる。
また上述の各発明において、前記装置パラメータ設定支援システムは、さらに、前記算出したPIDパラメータの変化値を前記装置シミュレータに渡すデータ送出部を備えており、前記装置設計製造支援システムは、前記装置シミュレータにおいて、前記単位期間の到来ごとに、前記装置シミュレータで記憶しているPIDパラメータに、前記変化値を演算して新たなPIDパラメータとして算出させ、該新たなPIDパラメータでPID制御を該装置シミュレータで実行させる、装置パラメータ設定支援システムのように構成することもできる。
算出したPIDパラメータの変化値を、単位期間の到来ごとに装置シミュレータに渡しても良いし、算出時に渡しておき、単位期間の到来ごとに装置シミュレータで自動的に演算されても良い。
また上述の各発明において、前記装置パラメータ設定支援システムは、前記装置シミュレータにおいてエラーとなるシミュレーションを行うためのPIDパラメータの入力を受け付け、前記入力を受け付けたPIDパラメータを前記装置シミュレータに渡し、前記装置シミュレータは、前記PIDパラメータに基づいてシミュレーション処理を実行することで、装置トラブルをシミュレーションする、装置パラメータ設定支援システムのように構成することもできる。
装置パラメータ設定支援システムは、通常、適切なシミュレーションを行うためのパラメータの設定を行う。しかし、あえてエラーが発生するPIDパラメータの入力を受け付けることで、装置シミュレータで装置トラブル(エラー状態)をシミュレーションすることができる。これによって、実装置を稼働させることなく、装置トラブルを把握することが可能となる。
第3の発明は、処理装置の設計、製造を支援する装置設計製造支援システムであって、前記装置設計製造支援システムは、装置シミュレータと装置コントローラとEESとパラメータ設定システムとを有しており、前記装置シミュレータは、実装置の装置レイアウトデータの入力を受け付け、前記装置レイアウトデータと前記装置コントローラからの制御指令とに基づいて、前記実装置の各階層に対応したシミュレーションプログラムにより、仮想的な処理装置として、PID制御を用いたシミュレーション処理を実行し、前記装置コントローラは、前記実装置及び前記装置シミュレータにおける仮想的な処理装置を制御するための制御指令を、前記実装置及び前記装置シミュレータに渡し、前記EESは、前記装置シミュレータにおける仮想的な処理装置でのシミュレーション処理の実行結果と、前記実装置における実行結果とをそれぞれ取得し、前記パラメータ設定システムは、少なくとも二時点における前記実装置での実行結果を取得し、取得した実行結果に基づいて、それぞれの時点における前記装置シミュレータで用いるPIDパラメータを算出し、算出したPIDパラメータを用いて、PIDパラメータの単位期間あたりの変化値を算出し、前記装置シミュレータは、前記パラメータ設定システムで算出した変化値に基づいて、前記PIDパラメータを更新する、装置設計製造支援システムである。
本発明のように構成しても、上述の第1の発明と同様に、装置シミュレータでのシミュレーション処理に用いるPIDパラメータの変化値を算出することができる。すなわち、実装置で発生する経時変化や装置状態の変化を装置シミュレータにも反映させることができる。
第4の発明は、処理装置の設計、製造を支援する装置設計製造支援システムであって、前記装置設計製造支援システムは、装置シミュレータと装置コントローラとEESとパラメータ設定システムとを有しており、前記装置シミュレータは、実装置の装置レイアウトデータの入力を受け付け、前記装置レイアウトデータと前記装置コントローラからの制御指令とに基づいて、前記実装置の各階層に対応したシミュレーションプログラムにより、仮想的な処理装置として、PID制御を用いたシミュレーション処理を実行し、前記装置コントローラは、前記実装置及び前記装置シミュレータにおける仮想的な処理装置を制御するための制御指令を、前記実装置及び前記装置シミュレータに渡し、前記EESは、前記装置シミュレータにおける仮想的な処理装置でのシミュレーション処理の実行結果と、前記実装置における実行結果とをそれぞれ取得し、前記パラメータ設定システムは、少なくとも二時点における前記実装置での実行結果を取得し、取得した実行結果に基づいて、それぞれの時点における前記装置シミュレータで用いるPIDパラメータを算出し、算出したPIDパラメータを用いて、それぞれの時点におけるPID波形を算出し、算出したそれぞれのPID波形を比較することで、PIDパラメータの単位期間あたりの変化値を算出し、前記装置シミュレータは、前記パラメータ設定システムで算出した変化値に基づいて、前記PIDパラメータを更新する、装置設計製造支援システムである。
本発明のように構成しても、上述の第2の発明と同様に、装置シミュレータでのシミュレーション処理に用いるPIDパラメータの変化値を算出することができる。すなわち、実装置で発生する経時変化や装置状態の変化を装置シミュレータにも反映させることができる。
上述の発明において、前記装置設計製造支援システムは、さらに再現装置を備えており、前記再現装置は、前記実装置における制御指令および/または実行結果とに基づいて、前記実装置の各階層に対応したシミュレーションプログラムにより、仮想的な処理装置としてシミュレーション処理を実行する、装置設計製造支援システムのように構成することもできる。
本発明のように再現装置を備えることによって、装置での制御指令や実行結果に基づいて、シミュレーション処理を行うことが可能となる。これによって、制御指令や実行結果さえ取得できれば、例えば遠隔地で当該装置と同一の環境を再現することが出来る。例えば装置に不具合が発生した場合、わざわざ装置が設置されている工場まで赴かなくても、装置に発生した事象と同一の事象を再現できるため、工場外で不具合の原因追及などを行うことが出来る。
上述の発明において、前記実行結果には、制御指令で処理対象となったマテリアルの位置情報を含んでおり、前記再現装置は、前記実行結果におけるマテリアルの位置情報に基づいて、マテリアル視点でのシミュレーション処理の表示を行う、装置設計製造支援システムのように構成することもできる。
本発明のように構成することで、従来のように、俯瞰的な視点でのシミュレーション表示のみならず、マテリアル視点でのシミュレーション表示が可能となる。これによって、マテリアルの移動に伴って視点が自動的に変更され、マテリアルの視点による装置の動作状況などを確認することが可能となる。
本発明の装置パラメータ設定支援システムを用いることによって、装置自体に経時変化や装置状態の変化が発生した場合であっても、実装置と装置シミュレータとの間の装置性能のずれをできる限り減らすことができる。
本発明の装置パラメータ設定支援システムが利用される装置設計製造支援システムにおける各装置の概略を模式的に示す図である。
装置シミュレータの概念図の一例を模式的に示す図である。
本発明の装置パラメータ設定支援システムに関連して運用する装置設計製造支援システムのソフトウェア構成の全体の概念図の一例を模式的に示す図である。
装置シミュレータ、EES、装置コントローラ、レシピ管理システム、パラメータ設定システムなどを実現するコンピュータのハードウェア構成の一例を模式的に示す図である。
シミュレーション検証結果をベースに実装置のパラメータを調整する処理の一例を模式的に示す図である。
装置の階層モデルを模式的に示す図である。
レシピ情報の一例を模式的に示す図である。
レシピ情報の制御指令に基づく実行結果と、シーケンス制御の制御指令に基づく実行結果とを示す一例である。
PID波形の特性を示す図である。
2自由度PID制御を示すブロックダイアグラムである。
装置設計製造支援システムのワークフローを模式的に示す図である。
シミュレーション処理部の処理を模式的に示すフローチャートの一例である。
装置シミュレータが処理を行ったウェーハの処理リストの一例である。
実装置が処理を行ったウェーハの処理リストのほかの一例である。
本発明の装置パラメータ設定支援システムが利用される装置設計製造支援システムのほかの例における各装置の概略を模式的に示す図である。
シミュレーション処理を行う場合の画面の一例である。
マテリアル視点でのシミュレーション処理を行う場合の画面の一例である。
パラメータ設定システムの構成を模式的に示す図の一例である。
パラメータ設定システムにおける処理を示すフローチャートの一例である。
パラメータ設定システムのほかの構成を模式的に示す図の一例である。
パラメータ設定システムにおけるほかの処理を示すフローチャートの一例である。
パラメータ設定システムにおいて、2時点でのPIDパラメータを算出した場合の画面の一例である。
真空装置での排気シミュレーションを行う場合の数式を示す図である。
パラメータ設定システムにおいて、真空装置の2時点でのパラメータを算出した場合の画面の一例である。
1:装置パラメータ設定支援システム
2:装置シミュレータ
3:装置コントローラ
4:EES
5:CAD
6:実装置
7:再現装置
11:レシピ管理システム
12:パラメータ設定システム
20:モデリングレイアウト部
21:データ記憶部
22:シミュレーション処理部
23:表示処理部
30:演算装置
31:記憶装置
32:表示装置
33:入力装置
34:通信装置
121:実行結果取得部
122:パラメータ算出部
123:差分算出部
124:変化値算出部
125:データ送出部
126:波形算出部
127:波形比較部
本発明の装置パラメータ設定支援システム1は、後述する装置設計製造支援システムに組み合わされて用いられる。装置パラメータ設定支援システム1およびそれを具備する装置設計製造支援システムを構成する各装置の概略を図1に示す。なお装置設計製造支援システムは、半導体製造装置、フラットパネル製造装置、太陽電池製造装置、MEMS(Micro Electro Mechanical Systems)製造装置、生化学自動分析装置、医薬品製造装置、食品製造装置などの各種の装置(処理装置)、より具体的にはレシピ(プロセスを実行するための処理条件(パラメータなど)の集まり)に従って稼働する処理装置などの設計、製造に用いることが好ましいが、それに限定されない。なお、以下の説明では、処理装置として半導体製造装置の場合を説明するが、それ以外の処理装置であっても、同様に実現可能である。
装置パラメータ設定支援システム1は、レシピ管理システム11、パラメータ設定システム12を有する。また装置設計製造支援システムは、装置シミュレータ2と装置コントローラ3とEES4と装置パラメータ設定支援システム1とを有する。図2に装置シミュレータ2の概念図の一例を模式的に示す。また図3に、装置パラメータ設定支援システムに関連して運用する装置設計製造支援システムのソフトウェア構成の全体の概念図の一例を模式的に示す。
なお装置シミュレータ2、EES4、装置コントローラ3、レシピ管理システム11、パラメータ設定システム12は、コンピュータや所定の演算回路などによって実現される。図4に装置シミュレータ2、EES4、装置コントローラ3、レシピ管理システム11、パラメータ設定システム12などを実現するコンピュータのハードウェア構成の一例を模式的に示す。
コンピュータは、プログラムの演算処理を実行するCPUなどの演算装置30と、情報を記憶するRAMやハードディスクなどの記憶装置31と、演算装置30の処理結果や記憶装置31に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置34とを少なくとも有している。コンピュータ上で実現する各機能(各手段)は、その処理を実行する手段(プログラムやモジュールなど)が演算装置30に読み込まれることでその処理が実行される。各機能は、記憶装置31に記憶した情報をその処理において使用する場合には、該当する情報を当該記憶装置31から読み出し、読み出した情報を適宜、演算装置30における処理に用いる。当該コンピュータには、キーボードやマウスやテンキーなどの入力装置33、モニターなどの表示装置32を有していても良い。
本発明における各手段は、その機能が論理的に区別されているのみであって、物理上あるいは事実上は同一の領域を為していても良い。またそれぞれの各機能やコンピュータなどは、任意に分散配置されていても良いし、あるいは一つに統合されていても良い。
本発明の装置パラメータ設定支援システム1は、装置設計製造支援システムに組み合わされることで用いられる。そのため、まず装置設計製造支援システムの装置パラメータ設定支援システム1以外の構成をまず説明する。
装置シミュレータ2は、CAD5で生成した機械図面などのCADデータの入力を受け付ける。また、そのCADデータに対応する動作パラメータ(後述)の入力を受け付け、それらを装置レイアウトデータとして記憶する。そして装置レイアウトデータに基づいて、処理装置のシミュレーション状況を表示するコンピュータである。
装置シミュレータ2は、モデリングレイアウト部20とデータ記憶部21とシミュレーション処理部22と表示処理部23とを有する。
モデリングレイアウト部20は、CAD5で生成した、実装置6(後述)のCADデータの入力を受け付け、後述するデータ記憶部21に記憶させる。例えば、2次元CADや3次元CADで生成した当該処理装置の各部品の位置情報や大きさを示す情報をCADデータとして記憶させる。また、モデリングレイアウト部20は、上記の各部品をどのようなタイミングでどのように動かすのかを示す動作パラメータの初期設定の入力を受け付ける。これは、各部品の動作パラメータを設定したファイルを読み込ませても良いし、入力装置33から各部品の動作パラメータの入力を受け付けても良い。
このようにして入力された動作パラメータを、データ記憶部21に記憶したCADデータに対応づけ、CADデータと動作パラメータとを装置レイアウトデータとしてデータ記憶部21に記憶させる。この対応付けは、同一の識別情報などをそれぞれのファイルに含ませることで、一つの(あるいは関連する)装置レイアウトデータとして取り扱っても良いし、一つの装置レイアウトデータとして一つのファイルに統合しても良い。
またモデリングレイアウト部20で読み込んだCADデータとしては、CAD5で生成した当該処理装置を構成するすべての部品に関する情報(位置情報や大きさを示す情報など)であっても良いし、当該処理装置を構成する部品のうち、後述するシミュレーション処理部22でのシミュレーション処理に不要な情報、すなわち、当該処理装置を外部から観察した場合に表示されない部品に関する情報を除いた情報であってもよい(当該処理装置を外部から観察した場合に表示される部品に関する情報であってもよい)。後者の場合、CADデータから、外部から観察できない部品に関する情報を減らした上で、データ記憶部21に記憶させる。この場合、CADデータのデータ量が少なくなり、シミュレーション処理の際にも速度の低下を招かない。
モデリングレイアウト部20における装置レイアウトデータについて説明する。モデリングレイアウト部20では、CAD5で生成したCADデータについて、まず実装置6を構成する各階層の部品(オブジェクト)の登録・設定が行われる。すなわち3次元で表示するための各部品の図面を読み込み、そのレイアウト設定が行われる。そして次にオブジェクトの属性が設定される。ここで設定されるオブジェクトの属性としては、オブジェクトの位置情報、動作時間(最初は設計値のデータである)などの動作パラメータ、デバイス動作仕様のI/Oマップ情報(例えばアクチュエータ数、センサ数、I/Oマップなど)がある。このようにオブジェクトの属性が設定されると、3次元でオブジェクトの配置が行われる。この作業を、装置、モジュール、サブシステムなどについても同様に行うことで動作パラメータの設定が行えるので、処理装置全体のCADデータと動作パラメータとを含む装置レイアウトデータが生成できる。なお2次元CAD5の場合には上述の処理を2次元でそのまま行えば良い。
データ記憶部21は、装置レイアウトデータなどの各種データを記憶しており、後述するシミュレーション処理部22における処理の際に、必要なデータが適宜、読み出されて、その処理に用いられる。
シミュレーション処理部22は、データ記憶部21に記憶した装置レイアウトデータを用いて、予め記憶されている実装置6をシミュレーションするシミュレーションプログラムに従って、シミュレーション処理を実行する。この際に用いられるシミュレーションプログラムは、装置設計製造支援システムで設計・製造対象となっている実装置6のシミュレーションプログラムであり、またシミュレーション処理の際には、装置コントローラ3からの制御指令(後述)に従ってシミュレーション処理が実行される。
なおシミュレーション処理部22で、実装置6を仮想的にシミュレーションするためには、実装置6と同様の階層に制御対象を階層化して処理を行う。装置の階層モデルを模式的に示すのが図6である。
まず実装置6を4つの階層に分ける。すなわち、装置階層、モジュール階層、サブシステム階層、I/Oデバイス階層に分ける。また実装置6が製造する対象となるマテリアルの階層を設ける。従って、シミュレーション処理部22で機能するシミュレーションプログラムは、合計5つの階層に分けて制御処理を行う。なお各階層では、その階層を制御するためのプログラムから構成されており、そのプログラムが各々独自に、装置コントローラ3の制御指令に基づく制御を受けることで、シミュレーション処理を実行する。
装置階層は、装置を設置するもしくはモジュール以下のオブジェクト(部品)を配置可能とする空間を定義する階層であり、モジュール、サブシステム、I/Oデバイスから構成される。
モジュール階層は、装置内でプロセスを実行したり、搬送を行うための機能をもつ交換可能な構成要素を定義する階層であり、モジュール、サブシステム、I/Oデバイスから構成される。
サブシステム階層は、モジュール内で特定の機能を持つ交換可能な構成要素を定義する階層であり、サブシステム、I/Oデバイスから構成される。
I/Oデバイス階層は、装置を動かすための最小の制御機能を有し、センサ・アクチュエータなどの各種のI/O装置から構成される階層である。例えばポンプ、バルブ、ロボット、シャッター、リフター、電源などがある。
マテリアル階層は、装置の中に供給される部材で、装置内に搬送されるものを示す階層である。例えばFOUP(Front Opening Unified Pod)、ウェーハ、基板などがある。装置内には、マテリアルロケーションと呼ばれる位置情報を持っており、マテリアルロケーションには実際にマテリアルが存在するかどうかを示す情報を持っている。
実装置6は、実際に、装置、モジュール、サブシステム、I/Oデバイスから構成されており、これらによってマテリアルに対する製造処理が行われる。そしてシミュレーション処理部22での処理の際にも、実装置6の構成に対応するように、実装置6を構成する4つの階層(装置階層、モジュール階層、サブシステム階層、I/Oデバイス階層)と、製造される対象となるマテリアルの階層(マテリアル階層)とに分けて処理を行うことで、実装置6を実際に稼働する場合と同様に、装置コントローラ3との連動を図ることが出来る。そして上記階層ごとの動作検証が可能となる。
なお階層の分け方は、設計・製造対象となる処理装置の特性に応じて、任意に分けることが出来る。
また、実装置6でPID制御を用いることから、シミュレーション処理部22でもPID制御を用いる。すなわちPID制御に用いるPIDパラメータを用いて、シミュレーション処理を実行することとなる。
実装置6およびシミュレーション処理部22におけるPIDの制御機構を模式的に示すブロックダイアグラムを図10に示す。図10のPID制御機構は、2自由度化付加機能を持ったPID制御機構である。また図10のブロックダイアグラムにおいて、「SV」はレシピ情報に基づく制御指令とする目標値、「MV」は操作値、「PV」は「制御値」、「e」は偏差、「P」もしくは「p」は比例制御、「I」もしくは「i」は積分制御、「D」もしくは「d」は微分制御、「G」は伝達関数、「D」は外乱、「s」はラプラス演算子を示している。
このPID制御は、一つのレシピステップで制御指令とそれに対する実行結果(観測値)が得られる制御が行われる。PID制御が行われる一つの指令に対して、PIDパラメータ(Kp:比例ゲイン、Ti:積分時間(s)、Td:微分時間(s)、η:微分係数、α:比例ゲイン2自由度化係数、β:積分時間2自由度化係数、γ:微分時間2自由度化係数)がそれぞれの指令の特性に合わせて設定される。
表示処理部23は、シミュレーション処理部22における処理結果を、装置シミュレータ2または所定のコンピュータ端末の表示装置32で表示する。
装置コントローラ3は、実装置6あるいはシミュレーション処理部22における仮想的な処理装置(実装置6の動作をコンピュータ内部で実現した処理装置)の制御指令を行うためのコンピュータであって、実制御モード、装置シミュレーションモードの少なくとも2つの制御モードの切替が可能である。
装置コントローラ3が実装置6あるいは仮想的な処理装置に対して送る制御指令としては、装置を構成する各部品の動作や搬送ルートなどを指示する制御指令(シーケンス制御指令)と、装置やモジュール、それらを構成する各部品での処理方法(処理条件)などを示す(レシピ制御指令)とがある。シーケンス制御指令としては、たとえばリフターを上げる、下げるなどがある。またレシピ制御指令としては、たとえば時間、ガス流量、電力、温度に関する条件などがある。
装置コントローラ3は実装置6あるいは仮想的な処理装置に対してシーケンス制御指令、レシピ制御指令を送り、またそれらに対する実行結果を実装置6あるいは仮想的な処理装置から取得する。取得したデータは後述するEES4にも記憶される。
実制御モードとは、実際の処理装置(実装置6)におけるセンサやアクチュエータなどと接続し、シーケンス制御指令、レシピ制御指令を実装置6に送ることで、実装置6を動作させるモードである。また、実装置6において実行を行った場合、その実行結果を実装置6から受け取る。
装置シミュレーションモードは、装置シミュレータ2のシミュレーション処理部22に、シーケンス制御指令、レシピ制御指令を送ることで、仮想的に装置を動作させるモードである。また、装置シミュレータ2のシミュレーション処理部22において実行を行った場合、その実行結果をシミュレーション処理部22から受け取る。なお装置シミュレーションモードでは、シミュレーション処理の実行速度を実装置6の制御時と同じ(等倍)、2倍、3倍、といったように任意の実行速度で実行することも出来る。これによって、確認に要する時間を短縮することが出来る。
なお装置コントローラ3には2つのケースがあり、実装置6や仮想的な処理装置を全てコンピュータで制御するケースと、実装置6や仮想的な処理装置をPLCで制御するケースがある。これらはいずれを用いても良いが、用いたケースの制御指令(シーケンス制御指令、レシピ制御指令)が実装置6あるいは装置シミュレータ2に送られる。
また、これらの制御指令(シーケンス制御指令、レシピ制御指令)は、実装置6や装置シミュレータ2のシミュレーション処理部22での各階層における処理を制御するための情報であって、制御対象が実装置6と仮想的な処理装置のいずれであっても、同一または実質的に同一の情報(制御するための意味内容が同一である情報)である。制御指令には、実装置6や装置シミュレータ2のシミュレーション処理部22に対して、制御を開始することの指示情報とどのような条件で制御を行うかを示す付帯情報とが含まれる。
また上述の制御指令(シーケンス制御指令、レシピ制御指令)に対する、実装置6や装置シミュレータ2のシミュレーション処理部22での各階層における処理の結果を、実装置6やシミュレーション処理部22から実行結果として装置コントローラ3は受け取る。処理を実行したのが実装置6、仮想的な処理装置のいずれであっても、実行結果は同一または実質的に同一の情報(実行結果の意味内容が同一である情報)である。実行結果には、実装置6や装置シミュレータ2のシミュレーション処理部22から、制御指令に対する処理を終了したことの情報(あるいは制御指令に対する処理がエラーであったことの情報)と実行したことによってどのような状態になったのかを示す付帯情報とが含まれる。
また制御指令と実行結果とを総称して制御情報と呼ぶ。装置コントローラ3がコンピュータである場合の制御情報(制御指令と実行結果)をデバイス・シーケンスステップ制御情報、装置コントローラ3がPLCである場合の制御情報(制御指令と実行結果)をデバイス・シーケンスステップIOマップ(PLC制御情報)と呼ぶ。またレシピ情報(制御指令と実行結果)は、装置コントローラ3がコンピュータであっても、PLCであってもそれぞれ備えられる。
EES4(装置エンジニアリングシステム)は、実装置6または装置シミュレータ2のシミュレーション処理部22でシミュレーションする仮想的な処理装置の詳細な制御情報(制御指令や実行結果)を装置コントローラ3から取得し、動作を解析するコンピュータである(なお装置コントローラ3を介さずに、実装置6または装置シミュレータ2から直接、取得しても良い)。ここで取得するデータとしては、詳細装置イベントデータ(処理装置を構成する各種装置(部品を含む)の動作ログ)、トレースデータ(処理装置やその部品、あるいはマテリアルなどの温度、圧力等の時間変化情報)、コンテキストデータ(処理される対象となるマテリアル単位を示す情報であって、バッチID、ロットID、基板ID、ウェーハID、レシピID、レシピ情報など)がある。なおコンテキストデータは詳細装置イベントデータに含まれていても良い。つまり詳細装置イベントデータ、トレースデータ、コンテキストデータが制御指令や実行結果となる。従って、EES4では実装置6あるいは仮想的な処理装置の制御指令や実行結果を収集する機能、それらの動作時間を確認する機能などを有している。これらの各機能は、装置コントローラ3で制御した実装置6あるいはシミュレーション処理部22における仮想的な処理装置からの制御指令や実行結果などの制御情報を示すデータ(詳細装置イベントデータ、トレースデータ、コンテキストデータ)を取得することで行える。
詳細装置イベントデータでは、制御指令や実行結果における付帯情報として、デバイスの動作とその開始・終了時刻を含んでいるので、その差分によって動作時間を算出することが可能である。
CAD5は、実装置6の図面のCADデータを生成する装置であって、2次元図面を生成する2次元CAD5と、3次元図面を生成する3次元CAD5のいずれであっても良い。以下の説明では、3次元CAD5を用いた場合を説明するが、2次元CAD5、3次元CAD5のいずれを用いることも出来、同様の処理で同様の技術的効果を得ることが出来る。
なお、CAD5における実装置6の設計は従来と同様である。
実装置6は、実際の処理装置であって、半導体製造装置、フラットパネル製造装置、太陽電池製造装置、MEMS製造装置、生化学自動分析装置、医薬品製造装置、食品製造装置などの各種の処理装置がその一例としてある。上述の装置設計製造支援システムにおける装置シミュレータ2では、実装置6における装置についてシミュレーション処理されることとなる。
次に、装置設計製造支援システムで用いられる装置パラメータ設定支援システム1を説明する。
レシピ管理システム11は、実装置6あるいは装置シミュレータ2に対して制御指令(シーケンス制御指令、レシピ制御指令)を送る装置コントローラ3におけるレシピ制御指令のもととなるレシピ(のデータ)を編集、管理を行うためのコンピュータシステムである。レシピのデータの一例を図7に示す。
図7のレシピのデータでは、実装置6あるいは装置シミュレータ2を構成する各階層において、各装置や各モジュール、各部品が、それぞれに定められた順番(レシピステップ)に従って、各処理を実行することを示している。たとえば、レシピステップ1であれば、10秒間、ガス流量を0.0sccm、電力を0KW、温度を200℃にすることが処理条件として定められている。そのため、これらのデータが目標値であるレシピ制御指令として装置コントローラ3から実装置6あるいは装置シミュレータ2に送られる。同様に、レシピステップ2であれば、レシピステップ1の終了後、12.3秒間、ガス流量を20.0sccm、電力を100KW、温度を200℃にすることが定められている。そのため、これらのデータがレシピ制御指令として装置コントローラ3から実装置6あるいは装置シミュレータ2に送られる。
このようなレシピのデータは、最初はエンジニアが経験などに基づいて設定を行う。そして設定したレシピのデータをレシピ管理システム11から装置コントローラ3に送る。これを受け取った装置コントローラ3では、当該レシピのデータに基づいてレシピ制御指令を仮想的な処理装置に送る(なおレシピ制御指令のほか、シーケンス制御指令が送られても良い)。そしてレシピ制御指令、シーケンス制御指令に基づいて、仮想的な処理装置で処理が実行され、その制御に対する実行結果(制御された値(観測値))を装置コントローラ3(あるいはEES4)で受け取るので、それをレシピ管理システム11が装置コントローラ3(あるいはEES4)から取得する。そして実行結果をレシピ管理システム11でグラフ化して表示する。なおこのグラフ化の際には、比較のために、制御指令(目標値)をあわせて表示させても良い。図8にその一例を模式的に示す。
エンジニアはレシピ管理システム11で表示されたグラフを視認し、レシピのデータを修正することで、再度、それを装置コントローラ3に送る。そして装置コントローラ3からレシピ制御指令が仮想的な処理装置に送られることで、再度、その実行結果を装置コントローラ3(あるいはEES4)を介して取得し、レシピ管理システム11でグラフ化して表示する。このような作業を、エンジニアが納得をするレシピのデータとなるまで、複数回反復する。
このように、レシピ管理システム11では、エンジニアが設定したレシピのデータに基づいて、実装置6で直接、処理を実行するのではなく、装置設計製造支援システムの装置シミュレータ2でシミュレーション処理を行うことで、レシピのデータの設定を行うことができる。そしてその実行結果が良いと思った段階で、初めて、最終的な確認のために、装置コントローラ3を実制御モードに切り替え、実装置6でレシピのデータに基づく制御を行う。これによって、実装置6を稼働させる回数を減らすことができる。
パラメータ設定システム12は、シミュレーション処理部22で行うシミュレーション処理および実装置6でPID制御を行う場合に用いるPIDパラメータの設定を行うシステムである。またPID制御を行わない自動制御の場合には、当該自動制御で用いられるパラメータの設定を行うシステムである。
実装置6およびシミュレーション処理部22でシミュレーション処理を行う際に用いられるPID制御方式では、そのパラメータを実装置6の環境に適合させる必要がある。従って、まず特許文献1や特許文献2などに記載の公知技術を用いて、PID制御で用いる最適なパラメータをそれぞれ設定しておく必要がある。なお特許文献1や特許文献2以外の方法にも多くの公知技術があり、それらを適宜利用し、適切なパラメータを設定しておけばよい。この状態で設定されるPIDパラメータが理想的な状態におけるPIDパラメータである。
実装置6は初期状態やメンテナンス直後では、理想状態に近い状態で稼働をするが、日時の経過によって、各部品の劣化、汚れの蓄積などにより、環境の変化が起きてくる。その一例としては、ガスの流量制御ではガス管の詰まりが発生することがあり、また真空ポンプでは排気速度の変化がある。
このように実装置6の環境に変化がある場合にも、理想状態に近い状態で設定されたPIDパラメータのままでは、その環境の変化に対応することができない。そこでパラメータ設定システム12により、実装置6の現実の環境にあわせてPIDパラメータを調整する処理を行う。
具体的には、まずある時点の実行結果(詳細装置イベントデータ、それに対応するトレースデータ、コンテキストデータ)と、そこから一定期間が経過した時点の実行結果とを、EES4または装置コントローラ3から取得し、それぞれの時点に対応するPIDパラメータを算出する。
そしてこの2時点におけるPIDパラメータの差は、上記一定期間における変化であると考えられる。従って、そのPIDパラメータの差分を、基準となった時点からの経過時間で除することで、単位期間ごとのPIDパラメータの差分の変化値(微分)を算出することができる。
たとえば初期状態のPIDパラメータと、90日経過後のPIDパラメータの差分を算出し、それを90日で除すれば、1日あたりのPIDパラメータの変化値を算出することができる。そのため、パラメータ設定システム12は、一日ごとに、装置シミュレータ2に設定されているPIDパラメータに上記変化値を加味して(たとえば加算する、減算する、などで演算する)記憶させることによって、実装置6における経時変化や装置状態の変化を反映させる処理を実行する。
これを実行するために、パラメータ設定システム12は、実行結果取得部121とパラメータ算出部122と差分算出部123と変化値算出部124とデータ送出部125とを有する。図18にパラメータ設定システム12の概念を模式的に示す概念図の一例を示す。
実行結果取得部121は、装置コントローラ3からのシーケンス制御指令および/またはレシピ制御指令に基づいて、実装置6が動作、処理を実行した結果である実行結果を装置コントローラ3またはEES4から取得する。なおこの際に取得する実行結果としては少なくとも2時点の実行結果である。なお2時点以上の実行結果を取得することで、後述の変化値の精度を向上させても良い。
パラメータ算出部122は、実行結果取得部121で取得した各実行結果に基づいて、それぞれの時点における最適なPIDパラメータを算出する。これらのPIDパラメータの算出は、上述の特許文献の方法、図10に示すブロックダイアグラムに基づく方法など、さまざまな公知の方法で算出することができる。
差分算出部123は、パラメータ算出部122で算出した2時点におけるPIDパラメータの差分を算出する。
変化値算出部124は、差分算出部123で算出したPIDパラメータの差分について、上記2時点の単位期間で除することにより、その変化値(微分値)を算出する。たとえば上記2時点が90日間であり、その単位期間が1日である場合、算出したPIDパラメータの差分を90で除することで、一日あたりの変化値を算出する。また単位期間が3日間である場合、算出したPIDパラメータの差分を30で除することで、3日あたりの変化値を算出する。
データ送出部125は、変化値算出部124で算出した単位期間あたりの変化値を装置シミュレータ2に送ることで、装置シミュレータ2で記憶するPIDパラメータを、単位期間ごとに更新させる。たとえばPIDパラメータの一つの要素の初期値が0.5であり、その単位期間(たとえば1日)あたりの変化値が0.01であった場合、1日ごとに当該PIDパラメータを更新していく。すなわち0.51、0.52といったように更新をしていく。なお更新は単位期間ごとに行われることが好ましいがそれに限定されない。なおデータ送出部125は、変化値を装置シミュレータ2に送るのではなく、装置設計製造支援システムを構成するいずれかの装置に送り、そこを経由して装置シミュレータ2に変化値が送られても良い。
また、実行結果取得部121で3時点以上の実行結果を取得していた場合、それぞれの2時点ごとの変化値を算出することで対応しても良い。
なお上述のように、2時点のパラメータの差分を用いるほか、2時点のPIDパラメータの波形に基づいて、PIDパラメータの設定を行っても良い。
装置コントローラ3は、レシピステップごとにレシピ制御指令(およびシーケンス制御指令)を、装置シミュレータ2に対して送っている。具体的には、レシピステップごとに値を変化させた制御指令を送ることとなる。そうすると、図9に示すように、レシピステップごとに過渡現象が伴っている。
図9における「Vcont」は切り出した波形部分における目標値(制御指令)であり、「tw」はトレースの先頭データから安定とみなすまでの時間(安定待ち時間)であり、「VoU」は過渡期のtf-tw間の上限値(オーバーシュート上限値)であり、「VoL」は過渡期のtf-tw間の下限値(オーバーシュート下限値)であり、「VsU」は安定期(tw-トリガ終了時間)での上限値(安定期上限値)であり、「VsL」は安定期(tw-トリガ終了時間)での下限値(安定期下限値)であり、「Vmove」は値が変動したとみなす値(変動みなし値)であり、「tr」は変動みなし値を波形開始から超えたとき(応答時間)であり、「tf」は安定期の設定上下限値であってVsの限界値(VsUとVsL)を波形開始から越えたとき(到達時間)であり、「ts」は波形開始から、設定Tw時間内の設定安定上下限値であって、Vsの限界値(VsUとVsL)の範囲内に入って安定したとき(安定時間)をそれぞれ示している。
そうすると一つのレシピ制御指令に対して、過渡期と安定期があるとみなすことができる。PID制御ではできるだけ立ち上がり時間を短縮し、安定時間を長く取れるようにしたいが、そうすると今度は過渡期の波形のオーバーシュートの幅が大きくなってしまう。そこで、PIDパラメータはそれらを考慮しながらレシピ制御指令の特性に応じて設定されることとなる。すなわち、レシピ制御指令を設定した場合に、そのレシピステップでPID波形がどのようになるかを計算できれば、最適なPIDパラメータを設定することができる。
そこで、パラメータ設定システム12では、レシピのデータで指定された複数のレシピ制御指令をレシピステップごとに計算し、実行される間のPID波形をグラフ化することで、経時変化や装置状態の変化を考慮したPIDパラメータを適宜設定することができる。
この場合のパラメータ設定システム12は、上述の差分算出部123の代わりに、波形算出部126と波形比較部127とを有する。この場合のパラメータ設定システム12の概念を模式的に示す概念図の一例を図20に示す。
波形算出部126は、パラメータ算出部122で算出したそれぞれのPIDパラメータに基づいて、それぞれの時点におけるPID波形を算出する。
波形比較部127は、波形算出部126で算出したそれぞれの時点におけるPID波形を比較し、相似形であるか、応答性の変化があるか、を比較、判定する。
またこの場合の変化値算出部124は、波形比較部127で判定したそれぞれの時点のPID波形の比較、判定結果に基づいて、PIDパラメータの変化値を算出する。
具体的には、波形が相似形に変化していく場合であって、その変化が大きくなる場合にはPIDパラメータのうち、比例ゲインKpを小さくし、その変化が小さくなる場合には比例ゲインKpを大きくする設定をパラメータ設定システム12は行う。そして変化値算出部124は、相似の比率(全体の変化した比率)に応じて、上記の2時点における単位期間あたりの変化値を算出する。
また、波形の応答性が速くなる場合(tf-trもしくはts-trが小さくなる場合)には、PIDパラメータのうち、積分時間であるTiを大きくし、微分時間であるTdを小さくする設定をパラメータ設定システム12は行う。
また、波形の応答性が悪くなった場合(tf-trもしくはts-trが大きくなる場合)には、PIDパラメータのうち、積分時間であるTiを小さくし、微分時間であるTdを大きくする設定をパラメータ設定システム12は行う。
そして変化値算出部124は、波形の応答性の速くなる割合、悪くなる割合(全体の変化した比率)に応じて、上記の2時点における単位期間あたりの変化値を算出する。
なおPID波形に基づいて、PIDパラメータの変化値を算出する際に、変化した比率に対して所定係数を演算(例えば乗算)して算出しているが、それに限られず、PIDパラメータのそれぞれの基準に基づいて、波形の変化率から、PIDパラメータの全体の変化率を導出することもできる。
なおパラメータ設定システム12は、このような変更処理を行うタイミングとして、観測値(制御に対する実行結果)が安定期の限界値を超えるようになった場合、tf-trもしくはts-trの許容値が限界値を超えるようになった場合に行うことが良い。
本発明の装置パラメータ設定支援システム1が組み合わせられる装置設計製造支援システムの処理の一例を、図5のフローチャートを用いて説明する。また図11に装置設計製造支援システムのワークフローを模式的に示す。
従来と同様に機械設計フェーズでは装置の機械設計を行い、電気設計フェーズでは配線等の電気的な設計を行い、ソフトウェア設計フェーズではソフトウェアの設計を行う(S100)。そして機械設計及び電気設計では、設計後、それぞれ部品の発注を行う。なお機械設計フェーズ及び電気設計フェーズでは、それぞれCAD5を用いて設計を行っているので、それらのCADデータを装置シミュレータ2のモデリングレイアウト部20が読み込む。読み込まれたCADデータは、データ記憶部21に記憶される。なお、CADデータのうち、不要な情報、例えば実装置6の内部の部品の情報など、の選択を必要に応じて受け付けることで、データ記憶部21に記憶するCADデータからそれを削除しても良い。
また、実装置6の各階層を構成するオブジェクトをどのようなタイミングで動かすかを示す動作パラメータの初期設定ファイルをモデリングレイアウト部20が読み込み(あるいは入力を受け付け)、CADデータと対応づけてデータ記憶部21に記憶させる。CADデータと動作パラメータとは対応づけられて、装置レイアウトデータとしてデータ記憶部21に記憶されていることとなる(S110)。
またソフトウェア設計フェーズで設計した処理装置を稼働させるための実装置6に対応する階層毎のソフトウェアは、装置シミュレータ2のシミュレーション処理部22に読み込まれる。
このようにして、動作パラメータを含む装置レイアウトデータがデータ記憶部21に記憶されると、装置コントローラ3は、シミュレーションモードに切り替えられ(ユーザが手動で切り替えても良いし、自動的に切り替えても良いし、あるいはモードの切替の確認メッセージが表示され、ユーザから許可の入力を受け付けた場合に切り替えるように構成しても良い)、シーケンス制御指令、レシピ制御指令を装置シミュレータ2のシミュレーション処理部22に渡す。この各制御指令と、データ記憶部21に記憶した、動作パラメータを含む装置レイアウトデータに従って、シミュレーション処理部22に読み込まれたソフトウェアが仮想的に当該処理装置を機能させ、シミュレーションを実行する(S120)。なおシミュレーションの実行中には、表示処理部23がその状態を表示装置32で表示させても良い。また、シーケンス制御指令、レシピ制御指令がシミュレーション処理部22に渡されたことによって、それをEES4が詳細装置イベントデータとして取得していても良い。
S120におけるシミュレーション処理部22におけるシミュレーション処理を、図12のフローチャートを用いて説明する。
まず装置シミュレータ2のモデリングレイアウト部20で、動作パラメータを含む装置レイアウトデータの入力を受け付ける(S200)。これはCAD5からネットワークなどを介して装置シミュレータ2がCADデータの入力を受け付けても良いし、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを介してCADデータの入力を受け付けても良い。またCADデータに対応する装置レイアウトデータの初期設定ファイルの入力もモデリングレイアウト部20で受け付け、それらを装置レイアウトデータとして、データ記憶部21に記憶する。
装置シミュレータ2でシミュレーション処理を行う場合、装置コントローラ3からのシーケンス制御指令、レシピ制御指令を受け取るため、装置コントローラ3と装置シミュレータ2とが接続される(S210)。その接続は、物理的にネットワークケーブルが接続されることでデータの送受信が可能となっても良いし、インターネットやLANなどのネットワークにお互いが接続することで、論理的にデータの送受信が可能な状態となっても良い。また装置コントローラ3は装置シミュレータ2と接続することによって、そのモードが実制御モードからシミュレーションモードに自動的に切り替わっても良い。あるいはシミュレーションモードに切り替えることで、装置コントローラ3と装置シミュレータ2の接続が行われても良い。
このようにして装置コントローラ3と装置シミュレータ2とが接続すると、装置コントローラ3から、シーケンス制御指令、レシピ制御指令が装置シミュレータ2に渡され、それをシミュレーション処理部22で取得する(S220)。また、このときに渡された各制御指令をEES4が詳細装置イベントデータとして取得する。なお、シーケンス制御指令とレシピ制御指令とは、それぞれが独立しているため、異なるタイミングまたは同じタイミングで渡されても良い。
シミュレーション処理部22で取得した、シーケンス制御指令、レシピ制御指令が、シミュレーション処理部22におけるI/Oデバイス階層のプログラムに対する制御指令の場合(S230)、シミュレーション処理部22のI/Oデバイス階層のプログラムが作動し、その制御指令に従った処理を当該プログラムに基づいて実行する。すなわち仮想的な処理装置のI/Oデバイス階層の動作が開始される(S240)。
I/Oデバイス階層のプログラムによる処理が開始されたことで、I/Oデバイス階層の動作が仮想的に開始されるので、シミュレーション処理部22に記憶している計時部(図示せず)が計時を開始する。
そして当該制御指令に対する処理が終了するか、あるいは予め定められた処理時間を経過すると(S250)、I/Oデバイス階層のプログラムの処理を終了する。すなわち、I/Oデバイス階層の動作が仮想的に完了し、計時部の計時が終了する(S260)。
I/Oデバイス階層における仮想的な動作が終了後、シミュレーション処理部22は、実行結果を動作完了報告として装置コントローラ3に渡す(S270)。この際に渡される実行結果である動作完了報告には、例えば、シーケンス制御指令に対する処理が正常に終了したこと、処理開始時刻、終了時刻、処理時間、どういった動作や処理を(仮想的に)行ったか、その結果としてマテリアルがどのような状態になったのか、マテリアルがどこに位置するのかの位置情報(所在情報)、といった情報(付帯情報)が含まれている。なお何らかのエラーが発生していた場合には、シーケンス制御指令に対する処理が正常に終了していないこと、処理開始時刻、エラー発生時刻、どういった動作や処理を(仮想的に)行ったか、その結果としてマテリアルがどのような状態になったのか、エラーの種別やその内容といった情報が付帯情報として含まれている。そして、制御を行った結果としてマテリアルがどのような状態になったのかという情報(付帯情報)がマテリアル層における情報となり、実行結果が装置シミュレータ2のシミュレーション処理部22から装置コントローラ3に渡されていることとなる。
またレシピ制御指令に対する動作完了報告には、たとえばレシピ制御指令に対する処理が正常に終了したこと、処理開始時刻、終了時刻、処理時間、どういった処理を(仮想的に)行ったか、その結果として装置やモジュール、部品がどのような状態(ガス流量、温度、電力など)になったのか、といった情報(付帯情報)が含まれている。なお何らかのエラーが発生していた場合には、レシピ制御指令に対する処理が正常に終了していないこと、処理開始時刻、エラー発生時刻、どういった処理を(仮想的に)行ったか、その結果として装置やモジュール、部品がどのような状態(ガス流量、温度、電力など)になったのか、エラーの種別やその内容といった情報が付帯情報として含まれている。そして、制御を行った結果として装置やモジュール、部品がどのような状態になったのかという情報(付帯情報)がそれぞれの階層(制御指令の対象とする階層)における情報となり、実行結果が装置シミュレータ2のシミュレーション処理部22から装置コントローラ3に渡されていることとなる。
またS220で装置コントローラ3から受け取る制御指令のうちシーケンス制御指令は、リフターを上げる・下げるなどのように、I/Oデバイス階層に対する制御指令であることが多い。しかしI/Oデバイス階層より上位の階層、すなわち装置層、モジュール層、サブシステム層に対する制御指令である場合もある。その場合(I/Oデバイス階層に対する制御指令ではない場合)にも、I/Oデバイス階層への制御指令の場合と同様に、当該制御指令における階層に対するシミュレーション処理部22のプログラムが作動し、その制御指令に従った処理を当該プログラムに基づいて実行する。すなわち制御指令に対応する、仮想的な処理装置の階層の動作が開始される(S280)。なお、どの階層に対する制御指令であるのかは、制御指令における付帯情報に、どの階層に対する制御指令であるのかが識別可能な情報が含まれていて、それにより判定しても良いし、制御指令や付帯情報が階層ごとに異なっており、その制御指令や付帯情報の種類によって、対象となる階層を判定しても良い。
当該階層のプログラムによる処理が開始されたことで、当該階層の動作が仮想的に開始されるので、シミュレーション処理部22に記憶している計時部(図示せず)が計時を開始する。
そして当該制御指令に対する処理が終了するか、あるいは予め定められた処理時間を経過すると(S290)、当該階層のプログラムの処理を終了する。すなわち、当該階層の動作や処理が仮想的に完了し、計時部の計時が終了する(S300)。
装置階層、モジュール階層、サブシステム階層のうち、対応する階層における仮想的な動作や処理が終了後、シミュレーション処理部22は、その実行結果を動作完了報告として装置コントローラ3に渡す(S310)。この際に渡される実行結果である動作完了報告にも、I/Oデバイス階層の場合と同様に、例えば、制御指令に対する処理が正常に終了したこと、処理開始時刻、終了時刻、処理時間、どういった動作や処理を(仮想的に)行ったか、その結果としてマテリアルや装置、モジュール、部品がどのような状態になったのか、といった情報(付帯情報)が含まれている。そして、結果としてマテリアルや装置、モジュール、部品がどのような状態になったのかという情報が、それぞれの階層における情報(付帯情報)となり、それが装置シミュレータ2のシミュレーション処理部22から装置コントローラ3に渡されていることとなる。
以上のように、シミュレーション処理部22では、装置コントローラ3から、シーケンス制御指令、レシピ制御指令を受け取ることで、逐次、その制御指令に対応する階層のプログラムが、当該制御指令に従って仮想的に実行され、実行結果が動作完了報告として装置コントローラ3に返されることとなる。そして、図12に示す処理を装置コントローラ3から制御を受けている間、シミュレーション処理部22はそれを反復し、また表示処理部23は、そのシミュレーションに対応する処理を装置シミュレータ2の表示装置32、あるいは所定のコンピュータ端末に表示させている。
装置シミュレータ2のシミュレーション処理部22における実行結果は、装置コントローラ3に反映しているので、詳細装置イベントデータあるいはそれに対応するトレースデータ、コンテキストデータとしてEES4が取得する(S130)。そして取得した実行結果を参照することで、適宜、ソフトウェアなどの修正を行うことも可能となる。
図13に、装置シミュレータ2で処理を行ったウェーハの処理リストの一例を模式的に示す。図13では、ウェーハ1枚ごとの処理を開始・終了したタイムスタンプや処理時間をリストとして表示している。処理装置完成前では装置が動作するための時間を設定値としてシミュレーションを行っているので、その設定値を変更することで、処理装置完成前であってもそのチューニングを行うことが出来る。なお図13はシーケンス制御指令に対する詳細装置イベントデータの表示例であるが、レシピ制御指令に対する詳細装置イベントデータであっても同様に表示されても良い。
このように装置パラメータ設定支援システム1におけるレシピ管理システム11では、装置コントローラ3に記憶させるレシピのデータを、上述のように装置シミュレータ2でシミュレーション処理を実行させることによって、実装置6を稼働させずに、その実行結果(詳細装置イベントデータ、それに対応するトレースデータ、コンテキストデータ)を取得することが可能となる。
そしてこの実行結果(詳細装置イベントデータ、それに対応するトレースデータ、コンテキストデータ)をレシピ管理システム11で受け取り、それをグラフ化して表示させる(図8)。このグラフをエンジニアが確認し、再度、レシピ管理システム11からレシピのデータの値(目標値)を適宜修正して、レシピ管理システム11から装置コントローラ3に送ることで、新たなレシピのデータとして記憶させる。そして再度、装置コントローラ3で新たなレシピのデータに基づいて装置シミュレータ2でシミュレーション処理を実行させ、新たなレシピのデータに対する実行結果をエンジニアが確認する。
以上のような作業を反復することで、エンジニアは実装置6を稼働させずに、レシピのデータの値(目標値)の精度を向上させることが可能となる。
そしてエンジニアが所望するレシピのデータの精度を得られた場合には、レシピのデータを最終的に確認するために実装置6で稼働させる。すなわち装置コントローラ3は、実制御モードに切り替えられ(ユーザが手動で切り替えても良いし、自動的に切り替えても良いし、あるいはモードの切替の確認メッセージが表示され、ユーザから許可の入力を受け付けた場合に切り替えるように構成しても良い)、シーケンス制御指令、レシピ制御指令が、実機である実装置6に渡される。また、このときに渡された各制御指令をEES4が詳細装置イベントデータとして取得する。実機である実装置6は、この制御指令に従って稼働する。
この実行結果は、シミュレーションの場合と同様に、装置コントローラ3に反映しているので、詳細装置イベントデータとしてEES4が取得する(S140)。
図14に、実装置6で処理を行ったウェーハの処理リストの一例を模式的に示す。図14では、ウェーハ1枚ごとの処理を開始・終了したタイムスタンプや処理時間をリストとして表示している。
装置コントローラ3は、シミュレーションモードと実制御モードとで同一または実質的に同一の制御指令を渡している。従ってEES4では、シミュレーションモードにおける実行結果と、実制御モードにおける実行結果とをそれぞれ取得しているので、それを例えば同一画面で表示させることで、シミュレーションモードと実制御モードとの比較を容易に行わせることも可能となる。
例えば設計値で動いている装置シミュレータ2(シミュレーションモード)と、実機である実装置6(実制御モード)とのリストにより、装置の処理性能を比較して実機である実装置6の動作や処理条件を調整することが出来る(S150)。すなわちシミュレーションモードと実制御モードとのそれぞれの実行結果を比較表示させることで、その実行の結果を開発担当者が検証することが可能となる。そしてこの検証結果が反映された新たな動作パラメータ(例えば動作時間など)を装置シミュレータ2のモデリングレイアウト部20に読み込ませることで、さらにシミュレーションモードで検証することが可能となる。
なおシミュレーションモードと実制御モードとの実行結果をEES4で取得して比較するのではなく、シミュレーションモードの実行結果を装置シミュレータ2などの表示装置32で表示させ、その結果に基づいて、装置レイアウトデータにおける動作パラメータの修正入力(新たな動作パラメータの入力)を装置シミュレータ2が受け付けることで、再度、シミュレーション処理部22におけるシミュレーション処理を実行しても良い。
また、実機である実装置6の動作に不具合がある場合、EES4で記憶している詳細装置イベントデータ(制御指令や実行結果を含む制御情報、あるいはそこに含まれる付帯情報)に基づいて(この詳細装置イベントデータはネットワークや記憶装置31を介して取得する)、それを動作パラメータとして設定し、装置シミュレータ2のシミュレーション処理部22でシミュレーション処理を行うことで、現地に開発者が赴かなくても、実機である実装置6の動作を確認することも可能となる。
図13及び図14では、ウェーハ1枚ごとの処理を開始・終了したタイムスタンプや処理時間をリストとして表示したが、例えば図8に示すように、レシピ制御指令による実行結果のグラフと、シーケンス制御指令における実行結果のガントチャートとを同一の表に表示させても良い。これにより、装置の各部品の状態とそのときの処理状態とを対比させながら確認することができる。
つぎに、EES4で記憶している各種のデータ(詳細装置イベントデータ、トレースデータ、コンテキストデータなど)に基づいて、それを動作パラメータとして、シミュレーション処理を行う場合を説明する。すなわち実装置6による各種の動作ログに基づいて、それを視覚的に再現する(シミュレーションする)場合を説明する。
シミュレーション処理を行う再現装置7を装置設計製造支援システムにさらに備える。図15に、本実施例の装置設計製造支援システムを模式的に示す。
再現装置7は制御指令やそれに対する実行結果、すなわち、詳細装置イベントデータ、トレースデータ、コンテキストデータなどの各データを読み込み、それらの各データに基づいて、シミュレーション処理を行う装置である。また再現装置7としてはコンピュータ端末を用いることが出来るが、それに限定されず、如何なるものであっても良い。このシミュレーション処理は、装置シミュレータ2のシミュレーション処理部22における処理と同様に行える。すなわちシミュレーション処理部22と同様に、再現装置7に予め記憶された装置レイアウトデータと、実際の実装置6と同様の階層に制御対象が階層化された、それぞれの階層におけるシミュレーションプログラムとを記憶しており、それらに基づいて、シミュレーション処理部22と同様にシミュレーション処理を実行する。ただし再現装置7では、装置コントローラ3からの制御指令を受け取ることなく、読み込んだ制御指令や実行結果に基づいてシミュレーション処理を行う。なお制御指令や実行結果(詳細装置イベントデータ、トレースデータ、コンテキストデータなど)は、CD−ROMや半導体メモリなどの記憶媒体に記憶されているデータを再現装置7で読み込んでも良いし、実装置6のEES4などに記憶されているデータをネットワークを介して取得して再現装置7で読み込んでも良い。
図16に再現装置7で表示されるシミュレーション処理の状況を示す画面の一例を示す。画面左側ではシミュレーション処理の状況を表示しており、右側では詳細装置イベントデータ(あるいはそれに対応するトレースデータ、コンテキストデータ)が表示されている。
また再現装置7でのシミュレーション処理に際して、その表示を行う場合には、マテリアル視点でのシミュレーション処理の実行結果を表示するように構成しても良い。
マテリアル視点でのシミュレーション処理とは、実行結果に基づいてシミュレーション処理の状況を2次元または3次元で単に表示するのみならず、マテリアルが位置する場所からの2次元または3次元での表示を再現装置7が行うことを示す。すなわち、シミュレーション処理を単に行う場合、その実行状況を2次元または3次元で俯瞰的に表示されているに過ぎない(図16など)。従って、全体を確認することが出来るものの、処理対象となっているマテリアルがどのような状態であるかを常に確認出来るわけではない。あるいはその表示を拡大できるにしても、マテリアルが位置するであろう場所を拡大表示させる指示を行わなければならず、マテリアルが移動するたびに、マテリアルが位置する場所を拡大表示する必要がある。
しかし本実施例におけるマテリアル視点でのシミュレーション処理によって、マテリアルの位置する場所を視点としたシミュレーション処理の状況を2次元または3次元で表示させることが可能となる。これによって、マテリアルの移動に伴って視点位置が自動的に変更されると共に、マテリアルから見た装置の状況を再現することが可能となる。
たとえばマテリアルがウェーハである場合、そのウェーハが所在する位置を視点とした表示を行うことが可能となる。
図17にマテリアル視点でのシミュレーション処理の状況を示す画面の一例を示す。画面左側ではマテリアル視点でのシミュレーション処理の状況を表示しており、右側では詳細装置イベントデータ(あるいはそれに対応するトレースデータ、コンテキストデータ)が表示されている。
マテリアル視点でのシミュレーション処理の状況を示す表示は、詳細装置イベントデータの実行結果における付帯情報に基づいて、マテリアルの位置を特定し、そこを視点として任意の方向・角度で表示を行わせる。すなわち、実行結果の付帯情報におけるマテリアルの状態を示す情報に位置情報(所在情報)を含めておき、再現装置7は、その位置情報を視点とした、任意の方向・角度に対する2次元または3次元での装置の表示を算出し、表示を行わせる。
再現装置7では、読み込んだ詳細装置イベントデータに基づいて、ユーザによる指定を受け付けた2つのイベント間の再現を実行することが出来る。すなわち、詳細装置イベントデータで装置の動作を再現し、且つ同時に現在処理中のトレースデータとコンテキストデータとをグラフ表示およびデータの表示を行うことが出来る。
すなわち、再現装置7は、制御指令に対応する制御を仮想的に再現し、それに対する実行結果として、詳細装置イベントデータとそれに対応づけられたコンテキストデータとトレースデータとに基づく実行結果を表示させる。この際に、どのマテリアルに対する処理であるのか、およびそのマテリアルの処理装置における位置を特定することで、マテリアル視点での表示を行うことが可能となる。
また再現装置7におけるマテリアル視点でのシミュレーション処理の際に、詳細装置イベントデータにおける処理時間を反映させた上で、再現装置7はシミュレーション処理を行う。すなわち、ある処理に5秒間かかった場合には、詳細装置イベントデータに処理時間が5秒間(あるいは処理開始時刻と処理終了時刻との差が5秒間)として記憶されている。従って、当該処理に対して実際に要した時間を反映してシミュレーション処理を行う。例えば、再現装置7は、詳細装置イベントデータにおける処理時間(あるいは処理開始時刻と処理終了時刻との差)に基づいて、再現装置7における計時部(図示せず)で当該処理が同時間となるようにシミュレーション処理を行う。
なお同時間で処理を行うほか、2倍速、3倍速、あるいは1/2倍速、1/3倍速など、所定倍率に応じた時間でシミュレーション処理を行うように構成することも出来る。
再現装置7では、詳細装置イベントデータ、トレースデータ、コンテキストデータにエラーがあったことを示す情報が含まれている場合、そのエラーの発生前及び/または後の時刻や詳細装置イベントデータ、トレースデータ、コンテキストデータの指定を受け付けることで、エラーがあった前/後の状態を再現装置7でマテリアル視点で再現させることが可能となる。
さらに再現装置7では、上述の詳細装置イベントデータ、トレースデータ、コンテキストデータに沿った再現を行うにあたって、その詳細装置イベントデータに対応するトレースデータを参照することで、処理装置やその構成部品、マテリアルなどの温度や圧力の状況を視覚的に表示させることも出来る。すなわち、詳細装置イベントデータには、当該イベントが実行された時刻情報が含まれている。従ってその時刻情報に基づいて、対応するトレースデータが特定できるので(トレースデータは時間変化情報なので、時刻情報が含まれている)、そのトレースデータを参照し、処理装置やその構成部品、マテリアルなどの温度、圧力などの状態を、色や文字、音などで再現することも出来る。例えばマテリアルの温度変化を色で表示させる場合、詳細装置イベントデータに基づいて特定されたトレースデータを参照し、その時間変化に応じて、温度に対応する所定の色でマテリアルを着色した上で表示する。そしてマテリアルの温度が所定のしきい値を超えた場合には、当該マテリアルの色を異なる色(あるいは色濃度)に変化させて表示する。
以上のような処理によって、再現装置7は、マテリアル視点での表示を単に行うのではなく、マテリアルなどの圧力や温度状態も理解可能な状態で表示を行うことが出来る。
さらにマテリアルのほかに、装置を構成する部品(I/O装置など)の圧力や温度状態を、レシピ制御指令に対する実行結果としてトレースデータに基づいて表示させるように構成することも出来る。例えば、I/O装置のプロセスパワー、ガス流量、ガス圧力、環境データとしての圧力、温度(装置内の圧力、温度など)を表示させるように構成しても良い。
加えて、再現装置7は、詳細装置イベントデータ、トレースデータ、コンテキストデータにエラーがあったことを示す情報が含まれている場合、詳細装置イベントデータ、トレースデータ、コンテキストデータからそのエラーが発生した部品を特定し、その部品の色を通常とは異なる色(例えばエラーが発生したことを示す色)で表示させることで、詳細装置イベントデータ、トレースデータ、コンテキストデータに対するエラーの部品を特定可能としても良い。
本実施例では、再現装置7でマテリアル視点でのシミュレーション処理を行う場合を説明したが、装置シミュレータ2のシミュレーション処理部22で、本実施例と同様のマテリアル視点でのシミュレーション処理を行うように構成することも出来る。
また、再現装置7でシミュレーション処理を行う詳細装置イベントデータ、トレースデータ、コンテキストデータなどは、EES4で取得したデータに限られない。すなわち、全く異なるデータ形式の装置コントローラ3やEES4などから取得したログデータの可能性もある。そこで、全く異なるデータ形式の装置コントローラ3やEES4によるログデータを再現装置7でシミュレーション処理させる場合には、再現装置7やEES4では、当該ログデータのデータ形式と、詳細装置イベントデータ、トレースデータ、コンテキストデータなどの各種のデータ形式との変換テーブルを記憶しておく。そしてその変換テーブルに基づいて、当該ログデータを詳細装置イベントデータ、トレースデータ、コンテキストデータなどのデータ形式に変換し、データ形式変換後の各データに基づいて再現装置7はマテリアル視点でのシミュレーション処理を実行する。これによって、本実施例の装置設計製造支援システムの装置コントローラ3やEES4を導入していない装置によるログデータであっても、マテリアル視点でのシミュレーション処理を実行することが可能となる。
以上のような方法を用いることで、本発明の装置パラメータ設定支援システム1のレシピ管理システム11で管理・編集されたレシピ情報を適切に設定することができる。その結果、実装置6をできるだけ稼働させずに、装置設計製造支援システムを用いることによって、シミュレーション処理を実行し、装置のスループットなどの装置性能を予測することが可能となる。
次に本発明の装置パラメータ設定支援システム1のパラメータ設定システム12を用いて、実装置6、装置シミュレータ2のPID制御方式で用いるPIDパラメータを設定する処理を説明する。
実装置6をある程度の期間、稼働させると、装置自体の部品の劣化や汚れの蓄積などにより、理想状態の装置性能(たとえばスループット)から徐々にずれが生じる。そして日々のずれが蓄積していくことで、時間が経過するにつれ、実際の装置性能(たとえばスループット)と理想状態の装置性能(たとえばスループット)との差が大きくなっていく。本来であれば実装置6をメンテナンスすることで、理想状態に戻し、装置性能(たとえばスループット)も元に戻る。
しかしメンテナンスを常に行うことは現実的ではなく、一定期間(たとえば3ヶ月)ごとにしか行えない。しかし一方で、装置シミュレータ2には劣化や汚れの蓄積などが発生することはない。そのため、装置シミュレータ2での装置性能(たとえばスループット)と、実装置6での装置性能(たとえばスループット)とに大幅なずれが生じてしまう。
そこでこの装置性能(たとえばスループット)のずれを是正するために、シミュレーション処理部22で記憶するPID制御で用いるPIDパラメータを変更することで、実装置6の装置性能にあわせる設定を、パラメータ設定システム12で行う。なお、初期値(理想状態)としてのPIDパラメータは、従来のPIDパラメータの設定方法を用いることで行える。
次にパラメータ設定システム12の処理プロセスの一例を図19のフローチャートを用いて説明する。
まずパラメータ設定システム12の実行結果取得部121は、任意の2つの時点(好ましくは初期値(理想状態)とメンテナンス直前)の詳細装置イベントデータ(あるいはそれに対応するトレースデータ、コンテキストデータ)をEES4または装置コントローラ3から取得する(S400)。
そしてパラメータ設定システム12のパラメータ算出部122は、実行結果取得部121で取得した詳細装置イベントデータ(あるいはそれに対応するトレースデータ、コンテキストデータ)に基づいて、それぞれの時点におけるPIDパラメータを算出する(S410)。なおPIDパラメータの算出方法は従来どおりの方法を用いることができる。
2時点におけるPIDパラメータをそれぞれ算出した後、パラメータ設定システム12の差分算出部123は、パラメータ算出部122で算出したそれぞれの時点におけるPIDパラメータの差分を算出する(S420)。そしてパラメータ設定システム12の変化値算出部124は、差分算出部123で算出した差分を、単位期間で除することで、単位期間ごとのPIDパラメータの差分の変化値(微分)を算出する(S430)。これによって、たとえば一日ごと、一週間ごと、といったように、それぞれの単位期間あたりの差分の変化値を算出することができる。なお、単位期間は、2時点の期間を除するにあたり、任意に設定する単位となる期間であって、たとえば一日、二日、三日、一週間、二週間、一ヶ月、とのように任意に設定することができる。
以上のように算出した単位期間あたりの差分の変化値に基づいて、パラメータ設定システム12のデータ送出部125は、単位期間ごとに上記変化値を装置シミュレータ2に送ることで、装置シミュレータ2に記憶されているPIDパラメータに、その変化値を加味して(たとえば加算する、減算する、などで演算する)記憶させ、実装置6における経時変化や装置状態の変化を反映させる処理を実行する(S440)。なおPIDパラメータの変化値は、単位期間ごとに、パラメータ設定システム12が装置シミュレータ2に対して送ることで、装置シミュレータ2で記憶しているPIDパラメータに演算することで新たなPIDパラメータとして更新できるようにしても良いし、あらかじめ単位期間ごとの変化値を装置シミュレータ2に送っておくことで、装置シミュレータ2が単位期間ごとに変化値を自動的に演算することで新たなPIDパラメータとして更新しても良い。
図22にパラメータ設定システム12において、2時点でのPIDパラメータを算出した場合の画面の一例(あるレシピ制御指令に対する実行結果のグラフとPIDパラメータ)を模式的に示す。
なお2時点のパラメータの差分を用いるほか、上述のように、2時点のPIDパラメータの波形を比較、判定することで、PIDパラメータの設定(変化値の算出)を行っても良い。この場合のパラメータ設定システム12の処理プロセスの一例を図21のフローチャートを用いて説明する。
まずパラメータ設定システム12の実行結果取得部121は、上述と同様に、任意の2つの時点(好ましくは初期値(理想状態)とメンテナンス直前)の詳細装置イベントデータ(あるいはそれに対応するトレースデータ、コンテキストデータ)をEES4または装置コントローラ3から取得する(S500)。
そして上述と同様に、パラメータ設定システム12のパラメータ算出部122は、実行結果取得部121で取得した詳細装置イベントデータ(あるいはそれに対応するトレースデータ、コンテキストデータ)に基づいて、それぞれの時点におけるPIDパラメータを算出する(S510)。なおPIDパラメータの算出方法は従来どおりの方法を用いることができる。
2時点におけるPIDパラメータをそれぞれ算出した後、パラメータ設定システム12の波形算出部126は、それぞれの時点におけるPID波形を算出する(S520)。なおPID波形の一例が、図9である。
このように算出したそれぞれの時点におけるPID波形に基づいて、波形比較部127は、それぞれの時点におけるPID波形が、相似形であるのか、応答性の変化があるのかを比較、判定する(S530)。
相似形であることを波形比較部127が比較、判定した場合には(S540)、変化値算出部124は、相似の比率を算出する。そして算出した相似の比率に応じて、PIDパラメータ(特に比例ゲインKp)の変化値を算出する(S550)。
仮に、比較対象となったPID波形のうち、あとの時点におけるPID波形が大きくなっている場合、比例ゲインKpを上記算出した比率に応じて小さくする。一方、比較対象となったPID波形のうち、あとの時点におけるPID波形が小さくなっている場合、比例ゲインKpを上記算出した比率に応じて大きくする。
たとえばあとの時点におけるPID波形の応答性が変化している場合、2時点の比例ゲインKpの差分Xを求める。そして、2時点における期間が90日、単位期間が1日である場合、比例ゲインKpの変化値をX/90として算出する。
すなわち算出した変化値を装置シミュレータ2に送ることで(S580)、PIDパラメータのうちの比例ゲインKpに対して、1日あたり、X/90ずつ変化させる(加算する、減算する、乗算する、除算するなどの所定の演算を行う)調整が行われ、PIDパラメータが更新される。
また波形比較部127が応答性に変化があることを比較、判定した場合には(S560)、その応答性能の速くなった割合、あるいは遅くなった割合を算出する。そして算出した割合に応じて、PIDパラメータ(特に積分時間Ti、微分時間Td)の変化値を算出する(S570)。
仮に、比較対象となったPID波形のうち、あとの時点におけるPID波形の応答性が速くなっている場合、積分時間Tiを上記算出した比率に応じて大きくする。また微分時間Tdを上記算出した比率に応じて小さくする。
たとえばあとの時点におけるPID波形の応答性が変化している場合、2時点の積分時間Tiの差分Yと、微分時間Tdの差分Zを求める。そして、2時点における期間が90日、単位期間が1日である場合、積分時間Tiの変化値をY/90、微分時間Tdの変化値をZ/90として算出する。
すなわち算出した変化値を装置シミュレータ2に送ることで(S580)、PIDパラメータのうちの積分時間Tiに対して、1日あたり、Y/90ずつ変化させる(加算する、減算する、乗算する、除算するなどの所定の演算を行う)調整が行われ、微分時間Tdに対して、1日あたり、Z/90ずつ変化させる(加算する、減算する、乗算する、除算するなどの所定の演算を行う)調整が行われ、PIDパラメータが更新される。
以上のように算出した単位期間あたりの差分の変化値に基づいて、パラメータ設定システム12のデータ送出部125は、単位期間ごとに上記変化値を装置シミュレータ2に送ることで、装置シミュレータ2に記憶されているPIDパラメータに、その変化値を加味して(たとえば加算する、減算する、などで演算する)記憶させ、実装置6における経時変化や装置状態の変化を反映させる処理を実行する。なおPIDパラメータの変化値は、単位期間ごとに、パラメータ設定システム12が装置シミュレータ2に対して送ることで、装置シミュレータ2で記憶しているPIDパラメータに演算することで新たなPIDパラメータとして更新できるようにしても良いし、あらかじめ単位期間ごとの変化値を装置シミュレータ2に送っておくことで、装置シミュレータ2が単位期間ごとに変化値を自動的に演算することで新たなPIDパラメータとして更新しても良い。
以上のようにPIDパラメータの設定を行うことで、経時変化や装置状態の変化を反映させたPIDパラメータを装置シミュレータ2に設定することができる。
なおパラメータ設定システム12は、PID制御を行わない装置やモジュール、部品についての経時変化や装置状態の変化を加味した処理を行えても良い。たとえば真空装置に対する真空排気時間やイベント時間などもシミュレーション処理部22でシミュレーション処理を行うが、それに対する経時変化や装置状態の変化を加味したシミュレーション処理が行えても良い。
真空装置では図23に示す数式によって、理想状態における真空排気時間の算出が可能となる。そしてこの値を用いて、真空装置のシミュレーション処理を実行している。しかし、真空装置もポンプやバルブの劣化などによって、理想状態から変化しうる。
そのため、上述の実施例3と同様に、2時点のパラメータをそれぞれ算出した後、そのパラメータの差分を、基準となった時点からの経過時間で除することで、所定期間ごとのパラメータの差分の変化値(微分)を算出する。
そして算出したパラメータの差分を、上記2時点の期間で除する。これによって、たとえば一日ごと、一週間ごと、といったように、それぞれの単位期間あたりの差分の変化値を算出することができる。なお、単位期間は、2時点の期間を除するにあたり、任意に設定する単位となる期間であって、たとえば一日、二日、三日、一週間、二週間、一ヶ月、とのように任意に設定することができる。
図24にパラメータ設定システム12において、真空装置の2時点でのパラメータを算出した場合の画面の一例(あるレシピ制御指令に対する実行結果のグラフとパラメータ)を模式的に示す。
以上のように算出した単位期間あたりの差分の変化値に基づいて、パラメータ設定システム12は、単位期間ごとに、装置シミュレータ2に設定されている真空装置のパラメータに、上記変化値を加味して(たとえば加算する、減算する、などで演算する)記憶させ、実装置6における経時変化や装置状態の変化を反映させる処理を実行する。なおパラメータの変化値は、単位期間ごとに、パラメータ設定システム12が装置シミュレータ2に対して送ることで、装置シミュレータ2で記憶しているパラメータに演算することで新たなパラメータとして更新できるようにしても良いし、あらかじめ単位期間ごとの変化値を装置シミュレータ2に送っておくことで、装置シミュレータ2が単位期間ごとに変化値を自動的に演算することで新たなパラメータとして更新しても良い。
上述の各実施例において、PID制御のシミュレーションを行う際には、適切なPIDパラメータの設定を行っていた。しかし、あえてエラーを起こすPIDパラメータの設定をパラメータ設定システム12で行い、そのPIDパラメータを装置シミュレータ2に渡すことで、装置のトラブル時のプログラムの振る舞いを検証可能とするように構成しても良い。
すなわち、パラメータ設定システム12は、装置エンジニアなどによって入力される、装置シミュレータ2でのシミュレーション処理に用いるパラメータ(PIDパラメータなど)として、装置シミュレータ2のシミュレーション処理でエラーが発生する異常な値の入力を受け付ける。
このようにパラメータの入力を受け付けると、パラメータ設定システム12は、装置シミュレータ2に上記異常な値となるパラメータを渡す(この際に、装置シミュレータ2に直接渡すのではなく、他の装置を経由しても良い)。そして装置シミュレータ2では、シミュレーション処理上、異常が発生する異常な値をパラメータとして設定し、記憶する。
装置シミュレータ2は、シミュレーション処理を行う際に、上記設定されたパラメータに基づいてシミュレーション処理を行う。そのため、シミュレーション処理を実行することで、装置トラブルなどのエラー状態がシミュレーションとして表示される。これを装置エンジニアは確認することで、装置トラブルなどを、実装置6を稼働させずに把握することができる。
このように、装置トラブルをシミュレーションすることで、実装置6を損傷、故障、破壊等させず、異常な状態の検証を行うことが可能となる。
上述した装置パラメータ設定支援システム1を用いることによって、装置自体に経時変化や装置状態の変化が発生した場合であっても、実装置6と装置シミュレータ2との間の装置性能のずれをできる限り減らすことができる。