(57)【特許請求の範囲】
【請求項１】
所定の視野範囲について入力可能な画像入力手段と、
検査対象の基板における複数の検査エリア毎に上記画像入力手段の上記視野範囲を移動させる移動手段と、
上記画像入力手段にて入力された画像からエリア画像データを生成するキャプチャー手段と、
通信回線により接続された複数の端末毎に独立して備えられ、上記複数の検査エリア毎に生成された複数の上記エリア画像データにおいて、上記検査エリアに含まれるランドのそれぞれに印刷された半田の状態を検査する処理をランド毎に繰り返す画像解析を行うことにより対応する上記検査エリアについての評価を行う画像解析手段と、
上記検査対象の基板の仕様に即して予め定義された上記検査エリアに含まれるランド数を示す基板設定データに基づいて、上記検査エリアに含まれるランド数が多い上記エリア画像データから順に上記画像解析が行われるように、上記画像解析を行う上記端末を振り分ける分配手段とを備えることを特徴とする外観検査装置。
【請求項２】
上記キャプチャー手段は、上記端末毎に独立して備えられ、上記分配手段は上記検査エリア毎に上記エリア画像データを生成させる上記端末を振り分けることを特徴とする請求項１に記載の外観検査装置。
【請求項３】
上記移動手段は、上記画像解析手段における上記エリア画像データ毎の上記ランド数に関する情報を取得可能であり、同エリア画像データ毎の上記ランド数が多い上記エリア画像データに対応する上記検査エリアから順に上記画像入力手段の上記視野範囲を移動させることを特徴とする請求項１または請求項２のいずれかに記載の外観検査装置。
【請求項４】
所定の視野範囲について入力可能な画像入力工程と、
検査対象の基板における複数の検査エリア毎に上記画像入力工程の上記視野範囲を移動させる移動工程と、
上記画像入力工程にて入力された画像からエリア画像データを生成するキャプチャー工程と、
通信回線により接続された複数の端末毎に独立して実行され、上記複数の検査エリア毎に生成された複数の上記エリア画像データにおいて、上記検査エリアに含まれるランドのそれぞれに印刷された半田の状態を検査する処理をランド毎に繰り返す画像解析を行うことにより対応する上記検査エリアについての評価を行う画像解析工程と、
上記検査対象の基板の仕様に即して予め定義された上記検査エリアに含まれるランド数を示す基板設定データに基づいて、上記検査エリアに含まれるランド数が多い上記エリア画像データから順に上記画像解析が行われるように、上記画像解析を行う上記端末を振り分ける分配工程とを備えることを特徴とする外観検査方法。
【請求項５】
所定の視野範囲について入力可能な画像入力機能と、
検査対象における複数の検査エリア毎に上記画像入力機能の上記視野範囲を移動させる移動機能と、
上記画像入力機能にて入力された画像からエリア画像データを生成するキャプチャー機能と、
通信回線により接続された複数の端末毎に独立して実行され、上記複数の検査エリア毎に生成された複数の上記エリア画像データにおいて、上記検査エリアに含まれるランドのそれぞれに印刷された半田の状態を検査する処理をランド毎に繰り返す画像解析を行うことにより対応する上記検査エリアについての評価を行う画像解析機能と、
上記検査対象の基板の仕様に即して予め定義された上記検査エリアに含まれるランド数を示す基板設定データに基づいて、上記検査エリアに含まれるランド数が多い上記エリア画像データから順に上記画像解析が行われるように、上記画像解析を行う上記端末を振り分ける分配機能とをコンピュータに実行させることを特徴とする外観検査プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外観検査装置、外観検査方法および外観検査プログラムに関し、特に、画像入力手段が入力可能な視野範囲を検査対象において移動させる外観検査装置、外観検査方法および外観検査プログラムに関する。
【背景技術】
【０００２】
従来、この種の外観検査装置として、ラインカメラセンサの１回の走査により基板等の検査対象物を帯状に検出し、この帯状の検出をｎ回繰り返すことにより検査対象物の全面を検査する方法を行うものが知られている。
また、この方法に関して上記の帯状の検査領域を順次検出するとともに、検出した各検査領域毎に１台または複数台のパソコンを用いて複数の検査領域の画像処理を並行して行う提案がされている（例えば、特許文献１、参照。）。
かかる構成によれば、２次元の画像を撮像するＴＶカメラ（以下、カメラと言う。）によって検査対象物を撮影する場合のように、撮影する度にカメラを静止させる必要がなく、検査対象物を連続して撮影することが可能であった。
【特許文献１】特開２０００−３５６５１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記の提案にあっては、部品などが高密度に実装された検査領域の最大仕事量を基準として各検査領域に対して同時に処理されるパソコンの台数を決定する必要があるため、結果としてシステム全体のパソコン台数を増加させるとともに、検査領域毎の仕事量が異なる場合には、パソコンの利用頻度に大きなばらつきが生じるといった課題があった。
本発明は、上記課題にかんがみてなされたもので、パソコンの台数を増加させることなく、上記画像処理を各パソコンで均等な負荷の下で、効率良く行うことができる外観検査装置、外観検査方法および外観検査プログラムの提供を目的とする。
【課題を解決するための手段】
【０００４】
上記目的を達成するため本発明は、所定の視野範囲について入力可能な画像入力手段と、検査対象における複数の検査エリア毎に上記画像入力手段の上記視野範囲を移動させる移動手段と、上記画像入力手段にて入力された画像からエリア画像データを生成するキャプチャー手段と、通信回線により接続された複数の端末毎に独立して備えられ、上記複数の検査エリア毎に生成された複数の上記エリア画像データを画像解析することにより対応する上記検査エリアについての評価を行う画像解析手段と、上記エリア画像データ毎に上記画像解析を行う上記端末を振り分ける分配手段とを備える構成としてある。
【０００５】
上記のように構成した本発明において、画像入力手段は所定の視野範囲について画像を入力することが可能である。そして、この視野範囲を移動手段が検査対象における複数の検査エリア毎に移動させることにより、同画像入力手段は複数の検査エリア毎に画像を入力することができる。同入力された画像に基づいてキャプチャー手段がエリア画像データを生成する。画像解析手段は、上記エリア画像データを画像解析することにより、当該エリア画像データが入力された上記検査エリアについての評価を行うことができる。また、画像解析手段は通信回線により接続された複数の端末毎に独立して備えられるため、それぞれの端末において独立して同画像解析を実行させることができる。分配手段は、上記エリア画像データ毎に上記画像解析を行う上記端末を振り分ける。すなわち、複数の端末において上記画像解析を上記エリア画像データ毎に同時に並行させて行うことができるため、上記画像解析を高速に行うことができる。
【０００６】
また、本発明は、上記キャプチャー手段は、上記端末毎に独立して備えられ、上記分配手段は上記検査エリア毎に上記エリア画像データを生成させる上記端末を振り分ける構成としてある。
【０００７】
上記のように構成した本発明において、上記キャプチャー手段が上記端末毎に独立して備えられており、上記エリア画像データを生成させる上記端末が上記分配手段により振り分けられる。すなわち、上記キャプチャー手段における処理も複数の上記端末にて分散させて行うことができるため、上記エリア画像データを各端末に伝送するためのロスタイムが発生することなく、処理の負担を複数の端末に分散させることができる。従って、キャプチャー処理も同時に並行させて行うことができるため、外観検査を一層高速に行うことができる。
【０００８】
さらに、本発明は、上記分配手段は、上記画像解析手段における上記画像解析処理の進捗度合いを取得可能であり、同進捗度合いに基づいて上記画像解析を実行させる上記端末を振り分ける構成としてある。
【０００９】
上記のように構成した本発明において、上記分配手段は、上記画像解析手段における上記画像解析処理の進捗度合いを取得する。そして、上記分配手段は、上記進捗度合いに基づいて上記画像解析を担当させる上記端末を振り分ける。すなわち、上記画像解析処理の進捗度合いから処理負担が少ない上記端末を判別することができるとともに、処理負担が少ない上記端末に上記画像解析を担当させることができる。従って、処理待ちの上記端末を検索し、同検索した同端末に優先的に上記画像解析を担当させることができる。上記画像解析処理の上記進捗度合いとしては、上記画像解析における実行待ちの演算数等といったソフトウェア的指標や、上記画像解析をハードウェア的に実現させるＣＰＵやＲＡＭの稼働率といった指標を採用することができる。また、上記進捗度合いとして上記画像解析の完了を検知するようにしても良い。
【００１０】
また、本発明は、上記分配手段は、上記画像解析手段において上記エリア画像データ毎に必要な処理量に関する情報を取得可能であり、同エリア画像データ毎の処理量に関する情報に基づいて上記画像解析を実行させる上記端末を振り分ける構成としてある。
【００１１】
上記のように構成した本発明において、上記分配手段は、上記画像解析手段において上記エリア画像データ毎に必要な処理量や処理順序等に関する情報を取得する。そして、上記分配手段は、上記エリア画像データ毎に必要な処理量に関する情報に基づいて上記画像解析を担当させる上記端末を振り分ける。すなわち、検査対象における複数の上記検査エリア毎に外観が異なる場合に、上記エリア画像データ毎に必要な処理量が変動する場合がある。この場合、上記分配手段が上記エリア画像データ毎に必要な処理量に基づいて上記画像解析を担当させる上記端末を振り分けることにより、特定の上記端末に必要な処理量が多い上記エリア画像データが特定の端末に対して偏って割り振られることを防止することができる。
【００１２】
さらに、本発明は、上記分配手段は、上記画像解析手段において上記処理量が多い上記エリア画像データから順に上記画像解析を実行させる構成としてある。
【００１３】
上記のように構成した本発明において、上記分配手段が上記画像解析手段における上記処理量が多い上記エリア画像データから順に上記画像解析を実行させることにより、外観検査の終了付近においては上記処理量の少ない上記エリア画像データの処理を実行させることができる。すなわち、上記処理量が多い上記エリア画像データから上記画像解析をさせることにより、早い段階で上記端末毎の処理時間をばらつかせることができる。そして、最終段階で上記処理量が少ない上記エリア画像データについて上記画像解析をさせることにより、このばらつきを緩和させることができる。すなわち、各端末の処理終了時間をほぼ均等にさせることができ、一方の上記端末が処理を実行しているにも拘わらず、他の上記端末の処理が完了しているという無駄な待ち状態を発生させなくすることができる。
【００１４】
また、本発明は、上記移動手段は、上記画像解析手段における上記エリア画像データ毎の上記処理量に関する情報を取得可能であり、同エリア画像データ毎の上記処理量に関する情報に基づいて上記画像入力手段の上記視野範囲を移動させる構成としてある。
【００１５】
上記のように構成した本発明において、上記移動手段は、上記画像解析手段において上記エリア画像データ毎に必要な処理量や処理順序等に関する情報を取得する。そして、上記移動手段は、上記エリア画像データ毎に必要な処理量に関する情報に基づいて上記画像入力手段の上記視野範囲を移動させる。すなわち、上記画像入力手段が入力した画像についての上記エリア画像データを順次上記画像解析する場合には、上記検査エリアの移動順序を制御することによって上記画像解析を行わせる上記エリア画像データの順序を制御することができる。
【００１６】
さらに、本発明は、上記移動手段は、上記画像解析手段において上記処理量が多い上記エリア画像データに対応する上記検査エリアから順に上記視野範囲を移動させる構成としてある。
【００１７】
上記のように構成した本発明において、上記移動手段が上記画像解析手段における上記処理量が多い上記エリア画像データに対応する上記検査エリアから順に上記画像解析を実行させる。すなわち、上記画像入力手段が入力した画像についての上記エリア画像データを順次上記画像解析する場合には、上記処理量が多い上記エリア画像データから順に上記画像解析を実行させることができる。すなわち、上述と同様に無駄な待ち状態を発生させなくすることができる。
【００１８】
このように、複数の端末に画像解析を分散させる手法は必ずしも実体のある装置に限られるものではない。
【００１９】
また、本発明が実現される対象はソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。その一例として、本発明では外観検査プログラムとして発明を特定している。発明の思想の具現化例として外観検査装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用される。むろん、その記録媒体としては、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。
【００２０】
また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。上記媒体とは異なるが、供給方法として通信回線を利用して行う場合であれば通信回線が伝送媒体となって本発明が利用されることになる。さらに、これらの外観検査方法および外観検査プログラムを実現することも可能である。
【発明の効果】
【００２１】
以上説明したよう本発明によれば、画像解析処理を効率よく行わせることが可能な外観検査装置、外観検査方法および外観検査プログラムを提供することができる。
本発明によれば、キャプチャー処理を効率よく行わせることにより外観検査を高速で実行することが可能な外観検査装置を提供することができる。
本発明によれば、処理待ちの端末に優先的に画像解析処理を行わせることができる。
【００２２】
本発明によれば、検査エリアの処理量に応じて画像解析処理を行わせる端末を振り分けることができ、より効率の良い分散処理を実現させることができる。
本発明によれば、各端末における画像解析処理の終了時刻を均一化することができる。
本発明によれば、移動順序を制御することによって画像解析処理を行わせる順序を制御することができる。
【発明を実施するための最良の形態】
【００２３】
ここでは、下記の順序に従って本発明の実施形態について説明する。
（１）外観検査装置のハードウェア構成：
（２）外観検査装置のソフトウェア構成：
（３）検査の流れ：
（４）変形例：
（５）まとめ：
【００２４】
（１）ハードウェア構成：
図１は、本発明の第一の実施形態にかかる外観検査装置の全体構成を示している。同図において、外観検査装置１０は、相互にＬＡＮ回線により接続された一台のマスターコンピュータ（マスターＰＣ）２０と四台の演算コンピュータ（演算ＰＣ）３０，４０，５０，６０とから構成されている。なお、以下においてマスターＰＣ２０と演算ＰＣ３０，４０，５０，６０は単にＰＣ２０，３０，４０，５０，６０と表す場合もある。マスターＰＣ２０と各演算ＰＣ３０，４０，５０，６０とは、マスターＰＣ２０に備えられた分配器２２ｃを介しても接続されている。マスターＰＣ２０と演算ＰＣ３０，４０，５０，６０はそれぞれディスプレイ２１，３１，４１，５１，６１と接続されており、それぞれの処理状況等を視認することが可能となっている。
【００２５】
マスターＰＣ２０には検査ユニット２２が備えられ、同検査ユニット２２におけるＸ−Ｙステージ２２ａに検査対象物の基板をロードすることにより検査を行うことが可能となっている。Ｘ−Ｙステージ２２ａ上には基板を規定した位置に載置するための位置決め機構が備えられており、基板を常に正確な位置にセットすることが可能となっている。Ｘ−Ｙステージ２２ａは、奥行き方向（Ｙ方向）、および、幅方向（Ｘ方向）に軸を配向させた二本のボールネジを備えている。そして、これらにギアを噛合させた二個のサーボモータを駆動制御することによって、Ｘ−Ｙステージ２２ａは奥行き方向と幅方向に正確に移動することが可能となっている。
【００２６】
一方、カメラ２２ｂはＸ−Ｙステージ２２ａから所定の高さだけ上方に備えられており、レンズを下方に向けることによりＸ−Ｙステージ２２ａに載置された基板を撮像することが可能となっている。カメラ２２ｂは所定の視野範囲において静止画を撮像可能なエリアセンサである。なお、カメラ２２ｂは焦点合わせ用の高さ方向（Ｚ方向）に対する位置調整機構を備えているのみで、奥行き方向と幅方向に移動することはできなくされている。しかしながら、Ｘ−Ｙステージ２２ａが奥行き方向と幅方向に移動することにより基板とカメラ２２ｂとの相対移動を行うことができるため、カメラ２２ｂは基板の全体にわたって撮像をすることが可能となっている。  
【００２７】
図２は、マスターＰＣ２０のハードウェア構成を示している。同図において、マスターＰＣ２０はバス２０ａを備えており、同バス２０ａにＣＰＵ２３とＲＯＭ２４とＲＡＭ２５とディスプレイ・インターフェース（Ｉ／Ｆ）２１ａとＬＡＮ・インターフェース（Ｉ／Ｆ）２７とＸ−Ｙステージ・インターフェース（Ｉ／Ｆ）２２ｄとカメラ・インターフェース（Ｉ／Ｆ）２２ｅと画像キャプチャーボード２２ｆと入力・インターフェース（Ｉ／Ｆ）２６ｃとハードディスク（ＨＤＤ）２９が接続されている。ＣＰＵ２３は、ＲＡＭ２５をワークエリアとして利用しながらＲＯＭ２４やＨＤＤ２９に記憶されたプログラムにしたがって演算を実行する。ＨＤＤ２９にはアプリケーション・プログラムとしてマスター用検査プログラム２９ａやオペレーティング・システム（Ｏ／Ｓ）２９ｂやドライバ２９ｃ等が記憶されている。
【００２８】
ドライバ２９ｃは各Ｉ／Ｆに接続されたディスプレイ２１やＸ−Ｙステージ２２ａやカメラ２２ｂや分配器２２ｃやキーボード２６ａやマウス２６ｂ等の周辺機器を制御するためのモジュールを備えている。これによって、ＣＰＵ２３がＨＤＤ２９に記憶されたプログラムにしたがって演算を実行することにより、各周辺機器を利用しつつマスター用検査プログラム２９ａが各種処理を実行させることが可能となっている。なお、マスター用検査プログラム２９ａが利用する基板設定データ２９ｄや解析データ２９ｅもＨＤＤ２９に記憶され、マスター用検査プログラム２９ａを実行させる際にはこれらのデータを利用することが可能となっている。また、マスター用検査プログラム２９ａを実行することより、これらのデータを更新記憶させることも可能となっている。なお、基板設定データ２９ｄは検査対象の基板の仕様に即して定義された基板仕様プログラムであり、検査の手順や検査条件や検査を行う座標情報等が記述されている。
【００２９】
入力Ｉ／Ｆ２６ｃにはキーボード２６ａやマウス２６ｂが接続されており、使用者の入力を受け付けることが可能となっている。ディスプレイＩ／Ｆ２１ａにはディスプレイ２１が接続されており、各プログラムの指令に応じた画面表示を行うことが可能となっている。Ｘ−ＹステージＩ／Ｆ２２ｄにはＸ−Ｙステージ２２ａが接続されており、マスター用検査プログラム２９ａにしたがってＸ−Ｙステージ２２ａを駆動させることが可能となっている。すなわち、Ｘ−Ｙステージ２２ａに備えられた上記サーボモータを駆動制御することにより、Ｘ−Ｙステージ２２ａを幅方向と奥行き方向へ移動させることが可能となっている。
【００３０】
ＬＡＮＩ／Ｆ２７には演算ＰＣ３０，４０，５０，６０がＬＡＮケーブルによって接続されており、相互にＬＡＮ通信を行うことが可能となっている。ただし、ＬＡＮＩ／Ｆ２７と演算ＰＣ３０，４０，５０，６０との間でデータの通信を行うことができれば良く、他の通信手段であっても良い。例えば、無線ＬＡＮを利用するものであっても良い。むろん、ＬＡＮＩ／Ｆ２７と演算ＰＣ３０，４０，５０，６０とをＬＡＮケーブルによって接続するにあたっては、必要に応じてハブやルータといった中継装置を利用することも可能である。
【００３１】
カメラＩ／Ｆ２２ｅにはカメラ２２ｂが接続されており、マスター用検査プログラム２９ａにしたがってカメラ２２ｂを動作させることが可能となっている。カメラＩ／Ｆ２２ｅは分配器２２ｃを介して画像キャプチャーボード２２ｆと接続しているため、カメラ２２ｂにて入力した画像をＣＰＵ２３にて処理可能な画像データを生成する（以下、キャプチャー処理という。）ことが可能となっている。
【００３２】
同キャプチャー処理においては、入力した画像における座標毎に画素を割り当て、同画素をデジタル階調で表現することにより複数の画素データを生成することが可能となっている。すなわち、複数の画素データの集合により入力した画像を表現する画像データを生成させている。本実施形態においては、各画素が色情報を有するため、各画素データは色情報としてＲ，Ｇ，Ｂのチャンネル毎の階調値で表現される。また、本実施形態のカメラ２２ｂの視野範囲は幅５ｃｍ×奥行き５ｃｍの正方形の範囲となっており、一度の撮像で基板の一部の検査エリアについて撮像することができる。なお、一度の撮像でキャプチャーされる画像データをエリア画像データと言うものとする。
【００３３】
画像キャプチャーボード２２ｆは分配器２２ｃを介してカメラ２２ｂに接続されているため、必ずしもカメラ２２ｂが入力する画像をマスターＰＣ２０の画像キャプチャーボード２２ｆがキャプチャー処理をするとは限らない。すなわち、マスター用検査プログラム２９ａの指令に基づいて分配器２２ｃが入力画像を各演算ＰＣ３０，４０，５０，６０にも振り分けるため、当該振り分けられた演算ＰＣ３０，４０，５０，６０にてキャプチャー処理を行わせることも可能である。
【００３４】
図３は、演算ＰＣ３０のハードウェア構成を示している。なお、その他の演算ＰＣ４０，５０，６０については演算ＰＣ３０と同様の構成となっているため説明を省略する。同図において、演算ＰＣ３０はバス３０ａを備えており、同バス３０ａにＣＰＵ３３とＲＯＭ３４とＲＡＭ３５とディスプレイ・インターフェース（Ｉ／Ｆ）３１ａとＬＡＮ・インターフェース（Ｉ／Ｆ）３７と画像キャプチャーボード３２ｆとハードディスク（ＨＤＤ）３９が接続されている。ＨＤＤ３９にはアプリケーション・プログラムとして演算用検査プログラム３９ａやオペレーティング・システム（Ｏ／Ｓ）３９ｂやドライバ３９ｃや基板設定データ３９ｄが記憶されている。
【００３５】
以上のように演算ＰＣ３０は検査ユニット２２が接続されていない点でマスターＰＣ２０と相違し、それ以外についてはほぼ同様の構成となっている。なお、演算ＰＣ３０も画像キャプチャーボード３２ｆを備えているため、マスターＰＣ２０の分配器２２ｃにて分配入力された画像をキャプチャー処理することが可能となっている。そして、キャプチャー処理によってエリア画像データを生成することが可能となっている。
【００３６】
（２）ソフトウェア構成：
図４は、外観検査装置１０のソフトウェア構成を示している。なお、演算ＰＣ４０，５０，６０のソフトウェア構成は演算ＰＣ３０のものと同様であるため説明は省略する。同図において、マスターＰＣ２０にて実行されるマスター用検査プログラム２９ａは演算用モジュール２９ａ１とマスター用モジュール２９ａ２とで構成されている。一方、演算ＰＣ３０にて実行される演算用検査プログラム３９ａは演算用モジュール３９ａ１で構成されている。Ｏ／Ｓ２９ｂはマスター用検査プログラム２９ａとドライバ２９ｃとの仲介をなし、同様にＯ／Ｓ３９ｂも演算用検査プログラム３９ａとドライバ３９ｃとの仲介をなしている。マスター用検査プログラム２９ａはＨＤＤ２９におけるデータ領域に記憶された基板設定データ２９ｄを読み出し可能であり、演算用検査プログラム３９ａもＨＤＤ３９におけるデータ領域に記憶された基板設定データ３９ｄを読み出し可能となっている。
【００３７】
演算用モジュール２９ａ１はキャプチャー部２９ａ１ａと画像解析部２９ａ１ｂと処理状況監視部２９ａ１ｃとから構成されており、同様に演算用モジュール３９ａ１はキャプチャー部３９ａ１ａと画像解析部３９ａ１ｂと処理状況監視部３９ａ１ｃとから構成されている。キャプチャー部２９ａ１ａ，３９ａ１ａは上述したキャプチャー処理を行うモジュールであり、生成したエリア画像データを画像解析部に出力する。なお、キャプチャー処理はソフトウェアにより実行されても良いし、ハードウェア上で行なわれても良い。画像解析部２９ａ１ｂ，３９ａ１ｂはキャプチャー部２９ａ１ａ，３９ａ１ａから出力されたエリア画像データを入力し、同エリア画像データを解析する画像解析処理を実行させている。
【００３８】
画像解析部２９ａ１ｂ，３９ａ１ｂが行う画像解析処理の内容は、予め基板設定データ２９ｄ，３９ｄによって定義されている。すなわち、画像解析部２９ａ１ｂ，３９ａ１ｂが行う画像解析処理は検査対象の基板によって変更する必要があるため、検査対象の基板に対応した基板設定データ２９ｄ，３９ｄを読み込むことにより検査対象に即した画像解析処理を行うことが可能となっている。ここで、画像解析部２９ａ１ｂ，３９ａ１ｂが行う画像解析処理の内容を、部品を実装するために基板のランドに印刷されたクリーム半田（以下、半田と言う。）の状態を検査する場合を例に挙げて説明する。この場合、エリア画像データの一例として、図５に示すようにクリーム半田印刷後の基板を撮像した画像データが画像解析処理の対象となる。
【００３９】
なお、上述のとおりカメラ２２ｂの視野範囲は幅５ｃｍ×奥行き５ｃｍの正方形であるため、幅５ｃｍ×奥行き５ｃｍの検査エリアに対応する基板の部分の様子がエリア画像データとして取得される。また、カメラ２２ｂから画像がキャプチャーされる間はＸ−Ｙステージ２２ａが停止しているため、エリア画像データは基板における一定の検査エリアの静止画像を示す画像データとして生成される。同図は、チップ部品やＳＯＰ（Single Output Package）などの端子数の少ない電子部品のランドが配置された場合を模式的に表しており、矩形状の枠で囲まれた部分がランドであり、同ランド内において斜線で示した部分が印刷された半田である。また、それ以外の部分はソルダーレジストを表している。エリア画像データにおいては各画素が、色を示すＲ，Ｇ，Ｂの階調値を有しているため、階調値を解析することにより各画素が半田の部分であるかを特定することができる。
【００４０】
そして、半田を示す画素を特定すると、基板設定データ２９ｄ，３９ｄに記述された各ランドの座標を読み出し、上記で特定した半田の画素の座標が各ランドの座標に含まれることを検出することにより、半田の印刷に位置ずれがないことを特定することができる。また、半田を示す画素の幅や画素数を算出することにより、半田の形状や半田量の良否に関する判定を行うことができる。この他に、半田に対する高さや半田によるランド間のブリッジの有無等の判定が実行される。以上のような処理は各ランド毎に繰り返して行われる。従って、画像解析処理に要する処理時間はランド数が多くなることにより、シルク印刷部分の除去等の前処理の時間が長くなることと相まって画像解析処理に要する時間が長くなる。
【００４１】
また、マスターＰＣ２０の処理状況監視部２９ａ１ｃは画像解析部２９ａ１ｂにおける処理の進捗度合いを検出可能であり、同検出された進捗度合いをマスター用モジュール２９ａ２の分配部２９ａ２ｄに送信する。同様に、演算ＰＣ３０の処理状況監視部３９ａ１ｃは画像解析部３９ａ１ｂにおける処理の進捗度合いを検出可能であり、同検出された進捗度合いをマスター用モジュール２９ａ２の分配部２９ａ２ｄに送信する。具体的な処理の進捗度合いとして、画像解析部２９ａ１ｂ，３９ａ１ｂが実行待ちの演算数等を検出している。なお、処理状況監視部２９ａ１ｃ，３９ａ１ｃは画像解析部２９ａ１ｂ，３９ａ１ｂにおける処理の進捗度合いを画像解析部２９ａ１ｂ，３９ａ１ｂから直接取得しても良いし、ＣＰＵ２３，３３の稼働率やＲＡＭ２５，３５の使用率等から間接的に取得しても良い。また、処理状況監視部２９ａ１ｃ，３９ａ１ｃは、進捗度合いとして画像解析部２９ａ１ｂ，３９ａ１ｂからの画像解析処理の完了通知を検出するようにしても良い。
【００４２】
画像解析部２９ａ１ｂ，３９ａ１ｂにおける画像解析処理により算出された各半田の位置ずれや形状等に関するデータは、マスター用モジュール２９ａ２の集計部２９ａ２ｃに送信される。同様に、演算ＰＣ３０の画像解析部３９ａ１ｂで算出された上記半田に関するデータはＬＡＮケーブルを経由して送信されることとなる。また、説明を省略した他の演算ＰＣ４０，５０，６０も同様に各半田に関するデータを集計部２９ａ２ｃに送信する。
【００４３】
マスター用モジュール２９ａ２は、ステージ駆動部２９ａ２ａとカメラ制御部２９ａ２ｂと集計部２９ａ２ｃと分配部２９ａ２ｄとから構成されている。集計部２９ａ２ｃは、各演算ＰＣ３０，４０，５０，６０およびマスターＰＣ２０の画像解析部２９ａ１ｂ，３９ａ１ｂ等から出力された各半田に関するデータを取得し、集計処理を実行させる。同集計処理としては種々の態様が考えられる。例えば、単純に各部品に対してＯＫとＮＧとなった半田の位置と個数を集計するだけの場合や、上記の半田に関するデータや集計したデータの解析まで行う場合等が考えられる。いずれにしても、検査結果としての集計結果を算出し、ＨＤＤ２９の集計結果２９ｅに記憶させる。さらに、集計結果２９ｅをディスプレイ２１に出力しても良いし、良否判定で不良と判定された場合には警告を発するようにしても良い。
【００４４】
分配部２９ａ２ｄは、各演算ＰＣ３０，４０，５０，６０とマスターＰＣ２０における画像解析処理の進捗度合いを取得し、同進捗度合いに基づいて分配器２２ｃに入力画像の出力先の演算ＰＣ３０，４０，５０，６０またはマスターＰＣ２０とを切り換えさせるとともに、同切り換えられた演算ＰＣ３０，４０，５０，６０とマスターＰＣ２０のキャプチャー部２９ａ１ａ，３９ａ１ａ等にキャプチャー処理を実行するように指令する。ステージ駆動部２９ａ２ａは基板設定データ２９ｄから撮像すべき検査エリアの中心点座標を取得し、同中心座標の直上にカメラ２２ｂが位置するようにＸ−Ｙステージ２２ａを駆動制御する。そして、Ｘ−Ｙステージ２２ａが停止したことを確認するとカメラ制御部２９ａ２ｂはカメラ２２ｂに画像の入力を行わせる。
【００４５】
（３）検査の流れ：
図６は、検査処理の流れを示している。同図において、マスターＰＣ２０と演算ＰＣ３０，４０，５０，６０のそれぞれにおける処理の流れを示している。なお、図７に示すパターン形成後の基板８０を検査対象として検査を行う処理を一例として説明する。同図において、基板８０は、板状に形成されておりハッチングで示すパターンエリアＡ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３にパターン形成がされている。なお、パターンエリアＡ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３においては実際のパターン形状の図示は省略しており、ハッチングの密度により配線密度を表現している。
【００４６】
すなわち、パターンエリアＡ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３はそれぞれ面積が異なり、その配線密度も異なることを示している。また、配線密度が異なるため、パターンエリアＡ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３が有するランド数もそれぞれ異なることとなる。ただし、パターンエリアＡ−１〜Ａ−３はすべて同じパターン形状となっており、パターンエリアＢ−１〜Ｂ−３もすべて同じパターン形状となっている。同様に、パターンエリアＣ−１〜Ｃ−３もすべて同じパターン形状となっている。なお、図５において示したエリア画像データはパターンエリアＣ−１を撮像した後にシルク印刷等を除去した画像である。
【００４７】
図８は、パターンエリアＡ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３のそれぞれが有するランド数を示している。パターンエリアＡ−１〜Ａ−３とパターンエリアＢ−１〜Ｂ−３とパターンエリアＣ−１〜Ｃ−３との間でそれぞれ異なるランド数となっている。このように、ランド数が異なると上述した画像解析処理に要するタクトタイムも大幅に異なることとなる。すなわち、ランド毎や上述した半田の形状や面積等に対する算出を行わなければならないため、画像解析処理のタクトタイムはランド数に応じて増加したものとなる。なお、図８の例においてパターンエリアＡ−１〜Ａ−３の画像処理のタクトタイムは４．０秒であり、パターンエリアＢ−１〜Ｂ−３の画像処理のタクトタイムは２．０秒であり、パターンエリアＣ−１〜Ｃ−３の画像処理のタクトタイムは１．０秒となっている。
【００４８】
図６に示す検査処理において、まずマスターＰＣ２０は検査プログラムＳ１０５にて基板種の選択入力を受け付ける。なお、この時点でマスターＰＣ２０ではマスター用検査プログラム２９ａが起動しており、演算ＰＣ３０，４０，５０，６０では演算用検査プログラム３９ａが起動している。基板種の選択においては検査対象となる基板８０の形式や型番等を選択することが可能となっている。これにより、検査対象の基板８０を特定し、当該基板８０に対応した基板設定データ２９ｄを特定することが可能となる。ステップＳ１１０では、当該基板８０に対応した基板設定データ２９ｄを特定するとともに、同特定した基板設定データ２９ｄを演算ＰＣ３０，４０，５０，６０のそれぞれに送信する。
【００４９】
ステップＳ１１５では演算ＰＣ３０，４０，５０，６０がそれぞれ送信された基板設定データ２９ｄを受信し、それぞれのＨＤＤ２９等に基板設定データ３９ｄ等として記憶させる。なお、演算ＰＣ３０，４０，５０，６０が予め各種基板の基板設定データを記憶しており、ステップＳ１０５における基板種の選択に応じて対応する基板設定データを読み出すようにしても良い。
【００５０】
ステップＳ１１５で演算ＰＣ３０，４０，５０，６０が基板設定データ２９ｄを受信すると、演算ＰＣ３０，４０，５０，６０は特に処理を実行しない待機状態となる。ステップＳ１２０では、マスターＰＣ２０がＸ−Ｙステージ２２ａを駆動させることにより、基板８０をロードする。ステップＳ１２５においてはマスターＰＣ２０が基準点補正を行う。基準点補正においては、Ｘ−Ｙステージ２２ａに載置された基板８０上における基準点の実際の座標を測定することにより、Ｘ−Ｙステージ２２ａに対する基板８０の載置ずれ量を特定している。ここで、同載置ずれ量を特定しておくことにより、後述の処理において基板設定データ２９ｄに記述された各座標値を利用する際に、同ずれ量によって各座標値を補正しつつ処理を行うことができる。すなわち、Ｘ−Ｙステージ２２ａにおける基板８０の載置位置のばらつきの影響を受けなくすることができる。なお、ステップＳ１２０における基準点補正においてカメラ２２ｂの焦点調整も行うようにしても良い。
【００５１】
ステップＳ１３０では、Ｘ−Ｙステージ２２ａを移動させることにより、所定の位置に基板８０とカメラ２２ｂとを相対移動させ、その後、停止させる。Ｘ−Ｙステージ２２ａを移動させるにあたっては、ＣＰＵ２３は基板設定データ２９ｄを参照することにより、ステージ駆動部２９ａ２ａに移動先を指定する。図８は基板設定データ２９ｄを示している。同図において、図７に示すように検査対象の基板８０上に形成される各検査エリアＲ１〜Ｒ９についての情報が記憶されている。検査エリアＲ１〜Ｒ９毎に当該検査エリアＲ１〜Ｒ９の中心点Ｏ１〜Ｏ９の座標値が記憶されており、当該検査エリアＲ１〜Ｒ９に含まれる設計上のランド数も記憶されている。さらに、当該検査エリアＲ１〜Ｒ９に含まれる設計上のランド座標も記憶されている。
【００５２】
ステージ駆動部２９ａ２ａが基板設定データ２９ｄに基づいて移動先を決定
するにあたっては、ステージ駆動部２９ａ２ａは撮像が完了していない検査エリアＲ１〜Ｒ９であって、ランド数の合計が大きいものを検索し、同検索された検査エリアＲ１〜Ｒ９の中心点Ｏ１〜Ｏ９上にカメラ２２ｂが位置するようにＸ−Ｙステージ２２ａを移動させる。初めの段階では図７に示す中心点Ｏ１上にカメラ２２ｂの中心が位置するように移動されるものとする。また、中心点Ｏ１の座標値に上記ずれ量を補正することにより、常に実際の基板８０における点Ｏ１上にカメラ２２ｂの中心を位置させることが可能となっている。また、上述のとおりカメラ２２ｂの視野範囲は幅５ｃｍ×奥行き５ｃｍであるため、検査エリアＲ１は中心点Ｏ１を中心とした幅５ｃｍ×奥行き５ｃｍの範囲となっている。
【００５３】
ステップＳ１３５ではマスターＰＣ２０が待機中のマスターＰＣ２０および演算ＰＣ３０，４０，５０，６０を検索する。ここで、待機中とはそれぞれのＰＣ２０，３０，４０，５０，６０において画像解析処理が実行されていないことを意味する。分配部２９ａ２ｄが各ＰＣ２０，３０，４０，５０，６０の処理状況監視部２９ａ１ｃ，３９ａ１ｃから各ＰＣ２０，３０，４０，５０，６０における処理の進捗度合いの入力を受け付けているため、マスターＰＣ２０は同進捗度合いから待機中のＰＣ２０，３０，４０，５０，６０を検索することが可能となっている。すなわち、画像解析部２９ａ１ｂ，３９ａ１ｂ等が実行待ちの演算を有していないことをもって、そのＰＣ２０，３０，４０，５０，６０が待機中であることを認識することができる。なお、初めの段階ではマスターＰＣ２０および各演算ＰＣ３０，４０，５０，６０において画像解析処理が実行されていないため、全てのＰＣ２０，３０，４０，５０，６０が待機中であると判断される。
【００５４】
ステップＳ１３５にて分配部２９ａ２ｄが待機中のＰＣ２０，３０，４０，５０，６０を特定すると、分配部２９ａ２ｄは同特定したＰＣ２０，３０，４０，５０，６０に対して画像が入力されるように分配器２２ｃを切り換えるとともに、当該ＰＣ２０，３０，４０，５０，６０に対してキャプチャ−処理の実行指示を送信する。すると、当該ＰＣ２０，３０，４０，５０，６０におけるキャプチャー部２９ａ１ａ，３９ａ１ａ等がステップＳ１５０にてキャプチャー処理を実行することにより、カメラ２２ｂが位置する検査エリアＲ１〜Ｒ９を撮像することができる。初めの段階では、カメラ２２ｂは検査エリアＲ１に位置しているため、検査エリアＲ１についてのエリア画像データが生成される。初めの段階において全てのＰＣ２０，３０，４０，５０，６０が待機中であるため、どのＰＣ２０，３０，４０，５０，６０に分配器２２ｃを切り換えても良いが、本実施形態においてはマスターＰＣ２０に切り換えるものとする。
【００５５】
一方、キャプチャー処理が完了すると同キャプチャー処理を行ったＰＣ２０，３０，４０，５０，６０はステップＳ１６０にてマスターＰＣ２０対して完了通知を送信し、ステップＳ１５５にてマスターＰＣ２０は同完了通知を受信する。ステップＳ１６５においては同完了通知を受信したマスターＰＣ２０が全検査エリアについてのキャプチャーが完了したかどうかを判定する。基板設定データ２９ｄには当該基板８０についてキャプチャー撮像すべき検査エリアが中心座標値として記述されているため、撮像すべき検査エリアの撮像が完了したかどうかを判断することが可能である。なお、キャプチャー処理に必要な時間は０．２秒であるとして以下説明する。また、カメラ２２ｂは静止画を撮像するため、キャプチャー処理を行う０．２秒間はＸ−Ｙステージ２２ａを停止させておく必要がある。
【００５６】
図７に示す例では、基板８０上に撮像すべきパターンエリアＡ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３は９エリア存在しており、それぞれのパターンエリアＡ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３に対応した検査エリアＲ１〜Ｒ９について撮像することにより基板８０の検査が一通り完了する。なお、本実施形態においては説明の簡略化のため各検査エリアＲ１〜Ｒ９にパターンエリアＡ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３が一個ずつ含まれるものを例示したが、検査エリアが複数のパターンエリアを跨いでいても良いし、単一の検査エリアに複数のパターンエリアが含まれるものであっても良い。むろん、基板が複数のパターンエリアに分割されている必要もない。
【００５７】
ステップＳ１６５において、初めの段階では検査エリアＲ１しか撮像が完了していないため、ステップＳ１３０に戻って次の検査エリアＲ２の中心点Ｏ２の座標上にカメラ２２ｂが位置するようにＸ−Ｙステージ２２ａを移動させる。すなわち、既に撮像が完了している検査エリアＲ１を除く他の検査エリアＲ２〜Ｒ９のうち最もランド数の合計が大きいものが検査エリアＲ２，Ｒ３であると特定し、そのうち検査エリアＲ２の中心点Ｏ２の座標上にカメラ２２ｂが位置するようにＸ−Ｙステージ２２ａを移動させる。本実施形態においてはステップＳ１３０を繰り返すことにより、検査エリアＲ１→Ｒ２→Ｒ３・・・→Ｒ８→Ｒ９の順にＸ−Ｙステージ２２ａを移動させることとなる。ただし、検査エリアＲ１〜Ｒ３においては全てランド数が同じであるため、これらにおいてはどの順で移動しても良い。検査エリアＲ４〜Ｒ６、検査エリアＲ７〜Ｒ９についても同様である。
【００５８】
一方、キャプチャー処理が完了したＰＣ２０，３０，４０，５０，６０のいずれかでは、キャプチャー処理にて生成したエリア画像データの解析を開始する。この画像解析処理は上述のとおり演算に時間を要するため、画像解析処理を行っている間にＸ−Ｙステージ２２ａを次の検査エリアＲ２〜Ｒ９に移動させることができる。すなわち、Ｘ−Ｙステージ２２ａを移動させるための演算処理に必要な時間と、Ｘ−Ｙステージ２２ａを物理的に移動させるために必要な時間は画像解析処理と比較して短いため、いずれかのＰＣ２０，３０，４０，５０，６０で画像解析処理を行っている間にＸ−Ｙステージ２２ａの移動を完了させることができる。なお、本実施形態においては、Ｘ−Ｙステージ２２ａを移動させるための処理に必要な時間と、Ｘ−Ｙステージ２２ａを物理的に移動させるために必要な時間とを合わせた時間が０．２秒であるとして説明する。ただし、エリア画像データに含まれるランド数が極めて少ない場合にはＸ−Ｙステージ２２ａの移動を完了する際に、画像解析処理が完了していることもある。
【００５９】
なお、ステップＳ１６５の演算処理やステップＳ１３０におけるＸ−Ｙステージ２２ａを移動させるための演算処理はごく簡単な演算であるため、マスターＰＣ２０の画像解析部２９ａ１ｂが画像解析処理を実行する間に、ＣＰＵ２３やＲＡＭ２５にステップＳ１６５やステップＳ１３０の演算処理を割り込ませても同画像解析処理のタクトタイムにほとんど影響が出ることはない。むろん、他の演算ＰＣ３０，４０，５０，６０においてはＸ−Ｙステージ２２ａを移動させるための演算処理が実行されることはないため、Ｘ−Ｙステージ２２ａの移動が画像解析処理のタクトタイムに影響を与えることはない。
【００６０】
このように、いずれかのＰＣ２０，３０，４０，５０，６０で画像解析処理を行っている間に、ステップＳ１６５とステップＳ１３０とを完了させ、さらにステップＳ１３５を実行させることができる。図７に示す例では、初めにパターンエリアＡ−１についての画像解析処理をマスターＰＣ２０の画像解析部２９ａ１ｂが実行するため、キャプチャー処理を行い、さらに画像解析処理を完了させるためのタクトタイムは４．２秒である（０．２＋４．０＝４．２秒，また、ステップＳ１５５，Ｓ１６０，Ｓ１６５の演算時間はごく僅かであるため無視して差し支えない。）。これに対して、マスターＰＣ２０がＸ−Ｙステージ２２ａを移動させる時間は０．２秒であるため、ステップＳ１３５が実行される時点で画像解析部２９ａ１ｂにおける画像解析処理は大半が完了していない。
【００６１】
従って、処理状況監視部２９ａ１ｃにおいては画像解析部２９ａ１ｂが実行待ちの演算を有していることを検出し、分配部２９ａ２ｄにこの進捗度合いが通知される。一方、その他の演算ＰＣ３０，４０，５０，６０では画像解析処理を実行していないため、分配部２９ａ２ｄには実行待ちの演算がないということが通知される。従って、二度目に行われるステップＳ１３５においては演算ＰＣ３０，４０，５０，６０が待機中であると判断され、ステップＳ１４５では演算ＰＣ３０，４０，５０，６０のいずれかに分配器２２ｃが切り換えられ、キャプチャー処理の指示が出されることとなる。
【００６２】
待機中の演算ＰＣ３０，４０，５０，６０においてはＣＰＵ３５等やＲＡＭ２５等が演算処理等によって占有されていないため、ステップＳ１５０ではすぐにキャプチャー処理を実行し、ステップＳ１７０では画像解析処理を実行することができる。なお、ステップＳ１３５における処理はごく簡単な処理であるため、マスターＰＣ２０の画像解析部２９ａ１ｂが画像解析処理を実行する間に、ＣＰＵ２３やＲＡＭ２５にステップＳ１３５の処理を割り込ませても同画像解析処理のタクトタイムにほとんど影響が出ることはない。
【００６３】
図７に示す例では、撮像すべき検査エリアＲ１〜Ｒ９が９エリアあるため、以上の処理が九度繰り返されることとなる。図１０は、そのとき各ＰＣ２０，３０，４０，５０，６０およびＸ−Ｙステージ２２ａで行われる処理のタイミングチャートを示している。まず、Ｘ−Ｙステージ２２ａは原点から０．２秒かけてカメラ２２ｂを検査エリアＲ１に移動させ、マスターＰＣ２０はステップＳ１３５を実行させる。なお、ステップＳ１３５における処理は簡単であるため処理時間は考慮しないものとする。ステップＳ１３５においてマスターＰＣ２０にキャプチャー処理と画像解析処理が割り振られると、マスターＰＣ２０はキャプチャー処理を実行する。一方、キャプチャー処理が実行される０．２秒の間には、Ｘ−Ｙステージ２２ａは停止している。
【００６４】
マスターＰＣ２０においてキャプチャー処理が完了すると、検査エリアＲ１から０．２秒かけてカメラ２２ｂが検査エリアＲ２に位置するようにＸ−Ｙステージ２２ａを移動させる。そして、マスターＰＣ２０は、再びステップＳ１３５にて待機中のＰＣ２０，３０，４０，５０，６０を検索し、同待機中のＰＣ２０，３０，４０，５０，６０にキャプチャー処理と画像解析処理を割り振っている。この時点で、演算ＰＣ３０，４０，５０，６０において画像解析処理が実行されていない。従って、ここでは演算ＰＣ３０にキャプチャー処理と画像解析処理を割り振っている。演算ＰＣ３０にて０．２秒間のキャプチャー処理が完了すると、検査エリアＲ２から０．２秒かけてカメラ２２ｂが検査エリアＲ３に位置するようにＸ−Ｙステージ２２ａを移動させる。そして、その時点で再びステップＳ１３５を実行させ、演算ＰＣ４０にキャプチャー処理と画像解析処理が割り振っている。以下同様の処理が繰り返されるため説明は省略する。
【００６５】
このように、ステップＳ１３５において待機中の各ＰＣ２０，３０，４０，５０，６０にキャプチャー処理と画像解析処理とを割り振ることが可能となっている。従って、特定のＰＣ２０，３０，４０，５０，６０に演算処理が集中してしまうことを防止することができる。また、同様の理由によりＰＣ２０，３０，４０，５０，６０に処理をほぼ均等に割り振ることができ、ＰＣ２０，３０，４０，５０，６０において処理待ちの時間を抑制することができる。これにより、検査処理の効率を向上させることができる。本実施形態では、全検査エリアについて画像解析処理を完了させるまでの時間と、Ｘ−Ｙステージ２２ａの動作、および、キャプチャー処理に必要な時間とをほぼ同様とすることが可能となっている。
【００６６】
なお、各ＰＣ２０，３０，４０，５０，６０において画像解析処理が完了する度にステップＳ１７０にて解析結果データがマスターＰＣ２０の集計部２９ａ２ｃに送信される。そして、ステップＳ１６５にて全検査エリアＲ１〜Ｒ９についてのキャプチャー処理の完了が確認されると、マスターＰＣ２０の集計部２９ａ２ｃは上記集計処理をステップＳ１７５にて実行させる。これにより、基板８０全体にわたる検査結果をディスプレイ２１に表示させ、ＨＤＤ２９に集計結果２９ｅとして記憶させることができる。
【００６７】
（４）変形例：
本発明において最も処理時間を要する画像解析処理を複数のＰＣ２０，３０，４０，５０，６０に割り振れば良く、キャプチャー処理を全てマスターＰＣ２０に担当させるようにしても良い。その場合、分配器２２ｃは不要となり、マスターＰＣ２０にてキャプチャーしたエリア画像データを一度ＨＤＤ２９に記憶させ、同記憶したエリア画像データを順次マスターＰＣ２０および演算ＰＣ３０，４０，５０，６０にＬＡＮ経由で転送させる。同転送したマスターＰＣ２０または演算ＰＣ３０，４０，５０，６０にて画像解析処理が実行されることとなる。
【００６８】
図１１は、本変形例にかかる外観検査装置１０のソフトウェア構成を示している。なお、演算ＰＣ４０，５０，６０のソフトウェア構成は演算ＰＣ３０のものと同様であるため説明は省略する。マスターＰＣ２０における演算用モジュール２９ａ１にはキャプチャー部２９ａ１ａのみが備えられており、演算ＰＣ３０における演算用モジュール３９ａ１には画像解析部３９ａ１ｂと処理状況監視部３９ａ１ｃとが備えられている。すなわち、マスターＰＣ２０がキャプチャー処理を担当し、演算ＰＣ３０が画像解析処理を担当する。マスターＰＣ２０におけるマスター用モジュール２９ａ２は前実施形態と同様である。
【００６９】
マスターＰＣ２０におけるデータ領域にはエリア画像データ２９ｆが記憶できるようになっている。同データ領域に記憶されたエリア画像データ２９ｆは分配部２９ａ２ｄの指令によりＬＡＮ経由で演算ＰＣ３０の画像解析部３９ａ１ｂに転送することが可能となっている。本変形例においてはエリア画像データ２９ｆの転送先を演算ＰＣ３０，４０，５０，６０のいずれかに切り換えることにより、画像解析処理を実行させる演算ＰＣ３０，４０，５０，６０を割り振っている。なお、これ以外の各モジュールの機能については前実施形態と同様であるため説明を省略する。ハードウェア構成については、図示を省略するが、分配器２２ｃにより各ＰＣ２０，３０，４０，５０，６０が接続されていない点で前実施形態と相違する。そのため、画像キャプチャーボードはマスターＰＣ２０にのみ備えられている。これ以外の構成については前実施形態と同様であるため説明を省略する。
【００７０】
図１２は、本変形例にかかる検査処理の流れを示している。同図において、前実施形態と同様にマスターＰＣ２０および演算ＰＣ３０，４０，５０，６０はステップＳ２０５〜Ｓ２３０まで実行させる。ステップＳ２３５においてはマスターＰＣ２０が自らのキャプチャー部２９ａ１ａにおいてキャプチャー処理を実行させる。そして、ステップＳ２４０では、同キャプチャー処理において生成されたエリア画像データをＨＤＤ２９にエリア画像データ２９ｆとして記憶させる。ステップＳ２４５においては待機中の演算ＰＣ３０，４０，５０，６０を検索する。この検索の結果、待機中の演算ＰＣ３０，４０，５０，６０がある場合には、ステップＳ２６０にて同待機中の演算ＰＣ３０，４０，５０，６０にＨＤＤ２９に記憶されているエリア画像データ２９ｆであって未送信のものを送信する。
【００７１】
待機中の演算ＰＣ３０，４０，５０，６０がない場合、または、エリア画像データ２９ｆを送信した後には、ステップＳ２７５にて全検査エリアＲ１〜Ｒ９の撮像が完了したかどうかを判定する。全検査エリアＲ１〜Ｒ９の撮像が完了していない場合にはステップＳ２３０に戻って以降の処理を再び実行させる。一方、全検査エリアＲ１〜Ｒ９の撮像が完了した場合には、ステップＳ２８０にて全検査エリアＲ１〜Ｒ９のエリア画像データ２９ｆの転送が完了したかどうかを判定する。そして、全検査エリアＲ１〜Ｒ９のエリア画像データ２９ｆの転送が完了していない場合には、ステップＳ２４５に戻って再びエリア画像データ２９ｆを転送可能な演算ＰＣ３０，４０，５０，６０を検索する。全検査エリアＲ１〜Ｒ９のエリア画像データ２９ｆの転送が完了した場合には、ステップＳ２９０にて各演算ＰＣ３０，４０，５０，６０から転送される解析結果データを受信し、集計処理を実行させる。
【００７２】
一方、演算ＰＣ３０，４０，５０，６０はステップＳ２６５にてエリア画像データ２９ｆを受信すると、ステップＳ２７０にて同エリア画像データ２９ｆについての画像解析処理を実行する。そして、エリア画像データ２９ｆについての画像解析処理が完了すると、ステップＳ２８５にて解析結果データをＬＡＮ経由にてマスターＰＣ２０に送信する。同送信が完了すると画像解析部３９ａ１ｂにおける実行待ち演算数は０となり再びステップＳ２５０にて待機状態となる。
【００７３】
以上説明した検査処理を実行することにより図７に示す基板８０を検査した場合のタイミングチャートを図１３において示している。同図において、ステップＳ２４５にて待機中の演算ＰＣ３０，４０，５０，６０の検索が行われるタイミングを示している。なお、前実施形態と同様に検査エリアＲ１〜Ｒ９の順でＸ−Ｙステージ２２ａが移動するものとする。また、エリア画像データ２９ｆはデータ量が多いため、ステップＳ２６０における転送に０．６秒必要となっているものとする。ステップＳ２４５は、ステップＳ２４０とステップＳ２６０の間で行われるため、この０．６秒間に行われるものとする。ステップＳ２４５，Ｓ２５５における演算は簡単であるため、ステップＳ２４５，Ｓ２５５のための処理時間は考慮しなくても良い。
【００７４】
５回目にステップＳ２４５が実行されるタイミングにおいては、待機中の演算ＰＣ３０，４０，５０，６０が存在しないため、ステップＳ２６０は実行されずエリア画像データ２９ｆの記憶のみが行われている。その後、ステップＳ２４５が実行されるタイミングにおいては、いずれかの演算ＰＣ３０，４０，５０，６０が待機中となっているため、順次エリア画像データ２９ｆを転送することが可能となっている。エリア画像データ２９ｆを選択するにあたっては、分配部２９ａ２ｄが基板設定データ２９ｄを参照し、未送信のエリア画像データ２９ｆのうち対応する検査エリアＲ１〜Ｒ９に含まれるランド数の合計が多いものを選択している。
【００７５】
そして、検査エリアＲ９をキャプチャーした後にステップＳ２６０にてエリア画像データ２９ｆを転送した時点で全ての検査エリアＲ１〜Ｒ９について撮像が完了することとなるため、その時点でステップＳ２８０が実行される。ステップＳ２８０において全てのエリア画像データ２９ｆが転送されてないと、ステップＳ２４５以降が再び実行される。従って、待機中の演算ＰＣ３０，４０，５０，６０が再び検索され、同検索された演算ＰＣ３０，４０，５０，６０にエリア画像データ２９ｆを転送する。ステップＳ２４５，Ｓ２５５のための処理時間は考慮しなくても良いため、図１３に示すように連続してエリア画像データ２９ｆを転送することができる。これにより、全ての検査エリアＲ１〜Ｒ９についてのエリア画像データ２９ｆについての画像解析処理を各演算ＰＣ３０，４０，５０，６０に分散させて実行させることができる。本変形例によれば、分配器２２ｃや演算ＰＣ３０，４０，５０，６０毎に画像キャプチャーボードを設ける必要がないため、装置の製造コストを低減させることができる。
【００７６】
前実施形態および本変形例においてはランド数が多く画像解析処理に多くの時間を要する検査エリアＲ１〜Ｒ９をステージ駆動部２９ａ２ａが検索し、同検索した検査エリアＲ１〜Ｒ９から検査を実行させている。また、変形例においてはランド数が多く画像解析処理に多くの時間を要する検査エリアＲ１〜Ｒ９を分配部２９ａ２ｄが検索して、同検索した検査エリアＲ１〜Ｒ９に対応した未送信のエリア画像データ２９ｆから画像解析処理を実行させている。このようにすることにより、図１０および図１３に示すように各ＰＣ２０，３０，４０，５０，６０における処理量をほぼ均一化させることができる。画像解析処理時間の短いものによって各ＰＣ２０，３０，４０，５０，６０で不均一な処理量を平坦化させることができるからである。すなわち、全ＰＣ２０，３０，４０，５０，６０において処理が偏ることなく、全ＰＣ２０，３０，４０，５０，６０においてほぼ同時に画像解析処理を完了させることができる。従って、無駄なく効率の良い画像解析処理を実行させることが可能となっている。
【００７７】
一方、変形例の構成においてタクト時間の平均化を考慮しないでランド数が少なく画像解析処理に多くの時間を要しない検査エリアから検査を実行させると、図１４に示すようなタイミングチャートとなる。同図において、各演算ＰＣ３０，４０，５０，６０における画像解析処理時間が平坦化されることはなく、演算ＰＣ３０，４０，５０，６０毎に画像解析処理の完了時間がまちまちである。従って、一方の演算ＰＣ３０，４０，５０，６０では画像解析処理の完了しているにも拘わらず、他方の演算ＰＣ３０，４０，５０，６０では画像解析処理が続行されることとなり、不要な待ち時間を発生させている。これにより、図１４においては図１３のものよりも画像解析処理の完了までの時間が多く必要となるとともに、演算ＰＣ３０，４０，５０，６０の負荷（稼働率）に偏りが生じることとなっている。
【００７８】
なお、前実施形態においてはキャプチャー処理したエリア画像データを記憶させることなく、順次画像解析処理を実行させている。従って、Ｘ−Ｙステージ２２ａが移動する検査エリアの順に対応するエリア画像データの画像解析処理を行わせることができる。また、Ｘ−Ｙステージ２２ａの移動順は基板設定データ２９ｄに記憶された各検査エリアＲ１〜Ｒ９に含まれるランド数の合計に基づいている。すなわち、基板設定データ２９ｄを参照することにより、ランド数が多く画像解析処理の処理量が多いエリア画像データに対応する検査エリアＲ１〜Ｒ９から順にＸ−Ｙステージ２２ａにおけるカメラ２２ｂの視野範囲を移動させている。
【００７９】
すなわち、本発明にいう移動手段が画像解析処理の処理量を取得し、画像解析処理の処理量が多いエリア画像データに対応する検査エリアから順にＸ−Ｙステージ２２ａを移動させていると言うことができる。同様に変形例においては分配部２９ａ２ｄが画像解析処理の処理量が多いエリア画像データから順に画像解析処理を実行させていると言うことができる。従って、本発明にいう分配手段が画像解析処理の処理量を取得し、画像解析処理の処理量が多いエリア画像データから順に画像解析処理を実行させているとも言うことができる。特に、本発明のようなエリアセンサを用いることにより、予め該当する検査エリア毎の処理量を基板の設計データから把握しておくことは容易であり、予め検査エリア毎の処理量を求め処理順序のデータとして記憶させるようにしても良い。
【００８０】
なお、以上において検査エリアの色情報を取得可能なエリアセンサを一例に挙げて説明したが、他のエリアセンサを本発明に適用することも勿論可能である。すなわち、エリアセンサとしては、検査エリアにおける座標毎に階調値で表現可能な何らかの情報を入力することができれば良い。従って、可視光以外にＸ線を用いたエリアセンサを使用することも可能である。また、レーザー光等を使用し、干渉縞を検出することにより検査対象の形状を特定するものであってもよい。
【００８１】
また、検査対象としてはクリーム半田印刷後の基板に限られるものではなく、パターン形成後の基板や、各種部品をマウントした後の実装基板であっても良い。さらに、検査対象は基板に限られず他のものであっても良い。すなわち、検査対象において複数の検査エリアを形成することができれば、本発明は適用可能である。
【００８２】
（５）まとめ：
以上説明したように、本発明にかかる外観検査装置１０において、演算に時間を要する画像解析処理を各ＰＣ２０，３０，４０，５０，６０に分担させることにより、効率よく画像解析処理を実行させることができる。また、処理量の多いエリア画像データから先に画像解析処理を実行させることにより、各ＰＣ２０，３０，４０，５０，６０における画像解析処理の完了時刻をほぼ均等にすることができる。すなわち、一方の演算ＰＣ３０，４０，５０，６０では画像解析処理の完了しているにも拘わらず、他方の演算ＰＣ３０，４０，５０，６０では画像解析処理が続行されるという、不要な待ち時間の発生を防止することができる。
【図面の簡単な説明】
【００８３】
【図１】本発明にかかる外観検査装置の概略構成図である。
【図２】マスターコンピュータのハードウェア構成図である。
【図３】演算コンピュータのハードウェア構成図である。
【図４】外観検査装置のソフトウェア構成図である。
【図５】エリア画像データの一例を示す模式図である。
【図６】検査処理の流れを示すフローチャートである。
【図７】基板の平面図である。
【図８】基板のパターンデザインを示す表である。
【図９】基板設定データを示す表である。
【図１０】検査処理のタイミングチャートである。
【図１１】変形例にかかる外観検査装置のソフトウェア構成図である。
【図１２】変形例にかかる検査処理の流れを示すフローチャートである。
【図１３】変形例にかかる検査処理のタイミングチャートである。
【図１４】従来例にかかる検査処理のタイミングチャートである。
【符号の説明】
【００８４】
１０…外観検査装置
２０…マスターコンピュータ（ＰＣ）
３０，４０，５０，６０…演算コンピュータ（ＰＣ）
２０ａ，３０ａ…バス
２１，３１，４１，５１，６１…ディスプレイ
２２…検査ユニット
２２ａ…Ｘ−Ｙステージ
２２ｂ…カメラ
２２ｃ…分配器
２２ｆ，３２ｆ…画像キャプチャーボード
２３，３３…ＣＰＵ
２４，３４…ＲＯＭ
２５，３５…ＲＡＭ
２６ａ…キーボード
２６ｂ…マウス
２７，３７…ＬＡＮ・インターフェース（Ｉ／Ｆ）
２９，３９…ＨＤＤ
２９ａ…マスター用検査プログラム
２９ａ１，３９ａ１…演算用モジュール
２９ａ１ａ，３９ａ１ａ…キャプチャー部
２９ａ１ｂ，３９ａ１ｂ…画像解析部
２９ａ１ｃ，３９ａ１ｃ…処理状況監視部
２９ａ２…マスター用モジュール
２９ａ２ａ…ステージ駆動部
２９ａ２ｂ…カメラ制御部
２９ａ２ｃ…集計部
２９ａ２ｄ…分配部
２９ｃ，３９ｃ…ドライバ
２９ｄ，３９ｄ…基板設定データ
２９ｅ…集計結果
２９ｆ…エリア画像データ
３９ａ…演算用検査プログラム
３９ａ１ｃ…処理状況監視部
８０…基板
Ａ−１〜Ａ−３，Ｂ−１〜Ｂ−３，Ｃ−１〜Ｃ−３…パターンエリア
Ｒ１〜Ｒ９…検査エリア
【図１】
0004772287.tif 000002
【図２】
0004772287.tif 000003
【図３】
0004772287.tif 000004
【図４】
0004772287.tif 000005
【図５】
0004772287.tif 000006
【図６】
0004772287.tif 000007
【図７】
0004772287.tif 000008
【図８】
0004772287.tif 000009
【図９】
0004772287.tif 000010
【図１０】
0004772287.tif 000011
【図１１】
0004772287.tif 000012
【図１２】
0004772287.tif 000013
【図１３】
0004772287.tif 000014
【図１４】
0004772287.tif 000015