以下、図面を参照しつつ本発明の実施の形態について詳細に説明する。
<1.故障予知システムの全体構成>
図1は、本発明の実施の形態における故障予知システム100の全体構成の一例を示す図である。ここで、故障予知システム100は、複数の基板処理装置1の各機器で発生する故障を予知する故障予知システムである。図1に示すように、故障予知システム100、主として、複数(図1においては図示の都合上3台)の基板処理装置1と、故障パターンサーバ7と、を備えている。
各基板処理装置1(1a〜1c)は、その外部の搬送装置(例えば、AVG(Automatic Guided Vehicle):図示省略)から受け渡される基板に対してレジスト塗布、洗浄等の所定の処理を施す装置である。図1に示すように、各基板処理装置1(1a〜1c)は、主として、処理ユニット10(10a〜10c)と、制御ユニット20(20a〜20c)と、表示部31(31a〜31c)と、操作部32(32a〜32c)と、を有している。
なお、各基板処理装置1a〜1cに含まれる各処理ユニット10a〜10cは、同様な機器で構成された同様なハードウェア構成を有していても良いし、各処理ユニット10a〜10cで異なったハードウェア構成を有していてもよい。
また、以下の説明では、基板処理装置1a〜1cを総称して基板処理装置1、処理ユニット10a〜10cを総称して処理ユニット10、制御ユニット20a〜20cを総称して制御ユニット20、表示部31a〜31cを総称して表示部31、および操作部32a〜32cを総称して操作部32、とも呼ぶ。
処理ユニット10は、基板処理装置1内に搬入された基板に対して、処理(例えば、レジスト塗布処理、現像処理、露光処理、洗浄処理、または熱処理等の処理)を施す基板処理ユニットである。処理ユニット10は、これらの基板処理を実行するため、(1)基板に対して薬液や純水(以下、単に、「処理液」とも呼ぶ)を供給する処理液ノズル、(2)基板に供給される薬液を温調する薬液温調部、(3)枚葉式の装置においては、基板保持部に設けられており、受け渡された基板外周端面を支持することにより基板を保持する基板チャック、(4)基板保持部を回転させる基板保持部用回転モータ等の機器(いずれも図示省略)を有している。
ここで、基板保持部に設けられている基板チャック(図示省略)は、基板の外周端面を支持する支持状態と、基板の外周端面から離れる開放状態と、を切替可能である。したがって、基板チャックが支持状態になると、基板は、基板保持部にて把持状態とされる。一方、基板チャックが開放状態になると、基板は、基板保持部から搬出可能となる。
なお、処理ユニット10としては、処理槽に貯留された処理液に複数の基板を浸漬させることによって、各基板に一括して処理を施すバッチ式の基板処理ユニットが採用されてもよいし、基板を1枚ずつ処理する枚葉式の基板処理ユニットが採用されてもよい。
制御ユニット20は、処理ユニット10の下方に配置されており、処理ユニット10を構成する各機器の動作を制御する。なお、制御ユニット20のハードウェア構成および機能構成については、後述する。
表示部31は、制御ユニット20から送信される映像信号に基づいて、画面内に文字や図形等を表示する。操作部32は、いわゆるキーボードやマウスにより構成される入力部である。故障予知システム100のオペレータは、操作部32を介し、表示部31の表示内容に基づいて入力作業を行うことによって、基板処理装置1に対して所定の動作を実行させることができる。
なお、表示部31としては、オペレータが指や専用のペンで画面に触れることにより、画面上の位置を指定する「タッチパネル」機能を有するものが使用されている。これにより、オペレータは、表示部31に表示された内容に基づいて、表示部31の「タッチパネル」機能を使用した指示を行うことによって、基板処理装置1に対して所定の動作を実行させることができる。この場合、表示部31は、表示機能だけでなく、操作部32と同様な入力機能をも実現でき、入力部としても使用される。
故障パターンサーバ7は、いわゆるパーソナルコンピュータやワークステーションにより構成された情報処理装置であり、例えば、故障予知に使用されるデータ(故障パターン格納テーブル23b、73a:図2ないし図4参照)を管理する。図1に示すように、故障パターンサーバ7は、各基板処理装置1とネットワーク9を介して電気的に接続されており、主として、制御ユニット70と、表示部81と、操作部82と、を有している。
ここでは、故障パターンとは、各機器で発生する故障状況の前兆を示すデータをいう。ネットワーク9は、各基板処理装置1と故障パターンサーバ7との間を、例えば、有線LAN(Local Area Network)等により有線接続している。無線LAN等により無線接続するものであっても良い。
制御ユニット70は、故障パターンサーバ7の筐体内に設けられており、データ演算を実行する。なお、制御ユニット70のハードウェア構成および機能構成については、後述する。
表示部81は、表示部31と同様なハードウェア構成を有しており、制御ユニット70から送信される映像信号に基づいて、画面内に文字や図形等を表示する。操作部82は、基板処理装置1の操作部32と同様に、いわゆるキーボードやマウスにより構成される入力部である。オペレータは、操作部82を介し、表示部81の表示内容に基づいて入力作業を行うことによって、故障パターンサーバ7に対して所定の動作を実行させることができる。
<2.基板処理装置および故障パターンサーバのハードウェア構成>
図2は、制御ユニット20を中心とした基板処理装置1のハードウェア構成の一例を示すブロック図である。また、図3は、制御ユニット70を中心とした故障パターンサーバ7のハードウェア構成の一例を示すブロック図である。
まず、図2を参照しつつ、制御ユニット20について説明する。制御ユニット20は、処理ユニット10を構成する各機器の動作を制御する制御部である。図2に示すように、制御ユニット20は、主として、RAM21と、ROM22と、大容量記憶部23と、CPU24と、表示処理部25と、入出力部26と、通信制御部28と、を有しており、各要素21〜26、28は、信号線29を介して電気的に接続されている。
RAM(Random Access Memory)21は、揮発性の記憶部であり、差分マスタデータ21aや故障パターン更新テーブル21bのように、CPU24の演算で使用されるデータを記憶している。なお、差分マスタデータ21aおよび故障パターン更新テーブル21bのデータ構造については、後述する。
ROM(Read Only Memory)22は、いわゆる不揮発性の記憶部であり、ROM22には、プログラム22aが格納されている。なお、ROM22としては、読み書き自在の不揮発性メモリであるフラッシュメモリが使用されてもよい。
大容量記憶部23は、シリコンディスクドライブやハードディスクドライブ等のようにRAM21と比較して記憶容量の大きな素子により構成された記憶部である。大容量記憶部23は、必要に応じてRAM21との間でデータの授受を行う。また、図2に示すように、大容量記憶部23は、パラメータ履歴テーブル23a、故障パターン格納テーブル23b、故障状況データ23c、および基板チャックなどの各機器の設定値が予め格納されているレシピテーブル23dを記憶している。なお、パラメータ履歴テーブル23a、故障パターン格納テーブル23b、および故障状況データ23cのデータ構造については、後述する。
CPU(Central Processing Unit)24は、ROM22のプログラム22aに従った動作制御やデータ演算を実行する。なお、CPU24により実現される演算機能については、後述する。
表示処理部25は、ビデオコントローラにより構成されており、信号線25aを介して表示部31と電気的に接続されている。したがって、表示処理部25により描画処理が実行されると、表示部31の画面には文字や図形等が表示される。
入出力部26は、I/Oポート(Input/Output Port)により構成されており、制御ユニット20と、制御ユニット20の外部機器との間のデータ授受に使用される。図2に示すように、入出力部26は、信号線26cを介して、処理ユニット10の各機器や操作部32と電気的に接続されており、主として、入力ポート26aと、出力ポート26bと、を有している。
入力ポート26aは、外部機器と電気的に接続されたレジスタ(メモリ)により構成されている。入力ポート26a上の所定アドレスで指定される値が読み込まれることによって、外部機器の稼働状態が確認される。
なお、本実施の形態において、枚葉式の装置の場合には、処理ユニット10に含まれている基板チャック(図示省略)には、基板の把持状況を検出するための把持センサ(図示省略)が設けられている。把持センサの出力は、基板チャックが支持状態となると「ON」状態(「H」側)となり、基板チャックが開放状態となると「OFF」状態(「L」側)となるように設定されている。また、入力ポート26a上の所定アドレスで指定される1ビット分の値は、把持センサの出力が「ON」および「OFF」状態の場合、それぞれ「1」および「0」となる。したがって、CPU24は、入力ポート26a上の所定アドレスで指定される1ビット分の値を取得することによって、基板チャックによる基板の把持状況を確認することができる。
また、本実施の形態において、処理ユニット10に含まれている薬液温調部(図示省略)には、薬液温度を検出する温度センサ(図示省略)が設けられている。温度センサにより検出された薬液温度は、対応するnビット(nは自然数)の値に変換される。そして、変換された薬液温度は、入力ポート26a上の所定アドレスを先頭としたnビット分のデータとして記憶される。したがって、CPU24は、入力ポート26a上の所定アドレスからnビット分の値を取得することによって、薬液温度を確認することができる。
出力ポート26bは、入力ポート26aと同様に、外部ユニットと電気的に接続されたレジスタ(メモリ)により構成されている。出力ポート26b上の所定アドレスに指令値としてのデータが書き込まれると、対応する外部機器の稼働状況が制御される。
例えば、基板保持部用回転モータの回転動作を制御する場合、CPU24は、回転指令値を、出力ポート26b上の所定アドレスを先頭としたmビット分(mは自然数)のデータとして、出力ポート26bに記憶させる。これにより、基板保持部用回転モータは、このmビット分のデータに対応する回転速度で回転する。
また、基板チャックの把持動作を制御する場合、出力ポート26b上の所定アドレスの値が更新される。例えば、基板チャックを開放状態から支持状態に変更する場合、CPU24は、把持指令として出力ポート26bの所定アドレスに「1」を記憶させる。一方、基板チャックを支持状態から開放状態に変更する場合、CPU24は、把持指令として出力ポート26bの所定アドレスに「0」を記憶させる。
通信制御部28は、各基板処理装置1(1a〜1c)および故障パターンサーバ7との間で実行されるデータ通信を制御する。通信制御部28は、CPU24の演算機能により生成されたデータを、故障パターンサーバ7側に送信する処理を制御する。また、通信制御部28は、故障パターンサーバ7(図1参照)からネットワーク79、信号線29を介して送信された差分マスタデータ21aの受信処理を制御する。
次に、図3を参照しつつ、制御ユニット70について説明する。制御ユニット70は、データの演算処理や加工処理を実現する制御部である。図3に示すように、制御ユニット70は、主として、RAM71と、ROM72と、大容量記憶部73と、CPU74と、表示処理部75と、入出力部76と、通信制御部78と、を有しており、各要素71〜76、78は、信号線79を介して電気的に接続されている。
RAM71は、RAM21と同様に、揮発性の記憶部であり、差分データ71a、故障パターン照合テーブル71b、および故障状況データ23cのように、CPU74の演算で使用されるデータを記憶している。なお、故障状況データ23c、差分データ71a、および故障パターン照合テーブル71bのデータ構造については、後述する。
ROM72は、ROM22と同様に、いわゆる不揮発性の記憶部であり、ROM72には、プログラム72aが格納されている。なお、ROM72としては、ROM22と同様に、読み書き自在の不揮発性メモリであるフラッシュメモリが使用されてもよい。
大容量記憶部73は、大容量記憶部23と同様に、シリコンディスクドライブやハードディスクドライブ等のようにRAM71と比較して記憶容量の大きな素子により構成された記憶部である。大容量記憶部73は、必要に応じてRAM71との間でデータの授受を行う。また、図3に示すように、大容量記憶部73は、故障パターン格納テーブル73aを記憶している。なお、故障パターン格納テーブル73aのデータ構造については、後述する。
CPU74は、CPU24と同様に、ROM72のプログラム72aに従った動作制御やデータ演算を実行する。なお、CPU74により実現される演算機能については、後述する。
表示処理部75は、表示処理部25と同様に、ビデオコントローラにより構成されており、信号線75aを介して表示部81と電気的に接続されている。したがって、表示処理部75により描画処理が実行されると、表示部81の画面には文字や図形等が表示される。
入出力部76は、入出力部26と同様に、I/Oポートにより構成されており、信号線76cを介して、例えば操作部82と電気的に接続されている。したがって、入出力部76は、操作部82と制御ユニット70との間で授受されるデータの入出力に使用される。
通信制御部78は、各基板処理装置1(1a〜1c)との間で実行されるデータ通信を制御する。例えば、通信制御部78は、CPU74の演算機能により生成されたデータを、基板処理装置1(1a〜1c)に送信する処理を制御する。また、通信制御部78は、各基板処理装置1(1a〜1c)からネットワーク79を介して送信された差分データ71aの受信処理を制御する。
<3.基板処理装置および故障パターンサーバの機能構成>
図4は、基板処理装置1の制御ユニット20、および故障パターンサーバ7の制御ユニット70の機能構成を示すブロック図である。以下では、図4を参照しつつ、制御ユニット20、70の機能構成を説明する。
まず、制御ユニット20の機能構成について説明する。図4中のCPU24内に記載されているブロック(それぞれ符号24a〜24fが付与されている)が、CPU24により実現される演算機能に対応する。なお、基板処理装置1a〜1cに含まれる制御ユニット20a〜20cは、それぞれ略同様なハードウェア構成を有している。そこで、以下では制御ユニット20aについてのみ説明する。
パラメータ収集部24aは、対応する基板処理装置1aに含まれている機器(例えば、上述の薬液温調部、基板チャック、および基板保持部用回転モータ等)の稼働履歴を履歴データとして入出力部26の入力ポート26aから収集する。つまり、パラメータ収集部24aは、基板チャックによる基板の把持状態、薬液温調部に温調された薬液の温度、および基板保持部用回転モータの回転速度(実測値)等の稼働状況値を取得する。
また、パラメータ収集部24aは、大容量記憶部23に格納されているレシピテーブル23dを参照することによって、基板保持部用回転モータの回転速度(設定値)等の指令値を取得する。そして、パラメータ収集部24aに収集された各履歴データは、パラメータ履歴テーブル23aのレコードとして登録される。
図5は、パラメータ履歴テーブル23aのデータ構造の一例を示す図である。パラメータ履歴テーブル23aは、各レコードとして収集された履歴データを格納している。図5に示すように、パラメータ履歴テーブル23aは、主として、「履歴ID」、「時刻」、「機器名」、「履歴内容」、および「値」の各フィールド(列)を有している。
「履歴ID」フィールドには、パラメータ履歴テーブル23aに登録されている各レコード(各行)を一意に識別するための値が格納されている。「時刻」フィールドには、パラメータ収集部24aにより履歴データが取得された時刻、または、パラメータ収集部24aにより取得された履歴データがパラメータ履歴テーブル23aに格納された時刻が、格納されている。
また、「機器名」フィールドには、履歴データに対応する機器を特定するためのデータが格納されている。図5の例では、各機器の名称を示す文字列データが格納されている。「履歴内容」フィールドには、取得された履歴データの種別、例えば、出力ポート26bを介して機器に送信される指令値(設定値)、または入力ポート26a(図2)を介して取得される機器の稼働状態を示す実測値等を特定するための文字列データが格納されている。「値」フィールドには、取得された履歴データ自体が格納されている。
例えば、図5に示すように、「履歴ID」=「1101」で指定されるレコードの「値」フィールドには、基板保持用回転モータの稼働状況を示すデータのうち、回転速度(実測値)が格納されていることが分かる。
故障予知部24bは、大容量記憶部23に記憶されているパラメータ履歴テーブル23aと、故障パターン格納テーブル23bと、に基づいて、基板処理装置1aに含まれる各機器の故障を予知する。
図6は、基板処理装置1の制御ユニット20中の大容量記憶部23および故障パターンサーバ7の制御ユニット70中の大容量記憶部73に記憶されている故障パターン格納テーブル23b、73aのデータ構造の一例を示す図である。故障パターン格納テーブル23b、73aは、各機器で発生する故障を故障状況に応じて分類するとともに、分類された故障毎に、故障の前兆を示す複数のパターン(本実施の形態では、パターン1〜3)と対応付けて格納するテーブルである。図6に示すように、故障パターン格納テーブル23b、73aは、互いに同様のデータ構造を有している。また、故障パターン格納テーブル23b、73aは、故障パターンサーバ7にて一元管理されている。
図6に示すように、故障パターン格納テーブル23b、73aは、主として、「格納ID」、「故障機器名」、「故障状況」、および「バージョン」の各フィールドと、故障パターンに関するフィールドと、を有している。
「格納ID」フィールドには、故障パターン格納テーブル23bに格納されている各レコードを一意に識別するための値が格納されている。「故障機器名」フィールドには、故障が発生した機器を識別するためのデータとして、各機器の名称を示す文字列データが格納されている。「故障状況」フィールドには、「故障機器名」で指定される機器で発生した故障の具体的な内容を示す文字列データが格納されている。例えば、「格納ID」=「501」で示されるレコードは、「基板チャック」で発生した「軸の破断」に関するものであることが分かる。
「バージョン」フィールドには、「格納ID」で特定されるレコードの更新回数が格納されている。 本実施の形態では、新たにレコードが作成された場合、「バージョン」フィールドには「1」が格納される。また、レコードが作成された後に、レコードの更新が1回行われると、「バージョン」フィールドの値は、「1」だけ加算されて「2」となる。
故障パターンに関するフィールドには、故障状況に応じて分類された各故障について、各故障の前兆が現れているか否かを判断するために使用される複数(本実施の形態では3つ)のパターンが格納されている(図6ではパターン1〜3)。そして、各パターンは、「内容」フィールドと、「範囲」フィールドと、を有している。
「内容」フィールドには、故障の前兆判断に使用されるパターンの具体的な内容を示す文字列が格納されている。「範囲」フィールドには、「内容」で指定されるパターンについて、故障の前兆であると判断される範囲(異常範囲)が数値データとして格納されている。
このように、故障パターン格納テーブル23b、73aの各レコードは、各機器で発する各故障状況の前兆を示すデータ群に該当し、各レコードは故障パターンに該当する。すなわち、故障パターン格納テーブル23b、73aは、一または複数の故障パターンから構成されている。
そして、パラメータ収集部24aに基づいて取得されたパラメータの実測値が、故障パターンの各パターンのいずれかの条件を満たす(すなわち、パラメータの実測値のいずれかが異常範囲内となる)場合、故障予知部24bは、対応する故障の前兆が現れていると判断する。
故障通知部24cは、故障予知部24において、処理ユニット10aのいずれかの機器で故障の前兆が現れていると判断される場合に、オペレータに対してその旨を報知する処理を実行する。なお、基板処理装置1aのオペレータに対する報知としては、警告音が発せられてもよいし、警告灯が点灯させられてもよい。また、表示部31に故障予知を通知するためのダイアログボックスが表示されることや、故障予知を通知する電子メールによって、報知が行われてもよい。さらに、基板処理装置1a以外の装置の表示部、例えば、故障パターンサーバ7やその他の情報処理装置の表示部に、故障予知を通知するためのダイアログボックスが表示させてもよい。
故障検出部24dは、入出力部26の入力ポート26a(図2)を監視することによって、基板処理装置1aで故障が発生しているか否かの検出を実行する。なお、故障が発生した機器の特定は、故障検出部24dが行ってもよいし、各機器の観察およびパラメータ履歴テーブル23aに格納されている履歴データ(各レコード)に基づいてオペレータが行ってもよい。
また、本実施の形態の故障予知システム100は、故障予知の精度を向上させるため、故障が発生する毎に、故障パターン格納テーブル73aに格納されている複数のレコード(故障パターン)のうち、故障機器および故障状況に対応するレコードを更新する。
データ生成部24eは、故障検出部24dにより故障が検出された場合、故障パターンサーバ7で管理されている故障パターン格納テーブル73aの更新用に使用される差分データ71aを生成する。
また、データ生成部24eは、パラメータ履歴テーブル23aに格納されているレコード(履歴データ)のうち故障した機器に対応するレコード(履歴データ)を取得する。
次に、データ生成部24eは、故障に対応する故障状況データ23cを通信制御部28、ネットワーク79を介して、故障パターンサーバ7側に送信させる。この送信に応じて、故障パターンサーバ7は、送信元である基板処理装置1aに、故障状況データ23cに応じた差分マスタデータ21aを送信する。
図7は、故障状況データ23cのデータ構造の一例を示す図である。故障状況データ23cは、故障パターンサーバ7に対して実行される差分マスタデータ21aの送信要求時に、併せて故障パターンサーバ7から基板処理装置1aに送信される。大容量記憶部23には、故障パターン格納テーブル23bのレコード数と略同数の故障状況データ23cが格納されている。
図7に示すように、故障状況データ23cには、故障パターン格納テーブル23b、73aの各フィールドのうち、「故障機器名」および「故障状況」フィールドに対応する値が格納されている。そして、複数の故障状況データ23cから故障機器に対応する故障状況データ23cが、選択されるとともに、故障パターンサーバ7に送信される。例えば、基板チャックの軸が破断した場合、図7に示す故障状況データ23cが選択される。
なお、大容量記憶部23に記憶されている複数の故障状況データ23cから、故障機器に対応する故障状況データ23cを選択する処理は、故障検出部24dの検出結果に基づいて行われてもよい。また、操作部32を介したオペレータの選択操作によって、所望の故障状況データ23cが選択されてもよい。
図8および図9は、それぞれ差分マスタデータ21aおよび差分データ71aのデータ構造の一例を示す図である。ここで、差分マスタデータ21aは、故障状況データ23cに応じて、故障パターンサーバ7から対応する基板処理装置1aに送信される1次元テーブルである。一方、差分データ71aは、故障パターンサーバ7の故障パターン格納テーブル73aを更新するために、故障機器に対応する基板処理装置1aから故障パターンサーバ7に送信される1次元テーブルである。
図8および図9に示すように、差分マスタデータ21aには、故障パターン格納テーブル23b、73aの各フィールドのうち、「故障機器名」および「故障状況」のフィールドに対応する値と、故障パターンに関するフィールドに対応する値と、が格納されている。ただし、差分マスタデータ21aについて、各パターンの「範囲」フィールドには、NULL文字(図8中では図示の都合上「−−−」を記載)が格納されている。
差分マスタデータ21aが受信されると、データ生成部24eは、パラメータ履歴テーブル23aを検索して故障機器の故障状況に対応する履歴データを抽出する。そして、データ生成部24eは、抽出された履歴データに基づいて、各パターンの「範囲」フィールドのすべてにデータを格納し、差分データ71a(図9)を生成する。
例えば、図8の「チャック動作時間の最大値」に対応する「範囲フィールド」には、基板チャックを開放状態とするための把持指令が出された時点から基板が開放状態とされるまでの時間、または、基板チャックを支持状態とするための把持指令が出された時点から基板が支持状態とされるまでの時間、のうち最大となるものが格納される。
このように、データ生成部24eは、故障状況データ23cに応じて生成された差分マスタデータ21aと、パラメータ収集部24aにより収集されたパラメータ履歴テーブル23aの各レコード(履歴データ)と、に基づいて、差分データ71aを生成することができる。この場合、データ生成部24eは、差分データを生成する差分データ生成部として機能する。
また、データ生成部24eは、故障パターン格納テーブル23bの更新時に使用される故障パターン照合テーブル71bを生成する。図10は、故障パターン照合テーブル71bのデータ構造の一例を示す図である。故障パターン照合テーブル71b(照合データ)は、故障パターンサーバ7に対して実行される故障パターン更新テーブル21bの送信要求時に、併せて送信されるテーブルである。
図10に示すように、故障パターン照合テーブル71bは、送信元の基板処理装置1aに記憶されている故障パターン格納テーブル23bについて、各レコードから、「格納ID」、「故障機器名」、「故障状況」、および「バージョン」の各フィールドを抽出したものである。すなわち、データ生成部24eは、故障パターン格納テーブル23bの一部を抽出することにより故障パターン照合テーブル71bを生成しており、照合データ生成部としての機能を有する。
更新部24fは、故障パターンサーバ7から送信される故障パターン更新テーブル21bに基づいて、基板処理装置1aの故障パターン格納テーブル23bを更新する。図11は、故障パターン更新テーブル21bのデータ構造の一例を示す図である。図11に示すように、故障パターン更新テーブル21bは、故障パターン格納テーブル23b、73aと同様なデータ構造(同様なフィールド)を有する。
ここで、前回の更新処理のため、故障パターンサーバ7が基板処理装置1aに向けて故障パターン更新テーブル21bを送信した時点から、今回の更新処理のため、故障パターンサーバ7が基板処理装置1aからの送信要求を受信する時点に至るまでの期間を「更新間隔」と定義する。故障パターン更新テーブル21bは、故障パターン格納テーブル73aのレコードのうち、更新間隔のいずれかの時点において故障パターンサーバ7の更新部74aにより更新されたレコードを、故障パターン更新テーブル21bのレコードとして有している。
更新部24fは、故障パターンサーバ7から送信された故障パターン更新テーブル21bと、故障パターン格納テーブル23bと、を比較する。そして、更新部24fは、両テーブルで同一の「格納ID」を有するレコードについて、故障パターン更新テーブル21bのレコードで故障パターン格納テーブル23bのレコードを置換する。
例えば、図11に示す故障パターン更新テーブル21bが故障パターンサーバ7から送信された場合、故障パターン格納テーブル23bのレコードのうち、少なくとも、「格納ID」=「501」となるレコードが、対応する故障パターン更新テーブル21bのレコードで置換される。
これにより、更新前の故障パターン格納テーブル23b(図6参照)は、図12のように更新され、故障パターン格納テーブル23bに格納されている故障パターンの各レコードは、最新状態に維持される。
次に、制御ユニット70の機能構成について説明する。図4中のCPU74に記載されているブロックである更新部74a、データ生成部74bが、CPU74で実現される演算機能に対応する。
更新部74aは、機器故障が発生した基板処理装置1aにて生成された差分データ71aに基づいて、大容量記憶部73に記憶されている故障パターン格納テーブル73aを更新する。
更新の際には、まず、故障パターン格納テーブル73aの更新に先立って、差分データ71aが、故障機器に対応する基板処理装置1aから故障パターンサーバ7にネットワーク79を介して送信され、RAM71に記憶される。差分データ71aがRAM71に記憶されると、更新部74aは、差分データ71aの「故障機器名」および「故障状況」フィールドの値と同一となるレコードを、故障パターン格納テーブル73aから抽出する。
例えば、図6に示す故障パターン格納テーブル73aが大容量記憶部73に、図9に示す差分データ71aがRAM71に、それぞれ記憶されている場合、故障パターン格納テーブル73aからは「格納ID」=「501」となるレコードが抽出される。
次に、更新部74aは、抽出されたレコードおよび差分マスタデータ21aの各「範囲」フィールドに格納されている値を比較する。そして、更新部74aは、抽出されたレコードの「範囲」フィールドのそれぞれについて、更新が必要か否かの判断を行う。
例えば、抽出されたレコードおよび差分データ71aのパターン1は、「チャック動作時間の最大時間」であり、故障パターン格納テーブル73aのパターン1の「範囲」の値(=0.15:図6参照)は、差分データ71aに対応するもの(=0.16:図9)より小さい。すなわち、故障パターン格納テーブル73aのパターン1の方が、故障予知に関して厳しい条件となっている。したがって、更新部74aは、故障パターン格納テーブル73aから抽出されたレコードのパターン1については、更新が不要であると判断する。
また、抽出されたレコードおよび差分データ71aのパターン2は、「チャック動作時間の平均値」であり、故障パターン格納テーブル73aのパターン2の「範囲」の値(=0.12:図6参照)は、差分データ71aの対応するもの(=0.11:図9)より大きい。すなわち、差分データ71aのパターン2の方が、故障予知に関して厳しい条件となっている。したがって、更新部74aは、故障パターン格納テーブル73aから抽出されたレコードのパターン2については、更新が必要であると判断する。
さらに、抽出されたレコードおよび差分データ71aのパターン3は、「チャック動作時間の傾き」に関するものである。故障パターン格納テーブル73aのパターン3の「範囲」の値(=0.05:図6参照)は、差分データ71aの対応するもの(=0.04:図9)より大きい。
ここで、「チャック動作時間の傾き」には、横軸に基板チャックの動作回数が、縦軸に基板チャックの動作時間が、それぞれプロットされる場合において、故障が検出された時点の直近k回分(kは自然数)をプロット点についての横軸に対する傾きが格納されている。そして、「チャック動作時間の傾き」の値が、より小さい値に設定される程(すなわち、動作時間の変動幅が、より小さい値に設定される程)、故障予知に関して厳しい条件となる。したがって、更新部74aは、故障パターン格納テーブル73aから抽出されたレコードのパターン3については、更新が必要であると判断する。
そして、更新部74aは、上述の更新の要否に基づいて、抽出されたレコードのパターン1〜3の「範囲」フィールドを更新する。例えば、図6の故障パターン格納テーブル73aから抽出されたレコードについては、パターン2および3の「範囲」フィールドの値が差分データ71aの対応する「範囲」フィールドの値と置換されて、図12のように更新される。このように、更新部74aは、故障パターン格納テーブル73aのレコード(故障パターン)のうち、故障した機器に対応するレコードを更新する。
データ生成部74bは、各基板処理装置1の故障パターン格納テーブル23bが更新される場合において、この更新処理のために使用される故障パターン更新テーブル21bを生成する。
更新の際には、まず、生成処理に先立って、故障パターン照合テーブル71bが、故障パターン更新テーブル21bの送信要求元である基板処理装置1からネットワーク79を介して送信され、RAM71に記憶される。故障パターン照合テーブル71bがRAM21に記憶されると、データ生成部74bは、基板処理装置1から送信された故障パターン照合テーブル71bと、大容量記憶部73の故障パターン格納テーブル73aと、について、「格納ID」が同一値となるレコードを抽出するとともに、抽出された両レコードの「バージョン」フィールドに格納されている値を比較する。
故障パターン照合テーブル71bの「バージョン」フィールドの値が、故障パターン格納テーブル73aの「バージョン」フィールドに格納の値より小さい場合、データ生成部74bは、故障パターン格納テーブル73aから抽出されたレコードを故障パターン更新テーブル21bに追加登録する。
例えば、図10に示す故障パターン照合テーブル71bがRAM71に、図12に示す故障パターン格納テーブル73aが大容量記憶部73に、それぞれ記憶されている場合について検討する。両テーブルの「格納ID」=「501」となるレコードを比較すると、故障パターン格納テーブル73aの「バージョン」フィールド(=「2」)の値は、故障パターン照合テーブル71bの「バージョン」フィールド(=「1」)の値より大きい。したがって、故障パターン格納テーブル73aのレコードのうち、「格納ID」=「501」となるレコードが、故障パターン更新テーブル21bに追加登録される(図11参照)。
そして、すべての故障パターン照合テーブル71bのレコードについて、「バージョン」フィールドの比較処理が完了すると、故障パターン照合テーブル71bに応じた故障パターン更新テーブル21bの生成処理が終了する。このように、データ生成部74bは、故障パターン更新テーブル21bを生成する更新データ生成部としての機能を有する。
また、データ生成部74bは、機器故障が発生した基板処理装置1からの故障状況データ23cに基づいて、差分マスタデータ21aを生成する。生成の際には、まず、生成処理に先立って、故障状況データ23cが、差分マスタデータ21aの送信要求元である基板処理装置1からネットワーク79を介して送信され、RAM71に記憶される。故障状況データ23cがRAM71に記憶されると、データ生成部74bは、故障状況データ23cの「故障機器名」および「故障状況」フィールドの値と同一となるレコードを、故障パターン格納テーブル73aから抽出する。
例えば、図7に示す故障状況データ23cがRAM71に、図6に示す故障パターン格納テーブル73aが大容量記憶部73に、それぞれ記憶されている場合、データ生成部74bは、「格納ID」=「501」となるレコードを故障パターン格納テーブル73aから抽出する。
次に、データ生成部74bは、抽出されたレコードに含まれるフィールドのうち、各パターン1〜3の「範囲」フィールドにNULL文字を格納したものを、差分マスタデータ21aとして生成する。
そして、故障状況データ23cに応じて生成された差分マスタデータ21aは、故障パターンサーバ7から、故障状況データ23cの送信元である基板処理装置1にネットワーク79を介して送信される。
<4.故障パターンを用いた故障予知>
図13は、故障パターンを用いた故障予知の手順を説明するためのフローチャートである。ここでは、図13を参照しつつ、故障パターン格納テーブル23bに格納されている各レコード(故障パターン)に基づいて各機器の故障を予知する手順を説明する。
なお、故障予知部24bで使用される故障パターン格納テーブル23bは、上述のように、故障した機器の履歴データに基づいて更新されるものであり、故障パターンサーバ7で管理されている。また、故障パターン格納テーブル23bは、故障予知に先立って、故障パターンサーバ7から各基板処理装置1に送信され)ているものとする。さらに、各基板処理装置1のパラメータ収集部24aは、故障予知と並行して、一定の間隔で収集された履歴データをパラメータ履歴テーブル23aに登録するものとする。
本手順において、各基板処理装置1の故障予知部24bは、パラメータ履歴テーブル23aの各レコード(履歴データ)と、故障パターン格納テーブル23bの各レコード(故障パターン)とを比較する(S101)。
ステップS101において、故障パターンのいずれもが履歴データに合致せず、故障の前兆を示す機器(以下、単に、「故障前兆機器」とも呼ぶ)が存在しない判断される場合(S102)、ステップS101に戻る。
一方、ステップS101において、故障パターンのいずれかが履歴データに合致すると判断され、故障前兆機器が存在すると判断される場合(S102)、故障予知部24bは、故障前兆機器に対応する故障パターン(レコード)を故障パターン格納テーブル23bから抽出する。そして、故障予知部24bは、抽出された故障パターンから「故障機器名」および「故障状況」フィールドに格納されているデータを取得し、故障前兆機器の機器名および故障状況を特定する(S103)。
続いて、故障通知部24cは、故障前兆機器に関する情報、すなわち、特定された機器名および故障状況、を報知するためのダイアログボックスを作成する(S104)。そして、ステップS104で作成されたダイアログボックスが表示部31に表示された後(S105)、ステップS101に戻る。
このように、本実施の形態の故障予知処理において、各基板処理装置1の故障予知部24bは、故障パターンサーバ7に記憶されている故障パターン格納テーブル73aでなく、各基板処理装置1の大容量記憶部23に記憶されている故障パターン格納テーブル23bを使用している。そのため、各基板処理装置1は、ネットワーク9および故障パターンサーバ7に負荷をかけることなく、故障予知を実行することができる。
<5.故障パターンサーバ側の故障パターン格納テーブルの更新>
図14は、故障パターンサーバ7に記憶されている故障パターン格納テーブル73aの更新手順を説明するためのフローチャートである。ここでは、図14を参照しつつ、故障パターン格納テーブル73aの更新手順を説明する。
本手順において、各基板処理装置1の故障検出部24dは、入出力部26の入力ポート26aを監視することによって、各機器で故障が発生しているか否かの検出を行う(S201)。ステップS201において、各機器のいずれにおいても故障が検出されない場合(S202)、ステップS201に戻る。
一方、ステップS202において、各機器のいずれかで故障が検出された場合、基板処理装置1のデータ生成部24eは、差分マスタデータ21aの送信要求と併せて、故障機器に応じて選択された故障状況データ23c(図7参照)を通信制御部28、ネットワーク79を介して故障パターンサーバ7に送信する(S203)。なお、故障状況データ23cの選択は、上述のように、故障検出部24dの検出結果に基づいて行われてもよいし、操作部32を介したオペレータの選択操作により行われてもよい。
基板処理装置1からの故障状況データ23cが故障パターンサーバ7で受信されると、故障パターンサーバ7のデータ生成部74bは、故障状況データ23cに応じた差分マスタデータ21a(図8参照)を生成する。そして、生成された差分マスタデータ21aは、故障パターンサーバ7から、故障状況データ23cの送信元である基板処理装置1にネットワーク79を介して送信される(S204)。
続いて、差分マスタデータ21aを受信した基板処理装置1において、データ生成部24eは、差分マスタデータ21aのフィールドのうち「範囲」フィールドに、履歴データに基づいた値を格納し、差分データ71aを生成する。そして、生成された差分データ71aは、基板処理装置1から故障パターンサーバ7にネットワーク79を介して送信される(S205)。
そして、差分データ71aを受信した故障パターンサーバ7において、データ生成部74aは、受信した差分データ71aに基づいて、故障パターン格納テーブル73aに登録されている故障パターンのうち、故障機器に対応するものを更新した後(S206)、ステップS201に戻る。
このように、故障予知システム100の基板処理装置1に含まれる機器で故障が発生すると、基板処理装置1のCPU24内のデータ生成部24eは、故障機器に対応した差分データ71aを生成する。そして、この差分データ71aに基づいて、故障パターンサーバ7に記憶されている故障パターン格納テーブル73aのうち、故障機器に対応する故障パターン(レコード)が更新される。すなわち、故障パターンサーバ7で管理されている故障パターン格納テーブル73aは、故障が発生する毎に更新される。そのため、各基板処理装置1の故障予知をさらに適切に実行することができ、不要な機器交換をさらに抑制することができる。
また、故障状況データ23cに応じて故障パターンサーバ7から送信され、RAM21に記憶されている差分マスタデータ21aは、故障パターンサーバ7で管理されており、各基板処理装置1で管理することは必要とされていない。そのため、各基板処理装置1で実行されるデータ管理コストを低減させることができる。
<6.基板処理装置側の故障パターン格納テーブルの更新>
図15は、各基板処理装置1に記憶されている故障パターン格納テーブル23bの更新手順を説明するためのフローチャートである。ここでは、図15を参照しつつ、故障パターン格納テーブル23bの更新手順を説明する。
なお、故障パターン格納テーブル23bの更新は、各基板処理装置1の制御ユニット20の処理負荷が低いタイミングで実行されてもよいし、操作部32を介したオペレータの指示に従って実行されてもよい。
本手順が開始されると、各基板処理装置1のデータ生成部24eは、大容量記憶部23に記憶されている故障パターン格納テーブル23bの一部を抽出することによって、故障パターン照合テーブル71b(図10参照)を生成する。そして、生成された故障パターン照合テーブル71bは、故障パターン更新テーブル21bの送信要求と併せて、基板処理装置1から故障パターンサーバ7にネットワーク79を介して送信される(S301)。
次に、故障パターン照合テーブル71bを受信した故障パターンサーバ7において、データ生成部74bは、故障パターンサーバ7の制御ユニット70内の大容量記憶部73で管理されている故障パターン格納テーブル73aと、故障パターン照合テーブル71bと、を比較する(S302)。
続いて、CPU74のデータ生成部74bは、ステップS302の比較結果に基づいて、基板処理装置1の故障パターン格納テーブル23bを更新するために使用される故障パターン更新テーブル21b(図11)を生成する。生成された故障パターン更新テーブル21bは、故障パターンサーバ7から、故障パターン照合テーブル71bの送信元である基板処理装置1にネットワーク79を介して送信される(S303)。
そして、故障パターン更新テーブル21bを受信した基板処理装置1において、更新部24fは、受信された故障パターン更新テーブル21bと、大容量記憶部23に記憶されている故障パターン格納テーブル23bと、を比較することによって、故障パターン格納テーブル23bに登録されている故障パターンを更新する(S304)。
このように、各基板処理装置1に記憶されている故障パターン格納テーブル23bの更新では、故障パターン格納テーブル73aよりデータ量の小さいテーブルである故障パターン照合テーブル71bおよび故障パターン更新テーブル21bが、各基板処理装置1および故障パターンサーバ7の間で送信される。そのため、ネットワーク9のトラフィック増大を抑制しつつ、故障パターンサーバ7に記憶されている故障パターン格納テーブル73aを更新することができる。
<7.本実施の形態の故障予知システムの利点>
以上のように、本実施の形態の故障予知システム100で使用される故障パターン格納テーブル23bは、故障機器の履歴データに基づいて更新される。これにより、故障予知システム100の各基板処理装置1は、各機器の使用環境に応じた故障予知を実行することができ、各機器の交換時期を適切に決定することができる。そのため、各機器が必要以上に早く交換されることを防止しつつ、各基板処理装置1で故障が発生することを未然に防止できる。
<8.変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
(1)本実施の形態において、各故障パターン格納テーブル23b、73aの各レコード(故障パターン)は、3つの故障パターン(パターン1〜3)を有するものとして説明したが、これに限定されるものではない。各故障パターンを構成するパターンの個数は、1つ(「パターン1」のみ)であってもよいし、2つであってもよいし、4つ以上であってもよい。すなわち、故障パターンを構成するパターンの個数は、対応する機器の故障状況に応じて決定される。
(2)また、本実施の形態において、故障パターン照合テーブル71bは、故障パターン格納テーブル23bの各レコードから、「格納ID」、「故障機器名」、「故障状況」、および「バージョン」の各フィールドを抽出したものとして説明したが、故障パターン照合テーブル71bのデータ構造としては、これに限定されるものではない。
データ生成部74bによる故障パターン更新テーブル21bの生成処理を考慮すると、故障パターン照合テーブル71bは、「格納ID」および「バージョン」の各フィールドを有していれば十分である。
(3)また、本実施の形態において、故障パターン更新テーブル21bは、故障パターン格納テーブル23b、73aと同様なデータ構造(同様なフィールド)、すなわち、「格納ID」、「故障機器名」、「故障状況」、および「バージョン」の各フィールドと、故障パターンに関するフィールドと、を有するものとして説明したが、故障パターン更新テーブル21bのデータ構造はこれに限定されるものでない。
更新部24fによる故障パターン格納テーブル23bの更新処理を考慮すると、故障パターン更新テーブル21bは、「格納ID」フィールドと、故障パターンに関するフィールドと、を有していれば十分である。
(4)さらに、本実施の形態において、故障パターンサーバ7に記憶されている故障パターン格納テーブル73aの更新に使用される差分マスタデータ21aは、更新処理毎に故障パターンサーバ7のデータ生成部74bで生成されるものとして説明したが、これに限定されるものでない。差分マスタデータ21aは、故障パターンサーバ7の大容量記憶部73に予め記憶されていてもよい。この場合、差分マスタデータ21aは、各基板処理装置1からの送信要求に応じて、大容量記憶部73から読み出され、送信要求元の基板処理装置1に送信される。