ところで、BGA(Ball grid array)やQFP(Quad Flat Package)などのバンプ部品やリード部品は、存在する端子同士の端子サイズと端子位置(又は端子間ピッチ)とが略同じであるが、端子数が異なるものが複数存在する。このため、撮像画像から部品の端子(特徴物)を認識する場合、撮像画像中に、部品データで指定されたサイズの端子が指定された端子位置上(又は端子間ピッチ上)に指定された端子数の数だけ認識できるか否かによって、部品の種類を識別することが可能である。しかしながら、撮像条件によって一部の端子の映りが不鮮明でその端子を認識できなかったり、部品に付されたマークや配線パターンなどの映り込みによりこれらの類似物が端子であると誤認識したりする場合があり、端子(特徴物)を正しく認識するのは容易ではない。
本発明は、存在する端子同士の端子サイズと端子間ピッチ又は端子位置とが略同じで端子数が異なる部品データによる部品の誤認識を抑制し、部品を正しく認識できるようにすることを主目的とする。
発明を解決するための手段
上記課題を解決するために、本発明の部品データ取扱装置は、部品実装機で端子付き部品を実装対象物に実装する際に用いられる部品データを取り扱う部品データ取扱装置であって、端子サイズと、端子間ピッチ又は端子位置と、端子数とを含む前記部品データを複数記憶可能な部品データ記憶手段と、前記部品データ記憶手段に記憶されている複数の部品データのうち端子サイズと端子間ピッチ又は端子位置とが略同じで端子数が異なる部品データを抽出する部品データ抽出手段と、を備えることを要旨とする。
この本発明の部品データ取扱装置は、端子サイズと、端子間ピッチ又は端子位置と、端子数とを含む部品データを複数記憶し、記憶されている複数の部品データのうち端子サイズと端子間ピッチ又は端子位置とが略同じで端子数が異なる部品データを抽出する。これにより、誤認識するおそれのある複数の部品データを予め抽出することができるため、抽出した部品データを用いることで、実装する端子付き部品の誤認識を抑制し、部品を正しく認識できるようにすることができる。ここで、「端子付き部品」は、バンプ端子を有するバンプ付き部品や、リード端子を有するリード付き部品等を例示することができる。
こうした本発明の部品データ取扱装置において、前記部品データ抽出手段により抽出した部品データを、端子サイズと端子間ピッチ又は端子位置とが略同じ部品データ毎にまとめて表示する表示手段を備えるものとすることもできる。こうすれば、ユーザは、表示手段を介して誤認識するおそれのある複数の部品データを容易に確認することができる。
また、本発明の部品データ取扱装置において、前記部品データ抽出手段により抽出された端子サイズと端子間ピッチ又は端子位置とが略同じで端子数が異なる複数の部品データのうち、1の部品データと他の部品データとの間で端子間ピッチ上又は端子位置上に片方にしか端子が存在しない位置を検出し、該検出した位置に端子が存在しないことを示す情報を付加した部品データを作成する部品データ作成手段を備えるものとすることもできる。こうすれば、端子間ピッチ上又は端子位置上に端子が存在することを示す情報と端子が存在しないことを示す情報とを用いて端子の認識を行うことができるため、端子間ピッチ上又は端子位置上に端子が存在することを示す情報だけを用いる場合に比して、端子の誤認識をより確実に抑制することができる。この態様の本発明の部品データ取扱装置において、実装前に撮像された端子付き部品の撮像画像を取得する撮像画像取得手段と、前記部品データ記憶手段に記憶されている部品データまたは前記部品データ作成手段により作成された部品データと、前記取得された撮像画像とに基づいて前記端子付き部品を識別する識別手段と、を備えるものとすることもできる。
本発明の部品データ取扱方法は、部品実装機で端子付き部品を実装対象物に実装する際に用いられる部品データを取り扱う部品データ取扱方法であって、端子サイズと、端子間ピッチ又は端子位置と、端子数とを含む前記部品データを複数記憶しておき、前記記憶されている複数の部品データのうち端子サイズと端子間ピッチ又は端子位置とが略同じで端子数が異なる部品データを抽出することを要旨とする。
この本発明の部品データ取扱方法によれば、端子サイズと、端子間ピッチ又は端子位置と、端子数とを含む部品データを複数記憶し、記憶されている複数の部品データのうち端子サイズと端子間ピッチ又は端子位置とが略同じで端子数が異なる部品データを抽出する。これにより、誤認識するおそれのある複数の部品データを予め抽出することができるため、抽出した部品データを用いることで、実装する端子付き部品の誤認識を抑制し、部品を正しく認識できるようにすることができる。
本発明の部品実装システムは、端子付き部品を実装対象物に実装する部品実装機と、前記部品実装機で前記端子付き部品を実装する際に用いる部品データを取り扱う上述した各態様のいずれかの本発明の部品データ取扱装置と、を備えることを要旨とする。
また、本発明の部品実装システムは、端子付き部品を実装対象物に実装する部品実装機と、前記部品実装機で前記端子付き部品を実装する際に用いる部品データを取り扱う部品データ取扱装置と、を備える部品実装システムであって、前記部品データ取扱装置は、端子サイズと、端子間ピッチ又は端子位置と、端子数とを含む前記部品データを複数記憶可能な部品データ記憶手段と、前記部品データ記憶手段に記憶されている複数の部品データのうち端子サイズと端子間ピッチ又は端子位置とが略同じで端子数が異なる部品データを抽出する部品データ抽出手段と、前記部品データ抽出手段により抽出された端子サイズと端子間ピッチ又は端子位置とが略同じで端子数が異なる複数の部品データのうち、1の部品データと他の部品データとの間で端子間ピッチ上又は端子位置上に片方にしか端子が存在しない位置を検出し、該検出した位置に端子が存在しないことを示す情報を付加した部品データを作成する部品データ作成手段と、を備え、前記部品実装機は、実装前に撮像された端子付き部品の撮像画像を取得する撮像画像取得手段と、前記部品データ記憶手段に記憶されている部品データ又は前記部品データ作成手段により作成された部品データと、前記取得された撮像画像とに基づいて前記端子付き部品を識別する識別手段と、を備えることを要旨とする。
次に、本発明を実施するための形態について実施例を用いて説明する。
図1は、本発明の一実施例としての部品実装システム1の構成の概略を示す構成図であり、図2は、部品実装機10の構成の概略を示す構成図であり、図3は、部品実装機10と管理装置80との電気的な接続関係を示す説明図である。なお、図1および図2の左右方向がX軸方向であり、前(手前)後(奥)方向がY軸方向であり、上下方向がZ軸方向である。
部品実装システム1は、図1に示すように、基板Sの搬送方向(基板搬送方向)に並べて配置された複数台の部品実装機10と、部品実装システム全体を管理する管理装置80とを備える。
部品実装機10は、その外観としては、図2に示すように、基台11と、基台11に支持された本体枠12とにより構成されている。この部品実装機10は、図2に示すように、本体枠12の下段部に設けられた支持台14と、基板Sを搬送する基板搬送装置30と、支持台14に着脱可能に設置されて部品Pを供給する部品供給装置20と、部品供給装置20により供給された部品Pを吸着ノズル51に吸着させて基板搬送装置30により搬送された基板S上へ実装するヘッド50と、ヘッド50をXY方向へ移動させるXYロボット40と、実装機全体をコントロールする制御装置70(図3参照)とを備える。また、部品実装機10は、これらの他に、ヘッド50に設けられ基板Sに付された基板位置決め基準マークを撮像するためのマークカメラ56や、吸着ノズル51に吸着させた部品Pの吸着姿勢を撮像するためのパーツカメラ60なども備えている。
基板搬送装置30は、図2に示すように、本実施例では、2つの基板搬送路が設けられたデュアルレーン方式の搬送装置として構成されている。基板搬送装置30は、支持台14における前後方向(Y軸方向)中央部に設置されている。また、基板搬送装置30は、ベルトコンベア装置32を備えており、ベルトコンベア装置32の駆動により基板Sを図1の左から右(基板搬送方向)へと搬送する。基板搬送装置30の基板搬送方向(X軸方向)中央部には、図示しない昇降装置により昇降可能なバックアッププレート34が設けられている。バックアッププレート34は、基板搬送装置30によりバックアッププレート34の上方に基板Sが搬送されたときに、昇降装置の駆動により上昇することで、基板Sを裏面側からバックアップする。
ヘッド50は、図3に示すように、吸着ノズル51をZ軸(上下)方向に移動させるZ軸アクチュエータ52と、吸着ノズル51をZ軸周りに回転させるθ軸アクチュエータ54とを備える。吸着ノズル51の吸引口は、電磁弁57を介して真空ポンプ58およびエア配管59のいずれか一方に選択的に連通している。制御装置70は、吸着ノズル51の吸引口が真空ポンプ58に連通するよう電磁弁57を駆動することで、吸引口に負圧を作用させて部品Pを吸着することができ、吸着ノズル51の吸引口がエア配管59に連通するよう電磁弁57を駆動することで、吸引口に正圧を作用させて部品Pの吸着を解除することができる。
XYロボット40は、図2に示すように、本体枠12の上段部に前後方向(Y軸方向)に沿って設けられた左右一対のY軸ガイドレール43と、左右一対のY軸ガイドレール43に架け渡された状態でY軸ガイドレール43に沿って移動が可能な長尺状のY軸スライダ44と、Y軸スライダ44の下面に左右方向(X軸方向)に沿って設けられたX軸ガイドレール41と、X軸ガイドレール41に沿って移動が可能なX軸スライダ42とを備える。X軸スライダ42にはヘッド50が取り付けられており、制御装置70は、XYロボット40を駆動制御することにより、XY平面上の任意の位置にヘッド50を移動させることができる。
パーツカメラ60は、基板搬送装置30の前方側の支持台14上に配置されている。パーツカメラ60は、吸着ノズル51に吸着させた部品Pがパーツカメラ60の上方を通過する際、部品Pを撮像し、得られた撮像画像を制御装置70へ出力する。制御装置70は、パーツカメラ60によって撮像された撮像画像に画像処理を施すことで、吸着ノズル51に吸着されている部品Pが正しい部品であるか否かを識別したり、部品Pが吸着ノズル51に正しく吸着されているか否かを判定したりする。
また、パーツカメラ60は、図4に示すように、複数の受光素子が二次元配列された正方形または矩形の撮像領域をもつ撮像素子62と、撮像素子62の上方に設けられたレンズ64と、部品Pを撮像する際に部品Pの真下から照射光を照射する第1照明装置66と、部品Pを撮像する際に部品Pの斜め下方から照射光を照射する第2照明装置68とを備える。第2照明装置68は、部品PがBGA等のバンプ(半球状)端子を有するバンプ部品を撮像する場合の照明として用いられる。これにより、バンプ端子に照明光を均一に当てることができ、良好な撮像画像を得ることができる。なお、撮像素子62は、例えばCCD(電荷結合素子)やCMOS(相補性金属酸化膜半導体)などが用いることができる。
制御装置70は、CPU71を中心としたマイクロプロセッサとして構成されており、CPU71の他に、ROM72と、HDD73と、RAM74と、入出力インタフェース75とを備える。これらは、バス76を介して電気的に接続されている。制御装置70には、X軸スライダ42の位置を検知するX軸位置センサ47からの位置信号や、Y軸スライダ44の位置を検知するY軸位置センサ49からの位置信号、マークカメラ56からの画像信号、パーツカメラ60からの画像信号などが入出力インタフェース75を介して入力されている。一方、制御装置70からは、部品供給装置20への制御信号や、基板搬送装置30への制御信号、X軸スライダ42を移動させるX軸アクチュエータ46への駆動信号、Y軸スライダ44を移動させるY軸アクチュエータ48への駆動信号、Z軸アクチュエータ52への駆動信号、θ軸アクチュエータ54への駆動信号、電磁弁57への駆動信号などが入出力インタフェース75を介して出力されている。また、制御装置70は、管理装置80と双方向通信可能に接続されており、互いにデータや制御信号のやり取りを行っている。
管理装置80は、例えば、汎用のコンピュータであり、CPU81とROM82とHDD83とRAM84と入出力インタフェース85などを備える。これらは、バス86を介して電気的に接続されている。この管理装置80には、マウスやキーボード等の入力デバイス87から入力信号が入出力インタフェース85を介して入力されている。また、管理装置80からは、ディスプレイ88への画像信号が入出力インタフェース85を介して出力されている。HDD83は、基板Sの生産計画を記憶している。ここで、基板Sの生産計画とは、各部品実装機10においてどの部品をどの順番で基板Sへ実装するか、また、そのように部品を実装した基板Sを何枚作製するかなどを定めた計画をいう。この生産計画には、生産する基板に関する基板データや使用するヘッド50に関するヘッドデータ、使用する吸着ノズル51に関するノズルデータ、実装する部品に関する部品データ、各部品の実装位置に関する実装位置データなどが含まれている。管理装置80は、オペレータが入力デバイス87を介して入力したデータ(生産枚数や基板データ、部品データ、実装位置データ等)に基づいて生産計画を作成し、作成した生産計画を各部品実装機10へ送信する。
図5は、HDD83に記憶される部品データの一例を示す説明図である。部品データは、入力デバイス87を用いてオペレータによって入力され、その都度、HDD83に記憶される。部品データは、図示するように、バンプ部品やリード部品等の部品Pの種類を表す部品種や、部品Pの外形サイズを表すボディサイズ、端子(バンプ端子やリード端子)のサイズ(端子径)を表す端子サイズ、端子数、各端子の位置座標や端子間ピッチ等を含む。また、部品データは、各端子の位置座標や端子間ピッチによって、そこに端子が存在していることを定義する端子定義も含む。さらに、部品データは、仮想端子定義が付加される場合がある。この仮想端子定義とは、指定の位置に端子が存在しないことを定義したものであり、後述する部品データ作成処理によって部品データに付加される。部品データの端子定義や仮想端子定義は、詳細は後述するが、吸着ノズル51に吸着させた部品Pをその実装前にパーツカメラ60で撮像して得られた撮像画像から部品Pの種類を識別する際に用いられる。
次に、こうして構成された実施例の部品実装システム1(部品実装機10)の動作について説明する。図6は、制御装置70のCPU71により実行される部品実装処理の一例を示すフローチャートである。この処理は、オペレータによって生産の開始が指示されたときに実行される。制御装置70は、管理装置80から送信された生産計画を受信し、受信した生産計画に従って部品実装処理を実行する。
部品実装処理が実行されると、制御装置70のCPU71は、まず、部品供給装置20から供給された部品Pを吸着ノズル51に吸着させる吸着動作を行う(S100)。ここで、吸着動作は、具体的には、部品Pの真上にヘッド50に装着された吸着ノズル51が来るようXYロボット40を駆動制御した後、吸引口が部品Pに当接するまで吸着ノズル51が下降するようZ軸アクチュエータ52を駆動制御し、吸着ノズル51の吸引口に負圧が作用するよう電磁弁57を駆動制御することにより行う。続いて、CPU71は、吸着ノズル51に吸着させた部品Pがパーツカメラ60の上方へ移動するようXYロボット40を駆動制御して(S110)、部品Pをパーツカメラ60で撮像する(S120)。
次に、CPU71は、受信した生産計画から生産に係る部品データを取得し(S130)、取得した部品データを用いて、S120で撮像して得られた撮像画像に対して図7に例示する画像処理を行う(S140)。ここで、部品実装処理の説明を中断し、画像処理の詳細について説明する。
画像処理が実行されると、CPU71は、取得した部品データの定義(端子定義,仮想端子定義)を取得し(S200)、取得した定義に仮想端子定義が含まれるか否かを判定する(S210)。CPU71は、仮想端子定義が含まれないと判定すると、部品実装処理のS120で撮像した撮像画像中の端子定義のある位置の周辺画素を探索し(S220)、端子定義のある位置の全てで端子が存在することを認識できたか否かを判定する(S230)。S220の処理は、具体的には、端子定義のある位置の周辺画素の画素値(輝度値)を抽出する処理であり、S230の処理は、具体的には、抽出した画素値が閾値以上であるか否かを判定する処理である。ここで、部品Pは、照射光の反射が抑制されるように低反射処理が施されているのが通常である。このため、部品Pを撮像して得られる撮像画像は、端子部分が白く映り、それ以外のボディ部分が黒く映った画像となる。したがって、端子定義のある位置の画素値が閾値以上の場合に、その画素は端子が映っている画素であると判定することができる。但し、部品Pにマークや文字、ロゴ等が付されている場合には、これらも白っぽく映るため、それらが映っている画素の画素値が閾値以上となる場合もある。本実施例では、端子定義のある位置の周辺画素に絞って、画素値が閾値以上であるか否かを判定することで、端子以外のマークや文字、ロゴ等を端子であると誤認識するのを防止しているのである。
CPU71は、S230で端子定義のある位置の全てで端子が存在することを認識できたと判定すると、画像処理が成功したと判定(吸着ノズル51に吸着している部品Pは正しい部品であると判定)して(S240)、画像処理を終了し、端子定義のある位置の何れか1つでも端子が存在することを認識できなかったと判定すると、画像処理が失敗したと判定(吸着ノズル51に吸着している部品Pは正しい部品でないと判定)して(S250)、画像処理を終了する。
図8は、部品データを用いて撮像画像に対して画像処理を行う様子を説明する説明図である。図示するように、バンプ部品Bの部品データを用いて、バンプ部品Bを撮像した撮像画像に対して画像処理を行う場合、図示するように、端子定義のある位置の全てで端子が存在していることが認識されるため、画像処理が成功する。一方、同様のバンプ部品Bの部品データを用いて、バンプ部品Bと端子が存在しているところの位置座標(端子間ピッチ)および端子サイズが同じで且つ端子数が多いバンプ部品Aを撮像した撮像画像に対して画像処理を行う場合も、端子定義のある位置の全てで端子が存在していることが認識されるため、画像処理が成功する。即ち、バンプ部品Bの部品データの端子定義だけでは、バンプ部品Aおよびバンプ部品Bの何れも画像処理が成功するため、バンプ部品を正しく認識することができない場合がある。
S210で取得した定義に仮想端子定義が含まれていると判定すると、CPU71は、S220,S230と同様に、撮像画像中の端子定義のある位置の周辺画素を探索し(S260)、端子定義のある位置の全てで端子が存在することを認識できたか否かを判定する(S270)。CPU71は、端子定義のある位置の全てで端子が存在することを認識できたと判定すると、次に、撮像画像中の仮想端子定義のある位置の周辺画素を探索し(S280)、仮想端子定義のある位置の全てで端子が存在しないことを認識できたか否かを判定する(S290)。S280の処理は、具体的には、仮想端子定義のある位置の周辺画素の画素値(輝度値)を抽出する処理であり、S290の処理は、具体的には、抽出した画素値が閾値未満であるか否かを判定する処理である。CPU71は、仮想端子定義のある位置の全てで端子が存在しないことを認識できたと判定すると、画像処理が成功したと判定して(S240)、画像処理を終了する。CPU71は、S270で端子定義のある位置の何れか1つでも端子が存在することを認識できなかったと判定したり、S290で仮想端子定義のある位置の何れか1つでも端子が存在しないことを認識できなかったと判定すると、画像処理を失敗したと判定して(S295)、画像処理を終了する。
図9は、仮想端子定義が付加された部品データを用いて撮像画像に対して画像処理を行う様子を説明する説明図である。図示するように、バンプ部品Bの部品データを用いて、バンプ部品Bを撮像した撮像画像に対して画像処理を行う場合、図示するように、端子定義のある位置の全てで端子が存在していることが認識され、仮想端子定義のある位置の全てで端子が存在しないことが認識されるため、画像処理が成功する。一方、同様のバンプ部品Bの部品データを用いて、バンプ部品Bと端子が存在しているところの端子の位置座標(端子間ピッチ)および端子サイズが同じで且つ端子数が多いバンプ部品Aを撮像した撮像画像に対して画像処理を行う場合、端子定義のある位置の全てで端子が存在していることが認識されるが、仮想端子定義のある位置でも端子が存在していることが認識されるため、画像処理が失敗する。このように、部品データに仮想端子定義を付加することで、端子の位置座標(端子間ピッチ)および端子サイズが略同じで端子数が異なる複数のバンプ部品を互いに識別することができる。
部品実装処理に戻って、CPU71は、S140で画像処理を行うと、画像処理が成功したか否かを判定する(S150)。CPU71は、画像処理が失敗したと判定すると、エラーを出力して(S160)、部品実装処理を終了する。なお、S160の処理は、部品違いエラーに関するエラー情報を管理装置80に送信することにより行う。エラー情報を受信した管理装置80は、ディスプレイ88上に警告画面を表示すると共に警告音を発することで、オペレータに対して部品違いエラーの報知を行う。一方、CPU71は、画像処理が成功したと判定すると、撮像画像に基づいて部品Pの吸着ズレ量を算出し(S170)、算出した吸着ズレ量に基づいて実装位置を補正した上で(S180)、吸着ノズル51に吸着させた部品Pを基板Sの実装位置に実装する実装動作を行って(S190)、部品実装処理を終了する。ここで、実装動作は、具体的には、吸着ノズル51に吸着させた部品Pが基板Sの実装位置の真上に来るようXYロボット40を駆動制御した後、その部品Pが基板Sの実装位置に当接するまで吸着ノズル51が下降するようZ軸アクチュエータ52を駆動制御し、吸着ノズル51の吸引口に正圧が作用するよう電磁弁57を駆動制御することにより行う。
次に、仮想端子定義を付加した部品データを作成する部品データ作成処理を説明する。部品データの作成は、オペレータにより入力されたデータに基づいて管理装置80によって行われる。図10は、管理装置80のCPU81により実行される部品データ作成処理の一例を示すフローチャートである。
部品データ作成処理が実行されると、管理装置80のCPU81は、まず、HDD83に記憶されている未処理の部品データ群の中から1の対象データを選択し(S300)、対象データとボディサイズおよび端子サイズが近い(略同じ)類似データをHDD83に記憶されている部品データ群の中から抽出する(S310)。S310の処理は、対象データとのボディサイズおよび端子サイズの各サイズ差が何れも誤差の範囲内にある部品データを検索して抽出する処理である。こうして類似データを抽出すると、CPU81は、抽出した類似データのうち未処理のデータの中から1の比較データを選択し(S320)、それぞれ選択した対象データと比較データとを用いて図11に例示する差分抽出処理を実行して仮想端子定義を付加した部品データを作成する(S330)。
図11の差分抽出処理が実行されると、管理装置80のCPU81は、対象データの定義(端子定義)に従って端子画像をレイアウトすることで撮像画像と同様の部品画像を生成する(S400)。続いて、CPU81は、比較データの定義(端子定義)に従って端子画像をレイアウトすることで撮像画像と同様の部品画像を生成し(S410)、生成した比較データの部品画像に対して対象データの定義で図7に示した画像処理を行う(S420)。CPU81は、画像処理の結果、画像処理が成功したと判定すると(S430)、S410で生成した比較データの部品画像とS400で生成した対象データの部品画像との差分をとることで差分画像を生成し(S440)、対象データに対して差分画像のある位置(差分位置)に仮想端子定義を追加(対象データに仮想端子定義を追加した部品データを作成)して(S450)、差分抽出処理を終了する。一方、CPU81は、S430で画像処理が失敗したと判定すると、S400で生成した対象データの部品画像に対して比較データの定義で図7に示した画像処理を行う(S460)。CPU81は、画像処理の結果、画像処理が成功したと判定すると(S470)、S400で生成した対象データの部品画像とS410で生成した比較データの部品画像との差分をとることで差分画像を生成し(S480)、比較データに対して差分画像のある位置(差分位置)に仮想端子定義を追加(比較データに仮想端子定義を追加した部品データを作成)して(S490)、差分抽出処理を終了する。なお、CPU81は、S470で画像処理が失敗したと判定すると、仮想端子定義を追加することなく、差分抽出処理を終了する。
部品データ作成処理に戻って、CPU81は、S330で差分抽出処理により部品データを作成すると、比較データを処理済みの類似データに設定し(S340)、その後、未処理の類似データがあるか否かを判定する(S350)。CPU81は、未処理の類似データがあると判定すると、S320に戻って、新たな1の比較データを選択してS330,S340の処理を繰り返し実行し、未処理の類似データがないと判定すると、対象データを処理済みの部品データに設定し(S360)、その後、対象データとなり得る未処理の他の部品データがあるか否かを判定する(S370)。CPU81は、未処理の他の部品データがあると判定すると、S300に戻って、新たな1の対象データを選択してS310〜S360の処理を繰り返し実行し、未処理の他の部品データがないと判定すると、部品データ作成処理を終了する。
図12は、仮想端子定義を付加した部品データを作成する様子を示す説明図である。図示するように、バンプ部品Bと存在する端子同士の位置座標(又は端子間ピッチ)および端子サイズが略同じで端子数が多いバンプ部品Aの部品画像に対して、バンプ部品Bの端子定義を用いて、差分抽出処理のS420またはS460の画像処理を行った場合、画像処理が成功する。このため、差分抽出処理のS440またはS480にてバンプ部品Aの部品画像とバンプ部品Bの部品画像との差分をとって差分画像を生成する。差分画像は、バンプ部品Aのみに存在する端子を表す端子画像となる。したがって、バンプ部品Bの部品データに、その差分位置に端子が存在しないことを定義する仮想端子定義を付加する。これにより、上述した図9に示すように、バンプ部品Bの部品データを用いてバンプ部品Bを撮像した撮像画像に対して画像処理を行う場合、画像処理を成功させることでき、バンプ部品Bの部品データを用いてバンプ部品Aを撮像した撮像画像に対して画像処理を行う場合、画像処理を失敗させることができる。
以上説明した実施例の部品実装システム1は、存在する端子同士の位置座標(又は端子間ピッチ)および端子サイズが略同じで端子数が異なる複数の部品データを抽出する。これにより、誤認識するおそれのある複数の部品データを抽出することができ、抽出した部品データを用いることで、実装する部品Pの誤認識を抑制し、部品Pを正しく認識できるようにすることができる。
また、実施例の部品実装システム1は、存在する端子同士の位置座標(又は端子間ピッチ)および端子サイズが略同じで端子数が異なる複数の部品データのうち、一方の部品データに存在せず他方の部品データに存在する端子の位置(差分位置)に、その一方の部品データに対して端子が存在しないことを定義する仮想端子定義を追加する。仮想端子定義が付加された部品データを用いて部品Pの撮像画像に画像処理を行う場合、端子定義のある位置の全てに端子が存在していることが認識され、且つ、仮想端子定義のある位置の全てに端子が存在していないことが認識された場合に画像処理が成功したと判定することにより、類似する複数の部品を識別することができ、部品の誤認識を防止することができる。また、実施例の部品実装システム1は、端子を認識する範囲を、端子定義のある位置と仮想端子定義のある位置とに絞ることで、部品Pに付されたマークや配線パターンなどの映り込みを端子であると誤認識するのを防止することができる。
実施例では、図11の差分抽出処理において、比較データの定義に従って部品画像を生成し、生成した比較データの部品画像に対して対象データの定義で画像処理を行い、対象データの定義に従って部品画像を生成し、生成した対象データの部品画像に対して比較データの定義で画像処理を行うことで、対象データと比較データとの間で存在する端子同士の位置座標や端子間ピッチが略同じであるか否かを判定するものとしたが、これに限定されるものではなく、対象データの定義のある位置と比較データの定義のある位置とを直接比較することにより、これらの間で存在する端子同士の位置座標や端子間ピッチが略同じであるか否かを判定するものとしてもよい。
実施例では、図10の部品データ作成処理を実行することで部品データに仮想端子定義を自動的に付加するものとしたが、これに限定されるものではない。例えば、図13に例示する変形例の部品データ作成処理を実行することで、互いに端子サイズや端子の位置座標(又は端子間ピッチ)が類似する類似データを検索してこれらをまとめて一覧表示し、オペレータによる仮想端子定義の追加入力を支援するものとしてもよい。
図13の部品データ作成処理が実行されると、管理装置80のCPU81は、HDD83に記憶されている部品データのうち未処理の部品データ群の中から1の対象データを選択し(S500)、選択した対象データと、ボディサイズが近く、互いに存在する端子同士の端子サイズおよび位置座標(又は端子間ピッチ)が近い(略同じ)類似データを抽出する(S510)。そして、CPU81は、対象データを選択済みの部品データに設定し(S520)、未選択の部品データがあるか否かを判定する(S530)。CPU81は、未選択の部品データがあると判定すると、S500に戻って新たな1の対象データを選択し、S510,S520の処理を繰り返し実行する。一方、CPU81は、未選択の部品データがないと判定すると、互いに類似する類似データ毎にまとめて部品データを一覧表示する(S540)。図14は、部品データ表示画面90の一例を示す説明図である。部品データ表示画面90は、サイズおよび位置座標(又は端子間ピッチ)が互いに略同じである類似データ(部品画像)をサムネイル形式で一覧表示する部品データ表示領域92と、類似データ毎に対応付けられた複数のタブが並ぶタブ領域94と、部品データ表示領域92に表示された部品データの詳細(例えば、部品種やボディサイズ、端子サイズ、端子数等の詳細表示)を呼び出すための詳細表示指示領域96とを備える。部品データ表示領域92に表示する部品データ(類似データ)の切り替えは、タブ領域94の複数のタブのうちの何れかにカーソルを合わせてマウスをクリックすることにより行うことができる。
そして、CPU81は、オペレータによって、部品データの選択操作がなされたか否か(S550)、仮想端子の追加操作がなされたか否か(S560)、をそれぞれ判定し、部品データの選択操作がなされ且つ仮想端子の入力操作がなされたと判定すると、選択した部品データの入力した位置に仮想端子定義を追加して(S570)、部品データ作成処理を終了する。図15は、部品データ表示画面90を用いて部品データに仮想端子定義を追加する様子を示す説明図である。仮想端子定義の追加は、図示するように、オペレータが仮想端子定義を追加したい位置にカーソル98を合わせてマウスをクリックした後(図14(a),(b)参照)、カーソル98を「はい」に合わせ、マウスをクリックする(図14(c)参照)ことにより行うことができる。なお、仮想端子定義の追加のキャンセルは、カーソル98を「いいえ」に合わせ、マウスをクリックすることにより行うことができる。
実施例では、本発明をバンプ端子を有するバンプ部品に適用して説明したが、これに限定されるものではなく、リード端子を有するリード部品など、端子を有する端子付き部品でれば、如何なるタイプの部品にも適用可能である。
ここで、本実施例の主要な要素と発明の開示の欄に記載した発明の主要な要素との対応関係について説明する。即ち、管理装置80が「データ取扱装置」に相当し、HDD83が「部品データ記憶手段」に相当し、図13の部品データ作成処理のS500〜S530の処理を行う管理装置80のCU81が「部品データ抽出手段」に相当する。また、図13の部品データ作成処理のS540の処理を行う管理装置80のCPU81とディスプレイ88とが「表示手段」に相当する。また、図10の部品データ作成処理および図11の差分抽出処理のS400〜S430,S460,S470の処理を実行する管理装置80のCPU81も「部品データ抽出手段」に相当し、差分抽出処理のS440,S450,S480,S490の処理を実行する管理装置80のCPU81が「部品データ作成手段」に相当する。また、図6の部品実装処理のS120の処理を実行する制御装置70のCPU71が「撮像画像取得手段」に相当し、部品実装処理のS140の処理(図7の画像処理)を実行する制御装置70のCPU71が「識別手段」に相当する。なお、本実施例では、部品データを管理装置80のHDD83に記憶し、図10や図13の部品データ作成処理を管理装置80のCPU81が実行するものとしたが、これに限定されるものではなく、部品データを制御装置70のHDD73に記憶し、部品データ作成処理を制御装置70のCPU71が実行するものとしてもよい。この場合、制御装置70が「データ取扱装置」に相当する。また、本実施例では、図6の部品実装処理のS140の処理(画像処理)を制御装置70のCPU71が実行するものとしたが、これに限定されるものではなく、管理装置80のCPU81が、部品実装処理のS120で部品Pを撮像した撮像画像を制御装置70から取得して画像処理を実行するものとしてもよい。
なお、本発明は上述した実施例に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の態様で実施し得ることはいうまでもない。