以下、本発明が適用された一実施形態について図面を用いて説明する。
先ず、本実施形態の概略構成について図1を用いて説明する。
図1は、本発明の一実施形態が適用されたチップマウント・システムの概略構成図である。
図示するように、チップマウント・システムは、複数の部品装着装置1と、ハードディスク装置等により構成されているデータベース装置11と、各部品装着装置1に行わせる工程を割り当てる部品装着設定装置(工程割当設定装置)12とを有する。部品装着装置1、データベース装置11、および部品装着設定装置12は、各々、ネットワーク10に接続されている。そして、部品装着装置1、データベース装置11、および部品装着設定装置12は、相互に、ネットワーク10を介して通信可能に構成されている。ここで、ネットワーク10は、部品装着装置1、部品装着装置12、およびデータベース装置11が相互に通信を行えるものであればよく、有線であっても無線であってもかまわない。例えば、ネットワーク10に、LAN(Local Area Network)を利用するようにしてもよい。なお、図示する例では、部品装着装置1を3台示しているがこの数は例示に過ぎない。
チップマウント・システムでは、1枚のプリント基板(単に「基板」ということもある)への各種の部品の装着処理を、複数の部品装着装置1が分担して行う。具体的には、部品装着設定装置12が各部品装着装置1に担当させる工程(部品を装着する工程)を割り当てる。そして、部品装着装置1が、割り当てられた工程を実行してプリント基板に部品を装着する。データベース装置11には、プリント基板、および装着する各種部品の設計データや、部品装着装置1および部品装着設定装置12の仕様データ等が格納されている。以下、部品装着装置1、および部品装着設定装置12の構成について説明する。
先ず、部品装着装置1について説明する。部品装着装置1は、演算処理部2、部品装着部3、部品供給部4、基板位置決め部5、全体制御部6、および通信手段7を有する。
部品装着部3は、バス9に接続された駆動制御部31と、駆動制御部31により駆動制御される装着ヘッド321(図2参照)を備える部品装着手段32とを有する。装着ヘッド321には、部品供給部4が供給する部品を吸着し、プリント基板上で部品を装着する部品吸着ノズル(図示せず)が設けられている。
駆動制御部31は、バス9を通じて、演算処理部2から装着データファイルa222に格納されている「装着データ」及び部品データファイル224に格納されている「部品データ」を取得する。なお、装着データファイルa222及び部品データファイル224に格納されているデータについては後述する。駆動制御部31は、取得した「装着データ」および「部品データ」を用いて、部品装着手段32を制御する。すなわち、駆動制御部31により装着ヘッド321及び部品吸着ノズル(図示せず)が制御され、プリント基板上に部品が装着される。
部品供給部4は、プリント基板に装着する各種部品を収納し、その収納している部品を部品装着部3に供給する。具体的には、部品供給部4は、バス9に接続された駆動制御部41と、駆動制御部41により駆動制御されるパレット(部品供給台)42を有する。パレット(部品供給台)42は、部品が種類ごとに格納されたテープフィーダ(部品供給部材)420(図2参照)を着脱可能に配列搭載できるように構成されている(テープフィーダ420には、装着部品が貼付されたテープが格納されている)。
駆動制御部41は、バス9を通じて、演算処理部2から部品配置データファイルa221に格納されている部品配置データ、および、装着データファイルa222に格納されている装着データを取得する(装着データのデータ構成は後述する)。そして、駆動制御部41は、取得した「部品配置データ」および「装着データ」を利用してパレット42を動作させて部品装着部3に部品を供給する。
基板位置決め部5は、プリント基板(被部品装着基板)の位置決めを行う。具体的には、基板位置決め部5は、バス9に接続された駆動制御部51と、駆動制御部51に駆動制御されるXYテーブル(被部品装着基板把持手段)52とを有する。XYテーブル52の上には、部品が装着されるプリント基板(被部品装着基板)が搭載されて固定される。そして、駆動制御部51は、バス9を通じて、演算処理部2から「装着データ」および「部品データ」を取得する。駆動制御部51は、取得した「装着データ」および「部品データ」を利用してXYテーブル52を動作して基板の位置決めを行う。
全体制御部6は、部品装着装置1の演算処理部2、部品装着部3、部品供給部4、基板位置決め部5、および通信手段7の全体を、バス9を通して制御する。全体制御部6は、演算処理部2から得られる各種データを用いて、部品装着装置1の全体を制御しても良い。
なお、全体制御部6のハードウェア構成については特に限定しない。全体制御部6は、上述した全体制御部6の機能を実現するための専用のハードウェア回路として構成されていてもよい。また、全体制御部6は、例えば、CPUとメモリとを備えて、メモリに記憶されたプログラムを実行することにより、上述した全体制御部6の機能を実現するように構成されていてもよい。
通信手段7は、ネットワーク10に接続されている他の装置との間で行われるデータの送受信を制御する。例えば、ネットワーク10がLAN(Local Area Network)である場合、通信手段7は、LANI/Fにより構成される。
演算処理部2は、演算部21、主記憶部22、通信手段23、演算制御部24、出力手段25、入力手段26、および外部記憶部27を有する。演算部21、主記憶部22、通信手段23、演算制御部24、出力手段25、入力手段26、および外部記憶部27は、内部バス28で相互に接続されている。なお、演算部21および演算制御部24は、一つの演算部として構成されていても良い。
演算部21は、演算制御部24からの要求に応じて各種データの演算を行う。
主記憶装部22は、各種データや各種プログラムを記憶すると共に、ワークエリアとして機能する。図示する例では、主記憶部22には、部品配置データファイルa221、装着データファイルa222、装置データファイル223、部品データファイル224、および部品装着設定処理プログラムa225が記憶されている。なお、部品配置データファイルa221および装着データファイルa222に格納するデータは、演算制御部24(或いは部品装着設定装置12)により格納される。また、装置データファイル223および部品データファイル224のデータは、例えばCADシステム(図示せず)からネットワーク10を介して取得して格納するようにしてもよい。或いは、後述する入力手段26が各データを取得して主記憶部22に記憶させるようにしてもよい。また、主記憶部22に記憶されている部品装着設定処理プログラムa225とは、演算処理部2に、部品装着装置1に対する各種設定処理(後述する図10で説明する)を実行させるためのプログラムである。
通信手段23は、部品装着装置1内のバス9に接続されており、バス9に接続されている各部(部品装着部3、部品供給部4、基板位置決め部5、全体制御部6、通信手段7)との間での行われるデータ送受信を制御する。
演算制御部24は、全体制御部6を通じて、部品装着部3、部品供給部4、および基板位置決め部5に部品装着処理を実行させる。具体的には、演算制御部24は、入力手段26により利用者からの指示を受け、或いは、ネットワーク10を通じて部品装着設定装置12より指示を受けて起動する。演算制御部24は、必要な各データファイル221〜224を読み込み、演算部21を用いて様々な部品装着設定処理を行い、データファイル221、222に様々な部品装着設定処理結果を出力すると共に、出力手段25により様々な部品装着設定処理結果を表示装置に表示して、利用者に部品装着装置1への設定を促す。
出力手段25は、演算処理部2で行われた演算結果を出力する。なお、出力手段25の具体的な構成について特に限定しないが、出力手段25には、演算処理部2で行われた演算結果を液晶ディスプレイ等の表示装置に画像表示する機能が含まれている。入力手段26は、利用者からの各種操作要求や、各種データの入力を受け付ける処理を行う。外部記憶装部27は、部品装着装置の動作に必要なデータや各種プログラムを記憶する。
なお、本実施形態では、演算処理部2のハードウェア構成について特に限定ない。例えば、演算処理部2は、CPU(Central Processing Unit)、RAM(Random Access Memory)等の主記憶装置、CD−ROMドライブとCD−ROM、HDD等の補助記憶装置、通信I/F、およびIOI/Fを備える情報処理装置により構成される。そして、上述した主記憶部22の機能は、主記憶装置により実現される。外部記憶部27の機能は、補助記憶装置により実現される。また、演算部21および演算制御部24は、CPUが補助記憶装置に記憶されている各種プログラムを主記憶装置にロードして実行することにより実現される。入力手段26の機能は、IOI/F、およびIOI/Fに接続されるキーボード、マウス等の入力デバイスにより実現される。出力手段25の機能は、IOI/F、およびIOI/Fに接続される表示装置等の外部装置により実現される。また、通信手段の機能は、通信I/Fにより実現される。なお、演算制御部24が行う、部品装着装置1に対する各種設定処理は、CPUが部品装着設定処理プログラムa225を実行することにより実現される。
利用者は、各データファイル221〜224に格納されているデータを編集したり、上書きしたりすることが可能である。例えば、各データファイル221〜224のデータを出力手段25に表示させ、利用者がその表示データを見ながら、入力手段136を用いて編集するようにしてもよい。また、例えば、外部記憶部27がCD−ROMドライブの場合、演算制御部24が外部記憶部27を介して外部記憶媒体(ここでは、CD−ROM)に記録されたファイルを読み出し、読み出したファイルを用いて、各データファイル221〜224を更新するようにしてもよい。
また、演算処理部2は、通信手段14を介してネットワーク10を通じてデータベース装置11にアクセスし、データベース装置11に格納されたファイルを取得し、その取得したファイルを用いて各データファイル221〜224のデータを更新することも可能である。
次に、部品装着設定装置12について説明する。
部品装着設定装置12は、各部品装着装置1に割り当てる工程を算出し、その算出結果を各部品装着装置1に出力する。具体的には、部品装着設定装置12は、演算処理部(部品装着設定部)13、通信手段14、および全体制御部15を有する。演算処理部(部品装着設定部)13、通信手段14、および全体制御部15は、バス16に接続されている。
全体制御部15は、演算処理部(部品装着設定部)13、および通信手段14を、バス16を通して制御する。なお、全体制御部15のハードウェア構成については特に限定しない。全体制御部15は、上述した全体制御部15の機能を実現するための専用のハードウェア回路として構成されていてもよい。また、例えば、CPUとメモリとを備えて、メモリに記憶されたプログラムを実行することにより、上述した全体制御部15の機能を実現するように構成されていてもよい。
通信手段14は、ネットワーク10に接続されている他の装置との間で行われるデータの送受信を制御する。例えば、ネットワーク10がLAN(Local Area Network)である場合、通信手段14は、LANI/Fにより構成される。
演算処理部13は、各部品装着装置1に割り当てる工程を算出する。具体的には、演算部131、主記憶部132、通信手段133、演算制御部134、出力手段135、入力手段136、および外部記憶部137を有する。演算部131、主記憶部132、通信手段133、演算制御部134、出力手段135、入力手段136、および外部記憶部137は、各々、内部バス138に接続されている。なお、演算部131と演算制御部134とを、一つの演算部で構成しても良い。また、通信手段133、出力手段135、および入力手段136の機能は、部品装着装置1の通信手段23、出力手段25、および入力手段26と同様であるため説明を省略する。
主記憶装部132は、各種データや各種プログラムを記憶すると共に、ワークエリアとして機能する。図示する例では、主記憶部132には、部品配置データファイルb1321、装着データファイルb1322、ラインデータファイル1323、部品データファイル224、および部品装着設定処理プログラムb1325が記憶されている。主記憶部22に記憶されている各データ(部品配置データファイルb1321、装着データファイルb1322、ラインデータファイル1323、部品データファイル224)の取得方法については特に限定しない。なお、主記憶部132に記憶されている部品装着設定処理プログラムb1325とは、演算処理部13に、部品装着装置1に対する各種設定処理(部品装着設定処理)を実行させるためのプログラムである。
演算制御部134は、演算処理部13内の各部を制御し、後述する部品装着装置1を設定するための各種の処理ステップを順に行う。演算制御部134は、部品装着設定処理の結果を全体制御部6に提供する。そして、全体制御部6は、提供された部品装着設定処理の結果を通信手段14経由で部品装着装置1に出力する。
具体的には、演算制御部134は、入力手段136により利用者からの指示を受けて起動する。演算制御部134は、部品装着設定処理に必要な各データファイル1221〜1324を読み込み、演算部131を用いて、後述する様々な部品装着設定処理を行う。演算制御部134は、通信手段14を介して、部品装着装置1が記憶しているデータファイル221、222に各種の部品装着設定処理結果を出力する。また、演算制御部134は、出力手段135により各種の部品装着設定処理結果を表示して、利用者に部品装着装置1への設定を促す。
利用者は、出力手段135により表示された部品装着設定処理結果を見て、部品装着装置1に各種の設定を行う。例えば、出力手段がテープフィーダ420(図2参照)に関する設定処理情報を表示した場合、利用者は、表示されたテープフィーダ420に関する設定処理情報に従い、各部品装着装置1のパレット42上の設定位置に、テープフィーダ420を搭載する(部品装着準備を行う)。
なお、演算処理部13のハードウェア構成について特に限定ない。例えば、演算処理部13に、CPUと、RAM等の主記憶装置と、CD−ROMドライブおよびCD−ROMやHDD装置等の補助記憶装置と、通信I/Fと、IOI/Fとを備える情報処理装置を用いるようにしてもよい。この場合、上述した主記憶部132の機能は、主記憶装置により実現される。外部記憶部137の機能は、補助記憶装置により実現される。また、演算部131および演算制御部134の機能は、CPUが補助記憶装置に記憶されている各種プログラムを主記憶装置にロードして実行することにより実現される。なお、演算制御部134が行う部品装着設定処理は、CPUが部品装着設定処理プログラムb1325を実行することにより実現される。また、通信手段133の機能は、通信I/Fにより実現される。入力手段136の機能は、IOI/F、およびIOI/Fに接続されるキーボード、マウス等の入力デバイスにより実現される。出力手段135の機能は、IOI/F、およびIOI/Fに接続される表示装置により実現される。
また、利用者は、上述した部品装着装置1と同様の手順により、各データファイル1321〜1323、224に格納されているデータを編集したり、上書きしたりすることが可能である。
続いて、部品装着装置1の部品装着部3、部品供給部4、および部品位置決め部5の構成について図2を用いて説明する。
図2は、本実施形態の部品装着装置1がプリント基板400に部品を装着する手順を説明するための図である。
図2では、部品供給部4のパレット42と、部品装着部3の部品装着手段32と、基板位置決め部5のXYテーブル52とを示している。なお、図示する部品装着部3、部品供給部4、および基板位置決め部5の構成は既存技術であるため、以下では概略だけ示す。
図示するように、部品供給部4のパレット42には、複数のテープフィーダ420a〜nが搭載されている。テープフィーダ420a〜nには、プリント基板400に装着するための部品が格納されている。そして、パレット42は、駆動制御部41に制御されて、図示するX方向に往復動作を行う。
部品装着手段32は、複数の装着ヘッド321を備えた回転ターレット320を有する。各装着ヘッド321には、部品を吸着すると共に、その部品をプリント基板400に装着する吸着ノズル(図示しない)が設けられている。また、回転ターレット320は、駆動制御部31からの指示にしたがい、回転動作が可能に構成されている。装着ヘッド321は、駆動制御部31からの指示にしたがい、部品を吸着する処理や部品をプリント基板400に搭載する処理を行う。
部品装着部3は、部品をパレット42から取り出す場合、回転ターレット320を回転させ、装着ヘッド321を所望の部品が格納されているテープフィーダ420の上側の位置まで移動させる。そして、部品装着部3は、装着ヘッド321を制御してテープフィーダ420に格納されている部品を吸着する。その後、部品装着部3は、吸着した部品を基板400に装着する工程に移行する。部品を基板400に装着する工程では、部品装着部3は、回転ターレット320を回転させ、部品を吸着している装着ヘッド321をXYテーブル52の上側にある所定位置(部品取付位置)まで移動させる。部品装着部3は、装着ヘッドを制御してXYテーブル52上に搭載されているプリント基板400に部品を装着する。
XYテーブル52には、部品を装着する対象のプリント基板400が搭載されていて、駆動制御部51からの指示にしたがい、XY方向(水平方向)に移動する。駆動制御部51は、プリント基板上400での装着対象部品の取付位置が、装着ヘッド321の下部に位置するように、XYテーブル52を動作させる。
続いて、本実施形態のチップマウント・システムが利用する各データファイルの構成について、図3〜9を用いて説明する。なお、図3〜9では、各データファイルをテーブル形式のデータとして示しているがこれは例示に過ぎない。
先ず、パレット42上でのテープフィーダ420の配置を示すデータを格納するための部品配置データファイルa221を図3に示す。
図3は、本実施形態の部品装着装置1に記憶されている部品配置データファイルaのデータ構成を模擬的に示した図である。
図示するように、部品配置データファイルa221は、パレット42におけるテープフィーダ420の搭載位置を示す「搭載位置番号」を格納するためのフィールド2210と、各テープフィーダ420に格納された部品の種類を示す「部品種番号」を格納するためのフィールド2211と、部品装着設定処理の際に考慮する「制約条件」を格納するためのフィールド2212とを備えて1つのレコードが構成される。
フィールド2210に格納する「搭載位置番号」とは、部品供給部4での基準位置(例えばパレットの端)からのテープフィーダ420の搭載位置を示すデータである。「搭載位置番号」として、例えば、部品供給部4上での基準位置(例えばパレットの端)から昇順に設定された位置番号を用いる。
フィールド2212には、固定制約フラグとして、「真(true)」および「偽(false)」のいずれかが格納される。なお、本実施形態の説明では、フィールド2212に登録する「固定制約フラグ」は、テープフィーダ420の位置を固定するか(変えないか)、或いは更新を許可するか(変えるか)を示すフラグが格納される場合を例にする。そして、演算処理部2は、固定制約フラグが真(true)の場合、そのテープフィーダ420の位置は変えないという制約の下に設定処理を行う。また、演算処理部2は、固定制約フラグが偽(false)の場合には、そのテープフィーダ420の搭載位置データを部品装着時間が短くなる搭載位置に更新する設定処理を行う。
図示する部品配置データファイルa221の一番上のレコードは、搭載位置番号」が「120」の位置(パレット42上の位置)に、「部品種番号」が3の部品のテープフィーダ420を搭載することを示している。更に、テープフィーダ420の位置は、演算処理部2により行われる部品装着装置1に対する設定処理(部品装着設定処理プログラムa225により行われる処理)で変えても良いことを示している。
次に、部品装着部3が部品の装着動作に利用するためのデータを格納する装着データファイルa222を図4に示す。
図4は、本実施形態の装着データファイルaのデータ構成を模擬的に示した図である。
図示するように、装着データファイルa222は、プリント基板400上での部品の装着位置を示す「装着座標」を格納するためのフィールド2220と、フィールド2220に登録された「装着座標」に装着する部品が格納されているテープフィーダの搭載位置を示す「部品搭載位置」を格納するためのフィールドとを備えて1つのレコードが構成される。図示する例では、プリント基板400上の「座標(15.4,20.9)」の位置に、部品供給部4における「部品搭載位置」が「120」の位置に搭載されたテープフィーダ420により供給される部品を装着することを示している。
次に、部品装着装置1のハードウェア特性に関するデータを格納する装置データファイル223を図5に示す。
図5は、本実施形態の装置データファイルのデータ構成を模擬的に示した図である。
図示するように、装置データファイル223は、部品供給部4におけるパレット42の数を格納するためのフィールド2230と、パレット42の幅を格納するためのフィールド2231と、部品装着部3における吸着ノズルの数を格納するためのフィールド2232と、装置各部の所要動作時間算出用定数などの部品装着装置1のハードウェア特性を示すデータを格納するためのフィールド2233とを備える。図示する例では、部品装着装置1が、4つのパレットを備えており、各パレットの幅が「400.0mm」であることと、部品装着部3が12本の吸着ノズルを備えていることを示している。また、部品装着装置1の各部の所要動作時間算出するための定数が「xx(例えば、装置各部の所要動作時間の算出に必要なアクチュエータの最大回転速度、最大加速度等を示すデータ等)」であることを示している。なお、ここでは記載を省略するが、装置データ223として、さらに、各部の所要動作時間算出するために必要なその他のデータを格納するようにしてもよい。
次に、プリント基板400に装着する部品(装着部品)に関するデータを格納するための部品データファイル224を図6に示す。
図6は、本実施形態のチップマウント・システムが利用する部品データのデータ構成の一例を模擬的に示した図である。本実施形態では、部品装着装置1および部品装着設定装置12が、同じ部品データファイル224を利用する場合を例にする。
図示するように、部品データファイル224は、「部品種番号」を格納するためのフィールド2240と、「部品種コード」を格納するためのフィールド2241と、「部品高さ」を格納するためのフィールド2242と、「テーブル移動速度変更率」を登録するためのフィールド2243と、「テープ幅」を格納するためのフィールド2244と、「装着基準時間」を格納するためのフィールド2245とを備えて1つのレコードが構成される。
「部品種番号」は、部品の種類を示すデータである。「部品種コード」は、フィールド2240に格納された「部品種番号」の部品のコードを示すデータである。「部品高さ」とは、フィールド2240に格納された「部品種番号」により特定される部品の高さを示すデータである。「テーブル移動速度変更率」とは、フィールド2240に格納された「部品種番号」の部品をプリント基板400に装着した後の「XYテーブル52」の移動速度の変更率を示したデータである。「テープ幅」とは、フィールド2240に格納された「部品種コード」により特定される部品を収納するテープフィーダ420のテープ幅を示すデータである。「装着基準時間」とは、フィールド2240に格納された部品種コードにより特定される部品をプリント基板400に装着するための基準時間を示すデータである。
そして、図示するレコードは、「部品種番号」が「3」、部品種コードが「c1」、「部品の高さ」が「0.5mm」であり、さらに、その部品を搭載した後はXYテーブル52の移動速度を通常の70%に減速する必要があり、その部品が貼付されたテープフィーダ420のテープ幅が「10mm」であり、その部品を1点装着するのに要する時間の基準時間が「0.1秒」であることを示している。
次に、部品装着設定装置12の主記憶部132に記憶されている部品配置データファイルb1321について、図7を用いて説明する。
図7は、本実施形態の部品装着設定装置が利用する部品配置データファイルbのデータ構成を模擬的に示した図である。部品配置データファイルb1321は、利用者により搭載装置、搭載位置が指定されているテープフィーダ420を搭載する部品装着装置1を示す搭載装置番号と、その搭載位置番号と、その部品種番号とを格納するためのファイルである。
図示するように、部品配置データファイルb1321は、部品装着装置1を識別する「搭載装置番号」を格納するためのフィールド1300と、「搭載位置番号」を格納するためのフィールド1301と、「部品種番号」を格納するためのフィールド1302とを備えて1つのレコードが構成される。
図示する例では、「搭載装置番号」が「1」、「搭載位置」が「120」、「部品種番号」が「3」のレコードを示している。このレコードは、「搭載装置番号」が「1」の部品装装置1において、部品供給部4のパレット42の「搭載位置」が120の位置に、「部品種番号」が3の部品が格納されたテープフィーダ420を搭載することが利用者から指定されていることを示している。
次に、部品装着設定装置12の主記憶部132に記憶されている装着データファイルb1322について、図8を用いて説明する。
図8は、本実施形態の部品装着設定装置が利用する装着データファイルbのデータ構成を模擬的に示した図である。
図示するように、装着データファイルb1322は、プリント基板400上での部品の装着位置を示す「装着座標」を格納するためのフィールド1303と、フィールド1303の「装着座標」に装着する部品を特定する「部品種番号」を格納するためのフィールド1304とを備えて1つのレコードが構成される。
図示する例では、プリント基板400上の座標(15.4,20.9)の位置に、部品種3の部品を装着することを示している。
次に、生産ラインに関するデータを格納するラインデータファイル1323について、図9を用いて説明する。
図9は、本実施形態の部品装着設定装置が利用する、生産ラインに関するラインデータファイルのデータ構造を模擬的に示した図である。
図示するように、ラインデータファイル1323は、部品装着装置1を識別する「装置番号」を格納するためのフィールド1305と、フィールド1305に格納された「装置番号」の部品装着装置1の「IPアドレス」を格納するためのフィールド1306と、フィールド1305に格納された「装置番号」の部品装着装置1の部品装着装置1の「稼動状況」を示すデータを格納するためのフィールド1307とを備えて1つのレコードが構成される。図示する例では、装置番号が「1」、IPアドレスが「192.168.1.1」の稼動状態にある部品装着装置1により生産ラインが構成されていることを示している。
次に、本発明の実施形態のチップマウント・システムが行う部品装着設定処理について説明する。最初に、チップマウント・システムが行う部品装着設定処理の概略について、図10を用いて説明する。
図10は、本発明の実施形態の部品装着設定処理の手順を示すフローチャートである。
先ず、部品装着設定装置12の演算処理部13は、利用者からの、プリント基板400の装着データ(図8に示す装着データファイルb1322に格納するデータ)の入力を受け付け、その受け付けた装着データを主記憶部132の装着データファイルb1322に格納する(S1)。具体的には、入力手段136が利用者からの装着データの入力を受け付け、その受け付けたデータを主記憶部132の装着データファイルb1322に格納する。また、本ステップでは、入力手段136は、プリント基板400への部品装着処理に必要なデータ(「部品装着設定データ」)についても、装着データと共に受け付け、主記憶部132に格納する。「部品装着設定データ」には、部品装着設定処理に必要なパラメータ、各部品装着装置1の装置データ(図5に示すデータ)等が含まれる。なお、S1で受け付けるデータは、データベース装置11や他の外部装置(図示しない)からネットワーク10経由で取得してもよい。
また、主記憶部132には、上述した部品配置データファイルb1321、ラインデータファイル1323、部品データファイル224が格納されているものとする。
次に、演算制御部134は、S1で受け付けた装着データおよびパラメータ等を含む「部品装着設定データ」と、主記憶部132が記憶している各データファイル1321、1323、224とを用いて、各部品装着装置1の部品装着時間の最大値を小さくするように、各部品装着装置1に搭載するテープフィーダ420と、各部品装着装置1が装着する部品とを割当てる処理(工程割当設定処理)を行なう(S2)。なお、S2の処理は、部品装着設定処理プログラムb1325により行われる処理である。すなわち、S2の処理は、演算処理部2のCPU(図示しない)が部品装着設定処理プログラムb1325を実行することにより実現される。
具体的には、S2では、演算制御部134は、演算部131を制御して、工程割当設定処理を行い、その工程割当設定処理による割当結果を、通信手段14を介し、ネットワーク10を通じて、各部品装着装置1に送信する。なお、割当結果を送信された各部品装着装置1は、各々、自身に割り当てられたデータを受信し、受信したデータを対応するデータファイル(部品配置データファイルa221および装着データファイルa222)に格納する。
S2では、さらに、演算制御部134は、割当結果を送信した後、通信手段14を介し、ネットワーク10を通じて、装着部品を割当てた各部品装着装置1に対して、その部品装着装置1における部品装着時間を短くするように、プリント基板に装着する各部品の装着順序を設定(決定)し(以下、「装着順序設定処理」と呼ぶ)、その結果を、その部品装着装置1の装着データファイルa222に出力して格納するよう指示して、S3の処理に移行する。
なお、本処理ステップ(S2)で行われる工程割当設定処理の内容については、後述する図11〜12で詳細に説明する。
S3では、部品装着装置1の全体制御部6は、S2で送信された指示を通信手段7を介して受信し、演算処理部2に対して、部品装着設定処理プログラムa225に従い、装着順序設定処理を実行するよう指示する。演算処理部2は、上記の指示を受信し、演算部21を制御して装着順序設定処理を行う。演算処理部2は、装着順序設定処理が完了したら、通信手段14を介し、部品装着設定装置12の演算制御部134に、完了した旨を報告する。そして、部品装着設定装着装置12の演算制御部134が、部品装着装置1からの「装着順序設定処理が完了した旨の報告」を受け付けたら、S4の処理に進む。ここで、各部品装着装置1における装着順序設定処理は、各部品装着装置1において、同時並行で実行することも可能である。なお、S3で行われる装着順序設定処理の具体的な内容は、後述する図13で説明する。
S4では、演算制御部134は、通信手段14を介し、ネットワーク10を通じて、装着部品を割当てた各部品装着装置1に対して、その部品装着装置1における部品装着時間を短くするように、その部品装着装置1に割当てられたテープフィーダ420の配置(部品供給台における部品供給部材の搭載位置)を設定(決定)し(以下、部品配置設定処理と呼ぶ)、その結果を、部品装着装置1の部品配置データファイルa221に出力して格納するよう指示する。
部品装着装置1の全体制御部6は、上記の指示を通信手段7を介して受信し、演算処理部2に対して、部品装着設定処理プログラムa225に従い、上記部品配置設定処理を実行するよう指示する。演算処理部2は、上記の指示を受信し、演算部21を用いて、部品装着装置1における部品配置設定処理を行う。演算部21は、部品配置設定処理が完了したら、通信手段14を介して、部品装着設定装置12の演算部131に、完了した旨を報告する。ここで、各部品装着装置1における部品配置設定処理は、各部品装着装置1において、同時並行で実行することも可能である。なお、S4で行われる部品配置設定処理の具体的な内容については、後述する図14で説明する。
次に、演算制御部134は、ネットワーク10を通じて、部品装着装置1から部品配置データファイルa221及び装着データファイルa222に格納した部品装着設定処理結果を取得し、出力手段135に対して表示等の出力を行う(S5)。
次に、図10に示したS2の工程割当処理の具体的な手順について、図11を用いて説明する。
図11は、本実施形態の工程割当設定処理を説明するためのフローチャートである。
図示する工程割当設定処理とは、各部品装着装置1の部品装着時間の最大値を小さくするために行なう処理である。
先ず、演算制御部134は、入力手段136を介して、利用者からの工程割当処理の対象のプリント基板の指定を受付け、その指定されたプリント基板に対応するデータファイル1321〜1323、224、および、S1で受け付けたパラメータ等を含む「部品装着設定データ」を読み込み(S6)、S7に進む。
S7では、演算制御部134は、工程割当を探索するための数理計画モデル・データを作成する。本実施形態では、作成する数理計画モデルを特に限定しないが、例えば、「変数」、「制約条件を表現した数式(以下、制約式と呼ぶ)」、および「目的を表現した数式(以下、目的関数と呼ぶ)」から成る数理計画モデルを用いる場合を例にする。
数理計画モデルには、例えば、「変数」として、部品装着装置mのパレット番号pに部品種bの部品を格納するテープフィーダ420を搭載する場合に「1」、それ以外の場合に「0」となる「0−1変数Xm,p,b」と、部品装着装置mがプリント基板上の基板エリアa(図12参照)に部品種bの部品を装着する点数を示す「0−1変数Sm,a,b」とを用いる。
また、「制約式」として、例えば、「全てのパレットにおいて、搭載するテープフィーダ420の幅の総和が、パレット幅を超えてはならない」との条件を示した制約式と、「ユーザにより割当先のパレットが決まっているテープフィーダ420は、指定のパレットに必ず割当てる」との条件を示した制約式と、「プリント基板に装着するよう指示された部品は、全て装着しなければならない」との条件を示した制約式とを用いるようにする。また、「目的関数」として、例えば、「各部品装着装置の部品装着時間の最大値を最小化する」という目的を表現した目的関数を用いる。なお、「制約式」および「目的関数」は、予め定めておくようにしてもよいし、図10のS1において、利用者から受け付けるようにしてもよい。
ここで、「変数」に用いた「m」は、部品装着装置毎に割り当てられた値(例えば、1以上の自然数)であり、「p」は、各部品装着装置1のパレット毎に割り当てられた値(例えば、1以上の自然数)である。また、上記「b」は、部品種毎に割り当てられた値(例えば、1以上の自然数)である。基板エリアaとは、プリント基板上の領域であって、プリント基板を所定数に分割した領域をいう(図12参照)。
続くS8では、演算部131は、S7で作成された数理計画モデルの最適解を、分枝限定法を用いて探索する。すなわち、各部品装着装置1の部品装着時間(MTm)の最大値を小さくなるように、各部品装着装置1に割り当てる部品種および部品数(Sm、a、b)を求める。
なお、S8では、各部品装着装置1の部品装着時間の最大値を評価している。しかし、テープフィーダ配置及び部品装着順序は、S2の後に行われるS3、4により設定されるためS8の段階では、最終的な部品装着時間を確定できない。そのため、S8では、部品装着時間の概算値を算出し、その概算値により部品装着時間の最大値を評価する。
ここで、部品装着時間の概算値の算出方法について説明する。本実施形態では、演算処理部13は、以下に示す(式1)を用いることにより部品装着時間の概算値を算出する。(式1)は、各部品装着装置1に割当てられた部品種毎、基板エリア毎の部品装着点数を示す変数「Sm,a,b」から、部品装着時間の概算値を算出する数式である。
上記の(式1)式は、部品装着動作に要する時間を、部品1点を装着するのに要する時間と部品装着点数とを掛け合わせることにより求め、それに、部品を装着せず装着ヘッドがプリント基板に対して相対的に移動するのに要する時間(以下、基板エリア移動時間と呼ぶ)の概算値を加えることにより、部品装着時間の概算値を算出するものである。なお、部品1点を装着するのに要する時間は、部品データファイル224に格納されている。基板エリア通過時間ATm(変数)は、以下の算出方法により求めることができる。
図12は、本実施形態の工程割当設定処理における基板エリア移動時間の概算算出方法を説明するための図である。なお、本実施形態では、プリント基板400を複数の領域(以下、「基板エリアa(a=0、1、2、…n)」と呼ぶ)に分割して考える。
図示する装着対象エリアとは、各部品装着装置1に割当てられた装着部品100のうち、基板左端及び右端に最も近い装着部品100により定められる基板エリアの集合である(図示する例では、基板エリア1〜5が装着対象エリアとなる)。
ここで、部品装着装置mにおいて、基板エリアaが、装着対象エリアに含まれる場合に「1」、そうでない場合に「0」とする「0−1変数(δam,a)」と、部品装着装置mにおいて、基板エリアaに、ユーザにより指定された基準値(本実施形態では「3」)以上の装着部品が割当てられた場合に「1」、そうでない場合に「0」とする「0−1変数(δa′ m,a)」とを導入する。例えば、図示する例では、「基板エリア0」は、装着対象エリアではなく、装着部品100が割り当てられていないことを想定しているので、(δam,a)および(δa′ m,a)は、共に「0」となる。また、例えば、「エリア1」は、装着対象エリアであり、装着部品100が4個割り当てられていること(3個以上割り当てられていること)を想定しているので、(δam,a)および(δa′ m,a)は、共に「1」となる。また、「エリア2」は、装着対象エリアであり、装着部品が1個割り当てられていること(3個未満のため)を想定しているので、(δam,a)が「1」になり、(δa′ m,a)が「0」となる。
基板エリア移動時間ATm(変数)は、これらの変数を用いて、(式2)で求める。なお、(式2)の中のATa(定数)は、S1(図10)でパラメータの1つとして、入力するようにしてもよいし、予め主記憶部132に格納しておくようにしてもよい。
なお、本実施形態では、プリント基板400を一方向に分割して基板エリア移動時間を求めるようにしたが、これは例示に過ぎない。例えば、プリント基板400を格子状に分割しても本実施形態を適用することができる。
また、上述の(式1)は、1次式で表現可能な簡易なものであるため、(式1)を用いて目的関数を表現すれば、前記の制約式、目的関数は全て1次式で表現可能であり、結果として、分枝限定法などの解法が確立されている混合整数計画問題として表すことができる。
図11の説明に戻る。S9では、演算処理部13は、S8で探索された解に従い、装着する部品を各部品装着装置1に割当て、割当て結果を各部品装着装置1の部品配置データファイルa221、装着データファイルa222に出力して格納する。すなわち、演算処理部13は、割当て結果を利用して、部品装着装置1毎に、割り当てた部品を示すデータ(部品種番号)、その部品を格納するテープフィーダ420を示すデータ、その部品の基板400上の部品装着座標、およびテープフィーダ420の搭載位置番号が含まれる設定データを生成する。演算処理部13は、通信手段14を介して、その生成データを対応する部品装着装置1に送信する。部品装着装置1は、部品装着設定装置12からの設定データを受信して、受信したデータを部品配置データファイルa221および装着データファイルa222の対応するフィールドに格納する。
なお、本実施形態では、部品装着点数を変数としているため、プリント基板上から、最適解で示される部品装着点数の数だけ、部品を夫々の部品装着装置1に割当てる必要がある。割当方法としては、座標原点から近い順に部品装着点数分だけ部品を選択する方法などがある。
また、この段階では、テープフィーダ420を搭載するパレット42は、算出されるが、パレット上での搭載位置までは算出されない。そのため、搭載するテープフィーダ420に対して、適当に搭載位置を割当てる必要がある。本実施形態では、最終的な搭載位置は、図10に記載のS3で設定されるため、この段階では位置番号が重複することがないように、順番に搭載位置番号を割当ててやれば良い。
続いて、図10に示したS3の装着順序設定処理の具体的な手順について、図13を用いて説明する。なお、以下の処理は、既存技術により実現可能であるため概略だけ示す。
図13は、本実施形態の装着順序設定処理を説明するためのフローチャートである。なお、図示する装着順序設定処理(S3)は、図10のS2において、各部品装着装置1に割当てられた装着部品の装着順序を割り当てる処理である。また、S3の処理は、装着部品を割り当てられた部品装着装置1毎に行われる。
まず、部品装着装置1の演算制御部24は、部品配置データファイルa221、および、装着データファイルa222を読み込む(S10)。
次に、演算制御部24は、装着順序の初期解を生成し、暫定解として設定する。本実施形態では、初期解の生成法としてNearest Neighbor法を用いる(S11)。
続くS12では、演算制御部24は、暫定解の全ての近傍解を候補解として生成したか否かを判定する。演算制御部24は、真であれば(全ての近傍解を候補解として生成したと判定した場合)S18の処理に進み、偽の場合(全ての近傍解を候補解として生成していないと判定した場合)、S13の処理に進む。
S13では、演算制御部24は、暫定解に若干の変更を施した候補解(近傍解)を生成する。本実施形態では、候補解の生成法として、2-opt法を用いる。
続くS14では、演算制御部24は、暫定解、候補解の実装時間を評価する。
続く処理ステップS15では、演算制御部24は、候補解の方が暫定解よりも実装時間が短いか否かを判定する。そして、真の場合(候補解の方が暫定解よりも実装時間が短い場合)にはS16の処理に進み、偽の場合(候補解の方が暫定解よりも実装時間が長い場合)にはS12の処理に戻る。
S16では、演算制御部24は、候補解を新たな暫定解としてS17に進む。
S17では、演算制御部24は、終了判定を行う。終了判定の判定条件については特に限定しないが、例えば、判定条件として、「累積計算時間が基準値」を超えたか否かを用いるようにしてもよい。判定の結果が、真であれば、S18の処理に進み、偽の場合にはS12の処理へ進む。なお、終了の判定条件は、事前に利用者により、部品装着設定装置12の入力手段136を用いて設定される(或いは、利用者は、部品装着装置1の入力手段26を利用して判定条件を設定する)。
次に、処理ステップS18では、演算制御部24は、暫定解を装着データファイルa222に出力して格納する。
続いて、図10に示したS4の部品配置設定処理の具体的な手順について、図14を用いて説明する。なお、以下の処理は、既存技術により実現可能であるため概略だけ示す。
図14は、本実施形態の部品配置設定処理を説明するためのフローチャートである。なお、図示する部品配置設定処理(S4)では、図10に示すS2において、各部品装着装置1に割当てられたテープフィーダ420をパレット42に搭載する位置を、その部品装着装置1毎に設定する処理が行われる。
まず、演算制御部24は、部品配置データファイルa221、及び、装着データファイルa222を読み込む(S19)。
次に、演算制御部24は、部品配置の初期解を生成し、暫定解として設定する(S20)。本実施形態では、初期解の生成法について特に限定しない。例えば、初期解の生成方法として、部品配置データファイルa221に格納されている部品配置を用いる方法を採用するようにしてもよい。
続いて演算制御部24は、S20で求めた暫定解の全ての近傍解を候補解として生成したか否かを判定する(S21)。演算制御部24は、真であれば(全ての近傍解を候補解として生成したと判定した場合)S27の処理へ進み、偽の場合(全ての近傍解を候補解として生成していない判定した場合)、S22の処理に進む。
S22では、演算制御部24は、暫定解に若干の変更を施した候補解(近傍解)を生成する。本実施形態では、候補解の生成法として、2-opt法を用いる。
続くS23では、演算制御部24は、暫定解、候補解の実装時間を評価する。
続く処理ステップS24では、演算制御部24は、候補解の方が暫定解よりも実装時間が短いか否かを判定する。真の場合(候補解の方が暫定解よりも実装時間が短い場合)にはS25の処理に進み、偽の場合には(候補解の方が暫定解よりも実装時間が長い場合)S21の処理に戻る。
S25では、演算制御部24は、候補解を新たな暫定解とする。
続くS26では、終了判定を行う。終了判定の判定条件については特に限定しないが、例えば、判定条件として、「累積計算時間が基準値」を超えたか否かを用いるようにしてもよい。判定の結果が、真であればS27へ進み、偽の場合は、S21の処理に戻る。なお、終了の判定条件の設定は、図13のS17で説明した内容と同じである。
次に、S27では、演算制御部24は、暫定解を部品配置データファイルa221に出力し格納する。
その後は、ユーザが設定表示された部品配置データに従って、各部品装着装置1の各パレットに、各種部品のテープフィーダ420を配列する。次に、図1に示された入力手段26もしくは、図示しないCPUからの指示を受け、各種データを演算処理部2から、全体制御部6を介して、部品装着装置1を構成する部品装着部3、部品供給部4、及び、基板位置決め部5に提供することにより、プリント基板に部品が装着されることとなる。
以上説明したように、本実施形態によれば、プリント基板上の部品装着位置が広く分布している場合にも、各部品装着装置1における部品装着時間が均衡する工程割当を行う手順を有するため、高い生産スループットを実現することができる。
また、本実施形態によれば、簡易な部品装着時間概算式を利用することにより、解法が確立している1次方程式系の最適化問題として問題を表現できるため、実用時間内に計算を終了することができる。
なお、本発明は、以上で説明した実施形態に限定されるものではなく、本発明の要旨の範囲内において種々の変形が可能である。例えば、上記実施形態では、複数の部品装着装置1を有するシステムを例にしたが、部品を基板に装着するための部品装着手段(部品装着部3および基板位置決め部5)を複数有する構成の部品装着装置にも本実施形態を適用することが可能である。この場合、図10のS2で、各部品装着装置1に部品を割り当てるのではなく、各部品装着手段に装着する部品を割り当てるようにすればよい。
また、本実施形態の部品装着設定装置12が行う工程割当設定処理を部品装着装置1で行うようにしてもかまわない。或いは、部品装着設定装置12が行う工程割当設定処理の機能を、複数の部品装着装置1の中の1台の装置に持たせるようにしてもよい。