(57)【要約】【課題】演算処理部の処理待ち期間を抑制するように検査視野の順序を設定できる技術の提供。【解決手段】検査順序設定装置は、基板上に設定されたＮ個（Ｎは２以上の自然数）の検査視野のそれぞれを撮像可能な１個のカメラと、Ｈ個（Ｈは２以上かつＮ未満の自然数）の演算処理部とを備えた基板検査装置に検査させる前記検査視野の検査順序を設定する検査順序設定装置であって、前記検査順序の複数の候補を設定する順序候補設定部と、前記演算処理部が演算処理に要する演算期間を前記検査視野のそれぞれについて取得する演算期間取得部と、前記演算期間に基づいて、すべての前記検査視野を検査した場合の所要期間を複数の前記候補のそれぞれについて取得する所要期間取得部と、前記所要期間に基づいて、複数の前記候補のなかから前記基板検査装置に設定する前記検査順序を選択する検査順序選択部と、を備える。【選択図】図５
2019100887.tif 000002
【特許請求の範囲】
【請求項１】
基板上に設定されたＮ個（Ｎは２以上の自然数）の検査視野のそれぞれを撮像可能な１個のカメラと、Ｈ個（Ｈは２以上かつＮ未満の自然数）の演算処理部とを備えた基板検査装置に検査させる前記検査視野の検査順序を設定する検査順序設定装置であって、
前記検査順序の複数の候補を設定する順序候補設定部と、
前記演算処理部が演算処理に要する演算期間を前記検査視野のそれぞれについて取得する演算期間取得部と、
前記演算期間に基づいて、すべての前記検査視野を検査した場合の所要期間を複数の前記候補のそれぞれについて取得する所要期間取得部と、
前記所要期間に基づいて、複数の前記候補のなかから前記基板検査装置に設定する前記検査順序を選択する検査順序選択部と、
を備える検査順序設定装置。
【請求項２】
前記所要期間取得部は、
前記候補における順番がｎ番目（ｎはＮ以下の自然数）の前記検査視野についての前記演算処理の準備が完了する準備完了時刻において、Ｈ個の前記演算処理部のいずれかが前記演算処理を行っていない場合には、前記準備完了時刻をｎ番目の前記検査視野の前記演算処理の開始時刻として設定し、
前記準備完了時刻において、Ｈ個の前記演算処理部のすべてが前記演算処理を行っている場合には、Ｈ個の前記演算処理部のそれぞれが行っている前記演算処理の終了時刻のうちの最も早い時刻をｎ番目の前記検査視野の前記演算処理の開始時刻として設定する、開始時刻設定処理を、
前記候補における前記検査順序が１番目からＮ番目の前記検査視野について順次行うことにより、前記検査順序がＮ番目の前記検査視野についての前記演算処理の終了時刻を最終終了時刻として取得し、当該最終終了時刻を終期とする前記所要期間を取得する、
請求項１に記載の検査順序設定装置。
【請求項３】
前記準備完了時刻は、前記カメラが前記検査視野の撮像を完了する時刻である、
請求項２に記載の検査順序設定装置。
【請求項４】
前記順序候補設定部は、前記演算期間が最短の前記検査視野を、複数の前記候補のそれぞれにおける前記検査順序がＮ番目の前記検査視野として設定する、
請求項１から請求項３のいずれか一項に記載の検査順序設定装置。
【請求項５】
前記順序候補設定部は、前記基板上に設けられた位置合わせのための基準マークからの距離が最短の前記検査視野を、複数の前記候補のそれぞれにおける前記検査順序が１番目の前記検査視野として設定する、
請求項１から請求項４のいずれか一項に記載の検査順序設定装置。
【請求項６】
基板上に設定されたＮ個（Ｎは２以上の自然数）の検査視野のそれぞれを撮像可能な１個のカメラと、Ｈ個（Ｈは２以上かつＮ未満の自然数）の演算処理部とを備えた基板検査装置に検査させる前記検査視野の検査順序を設定する検査順序設定方法であって、
前記検査順序の複数の候補を設定する順序候補設定工程と、
前記演算処理部が演算処理に要する演算期間を前記検査視野のそれぞれについて取得する演算期間取得工程と、
前記演算期間に基づいて、すべての前記検査視野を検査した場合の所要期間を複数の前記候補のそれぞれについて取得する所要期間取得工程と、
前記所要期間に基づいて、複数の前記候補のなかから前記基板検査装置に設定する前記検査順序を選択する検査順序選択工程と、
を含む検査順序設定方法。
【請求項７】
基板上に設定されたＮ個（Ｎは２以上の自然数）の検査視野のそれぞれを撮像可能な１個のカメラと、Ｈ個（Ｈは２以上かつＮ未満の自然数）の演算処理部とを備えた基板検査装置に検査させる前記検査視野の検査順序を設定する機能をコンピュータに実現させる検査順序設定プログラムであって、
前記検査順序の複数の候補を設定する順序候補設定機能と、
前記演算処理部が演算処理に要する演算期間を前記検査視野のそれぞれについて取得する演算期間取得機能と、
前記演算期間に基づいて、すべての前記検査視野を検査した場合の所要期間を複数の前記候補のそれぞれについて取得する所要期間取得機能と、
前記所要期間に基づいて、複数の前記候補のなかから前記基板検査装置に設定する前記検査順序を選択する検査順序選択機能と、
前記コンピュータに実現させる検査順序設定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基板上に設定された複数の検査視野の検査順序を設定する技術に関する。
【背景技術】
【０００２】
基板上に設定された検査視野を検査する順序を適正化する技術が提案されている（特許文献１、参照）。特許文献１においては、検査視野の位置関係と移動関係とを視覚的に把握可能な態様で表示した状態で、検査視野順序の変更が受け付けられる。これにより、検査視野の移動経路に無駄がないように検査視野順序を変更できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−３０８３４９号公報
【０００４】
しかしながら、検査視野の移動経路に無駄がなくても、演算処理部が過去の検査視野の演算処理を終了していない場合には、当該演算処理が終了するまで次の検査視野の演算処理を行うことができず、処理待ちの時間が発生してしまうというという問題があった。すなわち、検査視野の移動経路に無駄がないような検査視野順序を設定しても、必ずしも検査の所要期間が短くならないという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明は、前記の問題を解決せんとするもので、検査の所要時間が短くなる検査視野の検査順序を設定することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
前記の目的を達成するため、本発明の検査順序設定装置は、基板上に設定されたＮ個（Ｎは２以上の自然数）の検査視野のそれぞれを撮像可能な１個のカメラと、Ｈ個（Ｈは２以上かつＮ未満の自然数）の演算処理部とを備えた基板検査装置に検査させる検査視野の検査順序を設定する検査順序設定装置であって、検査順序の複数の候補を設定する順序候補設定部と、演算処理部が演算処理に要する演算期間を検査視野のそれぞれについて取得する演算期間取得部と、演算期間に基づいて、すべての検査視野を検査した場合の所要期間を複数の検査順序の候補のそれぞれについて取得する所要期間取得部と、所要期間に基づいて、複数の検査順序の候補のなかから基板検査装置に設定する検査順序を選択する検査順序選択部と、を備える。
【０００７】
前記の構成において、検査視野の検査順序の複数の候補のうち、すべての検査視野を検査した場合の所要期間が短くなるものを、基板検査装置に設定する検査順序として選択できる。所要期間取得部は、検査視野のそれぞれの演算期間に基づいて所要期間を取得するため、検査視野ごとに異なる演算期間を考慮して全体の所要期間が短くなる検査順序を選択できる。従って、検査視野ごとに検査対象となる部位（半田、部品、リード、印字等）の数や種類が異なり、演算負荷が異なる場合でも、適切な検査順序を選択できる。
【０００８】
ここで、検査視野の検査順序とは、Ｈ個の演算処理部を用いて、どの検査視野を何番目に演算処理するかを規定するものである。順序候補設定部は、検査視野の検査順序の複数（少なくとも２個）の候補を設定する。Ｎ個の検査視野の検査順序の候補の個数は、Ｎの階乗（Ｎ！）だけ考えられ得る。ただし、順序候補設定部は、組み合わせられ得るすべての検査順序の候補を設定しなくてもよく、組み合わせられ得るすべての検査順序のうちの一部を候補として設定してもよい。
【０００９】
演算期間取得部は、検査視野ごとの演算期間を取得すればよく、実際に演算処理部にて演算処理をした際に要した期間の計測結果に基づいて演算期間を取得してもよいし、検査視野内に存在する検査対象となる部位の個数や種類等に基づいて演算期間を予測してもよい。また、Ｈ個の演算処理部の処理能力は均一であってもよいし、均一でなくてもよい。
後者の場合、Ｈ個の演算処理部のそれぞれの処理能力に応じて異なる演算期間が取得できるように構成しておけばよい。演算処理部とは、演算処理を行うためのハードウェアを意味し、例えばＣＰＵとＲＡＭが該当する。また、１個のＣＰＵまたはＣＰＵコアが１個の演算処理部に相当してもよいし、複数のＣＰＵまたはＣＰＵコアが１個の演算処理部に相当してもよい。演算処理とは、検査視野を撮像した画像の画像処理や、当該画像処理の結果物を検査対象の部位ごとに良否判定する処理を含んでもよい。さらに、演算処理は、検査視野を撮像した画像をＲＡＭ等のワークエリアに読み込む処理を含んでいてもよい。検査順序選択部は、所要期間が短い検査順序を選択すればよく、所要期間が最短となる検査順序を選択してもよいし、所要期間が閾値以下となる検査順序を選択してもよい。
【００１０】
ここで、所要期間取得部は、検査順序の候補における順番がｎ番目（ｎはＮ以下の自然数）の検査視野についての演算処理の準備が完了する準備完了時刻において、Ｈ個の演算処理部の少なくとも１個が演算処理を行っていない場合には、準備完了時刻をｎ番目の検査視野の演算処理の開始時刻として設定し、準備完了時刻において、Ｈ個の演算処理部のすべてが演算処理を行っている場合には、Ｈ個の演算処理部のそれぞれが行っている演算処理の終了時刻のうちの最も早い時刻をｎ番目の検査視野の演算処理の開始時刻として設定する開始時刻設定処理を行ってもよい。そして、所要期間取得部は、この開始時刻設定処理を、候補における検査順序が１番目からＮ番目の検査視野について順次行うことにより、順番がＮ番目の検査視野についての演算処理の終了時刻を最終終了時刻として取得し、当該最終終了時刻を終期とする所要期間を取得してもよい。
【００１１】
順番がｎ番目の検査視野の演算処理の準備が完了する準備完了時刻において、Ｈ個の演算処理部の少なくとも１個が演算処理を行っていない場合には、すぐに演算処理を開始することができ、当該準備完了時刻を演算処理の開始時刻とすることができる。一方、順番がｎ番目の検査視野の演算処理の準備が完了しているのに、Ｈ個の演算処理部のすべてが演算処理を行っている場合には、すぐに演算処理を開始することができず、処理待ち期間が発生することとなる。この処理待ち期間は、Ｈ個の演算処理部のそれぞれが行っている演算処理の終了時刻のうちの最も早い時刻まで継続し、当該時刻にて順番がｎ番目の検査視野の演算処理を開始することができることとなる。
【００１２】
以上のように、順番がｎ番目の検査視野の演算処理の開始時刻を設定する開始時刻設定処理を、検査順序が１番目からＮ番目の検査視野について順次行っていくことにより、最終的にＮ番目の検査視野の演算処理の開始時刻を設定できる。そして、ｎ番目の検査視野の演算処理の開始時刻にｎ番目の検査視野の演算期間を加算することにより、ｎ番目の検査視野の演算処理の終了時刻を得ることができる。Ｎ番目の検査視野についての演算処理の終了時刻は、すべての検査視野についての検査の最終終了時刻となるため、当該最終終了時刻が早い検査順序の候補を選択することにより、検査の所要時間が短くなる検査順序を設定できる。
【００１３】
準備完了時刻は、カメラが検査視野の撮像を完了する時刻であってもよい。カメラが検査視野の撮像を完了すれば、当該撮像した撮像画像を演算処理部が演算処理することができる。なお、１個のカメラでＮ個の検査視野を順次撮像するため、準備完了時刻は検査視野ごとに異なることとなる。従って、所要期間取得部は、検査視野を撮像する撮像順序に基づいて準備完了時刻を取得し、さらに当該準備完了時刻に基づいて所要期間を取得することとなる。ここで、早期に演算処理する検査視野を早期に撮像しておくことができるように、撮像順序と検査順序とが一致することが望ましい。ただし、必ずしも撮像順序と検査順序とが一致しなくてもよい。
【００１４】
さらに、順序候補設定部は、演算期間が最短の検査視野を、複数の検査順序の候補のそれぞれにおける順番がＮ番目の検査視野として設定してもよい。Ｎ番目の検査視野は最後に演算処理が開始する検査視野であり、Ｎ番目の検査視野の演算処理の終了待ちにより、全体の所要期間が長くなる可能性がある。これに対して、演算期間が最短の検査視野をＮ番目の検査視野と設定することにより、Ｎ番目の検査視野の演算処理の終了待ちの期間を抑制し、全体の所要期間を短くすることができる。さらに、演算期間が最短の検査視野をＮ番目の検査視野に固定することにより、組み合わせられ得る検査視野の検査順序の候補の個数を抑制することができる。
【００１５】
また、順序候補設定部は、基板上に設けられた位置合わせのための基準マークからの距離が最短の検査視野を、撮像順序が１番目の検査視野として設定し、複数の検査順序の候補のそれぞれにおける検査順序が１番目の検査視野として設定してもよい。これにより、検査順序が１番目の検査視野へのカメラの移動と撮像とを速やかに行うことができ、Ｈ個の演算処理部のいずれかが演算処理を開始するタイミングを早めることができる。従って、全体の所要期間を短くすることができる。さらに、基準マークからの距離が最短の検査視野を１番目の検査視野に固定することにより、組み合わせられ得る検査視野の検査順序の候補の個数を抑制することができる。
【図面の簡単な説明】
【００１６】
【図１】検査順序設定装置のブロック図である。
【図２】基板の平面図である。
【図３】図３Ａは演算期間情報を示す表，図３Ｂは移動期間情報を示す表、図３Ｃは検査順序の候補を示す表である。
【図４】検査のタイミングチャートである。
【図５】検査のタイミングチャートである。
【図６】検査順序設定処理のフローチャートである。
【図７】所要期間取得処理のフローチャートである。
【発明を実施するための形態】
【００１７】
ここでは、下記の順序に従って本発明の実施の形態について説明する。
（１）検査順序設定装置の構成：
（２）検査順序設定処理：
（３）所要期間取得処理：
（４）他の実施形態：
【００１８】
（１）検査順序設定装置の構成：
図１は、本実施形態にかかる基板検査装置１０の概略構成を示すブロック図である。基板検査装置１０は、本発明の一実施形態にかかる検査順序設定装置を含むものである。図１において、基板検査装置１０は、制御部２０と記録媒体３０と撮像部４０とを備えている。
【００１９】
撮像部４０は、照明４１とイメージセンサ４２と移動部４３とを備えている。移動部４３は、基板とイメージセンサ４２とを相対移動させるための装置であり、イメージセンサ４２を移動させるアクチュエータであってもよいし、基板をイメージセンサ４２に対して移動させるＸ−Ｙステージであってもよい。本明細書において、イメージセンサ４２が検査視野に移動すると表記した場合、検査視野を撮像できる相対位置にイメージセンサ４２と基板とが移動することを意味することとする。
【００２０】
照明４１は、基板に光を照射するための光源と光学系を含み、照明光の種類は特に限定されない。イメージセンサ４２は、基板上の検査視野を撮像する撮像素子である。イメージセンサ４２は、撮像した撮像画像を１枚分だけ記録可能であり、当該撮像画像を他のメモリに転送するまでは、次の撮像画像を撮像することができない。イメージセンサ４２は、本発明のカメラに相当する。
【００２１】
図２は、基板の平面図である。基板ＷＢには予め５個（Ｎ＝５）の検査視野Ｖ１〜Ｖ５が設定されており、検査視野Ｖ１〜Ｖ５に対応する位置に基板ＷＢとイメージセンサ４２とが相対移動することにより、検査視野Ｖ１〜Ｖ５のそれぞれを撮像することが可能となっている。検査視野Ｖ１〜Ｖ５には、複数の検査対象となる部位が不均一に存在している。検査対象となる部位とは、半田、部品、リード、印字等であり、これらのそれぞれについて基板検査装置１０は良否判定を行う。検査対象となる部位の種類は特に限定されない。検査視野Ｖ１〜Ｖ５の大きさは均一であってもよいし、互いに異なってもよい。基板ＷＢは外形が矩形状となっており、３個の隅に予め決められた形状の基準マークＥ１〜Ｅ３が形成されている。基準マークＥ１〜Ｅ３は、予め決められた形状のパッドやレジストや穴等であり、予め決められた基準位置に形成されたものである。基準マークＥ１〜Ｅ３の個数は特に限定されるものではない。
【００２２】
図１に示す制御部２０は、図示しないＣＰＵやＲＯＭやＲＡＭで構成されるコンピュータであり、記録媒体３０に記録された各種情報を用いて検査視野Ｖ１〜Ｖ５の検査に必要な処理を実行する。制御部２０は、２個のＶＲＡＭ１，ＶＲＡＭ２を含んでいる。ＶＲＡＭ１，ＶＲＡＭ２は、物理的に独立したメモリであってもよいし、単一のメモリを論理的に区分したものであってもよい。制御部２０は、２個（Ｈ＝２）の演算処理部Ｃ１と演算処理部Ｃ２とを有しており、演算処理部Ｃ１がＶＲＡＭ１をワークエリアとして使用し、演算処理部Ｃ２がＶＲＡＭ２をワークエリアとして使用する。演算処理部Ｃ１と演算処理部Ｃ２は、並列処理が可能である。制御部２０は、ＣＰＵとしてマルチコアプロセッサを備えており、当該演算処理部Ｃ１と演算処理部Ｃ２のそれぞれに互いに同数のコアが割り当てられている。すなわち、演算処理部Ｃ１の処理能力と演算処理部Ｃ２の処理能力とは同じである。
【００２３】
記録媒体３０は、検査視野情報３０ａと演算期間情報３０ｂと移動期間情報３０ｃとを記録している。検査視野情報３０ａは、検査視野Ｖ１〜Ｖ５の個数と位置と形状とを規定した情報である。制御部２０は、基準マークＥ１〜Ｅ３を順次イメージセンサ４２で撮像することにより、基準マークＥ１〜Ｅ３の位置を取得し、当該基準マークＥ１〜Ｅ３の位置に基づいて検査視野Ｖ１〜Ｖ５の位置と形状とを補正する。補正後の検査視野Ｖ１〜Ｖ５の位置や形状を用いて検査視野Ｖ１〜Ｖ５の撮像が行われる。なお、基準マークＥ１〜Ｅ３のうち、右下隅の基準マークＥ３が最後に撮像されることとする。また、検査視野情報３０ａは、検査視野Ｖ１〜Ｖ５に含まれる複数の検査対象の部位のそれぞれについて位置や種類を規定している。
【００２４】
演算期間情報３０ｂは、検査視野Ｖ１〜Ｖ５の検査のための演算処理に要する期間である演算期間を検査視野Ｖ１〜Ｖ５のそれぞれについて規定した情報である。図３Ａは、演算期間情報を示す表である。同図に示すように、検査視野Ｖ１〜Ｖ５のそれぞれについて演算期間Ｄ１〜Ｄ５が規定されている。
【００２５】
演算期間Ｄ１〜Ｄ５とは、検査視野Ｖ１〜Ｖ５の撮像画像をイメージセンサ４２からＶＲＡＭ１またはＶＲＡＭ２に転送する転送期間と、ＶＲＡＭ１またはＶＲＡＭ２に転送された撮像画像を用いて検査対象となる部位の検査を行うための各種演算処理の期間とが含まれる。本実施形態において、撮像画像の転送期間は短く、当該転送期間の長さを０と見なすこととする。
【００２６】
各種演算処理には、検査対象となる部位の画像の抽出処理、検査に適した画像とするための画像調整処理、画像から検査指標値を導出する数値化処理、検査指標値に基づいて良否判定を行う処理等を含む。むろん、これらの処理の内容は特に限定されない。検査対象となる部位の数や種類によって演算期間Ｄ１〜Ｄ５の長さは互いに異なっており、検査視野Ｖ１の演算期間Ｄ１が最も短いこととする。本実施形態において、演算期間Ｄ１〜Ｄ５は、実際に検査視野Ｖ１〜Ｖ５についての演算処理を行った場合に要した期間を計測することにより得られている。
【００２７】
移動期間情報３０ｃは、検査視野Ｖ１〜Ｖ５間の移動に要する期間である移動期間を検査視野Ｖ１〜Ｖ５の組のそれぞれについて規定した情報である。検査視野Ｖ１〜Ｖ５の組とは、移動元の検査視野Ｖ１〜Ｖ５と移動先の検査視野Ｖ１〜Ｖ５との組み合わせである。例えば、検査視野Ｖ２から検査視野Ｖ３へと移動する場合の移動期間Ｒ２３が移動期間情報３０ｃに規定されている。移動期間Ｒ２３は、反対方向の移動期間Ｒ３２と同一であると見なされてもよいし、反対方向の移動期間Ｒ３２と異なってもよい。また、最後に撮像される基準マークＥ３から当該基準マークＥ３に最も近い検査視野Ｖ５へと移動する際の移動期間Ｒ０５も移動期間情報３０ｃに規定されている。
【００２８】
制御部２０は、検査順序設定プログラム２１と基板検査プログラム２２とを実行する。まず、基板検査プログラム２２の機能により制御部２０は、基準マークＥ１〜Ｅ３を順次イメージセンサ４２で撮像することにより、基準マークＥ１〜Ｅ３の位置を取得し、当該基準マークＥ１〜Ｅ３の位置に基づいて検査視野Ｖ１〜Ｖ５の位置と形状とを補正しておく。そして、基板検査プログラム２２の機能により制御部２０は、予め設定された検査順序で検査視野Ｖ１〜Ｖ５が撮像できるように移動部４３を制御するとともに、イメージセンサ４２にて撮像画像の撮像を行わせる。
【００２９】
基板検査プログラム２２の機能により制御部２０は、検査視野Ｖ１〜Ｖ５のそれぞれの撮像が完了すると、撮像画像をＶＲＡＭ１またはＶＲＡＭ２に転送する。撮像画像をＶＲＡＭ１またはＶＲＡＭ２に転送すると、イメージセンサ４２は撮像順序における次の順番の検査視野Ｖ１〜Ｖ５の撮像が可能となる。撮像画像がＶＲＡＭ１またはＶＲＡＭ２に転送されると、基板検査プログラム２２の機能により制御部２０は、ＶＲＡＭ１またはＶＲＡＭ２をワークエリアとして演算処理部Ｃ１または演算処理部Ｃ２に検査のための演算処理を開始させる。制御部２０は、演算処理が完了すると、ＶＲＡＭ１またはＶＲＡＭ２をクリアする。
【００３０】
図４は、検査のタイミングチャートの一例である。本実施形態において、撮像順序と検査順序とが一致することとする。図４において、検査順序における順番がｎ−３〜ｎ＋１番目の検査視野Ｖ１〜Ｖ５（以下、単に検査視野Ｖと表記する場合もある。）についてのタイミングが示されている。ここで、順番がｎ番目の検査視野Ｖに注目して検査のタイミングを説明する。ｎ番目の検査視野Ｖの撮像が完了する時刻を撮像完了時刻Ｓ（ｎ）と表記し、ｎ番目の検査視野Ｖの撮像が開始する時刻を撮像開始時刻Ｑ（ｎ）と表記し、ｎ番目の検査視野Ｖへの移動が完了する時刻を移動完了時刻Ｕ（ｎ）と表記する。さらに、ｎ番目の検査視野Ｖの演算処理に要する期間を演算期間Ｄ（ｎ）と表記し、当該演算期間Ｄ（ｎ）が開始する時刻を演算開始時刻Ｘ（ｎ）と表記し、当該演算期間Ｄ（ｎ）が終了する時刻を演算終了時刻Ｚ（ｎ）と表記する。
【００３１】
図４に示すように、ｎ番目の検査視野Ｖの撮像が撮像完了時刻Ｓ（ｎ）にて完了している。撮像完了時刻Ｓ（ｎ）は、本発明の準備完了時刻である。なお、図４の例では、撮像完了時刻Ｓ（ｎ）において、演算処理部Ｃ１，Ｃ２のうち演算処理部Ｃ１における演算処理が完了しており、ＶＲＡＭ１がクリアされている。
【００３２】
従って、基板検査プログラム２２の機能により制御部２０は、ＶＲＡＭ１にｎ番目の検査視野Ｖの撮像画像を転送して、演算処理部Ｃ１にｎ番目の検査視野Ｖについての演算処理を行わせる。従って、撮像完了時刻Ｓ（ｎ）と演算開始時刻Ｘ（ｎ）とはほぼ同時となる。ｎ番目の検査視野Ｖの撮像画像をＶＲＡＭ１に転送すれば、イメージセンサ４２は次の（ｎ＋１）番目の検査視野Ｖの撮像を行うことが可能となる。従って、制御部２０は、（ｎ＋１）番目の検査視野Ｖへの移動完了時刻Ｕ（ｎ＋１）と、ｎ番目の検査視野Ｖの撮像画像を転送した演算開始時刻Ｘ（ｎ）のうち遅い方の時刻にて、イメージセンサ４２に（ｎ＋１）番目の検査視野Ｖの撮像を開始させる。
【００３３】
ここで、図４に示すように、演算処理に要する期間である演算期間Ｄ（ｎ−３），Ｄ（ｎ−２），Ｄ（ｎ−１），Ｄ（ｎ）は、検査視野Ｖごとに異なる。なお、本実施形態において、検査視野Ｖの撮像に要する撮像期間は、均一であることとする。ただし、照明条件や露光条件等の相違によって撮像期間が検査視野Ｖごとに異なってもよい。
【００３４】
図５は、検査のタイミングチャートの別の例である。ここでも、順番がｎ番目の検査視野Ｖに注目して検査のタイミングを説明する。図５の例では、撮像完了時刻Ｓ（ｎ）において、演算処理部Ｃ１，Ｃ２の双方の演算処理が完了しておらず、ＶＲＡＭ１，ＶＲＡＭ２がともにクリアされていない。従って、基板検査プログラム２２の機能により制御部２０は、演算処理部Ｃ１，Ｃ２が行っている演算処理の演算終了時刻Ｚ（ｎ−１），Ｚ（ｎ−２）のうち早い方の演算終了時刻Ｚ（ｎ−２）が到来するまで待機し、演算終了時刻Ｚ（ｎ−２）と同時に、ＶＲＡＭ２にｎ番目の検査視野Ｖの撮像画像を転送する。
【００３５】
その結果、（ｎ−２）番目の検査視野Ｖの演算処理の演算終了時刻Ｚ（ｎ−２）とほぼ同時に、演算処理部Ｃ２におけるｎ番目の検査視野Ｖについての演算処理の演算開始時刻Ｘ（ｎ）が到来することとなる。ｎ番目の検査視野Ｖの撮像画像を転送するまでは、イメージセンサ４２は撮像順序における次の順番の（ｎ＋１）番目の検査視野Ｖの撮像を行うことができず、（ｎ＋１）番目の検査視野Ｖまで移動した状態で待機することとなる。図５の例において、制御部２０は、ｎ番目の検査視野Ｖの撮像画像をＶＲＡＭ２に転送すると同時に（転送期間を０と見なす）、イメージセンサ４２に（ｎ＋１）番目の検査視野Ｖの撮像を開始している。すなわち、ｎ番目の検査視野Ｖの演算開始時刻Ｘ（ｎ）とｎ＋１番目の検査視野Ｖの撮像開始時刻Ｑ（ｎ＋１）とが同時となっている。この場合、ｎ番目の検査視野Ｖの撮像が完了しているのにｎ番目の検査視野Ｖの演算処理が開始できない演算待ち期間Ｗ（ｎ）と、（ｎ＋１）番目の検査視野Ｖへの移動が完了しているのにｎ＋１番目の検査視野Ｖの撮像が開始できない撮像待ち期間Ｐ（ｎ＋１）とが発生する。
【００３６】
以上の処理を予め設定された検査順序における順番が１〜Ｎ番目（ｎ＝１〜Ｎ）の検査視野Ｖについて順次行っていくことにより、すべての検査視野Ｖについて検査の結果を得ることができる。制御部２０は、すべての検査視野Ｖについての検査の結果を記録媒体３０に記録したり、図示しない出力装置に出力したりする。
【００３７】
（２）検査順序設定処理：
次に、検査順序を設定するための構成を図６の検査順序設定処理のフローチャートとともに説明する。検査順序設定プログラム２１は、順序候補設定モジュール２１ａと演算期間取得モジュール２１ｂと所要期間取得モジュール２１ｃと検査順序選択モジュール２１ｄとを含む。順序候補設定モジュール２１ａと演算期間取得モジュール２１ｂと所要期間取得モジュール２１ｃと検査順序選択モジュール２１ｄとを実行するコンピュータとしての制御部２０は、本発明の順序候補設定部と演算期間取得部と所要期間取得部と検査順序選択部とを構成する。
【００３８】
まず、演算期間取得モジュール２１ｂの機能により制御部２０は、検査視野情報３０ａを取得する（ステップＳ１００）。すなわち、制御部２０は、基板ＷＢに設定されている検査視野Ｖの個数（＝Ｎ）と、各検査視野Ｖの位置と形状とを取得する。さらに、演算期間取得モジュール２１ｂの機能により制御部２０は、演算処理部Ｃ１，Ｃ２が演算処理に要する演算期間Ｄ１〜Ｄ５を検査視野Ｖ１〜Ｖ５のそれぞれについて取得する。すなわち、演算期間取得モジュール２１ｂの機能により制御部２０は、移動期間情報３０ｃを参照することにより、実際の演算処理に要した演算期間Ｄ１〜Ｄ５を取得する。
【００３９】
次に、順序候補設定モジュール２１ａの機能により制御部２０は、検査視野Ｖの検査順序の複数の候補を設定する（ステップＳ１１０）。制御部２０は、基準マークＥ１〜Ｅ３のうちイメージセンサ４２が最後に撮像する基準マークＥ３からの距離が最短の検査視野Ｖ５を複数の検査順序の候補のそれぞれにおける検査順序が１番目の検査視野Ｖとして設定する。
【００４０】
さらに、順序候補設定モジュール２１ａの機能により制御部２０は、演算期間が最短の検査視野Ｖを、複数の検査順序の候補のそれぞれにおける検査順序がＮ番目（Ｎ＝５）の検査視野Ｖとして設定する。上述したように、検査視野Ｖ１の演算期間Ｄ１が他の検査視野Ｖ２〜Ｖ５よりも短いため、制御部２０は、演算期間Ｄ１が最短の検査視野Ｖ１を複数の検査順序の候補のそれぞれにおける順番がＮ番目の検査視野Ｖとして設定する。
【００４１】
図３Ｃは、検査順序の候補Ｋ１〜Ｋ６を示す表である。同図に示すように、基準マークＥ３からの距離が最短の検査視野Ｖ５の順番が検査順序の候補Ｋ１〜Ｋ６のいずれにおいても１番目となっている。また、演算期間Ｄ１が最短の検査視野Ｖ１の順番が検査順序の候補Ｋ１〜Ｋ６のいずれにおいても５番目となっている。本実施形態においては、撮像順序と検査順序が一致するため、検査順序の候補Ｋ１〜Ｋ６を設定することにより、撮像順序の候補も設定されたこととなる。
【００４２】
順序候補設定モジュール２１ａの機能により制御部２０は、１番目とＮ番目以外の順番について考えられ得るすべての組み合わせを生成することにより、検査順序の候補Ｋ１〜Ｋ６を設定する。本実施形態においては、検査視野Ｖ１，Ｖ５を除く、３個の検査視野Ｖ２〜Ｖ４の順列を考えればよいため、３！＝６個の検査順序の候補Ｋ１〜Ｋ６が設定されることとなる。なお、制御部２０は、どの演算処理部Ｃ１，Ｃ２にどの検査視野Ｖ１〜Ｖ５の演算処理を担当させるかについては設定しない。
【００４３】
次に、所要期間取得モジュール２１ｃの機能により制御部２０は、検査順序の候補Ｋ１〜Ｋ６を仮選択する（ステップＳ１２０）。すなわち、制御部２０は、後述する所要期間取得処理の対象とする検査順序の候補Ｋ１〜Ｋ６を１個選択する。次に、所要期間取得モジュール２１ｃの機能により制御部２０は、所要期間取得処理を実行する（ステップＳ１３０）。すなわち、所要期間取得モジュール２１ｃの機能により制御部２０は、演算期間Ｄ１〜Ｄ５に基づいて、検査視野Ｖ１〜Ｖ５を検査した場合の所要期間を、仮選択した検査順序の候補Ｋ１〜Ｋ６について取得するための所要期間取得処理を実行する。所要期間取得処理の詳細については後述する。
【００４４】
次に、所要期間取得モジュール２１ｃの機能により制御部２０は、すべての検査順序の候補Ｋ１〜Ｋ６について所要期間を取得したか否かを判定する（ステップＳ１５０）。すなわち、制御部２０は、検査順序の候補Ｋ１〜Ｋ６の個数分だけ所要期間取得処理を繰り返して実行したか否かを判定する。すべての検査順序の候補Ｋ１〜Ｋ６について所要期間を取得したと判定しなかった場合（ステップＳ１５０：Ｎ）、制御部２０は、ステップＳ１２０に戻り、次の検査順序の候補Ｋ１〜Ｋ６を仮選択する。以上の処理（ステップＳ１２０〜Ｓ１５０）を繰り返して実行することにより、所要期間取得モジュール２１ｃの機能により制御部２０は、演算期間Ｄ１〜Ｄ５に基づいて、すべての検査視野Ｖ１〜Ｖ５を検査した場合の所要期間を複数の検査順序の候補Ｋ１〜Ｋ６のそれぞれについて取得することができる。
【００４５】
すべての検査順序の候補Ｋ１〜Ｋ６について所要期間を取得したと判定した場合（ステップＳ１５０：Ｙ）、検査順序選択モジュール２１ｄの機能により所要期間が最短の検査順序の候補Ｋ１〜Ｋ６を選択する（ステップＳ１６０）。すなわち、検査順序選択モジュール２１ｄの機能により制御部２０は、所要期間に基づいて、複数の検査順序の候補Ｋ１〜Ｋ６のなかから基板検査装置１０に設定する検査順序を選択する。ここで選択された検査順序にしたがって、基板検査プログラム２２の機能により制御部２０は、各検査視野Ｖ１〜Ｖ５の検査を順次実行することとなる。
【００４６】
（３）所要期間取得処理：
次に、所要期間取得処理（図６のステップＳ１３０）の詳細について説明する。図７は、所要期間取得処理のフローチャートである。まず、所要期間取得モジュール２１ｃの機能により制御部２０は、ｎに１をセットする（ステップＳ１３１）。すなわち、制御部２０は、仮選択した検査順序の候補Ｋ１〜Ｋ６における順番を指定する変数であるｎを１番目にセットする。次に、所要期間取得モジュール２１ｃの機能により制御部２０は、撮像開始時刻Ｑ（ｎ）と撮像完了時刻Ｓ（ｎ）とを取得する（ステップＳ１３２）。本実施形態において、ｎ＝１である場合、制御部２０は、最後に撮像する基準マークＥ３から１番目の検査視野Ｖ５＝Ｖ（ｎ）までの移動期間Ｒ０５を撮像開始時刻Ｑ（ｎ）として取得する。一方、ｎ≧２である場合、制御部２０は、後述するステップＳ１４０にて予め設定されている撮像開始時刻Ｑ（ｎ）を取得する。制御部２０は、撮像開始時刻Ｑ（ｎ）に撮像期間を加算した時刻を撮像完了時刻Ｓ（ｎ）として取得する。
【００４７】
次に、所要期間取得モジュール２１ｃの機能により制御部２０は、ｎが２よりも大きいか否かを判定する（ステップＳ１３３）。ここで、ｎが２よりも大きい場合、撮像完了時刻Ｓ（ｎ）において、演算処理部Ｃ１と演算処理部Ｃ２の双方が１〜ｎ−１番目の検査視野Ｖの演算処理を行っており、ＶＲＡＭ１とＶＲＡＭ２の双方がクリアされていない可能性がある。一方、ｎが２以下である場合、撮像完了時刻Ｓ（ｎ）において、演算処理部Ｃ１と演算処理部Ｃ２の少なくとも一方が検査視野Ｖの演算処理を行っておらず、ＶＲＡＭ１とＶＲＡＭ２の少なくとも一方がクリアされていることとなる。
【００４８】
ｎが２よりも大きいと判定しなかった場合（ステップＳ１３３：Ｎ）、所要期間取得モジュール２１ｃの機能により制御部２０は、演算開始時刻Ｘ（ｎ）として撮像完了時刻Ｓ（ｎ）を取得する（ステップＳ１３４）。すなわち、制御部２０は、撮像完了時刻Ｓ（ｎ）において、ＶＲＡＭ１とＶＲＡＭ２の少なくとも一方がクリアされており、即座にｎ番目の検査視野Ｖの撮像画像を転送して演算処理部Ｃ１または演算処理部Ｃ２にて演算処理を開始できるとして、演算開始時刻Ｘ（ｎ）に撮像完了時刻Ｓ（ｎ）を設定する。
【００４９】
一方、ｎが２よりも大きいと判定した場合（ステップＳ１３３：Ｙ）、所要期間取得モジュール２１ｃの機能により制御部２０は、演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）を取得する（ステップＳ１３５）。すなわち、制御部２０は、検査順序における順番がｎ番目よりも早い１〜ｎ−１番目の演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）を取得する。なお、ｎが２よりも大きい場合、少なくとも２個の演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）が、後述するステップＳ１３８にて予め設定されていることとなる。
【００５０】
次に、所要期間取得モジュール２１ｃの機能により制御部２０は、撮像完了時刻Ｓ（ｎ）より遅い演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）が２個（Ｈ個）であるか否かを判定する（ステップＳ１３６）。すなわち、制御部２０は、撮像完了時刻Ｓ（ｎ）において、２個の演算処理部Ｃ１と演算処理部Ｃ２の双方が１〜ｎ−１番目のいずれかの検査視野Ｖの演算処理を行っているか否かを判定する。つまり、制御部２０は、撮像完了時刻Ｓ（ｎ）において、ＶＲＡＭ１とＶＲＡＭ２の双方がクリアされておらず、即座にｎ番目の検査視野Ｖの演算処理を開始できないか否かを判定する。
【００５１】
ここで、撮像完了時刻Ｓ（ｎ）において、演算処理部Ｃ１と演算処理部Ｃ２が演算処理を行っている検査視野Ｖはｎ−１番目とｎ−２番目の検査視野Ｖに限られない。例えば、撮像完了時刻Ｓ（ｎ）において、演算処理部Ｃ１と演算処理部Ｃ２が演算処理を行っている検査視野Ｖがｎ−１番目とｎ−３番目の検査視野Ｖとなる場合も生じ得る。
【００５２】
撮像完了時刻Ｓ（ｎ）より遅い演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）が２個（Ｈ個）であると判定しなかった場合（ステップＳ１３６：Ｎ）、制御部２０は、演算開始時刻Ｘ（ｎ）として、撮像完了時刻Ｓ（ｎ）を取得する（ステップＳ１３４）。すなわち、制御部２０は、撮像完了時刻Ｓ（ｎ）において、ＶＲＡＭ１とＶＲＡＭ２の少なくとも一方がクリアされており、即座にｎ番目の検査視野Ｖの撮像画像を転送して演算処理部Ｃ１または演算処理部Ｃ２にて演算処理を開始できるとして、演算開始時刻Ｘ（ｎ）に撮像完了時刻Ｓ（ｎ）を設定する。図４の例では、撮像完了時刻Ｓ（ｎ）より遅い演算終了時刻Ｚ（ｎ−２）が１個であり、撮像完了時刻Ｓ（ｎ）において、演算処理部Ｃ１の演算処理が終了しており、演算処理部Ｃ１のＶＲＡＭ１がクリアされていることとなる。そのため、制御部２０は、演算開始時刻Ｘ（ｎ）に撮像完了時刻Ｓ（ｎ）を設定する。
【００５３】
一方、撮像完了時刻Ｓ（ｎ）より遅い演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）が２個（Ｈ個）であると判定した場合（ステップＳ１３６：Ｙ）、演算開始時刻Ｘ（ｎ）として、撮像完了時刻Ｓ（ｎ）より遅い演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）のうち最も早いものを設定する（ステップＳ１３７）。すなわち、撮像完了時刻Ｓ（ｎ）において、演算処理部Ｃ１と演算処理部Ｃ２の双方が演算処理を行っており、ＶＲＡＭ１とＶＲＡＭ２の双方がクリアされておらず、即座にｎ番目の検査視野Ｖの演算処理を開始できない場合、制御部２０は、処理中の演算処理の演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）のうち最も早い時刻を演算開始時刻Ｘ（ｎ）として取得する。図５の例では、撮像完了時刻Ｓ（ｎ）より遅い演算終了時刻Ｚ（ｎ−１），Ｚ（ｎ−２）のうち、早い方の演算終了時刻Ｚ（ｎ−２）がｎ番目の検査視野Ｖの演算開始時刻Ｘ（ｎ）として取得されることとなる。
【００５４】
以上説明したように、所要期間取得モジュール２１ｃの機能により制御部２０は、検査順序の候補Ｋ１〜Ｋ６における順番がｎ番目（ｎはＮ以下の自然数）の検査視野Ｖについての演算処理の準備が完了する撮像完了時刻Ｓ（ｎ）において、Ｈ個の演算処理部Ｃ１，Ｃ２の少なくとも１個が演算処理を行っていない場合には（ステップＳ１３３：Ｎ，ステップＳ１３６：Ｎ）、撮像完了時刻Ｓ（ｎ）をｎ番目の検査視野Ｖの演算処理の演算開始時刻Ｘ（ｎ）として設定し（ステップＳ１３４）、撮像完了時刻Ｓ（ｎ）において、Ｈ個の演算処理部Ｃ１，Ｃ２のすべてが演算処理を行っている場合には（ステップＳ１３６：Ｙ）、Ｈ個の演算処理部Ｃ１，Ｃ２のそれぞれが行っている演算処理の終了時刻のうちの最も早い時刻をｎ番目の検査視野Ｖの演算処理の演算開始時刻Ｘ（ｎ）として設定する（ステップＳ１３７）、開始時刻設定処理（図７矢印）を行っている。
【００５５】
順番がｎ番目の検査視野Ｖの演算処理の準備が完了する撮像完了時刻Ｓ（ｎ）において、Ｈ個の演算処理部Ｃ１，Ｃ２の少なくとも１個が演算処理を行っていない場合には、即座に演算処理を開始することができ、当該撮像完了時刻Ｓ（ｎ）を演算開始時刻Ｘ（ｎ）とすることができる。一方、順番がｎ番目の検査視野Ｖの演算処理の準備が完了しているのに、Ｈ個の演算処理部Ｃ１，Ｃ２のすべてが演算処理を行っている場合には、すぐに演算処理を開始することができず、処理待ち期間Ｗ（ｎ）が発生することとなる。
この処理待ち期間Ｗ（ｎ）は、Ｈ個の演算処理部のそれぞれが行っている演算処理の演算終了時刻Ｚ（ｎ−２），Ｚ（ｎ−１）のうちの最も早い時刻まで継続し、当該時刻にて順番がｎ番目の検査視野Ｖの演算処理を開始することができることとなる。
【００５６】
以上のようにして、ｎ番目の検査視野Ｖの演算処理の演算開始時刻Ｘ（ｎ）として設定すると、所要期間取得モジュール２１ｃの機能により制御部２０は、演算開始時刻Ｘ（ｎ）に演算期間Ｄ（ｎ）を加算した時刻を演算終了時刻Ｚ（ｎ）として設定する（ステップＳ１３８）。このように、演算終了時刻Ｚ（ｎ）を設定しておくことにより、後続のステップＳ１３５にて演算終了時刻Ｚ（１）〜Ｚ（ｎ−１）を取得することが可能となる。
【００５７】
次に、所要期間取得モジュール２１ｃの機能により制御部２０は、ｎがＮと等しいか否かを判定する（ステップＳ１３９）。すなわち、制御部２０は、仮選択している検査順序の候補Ｋ１〜Ｋ６の最後の順番の検査視野Ｖについて演算開始時刻Ｘ（ｎ）を設定する処理が完了したか否かを判定する。
【００５８】
ｎがＮと等しいと判定しなかった場合（ステップＳ１３９：Ｎ）、所要期間取得モジュール２１ｃの機能により制御部２０は、ｎ＋１番目の検査視野Ｖの撮像開始時刻Ｑ（ｎ＋１）として、ｎ番目の検査視野Ｖの演算開始時刻Ｘ（ｎ）と、ｎ＋１番目の検査視野Ｖへの移動完了時刻Ｕ（ｎ＋１）のうち遅い方を設定する（ステップＳ１４０）。
【００５９】
すなわち、図４に示すように、ｎ＋１番目の検査視野Ｖへの移動が完了する移動完了時刻Ｕ（ｎ＋１）において、イメージセンサ４２がｎ＋１番目の検査視野Ｖの撮像画像の転送を完了していれば、制御部２０は、当該移動完了時刻Ｕ（ｎ＋１）を撮像開始時刻Ｑ（ｎ＋１）として設定する。一方、図５に示すように、ｎ＋１番目の検査視野Ｖへの移動が完了する移動完了時刻Ｕ（ｎ＋１）において、イメージセンサ４２がｎ＋１番目の検査視野Ｖの撮像画像の転送を完了していなければ、制御部２０は、検査視野Ｖの撮像画像の転送が完了するｎ番目の検査視野Ｖの演算開始時刻Ｘ（ｎ）を撮像開始時刻Ｑ（ｎ＋１）として設定する。このように、撮像開始時刻Ｑ（ｎ＋１）を設定しておくことにより、後続のステップＳ１３２にて撮像開始時刻Ｑ（ｎ）を取得することが可能となる。なお、本実施形態において、撮像画像の転送期間は０と見なしている。ただし、撮像画像の転送期間を考慮してもよく、ｎ番目の検査視野Ｖの撮像画像の転送を開始した演算開始時刻Ｘ（ｎ）から、転送期間だけ遅延した時刻を撮像開始時刻Ｑ（ｎ＋１）として設定してもよい。
【００６０】
次に、所要期間取得モジュール２１ｃの機能により制御部２０は、ｎに１を加算して（ステップＳ１４２）、ステップＳ１３２に戻る。すなわち、検査順序の候補Ｋ１〜Ｋ６の次の順番の検査視野Ｖについて演算開始時刻Ｘ（ｎ）を設定する処理を繰り返して実行する。
【００６１】
以上説明したように、所要期間取得モジュール２１ｃの機能により制御部２０は、演算開始時刻Ｘ（ｎ）を設定する開始時刻設定処理を、検査順序の候補Ｋ１〜Ｋ６における検査順序が１番目からＮ番目の検査視野について順次行うこととなる。
【００６２】
ｎがＮと等しいと判定した場合（ステップＳ１３９：Ｙ）、所要期間取得モジュール２１ｃの機能により制御部２０は、所要期間を取得する（ステップＳ１４３）。具体的に、所要期間取得モジュール２１ｃの機能により制御部２０は、順番がＮ番目の検査視野Ｖについての演算処理の演算終了時刻Ｚ（Ｎ）を最終終了時刻として取得し、当該最終終了時刻を終期とする所要期間を取得する。
【００６３】
以上のように、順番がｎ番目の検査視野Ｖの演算開始時刻Ｘ（ｎ）を設定する開始時刻設定処理を、検査順序が１番目からＮ番目の検査視野について順次行っていくことにより、最終的にＮ番目の検査視野Ｖの演算開始時刻Ｘ（ｎ）を設定できる。ｎ番目の検査視野Ｖの演算開始時刻Ｘ（ｎ）にｎ番目の検査視野Ｖの演算期間Ｄ（ｎ）を加算することにより、ｎ番目の検査視野Ｖの演算終了時刻Ｚ（ｎ）を得ることができる。Ｎ番目の検査視野についての演算処理の終了時刻は、すべての検査視野についての検査の最終終了時刻となるため、当該最終終了時刻が早い検査順序の候補を選択することにより、検査の所要時間が短くなる検査順序を設定できる。
【００６４】
なお、所要期間の始期の時刻を０としているため、０から最終終了時刻までの期間が所要期間となる。以上により所要期間取得処理が完了し、予め設定された検査順序の候補Ｋ１〜Ｋ６のそれぞれについて所要期間が取得され、所要期間が最短となる検査順序の候補Ｋ１〜Ｋ６が選択されることとなる。
【００６５】
以上説明した本実施形態において、検査視野Ｖの検査順序の複数の候補Ｋ１〜Ｋ６のうち、すべての検査視野Ｖを検査した場合の所要期間が短くなるものを、基板検査装置１０に設定する検査順序として選択できる。制御部２０は、検査視野Ｖのそれぞれの演算期間Ｄ１〜Ｄ５に基づいて所要期間を取得するため、検査視野Ｖごとに異なる演算期間Ｄ１〜Ｄ５を考慮して全体の所要期間が短くなる検査順序を選択できる。従って、検査視野Ｖごとに検査対象となる部位（半田、部品、リード、印字等）の数や種類が異なり、演算負荷が異なる場合でも、適切な検査順序を選択できる。
【００６６】
１個のイメージセンサ４２でＮ個の検査視野Ｖを順次撮像するため、準備完了時刻としての撮像完了時刻Ｓ（ｎ）は検査視野Ｖごとに異なることとなる。これに対して、制御部２０は、検査視野Ｖを撮像する撮像順序に基づいて撮像完了時刻Ｓ（ｎ）を取得し、さらに当該撮像完了時刻Ｓ（ｎ）に基づいて所要期間を取得することができる。
【００６７】
また、Ｎ番目の検査視野Ｖは最後に演算処理が開始する検査視野Ｖであり、Ｎ番目の検査視野Ｖの演算処理の終了待ちにより、全体の所要期間が長くなる可能性がある。これに対して、演算期間が最短の検査視野Ｖ１をＮ番目の検査視野Ｖと設定することにより、Ｎ番目の検査視野Ｖ１の演算処理の終了待ちの期間を抑制し、全体の所要期間を短くすることができる。図４の演算期間Ｄ（ｎ）がＮ番目の検査視野Ｖについてのものであったとすると、演算期間Ｄ（ｎ）が短いほど全体の所要期間を短くなる。さらに、演算期間が最短の検査視野Ｖ１をＮ番目の検査視野Ｖに固定することにより、組み合わせられ得る検査視野の検査順序の候補Ｋ１〜Ｋ６の個数を抑制することができる。
【００６８】
制御部２０は、基板ＷＢ上に設けられた位置合わせのための基準マークＥ３からの距離が最短の検査視野Ｖ５を、複数の検査順序の候補Ｋ１〜Ｋ６のそれぞれにおける検査順序が１番目の検査視野Ｖとして設定している。これにより、検査順序が１番目の検査視野Ｖ５へのイメージセンサ４２の移動と撮像とを速やかに行うことができ、Ｈ個の演算処理部Ｃ１，Ｃ２のいずれかが演算処理を開始するタイミングを早めることができる。従って、全体の所要期間を短くすることができる。さらに、基準マークＥ３からの距離が最短の検査視野Ｖ５を１番目の検査視野に固定することにより、組み合わせられ得る検査視野Ｖの検査順序の候補Ｋ１〜Ｋ６の個数を抑制することができる。
【００６９】
（４）他の実施形態：
前記実施形態においては、検査順序設定装置が基板検査装置１０に含まれていたが、検査順序設定装置は基板検査装置から独立した装置であってもよい。すなわち、検査順序設定装置が選択した検査順序を示すデータが、基板検査装置にて取得可能となっていればよい。演算処理部Ｃ１，Ｃ２の個数を示すＨは２でなくてもよく、３以上であってもよい。
むろん、検査視野Ｖの個数を示すＮも５でなくてもよい。
【００７０】
前記実施形態においては、演算処理部Ｃ１，Ｃ２の個数だけ撮像画像が記録可能なＶＲＡＭ１，ＶＲＡＭ２が備えられ、検査視野ＶごとにＶＲＡＭ１，ＶＲＡＭ２への撮像画像の転送と演算処理とが連続して行われている。しかしながら、すべての検査視野Ｖの撮像画像を記録可能なＶＲＡＭが備えられてもよい。この場合、ＶＲＡＭへの撮像画像の転送が完了した時刻が、演算処理（転送を含まない）の準備が完了する準備完了時刻となる。
【００７１】
また、例えば検査視野Ｖにおける検査対象の部位の数が膨大である場合等、撮像期間や移動期間よりも演算期間Ｄ１〜Ｄ５が著しく大きくなる場合もある。このような場合、順番が早い検査視野Ｖの演算処理を行っている間に、残りのすべての検査視野Ｖの撮像とＶＲＡＭへの転送が完了する場合も生じ得る。この場合、残りのすべての検査視野Ｖについては、必ずしも撮像順序どおりに、演算処理を行わなくてもよくなる。従って、検査順序のうち、ある順番までは撮像順序と一致し、ある順番より後においては撮像順序と一致しなくてもよい。
【００７２】
また、検査開始時にイメージセンサ４２が存在する位置から最も近い検査視野Ｖを１番目の検査視野Ｖとすればよく、検査開始時にイメージセンサ４２が存在する位置は基準マークＥ３の位置に限られない。むろん、検査順序の候補Ｋ１〜Ｋ６において、１番目の検査視野Ｖが固定されなくてもよい。同様に、検査順序の候補Ｋ１〜Ｋ６において、Ｎ番目の検査視野Ｖが固定されなくてもよい。例えば、Ｎ個の検査視野Ｖによって構成されるＮ！個の順列のすべてが検査順序の候補として設定されてもよい。
【符号の説明】
【００７３】
１０…基板検査装置、２０…制御部、２１…検査順序設定プログラム、２１ａ…順序候補設定モジュール、２１ｂ…演算期間取得モジュール、２１ｃ…所要期間取得モジュール、２１ｄ…検査順序選択モジュール、２２…基板検査プログラム、３０…記録媒体、３０ａ…検査視野情報、３０ｂ…演算期間情報、３０ｃ…移動期間情報、４０…撮像部、４１…照明、４２…イメージセンサ、４３…移動部、Ｃ１…演算処理部、Ｃ２…演算処理部、Ｄ…演算期間、Ｅ１〜Ｅ３…基準マーク、Ｋ１〜Ｋ６…検査順序の候補、Ｑ…撮像開始時刻、Ｓ…撮像完了時刻、Ｕ…移動完了時刻、Ｖ…検査視野、Ｗ…処理待ち期間、Ｐ…撮像待ち期間、ＷＢ…基板
【図１】
2019100887.tif 000003
【図２】
2019100887.tif 000004
【図３】
2019100887.tif 000005
【図４】
2019100887.tif 000006
【図５】
2019100887.tif 000007
【図６】
2019100887.tif 000008
【図７】
2019100887.tif 000009
【手続補正書】
【提出日】平成30年3月30日(2018.3.30)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００４
【補正方法】変更
【補正の内容】
【０００４】
しかしながら、検査視野の移動経路に無駄がなくても、演算処理部が過去の検査視野の演算処理を終了していない場合には、当該演算処理が終了するまで次の検査視野の演算処理を行うことができず、処理待ちの時間が発生してしまうという問題があった。すなわち、検査視野の移動経路に無駄がないような検査視野順序を設定しても、必ずしも検査の所要期間が短くならないという問題があった。