(57)【特許請求の範囲】
【請求項１】
プログラムされたコンピュータによって、複数のノズルの中から選択したノズルを複数のヘッドに装着すべく割り付けて能率よく部品を吸着すべく該部品の供給装置の配置組み合わせを作成する部品搭載プログラム作成装置であって、
予め作成された複数のヘッドで吸着できる部品の組み合わせテーブルに基づいて複数のヘッドで同時吸着又は最短距離で且つ最少回数の移動で吸着できる部品の組み合わせ単位に分解された複数のヘッドによる部品吸着の単位の組み合わせ集合テーブルを作成するテーブル作成手段と、
該テーブル作成手段により作成された前記集合テーブルから吸着単位となる部品を吸着するためのノズル交換が極力発生しないように複数のノズルを前記複数のヘッドに夫々割り付けるノズル割付手段と、
該ノズル割付手段による割り付けの中で同一ヘッドに対し同じ種類のノズルが異なるノズル収納器番号で割り付けられているとき該ノズルを該ノズルと同一種類のノズルでより多く用いられているノズル収納器番号のノズルと入れ換える入換手段と、
該入換手段による入れ換えが完了したヘッドに対するノズルの割り付けに基づいて複数のヘッドで複数の部品を同時に吸着できる又は同時吸着が出来ない場合でも複数のヘッドの横への移動が最短距離になるように部品供給台上における部品供給装置のより良い配置を設定する部品位置設定手段と、
を備えたことを特徴とする部品搭載プログラム作成装置。
【請求項２】
前記部品位置設定手段は、前記複数のヘッドに対応する前記部品供給装置の配置を、複数のヘッドで同時吸着が可能な最適位置又はその最適位置への配置が不可なるときは最適位置を基準にして左右に千鳥状に振り分けながらより移動時間の短い位置を探索し配置可能な位置を自動的に探し出して部品供給装置の配置位置を決定することを特徴とする請求項１記載の部品搭載プログラム作成装置。
【請求項３】
前記部品位置設定手段は、前記複数のヘッドに対応する前記部品供給装置の配置において、該当部品供給装置がつく場所とつかない場所を記憶する手段と、前記記憶部の情報にしたがって配置不可の判断をおこなうことを特徴とする請求項１記載の部品搭載プログラム作成装置。
【請求項４】
前記部品位置設定手段は、前記複数のヘッドに対応する前記部品供給装置の配置において、既についている部品供給装置やその他の障害物との干渉を計算して配置不可の判断をおこなうことを特徴とする請求項１記載の部品搭載プログラム作成装置。
【請求項５】
前記部品位置設定手段は、前記複数のヘッドに対応する前記部品供給装置の配置において、複数のヘッド各々の稼動範囲を計算して配置不可の判断をおこなうことを特徴とする請求項１記載の部品搭載プログラム作成装置。
【請求項６】
プログラムされたコンピュータによって、複数のノズルの中から選択したノズルを複数のヘッドに装着すべく割り付けて能率よく部品を吸着すべく該部品の供給装置の配置組み合わせを作成する部品搭載プログラムを記録した記録媒体であって、
前記部品搭載プログラムは、コンピュータに、少なくとも、
予め作成された複数のヘッドで吸着できる部品の組み合わせテーブルに基づいて複数のヘッドで同時吸着又は最短距離で且つ最少回数の移動で吸着できる部品の組み合わせ単位に分解された複数のヘッドによる部品吸着の単位の組み合わせ集合テーブルを作成させ、
この作成された前記集合テーブルから吸着単位となる部品を吸着するためのノズル交換が極力発生しないように複数のノズルを前記複数のヘッドに夫々割り付けさせ、
この割り付けの中で同一ヘッドに対し同じ種類のノズルが異なるノズル収納器番号で割り付けられているとき該ノズルを該ノズルと同一種類のノズルでより多く用いられているノズル収納器番号のノズルと入れ換えさせ、
この入れ換えが完了したヘッドに対するノズルの割り付けに基づいて複数のヘッドで複数の部品を同時に吸着できる又は同時吸着が出来ない場合でも複数のヘッドの横への移動が最短距離になるように部品供給台上における部品供給装置のより良い配置を設定させる、
ことを特徴とする記録媒体。
【請求項７】
前記部品供給装置の配置の設定は、前記複数のヘッドに対応する前記部品供給装置の配置を、複数のヘッドで同時吸着が可能な最適位置又はその最適位置への配置が不可なるときは最適位置を基準にして左右に千鳥状に振り分けながらより移動時間の短い位置を探索し配置可能な位置を自動的に探し出して部品供給装置の配置位置を決定してなされることを特徴とする請求項６記載の部品搭載プログラムを記録した記録媒体。
【請求項８】
前記部品供給装置の配置の設定は、前記複数のヘッドに対応する前記部品供給装置の配置において、該当部品供給装置がつく場所とつかない場所を記憶させ、この記憶させた情報にしたがって配置不可の判断を行ってなされることを特徴とする請求項６記載の部品搭載プログラムを記録した記録媒体。
【請求項９】
前記部品供給装置の配置の設定は、前記複数のヘッドに対応する前記部品供給装置の配置において、既についている部品供給装置やその他の障害物との干渉を計算して配置不可の判断を行ってなされることを特徴とする請求項６記載の部品搭載プログラムを記録した記録媒体。
【請求項１０】
前記部品供給装置の配置の設定は、前記複数のヘッドに対応する前記部品供給装置の配置において、複数のヘッド各々の稼動範囲を計算して配置不可の判断を行ってなされることを特徴とする請求項６記載の部品搭載プログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、部品搭載プログラム作成装置及び部品搭載プログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来より、自装置内に自動搬入されるプリント回路基板（以下、単に基板という）上に、ＩＣ、抵抗、コンデンサ等多数のチップ状電子部品（以下、単に部品という）を作業ヘッドによって自動的に搭載する部品自動搭載装置がある。
【０００３】
この部品搭載装置には大別して２つの型がある。１つは、多数（例えば１６個）の部品搭載ヘッド（以下、単にヘッドという）が循環して回転しながら部品を吸着して基板に搭載する型であり一般にロータリー方式と呼ばれるものである。他の１つは、１つの移動支持台（作業塔）に配設された１個又は複数（通常は２乃至７個）のヘッドが、作業塔の移動に伴われて同時に前後左右に移動しながら更に上下に自在に移動して、部品をトレーやカセットからピックアップして基板に移載（搭載）する型であり一般にワンバイワン方式と呼ばれるものである。
【０００４】
図１２は、そのようなワンバイワン方式と呼ばれる部品搭載装置の主要部の外観斜視図である。同図に示す部品搭載装置１は、下部の基台２の内部に、特には図示しないが、各部を制御する制御回路、搬入されてくる基板を下から支持する支持プレート装置等を備えている。また、上方を覆う保護カバーの図示を省略しているが、この保護カバーには、前面に液晶ディスプレイやタッチパネルからなる入力装置等が配設されており、外部操作により各種の指示を入力することができる。
【０００５】
基台２の上には、中央に、固定と可動の１対の平行する基板案内レール３ａ及び３ｂが基板の搬送方向（Ｘ軸方向、図の斜め右下から斜め左上方向）に水平に延在して配設される。これらの基板案内レール３ａ及び３ｂの下部に接してループ状の複数のコンベアベルトが走行可能に配設される。コンベアベルトは、それぞれ数ミリ幅のベルト脇部を基板案内レール３ａ又は３ｂの下から基板搬送路に覗かせて、ベルト駆動モータにより駆動され、基板搬送方向に走行し、基板の裏面両側を下から支持しながら基板を搬送する。
【０００６】
上記１対の基板案内レール３ａ及び３ｂを跨いで、基板搬送方向（Ｘ軸方向）と直角の方向（Ｙ軸方向）に平行に延在する左右一対の固定レール（Ｙ軸レール）４ａ及び４ｂが配設されている。これらＹ軸レール４ａ及び４ｂに長尺の移動レール（Ｘ軸レール）５がＹ軸方向に滑動自在に係合し、このＸ軸レール５に、基板に部品を搭載する作業を行う作業塔６がＸ軸方向に滑動自在に懸架されている。作業塔６には詳しくは後述する複数のヘッドが配設されている。
【０００７】
図には定かに示していないが、上記のＸ軸レール５には、その長手方向（Ｘ軸方向）に沿って作業塔６を自在に移動させるＸ軸方向駆動サーボモータが配設され、基台２上には、Ｘ軸レール５をＹ軸レール４ａ及び４ｂに沿って前後（Ｙ軸方向）に進退させるＹ軸方向駆動サーボモータが配設されている。これらのＸ軸方向駆動サーボモータ及びＹ軸方向駆動サーボモータが制御回路からの指示により正逆両方向に自在に回転することにより、作業塔６がＸ軸方向及びＹ軸方向に自在に移動する。この基台２上の前部と後部には夫々部品カセット台７ａ及び７ｂが配設されている。
【０００８】
これら部品カセット台７ａ及び７ｂに載置・装着される部品カセットから所定の部品を取り上げるべく、作業塔６のヘッドの先端に吸着ノズル８が保持されている。この吸着ノズル８は、部品カセット台７ａ又は７ｂ上の部品カセットから取り上げる部品の種類に応じて、その部品の吸着に適する吸着ノズルに交換される。この交換用として、複数種類の交換用ノズルが、ノズル交換器９に予め保持されるようになっている。
【０００９】
図１３は、上記作業塔６のカバーを取り外して内部構造を示す斜視図である。同図に示すように、作業塔６は、可撓性の帯状コード１１によって装置本体の中央制御部と連結されており、この帯状コード１１によって中央制御部からは電力及び制御信号を供給され、中央制御部へは回路基板上の作業すべき目標位置の認識データ等を送信する。
【００１０】
作業塔６は、その先端に複数（図では２個）のヘッド１２ａ及び１２ｂを備えている。これらのヘッド１２（１２ａ、１２ｂ）は、夫々その先端に発光部１３を備え、その下部に図１２に示した吸着ノズル８を着脱自在に装着している。吸着ノズル８は、発光部１３の照射光を拡散して部品の撮像背景を形成する光拡散板１４と、部品カセット台７上の部品テープカセットや部品トレー等から基板まで部品を吸着して移載するノズル１５とから成る。このように構成された作業塔６が、上述したようにＸ軸レール５及びＹ軸レール４に係合して前後・左右に自在に移動し、ヘッド１２が上下に自在に移動してその吸着ノズル８で部品を吸着し、その部品を自動搬入されて所定の位置に位置決めされている基板上に搭載する。
【００１１】
【発明が解決しようとする課題】
ところで、このように自動で作業を行う装置は出来るだけ効率よくその作業を行わなければならない。上記のワンバイワン方式の部品搭載装置では、全体としてヘッド１２の移動量が少ないほど基板に部品を搭載する作業の効率が向上する。この部品搭載装置のヘッド１２の前後左右の移動（作業塔６の移動）のうち、部品供給位置と基板搭載位置の間の移動である前後方向（Ｙ軸方向）の移動は必然的に生じる移動であるから、この移動量はやむを得ないとしても、部品供給位置（部品カセット台７ａ、７ｂ）において複数（図１３の場合は２個）のヘッド１２に部品を吸着するための左右方向（Ｘ軸方向）への移動量はヘッド１２に対して供給される部品の位置で決まることである。
【００１２】
したがって、部品供給位置における部品の配置（部品テープカセット、部品トレー等の配置）を適切に設定してやれば、複数のヘッド１２により部品を吸着する際の左右方向（Ｘ軸方向）への移動量を小さく（距離を小さく又は回数を少なく）することができ、部品搭載作業の効率を向上させることができる。また、この際には、作業中に複数のヘッド１２で同時に吸着（作業塔６の左右への移動なしに吸着）または最小回数の移動で吸着できる部品の数が多いほど能率が良いことになる。
【００１３】
そして、そのためには、先ず、複数のヘッドで部品を同時吸着又は最短距離で且つ最少回数の移動で吸着するためのノズルの種類とそのノズルで吸着する最適な部品の組み合わせを探し出し、次に、上記探し出したノズルを複数のヘッドに適切に配分し、つまりノズルの交換の回数を出来るだけ少なくし、更に上記探し出した組み合わせの部品を適切な位置に配置する、つまり同時吸着又は最短距離で且つ最少回数の移動で吸着できるとして探し出された組み合わせの複数種類の部品を実際に同時吸着又は最短距離で且つ最少回数の移動で吸着出来るように配置することが必要になる。
【００１４】
従来、一方では上記組み合わせを探し出す作業を人力により試行錯誤で行い、他方ではその結果に基づいて上記のように配分したり配置する作業を不充分な自動プログラム作成方法で行っていたところ、一方の組み合わせを探し出す作業の方、すなわち、複数のヘッドで部品を同時吸着又は最短距離で且つ最少回数の移動で吸着するためのノズルの種類とそのノズルで吸着する最適な部品の組み合わせを探し出す方法は、既に本願発明の出願人から提案された（特願平８−３１６３５５）。
【００１５】
本発明の課題は、予め作成されている同時吸着の最適な組み合わせの部品を、複数のヘッドによる最適な吸着作業に一致させるべく部品供給位置における適切位置に配置する部品搭載プログラム作成装置及びその記録媒体を提供することである。
【００１６】
【課題を解決するための手段】
先ず、請求項１記載の発明の部品搭載プログラム作成装置は、プログラムされたコンピュータによって、複数のノズルの中から選択したノズルを複数のヘッドに装着すべく割り付けて能率よく部品を吸着すべく該部品の供給装置の配置組み合わせを作成する部品搭載プログラム作成装置であって、予め作成されたより良い部品吸着の組み合わせテーブルに基づいて分解された複数のヘッドによる吸着の単位の組み合わせ集合テーブルを作成するテーブル作成手段と、該テーブル作成手段により作成された上記集合テーブルからノズル交換が極力発生しないように複数のノズルを上記複数のヘッドに夫々割り付けるノズル割付手段と、該ノズル割付手段による割り付けの中で同一ヘッドに対し同じ種類のノズルが異なるノズル収納器番号で割り付けられているとき該ノズルを該ノズルと同一種類のノズルでより多く用いられているノズル収納器番号のノズルと入れ換える入換手段と、該入換手段による入れ換えが完了した割り付けに基づいて部品供給台上における部品供給装置のより良い配置を設定する部品位置設定手段と、を備えて構成される。
【００１７】
上記部品位置設定手段は、例えば請求項２記載のように、上記複数のヘッドに対応する上記部品供給装置の配置を、最適位置又は最適位置への配置が不可なるときは最適位置を基準にして左右に千鳥状に振り分けながらより良い位置を探索し配置可能な位置を自動的に探し出して部品供給装置の配置位置を決定し、また、例えば請求項３記載のように、上記複数のヘッドに対応する上記部品供給装置の配置において、該当部品供給装置がつく場所とつかない場所を記憶する手段と、上記記憶部の情報にしたがって配置不可の判断を行い、また、例えば請求項４記載のように、上記複数のヘッドに対応する上記部品供給装置の配置において、既についている部品供給装置や装置との干渉を計算して配置不可の判断を行い、また、例えば請求項５記載のように、上記複数のヘッドに対応する上記部品供給装置の配置において、複数のヘッド各々の稼動範囲を計算して配置不可の判断を行う。
【００１８】
次に、請求項６記載の発明の記録媒体は、プログラムされたコンピュータによって、複数のノズルの中から選択したノズルを複数のヘッドに装着すべく割り付けて能率よく部品を吸着すべく該部品の供給装置の配置組み合わせを作成する部品搭載プログラムを記録した記録媒体であって、上記部品搭載プログラムは、コンピュータに、少なくとも、予め作成されたより良い部品吸着の組み合わせテーブルに基づいて分解された複数のヘッドによる吸着の単位の組み合わせ集合テーブルを作成させ、この作成された上記集合テーブルからノズル交換が極力発生しないように複数のノズルを上記複数のヘッドに夫々割り付けさせ、この割り付けの中で同一ヘッドに対し同じ種類のノズルが異なるノズル収納器番号で割り付けられているとき該ノズルを該ノズルと同一種類のノズルでより多く用いられているノズル収納器番号のノズルと入れ換えさせ、この入れ換えが完了した割り付けに基づいて部品供給台上における部品供給装置のより良い配置を設定させる。
【００１９】
上記部品供給装置の配置の設定は、例えば請求項７記載のように、上記複数のヘッドに対応する上記部品供給装置の配置を、最適位置又は最適位置への配置が不可なるときは最適位置を基準にして左右に千鳥状に振り分けながらより良い位置を探索し配置可能な位置を自動的に探し出して部品供給装置の配置位置を決定してなされ、また、例えば請求項８記載のように、上記複数のヘッドに対応する上記部品供給装置の配置において、該当部品供給装置がつく場所とつかない場所を記憶させ、この記憶させた情報にしたがって配置不可の判断を行ってなされ、また、例えば請求項９記載のように、上記複数のヘッドに対応する上記部品供給装置の配置において、既についている部品供給装置や装置との干渉を計算して配置不可の判断を行ってなされ、また、例えば請求項１０記載のように、上記複数のヘッドに対応する上記部品供給装置の配置において、複数のヘッド各々の稼動範囲を計算して配置不可の判断を行ってなされる。
【００２０】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。
図１(a) は、一実施の形態におけるノズル交換時期設定装置の構成を示す図であり、同図(b) は、そのシステム構成を示すブロック図である。同図(a) に示すように、部品搭載プログラム作成装置２０は、例えばパーソナルコンピュータ等からなり、その本体２１には接続ケーブルを介してディスプレイ２２及びキーボード２３が接続され、キーボード２３にはポインティングデバイス（マウス）２４が接続されている。また、本体２１には、プログラムをローディングするための、又は作成データを保管するためのフロッピーディスク（ＦＤ）２５やコンパクトディスク（ＣＤ）２６が着脱自在に装着される。
【００２１】
この部品搭載プログラム作成装置２０のシステムは、同図(b) に示すように、ＣＰＵ（中央演算処理装置）３０と、このＣＰＵ３０にバス３１を介して接続されたＲＯＭ（読み出し専用メモリ）３２、ＲＡＭ（読み書き自在なメモリ）３３、ＨＤ（ハードディスク）３４、Ｉ／Ｏ制御部３５等により構成される。
【００２２】
ＲＯＭ３２は、この部品搭載プログラム作成装置２０の制御プログラムを記憶している。ＣＰＵ３０は、その制御プログラムにより上記各部の動作を制御する。ＲＡＭ３３は、キーボード２３から入力されるデータやＣＰＵ３０による演算中の中間データ等を一時的に記憶する。ＨＤ３４は、キーボード２３から入力された或は外部の記録媒体（ＦＤ２５、ＣＤ２６等）から読み込まれた各種のデータ、ファイル、テーブル等を格納しており、ＣＰＵ３０の制御により、それらのデータ、ファイル、テーブル等をＲＡＭ３３に転送する。
【００２３】
Ｉ／Ｏ制御部３５には、上述のディスプレイ２２、キーボード２３、ＦＤ２５、ＣＤ２６等が接続されている。Ｉ／Ｏ制御部３５は、ＣＰＵ３０の制御により上記接続されている各部の入出力を制御する。ディスプレイ２２は、ＣＲＴ表示装置（ＬＣＤ表示装置等でもよい）により構成され、入力されたデータを表示し或はＣＰＵ３０が行った演算結果を表示する。キーボード２３は、数字、文字及び各種の指令を入力するための複数の操作キーを備えており、これら操作キーのステータス信号をＣＰＵ３０に出力する。マウス２４は、二次元の移動速度信号を出力して、ディスプレイ２２に表示された画面上の任意の位置を指定する。
【００２４】
ＦＤ２５は上記の各種データ、ファイル、テーブル等を記録し或はそれらのデータ、ファイル、テーブル等をＲＡＭ３３又はＨＤ３４に出力する。ＣＤ２６には、部品搭載プログラム作成プログラムが記録されており、そのプログラムを随時ＨＤ３４又はＲＡＭ３３に出力する。尚、この部品搭載プログラム作成プログラムはＦＤ２５に記録しておくようにしてもよい。
【００２５】
ＣＰＵ３０は、上記の各部を制御しながら、キーボード２３から入力される指示に基づいて、基板に対応して予め記憶されているノズル交換装着テーブルとそれらのノズルで吸着する部品の組み合わせを示す部品ペアテーブルにより必要な演算を行って、複数のヘッドに最適に配分すべきノズルを抽出し、それらのノズルで吸着すべき部品の部品供給台上における最適の配置を算出して、それらの結果をディスプレイ２２に表示する。
【００２６】
図２(a),(b) は、上記の部品搭載プログラム作成プログラムによって作成される部品搭載プログラムによって制御すべき部品搭載装置のヘッドとノズル交換器を模式的に示す図である。この制御すべき部品搭載装置として以下に述べる構成では、説明を分かりやすくするために、同図(a) に示すようにヘッドの数をヘッドｈ１及びヘッドｈ２の２つとする。また、同図(b) に示すように、ノズル交換器３６には、ノズルｎｚ１〜ノズルｎｚ４の４個のノズルが予め収納されているものとする。上記のヘッドｈ１及びｈ２は、図１３に示したヘッド１２ａ及び１２ｂと同様の構成である。また、ノズルｎｚ１〜ノズルｎｚ４は、図１３に示したノズル８と同様の形状からなるものである。
【００２７】
尚、同図(b) に示す「ｎｚ１」〜「ｎｚ４」は、単にノズル交換器３６内における配置順を示す番号であり、実際のノズルは例えば同図(b) のノズル交換器３６の下方にノズルの品種Ｐ２、Ｐ２、Ｐ７、Ｐ０７で示すように、同じ種類のものや異なるもの等が収納されている。これらのノズルは、処理される基板に対応して搭載される部品の種類や数を示す基板設計データや部品表等に基づいて予め収納される。これらのノズル品種Ｐ２〜Ｐ０７のようなノズルの品番、種類等の属性は、ノズルが上記のようにノズル交換器３６に配置されたとき、その配置順の上記番号に対応してメモリに記憶される。これらのノズルｎｚ１〜ｎｚ４（Ｐ２〜Ｐ０７）は、ヘッドｈ１又はｈ２によりノズル交換器３６から取り出されて使用された後に他のノズルと交換される場合は夫々元の位置に戻されるようになっている。
【００２８】
また、通常ヘッドｈ１とｈ２の間隔は、部品カセット台７（７ａ、７ｂ）上に配置される部品カセットの３個置きの間隔に対応している。例えば、ヘッドｈ１とｈ２で夫々吸着すべき部品Ａ及びＢがあるものとし、これらの部品Ａ、Ｂの部品カセット（以下、単にカセットという）が、部品カセット台（図１２の部品カセット台７参照）の１０番と１４番の位置に配置されていれば、これらの部品Ａ、Ｂを、ヘッドｈ１及びｈ２の一回の下降移動（図１２及び図１３の場合であれば作業塔６の下降移動）で同時に吸着することができる。
【００２９】
しかし、例えば部品Ａ、Ｂのカセットが１０番と１５番（又は１０番と１３番等）の位置に配置されていれば、これらの部品Ａ、Ｂをヘッドｈ１及びｈ２で吸着するには、先ずヘッドｈ１で部品Ａを吸着し、そのヘッドｈ１が上昇し、作業塔が横（Ｘ軸方向）にカセット１台分移動し、そして、ヘッドｈ２が下降して、部品Ｂを吸着するということになる。
【００３０】
したがって、ヘッドｈ１及びｈ２で部品Ａ及びＢを吸着しようとする場合には先ずヘッドｈ１又はｈ２に、部品Ａ又はＢを吸着するためのノズルを装着（配分）し、このノズルの配分に合わせて、ヘッドｈ１及びｈ２で部品Ａ及びＢを同時に吸着できるような位置に、これらのカセットを配置しなければならない。また、これに先立つ他の条件によって同時吸着が出来ない場合でも、上述した作業塔の横への移動が最短距離（好ましくはカセット１個分）になるようにカセットを配置しなければならない。
【００３１】
また作業塔と移動レールの構造上、ヘッドｈ１では部品カセット台の右端に配置されたカセットの部品は吸着できず、ヘッドｈ２では部品カセット台の左端に配置されたカセットの部品は吸着できない。これらの事柄も、検討しながらカセット配置が決定される。
【００３２】
図３は、上記部品搭載プログラム作成装置２０のＣＰＵ３０により行われるヘッドへのノズル割り付け（配分）と部品カセット台上における部品の配置（カセットの配置）を決定する処理動作を示すフローチャートである。尚、この処理では、ＲＡＭ３３に複数の変数領域（又はレジスタ領域）ＳＵＭ、Ｌｉｎｅ、ＢＴ、ＢＴ１、ＢＴ２、ｉ、ｊ、ｆｙ、及びｆｙ２が設けられる。レジスタＳＵＭには仮のヘッド番号（後述するヘッドａ）に順次設定されるノズルを基準として抽出された同時吸着の組み合わせの組数の合計が夫々格納される。レジスタＬｉｎｅには後述する部品ペア表の行番号（行順位）が格納される。レジスタＢＴには部品カセットを配置すべき最良の位置（ベストポジション）番号が格納される。レジスタＢＴ１にはヘッドｈ１で吸着する部品カセットの最良位置の番号が格納される。レジスタＢＴ２にはヘッドｈ２で吸着する部品カセットの最良位置の番号が格納される。レジスタｉ及びレジスタｊにはベストポジションに配置不可であるとき左右に振り分けて配置可能な位置を検索すべき昇順の数値が格納される。そして、レジスタｆｙ及びレジスタｆｙ２には配置が不可であった場合のフラグが格納される。尚、これらレジスタの名称ＳＵＭ、Ｌｉｎｅ、ＢＴ、・・・等は、レジスタ名として用いられると共にそれらのレジスタに保持される変数の呼称としても用いられる。
【００３３】
先ず、図３において、２つのヘッドで吸着できる「部品の良い組み合わせ」を作成する（ステップＳ１）。この処理は、本願発明の出願人からの他の出願になる特願平８−３１６３５５において実行される処理である。
【００３４】
続いて、上記の処理で得られた「部品の良い組み合わせ」から同時吸着（最短距離で且つ最少回数の移動で吸着する場合も含む、以下同様）の単位に分解する（ステップＳ２）。
【００３５】
図４(a) は上記２つのヘッドで吸着できる「部品の良い組み合わせ」の一例を示す図であり、３種類の部品Ａ（２個）、Ｂ（３個）及びＣ（１個）を、２つのヘッドで「Ａ、Ｂ」を２回吸着し、「Ｂ、Ｃ」を１回吸着する組み合わせが示されている。同図(b) はそれを同時吸着の単位に分解した図であり、同図(c) はそのような分解図から（同図(b) の分解図ではないが同様な分解図から）得られたノズル使用分布（テーブル）の例を示す図表である。
【００３６】
また、上記の図４(c) のテーブルは、左端縦に一方のヘッドａ（図２(a) に示したヘッドｈ１とするかヘッドｈ２とするかは未だ決まっていない）に装着するノズルをノズル番号「１、２、３、４」（図２(b) に示したノズル交換器内の配置順位「ｎｚ１、ｎｚ２、ｎｚ３、ｎｚ４」と同じ）とノズル品種「Ｐ２、Ｐ２、Ｐ７、Ｐ０７」が併示されている。また、上端横に他方のヘッドｂ（ヘッドａがヘッドｈ１であればヘッドｈ２になり、ヘッドａがヘッドｈ２であればヘッドｈ１になる）に装着するノズルをノズル番号「１、２、３、４」とノズル品種「Ｐ２、Ｐ２、Ｐ７、Ｐ０７」が併示されている。同図の斜線で仕切られた左下と右上は、ヘッドａ、ｂに対応するヘッドｈ１、ｈ２が入れ代わった状態であり、右端の「和」は、ヘッドａを主体として見たときの組み合わせの合計を示している。
【００３７】
すなわち、横１行目は、ヘッドａに１番ノズルＰ２を装着した場合に、ヘッドｂに２番ノズルＰ２を装着して部品を同時に吸着する組み合わせが５組、３番ノズルＰ７を装着して部品を同時に吸着する組み合わせが０組、４番ノズルＰ０７を装着して部品を同時に吸着する組み合わせが１組、そしてヘッドａのみで１個の部品を吸着する回数が０回であることを示している。
【００３８】
また、横２行目は、ヘッドａに２番ノズルＰ２を装着した場合に、ヘッドｂに１番ノズルＰ２を装着して部品を同時に吸着する組み合わせが５組、３番ノズルＰ７を装着して部品を同時に吸着する組み合わせが２組、４番ノズルＰ０７を装着して部品を同時に吸着する組み合わせが１組、ヘッドａのみで１個の部品を吸着する回数が０回であることを示している。
【００３９】
更に、横３行目は、ヘッドａに３番ノズルＰ７を装着した場合に、ヘッドｂに１番ノズルＰ２を装着して部品を同時に吸着する組み合わせは０組、２番ノズルＰ２を装着して部品を同時に吸着する組み合わせは２組、４番ノズルＰ０７を装着して部品を同時に吸着する組み合わせは０組、ヘッドａのみで１個の部品を吸着する回数が０回であることを示している。
【００４０】
そして、横４行目は、ヘッドａに４番ノズルＰ０７を装着した場合に、ヘッドｂに１番ノズルＰ２を装着して部品を同時に吸着する組み合わせは１組、２番ノズルＰ２を装着して部品を同時に吸着する組み合わせは１組、３番ノズルＰ７を装着して部品を同時に吸着する組み合わせは０組、ヘッドａのみで１個の部品を吸着する回数が１回であることを示している。
【００４１】
尚、横５行目は、ヘッドｂを主体として見たときのヘッドｂのみで１個の部品を吸着する場合の回数を示している。また、縦列の和の欄には、斜線で仕切られた右上に集計された（ヘッドａを主体として見た場合の）組み合わせ（ノズル使用分布）の総数が示されている。
【００４２】
上記のステップＳ２の処理では、「部品の良い組み合わせ」が例えば図４(a) の場合に、同図(b) に示すように分解される。
この分解処理に続いて、ヘッドが未確定となっているノズル分布があるか否かを判別する（ステップＳ３）。この処理では、先ず、図４(b) のような多数の分解図から、同図(c) に示すノズル使用分布表が作成される。次に、そのノズル使用分布表に示されているノズルがヘッドに割り当てられている（ノズルを装着すべきヘッドが確定している）か否かが判別される。
【００４３】
そして、未だヘッドへの割り当てがなされていないノズルがあれば（Ｓ３が「存在する」）、次にヘッドａのあるノズルを選択する（ステップＳ４）。この例では、「あるノズル」として、ヘッドが確定していないノズルの中で最も和の多いものが選択される（尚、これとは基準を異ならせて「最もノズル番号の小さいもの」から選択するようにしてもよい。これについては以下同様である）。
【００４４】
尚、処理の最初では、全てのノズルについてヘッドが確定していないから、この場合、それらの中で最も和の多いものは、例えば図４(c) の例では、ヘッドａの和が「６」となっている１番ノズルＰ２である。したがって、この場合は１番ノズルＰ２の横１行目が選択される。
【００４５】
続いて、上記選択したノズル（１番ノズルＰ２）に対して最も組み合わせの多い相手側ヘッド（ヘッドｂ）のノズル番号を選択する（ステップＳ５）。この処理では、図４(c) に示す例では、ヘッドａの１番ノズルＰ２に対して最も組み合わせの多いヘッドｂのノズル番号は、組み合わせ数が「５」となっている２番ノズルＰ２であり、この場合は２番ノズルＰ２が選択される。
【００４６】
そして、上記ステップＳ４及びＳ５で選択したノズルの組み合わせ「１番ノズルＰ２と２番ノズルＰ２」にヘッドｈ１及びｈ２を割り付ける（ステップＳ６）。これにより、例えば図４(c) の例では、ヘッドｈ１に１番ノズルＰ２、ヘッドｈ２に２番ノズルＰ２が夫々割り付けられる。これにより、１番ノズルＰ２と２番ノズルＰ２で同時に吸着する全組み合わせ（この場合は５組）に対するヘッドの割り付けが決定する。
【００４７】
次に、ヘッドｈ１を固定した場合に、上記の次に組み合わせの多いものを選択する（ステップＳ７）。これにより、例えば図４(c) の例では、組み合わせ数「１」の４番ノズルＰ０７が選択される。更に、ヘッドｈ２を固定した場合に、上記の次に組み合わせの多いものを選択する（ステップＳ８）。これにより、図４(c) の例では、組み合わせ数「２」の３番ノズルＰ７が選択される。
【００４８】
そして、上記ステップＳ７及びＳ８で選択された中で、組み合わせ数の多いノズルを選択する（ヘッドへ割り当てる）ものがあるか否か判別する（ステップＳ９）。この処理では、上記のように組み合わせ数が「１」及び「２」というように存在すれば（Ｓ９で「あった」）、それらの中から多い方、すなわち組み合わせ数「２」となっている３番ノズルＰ７を選択して、その選択した３番ノズルＰ７をヘッドｈ１に割り付ける。
【００４９】
図５(a) は、上記最初の処理周期におけるステップＳ４〜Ｓ９で、ヘッドへの割り付けが決定（選択）されたノズルの組み合わせを示す図であり、○で囲まれた組み合わせはヘッドへの割り付けが完了したものである。また、二本斜線で消去された組み合わせは上記の割り付け決定の組み合わせに対して、このマトリクス上でヘッドへの割り付けが逆になっているものである。何もマークの無いものは未だヘッドへの割り付けが完了して（選択されて）いないものである。
【００５０】
続いて、上記のようにＳ９で「あった」場合は、再びステップＳ７〜Ｓ９を繰り返す。これにより、ステップＳ７では、ヘッドｈ１を固定（３番ノズルＰ７を固定）した場合の、次に組み合わせの多いもの「０」が選択され、ステップＳ８では、ヘッドｈ２を固定（２番ノズルＰ２を固定）した場合の、次に組み合わせの多いもの「１」（４番ノズルＰ０７）が選択され、ステップＳ９で、その４番ノズルＰ０７がヘッドｈ１に割り付けられる。
【００５１】
図５(b) は、上記２回目のステップＳ７〜Ｓ９の繰り返し終了までにおけるヘッドへの割り付けが決定（選択）されたノズルの組み合わせを示す図である。ここまでの組み合わせノズルのヘッドへの割り付け完了で、一度ヘッドｈ２に２番ノズルＰ２を装着すると、ヘッドｈ２はノズル交換無しに「５＋２＋１＝８」組の吸着動作を行うことが出来、これに対して他方のヘッドｈ１は、１番ノズルＰ２で５組、３ノズルＰ７で２組、４番ノズルＰ０７で１組と最小回数のノズル交換でヘッドｈ２との同時吸着を行うことができることが判明する。
【００５２】
同図の例では、未だヘッドへの割り付けが完了していないものがあり、更に３回目のステップＳ７〜Ｓ９の繰り返しで、ヘッドｈ１に４番ノズルＰ０７を固定して１番ノズルＰ２がヘッドｈ２に割り付けられ、更に４回目のステップＳ７〜Ｓ９の繰り返しで、ヘッドｈ１に４番ノズルＰ０７を固定したまま単独で１回の吸着が選択される。そして、全てのノズルのヘッドへの割り付けが完了する（Ｓ９で「ない」）。
【００５３】
図６(a) は、上記全てのノズルのヘッドへの割り付けが完了した状態における仮割り付けテーブルを示す図であり、同図(b) は本割り付けテーブルを示す図である。図６(a) の仮割り付けテーブルの横行４１及び４２は、図５(a) に対応しており、同じく図６(a) の横行４３までが図５(b) に対応している。そして、図６(a) の横行４４は、３回目のステップＳ７〜Ｓ９の繰り返しで作成され、図６(a) の横行４５は、４回目のステップＳ７〜Ｓ９の繰り返しで作成される。
【００５４】
このように全てのノズルのヘッドへの割り付けが完了して、上記ステップＳ９で「ない」となったことにより、次に、上記の仮割り付けテーブル（図６(a) 参照）において、同一ヘッド（例えばｈ２）においてノズルが同じ種類（例えばＰ２）で番号が異なる（例えば１番と２番となっている）とき、より多く使っているものに変更する（ステップＳ１０）。これにより、例えば図６(a) の仮割り付けテーブルの横行４４に示すようにノズルが上の横行４１〜４３と同じ種類Ｐ２であって番号が上の横行４１〜４３とは異なる１番となっているノズル「１（Ｐ２）」（１番ノズルＰ２）が、図６(b) の本割り付けテーブルの４４′に示すように、「２（Ｐ２）」（２番ノズルＰ２）に変更される。
【００５５】
そして、この本割り付けテーブルに基づいてペア表（部品ペア表）を作成して数量の多いものの順に並べる（ステップＳ１１）。
図７は、上記ステップＳ１１で作成される部品ペア表の例を示す図である。同図の部品ペア表では、左端縦列に同時吸着する「部品ペア」が示され、次の縦列に使用される複数のヘッド（この例ではヘッド１（ｈ１）とヘッド２（ｈ２））が示され、次の縦列にそれらのヘッドｈ１、ｈ２に同時に装着されるノズル番号（１、２、３、４）が示され、次の縦列に上記ヘッドとノズルの設定に対応する部品ペアの数量（吸着回数）が示され、その数量（吸着回数）の多いものから順に上から下へ並べられている。また、その横には、上部欄に示す１３種類の総部品種（Ａ〜Ｍ）と上記左端列に示す部品ペアとの対応を視覚的に示す対応分布図が示されている。この部品ペア表に基づいて、カセット配置を行って（ステップＳ１２）、処理を終了する。
【００５６】
図８は、上記ステップＳ１２のカセット配置処理のフローチャートである。この図を用いてカセット配置処理について更に説明する。先ずレジスタＬｉｎｅに「１」を格納する（ステップＳ１０１）。これにより部品ペア表（図７参照）の１行目が最初の処理対象行として初期設定される。続いて当該行に設定されている部品がペア（同時吸着すべき組み合わせ）の部品であるか否かを判別する（ステップＳ１０２）。そして、最初の処理周期ではペアの部品（図７の例では部品Ａ及び部品Ｂのペア）であるから（Ｓ１０２がＹ）、この場合は、更に両部品ともにカセット指定がなされているか否かを判別する（ステップＳ１０３）。このカセット指定とは、或る部品の部品カセットを配設する位置（部品カセット台７ａ、７ｂ上の位置番号）がユーザによって指定されている場合である。
【００５７】
そして、両部品ともにカセット指定がなされていれば（Ｓ１０３がＹ）、この場合は、指定されているカセット位置に夫々両部品を割り付ける（ステップＳ１０４）。そして、レジスタＬｉｎｅを「１」インクリメントして（ステップＳ１１７）、その値がペア表の最終行を超えている即ち処理が全部終わっているか否かを判別し（ステップＳ１１８）、全部終わっていれば（Ｓ１１８がＹ）、処理を終了するが、全部終わっていなければ（Ｓ１１８がＮ）、ステップＳ１０２に戻って、ステップＳ１０２以下の処理を繰り返す。
【００５８】
また、上記のステップＳ１０３で、両部品のいずれか一方のみがカセット指定されている又は両方ともカセット指定されていない場合は（Ｓ１０３がＮ）、ヘッド１のカセット指定がなされているか否かを判別する（ステップＳ１０５）。この処理では、ヘッドｈ１で吸着すべき部品（図７の１行目の例では部品Ａ）がカセット指定されているか否かが判別される。
【００５９】
そして、ヘッドｈ１で吸着すべき部品がカセット指定されていれば（Ｓ１０５がＹ）、これに対応するヘッド２の部品のベスト位置「ＢＴ」を設定する（ステップＳ１０６）。この処理は、上記カセット指定されているヘッドｈ１の部品と同時吸着すべく、ヘッドｈ２の部品のカセット位置をヘッドｈ１の部品からヘッド間のピッチに応じた最短位置に仮設定する処理である。即ちヘッドｈ１の部品のカセット位置からヘッド間ピッチ分だけ離れた位置のカセット番号をレジスタＢＴに設定する処理である。例えば、ヘッドｈ１の部品Ａのカセット位置が１０番に指定されていれば、ヘッドｈ２の部品Ｂのカセット位置は１４番が最適である。
【００６０】
上記最適位置の仮設定に続いて、詳しくは後述するカセット指定処理を行った後（ステップＳ１１５）、ペア表で上記カセット指定処理を行った部品と同じ部品を検索してカセット指定を行う（ステップＳ１１６）。これにより、一度カセット指定の行われた部品が、その後のカセット配置処理で他の位置に再配置される不都合が防止される。この後、前述のステップＳ１１７に進む。
【００６１】
また、上記ステップＳ１０５の判別で、ヘッド１の部品がカセット指定されていないときは（Ｓ１０５がＮ）、次に、ヘッドｈ２で吸着すべき部品がカセット指定されているか否かを判別する（ステップＳ１０７）。そして、ヘッドｈ２で吸着すべき部品がカセット指定されていれば（Ｓ１０７がＹ）、これに対応するヘッド１の部品のベスト位置「ＢＴ」を設定する（ステップＳ１０８）。この処理も、上記カセット指定されているヘッドｈ２の部品と同時吸着すべく、ヘッドｈ１の部品のカセット位置をヘッドｈ２の部品からヘッド間のピッチに応じた最短位置に仮設定する処理である。この後、上述のステップＳ１１５のカセット指定処理に進む。
【００６２】
上記ステップＳ１０７の判別で、ヘッド２の部品がカセット指定されていないときは（Ｓ１０７がＮ）、次に、ヘッドｈ１及びヘッドｈ２で吸着すべき２つの部品が同じ部品であるか否かを判別する（ステップＳ１０９）。そして、同じであれば（Ｓ１０９がＹ）、その部品のベスト位置「ＢＴ」を設定する（ステップＳ１１０）。この処理では、画像認識カメラに最も近い位置にあるカセット番号が仮設定される。これにより、ヘッドの移動時間を最少に抑えることができる。この後、上述のステップＳ１１５のカセット指定処理に進む。
【００６３】
上記ステップＳ１０９の判別で、２つのヘッドで吸着すべき２つの部品が同じ部品でないときは（Ｓ１０９がＮ）、これも詳しくは後述するカセット指定なしの異なる２部品のカセット配置を行って（ステップＳ１１１）、上述のステップＳ１１６の処理に進む。
【００６４】
また、上記ステップＳ１０２の判別で、部品がペアの部品でない、即ちシングル（図７の最下行の部品Ｌ参照）であるときは（Ｓ１０２がＮ）、次に、その部品がカセット指定されているか否かを判別し（ステップＳ１１２）、カセット指定されていれば（Ｓ１１２がＹ）、指定されているカセット位置へその部品を設定して（ステップＳ１１４）、前述のステップＳ１１７へ進む。
【００６５】
また、ステップＳ１１２の判別で、カセット指定がなされていないときは（Ｓ１１２がＮ）、その部品のベスト位置「ＢＴ」を設定する（ステップＳ１１３）。この処理は、上述のステップＳ１１０と同様の処理である。
【００６６】
図９は、上記ステップＳ１１５のカセット指定処理のフローチャートである。この図を用いてカセット指定処理について更に説明する。先ず、レジスタｉに「０」を初期設定し（ステップＳ２０１）、次に、フラグレジスタｆｙを「０」に初期設定して（ステップＳ２０２）、「ＢＴ＋ｉ≦ＭＡＸ」であるか否かを判別する（ステップＳ２０３）。この処理は、図８のステップＳ１０６、Ｓ１０８、Ｓ１１０又はＳ１１３で仮設定されたベストポジション（最良位置）又はこの最良位置から上にｉ番目（最初はｉ＝０であり従って仮設定された最良位置そのもの）の位置が、部品カセット台上の番号が一番大きい端部又はそれ以下の位置であるか否かを判別する処理である。
【００６７】
そして、端部又はそれ以下の位置であれば（Ｓ２０３がＹ）、続いて、部品カセットの配置が可能であるか否かを判別する（ステップＳ２０４）。この処理は、少なくとも３つの判断によって当位置に部品供給装置がつくかつかないかが判別される。すなわち、機構的に当位置につけられるか否かが判断され、更に先行する処理で既に配置済みのカセットやその他の障害物との干渉があるか無いかによってつけられるか否かが判断され、そして、ヘッドの稼動範囲に収まっているか否かによってつけられるか否かが判断される。
【００６８】
上記の機構的に当位置につかない場合は、例えば、その部品供給装置が特殊な設置方法を取っていて一般的な部分にはつかない場合などを意味する。また、他装置との干渉は、例えば、該当位置が空いていてもその両隣についている部品供給装置が該当位置まではみ出していて、つかない場合などを意味する。この場合は、横方向だけを例としてあげたが、縦方向、高さ方向にも同じように障害物があるので、３次元的に判断するのが良い。また、ヘッドの稼動範囲に入っていない場合は、例えば、ヘッドｈ１でヘッドｈ２側の端部に配置された部品カセットの部品を吸着することは出来ず、逆にヘッドｈ２でヘッドｈ１側の端部に配置された部品カセットの部品を吸着することは出来ないことを意味する。
【００６９】
そして、部品カセットの配置が可能であれば（Ｓ２０４がＹ）、その「ＢＴ＋ｉ」の位置へ当該部品を割り付けて（ステップＳ２０５）、図８の処理に戻る。一方、部品カセットの配置が不可ならば（Ｓ２０４がＮ）、この場合は、「ＢＴ−ｉ≧ＭＩＮ」であるか否かを判別する（ステップＳ２０７）。この処理は、図８で仮設定されたベストポジション（最良位置）又はこの最良位置から下にｉ番目の位置が、部品カセット台上の番号が一番小さい端部又はそれ以上の位置であるか否かを判別する処理である。
【００７０】
そして、端部又はそれ以上の位置であれば（Ｓ２０７がＹ）、次に、部品カセットの配置が可能であるか否かを判別し（ステップＳ２０４）、可能であれば（Ｓ２０４がＹ）、その「ＢＴ−ｉ」の位置へ当該部品を割り付けて（ステップＳ２０９）、図８の処理に戻る。
【００７１】
一方、部品カセットの配置が不可ならば（Ｓ２０８がＮ）、この場合は、フラグレジスタｆｙの値が「エラー」を示す「２」となっているか否かを判別し（ステップＳ２１１）、「２」でないなら（Ｓ２１１がＮ）、レジスタｉを「１」インクリメントして（ステップＳ２１２）、上記ステップＳ２０２に戻り、ステップＳ２０２以下の処理を繰り返す。
【００７２】
これにより、最良位置へのカセット配置が不可である場合は、その左右の位置が千鳥状（「ＢＴ＋ｉ」又は「ＢＴ−ｉ」）に順次検索されて、出来る限り最良位置に近接する位置で配置可能な位置が探し出され、このカセット位置へ当該部品が割り付けられる。
【００７３】
また、このような千鳥状の検索が繰り返されて番号の大きい方に配置可能な位置が見出されずに、ステップＳ２０３で「ＢＴ＋ｉ＞ＭＡＸ」となったときは（Ｓ２０４がＮ）、フラグレジスタｆｙを「１」インクリメントして（ステップＳ２０６）、ステップＳ２０７に進む。そして、番号の小さい方でも配置可能な位置が見出されず、ステップＳ２０７において「ＢＴ−ｉ＜ＭＩＮ」となったときは（Ｓ２０７がＮ）、更にフラグレジスタｆｙを「１」インクリメントする（ステップＳ２１０）。これにより、フラグレジスタｆｙに、いずれの位置にも配置不可であることを示すフラグの値「２」が記憶される。そして、この場合は、ステップＳ２１１において「ｆｙ＝２」であることが判別され、カセット配置不可のエラー処理を行う（ステップＳ２１３）。この処理は、例えばブザー音で警告報知を行うと共にディスプレイ２２に「エラー」であることを表示報知する処理である。
【００７４】
図１０は、図８のステップＳ１１１のカセット指定なしの異なる２部品のカセット配置処理のフローチャートである。この図を用いてカセット指定なしの異なる２部品のカセット配置処理について更に説明する。先ず、レジスタｉに「０」を初期設定し（ステップＳ３０１）、次に、フラグレジスタｆｙを「０」に初期設定する（ステップＳ３０２）。
【００７５】
続いて、先ず、レジスタＢＴ１にヘッドｈ１で吸着する部品カセットの「最良位置＋ｉ」を設定し（ステップＳ３０３）、次に、レジスタＢＴ２に、上記ヘッドｈ１の部品カセットの位置からヘッド間ピッチだけ番号の大きい方に離れた位置「ＢＴ１＋ピッチ」を設定して（ステップＳ３０４）、それら設定した部品カセットの位置番号ＢＴ１及びＢＴ２が、カセット番号として正しいか否かを判別する（ステップＳ３０５）。この処理は、ヘッドｈ１の「最良位置＋ｉ」の「ｉ」が順次大きくなって「最良位置＋ｉ」が部品カセット台上の番号を超えたとき、また、「最良位置＋ｉ」が部品カセット台上の番号であっても、これを基準としたヘッドｈ２の「ＢＴ１＋ピッチ」が部品カセット台上の番号を超えたとき、この不都合を判別する処理である。
【００７６】
そして、設定した部品カセットの位置番号ＢＴ１及びＢＴ２が、カセット番号として正しければ（Ｓ３０５がＹ）、その位置に部品カセットの配置が可能であるか否かを判別する（ステップＳ３０６）。この処理も、先行する処理で既に当該カセット配設位置が他の部品に割り当てられているか否か、又はヘッドの使用が可能か否かを判別する処理である。
【００７７】
この判別で、部品カセットの配置が可能であれば（Ｓ３０６がＹ）、その位置に当該部品を割り付けて図８の処理に戻る。一方、部品カセットの配置が不可ならば（Ｓ３０６がＮ）、今度は、先ず、レジスタＢＴ２にヘッドｈ２で吸着する部品カセットの「最良位置−ｉ」を設定し（ステップＳ３０８）、次に、レジスタＢＴ１に、上記ヘッドｈ２の部品カセットの位置からヘッド間ピッチだけ番号の小さい方に離れた位置「ＢＴ２−ピッチ」を設定して（ステップＳ３０９）、それら設定した部品カセットの位置番号ＢＴ１及びＢＴ２が、カセット番号として正しいか否かを判別する（ステップＳ３１０）。この処理は、ヘッドｈ２の「最良位置−ｉ」の「ｉ」が順次大きくなって「最良位置−ｉ」が部品カセット台上の番号を下回ったとき、また、「最良位置−ｉ」が部品カセット台上の番号であっても、これを基準としたヘッドｈ１の「ＢＴ２−ピッチ」が部品カセット台上の番号を下回ったとき、この不都合を判別する処理である。
【００７８】
そして、設定した部品カセットの位置番号ＢＴ１及びＢＴ２が、カセット番号として正しければ（Ｓ３１０がＹ）、その位置に部品カセットの配置が可能であるか否かを判別して（ステップＳ３１２）、部品カセットの配置が可能であれば（Ｓ３１２がＹ）、その位置に当該部品を割り付けて、図８の処理に戻る。
【００７９】
一方、部品カセットの配置が不可ならば（Ｓ３１２がＮ）、フラグレジスタｆｙの値がエラーを示す「２」となっているか否かを判別し（ステップＳ３１３）、「２」でなければ（Ｓ３１３がＮ）レジスタｉを「１」インクリメントして（ステップＳ３１４）、上記のステップＳ３０２に戻り、ステップＳ３０２以下の処理を繰り返す。
【００８０】
これにより、最良位置へのカセット配置が不可である場合は、その左右の位置が、同時吸着のヘッド間ピッチに対応する位置関係を維持したまま、千鳥状に順次検索されて、出来る限り最良位置に近接する位置で配置可能な位置が探し出され、このカセット位置へ当該部品が割り付けられる。
【００８１】
また、このような千鳥状の検索が繰り返されてヘッドｈ１を基準とした番号の大きい方に配置可能な位置が見出されずに、ステップＳ３０５でカセット番号が正しくないと判別したときは（Ｓ３０５がＮ）、フラグレジスタｆｙを「１」インクリメントして（ステップＳ３０７）、ステップＳ３０８に進む。そして、ヘッドｈ２を基準とする番号の小さい方でも配置可能な位置が見出されず、ステップＳ３１０においてカセット番号が正しくないと判別したときは（Ｓ３１０がＮ）、更にフラグレジスタｆｙを「１」インクリメントする（ステップＳ３１１）。これにより、フラグレジスタｆｙに、いずれの位置にも同時吸着が可能なように部品カセットを配置することが不可であることを示すフラグの値「２」が記憶される。そして、この場合は、ステップＳ３１３において「ｆｙ＝２」であることが判別される。そして、この判別に基づいて、詳しくは後述する同時吸着出来ない場合のカセット配置処理を行って（ステップＳ３１５）、図８の処理に戻る。
【００８２】
図１１は、上記ステップＳ３１５の同時吸着出来ない場合のカセット配置処理のフローチャートである。この図を用いて同時吸着出来ない場合のカセット配置処理について更に説明する。先ず、レジスタｉに「０」を初期設定し（ステップＳ４０１）、次に、フラグレジスタｆｙを「０」に初期設定する（ステップＳ４０２）。
【００８３】
続いて、先ず、レジスタＢＴ１にヘッドｈ１で吸着する部品カセットの「最良位置＋ｉ」を設定し（ステップＳ４０３）、その設定した部品カセットの位置番号ＢＴ１がカセット番号として正しいか否かを判別する（ステップＳ４０４）。この処理は、処理周期毎に「最良位置＋ｉ」の「ｉ」が順次大きくなって「最良位置＋ｉ」が部品カセット台上の番号を超える不都合を判別する処理である。
【００８４】
そして、設定した部品カセットの位置番号ＢＴ１が、カセット番号として正しければ（Ｓ４０４がＹ）、その位置に部品カセットの配置が可能であるか否かを判別し（ステップＳ４０６）、配置が可能であれば（Ｓ４０６がＹ）、次にレジスタｊに「０」を初期設定し（ステップＳ４０７）、更にフラグレジスタｆｙ２に「０」を初期設定し（ステップＳ４０８）、上記同時吸着すべき最善の位置が得られなかったヘッドｈ２の部品カセットの次善の位置「ＢＴ１＋ヘッド間ピッチ＋ｊ」をレジスタＢＴ２に設定する（ステップＳ４０９）。
【００８５】
そして、この設定した部品カセットの位置番号ＢＴ２が、カセット番号として正しいか否かを判別する（ステップＳ４１０）。この処理は、ヘッドｈ２の次善の位置「ＢＴ１＋ヘッド間ピッチ＋ｊ」の「ｊ」が順次大きくなってＢＴ２が部品カセット台上の番号を超える不都合を判別する処理である。この判別で上記の部品カセットの位置番号ＢＴ２が、カセット番号として正しければ（Ｓ４１０がＹ）、その位置に部品カセットの配置が可能であるか否かを判別して（ステップＳ４１２）、部品カセットの配置が可能であれば（Ｓ４１２がＹ）、上記ＢＴ１及びＢＴ２の位置に２つの部品を割り付けて（ステップＳ４１３）、図１０の処理（図８の処理）に戻る。
【００８６】
一方、部品カセットの配置が不可ならば（Ｓ４１２がＮ）、再びレジスタＢＴ２に、今度はヘッドｈ２の部品カセットの番号の小さい方の次善の位置「ＢＴ１＋ヘッド間ピッチ−ｊ」を設定する（ステップＳ４１４）。そして、この設定した部品カセットの位置番号ＢＴ２が、カセット番号として正しいか否かを判別し（ステップＳ４１５）、その部品カセットの位置番号ＢＴ２が正しければ（Ｓ４１５がＹ）、その位置に部品カセットの配置が可能であるか否かを更に判別して（ステップＳ４１７）、部品カセットの配置が可能であれば（Ｓ４１７がＹ）、上記ＢＴ１及びＢＴ２の位置に２つの部品を割り付けて（ステップＳ４１８）、図１０の処理（図８の処理）に戻る。
【００８７】
一方、部品カセットの配置が不可ならば（Ｓ４１７がＮ）、フラグレジスタｆｙ２の値がエラーを示す「２」となっているか否かを判別し（ステップＳ４１９）、「２」でなければ（Ｓ４１９がＮ）、レジスタｉを「１」インクリメントして（ステップＳ４２０）、上記のステップＳ４０８に戻り、ステップＳ４０８以下の処理を繰り返す。これにより、ステップＳ４０６で配置可能と判断されたヘッドｈ１の部品カセット位置を基準として、ヘッドｈ２の部品のカセット位置が左右に千鳥状に、出来る限り最良位置に近接する位置で配置可能な位置が探し出され、このカセット位置へ当該部品が割り付けられる。
【００８８】
このような千鳥状の探索が繰り返されてヘッドｈ１を基準とした番号の大きい方に配置可能な位置が見出されずに、ステップＳ４１０でカセット番号が正しくないと判別したときは（Ｓ４１０がＮ）、フラグレジスタｆｙ２を「１」インクリメントして（ステップＳ４１１）、ステップＳ４１４に進む。そして、ヘッドｈ１を基準とする番号の小さい方でも配置可能な位置が見出されず、ステップＳ４１５においてカセット番号が正しくないと判別したときは（Ｓ４１５がＮ）、更にフラグレジスタｆｙ２を「１」インクリメントする（ステップＳ４１６）。これにより、フラグレジスタｆｙ２に、上記配置可能とされたヘッドｈ１を基準とするヘッドｈ２の部品カセットの配置位置がいずれの位置にも見つからないことを示すフラグの値「２」が設定される。
【００８９】
そして、ステップＳ４１９において「ｆｙ２＝２」が判別された場合は（Ｓ４１９がＹ）、ヘッドｈ１の部品の配置位置を変更して、この変更した位置を基準としてヘッドｈ２の部品の配置位置を再度探索する処理に移る。即ち、この場合は、先ず、レジスタＢＴ１にヘッドｈ１で吸着する部品カセットの「最良位置−ｉ」を設定する（ステップＳ４２１）。
【００９０】
尚、前述のステップＳ４０６で、部品カセットの配置が不可であった場合も、上記のステップＳ４２１に移行する。また、ステップＳ４０３で設定した部品カセットの位置番号ＢＴ１がカセット番号として正しくない場合も（Ｓ４０４がＮ）、次にフラグレジスタｆｙを「１」インクリメントして（ステップＳ４０５）、上記のステップＳ４２１に移行する。
【００９１】
続いて、その設定した部品カセットの位置番号ＢＴ１がカセット番号として正しいか否かを判別する（ステップＳ４２２）。この処理は、処理周期毎に「最良位置−ｉ」の「ｉ」が順次大きくなって「最良位置−ｉ」が部品カセット台上の一番小さな番号を下回る不都合を判別する処理である。
【００９２】
そして、設定した部品カセットの位置番号ＢＴ１が、カセット番号として正しければ（Ｓ４２２がＹ）、その位置に部品カセットの配置が可能であるか否かを判別し（ステップＳ４２３）、配置が可能であれば（Ｓ４２３がＹ）、次にレジスタｊに「０」を初期設定し（ステップＳ４２５）、更にフラグレジスタｆｙ２に「０」を初期設定して（ステップＳ４２６）、ヘッドｈ２の部品カセットの次善の位置「ＢＴ１＋ヘッド間ピッチ＋ｊ」をレジスタＢＴ２に設定する（ステップＳ４２７）。
【００９３】
そして、この設定した部品カセットの位置番号ＢＴ２が、カセット番号として正しいか否かを判別し（ステップＳ４２８）、正しければ（Ｓ４２８がＹ）、その位置に部品カセットの配置が可能であるか否かを更に判別して（ステップＳ４２９）、可能であれば（Ｓ４２９がＹ）、上記ＢＴ１及びＢＴ２の位置に２つの部品を割り付けて（ステップＳ４３１）、図１０（図８）の処理に戻る。
【００９４】
一方、部品カセットの配置が不可ならば（Ｓ４２９がＮ）、再びレジスタＢＴ２に、今度はヘッドｈ２の部品カセットの番号の小さい方の次善の位置「ＢＴ１＋ヘッド間ピッチ−ｊ」を設定する（ステップＳ４３２）。そして、この設定した部品カセットの位置番号ＢＴ２が、カセット番号として正しいか否かを判別し（ステップＳ４３３）、正しければ（Ｓ４３３がＹ）、その位置に部品カセットの配置が可能であるか否かを更に判別して（ステップＳ４３４）、可能であれば（Ｓ４３４がＹ）、上記ＢＴ１及びＢＴ２の位置に２つの部品を割り付けて（ステップＳ４３６）、図１０（図８）の処理に戻る。
【００９５】
一方、部品カセットの配置が不可ならば（Ｓ４３４がＮ）、フラグレジスタｆｙ２の値がエラーを示す「２」となっているか否かを判別し（ステップＳ４３７）、「２」でなければ（Ｓ４３７がＮ）、レジスタｉを「１」インクリメントして（ステップＳ４３８）、上記のステップＳ４２６に戻り、ステップＳ４２６以下の処理を繰り返す。これにより、ステップＳ４２３で配置可能と判断されたヘッドｈ１の部品カセット位置を基準として、ヘッドｈ２の部品のカセット位置が左右に千鳥状に、出来る限り最良位置に近接する位置で配置可能な位置が探し出され、このカセット位置へ当該部品が割り付けられる。
【００９６】
このような千鳥状の探索が繰り返されてヘッドｈ１を基準とした番号の大きい方に配置可能な位置が見出されずに、ステップＳ４２８でカセット番号が正しくないと判別したときは（Ｓ４２８がＮ）、フラグレジスタｆｙ２を「１」インクリメントして（ステップＳ４３０）、ステップＳ４３２に進む。そして、ヘッドｈ１を基準とする番号の小さい方でも配置可能な位置が見出されず、ステップＳ４３３においてカセット番号が正しくないと判別したときは（Ｓ４３３がＮ）、更にフラグレジスタｆｙ２を「１」インクリメントする（ステップＳ４３５）。これにより、フラグレジスタｆｙ２に、上記配置可能とされたヘッドｈ１を基準とするヘッドｈ２の部品カセットの配置位置がいずれの位置にも見つからないことを示すフラグの値「２」が設定される。
【００９７】
そして、ステップＳ４３７において「ｆｙ２＝２」が判別された場合は（Ｓ４３７がＹ）、ヘッドｈ１の部品の配置位置の変更が更に可能か否か、即ち、先のフラグレジスタｆｙが「２」であるか否かを判別する（ステップＳ４３９）。
【００９８】
尚、前述のステップＳ４２３で、部品カセットの配置が不可であった場合も、上記のステップＳ４３９の判別の処理に直ちに移行する。また、ステップＳ４２１で設定した部品カセットの位置番号ＢＴ１がカセット番号として正しくない場合も（Ｓ４２２がＮ）、次にフラグレジスタｆｙを「１」インクリメントして（ステップＳ４０５）、上記のステップＳ４３９に移行する。
【００９９】
そして、この判別で、「ｆｙ≠２」ならば（Ｓ４３９がＮ）、レジスタｉを「１」インクリメントして（ステップＳ４４０）、前述のステップＳ４０２に戻り、再びステップＳ４０２以下を繰り返す。これにより、ヘッドｈ１の部品に振り当てたカセット位置が正しい間は、最適位置を中心に左右に千鳥状に振り分けながらヘッドｈ１のカセット位置を仮設定し、この仮設定したヘッドｈ１のカセット位置を基準として、ヘッドｈ２の適正なカセット位置が左右に探索される。
【０１００】
また、上記判別で「ｆｙ＝２」ならば（Ｓ４３９がＹ）、ヘッドｈ１に割り付けるべきカセット位置が見つからなかったのであり、この場合は「カセット割り付け不可エラー」の処理を行う（ステップＳ４４１）。この処理は、例えばブザー音で警告報知を行うと共にディスプレイ２２に「カセット割り付けエラー」等の表示を報知する処理である。
【０１０１】
【発明の効果】
以上詳細に説明したように、本発明によれば、ノズル交換がなるべく発生しないような複数ヘッドへのノズルの割付を行い、更に、複数のヘッドに対応する部品カセットの配置を最適位置を基準にして左右に千鳥状に振り分けながら探索し、配置可能な位置を自動的に探し出して部品カセットの配置位置を決定するので、ノズル交換の回数が少なく且つ同時吸着の組み合わせが多い、即ち能率の良い部品搭載作業を行うことの出来る、部品搭載プログラム作成装置及びその部品搭載プログラムを記憶した媒体を提供することが可能となる。
【図面の簡単な説明】
【図１】  (a) は一実施の形態における部品搭載プログラム作成装置の構成を示す図、(b) はそのシステム構成を示すブロック図である。
【図２】  (a) は部品搭載プログラムによって制御すべき部品搭載装置のヘッドを模式的に示す図、(b) は同じくノズル交換器を模式的に示す図である。
【図３】部品搭載プログラム作成装置のＣＰＵにより行われるヘッドへのノズル割り付け（配分）と部品カセット台上における部品の配置（カセットの配置）を決定する処理動作を示すフローチャートである。
【図４】  (a) は２つのヘッドで吸着できる部品の良い組み合わせの例を示す図、(b) はそれを同時吸着の単位に分解した図、(c) はそのような分解図から得られたノズル使用分布の例を示す図表である。
【図５】  (a) はフローチャートの最初の処理周期におけるステップＳ４〜Ｓ９でヘッドへの割り付けが決定（選択）されたノズルの組み合わせを示す図、(b) は２回目のステップＳ７〜Ｓ９の繰り返し終了までにおけるヘッドへの割り付けが決定（選択）されたノズルの組み合わせを示す図である。
【図６】  (a) は全てのノズルのヘッドへの割り付けが完了した仮割り付けテーブルを示す図、(b) は同一種類のノズルの入れ換えを行った本割り付けテーブルを示す図である。
【図７】本割り付けテーブルに基づいて作成された部品ペア表の例を示す図である。
【図８】ステップＳ１２のカセット配置処理のフローチャートである。
【図９】ステップＳ１１５のカセット指定処理のフローチャートである。
【図１０】ステップＳ１１１のカセット指定なしの異なる２部品のカセット配置処理のフローチャートである。
【図１１】ステップＳ３１５の同時吸着できない場合のカセット配置処理のフローチャートである。
【図１２】ワンバイワン方式と呼ばれる部品搭載装置の主要部の外観斜視図である。
【図１３】部品搭載装置の作業塔のカバーを取り外して内部構造を示す斜視図である。
【符合の説明】
１    部品搭載装置
２    基台
３ａ、３ｂ  基板案内レール
４ａ、４ｂ  固定レール（Ｙ軸レール）
５    移動レール（Ｘ軸レール）
６    作業塔
７（７ａ、７ｂ）  部品カセット台
８    吸着ノズル
９    ノズル交換器
１１  帯状コード
１２（１２ａ、１２ｂ）  ヘッド
１３  発光部
１４  光拡散板
１５  ノズル
２０  部品搭載プログラム作成装置
２１  本体
２２  ディスプレイ
２３  キーボード
２４  ポインティングデバイス（マウス）
２５  フロッピーディスク（ＦＤ）
２６  コンパクトディスク（ＣＤ）
３０  ＣＰＵ（中央演算処理装置）
３１  バス
３２  ＲＯＭ（読み出し専用メモリ）
３３  ＲＡＭ（読み書き自在なメモリ）
３４  ＨＤ（ハードディスク）
３５  Ｉ／Ｏ制御部
３６  ノズル交換器
【図１】
0003962139.tif 000002
【図２】
0003962139.tif 000003
【図３】
0003962139.tif 000004
【図４】
0003962139.tif 000005
【図５】
0003962139.tif 000006
【図６】
0003962139.tif 000007
【図７】
0003962139.tif 000008
【図８】
0003962139.tif 000009
【図９】
0003962139.tif 000010
【図１０】
0003962139.tif 000011
【図１１】
0003962139.tif 000012
【図１２】
0003962139.tif 000013
【図１３】
0003962139.tif 000014