(57)【特許請求の範囲】
【請求項１】
複数の制御対象機器を備えた自動機において、前記複数の制御対象機器の動作プログラムを複数のタスクに割り付けて、前記複数の制御対象機器を総括的に制御する制御装置であって、
前記複数のタスクをマルチタスク処理で実行するプログラム実行部と、
前記プログラム実行部によりタスクを構成する複数の処理のうち最初の処理が処理番号順に従って開始されてからの経過時間を処理時間としてタスクごとに検出して、検出された前記処理時間がタスクごとに予め設定されたしきい値を超過するときに、前記タスクを異常と判断するタスク監視部と、
前記複数の制御対象機器の動作状態を監視する状態監視部とを備え、
前記複数のタスクには各タスクに割り付けられる動作プログラム内に異常状態から復旧するための復旧処理がタスクごとにそれぞれ記述されており、
前記処理時間が前記しきい値を超過したときには、前記タスク監視部は前記状態監視部による前記制御対象機器の動作状態の情報をもとに前記復旧処理の可否の判断を行って、前記復旧処理を実行させても支障がないと判断された場合に、前記復旧処理を実行させて前記タスクが異常と検出された時点において実行されていた処理番号に対応する処理から再起動させることを特徴とする自動機の制御装置。
【請求項２】
前記複数のタスクのそれぞれに対して設定される監視情報を保持する監視テーブルを有し、
前記監視情報は、前記処理時間と、前記しきい値と、前記処理番号と、前記動作プログラム内における前記復旧処理の情報にアクセスするためのアドレスとを有しており、
前記処理時間は、監視対象となる前記タスクの実行処理が経過した時間に対応して更新され、
前記処理番号は、監視対象となる前記タスクの実行処理の前記処理番号が進行するに対応して同一処理番号に更新され、
前記タスク監視部は、前記監視テーブルに登録される前記処理時間および前記しきい値に基づいて監視処理を実行して、前記処理時間が前記しきい値を超過したときには、前記監視テーブルに登録される前記アドレスに基づき前記復旧処理の情報にアクセスして復旧処理を行って、前記監視テーブルに登録される前記処理番号に対応する処理から再起動させることを特徴とする請求項１に記載の自動機の制御装置。
【請求項３】
前記タスク監視部が前記複数のタスクのうち少なくとも１つの前記タスクの異常を検出した場合に、異常検出時における前記監視テーブルの前記監視情報の内容を保存するためのログファイルを備えていることを特徴とする請求項２に記載の自動機の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システム異常を監視するための自動機の制御装置に関する。
【背景技術】
【０００２】
複数の制御対象機器を備えた自動機の制御装置において、このような制御装置（システム）の動作の異常を監視する手段としては、ウォッチドッグタイマが既に知られている（例えば、特許文献１を参照）。ウォッチドッグタイマは、ＣＰＵの暴走によりシステム全体が危険な状態に陥ることを回避するため、ＣＰＵ動作の異常検出を行うものである。すなわち、ウォッチドッグタイマは一定時間でタイムアップするタイマーに対して、ＣＰＵが正常なときにはタイマーのタイムアップ時間内にリセット信号を出力し、このリセット信号によりタイマーを再トリガすることでタイマーのタイムアップを防止する。これに対して、ＣＰＵがリセット信号を出力できずにタイマーがタイムアップした場合には異常と判定し、このように異常が検出された場合には、例えば電源を一旦遮断してシステム全体をリセットするように構成されている。
【特許文献１】特開平５−２０２８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述したような複数の制御対象機器を備えた自動機としては、例えば、半導体ウェハや液晶基板などの基板表面を超精密に研磨加工する研磨装置（ＣＭＰ装置と称される）が知られており、研磨加工を行う研磨加工部、研磨加工が終了した基板の洗浄を行う基板洗浄部、および、基板の搬送を行うロボット等を有する搬送装置などから構成される。
【０００４】
しかしながら、このような自動機（研磨装置）の制御装置においてウォッチドッグタイマを採用した場合に、ウォッチドッグタイマにより異常が検出され電源遮断等によりシステム全体が一旦リセットされると、研磨装置の復旧処理のために各制御対象機器などを安全な位置に退避させたり、各機器を原点位置に一旦戻したりするような作業が必要となるとともに、研磨加工を再始動させるために加工条件等を調整する煩雑な作業が必要になる。このような復旧処理が適切に行われなかった場合には、復旧時に基板や各制御対象機器（研磨加工部など）に影響（ダメージ）を与えるおそれが生じるという問題がある。
【０００５】
本発明は、このような課題に鑑みてなされたものであり、システム異常が発生した場合に適切な復旧処理を行うことができる自動機の制御装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
このような目的達成のため、本発明に係る自動機の制御装置は、複数の制御対象機器を備えた自動機において、複数の制御対象機器の動作プログラムを複数のタスクに割り付けて、複数の制御対象機器を総括的に制御する制御装置であって、複数のタスクをマルチタスク処理で実行するプログラム実行部と、前記プログラム実行部によりタスクを構成する複数の処理のうち最初の処理が処理番号順に従って開始されてからの経過時間を処理時間としてタスクごとに検出して、検出された処理時間がタスクごとに予め設定されたしきい値を超過するときに、タスクを異常と判断するタスク監視部と、複数の制御対象機器の動作状態を監視する状態監視部とを備え、複数のタスクには各タスクに割り付けられる動作プログラム内に異常状態から復旧するための復旧処理がタスクごとにそれぞれ記述されており、処理時間がしきい値を超過したときには、タスク監視部は状態監視部による制御対象機器の動作状態の情報をもとに復旧処理の可否の判断を行って、復旧処理を実行させても支障がないと判断された場合に、復旧処理を実行させてタスクが異常と検出された時点において実行されていた処理番号に対応する処理から再起動させるように構成される。
【発明の効果】
【０００７】
本発明によれば、システムの一部に局所的な異常が発生した場合に、その影響が自動機全体に及ばないよう適切な復旧処理を実行することができる。
【発明を実施するための最良の形態】
【０００８】
以下、図面を参照して本発明の好ましい実施形態について説明する。本発明の一実施形態に係る制御装置を備えた自動機（研磨装置）の構成例を図１に示しており、まずこの図１を参照して研磨装置ＰＭの全体構成から概要説明する。なお、図１中に付記した矢印付きの点線は、この研磨装置ＰＭにおける被加工基板たる半導体ウェハの流れを示す線である。
【０００９】
研磨装置ＰＭは、大別的には、半導体ウェハ（以下ウェハと称する）Ｗの搬入・搬出を行うカセットインデックス部１、ウェハＷの研磨加工を行う研磨加工部２、研磨加工が終了したウェハＷの洗浄を行う基板洗浄部３、および研磨装置ＰＭ内でウェハＷの搬送を行う搬送装置４（第１搬送ロボット４１、第２搬送ロボット４２）などからなり、各部はそれぞれ自動開閉式のシャッタで仕切られてクリーンチャンバが構成される。この研磨装置ＰＭの作動は、後述する制御装置５０（図３参照）により制御される。
【００１０】
カセットインデックス部１には、それぞれ複数枚のウェハＷを保持したカセット（キャリアとも称される）Ｃ１〜Ｃ４を載置するウェハ載置テーブル１２が設けられ、ウェハ載置テーブル１２の前方に第１搬送ロボット４１が配設されている。第１搬送ロボット４１は多関節アーム型のロボットであり、床面に設けられたリニアガイドに沿って移動自在な基台の上部に水平旋回および昇降作動自在な旋回台が設けられ、この旋回台に取り付けられた多関節アームを伸縮させて、アーム先端部のウェハチャックでウェハＷの外周縁部を把持可能になっている。第１搬送ロボット４１によりセンドカセットＣ１，Ｃ２から取り出された研磨加工前の未加工ウェハは、基板洗浄部３内に設けられた未加工ウェハを搬送するための通路内で研磨加工部２の第２搬送ロボット４２に受け渡される。
【００１１】
研磨加工部２は、円盤状のインデックステーブル２０を中心として４つのエリアに区分されており、未加工ウェハの搬入および加工済ウェハの搬出を行う搬送室２４と、ウェハＷの第１次研磨加工を行う第１研磨室２１、第２次研磨加工を行う第２研磨室２２、第３次研磨加工を行う第３研磨室２３とから構成される。
【００１２】
インデックステーブル２０は、上記４つのエリアに対応して４分割されており、各領域にウェハＷを着脱自在に吸着保持するウェハチャック２０ｃが設けられている。インデックステーブル２０の内部には、４箇所のウェハチャック２０ｃ，２０ｃ…をそれぞれ水平面内で回転させるチャック駆動機構が設けられており、各ウェハチャック２０ｃが制御装置から出力される制御信号に基づいて各々独立して回転制御される。インデックステーブル２０は、テーブル全体を回転駆動するテーブル駆動機構により水平旋回自在に配設されており、制御装置から出力される制御信号に基づいて９０度ピッチで回動送りされ、各ウェハチャック２０ｃが搬送室２４、第１研磨室２１、第２研磨室２２、第３研磨室２３に位置決め停止されるようになっている。
【００１３】
搬送室２４には、第２搬送ロボット４２が設けられている。第２搬送ロボット４２は、第１搬送ロボット４１と同様の多関節アーム型のロボットであり、第１搬送ロボット４１から受け取った未加工ウェハを搬送室２４に搬入し、この搬送室２４に位置決め停止されたウェハチャック２０ｃに載置して吸着保持がなされる。
【００１４】
第１研磨室２１、第２研磨室２２、第３研磨室２３には、それぞれウェハＷの表面を研磨する研磨機構２２０と、研磨パッド２２１の研磨面２２１ｓ（図２を参照）をドレッシングするドレッシング機構２３０とが設けられている。
【００１５】
各研磨室２１，２２，２３に設けられた研磨機構２２０は、図２に側面視の概要構成を示すように、研磨パッド２２１、研磨パッド２２１の研磨面２２１ｓを下向きの水平姿勢で保持し研磨ヘッド駆動機構により水平面内に回転駆動される研磨ヘッド２２２、研磨ヘッド２２２を水平揺動および昇降作動させるアーム駆動機構を備えた研磨アーム２２３、および上述したウェハチャック２０ｃなどからなり、各部の作動が制御装置から出力される制御信号に基づいて制御される。研磨ヘッド２２２には、円環状の研磨パッド２２１の中心部にスラリーや純水等を供給するスラリー供給構造が設けられており、研磨加工時に、スラリー供給装置から加工目的に応じたスラリーが供給されるように構成されている。
【００１６】
研磨機構２２０によるウェハＷの研磨加工は、研磨アーム２２３を水平揺動させて研磨ヘッド２２２をウェハチャック２０ｃの上方に位置させた状態で、研磨ヘッド２２２を回転させながら下降させ、ウェハチャック２０ｃに吸着保持されて回転されるウェハＷの表面に研磨パッド２２１を所定圧力で押圧させ、研磨ヘッド２２２の中心部からスラリーを供給しながら研磨アーム２２３を揺動させることで行われる。
【００１７】
研磨ヘッド２２２の回転数、研磨パッド２２１のウェハへの押圧力、ウェハに対する揺動速度およびストローク、ウェハチャック２０ｃの回転数、研磨ヘッド２２２に供給するスラリーの種別や流量などの加工条件は各研磨室２１，２２，２３において行われる第１次〜第３次のプロセス内容に応じて各研磨室２１，２２，２３ごとに予め設定されており、各研磨室２１，２２，２３では、このようにして条件設定された制御フローに基づいて各駆動機構等に出力される制御信号に従って研磨加工が同時並行して行われる。
【００１８】
なお、研磨アーム２２３の先端部には、研磨加工中のウェハＷの研磨状態を光学的に検出する終点検出器が取り付けられており、研磨加工中の膜厚減少などがリアルタイムで検出され研磨加工の終点をフィードバック制御可能になっている。また、研磨加工の終段にはスラリー供給装置から純水が供給され、スラリーを洗い流すリンス洗浄が行われるようになっている。
【００１９】
ドレッシング機構２３０は、ドレッシング工具２３１と、このドレッシング工具２３１を上向きの水平姿勢で回転させる工具回転機構とを備えて構成され、所定の研磨サイクルごとに研磨ヘッド２２２を水平揺動させて研磨パッド２２１をドレッシング工具２３１上に移動させ、研磨パッド２２１およびドレッシング工具２３１を相対回転させつつ、研磨パッド２２１の研磨面２２１ｓをドレッシング面２３１ｓに当接させて、研磨面２２１ｓのドレッシングを行うようになっている。
【００２０】
インデックステーブル２０は、同時並行して実行される第１〜第３研磨室２１，２２，２３の研磨加工が終了すると９０度回動送りされ、搬送室２４においてウェハチャック２０ｃに吸着保持された未加工ウェハが、搬送室２４から第１研磨室２１→第２研磨室２２→第３研磨室２３に送られて各研磨室で順次第１次研磨加工、第２次研磨加工、第３次研磨加工され、第３研磨室２３において研磨加工が終了した加工済みウェハが搬送室２４に送り出される。
【００２１】
すなわち、インデックステーブル２０が回動送りされるごとに未加工ウェハが第１研磨室２１に搬入されるとともに、研磨加工を完了した加工済ウェハが第３研磨室２３から搬送室２４に搬出される。搬送室２４に送り出された加工済ウェハは、第２搬送ロボット４２の作動と同期してウェハチャック２０ｃによる吸着保持が解除され、第２搬送ロボット４２によって研磨加工部２から基板洗浄部３に搬送される。
【００２２】
なお、搬送室２４には、研磨機構２２０と同様に水平揺動可能なアーム２４３と、このアーム２４３の先端部に水平面内で回転自在に配設されたブラシ２４１とを有するチャック洗浄機構２４０が設けられており、加工済ウェハが第２搬送ロボット４２によって搬出されたときに、アーム２４３を水平旋回させてブラシ２４１をウェハチャック２０ｃ上に移動させ、インデックステーブル２０に設けられたウェハ保湿用の純水供給ノズル２４５から純水を供給させながら、ブラシ２４１を回転させて、ウェハチャック２０ｃの上面をブラシ洗浄するように構成される。
【００２３】
基板洗浄部３は、第１洗浄室３１、第２洗浄室３２、第３洗浄室３３および乾燥室３４の４室構成からなり、研磨加工が終了して第２搬送ロボット４２により搬入された加工済ウェハが、第１洗浄室３１→第２洗浄室３２→第３洗浄室３３→乾燥室３４に順次送られて研磨加工部２で付着したスラリーや研磨摩耗粉等の除去洗浄が行われる。各洗浄室における洗浄方法は種々の構成例があるが、例えば、第１洗浄室３１では回転ブラシによる両面洗浄、第２洗浄室３２では超音波加振下での表面ペンシル洗浄、第３洗浄室３３では純水によるスピナー洗浄、乾燥室３４では窒素雰囲気下における乾燥処理が行われる。第１洗浄室３１の下方には、未加工ウェハを研磨加工部２に搬送するための通路が設置されている。
【００２４】
基板洗浄部３で洗浄された加工済ウェハは、第１搬送ロボット４１により基板洗浄部３から取り出され、ウェハ載置テーブル１２上に載置されたレシーブカセットＣ３，Ｃ４の所定スロット、またはセンドカセットＣ１，Ｃ２の空きスロットに収容される。
【００２５】
このように概要構成される研磨装置ＰＭにおいて、研磨加工部２、基板洗浄部３、搬送装置４などの研磨装置ＰＭの各部の作動は、図３に示すように、各コントローラ２ａ，３ａ，４ａを介して制御装置５０により総括的に制御される。制御装置５０は、ＣＰＵやメモリ、ハードディスク、Ｉ／Ｏなどからなるハードウェア５１を有している。また、制御装置５０は、ソフトウェア的な構成として、ハードウェア５１のＣＰＵによって実行されるマルチタスクＯＳ（オペレーティングシステム）５２、制御タスク群６０、監視タスク７０、監視テーブル８０および装置状態監視部９０を有して構成される。
【００２６】
制御タスク群６０は、研磨装置ＰＭの作動を制御するための各部の詳細な動作やインターロック等が記述されている動作プログラムであり、図４に示すように、研磨加工部２を制御するためのタスクＡ、基板洗浄部３を制御するためのタスクＢ、搬送装置４を制御するためのタスクＣなどに割り付けられ、これらタスクＡ，Ｂ，Ｃ（および、監視タスク７０）はマルチタスクＯＳ５２の管理下で擬似並列処理される。なお、勿論、これらタスクＡ，Ｂ，Ｃの他にも研磨装置ＰＭの他の各部を制御するためのタスクが存在するが、ここでは省略する。
【００２７】
制御タスク群６０の各タスクＡ，Ｂ，Ｃは、図４に示すように、それぞれのタスク内で実行される各動作処理１〜ｎを実行するための動作プログラムや、復旧処理Ｙを実行するための処理プログラムを有している。各タスクＡ，Ｂ，Ｃは、それぞれのタスク内の動作処理１〜ｎの処理番号（Ｐ＝１〜ｎ）に従って、順次解釈実行される。例えば、搬送装置４を制御するためのタスクＣは、動作処理１（処理番号Ｐ＝１）では第１搬送ロボット４１の初期化、動作処理２（処理番号Ｐ＝２）では第１搬送ロボット４１をワーク（ウェハＷ）位置に移動、動作処理３（処理番号Ｐ＝３）では第１搬送ロボット４１でワーク（ウェハＷ）を掴む、等々の処理が登録されており、上記処理番号（Ｐ＝１〜ｎ）に従って順次解釈実行されるようになっている。また、各タスクＡ，Ｂ，Ｃは、タスク動作の状態を示すための動作フラグＦを有しており、実行処理の開始に伴い動作フラグＦをセットし、実行処理の完了に伴い動作フラグＦをクリアする。
【００２８】
監視タスク７０は、制御タスク群６０を構成する複数のタスクＡ，Ｂ，Ｃが正常に動作しているかどうかを監視し、ソフトハングや無限ループ等の異常を検出したときに当該タスクの処理停止および初期化などの復旧処理Ｙを行う。この監視タスク７０は、各タスクＡ，Ｂ，Ｃの動作フラグＦがセットされることにより監視を開始し、動作フラグＦがクリアされることにより監視を終了するようになっており、監視対象のタスクごとにその処理時間Ｔを監視し、この処理時間Ｔに基づいてタスクの異常を検出するようになっている。また、この監視タスク７０は監視対象となるタスクごとにタスク動作監視に利用するための監視テーブル８０を有している。
【００２９】
監視テーブル８０には、図５に示すように、各タスクＡ，Ｂ，Ｃのそれぞれに対してタスク動作監視のためのテーブル８１，８２，８３が用意されており、この各テーブル８１，８２，８３には、当該タスクが正常に実行処理するために費やすことのできる最大時間Ｔｍ、当該タスクでの実行処理の経過時間を示す処理時間Ｔ、当該タスクで実行されている動作処理の処理番号Ｐ、当該タスクにおける復旧処理ＹのアドレスＲなどの各引数（監視情報）が設定されている。これら最大時間Ｔｍ、処理時間Ｔ、処理番号Ｐおよび復旧処理アドレスＲは、監視タスク７０の監視開始に基づき監視対象の当該タスクごとに監視テーブル８０（各テーブル８１，８２，８３）に登録され、当該タスクが正常に終了して監視タスク７０の監視終了により削除される。また、監視テーブル８０には、監視タスク７０の監視対象として、監視開始に基づき上記引数（監視情報）が登録されたテーブル数Ｔｃが設定される。このテーブル数Ｔｃは、各タスクＡ，Ｂ，Ｃに対して監視が開始されるごとに更新されるものであり、例えば、監視対象のテーブルがない場合にはテーブル数Ｔｃ＝０であり、タスクＡ，Ｂ，Ｃ全てが監視対象となって上記引数が各テーブルに設定されている場合には、テーブル数Ｔｃ＝３となる。
【００３０】
監視テーブル８０に設定された最大時間Ｔｍは、各タスクＡ，Ｂ，Ｃにおいて動作処理１〜ｎごとにかかる時間を合算した処理時間のしきい値であり（図４参照）、タスクごとに異なる時間（最大時間）が設定される。監視テーブル８０に設定された処理時間Ｔは、各タスクＡ，Ｂ，Ｃの実行開始（監視タスク７０の監視開始）によりタイマーがカウントされた当該タスクの実行処理の経過時間である。そして、監視タスク７０は、監視対象のタスクについて実行処理の経過時間として特定される処理時間Ｔと当該タスクの最大時間Ｔｍとを比較して、当該タスクの処理時間Ｔがその最大時間Ｔｍ内に収まるかどうかに基づいて異常監視を行うようになっている。
【００３１】
また、監視テーブル８０に設定された処理番号Ｐは、動作処理１〜ｎの処理番号Ｐ（Ｐ＝１〜ｎ）順に従って、当該タスク内で動作処理が進められるごとに実行処理される動作処理の処理番号Ｐに逐次更新される。監視テーブル８０に設定された復旧処理アドレスＲとは、各タスクＡ，Ｂ，Ｃ内において復旧処理Ｙのためのプログラムが格納されたアドレスをいい、監視タスク７０は異常を検出すると、監視テーブル８０にアクセスしてこの復旧処理アドレスＲを取得する。このため、監視タスク７０が当該タスクにおいて、処理時間Ｔがその最大時間Ｔｍを超えて異常を検出した場合に、復旧処理アドレスＲにより指定された当該タスクの復旧処理Ｙを実行させて、当該タスクを復旧処理するとともにタスク動作の実行処理を再開させる。
【００３２】
装置状態監視部９０は、研磨装置ＰＭ全体の状態（稼動状況、異常発生の有無など）を常時監視している。そして、監視タスク７０は、各タスクＡ，Ｂ，Ｃの異常を検出した場合には、装置状態監視部９０の監視情報に基づいて、復旧処理Ｙを実行可能かどうか判断する。なお、復旧処理では、処理時間Ｔが最大時間Ｔｍを超過したタスクの影響が他のタスクに及ばないよう、例えば、実行されている処理を復旧完了まで一旦中断させ、研磨装置ＰＭの各部の処理が安全に再起動できるように初期化したり、異常が発生した当該タスクを削除（正常に終了）したりした後、（異常が発生したタスクの）処理の再起動をすることにより正常状態への復旧を図るようにしている。
【００３３】
次に、監視処理の処理手順について図６を用いて説明する。図６は、監視対象のタスクが所定の手順に従って正常に実行処理される場合の監視処理の流れを示すフローチャートである。
【００３４】
ここでは研磨加工部２を制御するためのタスクＡの処理が開始される場合について説明する。タスクＡの実行処理の開始に伴って、前述したようにタスクＡに動作フラグＦがまずセットされる。実行処理の開始により監視タスク７０は、監視テーブル８０（テーブル８１）に登録される最大時間Ｔｍ、処理時間Ｔ、処理番号Ｐおよび復旧処理アドレスＲの各引数（監視情報）を初期化し（ステップＳ１）、監視開始をコールするとともに（ステップＳ２）、監視開始に伴って、上記の初期化された各引数や呼び出し元であるタスク（タスクＡ）を監視テーブル８０（テーブル８１）に設定する（ステップＳ１１）。そして、監視対象となるタスクＡの実行処理の開始と同時に、この実行処理の処理時間Ｔにおいてタイマーのカウント開始をする（ステップＳ１２）。また、このときタスクＡの監視テーブル８０への設定に伴い、監視テーブル８０に設定されたテーブル数Ｔｃを更新（テーブル数Ｔｃを１つだけインクリメント）する（ステップＳ１３）。
【００３５】
次いで、タスクＡにおいて各動作処理１〜ｎが処理番号Ｐの順に従って実行されていく。タスクＡ内の処理番号Ｐが進むごとに、テーブル８１内に登録された処理番号Ｐも更新（１つずつインクリメント）される（ステップＳ３）。ただし、実際には、タスクＡ内の処理番号Ｐに対応する動作プログラムのアドレスが設定更新される。そして、監視タスク７０は、監視テーブル８０の監視情報を参照して、実行中のタスクＡの処理時間Ｔが最大時間Ｔｍを超過していないかを監視する。ここでタスクＡの実行処理に異常が発生し、タスクＡの処理時間Ｔが最大時間Ｔｍを超過するような事態については、後述する。そして、監視対象のタスクＡが所定の手順に従って処理を実行し、処理時間Ｔが最大時間Ｔｍを超過することなく処理が完了した場合には、監視タスク７０は監視終了をコールする（ステップＳ４）。次いで、監視終了（のコール）に伴ってタスクＡの監視が解除されることにより、監視テーブル８０に登録されていたタスクＡに対しての最大時間Ｔｍなどの各引数を監視テーブル８０から削除するとともに、監視テーブル８０のテーブル数Ｔｃが１つ削減される（ステップＳ２１）。また、タスクＡの実行処理の終了に伴いタスクＡの動作フラグＦがクリアされる。
【００３６】
このようにして、監視対象のタスクＡが正常に処理を実行することにより、監視タスク７０によるタスクＡの監視処理が終了される。すなわち、タスクＡの実行処理によって研磨加工部２によるウェハＷの研磨加工（の１サイクル）が正常に終了したことになる。
【００３７】
次に、監視対象のタスクが正常に実行されず、タスク処理のための処理時間Ｔが最大時間Ｔｍの超過となる場合について図７を用いて説明する。図７は、監視対象のタスクの監視処理の流れを示すフローチャートである。ここでも、タスクＡのみがタスク実行により監視処理される場合を例に挙げて説明する。
【００３８】
例えば、タスクＡの実行開始（動作フラグＦのセット）に伴い、前述したように、監視タスク７０は監視開始をコールしたのち、監視テーブル８０に設定される各引数などを初期化して、この引数を監視テーブル８０（テーブル８１）に登録するとともに、監視テーブル８０に登録されるテーブル数Ｔｃを、タスク実行に伴い新たに監視対象となるタスクの数だけインクリメントする（図６のステップＳ１，Ｓ２，Ｓ１１，Ｓ１３を参照）。なお、ここでは、監視テーブル８０に登録されるテーブル数Ｔｃは、この新たに監視対象となったタスクＡのみであるため、テーブル数Ｔｃ＝１となる。また、監視対象となるタスクにおいて、実行処理の処理時間Ｔのタイマーをカウント開始する（ステップＳ１２参照）。
【００３９】
まず、最初のステップＳ３１では、監視テーブル８０のテーブル数Ｔｃに対するインデックス（変数）Ｉの初期値設定（初期値０）を行う。そして、監視テーブル８０に登録されたテーブル数ＴｃがインデックスＩの数よりも大きいか否かに基づき、監視タスク７０による監視対象となるタスクが存在するか否かを確認する（ステップＳ３２）。ここでは、実行処理されるタスクＡの存在によりテーブル数Ｔｃ＝１となっているため、ステップ３２で肯定判定がなされ、ステップ３３に移行する。なお、このとき実行処理されるタスクが存在しない場合にはテーブル数は０となっているはずであるため否定判定がなされ、新たに実行処理されるタスクが出現までステップ３３には移行されない。
【００４０】
次いで、ステップ３３でインデックスＩの数が１だけインクリメントされたのち、装置エラーの有無が確認される（ステップＳ３４）。ここで装置エラーとは、物理的なエラーや入力ミス等の論理的なエラー等を指し、装置全体として通常発生し得るようなエラーの有無が確認される。このようなエラーが発生した場合には、通常、装置エラーの発生中として装置全体を停止し（または停止させ）、オペレータの判断待ち状態となるが、このとき、制御システムは自ら制御を停止し、装置を完全に沈黙させようとするため、監視タスク７０による監視処理が再開するのを防がなければならない（監視自体を停止させなければならない）。このため、装置がエラー停止中の場合には、処理時間Ｔのカウントを停止して、上記エラー要因が取り除かれて監視処理の再開が可能となるまでステップ３５には移行されない。一方、上記装置エラーがない場合には肯定判定がなされ、ステップ３５に移行する。
【００４１】
そして、監視対象となるタスクにおいて各動作処理１〜ｎが処理番号Ｐの順に従って実行されていくとともに、監視タスク７０は監視テーブル８０の監視情報を参照して、実行中のタスクの処理時間Ｔが最大時間Ｔｍを超過していないか否かを確認する（ステップＳ３５）。監視対象のタスクＡが所定の手順に従って処理を実行し、処理時間Ｔが最大時間Ｔｍを超過することなく処理が完了した場合（ステップ３５で否定判定される場合）には、前述したように、監視タスク７０は監視終了をコールして、当該タスクに対応する監視テーブル８０に登録された引数などを削除されるとともに、テーブル数Ｔｃが１つ削減される（図６のステップＳ４，Ｓ２１を参照）。このようにステップＳ３５で否定判定がされると、ステップ３２により他に監視対象となるタスクが存在するか否かが確認され、これまでと同様な処理がなされていく。
【００４２】
一方、タスクＡの処理時間Ｔが、監視テーブル８０に設定された最大時間Ｔｍを超過した（監視対象のタスクに異常が発生した）場合には、ステップ３５で肯定判定がなされて、ステップ３６に移行する。
【００４３】
処理時間Ｔが最大時間Ｔｍを超過した場合、監視タスク７０は監視テーブル８０に登録された復旧処理アドレスＲを呼び出すとともに（ステップ３６）、装置状態監視部９０の装置監視情報に基づいて、研磨装置ＰＭの全状態から復旧処理Ｙの動作に不都合がないか（正常に動作可能であるか）を確認する（ステップＳ３７）。なお、ここで正常に動作可能であるとは、研磨装置ＰＭの全状態（研磨装置ＰＭ内のあらゆる機構、論理フラグ、通信状態等）から判断して復旧処理Ｙを行っても何ら支障がないような場合である。
【００４４】
そして、ステップ３７での結果をもとに研磨装置ＰＭの全状態から復旧処理Ｙを実行可能かどうかの判定をして（ステップＳ３８）、復旧処理Ｙが実行可能ではないと判定された場合で、物理的要因により復旧できないときには、その要因が排除されるまで研磨装置ＰＭ全体が待機のような状態となる。また、監視処理でも復旧できないような不具合のときには、事実上それ以降の処理の実行が不可能と考えられるため、処理時間Ｔのタイムアウト（最大時間超過）に伴い、研磨装置ＰＭの表示装置（表示パネル等）に異常発生や内容等のメッセージを表示して、オペレータの判断を待つ必要があるため、このときにも研磨装置ＰＭ全体が待機のような状態となる。
【００４５】
一方、現在の状態から復旧処理アドレスＲに指定されたタスク内の復旧処理Ｙを行っても安全等の不都合がない場合には、復旧処理可能（正常に動作可能）であると判定し、ステップＳ３９に移行する。
【００４６】
そして、復旧処理Ｙを行うとともに、当該タスクに対応した監視テーブル８０のテーブル数Ｔｃを１つ削減する（ステップＳ３９）などを行って監視終了をコールする（図６のステップＳ４，Ｓ２１を参照）。復旧処理Ｙでは、現在行っている処理を停止させ、処理が安全に再起動できるように研磨加工部２、基板洗浄部３、搬送装置４などを制御する。また、タスクの動作フラグＦのクリアや、タスク内で使用しているテーブル類もゼロクリアする。そして、実行対象となっていたタスクを削除し、当該タスクを正常終了させる。次いで、タスクＡ内において異常の発生した処理番号Ｐの動作処理から当該タスクの実行処理を再開させる（ステップＳ４０）ことで、研磨装置ＰＭが起動される。
【００４７】
このように確実に正常状態への復旧処理がなされることにより、ウェハＷに与える影響（ダメージ）を低減させてウェハＷおよび研磨装置ＰＭの保護を図ることができる。また、復旧処理において、異常の発生した処理番号Ｐの動作処理から当該タスクの実行を再開させることで、それまで行われていたウェハＷへの処理の無駄を防ぐとともに、復旧のために微調整する煩雑な作業を回避して、調整された条件の不一致等によりウェハＷに影響（ダメージ）を及ぼすのを防止することができる。
【００４８】
また、復旧処理が動作した場合には、この復旧処理が動作したときの状態（異常状態）を示すものとして、情報端末等に監視タスクの情報（処理時間や処理番号等）などを通知し、ログ等のレポートを記録するようにする。これによりオペレータなどは定期的にこのレポートをチェックして、異常の発生したタスクの処理について不具合を確認することができる。そして、例えば、同一のタスクの処理において頻繁に復旧処理が動作するようであれば、当該タスク中の各処理の動作プログラムの更新を促すようにする。
【００４９】
なお、前述の説明ではタスクＡを監視処理した場合を例に挙げて説明してきたが、研磨装置ＰＭにおいては、マルチタスクＯＳの管理化で複数のタスクＡ，Ｂ，Ｃは擬似並列処理されており、各タスクが擬似並列されて上記と同様な監視処理がそれぞれなされている。
【００５０】
以上のように、本実施形態に係る制御装置５０では、監視タスク７０が実行中の各タスクの処理時間Ｔ（処理の経過時間）を、そのしきい値である最大時間Ｔｍに照らして監視処理を行い、異常と判断された場合には、この異常が発生したタスクを正常状態に復帰させる復旧処理Ｙがなされることにより、システム全体がみかけ上不具合なく動作しているようにみえ、一部のタスクの実行タイミング等の不整合による異常によってシステム全体が無限ループ等の状態に陥るのを回避することができる。
【００５１】
また、本制御装置５０を備えた研磨装置ＰＭによれば、この研磨装置ＰＭの各部を制御する各タスクの実行処理に対して上記のような監視処理をして適切な復旧処理Ｙを行うことで、復旧時にウェハＷに与える影響（ダメージ）を排除して、ウェハＷおよび研磨装置ＰＭの保護を図ることができる。したがって、被加工基板（ウェハＷ）および研磨装置ＰＭ全体を適切に保護しつつ、復旧のための煩雑な微調整作業を排除して高スループットを実現することができる。
【００５２】
なお、上述に実施形態では、制御対象機器として研磨加工部２、基板洗浄部３および搬送装置４を例示して、研磨装置ＰＭの動作等の制御を行う制御タスク群６０を、研磨加工部２を制御するためのタスクＡ，基板洗浄部３を制御するためのタスクＢ、搬送装置４を制御するためのタスクＣに割り付けた場合を一例として説明したが、本発明の範囲はこれに限定されるものではなく、例えば、制御対象機器として研磨加工部２を各研磨室２１〜２３やドレッシング機構２３０などに分けて、制御タスク群６０において研磨加工部２のタスクＡを各研磨室２１〜２３を制御するためのタスクＡ１，Ａ２，Ａ３や、ドレッシング機構２３０を制御するためのタスクＡ４等のようにタスクをより細分化して割り付けることにより、当該タスク異常による復旧処理を効率良く行うことができるとともに、復旧処理によってウェハＷに与える影響（ダメージ）をより低減させることができる。
【図面の簡単な説明】
【００５３】
【図１】本実施形態の制御装置を備えた研磨装置の構成例を示す正面図である。
【図２】上記研磨装置における研磨機構およびドレッシング機構を模式的に示す概略構成図である。
【図３】本実施形態の制御装置を示すブロック図である。
【図４】本実施形態の制御装置の制御タスク群の構成を示す図である。
【図５】本実施形態の制御装置の監視テーブルの構成を示す図である。
【図６】本実施形態におけるタスク実行処理の流れを示すフローチャートである。
【図７】本実施形態における異常監視の流れを示すフローチャートである。
【符号の説明】
【００５４】
２  研磨加工部（制御対象機器）      ３  基板洗浄部（制御対象機器）      
４  搬送装置（制御対象機器）      ５１  ハードウェア（プログラム実行部）      
５２  マルチタスクＯＳ（プログラム実行部）      ６０  制御タスク群      
７０  監視タスク（タスク監視部）      ８０  監視テーブル      
９０  装置状態監視部（状態監視部）      ＰＭ  研磨装置（自動機）      
Ｔｍ  最大時間（しきい値）      Ｔ  処理時間      Ｐ  処理番号      
Ｒ  アドレス
【図１】
0005433977.tif 000002
【図２】
0005433977.tif 000003
【図３】
0005433977.tif 000004
【図４】
0005433977.tif 000005
【図５】
0005433977.tif 000006
【図６】
0005433977.tif 000007
【図７】
0005433977.tif 000008