以下、本発明の実施の形態における最適化処理方法について図面を参照しながら説明する。
図1は、本発明の実施の形態における最適化処理方法により決定された実装条件に従って複数の部品を基板に実装する部品実装システムの外観図である。
本実施の形態における部品実装システム1000は、最適化処理を行って最適な実装条件を決定する最適化処理装置200と、決定された実装条件に従って複数の部品を基板20に実装する複数の部品実装機100からなる生産ラインとを備えている。
最適化処理装置200は、例えばパーソナルコンピュータなどによって構成されている。最適化処理装置200は、最適化プログラムを起動し、タクトが最短となるように、生産ラインの実装条件、つまり生産ラインに含まれる各部品実装機100の実装条件の最適化を行う。なお、タクトとは、実装すべき全ての部品を基板20に実装することによって1枚の実装基板を生産するのに要する時間である。そして、最適化処理装置200は、その最適化された実装条件に従った複数の部品の実装を生産ラインの各部品実装機100に実行させる。なお、実装条件は、例えば、実装されるべき複数の部品の基板20への装着順序や、生産ラインの各部品実装機100に備えられる上述の複数の部品の配列などである。
本実施の形態における最適化処理装置200は、実装条件の最適化を実行する前に、最適化の前提となる条件や制約に矛盾(エラー)があるか否かを判定し、エラーがないことを確認した上で最適化を実行することに特徴がある。
部品実装機100は、上流から基板20を受け取り、その基板20に対して部品を実装し、その部品が実装された基板20を下流側に送り出す。
具体的には、部品実装機100は、複数種の部品を供給する2つの部品供給部115a,115bを備え、上流側の搬送口130から挿入される基板20を部品実装機100の内部に搬送して停止させる。そして、部品実装機100は、部品供給部115a,115bから供給される部品を順次取り出し、その停止している基板20に対して、取り出した部品を実装する。また、部品実装機100は、部品供給部115a,115bから供給された部品を基板20に装着する前に、その部品を撮像してその部品の形状などを認識する。
生産ラインは、基板20が上流側の部品実装機100から下流側の部品実装機100に順次搬送されるように、複数の部品実装機100を一列に配列して構成されている。搬送された基板20に対して各部品実装機100が予め定められている複数の部品を実装することにより、生産ラインの最下流の部品実装機100からは、複数の部品実装機100によって複数の部品が実装された基板20が実装基板(製品)として搬出される。
図2は、部品実装機100の外観図である。
本実施の形態における部品実装機100は、図2に示すように、上述の部品供給部115a,115bと、操作部151と、実装機側表示部152とを備えている。
部品供給部115a,115bは、部品テープを送り出す複数の部品カセット114が着脱自在に取り付けられるように構成されている。部品供給部115a,115bに取り付けられた各部品カセット114は、基板20の搬送方向(X軸方向)に沿って配列する。なお、部品テープとは、例えば、同一部品種の複数の部品がテープ(キャリアテープ)上に並べられたものであり、リール等に巻かれた状態で供給される。また、部品テープに並べられる部品は、例えばチップ部品であって、具体的には0402チップ部品や1005チップ部品などである。部品カセット114は、部品テープをリールから引き出すように送り出し、その部品テープに並べられた部品を1つずつ供給する。
また、部品供給部115a,115bのそれぞれには、部品カセット114の着脱可能な各位置(以下、部品カセット取付位置という)にLED(Light Emitting Diode)168aが配設されている。各LED168aは、点灯または点滅することにより、所定の部品を供給する部品カセット114が、そのLED168aのある部品カセット取付位置に取り付けられるべきことをオペレータに対して明示する。
操作部151は、オペレータによる操作を受け付けて、その操作に応じた処理を部品実装機100に実行させる。
実装機側表示部152は、最適化処理装置200から通知された実装条件の示す部品カセット114の配置などを表示する。
図3は、部品実装機100の内部の主要な機械的構成を示す構成図である。
部品実装機100は、基板20に対して部品を実装する2つの実装ユニット110a,110bと、基板20を搬送するための一対の基板搬送レール122a,122bと、一対のビーム駆動ロボット140とを備えている。
基板搬送レール122a,122bは、それぞれX軸方向に対して平行となるように配置されている。ここで、基板搬送レール122aは、部品供給部115a側に寄せて固定され、基板搬送レール122bは、搬送される基板20のサイズ(幅)に応じてY軸方向(X軸方向に対して垂直な方向)に移動する。部品実装機100の搬送口130から挿入された基板20は、一対の基板搬送レール122a,122b上に沿って搬送されてストッパーなどにより停止される。
2つの実装ユニット110a,110bは、協調して、基板搬送レール122a,122b上にある基板20に対して交互に部品を実装する。
実装ユニット110aと実装ユニット110bはそれぞれ同様の構成を有している。つまり、実装ユニット110aは、部品供給部115a、部品認識カメラ116a、ヘッド112a、ビーム121a、およびノズルチェンジャ119aを備えている。同様に、実装ユニット110bは、部品供給部115b、部品認識カメラ116b、ヘッド112b、ビーム121b、およびノズルチェンジャ119bを備えている。
ここで、実装ユニット110aの詳細な構成について説明する。なお、実装ユニット110bの詳細な構成については、実装ユニット110aと同様であるため省略する。
ヘッド112aは、例えばマルチ装着ヘッドと呼ばれるヘッドであって、最大12個の吸着ノズルnz(以下、単にノズルnzという)を備えることができ、部品供給部115aから例えば最大12個の部品を吸着して基板20に装着することができる。このようなヘッド112aは、軸状に構成されたビーム121aに対してスライド自在に取り付けられている。したがって、ヘッド112aは、例えばモータなどの駆動により、ビーム121aに沿って移動する。
ビーム121aは、Y軸方向に沿って互いに平行に配置された一対のビーム駆動ロボット140上に、Y軸方向にスライド自在に取り付けられている。したがって、ビーム121aは、例えばモータなどの駆動により、一対のビーム駆動ロボット140上をY軸方向に沿って移動する。すなわち、ヘッド112aは、ビーム駆動ロボット140およびビーム121aによってX軸方向およびY軸方向に移動する。
部品認識カメラ116aは、ヘッド112aに吸着された部品を撮影し、その部品の吸着状態を2次元又は3次元的に検査するために用いられる。また、部品認識カメラ116aは、部品供給部115aにおけるX軸方向に沿った中央付近に配置されている。
ノズルチェンジャ119aは、各種形状の部品種に対応する交換用のノズルnzが取り付けられるテーブルである。
図4は、ヘッド112aと部品カセット114の位置関係を示す模式図である。
上述のように、ヘッド112aには、例えば最大12個のノズルnzを取り付けることが可能である。この場合、6個のノズルnzがX軸方向に沿って2列になって配列する。このような12個のノズルnzが取り付けられたヘッド112aは、最大6個の部品カセット114のそれぞれから部品を同時に(1回の上下動作で)吸着することができ、このような吸着動作を2回繰り返すことができる。このようなヘッド112aと同様に、ヘッド112bも例えば最大12個のノズルnzを取り付けることができる。なお、本発明では、ヘッド112a,112bに取り付けられるノズルnzの数は12個以外でもよく、X軸方向に沿うノズルnzの列を1列または3列以上にしてもよい。
図5は、部品を収めた部品テープ及びリールの例を示す図である。
チップ形電子部品などの部品423dは、図5に示すキャリアテープ424に一定間隔で複数個連続的に形成された収納凹部424aに収納されて、この上面にカバーテープ425を貼付けて包装される。そしてこのようにカバーテープ425が貼り付けられたキャリアテープ424は、リール426に所定の数量分だけ巻回されたテーピング形態でオペレータに供給される。また、このようなキャリアテープ424およびカバーテープ425によって部品テープが構成される。なお、部品テープの構成は、図5に示す構成以外の他の構成であってもよい。
このような部品実装機100の実装ユニット110aは、ヘッド112aを部品供給部115aに移動させて、部品供給部115aから供給される部品をそのヘッド112aに吸着させる。そして、実装ユニット110aは、ヘッド112aを部品認識カメラ116a上に一定速度で移動させ、ヘッド112aに吸着された全ての部品の画像を部品認識カメラ116aに取り込ませ、部品の吸着位置を正確に検出させる。さらに、実装ユニット110aは、ヘッド112aを基板20に移動させて、吸着している全ての部品を基板20の実装点に順次装着させる。実装ユニット110aは、このようなヘッド112aによる吸着、移動、および装着という動作を繰り返し実行することにより、予め定められた全ての部品を基板20に実装する。
なお、ヘッドが1つ以上の部品を吸着して移動し、その吸着した1つ以上の部品を基板に装着するという一連の動作、または、その1回あたりの一連の動作でヘッドに吸着される部品群を、タスクという。また、実装点とは、基板20上の部品が実装されるべき位置である。
実装ユニット110bも、実装ユニット110aと同様に、ヘッド112bを部品供給部115bに移動させて、部品供給部115bから供給される部品をそのヘッド112bに吸着させる。そして、実装ユニット110bは、ヘッド112bを部品認識カメラ116b上に一定速度で移動させ、ヘッド112bに吸着された全ての部品の画像を部品認識カメラ116bに取り込ませ、部品の吸着位置を正確に検出させる。さらに、実装ユニット110bは、ヘッド112bを基板20に移動させて、吸着している全ての部品を基板20の実装点に順次装着させる。実装ユニット110bは、このようなヘッド112bによる吸着、移動、および装着という動作を繰り返し実行することにより、予め定められた全ての部品を基板20に実装する。
そして、実装ユニット110aおよび実装ユニット110bはそれぞれ、相手の実装ユニットが部品を装着しているときには、部品供給部から部品を吸着し、逆に、相手の実装ユニットが部品供給部から部品を吸着しているときには、部品を装着するように、基板20に対する部品の装着を交互に行う。すなわち、部品実装機100はいわゆる交互打ちの部品実装機として構成されている。
図6は、部品実装機100および最適化処理装置200の制御系の機能構成を示すブロック図である。
部品実装機100は、上述の操作部151および実装機側表示部152と、機構制御部153と、実装機側格納部154と、実装機側通信部155とを備えている。
実装機側通信部155は、最適化処理装置200と通信する。
実装機側格納部154は、基板20の各実装点に関する情報などを示すNCデータ154aと、各部品に関する情報を示す部品ライブラリ154bとを格納している。また、最適化処理装置200から送信された実装条件を示す実装条件データ217aは、実装機側通信部155を介して実装機側格納部154に格納される。
実装条件データ217aは、最適化された実装条件、例えばタクトが最短となるような実装条件を示す。例えば、実装条件データ217aは、生産ラインにより実装されるべき複数の部品の装着順序や、部品カセット114の配列などを部品実装機100ごとに示す。なお、最適化処理装置200から実装条件データ217aが送信されたときに、実装機側格納部154に既に他の実装条件データ217aが格納されているときには、既に格納されている他の実装条件データ217aは、その送信された新たな実装条件データ217aに更新される。
機構制御部153は、操作部151に受け付けられたオペレータによる操作や、実装機側格納部154に格納されているデータなどに基づいて、ヘッド112a,112bやノズルnzなどの図3に示す各機構の動きを制御する。
例えば、機構制御部153は、オペレータに対して、実装条件データ217aの示す配置に従って、各部品カセット114を部品供給部115a,115bに取り付けるように促す。すなわち、機構制御部153は、実装条件データ217aの示す配置を実装機側表示部152に表示させたり、実装条件データ217aの示す部品カセット114ごとに、その部品カセット114が取り付けられるべき部品カセット取付位置にある上述のLED168aを点灯させたりする。
本実施の形態における最適化処理装置200は、手間をかけずに最適な実装条件を短時間で決定する装置であって、制御部210と、入力部211と、最適化部212と、エラー判定部213と、表示部214と、第1格納部215と、通信部216と、第2格納部217と、制約データ生成部218と、第3格納部219とを備えている。
通信部216は、生産ラインの各部品実装機100と通信する。
入力部211は、例えばキーボードやマウスなどから構成され、オペレータによる入力操作を受け付ける。
表示部214は、例えば液晶ディスプレイなどを備え、第1格納部215や第2格納部217、第3格納部219に格納されているデータなどを表示する。
第1格納部215は、上述のNCデータ154aおよび部品ライブラリ154bと、生産ラインに含まれる各部品実装機100のリソースに関する情報を示すリソースデータ154cとを格納している。つまり、この第1格納部215に格納されているNCデータ154a、部品ライブラリ154bおよびリソースデータ154cは、最適化される実装条件の前提となる条件(前提条件)を示す。
制約データ生成部218は、オペレータが実装条件に対する制約を入力するための入力画面を表示部214に表示させ、オペレータによる入力部211の操作に基づいて、その制約を示す制約データ219aを生成して第3格納部219に格納する。なお、本実施の形態では、この制約データ生成部218が制約取得部として構成されており、オペレータによって指定された制約を取得する。
エラー判定部213は、第3格納部219に格納された制約データ219aに矛盾がないか否かを判定する。つまり、エラー判定部213は、その制約データ219aの示す制約と、第1格納部215に格納されている各データの示す前提条件とを用いた実装条件の最適化処理においてエラーが発生するか否か、言い換えれば、前提条件下でその制約を満たす部品実装が可能か否かを、その最適化処理が行われる前に判定する。
最適化部212は、エラー判定部213によって部品実装が可能と判定されると、第1格納部215に格納されているNCデータ154a、部品ライブラリ154bおよびリソースデータ154cによって示される前提条件と、第3格納部219に格納されている制約データ219aによって示される制約とに基づいて、最適化処理を実行する。その結果、最適化部212は、その制約を満たす最適な実装条件、つまり、その制約を満たして生産スループットが最大(タクトが最短)となるような実装条件を決定する。そして、最適化部212は、その実装条件を示す実装条件データ217aを生成して第2格納部217に格納する。
制御部210は、最適化処理装置200に備えられている最適化部212、エラー判定部213、および制約データ生成部218などを制御する。
つまり、制御部210は、オペレータによって操作された入力部211から、最適化処理を促す信号を受け付けると、制約データ生成部218に制約データ219aの生成を指示する。その結果、制約データ219aが生成されて第3格納部219に格納されると、制御部210は、その制約データ219aを用いた最適化処理の実行を最適化部212に指示する。その結果、実装条件データ217aが生成されて第2格納部217に格納されると、制御部210は、通信部216を介してその実装条件データ217aを各部品実装機100に送信する。
ここで、上述の制御部210、最適化部212、エラー判定部213および制約データ生成部218は、生産ラインの各部品実装機100、具体的には各部品実装機100に備えられる実装ユニット110a,110bに対して、識別番号を付してそれらを識別している。
図7は、各実装ユニット110a,110bに対して付される識別番号の一例を示す図である。
例えば、各部品実装機100に備えられる実装ユニット110a,110bにはそれぞれ、基板20が搬送される方向(X軸方向)の上流側から下流側に向けて、MC1a、MC1b、MC2a、MC2b、MC3a、MC3b、MC4a、MC4b、MC5a、MC5b、MC6a、MC6bが識別番号として割り当てられる。
つまり、最上流の部品実装機100の実装ユニット110a,110bには、MC1a番およびMC1b番が割り当てられ、その一つ下流の部品実装機100の実装ユニット110a,110bには、MC2a番およびMC2b番が割り当てられる。
図8は、NCデータ154aの一例を示す図である。
NCデータ154aは、生産ラインによって基板20に装着される全ての部品の実装点に関する情報を示す。1つの実装点piは、部品種ci、X座標xi、Y座標yi、制御データφi、および実装角度θiからなる(iは正の整数)。ここで、部品種は、部品ライブラリ154bにおける部品名に相当し(図9参照)、X座標およびY座標は実装点の座標であり、制御データφiは、その部品の装着に関する制限情報、例えば、使用可能なノズルnzのタイプや、ヘッド112a,112bの最高移動加速度等を示す。実装角度θiは、部品種ciの部品を吸着したノズルnzが回転すべき角度を示す。なお、以下、部品種ciの部品を部品ciとして表す。
図9は、部品ライブラリ154bの一例を示す図である。
部品ライブラリ154bは、生産ラインが扱うことができる全ての部品種のそれぞれについての固有の情報を集めたライブラリである。この部品ライブラリ154bは、図9に示すように、部品種(部品名)ごとの部品サイズ、その部品種におけるタクト、および制限情報などからなる。
なお、この部品ライブラリ154bの示すタクトは、一定条件下において部品を基板20に装着するのに要する部品種固有の時間であって、制限情報は、例えば、使用可能なノズルnzのタイプ(SXや、SAなど)や、部品認識カメラ116a,116bによる認識方式(反射など)、3次元認識の要否、ヘッド112a,112bの最高加速度比などである。また、図9には、参考として、各部品種の部品の外観も併せて示されている。部品ライブラリ154bには、その他に、部品の色や形状などの情報が含まれていてもよい。
図10は、リソースデータ154cの一例を示す図である。
リソースデータ154cは、生産ラインに含まれる各部品実装機100のリソース、つまり、各部品実装機100の実装ユニット110a,110bに備えられている設備や機能、能力などを示す。
具体的には、リソースデータ154cは、実装ユニット110a,110bに取り付け可能な部品カセットの最大数(最大部品カセット取付数)と、実装ユニット110a,110bで使用可能なノズルタイプ(使用可能ノズルタイプ)と、実装ユニット110a,110bのヘッド112a,112bおよびノズルチェンジャ119a,119bに取り付け可能なノズルnzの最大数(最大ノズル取付数)と、実装ユニット110a,110bによる3次元認識の可否と、実装ユニット110a,110bが1枚の基板20に対して装着することができる部品の最大数(最大部品装着点数)とを示す。
例えば、リソースデータ154cは、MC1a番の実装ユニット110aでは、最大部品カセット取付数がm1a個であり、使用可能ノズルタイプがS,M,MLであり、ヘッド112aの最大ノズル取付数が12であり、ノズルチェンジャ119aの最大ノズル取付数が10であり、3次元認識が不可能であり、最大部品装着点数がc1a個であるということを示している。
なお、3次元認識の可否は、実装ユニット110a,110bに備えられている部品認識カメラ116a,116bの性能による。
図11は、制約データ生成部218が表示部214に表示させる入力画面の一例を示す図である。
この入力画面218aは、オペレータに制約の入力を促す。つまり、入力画面218aは、複数の制約の候補を表示し、入力部211の操作を介して、オペレータにそれらの候補の中から幾つかの候補を最終的な制約として選択させる。
制約の候補には、例えば、複数の部品が規定された順序で実装されるという制約(実装順序の制約)や、部品(部品カセット)やノズルnzなどの設備が実装ユニット110a,110bの規定された位置に配置されるという制約(設備配置の制約)などがある。
実装順序の制約には、生産ラインで実装される全ての部品が基本的にそれぞれの部品の高さの順に実装されるという制約(部品高さ順の制約)と、オペレータにより指定された部品がオペレータにより指定された順序で実装されるという制約(指定順の制約)と、複数の部品がPOP(Package on Package)実装に適した順序で実装されるという制約(POP実装順の制約)とがある。また、設備配置の制約には、オペレータにより指定された部品種の部品を有する部品カセットがオペレータにより指定された部品カセット取付位置に取り付けられる、つまりその部品カセット取付位置に部品カセットが固定されるという制約(部品配置固定の制約)と、オペレータにより指定されたノズルnzがオペレータにより指定された位置(ヘッドやノズルチェンジャにおける位置)に取り付けられる、つまりその位置にノズルnzが固定されるという制約(ノズル配置固定の制約)とがある。
具体的には、入力画面218aには、実装順序の制約および設備配置の制約に含まれる各種の具体的な制約の候補を選択するためのチェックボックスcb1〜cb5と、それらの制約の候補の詳細内容を入力するための入力テーブルct1〜ct4と、選択された制約の候補を最終的な制約として決定するための決定ボタンbt1とが表示されている。オペレータは、入力部211を操作することによって、チェックボックスcb1〜cb5の何れかを選択したり、入力テーブルct1〜ct4の何れかに詳細内容を入力したり、決定ボタンbt1を操作することができる。
制約データ生成部218は、チェックボックスcb1が選択されている状態で決定ボタンbt1が操作されると、部品高さ順の制約を含む制約データ219aを生成する。つまり、この制約データ219aは、基本的に、生産ラインで基板20に実装される全ての部品が、高さの低い部品から順に実装されるという制約を示す。
また、制約データ生成部218は、チェックボックスcb2が選択されると、入力テーブルct1を入力可能な状態にし、指定順の制約に対する詳細内容の入力を受け付ける。例えば、この入力テーブルct1には、部品c1が実装された後に部品c2が実装されるという詳細内容が入力される。
そして、チェックボックスcb2が選択され、入力テーブルct1に詳細内容が入力されている状態で決定ボタンbt1が操作されると、制約データ生成部218は、その詳細内容によって具体的に特定される指定順の制約を示す制約データ219aを生成する。
また、制約データ生成部218は、チェックボックスcb3が選択されると、入力テーブルct2を入力可能な状態にし、POP実装順の制約に対する詳細内容の入力を受け付ける。例えば、この入力テーブルct2には、先に部品c7が実装され、後からその部品c7の上に部品c3が実装されるという詳細内容が入力される。
そして、チェックボックスcb3が選択され、入力テーブルct2に詳細内容が入力されている状態で決定ボタンbt1が操作されると、制約データ生成部218は、その詳細内容によって具体的に特定されるPOP実装順の制約を示す制約データ219aを生成する。
また、制約データ生成部218は、チェックボックスcb4が選択されると、入力テーブルct3を入力可能な状態にし、部品配置固定の制約に対する詳細内容の入力を受け付ける。例えば、この入力テーブルct3には、部品c1を有する部品カセットがMC1a番の実装ユニット110aの部品カセット取付位置X1に取り付けられるという詳細内容が入力される。
そして、チェックボックスcb4が選択され、入力テーブルct3に詳細内容が入力されている状態で決定ボタンbt1が操作されると、制約データ生成部218は、その詳細内容によって具体的に特定される部品配置固定の制約を示す制約データ219aを生成する。
また、制約データ生成部218は、チェックボックスcb5が選択されると、入力テーブルct4を入力可能な状態にし、ノズル配置固定の制約に対する詳細内容の入力を受け付ける。例えば、この入力テーブルct4には、ノズルタイプSのノズルnzが、MC1a番の実装ユニット110aのヘッド112aにおける位置nh3と、その実装ユニット110aのノズルチェンジャ119aにおける位置nc4とに取り付けられるという詳細内容が入力される。
なお、ヘッド112a,112bにおけるノズルnzの各取付位置は、nh1〜nh12によって識別され、ノズルチェンジャ119a,119bにおけるノズルnzの各取付位置は、nc1〜nc10によって識別される。
そして、チェックボックスcb5が選択され、入力テーブルct4に詳細内容が入力されている状態で決定ボタンbt1が操作されると、制約データ生成部218は、その詳細内容により具体的に特定されるノズル配置固定の制約を示す制約データ219aを生成する。
なお、本実施の形態の入力画面218aには、上記各制約の候補や、その候補の詳細内容をオペレータに容易に理解させるための説明図が表示されているが、その説明図は表示されていなくてもよい。
図12は、制約データ生成部218により生成された制約データ219aの一例を示す図である。
この制約データ219aは、例えば、部品高さ順の制約と、部品配置固定の制約と、ノズル配置固定の制約とを示す。
部品配置固定の制約は、具体的には、部品c1を有する部品カセット114がMC4a番の実装ユニット110aの部品カセット取付位置X8に取り付けられることを定める。また、ノズル配置固定の制約は、ノズルタイプSのノズルnzがMC4a番の実装ユニット110aのヘッド112aにおける位置nh6,nh12に取り付けられることを定める。
エラー判定部213は、第1格納部215に格納されているNCデータ154a、部品ライブラリ154bおよびリソースデータ154cを読み出すとともに、第3格納部219に格納されている制約データ219aを読み出す。次に、エラー判定部213は、NCデータ154a、部品ライブラリ154bおよびリソースデータ154cにより示される前提条件下で、制約データ219aの示す制約を満たす部品実装が可能か否かを判定する。
図13は、エラー判定部213による判定の具体例を示す図である。
エラー判定部213は、例えば図12に示す制約データ219aを読み出すと、部品高さ順の制約と、部品c1を有する部品カセットがMC4a番の実装ユニット110aの部品カセット取付位置X8に取り付けられるという部品配置固定の制約とを特定する。
ここで、エラー判定部213は、NCデータ154aに示される部品c1より低い部品ciをそれぞれ有する部品カセットを全て、MC4a番の実装ユニット110aを含む部品実装機100、およびその部品実装機100よりも上流側にある各部品実装機100の中に取り付けることが可能か否かを判定する(J1a)。
つまり、エラー判定部213は、部品ライブラリ154bの示す部品サイズに基づいて、NCデータ154aに示される全ての部品ciのうちの部品c1より低い部品ciの数を特定する。さらに、エラー判定部213は、識別番号がMC1a,MC1b,MC2a,MC2b,MC3a,MC3b,MC4a,MC4bにより識別される実装ユニット110a,110bの最大部品カセット取付数の和を、リソースデータ154cに基づいて算出する。そして、エラー判定部213は、部品c1より低い部品ciの数が最大部品カセット取付数の和以下であるか否かを判定する。
その結果、エラー判定部213は、部品c1より低い部品ciの数が最大部品カセット取付数の和よりも多ければ、部品c1より低い部品ciをそれぞれ有する部品カセットを全て各部品実装機100に取り付けることが不可能と判定する。すなわち、エラー判定部213は、前提条件下で制約を満たす部品実装が不可能と判定する。
逆に、エラー判定部213は、NCデータ154aに示される部品c1より高い部品ciをそれぞれ有する部品カセットを全て、MC4a番の実装ユニット110aを含む部品実装機100よりも下流側にある各部品実装機100の中に取り付けることが可能か否かを判定する(J1b)。
つまり、エラー判定部213は、部品ライブラリ154bの示す部品サイズに基づいて、NCデータ154aに示される全ての部品ciのうちの部品c1より高い部品ciの数を特定する。さらに、エラー判定部213は、識別番号がMC5a,MC5b,MC6a,MC6bにより識別される実装ユニット110a,110bの最大部品カセット取付数の和を、リソースデータ154cに基づいて算出する。そして、エラー判定部213は、部品c1より高い部品ciの数が最大部品カセット取付数の和以下であるか否かを判定する。
その結果、エラー判定部213は、部品c1より高い部品ciの数が最大部品カセット取付数の和よりも多ければ、部品c1より高い部品ciをそれぞれ有する部品カセットを全て各部品実装機100に取り付けることが不可能と判定する。すなわち、エラー判定部213は、前提条件下で制約を満たす部品実装が不可能と判定する。
なお、本実施の形態では、エラー判定部213は上述のような判定J1a,J1bを行ったが、これらの判定方法は、本実施の形態を簡単に説明するための一例に過ぎない。つまり、エラー判定部213は、他の判定方法により、上述の部品高さ順の制約と部品配置固定の制約とが満たされた状態で、NCデータ154aに示される部品を有する部品カセットを全て、生産ラインの各部品実装機100に取り付けることが可能か否かを判定してもよい。例えば、上述のような判定J1a,J1bでは、MC4a番の実装ユニット110aを含む部品実装機100への部品カセットの取り付けは、部品c1を有する部品カセットと、その部品c1よりも高い部品を有する部品カセットとに限って許可される。しかし、それらの部品カセットだけでなく、部品c1よりも低い部品を有する部品カセットも許可してもよい。
また、本実施の形態における図13に示す例では、MC4a番の実装ユニット110aを含む部品実装機100よりも上流側にある部品実装機100が、予め定められた供給手段よりも供給順序が早い他の供給手段に相当する。さらに、MC4a番の実装ユニット110aを含む部品実装機100よりも下流側にある部品実装機100が、予め定められた供給手段よりも供給順序が遅い他の供給手段に相当する。
また、エラー判定部213は、NCデータ154aに示される全ての部品ciのうち、部品c1より低い部品ciの吸着および装着に要するノズルnzを全て、MC4a番の実装ユニット110aを含む部品実装機100、およびその部品実装機100よりも上流側にある各部品実装機100の中に取り付けることが可能か否かを判定する(J2a)。
つまり、エラー判定部213は、部品ライブラリ154bの示す部品サイズに基づいて、NCデータ154aに示される全ての部品ciの中から、部品c1より低い全ての部品ciを特定する。さらに、エラー判定部213は、部品ライブラリ154bに基づいて、その特定された各部品ciの吸着および装着に要する全てのノズルタイプを特定する。さらに、エラー判定部213は、リソースデータ154cに基づいて、識別番号がMC1a,MC1b,MC2a,MC2b,MC3a,MC3b,MC4a,MC4bにより識別される実装ユニット110a,110bの使用可能ノズルタイプおよび最大ノズル取付数を特定する。そして、エラー判定部213は、上述のように特定された全てのノズルタイプが、各実装ユニット110a,110bの使用可能ノズルタイプに含まれて、特定された全てのノズルタイプのノズルnzの数が、各実装ユニット110a,110bの最大ノズル取付数の和以下であるか否かを判定する。つまり、エラー判定部213は、上述のように特定された、低い部品に適した全てのノズルタイプのノズルnzが、個々の実装ユニットに収まるか否かを判定するのではなく、それらの全てのノズルnzが上流側にある全ての部品実装機100に収まるか否かを判定している。
その結果、エラー判定部213は、全てのノズルタイプが各実装ユニット110a,110bの使用可能ノズルタイプに含まれていない、または、全てのノズルnzの数が最大ノズル取付数の和よりも多いと判定すると、必要なノズルnzを全て各部品実装機100の中に取り付けることが不可能と判定する。すなわち、エラー判定部213は、前提条件下で制約を満たす部品実装が不可能と判定する。
逆に、エラー判定部213は、NCデータ154aに示される全ての部品ciのうち、部品c1より高い部品ciの吸着および装着に要するノズルnzを全て、MC4a番の実装ユニット110aを含む部品実装機100よりも下流側にある各部品実装機100の中に取り付けることが可能か否かを判定する(J2b)。
つまり、エラー判定部213は、部品ライブラリ154bの示す部品サイズに基づいて、NCデータ154aに示される全ての部品ciの中から、部品c1より高い全ての部品ciを特定する。さらに、エラー判定部213は、部品ライブラリ154bに基づいて、その特定された各部品ciの吸着および装着に要する全てのノズルタイプを特定する。さらに、エラー判定部213は、リソースデータ154cに基づいて、識別番号がMC5a,MC5b,MC6a,MC6bにより識別される実装ユニット110a,110bの使用可能ノズルタイプおよび最大ノズル取付数を特定する。そして、エラー判定部213は、上述のように特定された全てのノズルタイプが、各実装ユニット110a,110bの使用可能ノズルタイプに含まれて、特定された全てのノズルタイプのノズルnzの数が、各実装ユニット110a,110bの最大ノズル取付数の和以下であるか否かを判定する。
その結果、エラー判定部213は、全てのノズルタイプが各実装ユニット110a,110bの使用可能ノズルタイプに含まれていない、または、全てのノズルnzの数が最大ノズル取付数の和よりも多いと判定すると、必要なノズルnzを全て各部品実装機100の中に取り付けることが不可能と判定する。すなわち、エラー判定部213は、前提条件下で制約を満たす部品実装が不可能と判定する。
また、エラー判定部213は、NCデータ154aに示される全ての部品ciのうちの部品c1より低い部品ciの中で、3次元認識が必要な部品ciがあれば、MC4a番の実装ユニット110aを含む部品実装機100、およびその部品実装機100よりも上流側にある各部品実装機100の何れかで3次元認識が可能か否かを判定する(J3a)。
つまり、エラー判定部213は、部品ライブラリ154bの示す部品サイズに基づいて、NCデータ154aに示される全ての部品ciの中から、部品c1より低い全ての部品ciを特定する。さらに、エラー判定部213は、部品ライブラリ154bに基づいて、その特定された各部品ciの中に、3次元認識を要する部品ciがあるか否かを判定する。さらに、エラー判定部213は、3次元認識を要する部品ciがあると判定すると、リソースデータ154cに基づいて、識別番号がMC1a,MC1b,MC2a,MC2b,MC3a,MC3b,MC4a,MC4bにより識別される実装ユニット110a,110bのうち、3次元認識が可能な実装ユニットがあるか否かを判定する。
その結果、エラー判定部213は、3次元認識が可能な実装ユニットがないと判定すると、前提条件下で制約を満たす部品実装が不可能と判定する。
逆に、エラー判定部213は、NCデータ154aに示される全ての部品ciのうちの部品c1より高い部品ciの中で、3次元認識が必要な部品ciがあれば、MC4a番の実装ユニット110aを含む部品実装機100よりも下流側にある各部品実装機100の何れかで3次元認識が可能か否かを判定する(J3b)。
つまり、エラー判定部213は、部品ライブラリ154bの示す部品サイズに基づいて、NCデータ154aに示される全ての部品ciの中から、部品c1より高い全ての部品ciを特定する。さらに、エラー判定部213は、部品ライブラリ154bに基づいて、その特定された各部品ciの中に、3次元認識を要する部品ciがあるか否かを判定する。さらに、エラー判定部213は、3次元認識を要する部品ciがあると判定すると、リソースデータ154cに基づいて、識別番号がMC5a,MC5b,MC6a,MC6bにより識別される実装ユニット110a,110bのうち、3次元認識が可能な実装ユニットがあるか否かを判定する。
その結果、エラー判定部213は、3次元認識が可能な実装ユニットがないと判定すると、前提条件下で制約を満たす部品実装が不可能と判定する。
なお、本実施の形態では、ノズルnz、3次元認識可能な部品認識カメラ116a、および3次元センサ(後述する厚みセンサ)のそれぞれが、低い部品を基板に実装するための第1の設備、または、高い部品を基板に実装するための第2の設備に相当する。
また、エラー判定部213は、MC4a番の実装ユニット110aを含む部品実装機100、およびその部品実装機100よりも上流側にある各部品実装機100が、実装ユニット1台あたりの部品装着点数を最大部品装着点数以下に抑えて、NCデータ154aに示される部品c1より低い全ての部品ciを実装することができるか否かを判定する(J4a)。
つまり、エラー判定部213は、部品ライブラリ154bの示す部品サイズに基づいて、NCデータ154aに示される全ての部品ciのうちの部品c1より低い部品ciの数を特定する。さらに、エラー判定部213は、リソースデータ154cに基づいて、識別番号がMC1a,MC1b,MC2a,MC2b,MC3a,MC3b,MC4a,MC4bにより識別される実装ユニット110a,110bの最大部品装着点数の和を算出する。そして、エラー判定部213は、その最大部品装着点数の和が、上述のように特定された部品ciの数以上であるか否かを判定する。
その結果、エラー判定部213は、部品ciの数以上でないと判定すると、前提条件下で制約を満たす部品実装が不可能と判定する。
逆に、エラー判定部213は、MC4a番の実装ユニット110aを含む部品実装機100よりも下流側にある各部品実装機100が、実装ユニット1台あたりの部品装着点数を最大部品装着点数以下に抑えて、NCデータ154aに示される部品c1より高い全ての部品ciを実装することができるか否かを判定する(J4b)。
つまり、エラー判定部213は、部品ライブラリ154bの示す部品サイズに基づいて、NCデータ154aに示される全ての部品ciのうちの部品c1より高い部品ciの数を特定する。さらに、エラー判定部213は、リソースデータ154cに基づいて、識別番号がMC5a,MC5b,MC5a,MC5bにより識別される実装ユニット110a,110bの最大部品装着点数の和を算出する。そして、エラー判定部213は、その最大部品装着点数の和が、上述のように特定された部品ciの数以上であるか否かを判定する。
その結果、エラー判定部213は、部品ciの数以上でないと判定すると、前提条件下で制約を満たす部品実装が不可能と判定する。
図14は、エラー判定部213による他の判定の具体例を示す図である。
エラー判定部213は、例えば、制約データ219aを読み出した結果、ノズルタイプSのノズルnzがMC4a番の実装ユニット110aのヘッド112aにおける位置nh6および位置nh12に取り付けられるというノズル配置固定の制約と、部品c1を有する部品カセット114がMC4a番の実装ユニット110aの部品カセット取付位置Xnに取り付けられるという部品配置固定の制約とを特定する。
ここで、図14中、ノズルnzの位置nh6,nh12はヘッド112aの右端にあり、部品カセット取付位置Xnも部品供給部115aの右端にある。また、ヘッド112aの右端の位置nh6,nh12に取り付けられるノズルnzのノズルタイプが適切であれば、そのノズルnzだけが、部品カセット取付位置Xnの部品カセット114から供給される部品を吸着することができる。言い換えれば、位置nh6,nh12以外の位置に取り付けられるノズルnzのノズルタイプが適切であっても、そのノズルnzでは、部品カセット取付位置Xnの部品カセット114から供給される部品を吸着することができない。これは、部品供給部115aの右端の部品カセット取付位置Xnにある部品カセット114には、ヘッド112aの右端の位置、つまり位置nh6,nh12に取り付けられるノズルnzしか届かないからである。
そこで、エラー判定部213は、ノズル配置固定の制約により定められる位置nh6および位置nh12のノズルタイプSが、部品配置固定の制約により定められる部品カセット取付位置Xnの部品c1の装着および吸着に適しているか否かを、部品ライブラリ154bに基づいて判定する。つまり、エラー判定部213は、部品c1に適合するノズルタイプとしてノズルタイプSが部品ライブラリ154bに示されているか否かを判定する。
その結果、エラー判定部213は、ノズルタイプSが部品ライブラリ154bに示されていなければ、位置nh6および位置nh12のノズルタイプSが部品c1の装着および吸着に適していないと判定する。すなわち、エラー判定部213は、前提条件下で制約を満たす部品実装が不可能と判定する。
このように、エラー判定部213は、前提条件下で制約を満たす部品実装が不可能と判定すると、オペレータによって入力された制約にエラーがあることを通知し、入力された制約の変更を促すメッセージ(警告)を表示部214に表示させる。つまり、本実施の形態では、この表示部214が、部品実装が不可能であることを報知する報知部として構成されている。
このようなメッセージ、つまり警告が表示された後、制約データ生成部218は、もう一度、先に入力された制約を示す入力画面218aを表示部214に表示させて、その制約の変更を受け付ける。
図15は、本実施の形態における最適化処理装置200の動作を示すフローチャートである。
まず、最適化処理装置200は、NCデータ154a、部品ライブラリ154bおよびリソースデータ154cを読み出す(ステップS100)。さらに、最適化処理装置200は制約データ219aを読み出す(ステップS102)。
次に、最適化処理装置200は、NCデータ154a、部品ライブラリ154bおよびリソースデータ154cにより示される前提条件下で、制約データ219aの示す制約を満たす部品実装が可能か否かを判定する(ステップS104)。
ここで、最適化処理装置200は、制約を満たす部品実装が可能と判定すると(ステップS104のY)、最適化処理を実行する(ステップS106)。つまり、最適化処理装置200は前処理を実行する(ステップS106a)。この前処理では、最適化処理装置200は、NCデータ154a、部品ライブラリ154b、リソースデータ154cおよび制約データ219aに対してフォーマットチェックを行う。その後、最適化処理装置200は、それらのデータを用いてタクトが最短となるような実装条件の最適化(実装条件最適化処理)を実行する(ステップS106b)。さらにその後、最適化処理装置200は後処理を実行する(ステップS106c)。この後処理では、最適化処理装置200は、その最適化された実装条件を示す実装条件データ217aを生成し、その実装条件データ217aのフォーマットを整えた後に各部品実装機100に出力する。これによって、最適化処理が終了する。
一方、最適化処理装置200は、ステップS104で、制約を満たす部品実装が不可能と判定すると(ステップS104のN)、オペレータによって入力された制約にエラーがあることを警告する(ステップS108)。その後、最適化処理装置200は、先に入力された制約を示す入力画面218aを表示し(ステップS110)、その制約(制約データ219a)が変更されたか否かを判別する(ステップS112)。
ここで、最適化処理装置200は、制約データ219aが変更されたと判定すると(ステップS112のY)、ステップS104からの処理を繰り返し実行し、制約データ219aが変更されないと判定すると(ステップS112のN)、最適化処理を終了する。
図16は、図15に示すステップS104の判定を詳細に示すフローチャートである。
まず、最適化処理装置200は、図13に示す判定J1a,J1bのように、NCデータ154aの示す実装すべき部品ci、つまりその部品ciを有する部品カセットを全て各部品実装機100に取り付けることが可能か否かを判定する(ステップS104a)。
ここで、最適化処理装置200は、取り付けることが可能と判定すると(ステップS104aのY)、図13に示す判定J2a,J2bのように、NCデータ154aの示す部品ciの装着および吸着に必要なノズルnzを全て各部品実装機100に取り付けることが可能か否かを判定する(ステップS104b)。
さらに、最適化処理装置200は、取り付けることが可能と判定すると(ステップS104bのY)、図13に示す判定J3a,J3bのように、NCデータ154aの示す3次元認識が必要な部品ciに対して3次元認識が可能か否かを判定する(ステップS104c)。
ここで、最適化処理装置200は、3次元認識が可能と判定すると(ステップS104cのY)、図13に示す判定J4a,J4bのように、実装ユニット1台あたりの部品装着点数が最大部品装着点数以下に抑えて、各部品実装機100がNCデータ154aの示す全ての部品ciを実装することが可能か否かを判定する(ステップS104d)。
さらに、最適化処理装置200は、実装することが可能と判定すると(ステップS104dのY)、図14に示すように、部品供給部115a,115bの端の部品を吸着して装着することが可能か否かを判定する(ステップS104e)。
その結果、最適化処理装置200は、端の部品を吸着して装着することが可能と判定すると(ステップS104eのY)、NCデータ154a、部品ライブラリ154bおよびリソースデータ154cにより示される前提条件下で、制約データ219aの示す全ての制約を満たす部品実装が可能と判定する。したがって、最適化処理装置200は、図15に示すステップS106の処理を実行する。
一方、最適化処理装置200は、ステップS104a〜S104eの何れかで不可能と判定すると(ステップS104a〜S104eのN)、オペレータによって入力された制約にエラーがあることを警告する(ステップS108)。
このように、本実施の形態における最適化処理装置200による最適化処理方法では、制約を満たす実装条件の最適化が実行される前に、部品実装機でその制約を満たす実装が可能か否かが判定されるため、その制約が不適切な場合には、オペレータは最適化の実行前に、その制約を修正することができる。その結果、最適化の実行過程の途中で、制約が不適切なために実装条件が見つからなかったことが報知されるようなことを防ぐことができる。つまり、制約を修正しながら実装条件の最適化を繰り返し実行することを防ぐことができ、手間をかけずに最適な実装条件を短時間で決定することができる。
以上、本発明の最適化処理方法について実施の形態を用いて説明したが、本発明はこれに限定されるものではない。
例えば、本実施の形態では、最適化処理装置200は、部品実装システム1000において生産ラインと分離して備えられていたが、生産ラインに組み込まれていてもよく、生産ラインの部品実装機100に備えられていてもよい。
また、本実施の形態では、リソースデータ154cは、実装ユニット110a,110bごとに、最大部品カセット取付数や、使用可能ノズルタイプ、3次元認識の可否などを示したが、それら以外の実装ユニット110a,110bの設備、機能および性能などを示してもよい。
例えば、リソースデータ154cは、部品の厚さ(高さ)を検出する厚みセンサを実装ユニットが備えているか否か、または備えることが可能か否かを示していてもよい。この場合には、エラー判定部213は、例えば、部品ライブラリ154bに基づいて、実装されるべき部品が厚みの検出を要するものであるか否かを判定する。そして、エラー判定部213は、要すると判定すると、リソースデータ154cに基づいて、実装ユニット110a,110bが厚みセンサを備えているか否か、または備えることが可能か否かを判定する。その結果、エラー判定部213は、備えていない、または備えることが不可能と判定すると、前提条件下で制約を満たす部品実装が不可能と判定する。
また、本実施の形態では、最適化処理装置200のエラー判定部213は、図15に示すように、部品実装が可能か否かの判定(ステップS104)を、最適化処理(ステップS106)の前処理(ステップS106a)の前に行ったが、前処理(ステップS106a)の後で実装条件最適化処理(ステップS106b)の前に行ってもよい。
また、本実施の形態では、実装条件に対する制約として、実装順序の制約や設備配置の制約などをオペレータから受け付けたが、他の制約を受け付けてもよい。例えば、特定の部品が特定の部品実装機で実装されるという制約を受けてもよい。さらに、本実施の形態では、実装順序の制約として、部品高さ順の制約、指定順の制約またはPOP実装順の制約を受け付けたが、それら以外の制約を受け付けてもよく、それらの制約を組み合わせて受け付けてもよい。同様に、本実施の形態では、設備配置の制約として、部品配置固定の制約およびノズル配置固定の制約を受け付けたが、それら以外の制約を受け付けてもよく、それらの制約を組み合わせて受け付けてもよい。
また、本実施の形態では、図2および図3に示す、いわゆる交互打ちの部品実装機100の実装条件の最適化を行ったが、他のタイプの部品実装機の実装条件の最適化を行ってもよいことは言うまでもない。また、本実施の形態では、6つの部品実装機100によって生産ラインを構成したが、部品実装機100の台数は1つでもよく、その台数は任意である。また、本実施の形態では、複数の部品実装機100を1つの生産ラインと称したが、その生産ラインを1つの部品実装機と称してもよく、部品実装機100に備えられる1つの実装ユニット110a,110bを1つの部品実装機と称してもよい。
また、本実施の形態では、図13を用いて、部品高さ順の制約と部品配置固定の制約との間で矛盾があるか否かを判定し、図14を用いて、ノズル配置固定の制約と部品配置固定の制約との間で矛盾があるか否かを判定したが、これらの制約の間だけでなく、他の制約の間で矛盾があるか否かを判定してもよい。例えば、上流側から2台目の部品実装機で部品c1が実装されるという第1の制約と、その部品c1の実装に使用されるノズルが上流側から2台目の部品実装機に取り付けられるという第2の制約との間で矛盾があるか否かを判定してもよい。