次に、図面を参照して本発明の実施の形態を詳細に説明する。
(第1参考例)
図1及び図2に示すように、本参考例の部品実装装置1は、実装ヘッド2、基板搬送部3、カセット部品供給部4、トレイ部品供給部5A,5B、ノズルステーション6及び制御部7を備えている。
実装ヘッド2は、X−Yロボット11により水平面内で直交する2方向(後述するx軸方向及びy軸方向)に移動する。図3に示すように、実装ヘッド2には部品12を吸着保持する2本の吸着ノズル2A,2Bが搭載される。これら吸着ノズル2A,2B間の間隔βは一定である。吸着ノズル2A,2Bは矢印A1で示すように昇降可能であると共に、矢印A2で示すようにそれ自体の軸線回りに回転可能である。実装ヘッド2に装着される吸着ノズル2A,2Bは交換可能であり、ノズルステーション6に保持された交換用の吸着ノズルを実装ヘッド2に搭載することができる。実装ヘッド2は、吸着ノズル2A,2Bに保持された部品を認識するためのヘッド部品認識カメラ2Cを備えている。図3において2Dはヘッド部品認識カメラ2Cが吸着ノズル2A,2Bに吸着保持された部品を認識可能とするための水平移動するプリズムである。また、図3において2E,2Fは実装ヘッド2に取り付けられた基板認識カメラであり、図1及び図2において13は固定部品認識カメラである。
図1及び図2において矢印A3で示すように基板搬送部3に搬入された基板15は、レール3A上を搬送されて所定位置で位置決め保持される。部品実装中は、基板15は固定されている。実装終了後、矢印A4で示すように基板15はレール3A上を搬送されて部品実装装置1から搬出される。
カセット部品供給部4には、例えば図5に示すような部品カセット20が複数個搭載される。図4に示すように、カセット部品供給部4には複数対の位置決め孔4a,4bが一定のピッチPで設けられている。図5に示すように、部品カセット20は位置決め孔4a,4bと対応する位置決め突起20a,20bを備えている。取り付け孔4a,4bに対して位置決め突起20a,20bを差し込むことにより、カセット部品供給部4上で部品カセット20が位置決めされる。部品カセット20は、部品12を内蔵するキャリアテープ20cを巻回したリール20dを一端側に備え、他端側にキャリアテープ20c内の部品が露出される取り出し位置20eを備えている。カセット部品供給部4に搭載された複数の部品カセット20は、それらの取り出し位置20eが基板15側でx方向に一直線に配置される。カセット部品供給部4の基板15側に配置された取り出し位置20eは、基板15のカセット部品供給部4側の端部に対して距離を隔てて配置されている。
トレイ部品供給部5A,5Bは、複数の部品トレイ17を互いに間隔をあけて積み重ねた状態で収容したトレイ収容部を備えている。トレイ収容部に収容された部品トレイ17のうちの選択された一つの部品トレイ17が図2に示す供給位置に配置される。シャトルコンベア18は、供給位置にある部品トレイ17から取り出した部品12を載せ、実装ヘッド2により吸着可能な所定位置まで搬送する。
図6に示すように、制御部7は、中央演算処理装置(CPU)7Aと、動作制御に必要な情報を記憶し、CPU7Aにより情報の読み出し及び書き込みが行われる記憶部7Bとを備えている。また、制御部7は、入力部7C、表示部7D、及び出力部7Eに接続され、情報の入出力を制御する入出力制御部7Fを備えている。記憶部7Bには後述する部品実装最適化装置30により最適化された部品カセット20の配列順序、実装順序等が記憶され、それに基づいて実装ヘッド2、吸着ノズル2A,2B等を制御して基板15に対する部品の実装を実行する。
図1及び図2に示す部品実装最適化装置30は、パーソナルコンピュータ、ワークステーション、又は大型計算機等のコンピュータにより構成される。図7に示すように、部品実装最適化装置30は、中央演算処理装置(CPU)30Aと、動作制御に必要な情報を記憶し、CPU30Aにより情報の読み出し及び書き込みが行われる記憶部30Bとを備えている。また、部品実装最適化装置30は、入力部30C、表示部30D、及び出力部30Eに接続されて情報の入出力を制御する入出力制御部30Fを備えている。記憶部30Bには部品実装最適化プログラムが記憶されており、CPU30Aがこの部品実装最適化プログラムを実行し、最適化された部品カセット20の配列順序、実装順序等を算出する。算出された部品カセット20の配列順序、実装順序等は出力部30Eから、フロッピーディスク、CD−R等の記憶媒体31に記憶され、この記憶媒体31を介して部品実装装置1の制御部7の記憶部7Bに入力される。LAN、インターネット等の有線及び/又は無線の通信回線を介して部品実装最適化装置30と部品実装装置1の制御部7を接続し、この通信回線を介して部品実装最適化プログラムにより算出された部品カセット20の配列順序、実装順序等を部品実装最適化装置30から制御部7に送信してもよい。部品実装装置1の制御部7の記憶部7Bに部品実装最適化プログラムを記憶させ、制御部7において部品実装最適化プログラムを実行し、最適化された部品カセット20の配列順序、実装順序等を算出してもよい。
部品実装最適化プログラムは、図示しないプログラム作成用のコンピュータにより作成したものを記憶媒体31に記憶させ、記憶媒体31及び入力部7C,30Cを介して部品実装最適化装置30又は部品実装装置1の制御部7に記憶させることができる。また、プログラム作成用のコンピュータや部品実装最適化装置30で作成した部品実装最適化プログラムをLAN、インターネット等の有線及び/又は無線の通信回線を介して部品実装装置1に送信して記憶させてもよい。
図8を参照して、一対の吸着ノズル2A,2Bの両方を使用してカセット部品供給部4に搭載された複数の部品カセット20により供給される部品12を基板15に実装する際の実装ヘッド2の動作を説明する。動作開始時には、一対の吸着ノズル2A,2Bのいずれにも部品12は吸着保持されていない。まず、実装ヘッド2はカセット部品供給部4へ移動し、ステップS8−1においていずれか一方の吸着ノズル2A,2B(例えば左側の吸着ノズル2A)に、いずれかの部品カセット20の部品12を吸着保持する。詳細には、X−Yロボット11により実装ヘッド2がX方向及びY方向に移動することにより所定の部品カセット20の取り出し位置20eに対して左側の吸着ノズル2Aが位置決めされた後、左側の吸着ノズル2Aが降下し、その先端に部品12を吸着保持する。この左側の吸着ノズル2Aに吸着保持された部品12は、ステップS8−2においてヘッド部品認識カメラ2Cにより認識される。必要な場合には、この認識結果に基づいて左側の吸着ノズル2Aがその軸線周りに回転し、部品12の姿勢が補正される。この認識中に、ステップS8−3において右側の吸着ノズル2Bが所定のカセット20の部品12を吸着する。この時点で、一対の吸着ノズル2A,2Bの両方に、部品12が吸着保持される。右側の吸着ノズル2Bに吸着保持された部品12は、ステップS8−4においてヘッド部品認識カメラ2Cで認識される。
前記ステップS8−4の認識中に、X−Yロボット11によって実装ヘッド2が基板15上に移動し、ステップS8−5において左側の吸着ノズル2Aに吸着保持された部品12が予め定められた実装点に装着される。次に、実装ヘッド2はカセット部品供給部4に戻り、ステップS8−6において新たな部品12を左側の吸着ノズル2Aに吸着し、この部品12はステップS8−7においてヘッド部品認識カメラ2Cにより認識される。また、この認識中に実装ヘッド2が基板15上に移動し、ステップS8−8において右側の吸着ノズル2Bに吸着保持された部品12が予め定められた実装点に装着される。次に、実装ヘッド2はカセット部品供給部4に戻り、ステップS8−9において新たな部品12を右側の吸着ノズル2Bが吸着し、この部品12はステップS8−10においてヘッド部品認識カメラ2Cにより認識される。以降、ステップS8−11からステップS8−20に示すように、同様の動作が繰り返される。
一方、部品トレイ17の形態で供給される部品12は、シャトルコンベア18によってトレイ部品供給部5A,5Bから実装ヘッド2により吸着可能な所定位置まで搬送される。図9に示すように、一対の吸着ノズル2A,2Bのうち一方の吸着ノズル2A,2Bのみ(例えば左側の吸着ノズル2A)を使用して、部品12の実装が行われる。まず、ステップS9−1において実装ヘッド2が所定位置まで移動し、左側の吸着ノズル2Aが部品12を吸着する。次に、ステップS9−2において左側の吸着ノズル2Aにより吸着保持された部品12がヘッド部品認識カメラ2Cにより認識される。次に、実装ヘッド2が基板15上に移動し、ステップS9−3において基板15に部品12が装着される。装着後、実装ヘッド2は所定位置に戻り、ステップS9−4からステップS9−11に示すように同様の動作が繰り返される。
吸着ノズル2A,2Bの一方のみを使用してカセット部品を実装する場合はトレイ部品の場合と同様であり、前記図9に示すように吸着、認識、及び装着が繰り返される。
前記部品実装最適化プログラムにより実行される部品実装最適化方法について説明する。まず、図10を参照して座標系の設定の仕方について説明する。基板上にx軸とy軸を設定し、任意の実装点Mi(iは自然数)の座標を(xi,yi)と表す。x軸とy軸はX−Yロボット11による実装ヘッド2の移動方向と平行である。また、y軸は基板15とカセット部品供給部4の対向方向に延びている。カセット部品供給部4に、部品カセット20の配列位置を表すためのz軸を設定する。このz軸とx軸とは互いに平行であり、x軸とz軸との間の距離をα(正の値)とする。また、x軸及びy軸の原点からz軸に下ろした垂線とz軸との交点にz軸の原点が位置している。各部品カセット20の取り出し位置20eはz軸上に位置している。
次に、図11(A)〜(C)を参照して、実装ヘッド2が二点間を移動するのに要する時間について説明する。実装ヘッド2は、図11(A)において矢印C1で示すように二点間のユークリッド距離を移動するのではない。実装ヘッド2のx軸方向の移動速度とy軸方向の移動速度とが等しい場合、二点間のx軸方向の距離Δxとy軸方向の距離Δyのうち短い方の移動が先に終了する。例えば、図11(B)に示すようにΔyがΔxよりも短い場合には、先にy軸方向の移動が終了し、その後はx軸方向の移動のみが行われる。その結果、実装ヘッド2の移動の軌跡は矢印C2で示すように折れ線状となる。これとは逆に、図11(C)に示すようにΔxがΔyよりも短い場合には、先にx軸方向の移動が終了し、その後はy軸方向の移動のみが行われ、実装ヘッド2の移動の軌跡は矢印C3で示すような折れ線状となる。従って、実装ヘッド2の移動速度がx軸方向とy軸方向とで等しい場合、実装ヘッド2が二点間を移動するために要する時間は、二点間のx軸方向及びy軸方向の距離Δx、Δyのうち大きいほうの値と、実装ヘッドの移動速度により決まる。これは実装点間を移動する場合のみでなく、実装点からカセット部品供給部4やトレイ部品供給部5A,5Bに移動する場合も該当する。
次に、図12を参照して、実装ヘッド2が基板15上の実装点M1(x1,y1)からカセット部品供給部4(z軸)に移動するのに要する時間について説明する。実装点M1からz軸に下ろした垂線とz軸との交点を中心として、z軸上の正負の方向に(|Δy|+α)の範囲Rを考える。ここでΔyは実装ヘッド2が実装点M1からx軸まで移動する際の最短の移動距離であり、αは前述のようにx軸とz軸の間の距離である。実装ヘッド2が実装点M1からz軸上この範囲R内にある任意の一点に移動する場合、y軸方向の移動距離(|Δy|+α)がx軸方向の移動距離Δxよりも大きいか、y軸方向の移動距離(|Δy|+α)とx軸方向の移動距離Δxと等しい。従って、実装ヘッド2が実装点M1からこの範囲R内にある任意の一点に移動するために要する時間は、一定であってx軸方向の移動距離と無関係である。換言すれば、基板15上の実装点M1からz軸(カセット部品供給部4)に戻るために最低限必要な時間内に、実装ヘッド2は実装点M1から前記z軸上の範囲R内にある任意の一点に到達することができる。そこで、この範囲Rを最短時間z範囲と呼ぶ。
このようにX−Yロボット11により移動する実装ヘッド2が、任意の実装点から最短時間時間で到達できるz軸上の座標は一つではなく、一定の範囲がある。また、最短時間z範囲Rは実装点M1のy座標と、z軸とx軸との距離αにより決まれる。なお、実装ヘッド2のx軸方向の移動速度がy軸方向の移動速度が等しい場合だけでなく、実装ヘッド2のx軸方向の移動速度がy軸方向の移動速度よりも速い場合にも、任意の実装点について最短時間z範囲Rが定まる。第1参考例では、この最短時間z範囲Rを使用して部品実装の最適化を行う。
次に、図13及び図14のフローチャートを参照して、部品実装最適化装置30がその記憶部30Bに記憶した部品実装最適化プログラムにより実行する部品実装最適化方法を説明する。
まず、実装ヘッド2の2本の吸着ノズル2A,2Bのうち一方のみを使用してカセット部品供給部4から供給される部品12を実装する場合について説明する。また、吸着ノズル2A、2Bの交換はないものとする。さらに、一つの部品カセット20により供給される部品12は実装点を1個だけ有するものとする。
ステップS13−1において、部品実装最適化装置30にNCデータが入力される。このNCデータには、実装する部品、及び各部品の実装点の座標が含まれている。次に、ステップS13−2において、前記最短時間z範囲Rを使用してカセット部品供給部4における部品カセット20の配列を決定する。これについて図15を参照して説明する。
図15において、M1、M2、M3、M4は実装点であり、これらの座標を(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)とする。各実装点Miに対応する部品をPiとし、部品Piを供給する部品カセット20が配列されるz座標をziとする。
実装順序は、x座標の小さい順とする。従って、実装点M1、M2、M3、及びM4の順で実装する。また、2つの実装点のx座標が等しい場合には、y座標の小さいものを先に実装する。
実装点Miに対する最短時間z範囲Riの下限値をzi1、上限値をzi2とすると、各実装点M1〜M2についての最短時間z範囲の上限値及び下限値は以下のようになる。
実装点M1:z11=x1−(y1+α),z12=x1+(y1+α)
実装点M2:z21=x1−(y2+α),z22=x1+(y2+α)
実装点M3:z31=x1−(y3+α),z32=x1+(y3+α)
実装点M4:z41=x1−(y4+α),z42=x1+(y4+α)
一般に、実装点Miに対する最短時間z範囲Riの下限値zi1及び上限値zi2は、以下のようになる。
実装点Mi:zi1=xi−(yi+α),zi2=xi+(yi+α)
1番目に実装する実装点M1についは、対応する部品P1の部品カセット20を最短時間z範囲R1内に配列すれば、実装ヘッド2がカセット部品供給部4から実装点M1へ移動するのに要する時間が最短となる。従って、部品P1の部品カセット20を配列できるz座標z1は以下の通りとなる。
z11≦z1≦z12
実装ヘッド2は実装点M1で部品P1を実装した後、実装点M1からカセット部品供給部4に移動して部品P2を吸着し、さらにカセット部品供給部4から実装点M2に移動して部品P2を装着する。実装点M2に対応する部品カセット20を、実装点M1の最短時間z範囲R1と実装点M2の最短時間z範囲R2の共通する範囲に配列すれば、部品P2を吸着するために実装点M1からz軸に移動するのに要する時間と、部品P2を装着するためにz軸から実装点M2に移動するのに要する時間の両方が最短となり、移動時間のロスがない。従って、実装点M1、M2の最短時間z範囲Rの重複範囲R12に部品P2の部品カセット20を配列すればよく、部品P2の部品カセット20を配列できるz座標z2は以下のようになる。
z21≦z2≦z12
3番目以降に実装する実装点M3、M4についても、同様にして対応する部品P3、P4の部品カセット20を配列できるz座標z3,z4が得られる。2番目以降の実装点Mi(i≧2)について、対応する部品Piの部品カセット20を配列できるz座標ziは以下のようになる。
zi1≦zi≦zi−1,2
2番目以降の実装点Miの最短時間z範囲Riと、直前の実装点Mi−1の最短時間z範囲Ri−1が重ならない場合には、実装点Miの最短時間z範囲Riのうちで最も実装点Mi−1の最短時間z範囲Riに近い位置に実装点Miに対応する部品Piの部品カセット20を配列する。例えば、図16に示すように、2番目の実装点M2の最短時間z範囲R2と3番目の実装点M3の最短時間z範囲R3が重ならない場合には、部品P3の部品カセット20のz座標z3は、実装点M3の最短時間z範囲R3の下限値であるz31に設定される。
以上のようにして各実装点Miに対応する部品Piの部品カセット20のz座標ziを決定した後、図13のステップS13−3の重なり補正が実行される。図5に示すように、カセット部品供給部4の位置決め孔4a,4bは一定のピッチで設けられているが、部品カセット20は供給する部品の種類、寸法等により幅W(図4及び図5参照)が異なり、位置決め孔4a,4bの中心線からの部品カセット20の左右両側面までの占有寸法WL,WR(図4参照)も部品カセット20の種類により異なる。また、幅Wが大きい場合には1個の部品カセット20が二対以上の位置決め穴4a,4bを占有する。そのため、単に上記ステップS13−2で求めた最短時間z範囲Riの重複範囲に各部品カセット20の配列位置を設定しただけでは、隣接する2つの部品カセット20が干渉してカセット部品供給部4に配列できない場合がある。例えば、一対の位置決め孔4a,4bを占有する幅Wが8mmの部品カセット20と、二対の位置決め孔4a,4bを占有する幅Wが16mmの部品カセット20は、隣接する二対の位置決め孔4a,4bに配列することはできない。この部品カセット20間の干渉を防止するために、重なり補正が必要となる。
図14のフローチャートに従って重なり補正について説明すると、まず、ステップS14−1において、前記図13のステップS13−2で決定した配列順序で部品カセット20を仮配列する。次に、ステップS14−2において、仮配列した場合に隣接する部品カセット20の占有領域が互いに重なるために配列できない位置の数である重なり度T1を算出する。ステップS14−3では、部品カセット20の占有領域が重なる部分のうちの一つを選択する。次に、ステップS14−4において、部品カセット20の再配列を行う。具体的には、選択した重なり部分で2個の部品カセット20が配列可能となるように、これら2個の部品カセット20の配列位置を左右に一対又は複数対の位置決め孔4a,4b分ずらす。また、それに伴って残りの部品カセット20の配列位置も左右に一対又は複数対の位置決め孔4a,4b分ずらす。この再配列後、ステップS14−5において重なり度T2を算出する。ステップS14−6において再配列後の重なり度T2が再配列前の重なり度T1よりも小さければステップS14−7において重なり度T1に重なり度T2を代入する。一方、ステップS14−6において再配列後の重なり度T2が再配列前の重なり度T1より小さくなければ、ステップS14−3において別の重なり部分を選択してステップS14−4,14−5の処理を繰り返す。ステップS14−8において重なり度T1がゼロであれば、隣接する部品カセット20が重なる部分がないので、その配列をカセット部品供給部4における部品カセット20の配列に決定する。一方、ステップS14−8において重なり度T1がゼロでなければステップS14−4〜S14−7の処理を繰り返す。
次に、実装ヘッド2の2本の吸着ノズル2A,2Bを両方使用してカセット部品供給部4から供給される部品を実装する場合の部品カセット20の配列及び実装順序の決定について、図17から図19を参照して説明する。吸着ノズルの交換はないものとする。また、一つの部品カセット20により供給される部品は実装点を1個だけ有するものとする。図13のフローチャート中でステップS14−2の処理が前述の1本の吸着ノズルのみを使用する場合と異なる。
1番目の実装点としてx座標が最小の実装点Miを選択し、この1番目の実装点Miへの部品の装着には左側のノズル2Aを使用する。図17では実装点M1のx座標z1が最小であるので、実装点M1が1番目の実装点なる。
2番目の実装点は以下のように決定する。まず、1番目の実装点を実装ヘッド2の左右の吸着ノズル2A,2B間の間隔βだけx軸の正方向に移動させた仮想の実装点M1’を想定し、この仮想の実装点M1’の最短時間z範囲R1’と重複する最短時間z範囲を有する実装点のうちx座標が最小である実装点を2番目の実装点に選択する。図17において1番目の実装点M1(最短時間z範囲の上下限値はz11,z12)を間隔βだけx軸の正方向に移動させた仮想の実装点M1’では最短時間z範囲R1’の下限値が(z11+β)で、上限値が(z12+β)である。この仮想の実装点M1’の最短時間z範囲R1’と重複する最短時間z範囲を有する実装点のうちx座標が最小である実装点は実装点M2(最短時間z範囲の上下限値はz21,z22)であるので、実装点M2が2番目の実装点となる。
2番目の実装点よりx座標が小さい実装点が左側のノズル2Aを使用して部品を装着する実装点であり、これらのうちでx座標の値が小さい実装点から順に部品が装着される。一方、2番目の実装点よりx座標が大きい実装点が右側のノズル2Bを使用して部品が装着される実装点であり、これらのうちでx座標の値が小さい実装点から順に部品が装着される。図17の例では、左側の吸着ノズル2Aにより実装点M3、実装点M5の順で対応する部品P3、P5が装着され、右側の吸着ノズル2Bにより実装点M4、実装点M6の順で対応する部品P4,P6が装着される。従って、図17の例で、3番目以降の実装順序は実装点M3、M4、M5、M6となる。
次に、各実装点Miに対応する部品Piの部品カセット20の配列を説明する。1番目及び2番目の実装点については、左側の吸着ノズル2Aで1番目の実装点に対応する部品をカセット部品供給部4から吸着し、続いて右側の吸着ノズル2Bで2番目の実装点に対応する部品をカセット部品供給部から吸着する(図8のステップS8−1〜S8−4参照)。従って、実装ヘッド12の移動を低減するには、1番目の実装点に対応する部品P1の部品カセット20と2番目の実装点に対応する部品P2の部品カセット20との間の距離は、以下のように吸着ノズル2A,2B間の間隔βと等しいことが好ましい。
z1=z2−β
一方、実装点M2に対応する部品P2の部品カセット20は、前記仮想の実装点M1’についての最短時間z範囲R1’と、実装点M2についての最短時間z範囲R2の重複範囲に配列される。従って、実装点M2に対応する部品P2の部品カセット20のz座標z2は、図17においてz軸上の太線で示すように以下の範囲となる。
z21≦z2≦z12+β
よって、1番目の実装点M1に対応する部品P1の部品カセット20のz座標z1の範囲は以下の通りとなる。
z21−β≦z1≦z12
3番目の実装点及び対応する部品の部品カセットの配列は以下のように決定される。2番目の実装点M2に対応する部品P2をカセット部品供給部4から吸着した後、実装ヘッド2はカセット部品供給部4から基板15に移動し、左側のノズル2Aで1番目の実装点M1に対応する部品P1を装着する。続いて、実装ヘッド2は基板15からカセット部品供給部4に戻り左側のノズル2Aで3番目の実装点M3に対応する部品P3を装着する。さらに、実装ヘッド2はカセット部品供給部4から基板15に移動して右側のノズル2Bで2番目の実装点M2に部品P2を実装する(図8のステップS8−5〜S8−8参照)。
このように左側の吸着ノズル2Aによる実装点M3の部品P3の吸着は、左側の吸着ノズル2Aによる実装点M1への部品P1の装着と、右側の吸着ノズル2Aによる実装点M2への部品P2の装着との間に行われる動作である。従って、図18に示すように実装点M2を吸着ノズル2A,2B間の間隔βだけx軸の負の方向に移動させた仮想の実装点M2’を想定し、この仮想の実装点M2’の最短時間z範囲R2’(下限値z21−β、上限値z22−β)と、実装点M1の最短時間z範囲R1(下限値z11、上限値z12)との重複範囲に、実装点M3に対応する部品P3の部品カセット20を配列すれば、実装ヘッド2が実装点M1からカセット部品供給部4へ移動するのに要する時間と、実装ヘッド2がカセット部品供給部4から実装点M2へ移動するのに要する時間の両方が最短となり、移動時間のロスがない。よって、実装点M3に対応する部品P3の部品カセット20のz座標z3は、図18においてz軸上の太線で示すように以下の範囲となる。
z21−β≦z3≦z12
右側の吸着ノズル2Bによる4番目の実装点M4に対応する部品P4の吸着は、右側の吸着ノズル2Bによる2番目の実装点M2への部品P2の装着と、左側の吸着ノズル2Aによる3番目の実装点M3への部品P3の装着との間に行われる動作である(図8のステップS8−8〜S8−11参照)。従って、図19に示すように実装点M3を間隔βだけx軸の正の方向に移動させた仮想の実装点M3’を想定し、この仮想の実装点M3’の最短時間z範囲(下限値z31+β、上限値z32+β)と、実装点M2の最短時間z範囲(下限値z21、上限値z22)との重複範囲に、実装点M4に対応する部品P4の部品カセット20を配列すれば、実装ヘッド2が実装点M2からカセット部品供給部4へ移動するのに要する時間と、実装ヘッド2がカセット部品供給部4から実装点M3へ移動するのに要する時間の両方が最短となり、移動時間のロスがない。よって、実装点M4に対応する部品P4の部品カセット20のz座標z4は、図19においてz軸上の太線で示すように以下の範囲となる。
z31+β≦z4≦z22
一般に、3番目以降の実装点Mi(i≦3)に対応する部品Piの部品カセット20のz座標ziは以下の配列範囲に設定される。
zi−1,1−β≦zi≦zi−2,2(i:奇数)
zi−1,1+β≦zi≦zi−2,2(i:偶数)
次に、各部品カセット20から供給される部品12が複数の実装点Miを有する場合、すなわち多点部品の場合について説明する。実装ヘッド2の2本の吸着ノズル2A,2Bを両方使用し、吸着ノズルの交換はないものとする。この場合も、図13のフローチャート中でステップS14−2の処理が前述の1本の吸着ノズルのみを使用する場合と異なる。
まず、ステップS20−1において、多点部品を部品点数でソートする。次に、ステップS20−2において、一つの多点部品について実装点毎に仮想の部品名を付与する。ステップS20−3では、ステップS20−2で仮想の部品名を付与した実装点毎に最短時間z範囲を算出し、これらの重複範囲を算出する。
ステップS20−4では、その多点部品を供給する部品カセット20の仮の配列範囲を決定する。具体的には、ステップS20−3で求めた最短時間z範囲の重複範囲のうち最も多数の実装点についての最短時間z範囲が重複している範囲を仮の配列範囲として選択する。例えば、図21に示すように、4個の実装点に仮想の部品名A−1〜A−4を付与した多点部品について7個の最短時間z範囲の重複領域S1〜S7が存在する場合、最も多数の仮想の部品A−1〜A−4についての最短時間z範囲が重複するものをその多点部品の仮の配列範囲に選択する。図21の例では、重複領域S1,S3,S5,S7では1個、重複領域S2,S4,S6では2個の仮想の部品の最短時間z範囲が重複するので、重複領域S2,S4,S6のうちから仮の配列範囲を選択する。これらのうち重複領域S4が仮想の部品A−1〜A−4の実装点のx軸方向(z軸方向)の分布中心に近い位置にあるので、この重複領域S4を仮の配列範囲に選択する。
ステップS20−5においてすべての多点部品について仮の配列範囲が決定されるまで、ステップS20−2〜S20−4の処理を繰り返す。次に、ステップS20−6において、実装点数の多い多点部品から前記仮の配列範囲内に部品カセットの配列範囲を決定する。例えば、図22に示すように、3つの多点部品について前記ステップS20−4で決定した仮の配列範囲がS1,S2,S3で示すようにz軸上で分布し、仮の配列範囲S1に対応する多点部品の実装点数が5、仮の配列範囲S2に対応する多点部品の点数が10、仮の配列範囲S3に対応する多点部品の実装点数が7であれば、S2、S3、S1の順で部品カセットの配列を決定する。
ステップS20−7において、実装点数が同一である多点部品があれば、ステップS20−8において仮の配列範囲が狭い順に部品カセットの配列を決定する。例えば、図23に示すように、実装点数が同一である3種類の多点部品P1,P2,P3について前記ステップS20−4で決定した仮の配列範囲がS1,S2,S3で示すようにz軸上で分布している場合、仮の配列範囲が狭い順、すなわちP1,P2,P3の順で部品カセット20の配列を決定する。これとは逆に、まず、仮の配列範囲が狭い順に部品カセットの配列を決定し、配列範囲が重複した場合には実装点数の多い多点部品の部品カセットの配列を決定してもよい。
以上のように、第1参考例では基板15上の各実装点Miについての最短時間z範囲Riに基づいてカセット部品供給部4における部品カセット20の配列及び実装順序を決定するので、戻り動作における実装ヘッド2の移動距離のロスを低減し、タクトの短縮を図ることができる。
(第2参考例)
次に、本発明の第2参考例について説明する。この第2参考例は部品実装最適化プログラムが第1参考例と異なり、部品実装装置1や部品実装最適化装置30の構成は第1参考例と同一である。
実装ヘッド2に搭載する吸着ノズルを交換可能である場合、使用するノズルの種類及びその本数によって部品を実装する効率が異なる。これについて、図25に示すように、実装点M1〜M8があり、これらのうち実装点M1〜M7に装着する部品には“S”の吸着ノズルを使用し、実装点M8に装着する部品には“M”の吸着ノズルを使用する場合について検討する。“S”及び“M”の吸着ノズルをそれぞれ1本ずつつ使用し、実装ヘッド2の左側の吸着ノズル2Aとして“S”の吸着ノズルを使用し、右側の吸着ノズル2Bとして“M”の吸着ノズルを使用する場合、図26(A)に示すように、右側の吸着ノズル2Bは1回しか使用せず、左側の吸着ノズル2Aのみを連続して使用することになる。一方、“S”の吸着ノズルを2本、“M”の吸着ノズルを1本使用し、実装動作中に右側の吸着ノズル2Bを“M”から“S”に交換すれば、左右の吸着ノズル2A,2Bを均等に使用して効率的に実装を行うことができる。第2参考例の部品実装最適化プログラムによる部品実装最適化方法は、このような効率的な実装を実現するために、使用する吸着ノズルの種類及びその本数を決定するものである。
図24のフローチャートを参照して、第2参考例の部品実装最適化方法を説明すると、まず、ステップS24−1において、実装ヘッド2に搭載可能なノズルの本数が入力される。図1の部品実装装置1の場合、実装ヘッド2に搭載可能なノズルの本数は2本である。次に、ステップS24−2において、ノズルリソース(ユーザが保持している吸着ノズルの種類及びその本数)が入力される。また、ステップS24−3において、NCデータが入力される。このNCデータには基板15上の装着位置とそれに対応する部品12の種類が含まれる。ステップS24−4では、前記NCデータに含まれている装着する部品12の種類から、使用する吸着ノズルの種類を決定する。
ステップS24−5では、ノズルセットを作成する。このノズルセットは使用する吸着ノズルの種類と、その種類毎の使用本数の組み合わせである。ノズルステーション6に保持可能なノズル本数には制約があるので、使用する吸着ノズルの種類が決まればすべてのノズルセットを列挙することができる。例えば、使用する吸着ノズルの種類が“S”と“M”であり、ノズルステーション6に“S”と“M”をそれぞれ最大2本保持可能な場合、以下の4個のノズルセットが存在する。
ノズルセット1:吸着ノズルSが1本、吸着ノズルMが1本
ノズルセット2:吸着ノズルSが2本、吸着ノズルMが1本
ノズルセット3:吸着ノズルSが1本、吸着ノズルMが2本
ノズルセット4:吸着ノズルSが2本、吸着ノズルMが2本
次に、ステップS24−6において、一つのノズルセットについてノズルパターン列を決定する。このノズルパターン列は、実装ヘッド2に装着する吸着ノズルの種類の組み合わせとその順序である。このノズルパターン列の決定について、図27のフローチャートを参照して説明する。まず、ステップS27−1において、ノズルセットから2本使用可能な吸着ノズルを選択し、実装ヘッドの左側ノズル12A,12Bに振り分ける。次に、ステップS27−2において、すべての2本使用可能な吸着ノズルについて振り分けが完了していれば、ステップS27−3において、ノズルセットの残り吸着ノズルから1本選択し、左側及び右側の吸着ノズル12A,12Bのうち実装点数が少ない方に振り分ける。ステップS27−4においてすべての部品について吸着ノズルの振り分けが完了していするまで、ノズルセットの残り吸着ノズルの振り分けが行われる。ステップS27−5においてすべてのノズルセットについて吸着ノズルの振り分けが完了するまで、ステップS27−1〜S27−4の処理が繰り返される。最後に、ステップS27−6において最大実装点数が最小となるノズルセットが選択される。
図28(A)〜(D)をさらに参照してノズルパターン列の決定について詳細に説明する。なお、吸着ノズルSで実装される部品点数は50個、吸着ノズルMで実装される部品点数は30個とする。図28(A)を参照してノズルセット1の場合について説明すると、2本使用可能なノズルはないので、ステップS27−1,S27−2の処理をスキップした後、例えば、実装点数が50である吸着ノズルSを左側の吸着ノズル12Aに設定し、実装点数30である吸着ノズルMを右側の吸着ノズル12Bに設定する。図28(A)〜(D)において縦軸は実装点数を示している。また、縦軸の値が大きい程、実装開始から時間が経過したノズルパターンであることを示している。例えば、図28(A)の場合、左右の吸着ノズル12A,12Bで30個の部品を実装するまでは、左側の吸着ノズル12Aが吸着ノズルS、右側の吸着ノズル12Bが吸着ノズルMのノズルパターンを使用し、31個目以降は、左側の吸着ノズル12A(吸着ノズルS)のみを使用することを示している。
図28(B)を参照してノズルセット2の場合について説明すると、吸着ノズルSは2本使用可能であるので、左右の吸着ノズル12A,12Bとしてそれぞれ吸着ノズルSを使用し、実装点数を25個ずつとする(ステップS27−1,S27−2)。また、31個めの部品以降は、左側の吸着ノズル12Aとして吸着ノズルMのみを使用する(ステップS27−3)。
図28(C)を参照してノズルセット3の場合について説明すると、吸着ノズルMは2本使用可能であるので、左右の吸着ノズル12A,12Bとしてそれぞれ吸着ノズルMを使用し、実装点数を15個ずつとする(ステップS27−1,S27−2)。また、16個目の部品以降は、左側の吸着ノズルとして吸着ノズルSのみを使用する(ステップS27−4)。
図28(D)を参照してノズルセット4の場合について説明すると、吸着ノズルS,Mとも2本使用可能であるので、左右の吸着ノズル12A,12Bとしてそれぞれ吸着ノズルMを使用し、実装点数を15個ずつとし、16個目の部品以降は左右の吸着ノズル12A,12Bとしてそれぞれ吸着ノズルSを使用する。
図28(A)〜(D)より明らかなように、各ノズルセット1〜4において左右の吸着ノズル12A,12Bの実装点数のうち大きいもの(最大実装点数)は、それぞれ50個、55個、65個、及び40個である。従って、ノズルセット4を選択し、図28(D)で示すノズルパターン列を採用する。
ステップS24−7において、各部品の実装順序とそれに対応する部品カセット20のカセット部品供給部4における配列を決定する。さらに、ステップS24−8では、ステップS24−6において決定したノズルパターン列(ステップS24−6)及び実装順序及びカセット配列(ステップS24−7)を使用し、実装に要する時間をシミュレーションにより算出する。シミュレーションによる実装時間の算出に代えて、実際に部品実装装置を動作させて実装時間を実測してもよい。ステップS24−9において、ステップS24−5で作成したすべてのノズルセットについてシミュレーションによる実測時間の算出が終了していなければ、ステップS24−6からステップS24−8の処理を繰り返す。ステップS24−6ですべてのノズルセットについて実装時間の算出が終了していれば、ステップS24−10において実装時間が最短のノズルセットを選択する。
第2参考例では、各ノズルセット毎に決定したノズルパターン列での実装時間を求め、この実装時間が最短となるノズルセットを選択するので、実装ヘッド2に搭載する吸着ノズル2A,2Bの組み合わせ及びその順序を最適化し、タクトの短縮を図ることができる。
(実施形態)
次に、本発明の実施形態について説明する。本実施形態は部品実装最適化プログラムが第1参考例のものと異なり、部品実装装置1や部品実装最適化装置30の構成は第1参考例と同一である。本実施形態の部品実装最適化プログラムによる部品実装最適化方法は、カセット部品供給部4により供給される部品(カセット部品)と、トレイ部品供給部5A,5Bにより供給される部品(トレイ部品)の両方を実装する場合の部品実装最適化に関するものである。
図29のフローチャートを参照して、本実施形態の部品実装最適化方法を説明すると、ステップS29−1においてカセット部品についてノズル表を作成する。このノズル表にはカセット部品のみについて最適化した部品実装順序と、実装ヘッド2の左右の吸着ノズル2A,2Bとして搭載される吸着ノズルの組み合わせ及びその順序、すなわちノズルパターン列とが含まれる(図31(A)参照)。カセット部品のノズル表は、第2参考例の方法(図24のフローチャート参照)により作成することができる。また、ステップS29−2においてノズル部品についてのノズル表を作成する。このノズル表にはトレイ部品のみについて実装点と、各実装点に対応する吸着ノズルの種類が含まれる(図31(B)参照)。
次に、ステップS29−3においてトレイ部品のノズル表から1個の吸着ノズルを選択する。ステップS29−4において、選択した吸着ノズルと同一種類の吸着ノズルがカセット部品のノズル表中にあれば、選択した吸着ノズル及び対応する実装点をカセット部品のノズル表の同一の吸着ノズルを使用する実装点の後に挿入する。一方、ステップS29−4において、選択した吸着ノズルと同一種類の吸着ノズルがカセット部品のノズル表中にない場合には、ステップS29−6において、選択した吸着ノズル及び対応する実装点をカセット部品のノズル表の最後に挿入する。ステップS29−7においてトレイ部品のノズル表中のデータがなくなるまで、ステップS29−1〜S29−6の処理が繰り返される。その結果、カセット部品のノズル表にノズル部品のノズル表が合成される。
例えば、図30において、実装点M1〜M6がカセット部品の実装点であり、実装点M7〜M9がトレイ部品の実装点であるものとする。また、カセット部品の実装点中、実装点M1、M3、M5については“S”の吸着ノズルを使用し、実装点M2については“M”の吸着ノズルを使用し、実装点M4、M6については“L”の吸着ノズルを使用するものとする。さらに、トレイ部品の実装点中、実装点M7、M8についは“M”の吸着ノズルを使用し、実装点M9については“L”の吸着ノズルを使用するものとする。
この場合、カセット部品のノズル表(図29のステップS29−1)は図31(A)に示すようになる。また、トレイ部品のノズル表(図29のステップS29−2)は図31(B)に示すようになる。例えば、トレイ部品のノズル表から“M”の吸着ノズルを選択し(ステップS29−3)、カセット部品のノズル表で同一種類の“M”の吸着ノズルがある否かを検索すると(ステップS29−4)、右側の吸着ノズル2Bとして最初に“M”の吸着ノズルを使用するので、選択した“M”の吸着ノズル及び対応する実装点M7、M8をカセット部品のノズル表における“M”の吸着ノズルを使用する実装点M2の後に挿入する(ステップS29−5)。同様に、トレイ部品のノズル表から“L”の吸着ノズルを選択し(ステップS29−3)、カセット部品のノズル表で同一の“L”の吸着のズルがあるか否かを検索すると(ステップS29−4)、2種類目の右側の吸着ノズル2Bとして“L”の吸着ノズルを使用するので、選択した“L”の吸着ノズル及び対応する実装点M9をカセット部品のノズル表における“L”の吸着ノズルを使用する実装点M6の後に挿入する(ステップS29−5)。以上の処理により、トレイ部品のノズル表のデータがすべて処理され(ステップS29−7)、図31(C)に示すように、カセット部品のノズル表にトレイ部品のノズル表が合成される。
本実施形態では、カセット部品についてのみ最適化したカセット部品実装順序とトレイ部品についてのみの実装順序であるトレイ部品実装順序とを合成することにより、カセット部品及びトレイ部品の両方について最適化した実装順序を作成するので、カセット部品とトレイ部品の両方を実装する場合の合理的な実装順序が得られ、タクトの短縮を図ることができる。