(57)【要約】【課題】障害が発生した際の制御対象物の動作の再現を容易に行うことのできる動作再現装置を提供する。【解決手段】動作再現装置には、制御対象物３０に対する制御処理を実行する制御処理実行部１１０と、制御処理実行部１１０によって実行された制御処理の履歴を示す動作ログ８を逐次実行が可能なプログラムの形式で出力する動作ログ出力部１２０と、動作ログ８として出力されたプログラムを逐次に実行するプログラム逐次実行部１３０とが設けられる。【選択図】図４
2017142636.tif 000002
【特許請求の範囲】
【請求項１】
制御対象物に対する制御処理の実行後に前記制御対象物の動作を再現するための動作再現装置であって、
前記制御対象物に対する制御処理を実行する制御処理実行手段と、
前記制御処理実行手段によって実行された制御処理の履歴を示す動作ログとして、１以上の命令からなる逐次実行が可能なプログラムを出力する動作ログ出力手段と、
前記動作ログ出力手段によって出力されるプログラムを逐次に実行することのできるプログラム逐次実行手段と
を備えることを特徴とする、動作再現装置。
【請求項２】
前記プログラム逐次実行手段は、実行するプログラムに含まれる１つの命令毎に処理を停止するステップ処理機能を有することを特徴とする、請求項１に記載の動作再現装置。
【請求項３】
前記ステップ処理機能が実行されているとき、前記プログラム逐次実行手段は、１つの命令に基づく処理を実行する毎に処理の続行を指示するための所定の確認画面を表示し、前記確認画面において処理の続行が指示されると次の命令に基づく処理を実行することを特徴とする、請求項２に記載の動作再現装置。
【請求項４】
前記プログラム逐次実行手段は、実行するプログラム全体のうちの外部から指定された範囲のプログラムに含まれる１つの命令毎に処理を停止する部分ステップ処理機能を有することを特徴とする、請求項１から３までのいずれか１項に記載の動作再現装置。
【請求項５】
前記動作ログ出力手段によって出力されるプログラムに、指定された時間だけ処理を停止する旨の命令が含まれていることを特徴とする、請求項１から４までのいずれか１項に記載の動作再現装置。
【請求項６】
前記動作ログ出力手段によって出力されるプログラムに、複数の命令からなる予め定義されたマクロ命令が含まれ、
前記プログラム逐次実行手段は、前記マクロ命令に含まれる複数の命令に基づく処理の実行が可能であることを特徴とする、請求項１から５までのいずれか１項に記載の動作再現装置。
【請求項７】
基板を載置するステージと、
前記ステージを移動させる、前記制御対象物としてのステージ移動機構と、
請求項１から６までのいずれか１項に記載の動作再現装置と
を備えることを特徴とする、基板処理装置。
【請求項８】
制御対象物に対する制御処理の実行後に前記制御対象物の動作を再現するための動作再現方法であって、
前記制御対象物に対する制御処理を実行する制御処理実行ステップと、
前記制御処理実行ステップで実行された制御処理の履歴を示す動作ログとして、１以上の命令からなる逐次実行が可能なプログラムを出力する動作ログ出力ステップと、
前記動作ログ出力ステップで出力されたプログラムを逐次に実行するプログラム逐次実行ステップと
を含むことを特徴とする、動作再現方法。
【請求項９】
前記プログラム逐次実行ステップでは、実行するプログラムに含まれる１つの命令毎に処理を停止することができることを特徴とする、請求項８に記載の動作再現方法。
【請求項１０】
前記プログラム逐次実行ステップでは、１つの命令に基づく処理を実行する毎に処理の続行を指示するための所定の確認画面を表示し、前記確認画面において処理の続行が指示されると次の命令に基づく処理を実行することを特徴とする、請求項９に記載の動作再現方法。
【請求項１１】
前記プログラム逐次実行ステップでは、実行するプログラム全体のうちの外部から指定された範囲のプログラムに含まれる１つの命令毎に処理を停止することができることを特徴とする、請求項８から１０までのいずれか１項に記載の動作再現方法。
【請求項１２】
前記動作ログ出力ステップで出力されるプログラムに、指定された時間だけ処理を停止する旨の命令が含まれていることを特徴とする、請求項８から１１までのいずれか１項に記載の動作再現方法。
【請求項１３】
前記動作ログ出力ステップで出力されるプログラムに、複数の命令からなる予め定義されたマクロ命令が含まれ、
前記プログラム逐次実行ステップでは、前記マクロ命令に含まれる複数の命令に基づく処理が実行されることを特徴とする、請求項８から１２までのいずれか１項に記載の動作再現方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御対象物に対する制御処理の実行後に制御対象物の動作を再現するための動作再現装置およびそれを備える基板処理装置に関する。
【背景技術】
【０００２】
従来より、モータ等のアクチュエータの動作を制御する処理を行う装置を用いた物の生産が行われている。近年、コンピュータ技術の進展に伴い、このような装置による物（製品）の生産性は顕著に向上している。このため、装置に何らかの障害が発生するなどによって装置が稼働できなくなると、製品の生産に関して大きな打撃を受けることになる。装置の復旧に時間を要した場合には、装置メーカーにとっては、装置のユーザーから損害の賠償を請求されるおそれもある。従って、障害による装置のダウンタイムをできる限り短くすることが求められている。
【０００３】
そこで、従来より、上述のような制御処理を行う装置では、例えば障害発生時の動作状況の調査や不具合の原因調査を行うことができるよう、実行した処理の履歴を示す動作ログの出力・保存が行われている。例えば、半導体ウエハ等の基板に対して各種の処理を施す基板処理装置（洗浄装置、露光装置など）でも動作ログの出力・保存が行われている。
【０００４】
なお、本件発明に関連して、以下の先行技術文献が知られている。特開２０１５−３５１５６号公報には、ユーザーの操作履歴を示す操作ログとデバイス（装置）の動作履歴を示す動作ログとに基づいて生成される再生ファイルを再生することによりユーザーの操作とデバイスの動作を再現する履歴ログ再生システムの発明が開示されている。また、特開２０１２−２２９０７８号公報には、動作ログに加えてシステムの状態を示す状況ログを所定時間毎に取得し、動作を再現したい時点の直前に取得した状況ログの情報と動作ログとに基づいて動作を再現する動作再現システムの発明が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−３５１５６号公報
【特許文献２】特開２０１２−２２９０７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところが、装置に障害が発生した際、動作ログを解析しても障害発生の原因を特定できないことがよくある。そこで、動作ログに基づいて実際に装置で動作の再現が試みられることもあるが、動作の再現を実現するには多大な工数を要する。特開２０１５−３５１５６号公報に開示された履歴ログ再生システムでは、操作ログと動作ログとから再生ファイルを生成する必要があるので迅速性に欠け、また、操作ログや動作ログの編集が困難である。また、特開２０１２−２２９０７８号公報に開示された動作再現システムでは、動作の再現に必要な情報量は少なくなるが、動作の再現が容易になるわけではない。
【０００７】
そこで本発明は、障害が発生した際の制御対象物の動作の再現を容易に行うことのできる動作再現装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
第１の発明は、制御対象物に対する制御処理の実行後に前記制御対象物の動作を再現するための動作再現装置であって、
前記制御対象物に対する制御処理を実行する制御処理実行手段と、
前記制御処理実行手段によって実行された制御処理の履歴を示す動作ログとして、１以上の命令からなる逐次実行が可能なプログラムを出力する動作ログ出力手段と、
前記動作ログ出力手段によって出力されるプログラムを逐次に実行することのできるプログラム逐次実行手段と
を備えることを特徴とする。
【０００９】
第２の発明は、第１の発明において、
前記プログラム逐次実行手段は、実行するプログラムに含まれる１つの命令毎に処理を停止するステップ処理機能を有することを特徴とする。
【００１０】
第３の発明は、第２の発明において、
前記ステップ処理機能が実行されているとき、前記プログラム逐次実行手段は、１つの命令に基づく処理を実行する毎に処理の続行を指示するための所定の確認画面を表示し、前記確認画面において処理の続行が指示されると次の命令に基づく処理を実行することを特徴とする。
【００１１】
第４の発明は、第１から第３までのいずれかの発明において、
前記プログラム逐次実行手段は、実行するプログラム全体のうちの外部から指定された範囲のプログラムに含まれる１つの命令毎に処理を停止する部分ステップ処理機能を有することを特徴とする。
【００１２】
第５の発明は、第１から第４までのいずれかの発明において、
前記動作ログ出力手段によって出力されるプログラムに、指定された時間だけ処理を停止する旨の命令が含まれていることを特徴とする。
【００１３】
第６の発明は、第１から第５までのいずれかの発明において、
前記動作ログ出力手段によって出力されるプログラムに、複数の命令からなる予め定義されたマクロ命令が含まれ、
前記プログラム逐次実行手段は、前記マクロ命令に含まれる複数の命令に基づく処理の実行が可能であることを特徴とする。
【００１４】
第７の発明は、基板処理装置であって、
基板を載置するステージと、
前記ステージを移動させる、前記制御対象物としてのステージ移動機構と、
第１から第６までのいずれかの発明に係る動作再現装置と
を備えることを特徴とする。
【００１５】
第８の発明は、制御対象物に対する制御処理の実行後に前記制御対象物の動作を再現するための動作再現方法であって、
前記制御対象物に対する制御処理を実行する制御処理実行ステップと、
前記制御処理実行ステップで実行された制御処理の履歴を示す動作ログとして、１以上の命令からなる逐次実行が可能なプログラムを出力する動作ログ出力ステップと、
前記動作ログ出力ステップで出力されたプログラムを逐次に実行するプログラム逐次実行ステップと
を含むことを特徴とする。
【００１６】
第９の発明は、第８の発明において、
前記プログラム逐次実行ステップでは、実行するプログラムに含まれる１つの命令毎に処理を停止することができることを特徴とする。
【００１７】
第１０の発明は、第９の発明において、
前記プログラム逐次実行ステップでは、１つの命令に基づく処理を実行する毎に処理の続行を指示するための所定の確認画面を表示し、前記確認画面において処理の続行が指示されると次の命令に基づく処理を実行することを特徴とする。
【００１８】
第１１の発明は、第８から第１０までのいずれかの発明において、
前記プログラム逐次実行ステップでは、実行するプログラム全体のうちの外部から指定された範囲のプログラムに含まれる１つの命令毎に処理を停止することができることを特徴とする。
【００１９】
第１２の発明は、第８から第１１までのいずれかの発明において、
前記動作ログ出力ステップで出力されるプログラムに、指定された時間だけ処理を停止する旨の命令が含まれていることを特徴とする。
【００２０】
第１３の発明は、第８から第１２までのいずれかの発明において、
前記動作ログ出力ステップで出力されるプログラムに、複数の命令からなる予め定義されたマクロ命令が含まれ、
前記プログラム逐次実行ステップでは、前記マクロ命令に含まれる複数の命令に基づく処理が実行されることを特徴とする。
【発明の効果】
【００２１】
上記第１または第８の発明によれば、制御対象物に対する一連の制御処理が実行されると、当該制御処理の履歴を示す動作ログとして、逐次実行が可能なプログラムが出力される。また、動作再現装置には、動作ログとして出力されたプログラムを逐次に実行することのできる（すなわち、インタプリタ機能を有する）プログラム逐次実行手段が設けられている。このため、一連の制御処理が実行された際の各制御対象物の動作を動作ログに基づいて再現することが可能となる。以上より、障害が発生した際の制御対象物の動作の再現を容易に行うことのできる動作再現装置が提供される。また、動作ログとして逐次実行が可能なプログラムが出力されるので、ユーザーは動作ログを直接に編集することができる。従って、動作ログを編集して、編集後の動作ログ（プログラム）をプログラム逐次実行手段に実行させることもできる。これにより、一連の制御処理の途中の状態の把握や、より実践的な障害調査が可能となる。また、元のプログラムをどのように修正すべきかの検討が容易になる。
【００２２】
上記第２または第９の発明によれば、動作ログとして出力されたプログラムに含まれる１つの命令が実行される毎に各制御対象物の動作状況を確認することが可能となる。このため、各制御対象物の動作の推移をより詳しく把握することができる。これにより、効率的に障害の原因調査等を行うことが可能となる。
【００２３】
上記第３または第１０の発明によれば、上記第２または第９の発明と同様の効果が得られる。
【００２４】
上記第４または第１１の発明によれば、所望の範囲だけで１つの命令毎に処理を停止させるということが可能となる。これにより、より効率的に障害の原因調査等を行うことが可能となる。
【００２５】
上記第５または第１２の発明によれば、再現処理の際に、オペレータの操作タイミングまでもが再現される。これにより、一連の制御処理が実行された際の各制御対象物の動作がより正確に再現される。
【００２６】
上記第６または第１３の発明によれば、再現処理の際に複数の命令からなる処理を追加したいときに、動作ログ（プログラム）への当該処理の追加が容易となる。
【００２７】
上記第７の発明によれば、上記第１の発明を奏する動作再現装置を備える基板処理装置が実現される。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係る動作再現装置としての主装置を含む露光装置の概略構成を示すブロック図である。
【図２】本発明の一般的な構成を示すブロック図である。
【図３】上記実施形態において、動作再現装置として機能する主装置のハードウェア構成を示すブロック図である。
【図４】上記実施形態における主装置の機能ブロック図である。
【図５】上記実施形態において、動作ログの出力について説明するための図である。
【図６】上記実施形態において、動作ログの出力について説明するための図である。
【図７】上記実施形態において、主装置に表示されるメイン画面の一例を示す図である。
【図８】上記実施形態において、動作ログの出力の具体例について説明するためのフローチャートである。
【図９】従来出力されていたログの一例を示す図である。
【図１０】上記実施形態における動作ログの一例を示す図である。
【図１１】上記実施形態において、再現調査の例について説明するための動作ログの一例を示す図である。
【図１２】上記実施形態において、動作ログの編集について説明するための図である。
【図１３】上記実施形態において、動作ログの編集の例として一部のログを削除する例について説明するための図である。
【図１４】上記実施形態において、動作ログの編集の例として一部のログを書き換える例について説明するための図である。
【図１５】上記実施形態において、動作ログの編集の例としてコマンドを挿入する例について説明するための図である。
【図１６】上記実施形態において、再現処理が実行される際に主装置に表示される処理種類選択画面の一例を示す図である。
【図１７】上記実施形態において、ステップ処理の際に主装置に表示される確認画面の一例を示す図である。
【発明を実施するための形態】
【００２９】
以下、添付図面を参照しつつ本発明の一実施形態について説明する。
【００３０】
＜１．概略構成＞
図１は、本発明の一実施形態に係る動作再現装置としての主装置１０を含む露光装置１の概略構成を示すブロック図である。この露光装置１は、「フォトレジスト」と呼ばれる感光剤が塗布された基板にレーザ光を照射することにより配線パターン等の所定のパターンを描画する描画装置である。パターンの描画対象としての基板は、半導体基板、プリント基板、カラーフィルタ用基板、液晶表示装置やプラズマ表示装置に具備されるフラットパネルディスプレイ用ガラス基板、光ディスク用基板などである。なお、露光装置の一般的なハードウェア構成は公知であり、また、ハードウェア構成については本発明とは直接には関係しないので、ここでは露光装置１の概略的な構成についてのみ説明する。
【００３１】
図１に示すように、この露光装置１は、主装置１０と制御部２０とステージ移動機構３１とセンサー（ステージ位置計測部）３２と光学ユニット３３とアライメント撮像部３４とステージ４０とを備えている。
【００３２】
ところで、ここでは露光装置を例に挙げて説明しているが、露光装置以外の基板処理装置（例えば、洗浄装置、熱処理装置）にも本発明を適用することができる。また、モータ、弁、ランプなどのアクチュエータ（電気エネルギーなどの入力エネルギーを物理的運動に変換するもの）の動作を制御するものであれば、基板処理装置以外の各種装置にも本発明を適用することができる。すなわち、図２に示すような構成（主装置１０と制御部２０と１以上の制御対象物３０とからなる構成）を有する各種装置にも本発明を適用することができる。そこで、以下においては、ステージ移動機構３１、センサー（ステージ位置計測部）３２、光学ユニット３３、およびアライメント撮像部３４を総称して「制御対象物」ということもある。
【００３３】
以下、図１に示す各構成要素について説明する。主装置１０は、この露光装置１の全体の動作を制御する。具体的には、主装置１０は、各制御対象物３０が所望の動作を行うよう、制御部２０に対して各種のコマンドを出力する。そして、主装置１０では、制御部２０に与えたコマンドや制御部２０から送られる動作結果（各制御対象物３０の動作結果）に基づいて動作ログが出力される。この動作ログは、逐次実行が可能なプログラムの形式で出力される。また、主装置１０は、各制御対象物３０の動作を再現するために、動作ログをプログラムとして実行する。このように、本実施形態における主装置１０は動作再現装置として機能する。
【００３４】
制御部２０は、主装置１０から与えられるコマンドに基づき、各制御対象物３０の動作を制御する。また、制御部２０は、各制御対象物３０の動作結果を主装置１０に与える。なお、典型的には、制御部２０は、「ボードコンピュータ」などと呼ばれる制御基板によって実現される。この場合、制御部２０は、１枚の制御基板で実現されていても良いし、複数枚の制御基板によって実現されていても良い。また、主装置１０と制御部２０とが一体化した構成を採用することもできる。
【００３５】
ステージ４０は、平板状の外形を有し、その上面に基板を水平姿勢に載置して保持する保持部である。ステージ４０の上面には複数の吸引孔が形成されている。それら複数の吸引孔からの吸引圧によって、ステージ４０上に載置された基板がステージ４０の上面に固定的に保持される。
【００３６】
ステージ移動機構３１は、ステージ４０を主走査方向（ｙ軸方向）、副走査方向（ｘ軸方向）、およびｚ軸周りの回転方向（θ軸方向）に移動させる機構である。ステージ移動機構３１には、ステージ４０を主走査方向に移動させるための主走査機構と、ステージ４０を副走査方向に移動させるための副走査機構と、ステージ４０を回転させるための回転機構とが含まれている。これら主走査機構、副走査機構、および回転機構は、制御部２０と電気的に接続されており、制御部２０からの指示に応じてステージ４０を移動させる。
【００３７】
センサー（ステージ位置計測部）３２は、ステージ４０の位置を計測する機構である。センサー３２は、制御部２０と電気的に接続されており、制御部２０からの指示に応じてステージ４０の位置を計測する。このセンサー３２は、例えば、ステージ４０に向けてレーザ光を照射し、その反射光と出射光との干渉を利用して、ステージ４０の位置を計測する。
【００３８】
光学ユニット３３は、ステージ４０上に保持された基板の上面にレーザ光を照射する機構である。光学ユニット３３は、露光光源と照明光学系と変調素子と投影光学系とを備えている。露光光源は、レーザ発振器とこれを駆動するレーザ駆動部とによって構成されている。レーザ発振器は、レーザ駆動部によって駆動されることによりレーザ光を出射する。照明光学系は、このレーザ光を強度分布が均一な線状の光（光束断面が線状の光）すなわちラインビームにする。このラインビームとしての光は変調素子に入射する。変調素子は、入射した光に対し、制御部２０からの指示に基づいて空間変調を施す。その空間変調が施された光は投影光学系に入射する。投影光学系は、変調素子から入射する空間変調が施された光を基板面に導いて、その空間変調に相当するパターンを基板面における適切な位置に結像させる。これにより、基板に所望のパターンが描画される。
【００３９】
アライメント撮像部３４は、基板の上面に形成されたアライメントマークを撮像する。アライメント撮像部３４は、制御部２０と電気的に接続されており、制御部２０からの指示に応じて撮像データを取得し、その取得した撮像データを制御部２０に送信する。制御部２０は、その撮像データに基づき、光学ユニット３３と基板との相対位置を位置決めするアライメント処理を行う。詳しくは、制御部２０は、撮像データに基づいてステージ４０に対する基板の位置および向きを特定し、基板が光学ユニット３３に対して定められた位置および向きとなるよう、ステージ移動機構３１の動作を制御することによりステージ４０の位置を調整する。
【００４０】
＜２．主装置（動作再現装置）の構成＞
図３は、動作再現装置として機能する主装置１０（露光装置１内の主装置１０）のハードウェア構成を示すブロック図である。主装置１０は、ＣＰＵ１１と補助記憶装置１２と表示部１３と入力部１４とメモリ１５とネットワークインタフェース部１６とを備えている。ＣＰＵ１１は、与えられた命令に従い各種演算処理等を行う。補助記憶装置１２は、各種データ等を記憶する。本発明に関連のあるものとしては、動作ログ８が補助記憶装置１２に格納される。表示部１３は、例えば、オペレータが作業を行うための各種画面を表示する。入力部１４は、マウスやキーボードによるオペレータからの入力を受け付ける。メモリ１５には、ＣＰＵ１１の演算処理に必要なデータが一時的に格納される。ネットワークインタフェース部１６は、ＬＡＮ９等を介してこの主装置１０と制御部２０との間でのデータ通信が可能となるように機能する。
【００４１】
図４は、本実施形態における主装置１０の機能構成を示す機能ブロック図である。図４に示すように、主装置１０は、機能的には、制御処理実行部１１０と動作ログ出力部１２０とプログラム逐次実行部１３０とを有している。
【００４２】
制御処理実行部１１０は、制御対象物３０に対する制御処理を実行する。より詳しくは、制御処理実行部１１０は、オペレータによる入力操作等に基づき、制御対象物３０が所望の動作を行うように制御部２０に対して各種のコマンドを出力する。露光装置１の通常の運用による処理は、この制御処理実行部１１０によって実行される。なお、典型的には、予め用意されたコンパイル済みのプログラムをＣＰＵ１１が実行することによって、この制御処理実行部１１０による制御処理が行われる。
【００４３】
動作ログ出力部１２０は、制御処理実行部１１０が制御部２０に与えたコマンドや制御部２０から送られる制御対象物３０の動作結果に基づいて、制御処理実行部１１０によって実行された制御処理の履歴を示す動作ログ８を逐次実行が可能なプログラム（プログラミング言語で記述されたコード・命令列を逐次解釈しながら実行する、いわゆる「インタプリタ」と呼ばれるプログラム）の形式で出力する。このように、動作ログ出力部１２０は、動作ログ８として、逐次実行が可能なプログラムを出力する。
【００４４】
ここで、図５および図６を参照しつつ、動作ログ出力部１２０による動作ログ８の出力について説明する。例えば、図５に示すようなプログラムが用意されていると仮定する。このプログラムでは、次のような処理が実行される。まず、変数Ｚに値が設定される。その後、関数Ｐｒｏｃｅｓｓ１が実行される。そして、変数Ｚの値が０であれば関数Ｓｕｂ１が実行され、変数Ｚの値が０でなければ関数Ｓｕｂ２が実行される。その後、関数Ｐｒｏｃｅｓｓ２が実行される。ここで、このプログラムが実際に実行された時に、変数Ｚの値が０に設定されて条件文（ＩＦ文）の中で関数Ｓｕｂ１が実行されたと仮定する。この場合、図６に示すような動作ログ８が出力される。すなわち、実際に実行された処理（コマンド）だけが記述されたログ（プログラム）が動作ログ８として動作ログ出力部１２０によって出力される。
【００４５】
プログラム逐次実行部１３０は、インタプリタ機能を有しており、動作ログ８として出力されたプログラムを逐次に実行する（１コマンドずつコマンドの内容を解釈しながら実行する）。これにより、動作ログ８の内容に従って各制御対象物３０が動作するよう、主装置１０から制御部２０に対して各種のコマンドが出力される。なお、動作ログ８として出力されたプログラムをプログラム逐次実行部１３０が実行する処理のことを以下「再現処理」という。本実施形態においては、再現処理が実行されると、動作ログ８の先頭行から最終行までのコマンドが途中でオペレータの操作を介することなく実行される。
【００４６】
以上のように主装置１０内の各構成要素が動作することにより、主装置１０は、制御対象物３０に対する制御処理の実行後に制御対象物３０の動作を再現するための動作再現装置として機能する。
【００４７】
＜３．具体例＞
次に、より具体的な例を挙げて、動作ログ出力部１２０による動作ログ８の出力について説明する。ここでは、図７に示すようなメイン画面５０が主装置１０の表示部１３に表示されるものと仮定する。なお、図７では、符号５１で示す部分のみ具体的な画面の内容を示しており、符号５２で示す部分については具体的な画面の内容を省略している。このメイン画面５０には、装置初期化ボタン５１０とＸ座標入力ボックス５２０とＹ座標入力ボックス５３０とステージ移動ボタン５４０とセンサー確認ボタン５５０とインジケータランプ５６０とが含まれている。
【００４８】
ここでは、次のような処理（図８参照）が実行された場合について説明する。まず、オペレータによって、装置初期化ボタン５１０が押下される（ステップＳ１０）。これにより、ステージ移動機構３１がステージ４０の位置を原点に移動（復帰）させる（ステップＳ２０）。次に、オペレータによって、ステージ移動位置の入力（Ｘ座標入力ボックス５２０およびＹ座標入力ボックス５３０への値の入力）が行われる（ステップＳ３０）。そして、オペレータによって、ステージ移動ボタン５４０が押下される（ステップＳ４０）。これにより、ステージ移動機構３１がステージ４０の位置をステップＳ３０で指定された位置に移動させる（ステップＳ５０）。その後、オペレータによって、センサー確認ボタン５５０が押下される（ステップＳ６０）。これにより、インジケータランプ５６０が点灯する（ステップＳ７０）。なお、メイン画面５０が起動してから装置初期化ボタン５１０が押下されるまでの時間は３１秒、ステージ４０の位置が原点に復帰してからステージ移動位置の入力が行われるまでの時間は１６秒、ステージ４０の位置が指定された位置に移動してからセンサー確認ボタン５５０が押下されるまでの時間は８秒であると仮定する。
【００４９】
図９は、上述のような処理が実行された際に出力される従来のログの一例を示す図である。この従来のログは次のように出力される。メイン画面５０が起動されると、符号８０１で示す行のログが出力される（ログファイルに書き込まれる）。装置初期化ボタン５１０が押下されると、符号８０２で示す行のログが出力される。ステージ４０の位置が原点に復帰した旨の動作結果が制御部２０から主装置１０に送られてくると、符号８０３で示す行のログが出力される。ステージ移動位置の入力が行われると、符号８０４で示す行のログが出力される。ステージ移動ボタン５４０が押下されると、符号８０５で示す行のログが出力される。ステージ４０が指定された位置に移動した旨の動作結果が制御部２０から主装置１０に送られてくると、符号８０６で示す行のログが出力される。センサー確認ボタン５５０が押下されると、符号８０７で示す行のログが出力される。インジケータランプ５６０が点灯すると、符号８０８で示す行のログが出力される。
【００５０】
図１０は、本実施形態において、上述のような処理が実行された際に出力される動作ログ８の一例を示す図である。この動作ログ８は次のように出力される。メイン画面５０の起動後、装置初期化ボタン５１０が押下されると、符号８１１で示す行のログが出力される。関数ＷａｉｔＳｅｃは、引数で指定された時間（ここでは単位は秒）だけ処理を停止させるための関数であり、関数ＩｎｉｔＳｙｓｔｅｍは、露光装置１の初期化に関する所定の処理を行うための関数であり、関数Ｓｔａｒｔ＿ＯｒｉｇｉｎＡｘｉｓは、ステージ移動機構３１にステージ４０の位置を原点に移動（復帰）させるための関数である。「ＷａｉｔＳｅｃ（３１）；」という記述が動作ログ８に含まれることにより、再現処理の際に、メイン画面５０が起動してから装置初期化が実行されるまでに３１秒間、処理が停止する。
【００５１】
なお、例えば関数ＩｎｉｔＳｙｓｔｅｍは、複数の命令からなるいわゆるマクロ命令である。マクロ命令は、予め定義されて、プログラム逐次実行部１３０が参照可能なように保持されている。本実施形態におけるプログラム逐次実行部１３０は、このようなマクロ命令に含まれる複数の命令に基づく処理の実行も可能である。
【００５２】
ステージ４０の位置が原点に復帰した後、Ｘ座標入力ボックス５２０への値の入力が行われると、符号８１２で示す行のログが出力される。上述したように、ステージ４０の位置が原点に復帰してからステージ移動位置の入力が行われるまでの時間は１６秒であるので、動作ログ８には「ＷａｉｔＳｅｃ（１６）；」という記述が含まれている。その後、Ｙ座標入力ボックス５３０への値の入力が行われると、符号８１３で示す行のログが出力される。
【００５３】
ステージ移動ボタン５４０が押下されると、符号８１４で示す行のログが出力される。関数ＭｏｖｅＡｘｉｓは、ステージ移動機構３１の主走査機構および副走査機構にステージ４０の位置を引数で指定されたＸ座標・Ｙ座標の位置に移動させるための関数である。その後、センサー確認ボタン５５０が押下されると、符号８１５で示す行のログが出力される。関数ＣｈｅｃｋＩＯは、センサー３２の状態を確認するための関数である。上述したように、ステージ４０の位置が指定された位置に移動してからセンサー確認ボタン５５０が押下されるまでの時間は８秒であるので、動作ログ８には「ＷａｉｔＳｅｃ（８）；」という記述が含まれている。そして、インジケータランプ５６０が点灯すると、符号８１６で示す行のログが出力される。関数ＩｎｄｉｃａｔｅＬａｍｐは、インジケータランプ５６０を点灯させるための関数である。
【００５４】
以上のように、制御処理実行部１１０（図４参照）による制御処理が実行された時と同じように制御対象物３０を動作させるためのコマンド類（関数など）（これらのコマンド類は、プログラム逐次実行部１３０による逐次実行が可能である。）の記述が動作ログ８として出力される。
【００５５】
なお、本実施形態においては、逐次実行が可能なプログラムの形式のログである動作ログ８のみが出力され、図９に示したような従来のログは出力されないが、本発明はこれに限定されない。動作ログ８に加えて従来のログが出力されるようにしても良い。また、動作ログ８の中に従来と同様のログが含まれるようにしても良い。この場合、従来と同様のログの部分については、プログラム逐次実行部１３０が無視するよう、いわゆるコメント行にすれば良い。
【００５６】
＜４．再現調査の例＞
次に、動作ログ８を用いた再現調査（制御対象物３０の動作を再現して、障害の原因等を調査すること）の例について説明する。ここでは、制御処理実行部１１０による制御処理（すなわち、露光装置１の通常の運用による処理）により、図１１に示す動作ログ８が動作ログ出力部１２０によって出力されているものと仮定する。図１１に関し、符号６１で示す部分のログは図１０に示したログと同じであり、符号６２で示す部分のログはアライメント処理が行われた際に出力されたログであり、符号６３で示す部分のログは露光処理が行われた際に出力されたログである。なお、図１１に示されている数値や関数は説明の便宜のためのものであって、実際の露光装置１において必ずしも同じようなログが出力されるわけではない。
【００５７】
図１１で符号６２で示す部分に関し、Ａｌｉｇｎｍｅｎｔ関数は、アライメント撮像部３４に基板上のアライメントマークを撮像させるための関数であり、ＲｏｔａｔｅＡｘｉｓ関数は、ステージ移動機構３１の回転機構に引数で指定された角度だけ基板を回転させるための関数である。図１１に示す例では、アライメント撮像部３４によって得られた撮像データに基づいて、ステージの位置を（Ｘ，Ｙ）＝（１５０．０，１２０．０）の位置に移動させる処理およびステージの角度を１５度だけ回転させる処理が行われている。
【００５８】
図１１で符号６３で示す部分に関し、Ｅｘｐｏｓｅ関数は、光学ユニット３３に基板の上面にレーザ光を照射させるための関数である。ところで、露光処理（基板に所望のパターンを描画する処理）は、ステージ４０を移動させつつ基板の上面にレーザ光を照射することによって行われる。その際、まず、ステージ移動機構３１の主走査機構にステージ４０を少しずつ主走査方向（＋Ｙ軸方向）に移動させる。１回の主走査が終了すると、ステージ移動機構３１の副走査機構にステージ４０を１ストライプ分だけ副走査方向に移動させる。そして、ステージ移動機構３１の主走査機構にステージ４０を少しずつ主走査方向（−Ｙ軸方向）に移動させる。このようなステージ４０の移動が繰り返される。図１１で符号６３で示す部分のログは、ステージ４０が主走査方向（＋Ｙ軸方向）に移動しているときのログの一部である。
【００５９】
動作ログ８を用いた最も簡易な再現調査の手法は、動作ログ出力部１２０によって出力された動作ログ８をそのままプログラム逐次実行部１３０に実行させる手法である。この手法によれば、図１１に示す動作ログ８の先頭行から最終行までのコマンドがプログラム逐次実行部１３０によって逐次に実行される。これにより、制御処理実行部１１０によって制御処理が実行された際と全く同じように露光装置１を動作させることが可能となる。
【００６０】
ところで、動作ログ出力部１２０によって出力された動作ログ８をそのままプログラム逐次実行部１３０に実行させる手法によれば、制御対象物３０の動作は再現される。しかしながら、一連の処理の途中の状態の把握が困難なことやプログラムのどの部分に不具合があるのかの把握が困難なことがある。そこで、図１２に示すように、動作ログ出力部１２０によって出力された動作ログを編集して、編集後の動作ログをプログラム逐次実行部１３０に実行させるという手法を用いることもできる。なお、編集前の動作ログには符号８ａを付し、編集後の動作ログには符号８ｂを付す。
【００６１】
例えば、ステージ４０の原点復帰後の最初の移動（（Ｘ，Ｙ）＝（１００．０，１００．０）の位置へ移動）が行われた直後の時点のステージ４０の状態を確認したいと仮定する。この場合、図１１に示すログ（編集前の動作ログ８ａ）から、最初のＭｏｖｅＡｘｉｓ関数の次の行以降の全てのログを削除する。これにより、編集後の動作ログ８ｂは、図１３に示すようなものとなる。図１３に示す編集後の動作ログ８ｂをプログラム逐次実行部１３０に実行させると、（Ｘ，Ｙ）＝（１００．０，１００．０）の位置へのステージ４０の移動が行われた状態で、露光装置１の動作が停止する。このようにして、一連の処理の途中の状態を確認することが可能となる。
【００６２】
また、例えば、パターンの描画状態が好ましくないと仮定する。このような場合に、ステージ４０を主走査方向（＋Ｙ軸方向）へ移動させる際の１回の移動量を変更して露光処理を試してみることが考えられる。そこで、図１１で符号６３で示す部分に関し、ＭｏｖｅＡｘｉｓ関数に与えられる引数のうちのＹの値に変更を施す。これにより、編集後の動作ログ８ｂは、例えば図１４に示すようなものとなる。なお、図１４で符号６４、６５で示す行（ログ）が、編集によって変更した行（ログ）である。図１４に示す編集後の動作ログ８ｂをプログラム逐次実行部１３０に実行させると、露光処理の際、元のプログラムとは異なる移動量ずつステージ４０が主走査方向（＋Ｙ軸方向）に移動する。このようにして、より実践的に障害の原因調査を行うことが可能となる。
【００６３】
さらに、例えば、アライメント処理の際にステージ４０の回転が正常に行われていないと仮定する。このような場合の対処として、ステージ４０の移動とステージ４０の回転との間に所定の時間間隔を設けることが考えられる。そこで、図１１で符号６２で示す部分に関し、ＭｏｖｅＡｘｉｓ関数とＲｏｔａｔｅＡｘｉｓ関数との間に、例えば１０秒間処理が停止するよう、ＷａｉｔＳｅｃ関数を挿入する。これにより、編集後の動作ログ８ｂは、図１５に示すようなものとなる。なお、図１５で符号６６で示す行（ログ）が、編集によって挿入した行（ログ）である。図１５に示す編集後の動作ログ８ｂをプログラム逐次実行部１３０に実行させると、アライメント処理の際に、ステージ４０の移動後、１０秒間経過してからステージ４０の回転が行われる。このようにして、元のプログラム（制御処理実行部１１０によって実行されるプログラム）をどのように修正すべきかの検討が容易となる。
【００６４】
＜５．効果＞
本実施形態によれば、制御対象物３０に対する一連の制御処理が実行されると、当該制御処理の履歴を示す動作ログ８が、逐次実行が可能なプログラムの形式で出力される。また、主装置１０には、プログラムを逐次に実行することのできる（すなわち、インタプリタ機能を有する）プログラム逐次実行部１３０が設けられている。このため、動作ログ８をプログラムとしてプログラム逐次実行部１３０に実行させることができる。このように動作ログ８をプログラム逐次実行部１３０に実行させることにより、一連の制御処理が実行された際の各制御対象物３０の動作が再現される。以上より、本実施形態によれば、障害が発生した際の制御対象物３０の動作の再現を容易に行うことのできる動作再現装置が提供される。
【００６５】
また、動作ログ出力部１２０によって出力される動作ログ８には、指定された時間だけ処理を停止させるための関数ＷａｉｔＳｅｃが含まれ得る。このため、再現処理の際に、オペレータの操作タイミングまでもが再現される。これにより、一連の制御処理が実行された際の各制御対象物３０の動作がより正確に再現される。
【００６６】
さらに、動作ログ８は逐次実行が可能なプログラムの形式で出力されるので、ユーザーは動作ログ８を直接に編集することができる。そして、編集後の動作ログ８をプログラムとしてプログラム逐次実行部１３０に実行させることができる。例えば、動作ログ８の全体のうちの或る行以降の全てのログを削除することによって、一連の制御処理の途中の状態を確認することが可能となる。また、例えば、コマンドの挿入・変更や引数の値の変更などを行うことによって、より実践的な障害調査が可能になるという効果や元のプログラムをどのように修正すべきかの検討が容易になるという効果が得られる。
【００６７】
＜６．変形例＞
上記実施形態の変形例について説明する。上記実施形態においては、再現処理が実行されると、途中で中断することなく、動作ログ８の先頭行から最終行までのコマンドがプログラム逐次実行部１３０によって実行されていた。しかしながら、ユーザーにとっては、逐次に途中の状態を確認したいこともある。そこで、本変形例におけるプログラム逐次実行部１３０には、実行するプログラム（動作ログ８）に含まれる１つのコマンド毎に処理を停止するステップ処理機能と、実行するプログラム（動作ログ８）全体のうちの外部から指定された範囲に含まれる１つのコマンド毎に処理を停止する部分ステップ処理機能とが設けられている。
【００６８】
本変形例においては、再現処理の実行を指示するメニューがオペレータによって選択されると、例えば図１６に示すような処理種類選択画面７０が主装置１０の表示部１３に表示される。処理種類選択画面７０には、一括処理ボタン７１とステップ処理ボタン７２と部分ステップ処理ボタン７３とが含まれている。
【００６９】
＜６．１  一括処理＞
オペレータによって一括処理ボタン７１が押下されると、上記実施形態と同様の再現処理、すなわち、動作ログ８の先頭行から最終行までのコマンドを途中で中断することなく逐次に実行する処理が行われる。
【００７０】
＜６．２  ステップ処理＞
オペレータによってステップ処理ボタン７２が押下されると、プログラム逐次実行部１３０は、動作ログ８に含まれるコマンドを１つ実行する毎に、次のコマンドを実行しても良いか否かをオペレータに確認する画面を表示する。例えば、図１７に示すような確認画面８０が主装置１０の表示部１３に表示される。確認画面８０には、ＯＫボタン８１と中断ボタン８２とが含まれている。オペレータによってＯＫボタン８１が押下されると、プログラム逐次実行部１３０によって次のコマンドが実行される。一方、オペレータによって中断ボタン８２が押下されると、露光装置１の動作は停止し、直前に実行されたコマンドの次のコマンド以降の全てのコマンドの実行がキャンセルされる。
【００７１】
以上より、ステップ処理機能を実行することにより、露光装置１の動作状況（各制御対象物３０の動作状況）をより詳しく調べることが可能となる。これにより、効率的に障害の原因調査等を行うことが可能となる。また、例えば、再現処理の実行中に問題の発生箇所が判明した場合に、当該問題の発生箇所以降の処理の実行を停止させることができる。これにより、資源の無駄な浪費が抑制される。
【００７２】
＜６．３  部分ステップ処理＞
オペレータによって部分ステップ処理ボタン７３が押下されると、プログラム逐次実行部１３０は、動作ログ８全体のうち上述したステップ処理を行う範囲（以下、「ステップ処理範囲」という。）をオペレータに指定させる画面を表示する。ステップ処理範囲の指定については、例えば、先頭行と最終行の行番号を数値で指定するようにしても良いし、動作ログ８の全体を表示してステップ処理範囲をマウスのドラッグで指定するようにしても良い。オペレータによってステップ処理範囲が指定されると、プログラム逐次実行部１３０は、まず、ステップ処理範囲の直前の行までのコマンドを途中で中断することなく実行する。その後、プログラム逐次実行部１３０は、ステップ処理範囲について、上述したステップ処理を実行する。途中で中断されることなくステップ処理範囲の最後のコマンドまでの処理が実行されると、プログラム逐次実行部１３０は、ステップ処理範囲の直後の行以降のコマンドを途中で中断することなく実行する。
【００７３】
以上のように、部分ステップ処理機能によって、所望の範囲だけでステップ処理を実行するということが可能となる。これにより、露光装置１の動作状況（各制御対象物３０の動作状況）の把握や障害の原因調査をより効率的に行うことが可能となる。
【００７４】
＜７．その他＞
上記実施形態および上記変形例では本発明を露光装置に適用する例を挙げて説明しているが、上述したように、本発明はこれに限定されず、露光装置以外の基板処理装置にも本発明を適用することができるし、基板処理装置以外の各種装置にも本発明を適用することができる。
【符号の説明】
【００７５】
１…露光装置
８…動作ログ
１０…主装置
２０…制御部
３０…制御対象物
３１…ステージ移動機構
３２…センサー（ステージ位置計測部）
３３…光学ユニット
３４…アライメント撮像部
４０…ステージ
５０…メイン画面
１１０…制御処理実行部
１２０…動作ログ出力部
１３０…プログラム逐次実行部
【図１】
2017142636.tif 000003
【図２】
2017142636.tif 000004
【図３】
2017142636.tif 000005
【図４】
2017142636.tif 000006
【図５】
2017142636.tif 000007
【図６】
2017142636.tif 000008
【図７】
2017142636.tif 000009
【図８】
2017142636.tif 000010
【図９】
2017142636.tif 000011
【図１０】
2017142636.tif 000012
【図１１】
2017142636.tif 000013
【図１２】
2017142636.tif 000014
【図１３】
2017142636.tif 000015
【図１４】
2017142636.tif 000016
【図１５】
2017142636.tif 000017
【図１６】
2017142636.tif 000018
【図１７】
2017142636.tif 000019