(57)【要約】【課題】装着ヘッドのアーチモーション動作等に起因する部品の干渉を考慮した高速かつ高密度実装に適した部品実装順序決定方法を提供する。【解決手段】装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定する部品実装順序決定方法であって、基板に実装する全部品について、１以上の実装点に対応する部品からなる部品グループの単位で、基板への装着順を決定する装着順決定ステップ（Ｓ６１１０）と、装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、装着順決定ステップ（Ｓ６１１０）で決定された装着順を維持した状態で、全部品をタスクに分割し、分割したタスクの実装順序を決定するタスク順決定ステップ（Ｓ６１１１）とを含む。【選択図】図７
2006245537.tif 000002
【特許請求の範囲】
【請求項１】
複数の部品を吸着して移動し、前記複数の部品を基板に装着する装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定する部品実装順序決定方法であって、
部品の装着順に関する先後関係における制約条件に基づき基板への装着順を決定する装着順決定ステップと、
装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、前記装着順決定ステップで決定された装着順を維持した状態で、全部品をタスクに分割し、分割したタスクの実装順序を決定するタスク順決定ステップと
を含むことを特徴とする部品実装順序決定方法。
【請求項２】
前記装着順決定ステップでは、基板に部品を装着する際に生じ得る部品と部品又は部品と装着ヘッドとの衝突である干渉が生じないように、前記装着順を決定する
ことを特徴とする請求項１記載の部品実装順序決定方法。
【請求項３】
前記装着順決定ステップでは、装着ヘッドのアーチモーション動作に起因する干渉が生じないように、前記装着順を決定する
ことを特徴とする請求項２記載の部品実装順序決定方法。
【請求項４】
前記装着順決定ステップでは、全部品について、装着ヘッドがアーチモーション動作をしながら部品を基板に装着する場合における装着ヘッドの移動空間の範囲内に、基板に実装された他の部品又は他の部品の一部分が存在することとなるか否かを判断し、存在することとなると判断した場合には、判断対象となる部品を前記他の部品よりも先に装着するように前記装着順を決定する
ことを特徴とする請求項３記載の部品実装順序決定方法。
【請求項５】
前記装着順決定ステップでは、前記判断した結果に基づき、先に装着すべき部品の集まりを第１部品グループとして特定し、前記第１部品グループを除く部品の中で、次に装着すべき部品の集まりを第２部品グループとして特定するという処理を繰り返すことで、前記装着順として、部品グループの列を生成する
ことを特徴とする請求項４記載の部品実装順序決定方法。
【請求項６】
前記装着順決定ステップでは、基板に装着された部品の３次元的な位置及び形状を示す３次元マップを生成し、生成した３次元マップにおいて、前記判断した結果に基づき、先に装着すべき部品の集まりを第１部品グループとして特定する
ことを特徴とする請求項５記載の部品実装順序決定方法。
【請求項７】
前記装着順決定ステップでは、特定された部品グループに属する部品を基板に配置した状態を示すよう前記３次元マップを更新し、次に装着すべき部品グループを特定するという処理を繰り返す
ことを特徴とする請求項６記載の部品実装順序決定方法。
【請求項８】
前記タスク順決定ステップでは、前記装着順決定ステップで決定された部品グループごとに、前記タスクと前記タスクの実装順序とを決定する
ことを特徴とする請求項１記載の部品実装順序決定方法。
【請求項９】
前記装着ヘッドには、部品を吸着するｎ個の吸着ノズルが備えられ、
前記タスク順決定ステップでは、前記装着順決定ステップで決定された装着順に並べられた部品をｎ個ずつ区切って得られる部品群及びその部品群の並びを、それぞれ、前記タスク及び前記タスクの実装順序として決定する
ことを特徴とする請求項１記載の部品実装順序決定方法。
【請求項１０】
前記部品実装順序決定方法はさらに、前記タスク順決定ステップで決定されたタスクごとに、前記装着ヘッドが部品を吸着する際の吸着順を決定する吸着順決定ステップを含む
ことを特徴とする請求項１記載の部品実装順序決定方法。
【請求項１１】
前記装着ヘッドには、部品を吸着するｎ個の吸着ノズルが備えられ、
前記タスク順決定ステップでは、前記部品実装機に配置される部品の並びに沿って各部品を１個ずつ取り出して得られる最大ｎ個の部品の集まりをタスクと決定し、
前記吸着順決定ステップでは、前記タスクを構成する部品のうち、前記部品の並びにおいて連続して並ぶ部品については、前記装着ヘッドが同時に吸着するように、前記吸着順を決定する
ことを特徴とする請求項１０記載の部品実装順序決定方法。
【請求項１２】
前記装着ヘッドには、部品を吸着するｎ個の吸着ノズルが備えられ、
前記タスク順決定ステップでは、前記部品実装機に配置される部品の並びから、基板に実装すべき部品の員数が多い部品から順に部品を取り出して得られる最大ｎ個の部品の集まりをタスクと決定し、
前記吸着順決定ステップでは、基板に実装すべき部品の員数が多い部品から順に前記装着ヘッドが部品を吸着するように、前記吸着順を決定する
ことを特徴とする請求項１０記載の部品実装順序決定方法。
【請求項１３】
前記装着順決定ステップでは、基板への実装に、第１部品の上に第２部品が実装される３次元実装が含まれる場合には、前記第１部品を前記第２部品よりも先に装着するように、前記装着順を決定する
ことを特徴とする請求項１記載の部品実装順序決定方法。
【請求項１４】
複数の部品を吸着して移動し、前記複数の部品を前記基板に装着する装着ヘッドを備える部品実装機によって基板に部品を実装する部品実装方法であって、
部品の装着順に関する先後関係における制約条件に基づき基板への装着順を決定する装着順決定ステップと、
装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、前記装着順決定ステップで決定された装着順を維持した状態で、全部品をタスクに分割し、分割したタスクの実装順序を決定するタスク順決定ステップと、
前記タスク順決定ステップによって決定されたタスクの実装順序に従って全部品を基板に実装する実装ステップと
を含むことを特徴とする部品実装方法。
【請求項１５】
前記装着順決定ステップでは、前記実装ステップによって１つのタスクについての実装が完了する度に、前記タスクに含まれる部品を除く残り部品について、次に装着すべき部品グループを特定し、
前記タスク順決定ステップでは、前記装着順決定ステップで決定された部品グループに属する部品を対象として、次に実装すべきタスクを決定し、
前記実装ステップでは、前記タスク順決定ステップによって決定されたタスクに属する部品を実装する
ことを特徴とする請求項１４記載の部品実装方法。
【請求項１６】
前記タスク順決定ステップでは、前記実装ステップによって１つのタスクについての実装が完了する度に、前記装着順決定ステップで決定された装着順を維持した状態で、次に実装すべきタスクを決定し、
前記実装ステップでは、前記タスク順決定ステップによって決定されたタスクに属する部品を実装する
ことを特徴とする請求項１４記載の部品実装方法。
【請求項１７】
複数の部品を吸着して移動し、前記複数の部品を前記基板に装着する装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定する部品実装順序決定装置であって、
部品の装着順に関する先後関係における制約条件に基づき基板への装着順を決定する装着順決定手段と、
装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、前記装着順決定手段で決定された装着順を維持した状態で、全部品をタスクに分割し、分割したタスクの実装順序を決定するタスク順決定手段と
を備えることを特徴とする部品実装順序決定装置。
【請求項１８】
複数の部品を吸着して移動し、前記複数の部品を基板に装着する装着ヘッドによって基板に部品を実装する部品実装機であって、
請求項１記載の部品実装順序決定方法によって決定された順序で部品を実装する
ことを特徴とする部品実装機。
【請求項１９】
複数の部品を吸着して移動し、前記複数の部品を基板に装着する装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定するためのプログラムであって、
請求項１記載の部品実装順序決定方法に含まれるステップをコンピュータに実装させる
ことを特徴とするプログラム。
【請求項２０】
部品実装機の動作時間短縮方法であって、
部品実装機の解消すべき動作ロスを特定する動作ロス特定ステップと、
特定された前記動作ロスに基づいて、前記部品実装機の動作時間を短縮する処理手順を選択する処理手順選択ステップと、
選択された処理手順を実行する処理手順実行ステップとを含み、
前記処理手順選択ステップでは、前記動作ロス特定ステップにおいて、装着ヘッドを備える部品実装機により基板に部品を実装する際に生じうる部品と部品または部品と装着ヘッドとの衝突である干渉に起因する動作ロスを特定した場合には、処理手順として請求項１〜１３のいずれか１項に記載の部品実装順序決定方法を選択する
ことを特徴とする動作時間短縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部品実装機によって電子部品等の部品を基板に実装する方法に関し、特に、実装順序の決定方法に関する。
【背景技術】
【０００２】
パーソナルコンピュータや携帯電話等の電子機器の高機能化・小型化に伴い、電子機器に内蔵される回路基板（以下、単に「基板」という。）における部品の実装も高密度化してきている。そのために、このような基板を製造する部品実装機は、狭隣接実装（極めて接近した基板上の位置に部品を装着すること）に対応した機能を備えることが求められる。
【０００３】
図２９は、狭隣接実装を説明する図である。ここでは、基板６００４上に部品６００３が実装され、その部品６００３のすぐ横に、新たな部品６００２（ここでは、部品実装機の吸着ノズル６００１に吸着された部品６００２）を実装する場合に生じ得る干渉が示されている。部品６００２は、部品６００３よりも高さが低く（部品の厚みが薄く）、かつ、部品６００３に極めて近い位置に実装する必要があるために、吸着ノズル６００１が部品６００３に衝突するという干渉が生じ、部品６００２を基板６００４に実装することができない。なお、干渉には、このような吸着ノズル（あるいは、部品実装機の装着ヘッド）と部品との衝突だけでなく、部品と部品との衝突（例えば、吸着ノズルに吸着された部品と基板に実装された部品との衝突）も含まれる。
【０００４】
従来、このような狭隣接実装に対応するために、様々な部品実装方法が提案されている（例えば、特許文献１等参照）。特許文献１に開示された技術では、実装の対象となる全部品を部品の高さでグループ分けし、高さの低いグループに属する部品を先に実装している。これによって、狭隣接実装における干渉を回避している。
【特許文献１】特開２００３−３７３９６号公報（図１５〜図１７等）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、モジュラー式の部品実装機において、タクト短縮のために、各実装点をタスクに分割し、タスクの順序と各タスク内の部品の実装順序とを決定するという処理を行なっているが、その際に、干渉を考慮することはしていなかった。また、逆に、干渉を考慮した部品の実装順序を決定するのみでは、干渉を考慮するという条件下でタクトを最小にするという考慮が行なわれていなかった。
【０００６】
また、上記従来技術では、部品実装機の装着ヘッドがアーチモーション動作をすることが考慮されていないために、狭隣接実装における干渉を回避する方法としては十分ではないという問題がある。ここで、アーチモーション動作とは、部品実装機の装着ヘッドが上下動作とＸＹ動作（基板と平行な面での移動）とを並行して行う動作であり、例えば、図３０（ａ）に示されるように、装着ヘッドが、ある部品を基板に装着し終えた後に、次に部品を装着する際にアーチ状の軌跡を描いて装着ヘッドが移動することである。このようなアーチモーション動作によって、図３０（ｂ）に示される通常の動作（非アーチモーション動作）に比べ、装着ヘッドの移動時間が短縮される、つまり、実装時間が短縮される。
【０００７】
図３１は、アーチモーション動作に起因する干渉を説明する図である。ここでは、吸着ノズル６００１に吸着された部品６００５がアーチモーション動作によって斜め方向から下降してくるために、その部品６００５が、基板６００４に既に実装された部品６００６に衝突するという干渉が生じる様子が示されている。このような干渉は、アーチモーション動作をしない実装においては生じない現象であり、アーチモーション動作に特有の干渉である。上記従来技術では、部品実装機の装着ヘッドが部品を実装する際の干渉が考慮されていないために、干渉による品質劣化の問題、またはアーチモーション動作ができない故の部品実装時の動作ロスが生じてしまうという問題がある。
【０００８】
また、アーチモーション動作に起因する干渉が考慮されていないために、アーチモーション動作を伴う実装を行うことができず、高速実装が妨げられるという問題もある。
【０００９】
そこで、本発明は、このような状況に鑑みてなされたものであり、部品実装時に動作ロスが生じにくい部品実装順序決定方法、部品実装方法及び部品実装機等を提供することを目的とする。
【００１０】
また、装着ヘッドのアーチモーション動作等に起因する部品の干渉を考慮した高速かつ高密度実装に適した部品実装順序決定方法、部品実装方法及び部品実装機等を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明に係る部品実装順序決定方法は、複数の部品を吸着して移動し、前記複数の部品を前記基板に装着する装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定する部品実装順序決定方法であって、部品の装着順に関する先後関係における制約条件に基づき基板への装着順を決定する装着順決定ステップと、装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群をタスクとした場合に、前記装着順決定ステップで決定された装着順を維持した状態で、全部品をタスクに分割し、分割したタスクの実装順序を決定するタスク順決定ステップとを含むことを特徴とする。つまり、基板への部品の装着順を先に決定し、その後に、タスク及びタスク順を決定する。
【００１２】
これによって、前記装着順決定ステップで、基板に部品を装着する際に生じ得る部品と部品又は部品と装着ヘッドとの衝突である干渉が生じないように、前記装着順を決定しておくことが可能となり、例えば、装着ヘッドのアーチモーション動作に起因する干渉が回避される。
【００１３】
アーチモーション動作に起因する干渉を考慮する手法としては、全部品について、装着ヘッドがアーチモーション動作をしながら部品を基板に装着する場合における装着ヘッドの移動空間の範囲内に、基板に実装された他の部品又は他の部品の一部分が存在することとなるか否かを判断し、存在することとなると判断した場合には、判断対象となる部品を前記他の部品よりも先に装着するように前記装着順を決定するのが好ましい。
【００１４】
具体的には、前記装着順決定ステップでは、前記判断した結果に基づき、先に装着すべき部品の集まりを第１部品グループとして特定し、前記第１部品グループを除く部品の中で、次に装着すべき部品の集まりを第２部品グループとして特定するという処理を繰り返すことで、前記装着順として、部品グループの列を生成すればよい。これによって、部品グループの列に従って部品を実装する限り、アーチモーション動作に起因する干渉が回避される。
【００１５】
ここで、前記装着順決定ステップでは、基板に装着された部品の３次元的な位置及び形状を示す３次元マップを生成し、生成した３次元マップにおいて、前記判断した結果に基づき、先に装着すべき部品の集まりを第１部品グループとして特定するのが望ましい。これによって、部品実装機に搬入された時点において既に装着されている部品を考慮して装着順を決定することができる。
【００１６】
また、前記タスク順決定ステップでは、前記装着順決定ステップで決定された部品グループごとに、前記タスクと前記タスクの実装順序とを決定するが好ましい。装着順決定ステップで決定された装着順が維持されるからである。あるいは、前記装着ヘッドには、部品を吸着するｎ個の吸着ノズルが備えられ、前記タスク順決定ステップでは、前記装着順決定ステップで決定された装着順に並べられた部品をｎ個ずつ区切って得られる部品群及びその部品群の並びをそれぞれ前記タスク及び前記タスクの実装順序として決定してもよい。この方法でも、装着順決定ステップで決定された装着順を維持した状態で、簡易にタスク及びタスク順を決定することができる。
【００１７】
また、前記部品実装順序決定方法はさらに、前記タスク順決定ステップで決定されたタスクごとに、前記装着ヘッドが部品を吸着する際の吸着順を決定する吸着順決定ステップを含んでもよい。たとえば、前記装着ヘッドには、部品を吸着するｎ個の吸着ノズルが備えられ、前記タスク順決定ステップでは、前記部品実装機に配置される部品の並びに沿って各部品を１個ずつ取り出して得られる最大ｎ個の部品の集まりをタスクと決定し、前記吸着順決定ステップでは、前記タスクを構成する部品のうち、前記部品の並びにおいて連続して並ぶ部品については、前記装着ヘッドが同時に吸着するように、前記吸着順を決定すればよい。あるいは、前記タスク順決定ステップでは、前記部品実装機に配置される部品の並びから、基板に実装すべき部品の員数が多い部品から順に部品を取り出して得られる最大ｎ個の部品の集まりをタスクと決定し、前記吸着順決定ステップでは、基板に実装すべき部品の員数が多い部品から順に前記装着ヘッドが部品を吸着するように、前記吸着順を決定してもよい。
【００１８】
また、前記装着順決定ステップでは、基板への実装に、第１部品の上に第２部品が実装される３次元実装が含まれる場合には、前記第１部品を前記第２部品よりも先に装着するように、前記装着順を決定してもよい。３次元実装についても、部品間において実装順序の制約が存在するという点で、上記干渉と共通し、本発明を適用することができる。
【００１９】
本発明の他の局面に係る動作時間短縮方法は、部品実装機の解消すべき動作ロスを特定する動作ロス特定ステップと、特定された前記動作ロスに基づいて、前記部品実装機の動作時間を短縮する処理手順を選択する処理手順選択ステップと、選択された処理手順を実行する処理手順実行ステップとを含み、前記処理手順選択ステップでは、前記動作ロス特定ステップにおいて、装着ヘッドを備える部品実装機により基板に部品を実装する際に生じうる部品と部品または部品と装着ヘッドとの衝突である干渉に起因する動作ロスを特定した場合には、処理手順として上述の部品実装順序決定方法を選択することを特徴とする。
【００２０】
この構成によると、動作ロスに基づいて、部品実装機の動作時間を短縮する処理手順を実行している。よって、基板上への部品実装時間に影響を与える動作ロスのタイプに従って、部品実装順序決定方法の処理手順を変更することができる動作時間短縮方法を提供することができる。これに伴い、現実的な時間内で最適な部品実装順序を決定することができる部品実装順序決定方法を提供することができる。
【００２１】
なお、本発明は、上述のような部品実装順序決定方法として実現することができるだけでなく、その順序に従って部品を実装する部品実装方法及び部品実装機として実現したり、コンピュータに部品実装順序決定方法や部品実装方法を実行させるプログラムとして実現したり、そのプログラムとコンピュータとが一体化された部品実装順序決定装置として実現することもできる。そして、そのプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送路を介して広く流通させることができるのは言うまでもない。
【発明の効果】
【００２２】
本発明によれば、装着ヘッドのアーチモーション動作等に起因する部品の干渉を考慮して基板上への部品の装着順を先に決定し、その後に、タスク、タスク順及び装着ヘッドによる部品の吸着順を決定しているので、干渉を回避した部品の実装順序が決定される。よって、高密度実装の基板であっても、装着ヘッドをアーチモーション動作させながら高速に部品を実装することができ、基板の生産タクトが向上される。
【００２３】
また、３次元実装を伴う基板に適用することで、３次元実装を対象とした部品の実装順序が決定される。
【００２４】
さらに、部品を実装しながら、残り部品を対象として動的に部品の装着順序、タスク、タスク順、部品の吸着順を決定することで、部品切れ等の状況変化が生じても部品実装を継続することができる。
【００２５】
以上のように、本発明により、高速、かつ、高密度実装に適した部品の実装が可能となり、パーソナルコンピュータや携帯電話等の狭隣接実装の基板が必要とされる小型の電子機器が急激に普及してきた今日における本発明の実用的価値は極めて高い。
【発明を実施するための最良の形態】
【００２６】
以下、図面を参照しながら本発明の実施の形態に係る部品実装システムについて説明する。
【００２７】
図１は、本実施の形態に係る部品実装システムの構成を示す外観図である。
【００２８】
部品実装システム１０は、基板上への部品の実装順序を決定するとともに、決定された実装順序に従って、基板上に部品を実装するシステムであり、部品実装機１０１０と、部品実装機３１００と、部品実装機２１００と、部品実装機５１００と、部品実装機４１００と、部品実装機６１００と、動作時間短縮装置３００とを備えている。
【００２９】
部品実装機１０１０、３１００、２１００、５１００、４１００および６１００は、基板上に部品を実装する装置である。各部品実装機の詳細な構成については、後述する。
【００３０】
図２は、動作時間短縮装置３００の構成を示す機能ブロック図である。
【００３１】
動作時間短縮装置３００は、部品実装機による部品実装時間を短縮することにより、部品実装機の動作時間を短縮するコンピュータであり、演算制御部３０１、表示部３０２、入力部３０３、メモリ部３０４、最適化方法選択プログラム格納部３０５、最適化プログラム格納部３０８、データベース部３０７および通信Ｉ／Ｆ（インターフェース）部３０６等から構成される。
【００３２】
この動作時間短縮装置３００は、最適化方法選択プログラム格納部３０５に格納された各種プログラムおよび最適化プログラム格納部３０８に格納された各種プログラムをパーソナルコンピュータ等の汎用のコンピュータが実行することにより実現される。
【００３３】
演算制御部３０１は、ＣＰＵ（Central Processing Unit）や数値プロセッサ等であり、通信Ｉ／Ｆ部３０６を介して接続された部品実装機やユーザからの指示等に従って、最適化方法選択プログラム格納部３０５または最適化プログラム格納部３０８からメモリ部３０４にプログラムをロードして実行し、その実行結果に従って、各構成要素３０２〜３０８を制御する。
【００３４】
表示部３０２は、ＣＲＴ（Cathode-Ray Tube）やＬＣＤ（Liquid Crystal Display）等であり、入力部３０３はキーボードやマウス等であり、これらは、演算制御部３０１による制御の下で、動作時間短縮装置３００とオペレータとが対話する等のために用いられる。
【００３５】
通信Ｉ／Ｆ部３０６は、ＬＡＮ（Local Area Network）アダプタ等であり、動作時間短縮装置３００と、部品実装機との通信等に用いられる。メモリ部３０４は、演算制御部３０１による作業領域を提供するＲＡＭ（Random Access Memory）等である。
【００３６】
最適化方法選択プログラム格納部３０５および最適化プログラム格納部３０８は、動作時間短縮装置３００の機能を実現する各種プログラムを記憶しているハードディスク等であり、最適化方法選択プログラム格納部３０５に格納されているプログラムが演算制御部３０１によって実行された場合には、当該プログラムは、動作ロス特定部３０５ａおよび処理手順選択部３０５ｂとして機能する。また、最適化プログラム格納部３０８に格納されているプログラムが演算制御部３０１によって実行された場合には、第１部品実装順序決定部３０８ａ、第２部品実装順序決定部３０８ｂ、第３部品実装順序決定部３０８ｃ、第４部品実装順序決定部３０８ｄ、第５部品実装順序決定部３０８ｅおよび第６部品実装順序決定部３０８ｆとして機能する。
【００３７】
動作ロス特定部３０５ａは、部品実装機の解消すべき動作ロスを特定する処理部である。処理手順選択部３０５ｂは、動作ロス特定部３０５ａにおいて特定された動作ロスに基づいて、部品実装機の動作時間を短縮する処理手順であるプログラムを最適化プログラム格納部３０８に格納されたプログラムの中から選択する処理部である。
【００３８】
第１部品実装順序決定部３０８ａ、第２部品実装順序決定部３０８ｂ、第３部品実装順序決定部３０８ｃ、第４部品実装順序決定部３０８ｄ、第５部品実装順序決定部３０８ｅおよび第６部品実装順序決定部３０８ｆの実行する処理については後述する。
【００３９】
データベース部３０７は、動作時間短縮装置３００による部品実装機の動作時間短縮処理に用いられる入力データや動作時間短縮処理によって生成された実装点データ等を記憶するハードディスク等である。
【００４０】
データベース部３０７に格納されている入力データには、実装点データ３３０７ａ（４３０７ａ，６２４１）、部品ライブラリ３３０７ｂ（４３０７ｂ）、実装装置情報３３０７ｃ（４３０７ｃ）、タスクタイム情報４３０７ｄ、実装点情報配列１３０７ａ、変換テーブル１３０７ｂ、実装点数情報３３０７ｄ、部品データ６２４２および実装順データ６２４３等が含まれる。これらの入力データの詳細については後述する。
【００４１】
図３は、動作時間短縮装置３００が実行する処理のフローチャートである。
【００４２】
動作ロス特定部３０５ａは、通信Ｉ／Ｆ部３０６を介して、生産ロス等が生じているいずれかの部品実装機より、当該部品実装機のマシン名を取得する（Ｓ２２）。動作ロス特定部３０５ａは、取得したマシン名に基づいて、当該マシン名の部品実装機が、いわゆるモジュラー式の部品実装機であるか否かを判断する（Ｓ２４）。ここで、「モジュラー式の部品実装機」とは、部品を保持した装着ヘッドが移動しながら基板上に部品を装着するタイプの部品実装機を指す。
【００４３】
モジュラー式の部品実装機でなければ（Ｓ２４でＮＯ）、ロータリー式の部品実装機であるため、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第１部品実装順序決定部３０８ａを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第１部品実装順序決定部３０８ａが、部品実装点を含む巡回路に基づいて部品実装順序を最適化する（Ｓ５２）。その後、処理が終了する。ここで、「ロータリー式の部品実装機」とは、軸周りに回転しながら部品を吸着し基板上に前記部品を実装するロータリーヘッドを備える部品実装機のことである。すなわち、第１部品実装順序決定部３０８ａは、ロータリー式の部品実装機を対象とし、部品実装点を含む巡回路を巡回する距離または時間が最小となるように、部品の実装順序を決定する。
【００４４】
モジュラー式の部品実装機であれば（Ｓ２４でＹＥＳ）、動作ロス特定部３０５ａは、動作時間短縮の対象とされている部品実装機がいわゆる交互打ちの部品実装機であるか否かを判断する（Ｓ２６）。ここで、「交互打ちの部品実装機」とは、複数の装着ヘッドが協調動作を行ないながら、１枚の基板上に部品を実装する部品実装機のことである。
【００４５】
モジュラー式かつ交互打ちの部品実装機であれば（Ｓ２６でＹＥＳ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第３部品実装順序決定部３０８ｃを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第３部品実装順序決定部３０８ｃが、モジュラー式かつ交互打ちの部品実装機に特有な最適化方法に従い部品実装順序を最適化する（Ｓ２８）。すなわち、第３部品実装順序決定部３０８ｃは、いわゆる交互打ちのモジュラー式の部品実装機を対象とし、複数の装着ヘッドに割り当てられるタスク数が均等になるように実装順序を決定する。
【００４６】
その後、動作ロス特定部３０５ａは、動作時間短縮の対象とされている部品実装機により基板に部品を実装する際に、部品と部品または部品と装着ヘッドとの衝突である干渉が生じているか否かの情報を当該部品実装機より取得し、干渉が生じている場合には（Ｓ３０でＹＥＳ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第６部品実装順序決定部３０８ｆを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第６部品実装順序決定部３０８ｆが、干渉を解消するように部品実装順序を最適化し（Ｓ３２）、処理を終了する。第６部品実装順序決定部３０８ｆが実行する処理については後述する。
【００４７】
干渉が生じていなければ（Ｓ３０でＮＯ）、第６部品実装順序決定部３０８ｆによる部品実装順序の最適化処理を行なうことなく、処理を終了する。
【００４８】
モジュラー式の部品実装機ではあるが交互打ちではない場合には（Ｓ２６でＮＯ）、動作ロス特定部３０５ａは、当該部品実装機に対して、基板搬入時間の取得のためのコマンドを送信する（Ｓ３４）。ここで、「基板搬入時間」とは、基板に部品の実装が完了してから次の基板が部品実装機内の基板停止位置に搬入されるまでの時間である。
【００４９】
部品実装機より基板搬入時間を取得することができた場合には（Ｓ３６でＹＥＳ）、動作ロス特定部３０５ａは、取得した基板搬入時間が予め定められた閾値Ｔｈ＿ｔｉｍｅよりも大きいか否かを判断する（Ｓ３８）。所定の閾値よりも大きい場合には（Ｓ３８でＹＥＳ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第４部品実装順序決定部３０８ｄを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第４部品実装順序決定部３０８ｄが、基板搬入時間を最小にするような部品実装順序の最適化処理を行ない（Ｓ４０）、その後、Ｓ３０以降の処理が行なわれる。すなわち、第４部品実装順序決定部３０８ｄは、モジュラー式の部品実装機を対象とし、基板に部品の実装が完了したから次の基板が部品実装機内の基板停止位置に搬入されるまでの時間である基板搬入時間内に、部品の吸着を開始させるように部品の吸着タイミングを決定する。
【００５０】
基板搬入時間が取得できなかった場合（Ｓ３６でＮＯ）または基板搬入時間が閾値≦Ｔｈ＿ｔｉｍｅの場合には（Ｓ３８でＮＯ）、動作ロス特定部３０５ａは、部品実装機におけるタスクを取得するためのコマンドを当該部品実装機に対して送信する（Ｓ４２）。ここで、「タスク」とは、装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群を指すものとする。
【００５１】
部品実装機よりタスクを取得することができた場合には（Ｓ４４でＹＥＳ）、動作ロス特定部３０５ａは、各タスクについて、同一タスク内に異なる移動制限速度の部品が含まれるか否かを調べる（Ｓ４６）。ここで、「移動制限速度」とは、部品を吸着している際の装着ヘッドの最高速度を示す。
【００５２】
同一タスク内に異なる移動制限速度の部品が含まれる場合には（Ｓ４６でＹＥＳ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第５部品実装順序決定部３０８ｅを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第５部品実装順序決定部３０８ｅが、移動制限速度に着目して部品実装時間を短縮するような部品実装順序の最適化処理を行ない（Ｓ４８）。その後、Ｓ３０以降の処理が行なわれる。すなわち、第５部品実装順序決定部３０８ｅは、モジュラー式の部品実装機を対象とし、部品に対応付けられた装着ヘッドの移動制限速度に基づいて、装着ヘッドが部品を吸着してから装着し終わるまでの時間が短くなるように部品実装順序を決定する。
【００５３】
タスクが取得できなかった場合（Ｓ４４でＮＯ）または同一タスク内の部品の制限速度がすべて等しい場合には（Ｓ４６でＮＯ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第２部品実装順序決定部３０８ｂを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第２部品実装順序決定部３０８ｂが、部品実装点を含む巡回路に基づいて部品実装順序を最適化する（Ｓ５０）。その後、Ｓ３０以降の処理が行なわれる。すなわち、第２部品実装順序決定部３０８ａは、モジュラー式の部品実装機を対象とし、部品実装点を含む巡回路を巡回する距離または時間が最小となるように、部品の実装順序を決定する。
【００５４】
以下、第６部品実装順序決定部３０８ｆが実行する処理について説明する。
【００５５】
第６部品実装順序決定部３０８ｆが対象とする部品実装機は、図１に示した部品実装機６１００である。
【００５６】
この部品実装機６１００は、部品の実装順序を決定し、決定された順序に従って部品を基板に実装する装置であり、部品を収納している部品収納部６１１５と、部品収納部６１１５から部品を吸着してアーチモーション動作等をしながら基板の実装点に移動して部品を装着する装着ヘッド６１１０と、装着ヘッド６１１０をＸＹ駆動する（地面に並行な面で移動させる）ステージであるＸＹロボット６１１３等を備える。
【００５７】
なお、装着ヘッド６１１０は、例えば、モジュラー式装着ヘッドであり、上下動可能な１０本の吸着ノズルを備え、最大１０個の部品を吸着して基板に装着することができる。また、吸着ノズルは、例えば、装着ヘッド６１１０に着脱可能である。そして、装着ヘッド６１１０は、吸着する部品のサイズや重量等に対応して、部品の吸着に先立ち、吸着ノズルを自動交換することができる。
【００５８】
図４は、図１に示された部品実装機６１００の内部構造を示す図である。ここには、部品収納部６１１５の内部に、部品テープ（テーピング部品）を収納した部品カセット６１１５ａが一列（以下、部品カセットの並び方向をＺ軸という。）に並べられている様子や、基板６１２２を搬送する搬送部６１２１等が示されている。部品の実装時においては、装着ヘッド６１１０は、例えば、１０個の吸着ノズルの下降及び上昇動作によって、部品カセット６１１５ａに収納されている複数の部品テープそれぞれから１０個の部品を同時又は順に吸着し、ＸＹロボット６１１３によって、基板６１２２が置かれている位置まで移動し、アーチモーション動作等によって、基板６１２２上の１０箇所の実装点に部品を順に装着していくという一連の動作を、全ての部品を基板６１２２に実装し終えるまで繰り返す。なお、図５に示されるように、装着ヘッド６１１０による部品の吸着・基板への移動・基板上への部品の装着という一連の動作（１サイクル）の繰り返しにおける１回分（１サイクル分）の一連動作によって実装される部品群をタスクという。
【００５９】
第６部品実装順序決定部３０８ｆは、図６に示されるように、データベース部３０７に保持された実装点データ６２４１及び部品データ６２４２等に基づいて、装着ヘッド６１１０のアーチモーション動作を考慮した最適な部品の実装順序を決定し、決定した結果を実装順序データ６２４３としてデータベース部３０７に格納するプログラム及びＣＰＵ等であり、装着順決定部６２５１、タスク順決定部６２５２及び吸着順決定部６２５３を有する。
【００６０】
図７は、第６部品実装順序決定部３０８ｆおよび部品実装機６１００の基本的な動作を示すフローチャートである。本図の左のフローチャートに示されるように、第６部品実装順序決定部３０８ｆは、対象となる全部品について実装順序を決定し（Ｓ６１００）、決定した実装順序に従って部品を実装する（Ｓ６１０１）。実装順序の決定（Ｓ６１００）においては、本図の右のフローチャートに示されるように、まず、装着順決定部６２５１は、装着ヘッド６１１０のアーチモーション動作等に起因する干渉を考慮して、１以上の実装点に対応する部品からなる部品グループの単位で、全部品の装着順を決定し（Ｓ６１１０）、その後に、タスク順決定部６２５２は、装着順決定部６２５１によって決定された装着順を維持した状態で、タスク及びタスク順を決定し（Ｓ６１１１）、最後に、吸着順決定部６２５３は、タスク順決定部６２５２で決定された各タスクについて、タスク内における部品の吸着順を決定する（Ｓ６１１２〜Ｓ６１１４）。このように、アーチモーション動作等に起因する干渉を考慮して全部品の装着順を先に決定し、その装着順を維持した状態でタスクや吸着順を決定し、その結果を部品の実装順序とすることで、装着ヘッド６１１０のアーチモーション動作による部品の高速装着を可能にしている。
【００６１】
図８は、図７における装着順の決定（Ｓ６１１０）、つまり、部品の装着時における装着ヘッド６１１０と部品の干渉及び部品どおしの干渉を考慮して全部品の装着順を決定する詳細な手順を示すフローチャートである。
【００６２】
まず、装着順決定部６２５１は、その時点において基板６１２２に装着されている全部品の３次元マップを作成する（Ｓ６１２０）。ここで、３次元マップとは、図９に示されるように、基板６１２２上のどの位置にどのような形状の部品が装着されているかを示す３次元空間を表すデータである。このようなマップは、たとえば、上流の部品実装機あるいはホストコンピュータから通信Ｉ／Ｆ部６２６０を介して情報を取得することによって作成する。
【００６３】
次に、装着順決定部６２５１は、上記ステップＳ６１２０で作成した３次元マップと部品データ６２４２等を参照することで、その時点の装着状態にある基板６１２２に対して、他の部品と干渉することなく、かつ、装着順序上の制約を持たない（いかなる順序で装着してもよい）全ての部品を実装点データ６２４１に登録された部品の中から特定し、第１のグループとして記憶しておく（Ｓ６１２１）。具体的には、高さの低い部品から順次検討し、その部品がアーチモーション動作によって基板６１２２に装着される際に部品及び吸着ノズルが通過する可能性のある空間（以下、この空間を干渉エリアという。）内に他の部品（部品の一部分も含む）が存在しないことを確認していく。ここで、干渉エリア内に他の部品が存在する（部品の一部分でも存在する）場合には、当該他の部品をこの第１のグループに入れない（後のグループにする）という処理をする。より具体的に説明すると、未実装部品のうち、これから実装しようと想定する部品を基板６１２２上に装着した仮想的な３次元マップを想定し、当該３次元マップ上の部品と部品装着時に干渉する未実装部品を第１のグループに入れないという処理をする。このような作業をすべての未実装部品に対して行ない、いずれの未実装部品とも干渉しない部品を求め、それを第１のグループとする。
【００６４】
例えば、図１０に示される干渉エリア（ここでは、３次元空間である干渉エリアが２次元的に表現されている）のように、基板６１２２に装着する部品６１３０ａ〜６１３０ｄを検討した場合に、部品６１３０ａ，部品６１３０ｂ，部品６１３０ｄについては、それぞれの干渉エリア内に他の部品が存在しないが、部品６１３０ｃの干渉エリア内には部品６１３０ｄが存在する（部品ｄの一部分が存在する）ので、部品６１３０ｄを当該グループから除くべき（後で実装するグループにする）と判断し、部品６１３０ａ〜６１３０ｃだけを当該グループとして記憶する。なお、干渉エリアは、例えば、部品がアーチモーション動作によって、予め決められた角度（例えば、基板に対して斜め上方に４５度）であらゆる方位（実装点を中心に全方位）から基板上の実装点に下降してくると想定した場合の干渉空間であり、基板に装着された部品の輪郭から外側に向けて斜め上方に上記角度でせり上がる面で囲まれた空間である。
【００６５】
このようにして１つのグループを決定すると、続いて、装着順決定部６２５１は、グループとして決定した部品を除く残り部品を対象として、再び、同様の手順（Ｓ６１２０、Ｓ６１２１）で、次なるグループを決定する、というグループ分け処理を全部品について行う（Ｓ６１２０〜Ｓ６１２２）。つまり、陣取り合戦のように、グループとして決定された部品を基板に装着したものとして３次元マップを更新し（Ｓ６１２０）、更新された３次元マップのもとで、残る部品について、同様の陣取り合戦を行う（Ｓ６１２１）という処理を、全部品がなくなるまで（Ｓ６１２２）、繰り返す。順次作成されたグループには、例えば、Ｎｏ．１、２、・・等のグループ番号を付与していく。
【００６６】
図１１は、このような装着順決定部６２５１によって決定されたグループを示す図である。ここでは、実装点Ｐ０００３、・・・、Ｐ００４８に対応する部品がグループ１に属し、実装点Ｐ０００１、・・・、Ｐ００４１に対応する部品がグループ２に属し、実装点Ｐ０００５、・・・、Ｐ００４４に対応する部品がグループ３に属し、実装点Ｐ０００２、・・・、Ｐ００３１に対応する部品がグループ４に属することが示されている。つまり、このようなグループ番号の順で実装する限り、装着ヘッド６１１０のアーチモーション動作を伴う実装をしても、部品と部品及び部品と装着ヘッド６１１０の干渉が生じないことが保証されることになる。さらに、同一グループに属する部品については、実装順序の制約がないことも分かる。
【００６７】
図１２は、図７におけるタスク及びタスク順の決定（Ｓ６１１１）、つまり、装着順決定部６２５１によって決定された装着順を維持しつつ、タスク及びタスク順を決定する詳細な手順を示すフローチャートである。タスク順決定部６２５２は、図１３に示されるように、装着順決定部６２５１で決定された全てのグループについて、グループごとに、グループに属する部品をタスクに分割することによってタスクを決定し（Ｓ６１３１）、決定された全てのタスクについて、それらのタスクの実装順序を決定する（Ｓ６１３２）という処理を繰り返す（Ｓ６１３０〜Ｓ６１３３）。図１３では、例えば、実装点Ｐ００８、Ｐ００９、Ｐ０１９及びＰ０２３に対応する部品は、第１の装着グループの第１番目のタスクＴ００１に属することが示され、実装点Ｐ０１５に対応する部品は、第１の装着グループの第２番目のタスクＴ００２に属することが示さている。
【００６８】
ここで、タスク及びタスク順序の決定（Ｓ６１３１、Ｓ６１３２）の詳細な手順としては、例えば、いま、図１４（ａ）に示される部品ヒストグラムのように、装着順決定部６２５１で決定された部品グループ（「グループ１」、「グループ２」）ごとに、員数（実装する部品の個数）の多い部品から降順に部品テープ（あるいは、部品カセット６１１５ａ）を部品収納部６１１５に配置し、図１４（ｂ）に示されるように、各グループごとに、Ｚ１からＺ軸方向（右方向）に並ぶｎ（装着ヘッド６１１０に装着されている吸着ノズルの数；本図の例では４）個の部品を最初のタスクとして決定し、図１４（ｃ）に示されるように、部品ヒストグラムからそのｎ個の部品を取り除くことによって部品ヒストグラムを更新する。続いて、更新された部品ヒストグラムに対して、同様にして、図１４（ｂ）に示されるように、ｎ個の部品を次のタスクとして決定し、部品ヒストグラムを更新する。以下、全ての部品がなくなるまで、同様の処理を繰り返す。なお、Ｚ１の部品がなくなった場合にはＺ２からＺ軸方向に並ぶ部品を取り、Ｚ２の部品がなくなった場合にはＺ３からＺ軸方向に並ぶ部品を取るようにする。このようにして、Ｚ軸における最左に位置する部品からＺ軸方向に１つずつ部品を取ることによって、ｎ個の部品からなるタスクが決定される。これによって、タスク順決定部６２５２により、各グループについて、タスク及びタスクの実装順序が決定される。
【００６９】
図１５は、図７における吸着順の決定（Ｓ６１１３）、つまり、タスク順決定部６２５２によって決定されたタスクごとに部品の吸着順を決定する詳細な手順を示すフローチャートである。
【００７０】
まず、吸着順決定部６２５３は、ノズル交換のチェックをする（Ｓ６１４０）。つまり、直前のタスクの実装に使用した吸着ノズルの種類及び本数と、次のタスクの実装で必要となる吸着ノズルの種類及び本数とを比較し、異なる場合には、ノズル交換を行うべきと判断する。
【００７１】
そして、吸着順決定部６２５３は、タスク順決定部６２５２によるタスクの決定手順と同様にして、タスクごとの部品の吸着順を決定する（Ｓ６１４１）。つまり、吸着順決定部６２５３は、図１４（ａ）に示される部品テープの配列に対して、図１４（ｂ）に示されるように、Ｚ軸におけるＺ１からＺ軸方向（右方向）に並ぶｎ個の部品を吸着するものと決定する。このとき、同時吸着できる部品については、同時吸着を行う。従って、例えば、連続して並ぶｎ個の部品からなるタスクに対しては、１回の吸着動作（同時吸着）によって、ｎ個の部品を吸着するものと決定する。
【００７２】
続いて、吸着順決定部６２５３は、図１４（ｃ）に示されるように、吸着順を決定したタスクを取り除くことによって部品ヒストグラムを更新し、次のタスクについて、同様の手順で吸着順を決定する。つまり、Ｚ軸におけるＺ１（又は、部品が残っている部品テープの最左）から右方向に、順に、同時吸着できるものは行いながら、部品を吸着するものと決定する。
【００７３】
以上のようにして、実装順序決定部６２５０は、全ての部品について、装着順序、タスク及びタスク順序、タスクごとの吸着順序を決定し、その結果を実装順序データ６２４３として記憶部６２４０に格納する。その後、オペレータによる指示の下で、実装制御部６２１０は、記憶部６２４０に格納された実装順序データ６２４３に従って部品の実装を開始する。
【００７４】
このように、本実施の形態によれば、アーチモーション動作等に起因する干渉を考慮して全部品の装着順が先に決定され、その後に、その装着順を維持した状態でタスクや吸着順が決定され、その結果を実装順序として部品が実装されるので、装着ヘッド６１１０のアーチモーション動作による部品の高速装着が可能となる。
【００７５】
以上、第６部品実装順序決定部３０８ｆの処理について、実施の形態に基づいて説明したが、本発明は、この実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で当業者が思いつく各種変形を本実施の形態に施したものも本発明の範囲内に含まれる。
【００７６】
たとえば、本実施の形態では、図１３に示されるように、タスク順決定部６２５２は、装着順決定部６２５１で決定された各グループ内においてタスク及びタスク順を決定したが、これに代えて、図１６に示されるように、装着順決定部６２５１で決定されたグループの順に並べられた全部品に対して、装着ヘッド６１１０が備える吸着ノズルの本数ｎで区切っていくことを繰り返し、区切られた各区間に属する部品をタスクとし、そのタスクの並びをタスクの実装順序としてもよい。これによって、グループ番号の小さいものからタスクが並ぶようにタスク順が決定され、アーチモーション動作等に起因する干渉は回避される。ここで、もし、２以上のグループに属する部品からなるタスクが生成された場合には、グループ番号の小さい部品を先に装着することで、干渉を回避することができる。
【００７７】
また、本実施の形態では、タスク順決定部６２５２及び吸着順決定部６２５３は、図１４（ａ）に示されるように、員数の多い部品から降順に部品テープがＺ軸に配置したが、これに代えて、図１７に示されるように、員数が多い部品ほど中央に位置するように（部品ヒストグラムが山形となるように）部品テープをＺ軸上に配置し、その時点において基板に実装すべき残り部品の員数が最も多い部品から取っていくことで、タスク、タスク順及び吸着順を決定してもよい。
【００７８】
また、本実施の形態では、タスク及びタスク順が決定された後に、タスクごとに部品の吸着順が決定されたが、本発明は、このような順序だけに限られず、吸着順を優先して決定し、その結果としてタスク及びタスク順を決定してもよいし、タスク及びタスク順の決定と吸着順の決定が渾然一体化されていてもよい。たとえば、上述のように、基板に実装すべき残り部品の員数が最も多い部品から吸着するという方法によれば、装着ヘッドが一定の吸着順で部品を吸着することによって結果としてタスクが形成されるので、タスクの決定と吸着順とが渾然一体化されている。
【００７９】
また、本実施の形態では、タスク順及び吸着順の決定は、図１４（ａ）に示されるように、装着順決定部６２５１で決定された部品グループごとにＺ軸に配置されたが、これに代えて、部品の高さを基準として（例えば、高さの低いものから）グループ分けして得られる部品のグループごとにＺ軸に配置されてもよい。装着順決定部６２５１で決定される部品グループの順は、結果として、部品の高さに基づいて作成される部品グループの順に近いものと考えられるからである。
【００８０】
また、本実施の形態では、装着順決定部６２５１は、部品と部品、又は、部品と装着ヘッド６１１０の干渉を考慮して部品の装着順序を決定したが、これに代えて、あるいは、これに加えて、図１８に示されるような３次元実装（部品の積み上げ実装）に伴う部品の実装順序の制約を考慮して部品の装着順序を決定してもよい。このような３次元実装においては、下方の部品６１３１ａ（あるいは、基板）が実装された後でなければ上方の部品６１３１ｂを実装することができないので、これら部品間においては実装順序の制約が存在し、本実施の形態における部品どおしの干渉に起因する実装順序の制約と同様に取り扱うことができるからである。
【００８１】
また、本実施の形態では、実装順序決定部６２５０によって全部品の実装順序が決定された後に実装制御部６２１０によって部品の実装が開始されたが、本発明は、このような順序に限定されるものではなく、部品を実装しながら、残る部品の実装順序を動的に（リアルタイムに）決定してもよい。たとえば、装着順決定部６２５１によって決定された最優先のグループの部品の実装を終えた後に、それらの部品を除く残り部品に対して、装着順決定部６２５１が次に装着すべき部品のグループを決定し、決定したグループの部品を実装するというサイクルを繰り返してもよい。具体的には、未実装部品のうち、これから実装しようと想定する部品を基板６１２２上に装着した仮想的な３次元マップを想定し、当該３次元マップ上の部品と部品装着時に干渉する未実装部品を次に装着すべきグループに入れないという処理をする。このような作業をすべての未実装部品に対して行ない、いずれの未実装部品とも干渉しない部品を求め、それを次に装着すべき部品のグループとする。
【００８２】
また、図２の動作時間短縮装置３００のように、部品実装順序決定処理を切り換えて実行するのではなく、部品実装機６１００が部品実装順序決定処理を実行するような構成であっても良い。
【００８３】
図１９は、そのような部品実装機６１００の機能的な構成を示すブロック図である。この部品実装機６１００は、機能的には、機構部６２００、実装制御部６２１０、入力部６２２０、出力部６２３０、記憶部６２４０、実装順序決定部６２５０及び通信Ｉ／Ｆ部６２６０等を備える。
【００８４】
機構部６２００は、装着ヘッド６１１０、ＸＹロボット６１１３、部品カセット６１１５ａ、搬送部６１２１、及び、これらを駆動するモーターやモータードライバ等を含む機構関連の構成要素の集合である。
【００８５】
実装制御部６２１０は、実装順序決定部６２５０によって決定された実装順序データ６２４３に基づいて、機構部６２００を制御することによって部品の実装を制御する。
【００８６】
入力部６２２０は、オペレータからの指示を取得するキーボード等である。出力部６２３０は、オペレータに各種情報を提示するＬＣＤ等である。
【００８７】
記憶部６２４０は、ハードディスクやメモリ等であり、実装点データ６２４１、部品データ６２４２及び実装順序データ６２４３等を保持する。実装点データ６２４１は、図２０に示されるように、対象となる基板の全実装点について、部品名、実装位置（Ｘ，Ｙ，Θ）を示す情報からなる。部品データ６２４２は、図２１に示されるように、「部品名」、「部品外観」（形状）、「部品サイズ」、「２次元認識方式」（装着ヘッドによる吸着後のカメラによる画像認識方式）、「吸着ノズル」（使用する吸着ノズルのタイプ）、「タクト」（１個当たりの実装時間）、「速度ＸＹ」（実装時の移送速度）等を示す情報からなる。実装順序データ６２４３は、図２２に示されるように、実装順序決定部６２５０によって最終的に決定された全部品の実装順序を示す情報（図２２では、実装点ごとの「タスク」、「吸着順」を示す情報）からなる。なお、図２２において、「タスク」は、Ｔ００１、Ｔ００２、・・・の順に実装される場合におけるタスク名を示し、「吸着順」は、各タスクにおける吸着順（何回目に吸着されるか）を示す。
【００８８】
実装順序決定部６２５０は、記憶部６２４０に保持された実装点データ６２４１及び部品データ６２４２等に基づいて、装着ヘッド６１１０のアーチモーション動作を考慮した最適な部品の実装順序を決定し、決定した結果を実装順序データ６２４３として記憶部６２４０に格納するプログラム及びＣＰＵ等であり、装着順決定部６２５１、タスク順決定部６２５２及び吸着順決定部６２５３を有する。
【００８９】
装着順決定部６２５１は、部品の装着順に関する先後関係における制約条件に基づき基板への装着順を決定する処理部である。すなわち、装着順決定部６２５１は、装着ヘッド６１１０のアーチモーション動作等に起因する干渉を考慮して、１以上の実装点に対応する部品からなる部品グループの単位で、全部品の装着順を決定する。タスク順決定部６２５２は、装着順決定部６２５１によって決定された装着順を維持しつつ、タスク及びタスクの実装順序（タスク順）を決定する処理部である。吸着順決定部６２５３は、タスク順決定部６２５２で決定された各タスクについて、タスク内における部品の吸着順を決定する処理部である。
【００９０】
通信Ｉ／Ｆ部６２６０は、他の装置と通信するインターフェースカード等であり、例えば、上流のホストコンピュータから実装点データや部品データをダウンロードし、それぞれを実装点データ６２４１及び部品データ６２４２として記憶部６２４０に格納する際に使用される。
【００９１】
図２３は、動的に実装順序を決定する際の部品実装機６１００の基本的な動作を示すフローチャートである。図２４に示されるように、部品実装機６１００が備える３次元カメラ６１２３が基板６１２２の実装面を撮影する（Ｓ６１５０）。次に、装着順決定部６２５１が、３次元カメラ６１２３で撮影された画像に対して、画像処理を施すことにより、図９に示されるような３次元マップを作成する（Ｓ６１５１）。次に、装着順決定部６２５１は、上記ステップＳ６１５１で作成した３次元マップと部品データ６２４２等を参照することで、その時点の装着状態にある基板６１２２に対して、他の部品と干渉することなく、かつ、装着順序上の制約を持たない（いかなる順序で装着してもよい）全ての部品を実装点データ６２４１に登録された部品の中から特定し、第１のグループとして記憶しておく（Ｓ６１２１）。なお、ステップＳ６１２１の処理は、上述の実施の形態に示した処理と同様である。次に、部品実装機６１００は、第１のグループに含まれる部品を基板６１２２上に実装する（Ｓ６１５２）。すべての部品が基板６１２２上に実装されていれば（Ｓ６１５３でＹ）、処理を終了し、実装されていない部品がある場合には（Ｓ６１５３でＮ）、ステップＳ６１５０以降の処理が繰返し行なわれる。
【００９２】
さらに、このように、動的に部品の実装順序を決定する場合において、動的に決定する処理としては、装着順決定部６２５１によるグループの決定、タスク順決定部６２５２によるグループごとのタスク及びタスク順序の決定、吸着順決定部６２５３によるタスク内の部品の吸着順の決定等のいずれであってもよい。たとえば、装着順決定部６２５１による全グループの決定だけを事前に済ませておき、タスクの決定以降の決定処理については、残る部品を対象として動的に決定してもよい。これによって、例えば、実装すべき残り部品を対象とし、その時点における部品テープの配置を考慮して部品の吸着順を動的に決定することで、部品切れ等のように、部品の実装中に状況が変化しても、その状況に対応した実装順序を決定し、部品実装を継続することができる。
【００９３】
以上、本発明の実施の形態に係る部品実装システムについて説明したが、本発明は、この実施の形態に限定されるものではない。
【００９４】
例えば、上述の実施の形態では、動作時間短縮装置３００の動作ロス特定部３０５ａおよび処理手順選択部３０５ｂが最適化プログラム格納部３０８よりプログラムの選択を行なったが、ユーザが最適化プログラム格納部３０８よりプログラムを選択するようにしても良い。
【００９５】
図２５は、ユーザが最適化プログラム格納部３０８よりプログラムを選択する際の動作時間短縮装置３００が実行する処理のフローチャートである。
【００９６】
演算制御部３０１は、オペレータに対象となる部品実装機の種別を選択されるための画面を表示部３０２に出力する（Ｓ２）。例えば、図２６に示されるような画面４００が表示部３０２に出力される。ここでは、部品実装機を装着ヘッドが１つしかないモジュラー式（片方打ち）、装着ヘッドが複数あるモジュラー式（交互打ち）およびロータリー式の３種類に分類し、それぞれの部品実装機に対応するボタン４０２〜４０６を表示している。
【００９７】
オペレータが入力部３０３を操作してボタン４０２〜４０６のいずれかを押下すると（Ｓ４）、対応する部品実装機に適用可能な最適化方法の選択画面を演算制御部３０１が表示部３０２に出力する（Ｓ６）。図２７および図２８は、表示部３０２に表示される画面の一例を示す図である。
【００９８】
図２７は、モジュラー式（片方打ち）の部品実装機に対応するボタン４０２を押下した際の画面４１０を示しており、モジュラー式（片方打ち）に適用可能な４つの最適化方法に対応するボタン４１２〜４１８を表示している。ボタン４１２、４１４、４１６および４１８は、第４部品実装順序決定部３０８ｄを実現するためのプログラム、第５部品実装順序決定部３０８ｅを実現するためのプログラム、第６部品実装順序決定部３０８ｆを実現するためのプログラムおよび第２部品実装順序決定部３０８ｂを実現するためのプログラムにそれぞれ対応する。
【００９９】
図２８は、モジュラー式（交互打ち）の部品実装機に対応するボタン４０４を押下した際の画面４２０を示しており、モジュラー式（交互打ち）に適用可能な３つの最適化方法に対応するボタン４２２、４１６および４１８を表示している。ボタン４２２、４１６および４１８は、第３部品実装順序決定部３０８ｃ、第６部品実装順序決定部３０８ｆおよび第２部品実装順序決定部３０８ｂを実現するためのプログラムにそれぞれ対応する。
【０１００】
オペレータが入力部３０３を操作して、画面４１０または画面４２０に表示されたボタン４１２〜４１８および４２２のいずれかを押下すると、処理手順選択部３０５ｂが押下されたボタンに対応付けられた部品実装順序決定部を実現するためのプログラムを最適化プログラム格納部３０８より読み出し、メモリ部３０４にロードする（Ｓ８）。演算制御部３０１がメモリ部３０４にロードされたプログラムを実行することにより、いずれかの部品実装順序決定部が部品実装順序を最適化する（Ｓ１０）。
【０１０１】
例えば、オペレータが図２７に示した画面４１０に表示されたボタン４１２を押下した場合には、処理手順選択部３０５ｂが、第４部品実装順序決定部３０８ｄを実現するためのプログラムを最適化プログラム格納部３０８よりメモリ部３０４にロードする（Ｓ８）。次に、演算制御部３０１がそのプログラムを実行することにより、第４部品実装順序決定部３０８ｄが、部品実装順序を最適化する（Ｓ１０）。
【０１０２】
なお、ロータリー式の部品実装機に適用可能なプログラムは、第１部品実装順序決定部３０８ａを実現するためのプログラムのみである。このため、図２６に示した画面４００において、ロータリー式の部品実装機に対応するボタン４０６を押下した際には、図２７または図２８に示すような最適化方法を選択するための画面は表示されず、処理手順選択部３０５ｂが最適化プログラム格納部３０８より第１部品実装順序決定部３０８ａを実現するためのプログラムをメモリ部３０４にロードし、演算制御部３０１がそのプログラムを実行する。これにより、第１部品実装順序決定部３０８ａが、部品実装順序を最適化する。
【産業上の利用可能性】
【０１０３】
本発明は、装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定する部品実装順序決定装置及び部品実装機として、特に、高密度実装や３次元実装を伴う基板を対象とした部品実装機として、有用である。
【図面の簡単な説明】
【０１０４】
【図１】本発明の実施の形態に係る部品実装システムの構成を示す外観図である。
【図２】動作時間短縮装置の構成を示す機能ブロック図である。
【図３】動作時間短縮装置が実行する処理のフローチャートである。
【図４】部品実装機の内部構造を示す図である。
【図５】タスクを説明する図である。
【図６】第６部品実装順序決定部の構成を示すブロック図である。
【図７】部品実装機の基本的な動作を示すフローチャートである。
【図８】図７における装着順の決定（Ｓ６１１０）の詳細な手順を示すフローチャートである。
【図９】３次元マップの例を示す図である。
【図１０】干渉エリアの例を示す図である。
【図１１】グループを決定する処理を説明する図である。
【図１２】図７におけるタスク及びタスク順の決定（Ｓ６１１１）の詳細な手順を示すフローチャートである。
【図１３】タスク及びタスクの実装順序を決定する処理を説明する図である。
【図１４】タスク及び部品の吸着順の決定方法を説明する部品ヒストグラムである。
【図１５】図７における吸着順の決定（Ｓ６１１３）の詳細な手順を示すフローチャートである。
【図１６】タスク及びタスクの順序を決定する別の方法を説明する図である。
【図１７】タスク及び部品の吸着順を決定する別の方法を説明する部品ヒストグラムである。
【図１８】３次元実装を説明する図である。
【図１９】部品実装機の機能的な構成を示すブロック図である。
【図２０】実装点データの例を示す図である。
【図２１】部品データの例を示す図である。
【図２２】実装順序データの例を示す図である。
【図２３】動的に実装順序を決定する際の部品実装機の基本的な動作を示すフローチャートである。
【図２４】３次元カメラで基板の実装面を撮影する様子を示す図である。
【図２５】ユーザが最適化プログラム格納部よりプログラムを選択する際の動作時間短縮装置が実行する処理のフローチャートである。
【図２６】表示部に表示される画面の一例を示す図である。
【図２７】表示部に表示される画面の一例を示す図である。
【図２８】表示部に表示される画面の一例を示す図である。
【図２９】狭隣接実装を説明する図である。
【図３０】アーチモーション動作と通常の動作（非アーチモーション動作）を説明する図である。
【図３１】アーチモーション動作に起因する干渉を説明する図である。
【符号の説明】
【０１０５】
３００  動作時間短縮装置
３０１  演算制御部
３０５  最適化方法選択プログラム格納部
３０５ａ  動作ロス特定部
３０５ｂ  処理手順選択部
３０８  最適化プログラム格納部
３０８ａ  第１部品実装順序決定部
３０８ｂ  第２部品実装順序決定部
３０８ｃ  第３部品実装順序決定部
３０８ｄ  第４部品実装順序決定部
３０８ｅ  第５部品実装順序決定部
３０８ｆ  第６部品実装順序決定部
６１００  部品実装機
６１１０  装着ヘッド
６１１３  ＸＹロボット
６１１５  部品収納部
６１１５ａ  部品カセット
６１２１  搬送部
６１２２  基板
６１２３  ３次元カメラ
６２００  機構部
６２１０  実装制御部
６２２０  入力部
６２３０  出力部
６２４０  記憶部
６２４１  実装点データ
６２４２  部品データ
６２４３  実装順序データ
６２５０  実装順序決定部
６２５１  装着順決定部
６２５２  タスク順決定部
６２５３  吸着順決定部
６２６０  通信Ｉ／Ｆ部
【図１】
2006245537.tif 000003
【図２】
2006245537.tif 000004
【図３】
2006245537.tif 000005
【図４】
2006245537.tif 000006
【図５】
2006245537.tif 000007
【図６】
2006245537.tif 000008
【図７】
2006245537.tif 000009
【図８】
2006245537.tif 000010
【図９】
2006245537.tif 000011
【図１０】
2006245537.tif 000012
【図１１】
2006245537.tif 000013
【図１２】
2006245537.tif 000014
【図１３】
2006245537.tif 000015
【図１４】
2006245537.tif 000016
【図１５】
2006245537.tif 000017
【図１６】
2006245537.tif 000018
【図１７】
2006245537.tif 000019
【図１８】
2006245537.tif 000020
【図１９】
2006245537.tif 000021
【図２０】
2006245537.tif 000022
【図２１】
2006245537.tif 000023
【図２２】
2006245537.tif 000024
【図２３】
2006245537.tif 000025
【図２４】
2006245537.tif 000026
【図２５】
2006245537.tif 000027
【図２６】
2006245537.tif 000028
【図２７】
2006245537.tif 000029
【図２８】
2006245537.tif 000030
【図２９】
2006245537.tif 000031
【図３０】
2006245537.tif 000032
【図３１】
2006245537.tif 000033