(57)【特許請求の範囲】
【請求項１】
複数の部品を吸着して移動し、前記複数の部品を基板に装着する装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定する部品実装順序決定方法であって、
複数の部品実装点および仮想的に設定された点であるダミー点の任意の２点間について、当該２点間の距離または当該２点間のうちの一方の点への部品の実装が完了してから他方の点への部品の実装が完了するまでに必要な時間を当該２点間のコストと定義し、
前記ダミー点は、部品実装の開始点および終了点となるように設定された点であると定義し、
前記複数の部品実装点の位置情報と、前記複数の部品実装点および前記ダミー点のうちの２点間に関する前記コストとを取得する部品実装点情報取得ステップと、
前記ダミー点を開始点および終了点とし、かつ前記複数の部品実装点および前記ダミー点のうちの２点間のコストの和が最小となるような各点を通る巡回路を算出する巡回路算出ステップと、
前記巡回路に基づいて、前記部品の実装順序を決定する実装順序決定ステップとを含み、
前記部品実装点情報取得ステップは、
前記複数の部品実装点の位置情報を取得するステップと、
前記装着ヘッドにおける部品の吸着位置に基づいて、前記複数の部品実装点の位置情報を補正し補正位置情報を作成するステップと、
前記補正位置情報に基づいて、補正後の前記複数の部品実装点および前記ダミー点のうちの２点間に関する前記コストとして移動時間または移動距離を導出するステップとを含む
ことを特徴とする部品実装順序決定方法。
【請求項２】
前記ダミー点は、前記装着ヘッドに部品を供給する部品供給部に設けられている
ことを特徴とする請求項１に記載の部品実装順序決定方法。
【請求項３】
前記ダミー点は、前記部品供給部にある複数の部品供給口の中央に設けられている
ことを特徴とする請求項２に記載の部品実装順序決定方法。
【請求項４】
複数の部品を吸着して移動し、前記複数の部品を基板に装着する装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定する部品実装順序決定装置であって、
複数の部品実装点および仮想的に設定された点であるダミー点の任意の２点間について、当該２点間の距離または当該２点間のうちの一方の点への部品の実装が完了してから他方の点への部品の実装が完了するまでに必要な時間を当該２点間のコストと定義し、
前記ダミー点は、部品実装の開始点および終了点となるように設定された点であると定義し、
前記複数の部品実装点の位置情報と、前記複数の部品実装点および前記ダミー点のうちの２点間に関する前記コストとを取得する部品実装点情報取得手段と、
前記ダミー点を開始点および終了点とし、かつ前記複数の部品実装点および前記ダミー点のうちの２点間のコストの和が最小となるような各点を通る巡回路を算出する巡回路算出手段と、
前記巡回路に基づいて、前記部品の実装順序を決定する実装順序決定手段とを備え、
前記部品実装点情報取得手段は、
前記複数の部品実装点の位置情報を取得する手段と、
前記装着ヘッドにおける部品の吸着位置に基づいて、前記複数の部品実装点の位置情報を補正し補正位置情報を作成する手段と、
前記補正位置情報に基づいて、補正後の前記複数の部品実装点および前記ダミー点のうちの２点間に関する前記コストとして移動時間または移動距離を導出する手段とを備える
ことを特徴とする部品実装順序決定装置。
【請求項５】
基板に部品を実装する部品実装機であって、
請求項１〜３のいずれか１項に記載の部品実装順序決定方法により決定された前記部品の実装順序に従い、前記基板に前記部品を実装する
ことを特徴とする部品実装機。
【請求項６】
請求項１〜３のいずれか１項に記載の部品実装順序決定方法に含まれるステップをコンピュータに実行させる
ことを特徴とするプログラム。
【請求項７】
部品実装機の動作時間短縮方法であって、
部品実装機の解消すべき動作ロスを特定する動作ロス特定ステップと、
特定された前記動作ロスに基づいて、前記部品実装機の動作時間を短縮する処理手順を選択する処理手順選択ステップと、
選択された処理手順を実行する処理手順実行ステップとを含み、
前記処理手順選択ステップでは、前記動作ロス特定ステップにおいて、複数の部品を保持して移動する装着ヘッドが前記複数の部品を基板に実装する部品実装機に起因する動作ロスを特定した場合には、処理手順として請求項１〜３のいずれか１項に記載の部品実装順序決定方法を選択する
ことを特徴とする動作時間短縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、基板上に部品を実装する部品実装機における部品実装順序決定方法に関する。
【背景技術】
【０００２】
部品実装機による基板上への部品実装においては、その部品実装に先立って、部品の実装順序を決定しなければならない。部品実装順序決定方法では、１枚の基板上へ部品の実装を開始してからすべての部品を実装し終えるまでの時間を最小にすることを目的として部品の実装順序を決定する。しかし、考えられる部品実装順序をすべて生成し、最適な部品実装順序を求める総当り法では、部品の実装点数が多くなればなるほど、最適な部品実装順序を決定するための処理時間が増大し、現実的な時間で最適な部品実装順序を決定するのが困難である。
【０００３】
このため、現実的な時間で最適な部品実装順序を決定する方法として、貪欲法を用いた方法が提案されている（たとえば、特許文献１参照。）。
【特許文献１】特開平７−１７６８９１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、貪欲法を用いた部品実装順序決定方法では、コスト（たとえば、部品実装点間の距離）が最小な部品実装点を順次選択していき、部品実装順序を決定していく。このため、部品実装開始時には部品実装点間の移動距離が小さくなるような実装順序になっている反面、部品実装終了に近づくにつれ、部品実装点間の移動距離が大きくなる、実装点間の移動の乱れ（無駄な動作）が発生してしまうという問題があり、必ずしも最適な実装順序が求められないという問題がある。
【０００５】
また、現実的な時間内で最適な部品実装順序を決定するためには、基板上への部品実装時間に影響を与える動作ロスのタイプに従って、部品実装順序決定方法の処理手順を変更するのが望ましい。
【０００６】
本発明は、上述の課題を解決するためになされたものであり、現実的な時間内で最適な部品実装順序を決定することができる部品実装順序決定方法を提供することを目的とする。
【０００７】
また、基板上への部品実装時間に影響を与える動作ロスのタイプに従って、部品実装順序決定方法の処理手順を変更することができる動作時間短縮方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明に係る部品実装順序決定方法は、複数の部品を吸着して移動し、前記複数の部品を基板に装着する装着ヘッドを備える部品実装機によって基板に部品を実装する際の実装順序を決定する部品実装順序決定方法であって、複数の部品実装点および仮想的に設定された点であるダミー点の任意の２点間について、当該２点間の距離または当該２点間のうちの一方の点への部品の実装が完了してから他方の点への部品の実装が完了するまでに必要な時間を当該２点間のコストと定義し、前記ダミー点は、部品実装の開始点および終了点となるように設定された点であると定義し、前記複数の部品実装点の位置情報と、前記複数の部品実装点および前記ダミー点のうちの２点間に関する前記コストとを取得する部品実装点情報取得ステップと、前記ダミー点を開始点および終了点とし、かつ前記複数の部品実装点および前記ダミー点のうちの２点間のコストの和が最小となるような各点を通る巡回路を算出する巡回路算出ステップと、前記巡回路に基づいて、前記部品の実装順序を決定する実装順序決定ステップとを含むことを特徴とする。
【０００９】
ダミー点を部品実装の開始点および終了点とすることにより、いわゆるモジュラー機に対しても、最適な巡回路を算出することができる。このため、貪欲法により部品実装順序を決定した際に生じる部品実装終了に近づくにつれ実装点間の移動の乱れ（無駄な動作）が発生してしまうという問題が解消され、最適な実装順序を求めることができる。また、このような方法では、現実的な処理時間で厳密解の近似解を求めることができる。
【００１０】
また、前記ダミー点は、前記装着ヘッドに部品を供給する部品供給部に設けられていることを特徴としてもよい。
【００１１】
ダミー点を上述の位置に設けることにより、部品の吸着動作を考慮して最適な巡回路を求めることができる。
【００１２】
また、前記部品実装点情報取得ステップは、前記複数の部品実装点の位置情報を取得するステップと、前記装着ヘッドにおける部品の吸着位置に基づいて、前記複数の部品実装点の位置情報を補正し補正位置情報を作成するステップと、前記補正位置情報に基づいて、前記複数の部品実装点および前記ダミー点のうちの２点間に関する前記コストを導出するステップとを含んでいてもよい。
【００１３】
補正位置情報に基づいてコストを導出することにより、装着ヘッドの正確な移動距離や移動時間に基づくコストを導出することができる。このため、最適な巡回路を求めることができる。
【００１４】
本発明の他の局面に係る動作時間短縮方法は、部品実装機の動作時間短縮方法であって、部品実装機の解消すべき動作ロスを特定する動作ロス特定ステップと、特定された前記動作ロスに基づいて、前記部品実装機の動作時間を短縮する処理手順を選択する処理手順選択ステップと、選択された処理手順を実行する処理手順実行ステップとを含み、前記処理手順選択ステップでは、前記動作ロス特定ステップにおいて、複数の部品を保持して移動する装着ヘッドが前記複数の部品を基板に実装する部品実装機に起因する動作ロスを特定した場合には、処理手順として上述の部品実装順序決定方法を選択することを特徴とする。
【００１５】
この構成によると、動作ロスに基づいて、部品実装機の動作時間を短縮する処理手順を実行している。よって、基板上への部品実装時間に影響を与える動作ロスのタイプに従って、部品実装順序決定方法の処理手順を変更することができる動作時間短縮方法を提供することができる。これに伴い、現実的な時間内で最適な部品実装順序を決定することができる部品実装順序決定方法を提供することができる。
【００１６】
なお、本発明は、このような特徴的なステップを備える部品実装順序決定方法等として実現することができるだけでなく、部品実装順序決定方法等に含まれる特徴的なステップを手段とする部品実装順序決定装置等として実現したり、部品実装順序決定方法等に含まれる特徴的なステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ（Compact Disc-Read Only Memory）等の記録媒体やインターネット等の通信ネットワークを介して流通させることができるのは言うまでもない。
【発明の効果】
【００１７】
現実的な時間内で最適な部品実装順序を決定することができる部品実装順序決定方法を提供することができる。
【００１８】
また、基板上への部品実装時間に影響を与える動作ロスのタイプに従って、部品実装順序決定方法の処理手順を変更することができる動作時間短縮方法を提供することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照しながら本発明の実施の形態に係る部品実装システムについて説明する。
【００２０】
図１は、本実施の形態に係る部品実装システムの構成を示す外観図である。
【００２１】
部品実装システム１０は、基板上への部品の実装順序を決定するとともに、決定された実装順序に従って、基板上に部品を実装するシステムであり、部品実装機１０１０と、部品実装機３１００と、部品実装機２１００と、部品実装機５１００と、部品実装機４１００と、部品実装機６１００と、動作時間短縮装置３００とを備えている。
【００２２】
部品実装機１０１０、３１００、２１００、５１００、４１００および６１００は、基板上に部品を実装する装置である。
【００２３】
図２は、動作時間短縮装置３００の構成を示す機能ブロック図である。
【００２４】
動作時間短縮装置３００は、部品実装機による部品実装時間を短縮することにより、部品実装機の動作時間を短縮するコンピュータであり、演算制御部３０１、表示部３０２、入力部３０３、メモリ部３０４、最適化方法選択プログラム格納部３０５、最適化プログラム格納部３０８、データベース部３０７および通信Ｉ／Ｆ（インターフェース）部３０６等から構成される。
【００２５】
この動作時間短縮装置３００は、最適化方法選択プログラム格納部３０５に格納された各種プログラムおよび最適化プログラム格納部３０８に格納された各種プログラムをパーソナルコンピュータ等の汎用のコンピュータが実行することにより実現される。
【００２６】
演算制御部３０１は、ＣＰＵ（Central Processing Unit）や数値プロセッサ等であり、通信Ｉ／Ｆ部３０６を介して接続された部品実装機やユーザからの指示等に従って、最適化方法選択プログラム格納部３０５または最適化プログラム格納部３０８からメモリ部３０４にプログラムをロードして実行し、その実行結果に従って、各構成要素３０２〜３０８を制御する。
【００２７】
表示部３０２は、ＣＲＴ（Cathode-Ray Tube）やＬＣＤ（Liquid Crystal Display）等であり、入力部３０３はキーボードやマウス等であり、これらは、演算制御部３０１による制御の下で、動作時間短縮装置３００とオペレータとが対話する等のために用いられる。
【００２８】
通信Ｉ／Ｆ部３０６は、ＬＡＮ（Local Area Network）アダプタ等であり、動作時間短縮装置３００と、部品実装機との通信等に用いられる。メモリ部３０４は、演算制御部３０１による作業領域を提供するＲＡＭ（Random Access Memory）等である。
【００２９】
最適化方法選択プログラム格納部３０５および最適化プログラム格納部３０８は、動作時間短縮装置３００の機能を実現する各種プログラムを記憶しているハードディスク等であり、最適化方法選択プログラム格納部３０５に格納されているプログラムが演算制御部３０１によって実行された場合には、当該プログラムは、動作ロス特定部３０５ａおよび処理手順選択部３０５ｂとして機能する。また、最適化プログラム格納部３０８に格納されているプログラムが演算制御部３０１によって実行された場合には、第１部品実装順序決定部３０８ａ、第２部品実装順序決定部３０８ｂ、第３部品実装順序決定部３０８ｃ、第４部品実装順序決定部３０８ｄ、第５部品実装順序決定部３０８ｅおよび第６部品実装順序決定部３０８ｆとして機能する。
【００３０】
動作ロス特定部３０５ａは、部品実装機の解消すべき動作ロスを特定する処理部である。処理手順選択部３０５ｂは、動作ロス特定部３０５ａにおいて特定された動作ロスに基づいて、部品実装機の動作時間を短縮する処理手順であるプログラムを最適化プログラム格納部３０８に格納されたプログラムの中から選択する処理部である。
【００３１】
第１部品実装順序決定部３０８ａ、第２部品実装順序決定部３０８ｂ、第３部品実装順序決定部３０８ｃ、第４部品実装順序決定部３０８ｄ、第５部品実装順序決定部３０８ｅおよび第６部品実装順序決定部３０８ｆの実行する処理については後述する。
【００３２】
データベース部３０７は、動作時間短縮装置３００による部品実装機の動作時間短縮処理に用いられる入力データや動作時間短縮処理によって生成された実装点データ等を記憶するハードディスク等である。
【００３３】
データベース部３０７に格納されている入力データには、実装点データ３３０７ａ（４３０７ａ，６２４１）、部品ライブラリ３３０７ｂ（４３０７ｂ）、実装装置情報３３０７ｃ（４３０７ｃ）、タスクタイム情報４３０７ｄ、実装点情報配列１３０７ａ、変換テーブル１３０７ｂ、実装点数情報３３０７ｄ、部品データ６２４２および実装順データ６２４３等が含まれる。これらの入力データの詳細については後述する。
【００３４】
図３は、動作時間短縮装置３００が実行する処理のフローチャートである。
【００３５】
動作ロス特定部３０５ａは、通信Ｉ／Ｆ部３０６を介して、生産ロス等が生じているいずれかの部品実装機より、当該部品実装機のマシン名を取得する（Ｓ２２）。動作ロス特定部３０５ａは、取得したマシン名に基づいて、当該マシン名の部品実装機が、いわゆるモジュラー式の部品実装機であるか否かを判断する（Ｓ２４）。ここで、「モジュラー式の部品実装機」とは、部品を保持した装着ヘッドが移動しながら基板上に部品を装着するタイプの部品実装機を指す。
【００３６】
モジュラー式の部品実装機でなければ（Ｓ２４でＮＯ）、ロータリー式の部品実装機であるため、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第１部品実装順序決定部３０８ａを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第１部品実装順序決定部３０８ａが、部品実装点を含む巡回路に基づいて部品実装順序を最適化する（Ｓ５２）。その後、処理が終了する。ここで、「ロータリー式の部品実装機」とは、軸周りに回転しながら部品を吸着し基板上に前記部品を実装するロータリーヘッドを備える部品実装機のことである。なお、第１部品実装順序決定部３０８ａの実行する処理については後述する。
【００３７】
モジュラー式の部品実装機であれば（Ｓ２４でＹＥＳ）、動作ロス特定部３０５ａは、動作時間短縮の対象とされている部品実装機がいわゆる交互打ちの部品実装機であるか否かを判断する（Ｓ２６）。ここで、「交互打ちの部品実装機」とは、複数の装着ヘッドが協調動作を行ないながら、１枚の基板上に部品を実装する部品実装機のことである。
【００３８】
モジュラー式かつ交互打ちの部品実装機であれば（Ｓ２６でＹＥＳ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第３部品実装順序決定部３０８ｃを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第３部品実装順序決定部３０８ｃが、モジュラー式かつ交互打ちの部品実装機に特有な最適化方法に従い部品実装順序を最適化する（Ｓ２８）。すなわち、第３部品実装順序決定部３０８ｃは、いわゆる交互打ちのモジュラー式の部品実装機を対象とし、複数の装着ヘッドに割り当てられるタスク数が均等になるように実装順序を決定する。
【００３９】
その後、動作ロス特定部３０５ａは、動作時間短縮の対象とされている部品実装機により基板に部品を実装する際に、部品と部品または部品と装着ヘッドとの衝突である干渉が生じているか否かの情報を当該部品実装機より取得し、干渉が生じている場合には（Ｓ３０でＹＥＳ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第６部品実装順序決定部３０８ｆを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第６部品実装順序決定部３０８ｆが、干渉を解消するように部品実装順序を最適化し（Ｓ３２）、処理を終了する。すなわち、第６部品実装順序決定部３０８ｆは、モジュラー式の部品実装機を対象とし、部品装着時の干渉が起こらないように、部品の実装順序を決定する。
【００４０】
干渉が生じていなければ（Ｓ３０でＮＯ）、第６部品実装順序決定部３０８ｆによる部品実装順序の最適化処理を行なうことなく、処理を終了する。
【００４１】
モジュラー式の部品実装機ではあるが交互打ちではない場合には（Ｓ２６でＮＯ）、動作ロス特定部３０５ａは、当該部品実装機に対して、基板搬入時間の取得のためのコマンドを送信する（Ｓ３４）。ここで、「基板搬入時間」とは、基板に部品の実装が完了してから次の基板が部品実装機内の基板停止位置に搬入されるまでの時間である。
【００４２】
部品実装機より基板搬入時間を取得することができた場合には（Ｓ３６でＹＥＳ）、動作ロス特定部３０５ａは、取得した基板搬入時間が予め定められた閾値Ｔｈ＿ｔｉｍｅよりも大きいか否かを判断する（Ｓ３８）。所定の閾値よりも大きい場合には（Ｓ３８でＹＥＳ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第４部品実装順序決定部３０８ｄを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第４部品実装順序決定部３０８ｄが、基板搬入によるロス時間を最小にするような部品実装順序の最適化処理（動作時間短縮処理）を行ない（Ｓ４０）、その後、Ｓ３０以降の処理が行なわれる。すなわち、第４部品実装順序決定部３０８ｄは、モジュラー式の部品実装機を対象とし、基板に部品の実装が完了したから次の基板が部品実装機内の基板停止位置に搬入されるまでの時間である基板搬入時間内に、部品の吸着を開始させるように部品の吸着タイミングを決定する。
【００４３】
基板搬入時間が取得できなかった場合（Ｓ３６でＮＯ）または基板搬入時間が閾値≦Ｔｈ＿ｔｉｍｅの場合には（Ｓ３８でＮＯ）、動作ロス特定部３０５ａは、部品実装機におけるタスクを取得するためのコマンドを当該部品実装機に対して送信する（Ｓ４２）。ここで、「タスク」とは、装着ヘッドによる部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の一連動作によって実装される部品群を指すものとする。
【００４４】
部品実装機よりタスクを取得することができた場合には（Ｓ４４でＹＥＳ）、動作ロス特定部３０５ａは、各タスクについて、同一タスク内に異なる移動制限速度の部品が含まれるか否かを調べる（Ｓ４６）。ここで、「移動制限速度」とは、部品を吸着している際の装着ヘッドの最高速度を示す。
【００４５】
同一タスク内に異なる移動制限速度の部品が含まれる場合には（Ｓ４６でＹＥＳ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第５部品実装順序決定部３０８ｅを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第５部品実装順序決定部３０８ｅが、移動制限速度に着目して部品実装時間を短縮するような部品実装順序の最適化処理を行ない（Ｓ４８）。その後、Ｓ３０以降の処理が行なわれる。すなわち、第５部品実装順序決定部３０８ｅは、モジュラー式の部品実装機を対象とし、部品に対応付けられた装着ヘッドの移動制限速度に基づいて、装着ヘッドが部品を吸着してから装着し終わるまでの時間が短くなるように部品実装順序を決定する。
【００４６】
タスクが取得できなかった場合（Ｓ４４でＮＯ）または同一タスク内の部品の制限速度がすべて等しい場合には（Ｓ４６でＮＯ）、処理手順選択部３０５ｂは、最適化プログラム格納部３０８より第２部品実装順序決定部３０８ｂを実現するためのプログラムを選択し、メモリ部３０４にロードする。演算制御部３０１がそのプログラムを実行することにより、第２部品実装順序決定部３０８ｂが、部品実装点を含む巡回路に基づいて部品実装順序を最適化する（Ｓ５０）。その後、Ｓ３０以降の処理が行なわれる。第２部品実装順序決定部３０８ｂが実行する処理については後述する。
【００４７】
以下、第１部品実装順序決定部３０８ａおよび第２部品実装順序決定部３０８ｂが実行する処理について順次説明する。
【００４８】
［第１部品実装順序決定部３０８ａについて］
部品実装機１０１０は、電子機器を構成するプリント基板上に複数種類の部品を高速に装着する実装装置であり、部品を吸着、搬送、装着するロータリーヘッド１１００と、多種類の部品をロータリーヘッド１１００に供給する部品供給部１０１１と、載置したプリント基板を水平面方向に移動させるＸＹテーブル１０１５とを備えている。
【００４９】
図４は、部品供給部とロータリーヘッドとの位置関係を示す概略図である。
【００５０】
ロータリーヘッド１１００は、図４の上部に示すように、部品をプリント基板上に装着する装着手段としての装着ヘッド１１０３を１８個備えている。またこの装着ヘッド１１０３は、高さ方向には移動することなく回転する回転基台１１０１に高さ方向に移動自在に取り付けられ、部品を真空吸着により保持することのできる吸着ノズル（図示せず）を６本備えている。
【００５１】
部品供給部１０１１は、図４の下部に示すように、同一部品を順次装着ヘッド１１０３に提供しうる部品カセット１１１１を横一列に並べて備えている。そして、部品供給部１０１１は、部品供給部１０１１をロータリーヘッド１１００に対して図４中のＺ軸方向に移動位置決めすることにより装着すべき部品を選択しうる機能を有している。
【００５２】
部品カセット１１１１は、図５に示すような同一部品を多数個保持する部品テープ１１１０が巻き付けられたリール１１１３と、当該部品テープ１１１０に保持された部品を順次供給するテープフィーダ１１１４とを備えており、部品供給部１０１１に対して着脱自在となっている。つまり、部品カセット１１１１は、１種類の部品を提供するものに相当し、部品供給部１０１１は、部品カセット１１１１の集合（または、さらにその集合を保持する収納部を含めたもの）に相当する。
【００５３】
図６は、ロータリーヘッド、基板および部品供給部の位置関係を模式的に示した図である。
【００５４】
同図に示すように、ロータリーヘッド１１００の回転軸は移動せず、この回転軸の周りをその周囲に設けられた装着ヘッド１１０３が間欠回転することにより各位置に対応した作業を行う。簡単に説明すると、部品カセット１１１１がそれぞれ備える吸着開口部１１１２の上部（位置Ｂ）に位置した装着ヘッド１１０３が前記吸着開口部１１１２を通して部品を吸着し、これと対向する位置Ｅに装着ヘッド１１０３が位置したときにプリント基板Ｐに吸着した部品を装着する。
【００５５】
なお、部品の装着対象であるプリント基板Ｐは水平面方向に移動自在なＸＹテーブル（図示せず）上に載置されており、部品を装着すべき位置はプリント基板Ｐを移動させることにより決定される。
【００５６】
図７は、図６の位置Ｃに備えられた部品認識カメラの一例を示す図である。
【００５７】
部品認識カメラ１１０５は、装着ヘッド１１０３が吸着した部品１１０６を認識するためのカメラであり、鏡筒１１０５ａと、小視野カメラ１１０５ｂと、大視野カメラ１１０５ｃとを備えている。鏡筒１１０５ａ内には、ミラー１１０７ａおよび１１０７ｃと、ハーフミラー１１０７ｂとが設けられている。
【００５８】
小視野カメラ１１０５ｂは、視野サイズが６ｍｍのカメラであり、ミラー１１０７ａおよびハーフミラー１１０７ｂで反射された部品１１０６を撮像する。大視野カメラ１１０５ｃは、視野サイズが２８ｍｍのカメラであり、ミラー１１０７ａおよび１１０７ｃで反射された部品１１０６を撮像する。
【００５９】
図８は、ロータリーヘッド１１００に備えられる装着ヘッド１１０３の一つに着目した際の当該装着ヘッド１１０３の動作を示すフローチャートである。
【００６０】
吸着ノズルの選択位置（図６の位置Ａ）に存在する装着ヘッド１１０３は、次に装着する部品に適合した吸着ノズルを選択する（Ｓ１４０１）。次に、回転基台１１０１を前記装着ヘッド１１０３が吸着部（図６の位置Ｂ）に位置するまで回転させる（Ｓ１４０２）。この位置において、装着ヘッド１１０３は吸着ノズルを用いて部品カセット１１１１の吸着開口部１１１２から部品を吸着保持する（Ｓ１４０３）。
【００６１】
次に、前記装着ヘッド１１０３が部品認識カメラ１１０５（図６の位置Ｃ）に位置するまで回転基台１１０１を回転させる（Ｓ１４０４）。そして、この位置に備えられた小視野カメラ１１０５ｂまたは大視野カメラ１１０５ｃにより吸着搬送された部品の映像を撮像し、画像処理することにより部品の吸着状態を認識する（Ｓ１４０５）。この吸着状態の認識では、部品の中心と吸着ノズルの中心との２次元的なずれ量や部品の回転ずれ量を検出し、さらには、部品の欠品や立ち吸着、認識エラー（認識処理ができない）の判断などを行なう。そして、部品の欠品など吸着状態に不具合があると判断されれば（Ｓ１４０６でＹＥＳ）、吸着していた部品が廃棄される（Ｓ１４１０）。一方、不具合がないと判断されれば（Ｓ１４０６でＮＯ）、図６に示す位置Ｄで先ほど検出された回転ずれ量に基づき部品をθ方向に補正する（Ｓ１４０７）。なお、２次元的なずれ量についてはＸＹテーブル１０１５によりプリント基板の位置を微調整して補正する。次に、装着ヘッド１１０３が装着部（図６の位置Ｅ）に位置するまで回転基台１１０１を回転させる（Ｓ１４０８）。そして、装着ヘッド１１０３を装着している部品の高さに対応して下方に移動させて部品をプリント基板Ｐに押し込み装着する（Ｓ１４０９）。
【００６２】
図９は、部品供給部１０１１の各種モードを説明するための図である。図９（ａ）は交換モードを示す図であり、同図に示すように、部品供給部１０１１は、左側部品供給部ＺＬと右側部品供給部ＺＲとで構成されている。交換モードでは、左側部品供給部ＺＬと右側部品供給部ＺＲとに同じ種類の部品をセットする。たとえば、左側部品供給部ＺＬを用いた基板を生産中に部品切れが発生した場合には、待機位置にある右側部品供給部ＺＲをロータリーヘッド１１００による吸着位置まで移動させ、引き続き右側部品供給部ＺＲを用いて基板を生産する。その間に、部品切れした部品を左側部品供給部ＺＬに補充する。このように、右側部品供給部ＺＲと左側部品供給部ＺＬとで同じ部品構成とすることにより、部品実装機１０１０の長時間連続運転が可能となる。
【００６３】
図９（ｂ）は準備モードを示す図であり、たとえば、左側部品供給部ＺＬを用いた基板の生産中に、右側部品供給部ＺＲに次に生産する基板の実装部品をセットしておくことにより、事前に生産基板の切り替えに対応させるモードである。このモードは、生産基板の切り替えが多い場合に最適なモードである。
【００６４】
図９（ｃ）は接続モードを示す図であり、たとえば、右側部品供給部ＺＲおよび左側部品供給部ＺＬを両方使用して、基板を生産するモードである。このモードは、１枚の基板に使用される部品種類が多い生産に適している。
【００６５】
図１０は、実装点情報配列１３０７ａの一例を示す図である。
【００６６】
実装点情報配列１３０７ａは、基板１０２０上の実装点の個数をｎ個とした場合、要素数がＮ（＝ｎ＋２）個のデータからなる配列である。
【００６７】
ここでは、図１１に示すように、基板１０２０には２個の基板マーク１４０２および１４０４が予め形成されており、その上に、５個の実装点（実装点１〜実装点５）設けられているものとする。５個の実装点は、部品実装機１０１０により部品が実装される点である。基板マーク１４０２および基板マーク１４０４は、基板１０２０の位置決めのために、ロータリーヘッド１１００に設けられた基板認識カメラ（図示せず）により撮像され、その位置が認識される。なお、先に基板マーク１４０２の位置が認識され、次に基板マーク１４０４の位置が認識されるものとする。その他にも、ダミー点１４０６と呼ばれる仮想的な点が基板１０２０には設けられている。ダミー点１４０６は、図中基板マーク１４０４の近傍に設けているが、仮想的な点であるため基板１０２０上に設けられていなくてもよいし、基板マーク１４０４と同一の位置にあってもよい。なお、基板マーク１４０４または５個の実装点のうちの最初に部品が実装される実装点は、実装順序決定問題を閉回路モデル化する場合の閉回路の開始点となる。閉回路モデル化された実装順序決定問題は、後述するように、例えば巡回セールスマン問題に相当する。
【００６８】
再度図１０を参照して、各配列要素には、実装点の位置等に関する情報（以下、「実装点情報」という。）、基板マークの位置に関する情報およびダミー点の位置に関する情報のうちのいずれかの情報が記憶されている。図１０には、実装点情報配列１３０７ａ（Ｄａｔａ）の２番目の要素Ｄａｔａ［２］に記憶されている情報が示されている。要素Ｄａｔａ［２］には、実装点２の実装点情報が記憶されており、実装点２の基板１０２０上での位置を示すＸ座標「４５」およびＹ座標「１８」と、実装点２に実装される部品が収納されている部品カセット１１１１の部品供給部１０１１におけるＺ軸上の位置（Ｚ番号）「２４」と、装着ヘッド１１０３が部品を吸着してから装着するまでの速度（ヘッド速度）「６」と、ＸＹテーブルの移動速度（ＸＹ速度レベル）「２」とが記憶されている。
【００６９】
ヘッド速度は、レベル「１」からレベル「８」までの８段階で示されており、レベル１が最も速いヘッド速度であり、レベル８が最も遅いヘッド速度である。すなわち、重い部品や大きい部品の場合は、速いヘッド速度で実装することができないため、ヘッド速度は遅くなる。なお、ヘッド速度は、ロータリーヘッド１１００が間欠回転する速度である。なお、ロータリーヘッド１１００は、図６の位置Ｂで部品を吸着（図８のＳ１４０３）してから、図６の位置Ｅで部品を装着（図８のＳ１４０９）するまでの間に回転軸を中心として半回転する。従って、ロータリーヘッド１１００の回転速度は、図６の位置Ｂから位置Ｅまでの間に存在する複数の装着ヘッド１１０３に装着された部品のヘッド速度のうちの最も遅いヘッド速度に従って、厳密には決定される。しかし、ここでは、処理の簡単化のため、ロータリーヘッド１１００が位置Ｂで部品を吸着してから位置Ｅで部品を装着するまでの間に存在する他の部品のヘッド速度は考慮せずに、部品ごとにヘッド速度が決定されているものとする。
【００７０】
ＸＹテーブルの移動速度は、レベル「１」からレベル「８」までの８段階で示されており、レベル１が最も速いＸＹテーブル１０１５の移動速度であり、レベル８が最も遅いＸＹテーブル１０１５の移動速度である。すなわち、実装される部品が重い部品や大きい部品の場合には、ＸＹテーブル１０１５の移動速度が速すぎると、実装された部品が基板１０２０より剥奪され飛んでしまう。このため、このような部品の場合には、ＸＹテーブル１０１５の移動速度は、遅い移動速度レベルに設定される。
【００７１】
なお、基板マークの位置に関する情報およびダミー点の位置に関する情報にも実装点情報と同様の情報が含まれるものとする。
【００７２】
図１２は、変換テーブル１３０７ｂの一例を示す図である。変換テーブル１３０７ｂは、ヘッド速度や、ＸＹテーブル１０１５の移動速度等を時間に置き換えるためのテーブルである。１列目は、置き換え後の時間ｔ（ｍｓｅｃ）を示している。２列目は、実装点ｉと実装点ｊとの間の距離Δｘｙを示している。３列目は、実装点ｉに実装する部品が収納された部品カセットと実装点ｊに実装する部品が収納された部品カセットとの間のＺ軸上の距離（Ｚ番号の差の絶対値）を示している。４列目は、部品ｊを実装する際のヘッド速度（すなわち、ロータリーヘッド１１００が間欠回転する速度のレベル）を示している。５列目は、最初の実装点に対するＸＹテーブル１０１５の移動速度から実装点ｉに対するＸＹテーブル１０１５の移動速度のうちの最大値Ｗmax(0→i)を示している。なお、このように、ＸＹテーブル１０１５の移動速度のうちの最大値Ｗmax(0→i)を用いているのは、基板１０２０に、一旦ＸＹテーブル１０１５の移動速度が遅い部品が実装された場合には、それよりも速い移動速度でＸＹテーブル１０１５を移動させてしまうと、基板１０２０に実装された重たい部品や大きい部品が、基板１０２０より剥奪され飛んでしまったり、位置ずれを起こしたりするおそれがあるため、一旦ＸＹテーブル１０１５の移動速度を遅くした場合には、それよりも大きな移動速度でＸＹテーブル１０１５を移動させないようにするためである。
【００７３】
たとえば、ヘッド速度、ＸＹ速度レベルが共に１の場合、実装点ｉから実装点ｊまでの距離Δｘｙが２０である場合には、移動に必要な時間が１２０ｍｓｅｃとして求められる。また、実装点ｊのヘッド速度、ＸＹ速度レベルが共に３の場合には、移動に必要な時間が１４０ｍｓｅｃとして求められる。
【００７４】
なお、変換テーブル１３０７ｂに記載されていない値については、すでに求められている値から直線補間等を行なうことにより求められる。たとえば、距離Δｘｙが１１０３を超える場合には、次式（１）により、距離Δｘｙを移動するための時間ｔxy（Δｘｙ）が求められる。
【００７５】
ｔxy（Δｘｙ）＝５００＋（Δｘｙ−１０３）／０．３５６          （１）
【００７６】
なお、他のパラメータについても、同様の補間式を求めることにより、時間への置き換えが行なわれる。
【００７７】
図１３は、第１部品実装順序決定部３０８ａが実行する処理のフローチャートである。
【００７８】
第１部品実装順序決定部３０８ａは、データベース部１３０７より、実装点情報配列１３０７ａおよび変換テーブル１３０７ｂを読み込む（Ｓ１００２）。図１０に示した実装点情報配列１３０７ａに従うと、図１４に示す矢印の順序で部品の実装が行なわれることがわかる。
【００７９】
次に、第１部品実装順序決定部３０８ａは、読み込んだ実装点情報配列１３０７ａおよび変換テーブル１３０７ｂに基づいて、タクトテーブルを作成する（Ｓ１００４）。タクトテーブルとは、実装点ｉに部品を実装してから実装点ｊに部品を実装するまでに要する時間をまとめた表である。
【００８０】
図１５は、タクトテーブルの一例を示す図である。ここでは、基板マーク１４０４を実装点０とし、ダミー点１４０６を実装点６としている。タクトテーブルの各値である実装点ｉから実装点ｊまでの実装時間ｔijは、次式（２）に従い求められる。
【００８１】
ｔij＝ｍａｘ｛ｔxy（Δｘｙ），ｔz（Δｚ），
ｔh（ｈj），ｔw（ｗmax(0→i)）｝                （２）
【００８２】
ここで、上述した実装点ｉに関する実装点情報ｉを（ｘi，ｙi，ｚi，ｈi，ｗi）と表し、実装点ｊに関する実装点情報ｊを（ｘj，ｙj，ｚj，ｈj，ｗj）と表すものとした場合、
Δｘｙ＝ｍａｘ｛｜ｘi−ｘj｜，｜ｙi−ｙj｜｝
ｘｙテーブル上での実装点ｉとｊとの間の距離
ｔxy（Δｘｙ）：Δｘｙを変換テーブル１３０７ｂに基づいて時間に置き換えた値
Δｚ＝｜ｚi−ｚj｜
実装点ｉに実装する部品が収納された部品カセットと実装点ｊに実装する部品が収納された部品カセットとの間のｚ軸上の距離
ｔz（Δｚ）：Δｚを変換テーブル１３０７ｂに基づいて時間に置き換えた値（装着ヘッド１１０３への部品供給部１０１１からの部品供給に必要な時間）
ｈj：部品ｊのヘッド速度レベル（レベル１（速）〜８（遅））
ｔh（ｈj）：実装点ｉの実装から実装点ｊの実装への移行に関して、ロータリーヘッドの間欠回転に要する時間
ｗmax(0→i)：最初の実装点に対するＸＹテーブル１０１５の移動速度から実装点ｉに対するＸＹテーブル１０１５の移動速度のうちの最大値（レベル１（速）〜８（遅））
ｔw（ｗmax(0→i)）：ｗmax(0→i)を変換テーブル１３０７ｂに基づいて時間に置き換えた値
【００８３】
なお、各実装時間は、後述する巡回セールスマン問題における「コスト」に相当するものである。また、タクトテーブルの算出処理（Ｓ１００４）においては、ｔij＝ｔjiと仮定し、ｔjiの算出を行なわないようにしている。これにより、処理時間の短縮を図ることができる。なお、「コスト」としては、各実装時間のみならず、２つの実装点間の移動距離をコストと定義してもよい。
【００８４】
また、ダミー点から各実装点（実装点１〜実装点５）までの実装時間は、任意のどの実装点間の実装時間よりも大きい値（ここでは、１０００００００）であるものとする。また、基板マーク１４０４とダミー点１４０６との間の実装時間は、任意のどの実装点間の実装時間よりも小さい値（ここでは、１）であるものとする。なお、これらの値は例示であり、これらに限定されるものではない。
【００８５】
次に、第１部品実装順序決定部３０８ａは、実装点情報配列１３０７ａに基づいて初期巡回路を作成する（Ｓ１００６）。図１６は、初期巡回路の作成方法を説明するための図である。初期巡回路は、実装点情報配列１３０７ａをＸＹテーブルの移動速度が速い順（レベル値が小さい順）に並べ替えることにより作成される。ここで、基板マーク１４０４（Ｄａｔａ［０］）のＸＹ速度レベルは０とし、ダミー点１４０６（Ｄａｔａ［６］）のＸＹ速度レベルは９とする。このようにすることにより、スタート点が基板マーク１４０４になり、終了点がダミー点１４０６になる。なお、処理の高速化のために、実装点情報配列１３０７ａの要素の入れ替えを行なうのではなく、実装点情報配列１３０７ａの要素番号を別途記憶する実装順配列ｐを使用するものとする。ｐ［ｉ］はｉ＋１番目に実装される実装点の実装点情報配列１３０７ａにおける要素番号を示している。すなわち、図１６の実装順配列ｐによると、基板マーク１４０４、実装点４、実装点５、実装点１、実装点２、実装点３およびダミー点１４０６の順に部品の実装が行なわれることになる。この実装順序を図示した図が、図１７である。すなわち、基板マーク１４０４をスタート点として、上述の順序により実装が行なわれた後、ダミー点１４０６に戻る閉ループが作成される。
【００８６】
次に、第１部品実装順序決定部３０８ａは、求められた初期巡回路における総実装時間を求める（Ｓ１００８）。すなわち、初期巡回路における総実装時間Ｔは次式（３）に従い求められる。
【００８７】
Ｔ＝ｔ04＋ｔ45＋ｔ51＋ｔ12＋ｔ23＋ｔ36＋ｔ60                  （３）
【００８８】
ここで、一例として、総実装時間を図１５に示したタクトテーブルに従い求めると以下のようになる。
【００８９】
Ｔ＝２００＋３８０＋４００＋４００＋３００＋１０００００００＋１
＝１０００２０８１（ｍｓｅｃ）
【００９０】
次に、第１部品実装順序決定部３０８ａは以下に説明する処理（Ｓ１０１０〜Ｓ１０１８）に従い総実装時間が最小となるような巡回路を求める。
【００９１】
初期巡回路作成処理（Ｓ１００６）で求められた初期巡回路を表す実装順配列ｐは、上述の説明によると、図１６に示すように作成されるが、後の説明の簡単化のために、初期巡回路作成処理（Ｓ１００６）で求められた初期巡回路を表す実装順配列ｐは、ここでは図１８のように作成されたものとする。また、説明の簡単化のために、実装点０（基板マーク１４０４）のＸＹ速度レベル０であり、実装点１から実装点５までのＸＹ速度レベルはすべて１であり、実装点６（ダミー点１４０６）の速度レベルは９であるものとする。
【００９２】
まず、第１部品実装順序決定部３０８ａは、ループカウンタｉを０に設定する（Ｓ１０１０）。次に、第１部品実装順序決定部３０８ａは、巡回路に対して巡回セールスマン問題の２−ＯＰＴ法を適用させ、実装順序の入れ替えを試みる（Ｓ１０１２）。２−ＯＰＴ法（Ｓ１０１２）の詳細については、後述する。２−ＯＰＴ法により実装順序の入れ替えが行なわれた場合には（Ｓ１０１４でＹＥＳ）、ループカウンタｉを０にリセットする（Ｓ１０１６）。実装順序の入れ替えが行なわれなかった場合には（Ｓ１０１４でＮＯ）、ループカウンタｉを１つインクリメントする（Ｓ１０１８）。以上の処理（Ｓ１０１２〜Ｓ１０１８）を、ループカウンタｉの値が７になるまで、すなわち（ｉ＝Ｎ＝ｎ＋２）になるまで繰り返す（ループＡ）。ループカウンタｉの値が７になった時点の巡回路が巡回セールスマン問題を用いて求められた総実装時間が最小となる巡回路である。すなわち、ループＡの繰り返し処理を７回（Ｎ回）連続して行なっても実装順序の入れ替えが行なわれなければ、その時点で求められている巡回路が最適な巡回路であるとして、部品実装順序を決定する。
【００９３】
次に、２−ＯＰＴ法（Ｓ１０１２）について詳細に説明する。図１９は、２−ＯＰＴ法の詳細な処理を示すフローチャートである。
【００９４】
第１部品実装順序決定部３０８ａは、ループカウンタｊにｉ＋２を設定する（Ｓ１１０２）。なお、ループカウンタｊの値が７を超えた場合には、ループカウンタｊに（（ｉ＋２）  ｍｏｄ  ７）を代入する。ここで、「ｘ  ｍｏｄ  ｙ」はｘをｙで割ったときの余りを示す。
【００９５】
次に、第１部品実装順序決定部３０８ａは、実装順配列ｐの要素ｐ［ｉ＋１］で示される実装点（以下、要素ｐ［ｋ］で示される実装点を実装点ｐ［ｋ］という。）と実装点ｐ［ｊ］とのＸＹ速度が同一か否かを判断する（Ｓ１１０４）。
【００９６】
ＸＹ速度が同一であれば（Ｓ１１０４でＹＥＳ）、実装点ｐ［ｉ＋１］と実装点ｐ［ｊ］とを入れ替えた場合の巡回路の総実装時間を算出する（Ｓ１１０６）。
【００９７】
第１部品実装順序決定部３０８ａは、算出された総実装時間が算出前の総実装時間よりも短くなっているか否かを判断する（Ｓ１１０８）。
【００９８】
たとえば、ｉ＝０でｊ＝２の場合には、実装点ｐ［１］とｐ［２］との実装順序を入れ替える前後で総実装時間を求めると、総実装時間の変化は起こらない。これは、以下のような理由による。すなわち、総実装時間の変化に影響する部分の実装順序について考えると、実装順序の入れ替え前のｐ［０］からｐ［１］への２点間の実装時間はタクトテーブルよりｔ01＝２００（ｍｓｅｃ）となる。また、ｐ［２］からｐ［３］への２点間の実装時間はタクトテーブルよりｔ23＝３００（ｍｓｅｃ）となる。このため、ｐ［０］からｐ［３］への実装時間は５００（ｍｓｅｃ）となる。一方、実装順序入れ替え後のｐ［０］からｐ［２］への実装時間はタクトテーブルよりｔ02＝３００（ｍｓｅｃ）となり、ｐ［１］からｐ［３］への実装時間はタクトテーブルよりｔ13＝２００（ｍｓｅｃ）となる。このため、ｐ［０］からｐ［３］への実装時間は５００（ｍｓｅｃ）となり、実装順序入れ替え前と同じである。このため、総実装時間も変化しない。
【００９９】
実装点ｐ［ｉ＋１］と実装点ｐ［ｊ］とのＸＹ速度が同一でないか（Ｓ１１０４でＮＯ）または総実装時間が短くなっていなければ（Ｓ１１０８でＮＯ）、ループカウンタｊの値を１つインクリメントする（Ｓ１１１４）。その後、ループカウンタｊの値が（ｉ＋ｎ＋１）よりも小さいという条件を満たす間、Ｓ１１０４以下の処理を繰り返す（ループＢ）。なお、ｊがＮを超えた場合には、ｊの代わりに「ｊ  ｍｏｄ  Ｎ」を用い、（ｉ＋ｎ＋１）がＮを超えた場合には、（ｉ＋ｎ＋１）の代わりに「（ｉ＋ｎ＋１）  ｍｏｄ  Ｎ」を用いるものとする。ループＢの処理が終了した時点で２−ＯＰＴ法（図１３のＳ１０１２）を終了する。
【０１００】
実装点入れ替え後の総実装時間が実装点入れ替え前の総実装時間よりも短くなっていれば（Ｓ１１０８でＹＥＳ）、第１部品実装順序決定部３０８ａは、総実装時間を実装点入れ替え後の総実装時間に更新する（Ｓ１１１０）。また、第１部品実装順序決定部３０８ａは、実装順配列ｐの要素の入れ替えを行なうことにより、実装順序の入れ替えを行なう（Ｓ１１１２）。なお、図２１を用いて後述するように、実装点の入れ替えは、閉ループのパスの入れ替えに相当する。パスの入れ替えを行なうと、入れ替えた後のパスの途中に存在するパスの向きを逆にしなければ、閉ループとならない。このため、実装順序の入れ替えを行なう際には、このようにパスの向きを逆にする処理も合わせて行なう。これにより、巡回セールスマン問題における２−ＯＰＴ法（図１３のＳ１０１２）を終了する。
【０１０１】
たとえば、ｉ＝０，ｊ＝４とした場合、実装点ｐ［１］（ここでは実装点１）と実装点ｐ［４］（ここでは実装点４）との入れ替え前の各実装点間の実装時間は、図２０（ａ）の下段の表に示すようになる。また、実装点１と実装点４との入れ替え後の各実装点間の実装時間は図２０（ｂ）の下段の表に示すようになる。図２１（ａ）および図２１（ｂ）は、実装点の入れ替え前と入れ替え後との巡回路をそれぞれ示した図である。すなわち、実装点１と実装点４とを入れ替えるということは、実装点０から実装点１へのパスと、実装点４から実装点５へのパスとを入れ替えることに相当する。
【０１０２】
総実装時間に影響する部分の実装時間のみを考えると、実装点入れ替え前の実装点０から実装点１への実装時間はタクトテーブルよりｔ01＝２００（ｍｓｅｃ）であり、実装点４から実装点５への実装時間はタクトテーブルよりｔ45＝３８０（ｍｓｅｃ）である。このため、これらの合計実装時間は５８０（ｍｓｅｃ）である。一方、実装点入れ替え後の実装点０から実装点４への実装時間はタクトテーブルよりｔ04＝２００（ｍｓｅｃ）であり、実装点１から実装点５への実装時間はタクトテーブルよりｔ15＝１００（ｍｓｅｃ）である。このため、これらの合計実装時間は３００（ｍｓｅｃ）であり、実装点入れ替え前よりも短くなっていることがわかる。なお、実装点ｐ［１］と実装点ｐ［４］との入れ替えに伴い、図２０（ｂ）に示すように、ｐ［１］とｐ［４］との間に存在する要素ｐ［２］、ｐ［３］の値の入れ替えも行なわれる。すなわち、ｐ［２］の値が２から３に変わり、ｐ［３］の値が３から２に変わる。これは、図２１に示すように、ｐ［１］とｐ［４］とを入れ替えたことにより、その間に存在しているｐ［１]からｐ［２］へのパス、ｐ［２］からｐ［３］へのパスおよびｐ［３］からｐ［４］へのパスの方向が逆向きになることに起因する。なお、パスの方向を逆向きにしたとしても、上述のタクトテーブルの算出処理（Ｓ１００４）においてｔij＝ｔjiとしてタクトテーブルを求めている。このため、パスの方向が変化した部分に関して言えば、総実装時間の変化には影響しない。
【０１０３】
なお、図２１の説明をまとめると、図２１（ｂ）においては、パスの方向を逆にしたとしても、当該パスを構成する実装点間の実装時間は変わらないという事例を説明している。また、最終目標は、閉ループの総実装時間が短くすることである。したがって、この条件に当てはまるようであれば、図２１（ａ）から図２１（ｂ）のような実装順序の変更を行なってもよい。さらに、図２１（ｂ）では、ある２点の実装点の入れ替えを行なった場合には、適宜閉ループとなるようにパスの方向の入れ替えを行なわなければならないことを示している。
【０１０４】
図２２は、上述した第１部品実装順序決定部３０８ａによる実装順序決定処理の処理結果を表す図である。図２２（ａ）は、実装順配列ｐと、実装点間の実装時間を示した図である。図２２（ｂ）は、実際の基板上での実装点の巡回路と実装点間の実装時間を示した図である。実装順配列ｐによると実装点０、４、２、３、１、５、６および０の順で巡回路が生成され、総実装時間は１０００１００１であることが示されている。ここで、図２１（ｂ）に示した閉ループの総実装時間を計算すると１０００１２５１であり、図２２（ｂ）に示した閉ループの総実装時間のほうが短いことが分かる。
【０１０５】
図２３は、図２２（ａ）に示した実装順配列ｐと実装点情報配列Ｄａｔａと、実装順序との関係を示した図である。図２３（ａ）に示す実装順配列ｐの各要素の値は、図２３（ｂ）に示す実装点情報配列Ｄａｔａのインデックスを示しており、実装順配列ｐと実装点情報配列Ｄａｔａとの間の矢印が、実装点配列ｐの各要素が示す実装点情報配列Ｄａｔａの要素を示している。すなわち、ｐ［０］の値０は、１番目に実装される実装点の実装点情報配列Ｄａｔａの要素のインデックスを示している。このため、Ｄａｔａ［０］を示していることになる。Ｄａｔａ［０］には、基板マーク１４０４の位置に関する情報が記憶されている。また、ｐ［１］の値４は、２番目に実装される実装点の実装点情報配列Ｄａｔａの要素のインデックスを示している。このため、Ｄａｔａ［４］を示していることになる。Ｄａｔａ［４］には、実装点４の実装点情報が記憶されている。以上のようにして求められた巡回路から基板マーク１４０４とダミー点１４０６とを除き、実装順配列ｐの値に基づいて、実装点情報配列Ｄａｔａの並べ替えを行なうと、図２３（ｃ）に示されるように、実装点４、２、３、１および５の順に実装される実装点情報配列Ｄａｔａが生成される。
【０１０６】
図２４は、実装点情報配列Ｄａｔａの他の作成方法を説明するための図である。図２４（ａ）に示すような実装点配列ｐと、図２４（ｂ）に示すような実装点情報配列Ｄａｔａとが与えられているものとする。これらによると、巡回路のスタート点はダミー点であることが示されている。このため、図２５に示されるような巡回路が生成される。このため、このような場合には、図２３で説明したのと同様の方法に従い、図２４（ｃ）に示すような実装点情報配列Ｄａｔａを作成した後、実装点情報配列Ｄａｔａにおける実装順序を入れ替える作業を行なう。その結果、図２２（ｃ）に示されるような巡回路が生成されることになる。このようにして実装点情報配列Ｄａｔａを求めることにより、基板マーク１４０４に近い実装点から部品が実装されることになる。
【０１０７】
図２６は、従来の方法と本願にかかる方法との実験結果を示す表である。
【０１０８】
この表には、第１列目にサンプル番号を示しており、第２列目に実装点数を示しており、第３列目に部品種類数を示しており、第４列目に従来方法（貪欲法）により求められた実装順序に従い部品を実装した場合の総実装時間を示しており、第５列目は本願の方法である巡回セールスマン問題を用いて求められた実装順序に従い部品を実装した場合の総実装時間を示しており、第６列目は、第５列目に示す総実装時間に対する第４列目に示す総実装時間の百分比を示しており、第７列目は、本願の方法による実装順序を求めるのにかかる処理時間を示している。なお、従来方法と、本願の方法とではＺ軸の部品カセットの並びは同じにして、条件をそろえている。
【０１０９】
第６列目に示す改善率によると、すべてのサンプルにおいて、１００％を超えており、最大で１８．２％の改善（サンプルＥ）が見られる。また、実装順序を求めるために必要な処理時間もすべて１秒未満である。
【０１１０】
以上説明したように、第１部品実装順序決定部３０８ａによる部品実装順序決定処理によると、現実的な時間内で最適な部品実装順序を決定することができる。
【０１１１】
以上、第１部品実装順序決定部３０８ａによる部品実装順序決定処理について説明したが、この処理は上述した処理に限定されるものではない。
【０１１２】
例えば、図１３に示した部品実装順序の決定方法においては、実装点情報配列１３０７ａをＸＹテーブルの移動速度が速い順（レベル値が小さい順）に並べ替えることにより初期巡回路を求めるようにしているが（図１３のＳ１００６）、貪欲法により初期巡回路を求めるようにしてもよい。このようにすることにより、その後の巡回セールスマン問題による部品実装順序の決定処理を高速に行なうことが可能になる。
【０１１３】
また、上述の部品実装順序決定処理では、基板マーク１４０４の近傍にダミー点１４０６を設けるようにしているが、必ずしも基板マーク１４０４の近傍にダミー点１４０６を設ける必要はなく、予め定められた最初に部品が実装される部品実装点の近傍にダミー点１４０６を設けるようにしてもよい。
【０１１４】
また、ダミー点１４０６は、予め定められた最初に部品が実装される部品実装点と同一の位置にあってもよい。
【０１１５】
また、図２の動作時間短縮装置３００のように、部品実装順序決定処理を切り換えて実行するのではなく、第１部品実装順序決定部３０８ａによる部品実装順序決定処理のみを専用に実行するような構成であっても良い。
【０１１６】
図２７は、そのような構成を有する部品実装システムの外観図である。
【０１１７】
部品実装システムは、基板上への部品の実装順序を決定するとともに、決定された実装順序に従って、基板上に部品を実装するシステムであり、部品実装機１０１０と、部品実装順序決定装置１３００とを備えている。
【０１１８】
図２８は、部品実装順序決定装置の構成を示す機能ブロック図である。
【０１１９】
部品実装順序決定装置１３００は、基板上の部品の実装順序を決定するコンピュータであり、演算制御部１３０１、表示部１３０２、入力部１３０３、メモリ部１３０４、部品実装順序決定プログラム格納部１３０５、通信Ｉ／Ｆ（インターフェース）部１３０６およびデータベース部１３０７等から構成される。
【０１２０】
この部品実装順序決定装置１３００は、部品実装順序決定プログラムをパーソナルコンピュータ等の汎用のコンピュータシステムが実行することにより実現され、部品実装機１０１０と接続されていない状態で、スタンドアローンのシミュレータ（部品実装順序の決定ツール）としても機能する。
【０１２１】
演算制御部１３０１は、ＣＰＵ（Central Processing Unit）や数値プロセッサ等であり、ユーザからの指示等に従って、部品実装順序決定プログラム格納部１３０５からメモリ部１３０４に必要なプログラムをロードして実行し、その実行結果に従って、各構成要素１３０２〜１３０７を制御する。
【０１２２】
表示部１３０２はＣＲＴ（Cathode-Ray Tube）やＬＣＤ（Liquid Crystal Display）等であり、入力部１３０３はキーボードやマウス等であり、これらは、演算制御部１３０１による制御の下で、部品実装順序決定装置１３００と操作者とが対話する等のために用いられる。
【０１２３】
通信Ｉ／Ｆ部１３０６は、ＬＡＮ（Local Area Network）アダプタ等であり、部品実装順序決定装置１３００と部品実装機１０１０との通信等に用いられる。メモリ部１３０４は、演算制御部１３０１による作業領域を提供するＲＡＭ（Random Access Memory）等である。
【０１２４】
データベース部１３０７は、この部品実装順序決定装置１３００による部品実装順序決定処理に用いられる入力データ（実装点情報配列１３０７ａおよび変換テーブル１３０７ｂ等）や部品実装順序決定処理により決定された部品の実装順序等を記憶するハードディスク等である。
【０１２５】
部品実装順序決定プログラム格納部１３０５に格納されているプログラムは、演算制御部１３０１で実行された際に、上述の第１部品実装順序決定部３０８ａとして機能するプログラムである。このため、演算制御部１３０１において、当該プログラムを実行することにより上述の第１部品実装順序決定部３０８ａと同様の処理を実行することができる。
【０１２６】
なお、第１部品実装順序決定部３０８ａは、ロータリー式の部品実装機１０１０を対象として部品実装順序の最適化処理を行なったが、第１部品実装順序決定部３０８ａによる処理は、ラジアル部品送入機と呼ばれる部品実装機に適用することも可能である。
【０１２７】
図２９は、ラジアル部品挿入機と呼ばれる部品実装機の構成の一例を示す外観図である。この部品実装機１５００は、いわゆるラジアル部品挿入機とよばれるものであって、ラジアル部品のリードを基板のスルーホールに挿入することで、そのラジアル部品を基板に実装する。
【０１２８】
部品実装機１５００は、部品供給部１５１０と、部品搬送部１５２０と、ヘッド１５３０と、搬送ローダ１５４０と、ＸＹテーブル１５５０と、２つのＩＣタグリーダ１６１１とを備えている。
【０１２９】
図３０は、部品実装機１５００の主要構成を概念的に示す図である。
【０１３０】
部品供給部１５１０は、複数のラジアル部品を蓄えておき、そのラジアル部品を部品搬送部１５２０に受け渡すものであって、部品収納部１５１１と、複数のガイド１５１２と、複数のカセット１５１３とを備えている。
【０１３１】
部品収納部１５１１は、一群の同種のラジアル部品Ｃを包装する部品供給手段たるパック１５１１ａを複数個収納している。一群の同種のラジアル部品Ｃは一列に並んで１本のテープに保持されている。即ち、上述のパック１５１１ａは、このようなラジアル部品Ｃを保持するテープ（部品テープ）ｔを折り重ねた状態で包装している。
【０１３２】
ガイド１５１２は、部品収納部１５１１のパック１５１１ａから引き出される部品テープｔをカセット１５１３に案内する。
【０１３３】
カセット１５１３は、部品テープｔを部品収納部１５１１のパック１５１１ａから引き出して連続的な送り動作を行う。そして、カセット１５１３は、送り出される部品テープｔを先端側から切断することにより、その部品テープｔに保持されている複数のラジアル部品Ｃを順に分離して部品搬送部１５２０に供給する。
【０１３４】
部品搬送部１５２０は、カセット１５１３から供給されるラジアル部品Ｃをヘッド１５３０に搬送するものであって、３つのプーリ１５２１と、コンベアベルト１５２２と、複数のチャック保持部１５２３と、プーリ１５２１を回転駆動させる駆動機構（図示せず）とを備えている。
【０１３５】
コンベアベルト１５２２は、例えば合成樹脂性で環状に形成されており、３つのプーリ１５２１により略三角形状に張架されている。そしてコンベアベルト１５２２は、プーリ１５２１の回転駆動によって巡回する。
【０１３６】
複数のチャック保持部１５２３は、それぞれ略等間隔に間を空けてコンベアベルト１５２２に取着されており、ラジアル部品Ｃを保持（把持）するように構成されている。
【０１３７】
このような部品搬送部１５２０は、カセット１５１３から供給されるラジアル部品Ｃがコンベアベルト１５２２のチャック保持部１５２３に保持されることにより、ラジアル部品Ｃをカセット１５１３からヘッド１５３０へ順次搬送する。
【０１３８】
搬送ローダ１５４０は、図２９に示すように、基板ＢをＸＹテーブル１５５０まで搬入し、部品実装された基板Ｂを部品実装機１５００の外部に搬出する。
【０１３９】
ＸＹテーブル１５５０は、基板Ｂを実装面に沿って２次元の方向に移動させる。
【０１４０】
ヘッド１５３０は、部品搬送部１５２０により搬送されるラジアル部品Ｃを取得して保持し、ＸＹテーブル１５５０上に設置された基板Ｂ上にそのラジアル部品Ｃを実装する。
【０１４１】
２つのＩＣタグリーダ１６１１は、部品収納部１５１１内に配設されており、各パック１５１１ａに取り付けられているＩＣタグ１５１１ｂから後述する部品情報を読み出す。また、各ＩＣタグ１５１１ｂから出力される信号は、互いに異なる位置に配設された２つのＩＣタグリーダ１６１１に取得されるため、その取得された信号に基づいて各ＩＣタグ１５１１ｂの位置が特定される。つまり、各ＩＣタグ１５１１ｂは、各パック１５１１ａに取り付けられているため、各パック１５１１ａの位置（Ｚ番号「Ｚ１，Ｚ２，…」）が特定される。
【０１４２】
また、第１部品実装順序決定部３０８ａによる処理は、基板上にジャンパー部品を挿入するジャンパー挿入機や、アキシャル部品を挿入するアキシャル挿入機と呼ばれる部品実装機に適用することも可能である。
【０１４３】
［第２部品実装順序決定部３０８ｂについて］
第２部品実装順序決定部３０８ｂが対象とする部品実装機は、図１に示したモジュラー式の部品実装機２１００である。
【０１４４】
図３１は、本発明に係る部品実装機２１００の主要な構成を示す平面図である。
【０１４５】
シャトルコンベヤ２１１８は、トレイ供給部２１１７から取り出された部品を載せて、ヘッド２１１２による吸着可能な所定位置まで運搬するための移動テーブル（部品搬送コンベア）である。ノズルステーション２１１９は、各種形状の部品種に対応するための交換用ノズルが置かれるテーブルである。
【０１４６】
各サブ設備２１１０（又は２１２０）を構成する２つの部品供給部２１１５ａ及び２１１５ｂは、それぞれ、部品認識カメラ２１１６を挟んで左右に配置されている。したがって、部品供給部２１１５ａ又は２１１５ｂにおいて部品を吸着したヘッド２１１２は、部品認識カメラ２１１６を通過した後に、基板２０２０の実装点に移動し、吸着した全ての部品を順次装着していく動作を繰り返す。「実装点」とは、部品を装着すべき基板２０２０上の座標点のことであり、同一部品種の部品が異なる実装点に装着される場合もある。同一の部品種に係る部品テープに並べられた部品（実装点）の個数の合計は、その部品種の部品数（装着すべき部品の総数）と一致する。
【０１４７】
ここで、ヘッド２１１２による部品の吸着・移動・装着という一連の動作の繰り返しにおける１回分の動作（吸着・移動・装着）、又はそのような１回分の動作によって装着される部品群を「タスク」と呼ぶ。例えば、１０ノズルヘッドによれば、１個のタスクによって装着される部品の最大数は１０となる。なお、ここでいう「吸着」には、ヘッド２１１２が部品を吸着し始めてから移動するまでの全ての吸着動作が含まれ、例えば、１回の吸着動作（ヘッド２１１２の上下動作）で１０個の部品を吸着する場合だけでなく、複数回の吸着動作によって１０個の部品を吸着する場合も含まれる。
【０１４８】
図３２は、ヘッド２１１２と部品カセット２１１４の位置関係を示す模式図である。このヘッド２１１２は、「ギャングピックアップ方式」と呼ばれる作業ヘッドであり、最大１０個の吸着ノズル２１１２ａを取り付けることが可能であり、このときには、最大１０個の部品カセット２１１４のそれぞれから部品を同時に（１回の上下動作で）吸着することができる。
【０１４９】
なお、「シングルカセット」と呼ばれる部品カセット２１１４には１つの部品テープだけが装填され、「ダブルカセット」と呼ばれる部品カセット２１１４には２つの部品テープが装填される。また、部品供給部２１１５ａ及び２１１５ｂにおける部品カセット２１１４（又は、部品テープ）のセット位置を「Ｚ軸上の値」又は「Ｚ軸上の位置（Ｚ番号）」と呼び、Ｚ番号には、部品供給部２１１５ａの最左端を「Ｚ１」とする連続番号等が用いられる。「Ｚ軸」とは、部品実装機（サブ設備を備える場合には、サブ設備）ごとにセットされる部品カセット２１１４の配列位置（セット位置）を特定する座標軸のことをいう。
【０１５０】
以下、第２部品実装順序決定部３０８ｂの実行する部品実装順序決定処理について説明する。第２部品実装順序決定部３０８ｂの実行する部品実装順序決定処理と第１部品実装順序決定部３０８ａの実行する部品実装順序決定処理とは、ほぼ同様であるが、基板上の実装点ｉから実装点ｊまでの実装時間ｔijを求める式が、上述の式（２）とは異なる。
【０１５１】
すなわち、次式（４）に従い、実装時間ｔijを求める。
【０１５２】
ｔｉｊ＝ｔxy（Δｘ’ｙ’）                        （４）
Δｘ’ｙ’＝ｍａｘ｛｜ｘ’i−ｘ’j｜，｜ｙ’i−ｙ’j｜｝
：基板２０２０上での補正後の実装点ｉと補正後の実装点ｊとの間の距離
ｔxy（Δｘ’ｙ’）：Δｘ’ｙ’を変換テーブル１３０７ｂに基づいて時間に置き換えた値
【０１５３】
図３３（ａ）は、ヘッド２１１２を側面から見た図、図３３（ｂ）は、ヘッド２１１２を底面から見た図である。以下では、説明の簡単化のために吸着ノズル２１１２ａの本数は４本であるものと仮定する。吸着ノズル２１１２ａには、１から４までノズル番号が付されているものとする。また、４本の吸着ノズル２１１２ａの中心をヘッド中心２５０２とする。図３３（ａ）に示すように、１番目の吸着ノズル２１１２ａは、ヘッド中心２５０２から左に３０だけｘ座標がずれている。同様に、２番目の吸着ノズル２１１２ａは、ヘッド中心２５０２から左に１０だけｘ座標がずれている。また、３番目および４番目の吸着ノズル２１１２ａは、ヘッド中心２５０２から右に１０および３０だけそれぞれｘ座標がずれている。
【０１５４】
図３４は、基板２０２０の一例を示す図である。基板２０２０には２個の基板マーク２４０２および２４０４が予め形成されており、その上に、４つの実装点（実装点１〜実装点４）設けられているものとする。４個の実装点は、部品実装機２０１０により部品が実装される点である。基板マーク２４０２および基板マーク２４０４は、基板２０２０の位置決めのために、ヘッド２１１２に設けられた基板認識カメラ（図示せず）により撮像され、その位置が認識される。なお、先に基板マーク２４０２の位置が認識され、次に基板マーク２４０４の位置が認識されるものとする。なお、４つの実装点の座標は図に示すとおりであるものとする。例えば、実装点１の座標は（ｘ，ｙ）＝（１００，１００）である。
【０１５５】
その他にも、ダミー点２４０６と呼ばれる仮想的な点が基板２０２０の外部に設けられている。具体的には、ダミー点２４０６は、図３５に示すように、部品供給部２１１５ａ又は２１１５ｂに複数ある部品カセット２１１４の中央の部品カセットの部品供給口に設けられる。例えば、部品カセット２１１４が９つある場合には（Ｚ軸の値が１から９）、Ｚ軸の値が５の部品カセット２１１４の部品供給口にダミー点２４０６が設けられる。
【０１５６】
なお、第２部品実装順序決定部３０８ｂによる処理では、ダミー点２４０６を部品実装順序決定問題を閉回路モデル化する際の開始点および終了点とし、閉回路における途中の点とする。なお、閉回路モデル化された実装順序決定問題は、例えば巡回セールスマン問題に相当する。
【０１５７】
図３６は、実装点情報配列１３０７ａの一例を示す図である。この処理では、図１０に示した実装点情報配列１３０７ａと異なり、実装点情報配列１３０７ａにおける開始点および終了点の両方をダミー点としていることである。また、実装点情報が図１０に示したものと異なる。すなわち、実装点情報は、実装点の座標である「ｘ座標」および「ｙ座標」と、実装点に装着される部品を吸着する吸着ノズル２１１２ａの番号である「吸着ノズル番号」と、吸着ノズル２１１２ａの位置に基づいて「ｘ座標」および「ｙ座標」を補正した「ｘ’座標」および「ｙ’座標」とを含む。
【０１５８】
図３７は、「ｘ’座標」および「ｙ’座標」の算出方法について説明するための図である。同図に示すように実装点１、２、３および４に実装される部品をノズル番号２、１、４および３の吸着ノズル２１１２ａが吸着するものとする。図３３に示したようにノズル番号１の吸着ノズル２１１２ａはヘッド中心２５０２から左に３０だけずれている。このため、実装点２の座標は（ｘ，ｙ）＝（１５０，１５０）ではあるが、実装点２の実装時におけるヘッド中心２５０２の座標（ｘ’，ｙ’）は、（１８０（＝１５０＋３０），１５０）となる。このように、「ｘ’座標」および「ｙ’座標」は、部品実装時のヘッド中心２５０２の座標を示している。
【０１５９】
図３８は、第２部品実装順序決定部３０８ｂが実行する処理のフローチャートである。
【０１６０】
最適化データ読み込み処理（Ｓ１００２）は、第１部品実装順序決定部３０８ａが実行する処理と同様である。第２部品実装順序決定部３０８ｂは、読み込んだ実装点情報配列１３０７ａの実装点座標を上述のように変換して、ｘ’座標およびｙ’座標を求める（２００２）。
【０１６１】
第２部品実装順序決定部３０８ｂは、求められた実装点のｘ’座標およびｙ’座標およびダミー点の座標に基づいて、図１５に示したようなタクトテーブルを作成する（Ｓ２００４）。その後の処理（Ｓ１００６〜Ｓ１０１８）は、第１部品実装順序決定部３０８ａが実行する処理と同様である。このため、その詳細な説明はここでは繰り返さない。
【０１６２】
以上のような処理を行なうことにより、モジュラー式の部品実装機における最適な部品実装順序を決定することができる。これにより、部品実装機の動作時間を短縮することができる。
【０１６３】
なお、上述の方法では、図３７に示したように吸着ノズル２１１２ａに保持される部品種は予め固定されている。以下の例では、吸着ノズル２１１２ａに保持される部品種のパターンを２種類用意して、部品の実装時間が小さくなる方の部品種のパターンを採用する。
【０１６４】
図３９は、第２部品実装順序決定部３０８ｂが実行する処理のフローチャートである。
【０１６５】
第２部品実装順序決定部３０８ｂは、１つのタスクを構成する部品群を決定する（Ｓ２１０２）。部品群の決定方法としては、実装部品の員数の多いものから順に１つずつ部品を選択するような方法が考えられる。例えば、図４０（ａ）に示すような員数ヒストグラムを考えた場合に、員数の多い部品ＡからＤまでを１つのタスクに含まれる部品群とする。
【０１６６】
次に、第２部品実装順序決定部３０８ｂは、吸着優先で部品の吸着ノズル番号を決定する（Ｓ２１０４）。すなわち、部品吸着に時間がかからないような順番で部品を吸着するノズル番号を決定する。例えば、図４０（ｂ）に示すように、部品カセット２１１４が部品Ａ、Ｂ、ＣおよびＤの順で並んでいるとする。この場合、図４０（ｃ）に示すように、ノズル番号が１の吸着ノズル２１１２ａに部品Ａを吸着させ、ノズル番号が２の吸着ノズル２１１２ａに部品Ｂを吸着させ、ノズル番号が３の吸着ノズル２１１２ａに部品Ｃを吸着させ、ノズル番号が４の吸着ノズル２１１２ａに部品Ｄを吸着させるのが部品吸着に時間がかからない。
【０１６７】
次に、第２部品実装順序決定部３０８ｂは、Ｓ２１０４の処理で図４０（ｃ）のように求められた吸着優先の部品の吸着パターンに基づいて、部品実装順序の最適化処理を行なう（Ｓ２１０６）。最適化処理（Ｓ２１０６）は、図３８に示した処理と同様であるため、説明は繰り返さない。
【０１６８】
次に、第２部品実装順序決定部３０８ｂは、装着優先で部品の吸着ノズル番号を決定する（Ｓ２１０８）。すなわち、基板２０２０への部品装着に時間がかからないであろうと思われる順番で部品を吸着するノズル番号を決定する。ここでは、ノズル番号が小さい吸着ノズル２１１２ａほど実装点のｘ座標の小さい部品が吸着されるように部品の吸着ノズル番号を決定する。このような決定方法にすることにより、補正後のｘ座標（ｘ’座標）が基板２０２０の中央によることになり、ヘッド２１１２の装着時の移動距離を小さくすることができると考えられるためである。
【０１６９】
例えば、図４１（ａ）に示すような実装点の並びの場合には、図４１（ｂ）に示すように、ノズル番号が１の吸着ノズル２１１２ａに部品Ａを吸着させ、ノズル番号が２の吸着ノズル２１１２ａに部品Ｄを吸着させ、ノズル番号が３の吸着ノズル２１１２ａに部品Ｃを吸着させ、ノズル番号が４の吸着ノズル２１１２ａに部品Ｂを吸着させる。
【０１７０】
次に、第２部品実装順序決定部３０８ｂは、Ｓ２１０８の処理で図４１（ｂ）のように求められた装着優先の部品の吸着パターンに基づいて、部品実装順序の最適化処理を行なう（Ｓ２１１０）。最適化処理（Ｓ２１１０）は、図３８に示した処理と同様であるため、説明は繰り返さない。
【０１７１】
第２部品実装順序決定部３０８ｂは、吸着優先で決定された部品実装順序における総実装時間（以下、「吸着優先総実装時間」という。）と、装着優先で決定された部品実装順序における総実装時間（以下、「装着優先総実装時間」という。）とを比較する（Ｓ２１１２）。
【０１７２】
吸着優先総実装時間のほうが装着優先総実装時間よりも小さい場合には（Ｓ２１１２でＹＥＳ）、第２部品実装順序決定部３０８ｂは、吸着優先で決定された部品の吸着パターンと部品の実装順序を採用する（Ｓ２１１４）。一方、装着優先総実装時間が吸着優先総実装時間以下の場合には（Ｓ２１１２でＮＯ）、第２部品実装順序決定部３０８ｂは、装着優先で決定された部品の吸着パターンと部品の実装順序を採用する（Ｓ２１１６）。
【０１７３】
以上の処理により、各吸着ノズル２１１２ａに保持される最適な部品種を決定することができる。
【０１７４】
なお、第２部品実装順序決定部３０８ｂの実行する処理は、ロータリーヘッドが移動しながら基板上に部品を実装するモジュラー式の部品実装機にも適用することができる。
【０１７５】
以下に、そのようなロータリーヘッドを２種類説明する。
【０１７６】
図４２は、ロータリーヘッドの斜視図である。
【０１７７】
ロータリーヘッド２４０５は、並設された同一機能の第１ヘッドユニット２４０５ａおよび第２ヘッドユニット２４０５ｂを備える。各ヘッドユニットは略同一機能のユニットであるため、以下では第１ヘッドユニット２４０５ａの構造についてのみ説明する。
【０１７８】
第１ヘッドユニット２４０５ａは、固定台２４１０と、固定台２４１０上に配置された複数（図４２においては６つ）のノズル昇降モータ２４１１と、部品を吸着保持する複数の吸着ノズル２４１２と、吸着ノズル２４１２を着脱自在に保持する吸着部２４１３と、複数のカム管２４１４と、Ａ軸またはＡ’軸を中心として吸着ノズル２４１２を回転させるθモータ２４１５とを備える。
【０１７９】
上記構造を有する第１ヘッドユニット２４０５ａにおいて、θモータ２４１５による回転動により、複数の吸着ノズル２４１２は、相対位置を変化させることなく、Ａ軸を中心として回転する。そして、ノズル昇降モータ２４１１の直下に移動した吸着ノズル２４１２は、直上のノズル昇降モータ２４１１による押圧により下方に移動する。また、吸着ノズル２４１２に吸着した部品の角度を補正する場合には、θモータ２４１５による回転動により、吸着ノズル２４１２は、Ａ’軸を中心として回転する。
【０１８０】
なお、ロータリーヘッドは、吸着ノズルの組が複数備えられ各組の吸着ノズルが同一方向を向いて回転する構造を有するとしたが、放射状に異なる方向を向いた吸着ノズルの組が回転する構造を有していてもよい。すなわち、ロータリーヘッドは、図４３に示されるように、並設された同一機能の第１ヘッドユニット２４６０ａおよび第２ヘッドユニット２４６０ｂを備え、第１ヘッドユニット２４６０ａおよび第２ヘッドユニット２４６０ｂが、ユニット外枠２４６１と、回転自在にユニット外枠２４６１に取り付けられたサブヘッド２４６２と、サブヘッド２４６２を回転駆動するサブヘッド回転モータ２４６３と、部品を吸着保持する吸着ノズル２４６４と、サブヘッド２４６２の下端位置の吸着ノズル２４６４を下降動作させる押し下げ機構２４６５と、撮像部２４６６とをそれぞれ備える構造をしていてもよい。
【０１８１】
なお、図４３に示したロータリーヘッドのように、部品の吸着から装着までの間に撮像部２４６６（部品認識カメラ）を備える場合には、部品の吸着から装着までの間に、部品の認識が終了している。このため、このような場合には、吸着ノズルが部品を吸着してから装着位置に移動するまでの間に部品認識の動作が行なわれるため、部品認識時間を無視することができ、装着時間と吸着時間とが等しいとみなせるという特徴がある。
【０１８２】
以下に、このようなロータリーヘッドを用いた部品実装順序の最適化処理について説明する。
【０１８３】
図４４は、図４２に示したロータリーヘッド２４０５を備える部品実装機を上方から見たときの模式図である。
【０１８４】
なお、ここでは、説明の簡単化のために、ヘッドユニットは１つであるものとし、吸着ノズル２４１２の本数は４本であるものとする。ロータリーヘッド２４０５は、上方から見た場合に、時計回りに回転をしながら部品を吸着する。ロータリーヘッド２４０５に吸着されるタスクが部品Ａ、Ｂ、ＣおよびＤからなり、部品供給部２１１５ａに同図のように部品カセット２１１４が並んでいるものとする。この場合に、ロータリーヘッド２４０５が図中右側から左側へ移動しながら部品の吸着を行なう場合には、１番目の吸着ノズル２４１２に部品Ｄを吸着させ、２番目の吸着ノズル２４１２に部品Ｃを吸着させ、３番目の吸着ノズル２４１２に部品Ｂを吸着させ、４番目の吸着ノズル２４１２に部品Ａを吸着させるのが吸着動作に時間がかからない。
【０１８５】
一方、図４５に示すようにロータリーヘッド２４０５が図中左側から右側へ移動しながら部品の吸着を行なう場合には、１番目の吸着ノズル２４１２に部品Ａを吸着させ、２番目の吸着ノズル２４１２に部品Ｂを吸着させ、３番目の吸着ノズル２４１２に部品Ｃを吸着させ、４番目の吸着ノズル２４１２に部品Ｄを吸着させるのが吸着動作に時間がかからない。
【０１８６】
このようにして求められた部品の吸着パターンに基づいて、図３８に示したＳ２００４以降の処理を行なうことにより、ロータリーヘッドを備えるモジュラー式の部品実装機における最適な部品実装順序を決定することができる。これにより、部品実装機の動作時間を短縮することができる。
【０１８７】
また、図３９に示したのと同様に、吸着ノズル２１１２ａに保持される部品種のパターンを２種類用意して、部品の実装時間が小さくなる方の部品種のパターンを採用するようにしてもよい。
【０１８８】
ここで、吸着優先の部品の吸着パターンは、図４４または図４５に示したいずれかの吸着パターンである。また、装着優先の部品の吸着パターンは、図４６（ａ）に示すような実装点のならびの場合には、図４６（ｂ）に示すように、実装点のｘ座標に基づいて、１番目の吸着ノズル２４１２に部品Ａを吸着させ、２番目の吸着ノズル２４１２に部品Ｄを吸着させ、３番目の吸着ノズル２４１２に部品Ｃを吸着させ、４番目の吸着ノズル２４１２に部品Ｂを吸着させるように決定される（Ｓ２１０８）。
【０１８９】
以上のように決定された吸着優先の部品の吸着パターンおよび装着優先の装着パターンに基づいて、図３９に示したのと同様の処理を行なうことにより、各吸着ノズル２１１２ａに保持される最適な部品種を決定することができる。
【０１９０】
なお、図２の動作時間短縮装置３００のように、部品実装順序決定処理を切り換えて実行するのではなく、第２部品実装順序決定部３０８ｂによる部品実装順序決定処理のみを専用に実行するよう部品実装順序決定装置を動作時間短縮装置３００の代わりに用いても良い。部品実装順序決定装置は、図２８を参照して説明したものと同様である。
【０１９１】
以上、本発明の実施の形態に係る部品実装システムについて説明したが、本発明は、この実施の形態に限定されるものではない。
【０１９２】
例えば、上述の実施の形態では、動作時間短縮装置３００の動作ロス特定部３０５ａおよび処理手順選択部３０５ｂが最適化プログラム格納部３０８よりプログラムの選択を行なったが、ユーザが最適化プログラム格納部３０８よりプログラムを選択するようにしても良い。
【０１９３】
図４７は、ユーザが最適化プログラム格納部３０８よりプログラムを選択する際の動作時間短縮装置３００が実行する処理のフローチャートである。
【０１９４】
演算制御部３０１は、オペレータに対象となる部品実装機の種別を選択されるための画面を表示部３０２に出力する（Ｓ２）。例えば、図４８に示されるような画面４００が表示部３０２に出力される。ここでは、部品実装機を装着ヘッドが１つしかないモジュラー式（片方打ち）、装着ヘッドが複数あるモジュラー式（交互打ち）およびロータリー式の３種類に分類し、それぞれの部品実装機に対応するボタン４０２〜４０６を表示している。
【０１９５】
オペレータが入力部３０３を操作してボタン４０２〜４０６のいずれかを押下すると（Ｓ４）、対応する部品実装機に適用可能な最適化方法の選択画面を演算制御部３０１が表示部３０２に出力する（Ｓ６）。図４９および図５０は、表示部３０２に表示される画面の一例を示す図である。
【０１９６】
図４９は、モジュラー式（片方打ち）の部品実装機に対応するボタン４０２を押下した際の画面４１０を示しており、モジュラー式（片方打ち）に適用可能な４つの最適化方法に対応するボタン４１２〜４１８を表示している。ボタン４１２、４１４、４１６および４１８は、第４部品実装順序決定部３０８ｄを実現するためのプログラム、第５部品実装順序決定部３０８ｅを実現するためのプログラム、第６部品実装順序決定部３０８ｆを実現するためのプログラムおよび第２部品実装順序決定部３０８ｂを実現するためのプログラムにそれぞれ対応する。
【０１９７】
図５０は、モジュラー式（交互打ち）の部品実装機に対応するボタン４０４を押下した際の画面４２０を示しており、モジュラー式（交互打ち）に適用可能な３つの最適化方法に対応するボタン４２２、４１６および４１８を表示している。ボタン４２２、４１６および４１８は、第３部品実装順序決定部３０８ｃ、第６部品実装順序決定部３０８ｆおよび第２部品実装順序決定部３０８ｂを実現するためのプログラムにそれぞれ対応する。
【０１９８】
オペレータが入力部３０３を操作して、画面４１０または画面４２０に表示されたボタン４１２〜４１８および４２２のいずれかを押下すると、処理手順選択部３０５ｂが欧化されたボタンに対応付けられた部品実装順序決定部を実現するためのプログラムを最適化プログラム格納部３０８より読み出し、メモリ部３０４にロードする（Ｓ８）。演算制御部３０１がメモリ部３０４にロードされたプログラムを実行することにより、いずれかの部品実装順序決定部が部品実装順序を最適化する（Ｓ１０）。
【０１９９】
例えば、オペレータが図４９に示した画面４１０に表示されたボタン４１２を押下した場合には、処理手順選択部３０５ｂが、第４部品実装順序決定部３０８ｄを実現するためのプログラムを最適化プログラム格納部３０８よりメモリ部３０４にロードする（Ｓ８）。次に、演算制御部３０１がそのプログラムを実行することにより、第４部品実装順序決定部３０８ｄが、部品実装順序を最適化する（Ｓ１０）。
【０２００】
なお、ロータリー式の部品実装機に適用可能なプログラムは、第１部品実装順序決定部３０８ａを実現するためのプログラムのみである。このため、図４８に示した画面４００において、ロータリー式の部品実装機に対応するボタン４０６を押下した際には、図４９または図５０に示すような最適化方法を選択するための画面は表示されず、処理手順選択部３０５ｂが最適化プログラム格納部３０８より第１部品実装順序決定部３０８ａを実現するためのプログラムをメモリ部３０４にロードし、演算制御部３０１がそのプログラムを実行する。これにより、第１部品実装順序決定部３０８ａが、部品実装順序を最適化する。
【産業上の利用可能性】
【０２０１】
本発明は、部品実装機における部品実装順序の決定方法に適用でき、特にモジュラー機における部品実装順序の決定方法等に適用できる。
【図面の簡単な説明】
【０２０２】
【図１】本発明の実施の形態に係る部品実装システムの構成を示す外観図である。
【図２】動作時間短縮装置の構成を示す機能ブロック図である。
【図３】動作時間短縮装置が実行する処理のフローチャートである。
【図４】部品供給部とロータリーヘッドとの位置関係を示す概略図である。
【図５】部品を保持する部品テープが巻きつけられたリールの外観図である。
【図６】ロータリーヘッド、基板および部品供給部の位置関係を模式的に示した図である。
【図７】図６の位置Ｃに備えられた部品認識カメラの一例を示す図である。
【図８】ロータリーヘッドに備えられる装着ヘッドの一つに着目した際の当該装着ヘッドの動作を示すフローチャートである。
【図９】部品供給部の各種モードを説明するための図である。
【図１０】実装点情報配列の一例を示す図である。
【図１１】基板上の実装点、基板マークおよびダミー点の位置関係を示す図である。
【図１２】変換テーブルの一例を示す図である。
【図１３】部品実装順序決定装置の実行する処理のフローチャートである。
【図１４】部品の実装順序を模式的に示した図である。
【図１５】タクトテーブルの一例を示す図である。
【図１６】初期巡回路の作成方法を説明するための図である。
【図１７】部品の実装順序を模式的に示した図である。
【図１８】実装点配列ｐの一例を示す図である。
【図１９】２−ＯＰＴ法の詳細な処理を示すフローチャートである。
【図２０】部品の実装順序入れ替え前後における実装点配列ｐを示す図である。
【図２１】部品の実装順序入れ替え前後における巡回路を示す図である。
【図２２】部品実装順序決定装置による実装順序決定処理の処理結果を表す図である。
【図２３】図２２（ａ）に示した実装順配列ｐと実装点情報配列Ｄａｔａと、実装順序との関係を示した図である。
【図２４】実装点情報配列Ｄａｔａの他の作成方法を説明するための図である。
【図２５】巡回路の一例を模式的に示した図である。
【図２６】従来の方法と本願にかかる方法との実験結果を示す表である。
【図２７】本発明の実施の形態に係る部品実装システムの外観図である。
【図２８】部品実装順序決定装置の構成を示す機能ブロック図である。
【図２９】ラジアル部品挿入機と呼ばれる部品実装機の構成の一例を示す外観図である。
【図３０】部品実装機の主要構成を概念的に示す図である。
【図３１】本発明に係る部品実装機の主要な構成を示す平面図である。
【図３２】ヘッドと部品カセットの位置関係を示す模式図である。
【図３３】ヘッドの外観図である。
【図３４】基板の一例を示す図である。
【図３５】ダミー点を説明するための図である。
【図３６】実装点情報配列の一例を示す図である。
【図３７】「ｘ’座標」および「ｙ’座標」の算出方法について説明するための図である。
【図３８】第２部品実装順序決定部が実行する処理のフローチャートである。
【図３９】第２部品実装順序決定部が実行する処理のフローチャートである。
【図４０】吸着優先の吸着パターンを説明するための図である。
【図４１】装着優先の吸着パターンを説明するための図である。
【図４２】ロータリーヘッドの斜視図である。
【図４３】ロータリーヘッドの斜視図である。
【図４４】図４２に示したロータリーヘッドを備える部品実装機を上方から見たときの模式図である。
【図４５】吸着優先の吸着パターンを説明するための図である。
【図４６】装着優先の吸着パターンを説明するための図である。
【図４７】ユーザが最適化プログラム格納部よりプログラムを選択する際の動作時間短縮装置が実行する処理のフローチャートである。
【図４８】表示部に表示される画面の一例を示す図である。
【図４９】表示部に表示される画面の一例を示す図である。
【図５０】表示部に表示される画面の一例を示す図である。
【符号の説明】
【０２０３】
３００  動作時間短縮装置
３０１  演算制御部
３０５  最適化方法選択プログラム格納部
３０５ａ  動作ロス特定部
３０５ｂ  処理手順選択部
３０８  最適化プログラム格納部
３０８ａ  第１部品実装順序決定部
３０８ｂ  第２部品実装順序決定部
３０８ｃ  第３部品実装順序決定部
３０８ｄ  第４部品実装順序決定部
３０８ｅ  第５部品実装順序決定部
３０８ｆ  第６部品実装順序決定部
１０１０  部品実装機
１０１１  部品供給部
１０１５  テーブル
１０２０  基板
１１００  ロータリーヘッド
１１０１  回転基台
１１０３  装着ヘッド
１１０５ａ  鏡筒
１１０５ｂ  小視野カメラ
１１０５ｃ  大視野カメラ
１１０５  部品認識カメラ
１１０６  部品
１１０７ｂ  ハーフミラー
１１０７ａ  ミラー
１１１０  部品テープ
１１１１  部品カセット
１１１２  吸着開口部
１１１３  リール
１１１４  テープフィーダ
１３００  部品実装順序決定装置
１３０１  演算制御部
１３０２  表示部
１３０３  入力部
１３０４  メモリ部
１３０５  部品実装順序決定プログラム格納部
１３０６  通信Ｉ／Ｆ部
１３０７  データベース部
１３０７ａ  実装点情報配列
１３０７ｂ  変換テーブル
１４０２，１４０４  基板マーク
１４０６  ダミー点
【図１】
0004754956.tif 000002
【図２】
0004754956.tif 000003
【図３】
0004754956.tif 000004
【図４】
0004754956.tif 000005
【図５】
0004754956.tif 000006
【図６】
0004754956.tif 000007
【図７】
0004754956.tif 000008
【図８】
0004754956.tif 000009
【図９】
0004754956.tif 000010
【図１０】
0004754956.tif 000011
【図１１】
0004754956.tif 000012
【図１２】
0004754956.tif 000013
【図１３】
0004754956.tif 000014
【図１４】
0004754956.tif 000015
【図１５】
0004754956.tif 000016
【図１６】
0004754956.tif 000017
【図１７】
0004754956.tif 000018
【図１８】
0004754956.tif 000019
【図１９】
0004754956.tif 000020
【図２０】
0004754956.tif 000021
【図２１】
0004754956.tif 000022
【図２２】
0004754956.tif 000023
【図２３】
0004754956.tif 000024
【図２４】
0004754956.tif 000025
【図２５】
0004754956.tif 000026
【図２６】
0004754956.tif 000027
【図２７】
0004754956.tif 000028
【図２８】
0004754956.tif 000029
【図２９】
0004754956.tif 000030
【図３０】
0004754956.tif 000031
【図３１】
0004754956.tif 000032
【図３２】
0004754956.tif 000033
【図３３】
0004754956.tif 000034
【図３４】
0004754956.tif 000035
【図３５】
0004754956.tif 000036
【図３６】
0004754956.tif 000037
【図３７】
0004754956.tif 000038
【図３８】
0004754956.tif 000039
【図３９】
0004754956.tif 000040
【図４０】
0004754956.tif 000041
【図４１】
0004754956.tif 000042
【図４２】
0004754956.tif 000043
【図４３】
0004754956.tif 000044
【図４４】
0004754956.tif 000045
【図４５】
0004754956.tif 000046
【図４６】
0004754956.tif 000047
【図４７】
0004754956.tif 000048
【図４８】
0004754956.tif 000049
【図４９】
0004754956.tif 000050
【図５０】
0004754956.tif 000051