以下、添付図面を参照して、本発明を実施するための最良の形態について説明する。
まず、図1及び図2を参照して、図示の実施形態に係る表面実装機1は、平面視略矩形の基台11を備えている。基台11には、電子部品を実装するための作業エリアとしての実装エリアと、この実装エリアの上流側に設定される待機エリアと、実装エリアの下流側に設定される出口エリアとが直線状に直列に設定されている。以下の説明では、各エリアが配列されている水平方向を仮にX軸方向とし、このX軸方向と直交する水平方向をY軸方向とし、鉛直方向をZ軸方向とする。本実施形態では、基台11のX軸方向に沿って基板搬送装置2が配設され、プリント基板Wは上流側となる−X方向から下流側となる+X方向に搬送される。
周知の通り、基板搬送装置2は、一対のコンベア2a、2bを備えているとともに、図略の搬送モータと、エンコーダとを備えている。コンベア2a、2bは、搬送モータによって駆動され、プリント基板Wを上流側から下流側に搬送する。また、コンベア2a、2bは、少なくとも一方(図示の例では、コンベア2a)が固定側であり、他方が可動側(図示の例では、コンベア2b)になっている。可動側のコンベア2bは、Y軸方向に移動可能となっており、図略のモータによって、前後に駆動される。これにより、基板搬送装置2は、搬送可能なプリント基板Wの搬送幅を変更することができるようになっている。一対のコンベア2a、2b間には、バックアップ装置20が配置されている。
図2を参照して、バックアップ装置20は、バックアッププレート21と、バックアッププレート21を昇降駆動する昇降装置24と、バックアッププレート21に植設される複数のバックアップピン30とを備えている。
バックアッププレート21は、X軸方向にやや細長の長方形に形成されており(図5、図6参照)、例えばSK4等の磁性体から形成されている。バックアッププレート21には、上下方向に貫通する複数の装着孔23がX−Y方向に一定の間隔でマトリックス状に穿設されており、これらの装着孔23に選択的にバックアップピン30を装着することによってバックアッププレート21上の任意の位置にバックアップピン30を植立させ得るように構成されている。
このバックアッププレート21は、昇降装置24の固定台25上に対して複数のボルトで固定されており、昇降装置24の駆動によりこの固定台25と一体に昇降するように構成されている。
次に、バックアップピン30は、プリント基板Wをその下側から支持する構造体である。バックアップピン30は、円柱状の円筒体31と、円筒体31の上部に突出する支持軸32と、円筒体31の反対側に突出する装着軸33とを同心且つ一体に備えている。装着軸33をバックアッププレート21の装着孔23に挿入することにより、円筒体31がバックアッププレート21に着座し、バックアップピン30は、全体としてバックアッププレート21に植立される。そして、植設されたバックアップピン30は、支持軸32の先端でプリント基板Wを支持するように構成されている。なお、バックアップピン30の具体的な構造は、例えば本件出願人が先に提案している特許第4156936号公報に詳細に記載されているので、その説明については省略する。
次に、図1に示すように、実装エリアにおいて、基板搬送装置2の両側には、それぞれ部品供給装置40が設けられる。各部品供給装置40は、複数のテープフィーダ41を備えている。各テープフィーダ41は、それぞれが、IC、トランジスタ、コンデンサ等の小片状の電子部品EC(図2参照)を所定間隔おきに収納したテープを備えている。このテープは、繰出し機構により、間欠的に下流側に送給される。送給されたテープに収納された電子部品ECは、下流端の部品供給位置に供される。
これら部品供給装置40のうち一方側の部品供給装置40(図1では下側の部品供給装置40)と可動側のコンベア2bとの間には、バックアップ装置20の側方に並ぶピンステーション45が配置されている。ピンステーション45は、バックアップ装置20で使用されるバックアップピン30を収納するための装置である。ピンステーション45の上部には、複数の装着孔46が形成されている(図5、図6参照)。装着孔46は、バックアップ装置20の装着孔23と同様に、バックアップピン30が挿抜可能な諸元に設定されている。
次に、基台11上には、X軸方向に沿って延びるヘッドユニット支持部材50が設けられる。ヘッドユニット支持部材50は、Y軸方向に延びる一対の固定レール51により、バックアップ装置20の上方でY軸方向に移動可能に支持されている。また、ヘッドユニット支持部材50は、Y軸サーボモータ52によりボールねじ機構53を介してY軸方向に駆動される。ヘッドユニット支持部材50の前面には、ガイドレール54が上下に対をなして固定されている(図2参照)。このガイドレール54を介して、ヘッドユニット支持部材50は、ヘッドユニット60をX軸方向に移動可能に担持している。さらに、ヘッドユニット支持部材50は、X軸サーボモータ55とボールねじ機構56とを備えている。これらの機構により、ヘッドユニット60は、X軸方向に駆動されるようになっている。Y軸サーボモータ52、X軸サーボモータ55には、それぞれエンコーダ52a、55aが設けられている。これらエンコーダ52a、55aは、後述する制御装置100に検出信号を出力する。
ヘッドユニット60は、部品装着用の複数(当実施形態では8本)の吸着ヘッド61を備えている。各吸着ヘッド61は、X軸方向に沿って一列に配設されている。また、各吸着ヘッド61は、図略のZ軸サーボモータを駆動源とする昇降駆動手段およびR軸サーボモータを駆動源とする回転駆動手段により、それぞれヘッドユニット60のフレーム60aに対してZ軸方向(上下方向)の移動及びR軸(ノズル中心軸)回りの回転が可能となっている。さらに、図2に示すように、各吸着ヘッド61の下端にはノズル62が設けられている。部品吸着時において、ヘッドユニット60は、各ノズル62を部品供給装置40の部品供給位置に臨ませ、負圧により、供給されている電子部品ECを吸着するように構成されている。
ヘッドユニット60には、ピン挿抜手段としてのピン挿抜機構70と、ピンセンサ80(ピン検知手段)とが搭載されている。
図2に示すように、ピン挿抜機構70は、ヘッドユニット60の一端部分に設けられており、バックアップピン30を掴持するチャック71を有している。チャック71は、一対のアーム72、73と、これらアーム72、73を駆動するエアシリンダ74とを備えている。チャック71は、横断面がV字型に形成された爪72a、73aを備えている。エアシリンダ74の作動により、チャック71は、両アーム72、73が接近したチャック状態と、アーム72、73が互いに離間した開放状態とに切り換えられるようになっている。そして、前記チャック状態において、両アーム72、73の前記爪72a、73aによりバックアップピン30をその径方向両側から掴持するように構成されている。
前記チャック71は、一対のエアシリンダ75、76によりヘッドユニット60に対して昇降可能に設けられている。すなわち、ヘッドユニット60のフレーム60aには可動部材77が昇降可能に装着されており、この可動部材77が前記フレーム60aに固定された一方側のエアシリンダ75により昇降駆動されるとともに、前記可動部材77に他方側のエアシリンダ76が固定され、このエアシリンダ76のピストンロッドに載置台78を介して前記チャック71が固定されている。バックアップピン30を引き込む駆動状態において、両エアシリンダ75、76は、チャック71を上昇端La(実線の位置)に駆動する。また、バックアップピン30を引き込む駆動状態において、一方のエアシリンダ75がロッドを突出し、かつ他方のエアシリンダ76がチャック71を上昇端Laから下降端Lb(仮想線の位置)の間に設定される昇降ストロークELの中間位置に降下させる。さらにバックアップピン30を植設する動作において、両エアシリンダ75、76は、チャック71を上記中間位置から下降端Lbに駆動する。そして、前記バックアップピン30が上記中間位置から下降端Lbに移動すると、チャック71によりバックアップピン30を把持し得るように構成されている。なお、この構成では、二つのエアシリンダ75、76の作動により段階的にチャック71を昇降させるように構成しているが、勿論、一つのエアシリンダでチャック71を上昇端Laと下降端Lbとの間で移動させるように構成してもよい。
一方、ピンセンサ80は、例えば光の照射部と受光部とを有した周知のビームセンサ等からなり、バックアッププレート21上に植設されているバックアップピン30をその上側から検知するように構成されている。
次に、図3を参照して、制御装置100は、マイクロプロセッサ等で具体化される演算処理部101を備えている。演算処理部101のバス102には、モータ制御部103、空気圧制御部104、センサ制御部105、入出力制御部106、並びに記憶装置110が接続されている。
モータ制御部103は、各種モータのコントローラ、ドライバーで構成されている。モータ制御部103には、表面実装機1の各種モータが接続されている。モータ制御部103に接続されている装置には、上述した基板搬送装置2、バックアップ装置20、及び部品供給装置40の各種モータ、並びにY軸サーボモータ52、X軸サーボモータ53が含まれている。
空気圧制御部104は、空気圧供給源からの空気圧を制御して空気圧により駆動される各種ディバイスを制御するコントローラ、ドライバーで構成されている。空気圧制御部104には、ヘッドユニット60の各吸着ヘッド、ピン挿抜機構70のエアシリンダ75、76が含まれる。
センサ制御部105は、センサ等のコントローラ、ドライバーで構成されている。センサ制御部105には、センサ類91、エンコーダ類92が接続されている。センサ類91には、上述したピンセンサ80等が含まれている。また、エンコーダ類92には、Y軸サーボモータ52のエンコーダ52a、及びX軸サーボモータ55のエンコーダ55aが含まれている。
入出力制御部106は、入出力を司るコントローラ、ドライバーで構成されている。入出力制御部106には、各種情報をオペレータに表示する表示ユニット93と、ポインティングディバイス等で具体化される入力ユニット94が接続されている。
記憶装置110は、ROM、RAM、補助記憶装置等で具体化されるメモリアーキテクチャアの総称である。記憶装置110は、実装プログラム記憶部111、エリア変更プログラム記憶部112、レイアウト変更順位決定プログラム記憶部113、並びにデータ記憶部114等を備えている。
各プログラムを実行するため、データ記憶部114には、図4に示すデータ群が含まれている。
次に、図4を参照して、データ記憶部114に記憶されているデータの詳細について説明する。
図4を参照して、データ記憶部114には、データベース120が記憶されており、このデータベース120のデータが、図略のデータベースマネジメントシステム(DBMS)によって、制御装置100の制御に供されるようになっている。
データベース120は、基板テーブル121、バックアップエリアテーブル122、ピン配置テーブル123、ピンステーションテーブル124、レイアウト変更テーブル125、現状エリアテーブル126を含んでいる。これらのテーブル121〜126は、実体(エンティティ)と呼称されるデータの集まりである。テーブル121〜126は、一般にアトリビュートと呼称される列(以下、アトリビュートは{}でくくって示す)と、タプルと呼称される行(以下、タプルの値は「」でくくって示す)とで構成されるマトリックス状に論理的に構成される。アトリビュートとは、テーブル121〜126に設定される項目(例えば、{基板品番}{エリア番号}{ピン本数}等)のことをいう。また、タプルとは、行ごとの情報(インスタンス)の集まりのことをいう。また、図において、(PK)は主キーを、(FK)は外部キーを、それぞれ表わしている。主キーは、テーブル121〜126内において、行を一意に識別する属性である。外部キーは、主キーと同じ値を持つことによって、当該主キーを有するテーブルのデータを参照するためのものである。さらに、図中の矢印は、テーブル間の関係(リレーションシップ)を表わしており、矢印の終点側のテーブルにある外部キーが矢印の起点側のテーブルにある主キーを参照していることを示している。
基板テーブル121は、プリント基板Wに関する情報を保存するテーブルである。基板テーブル121は、{基板品番}を主キー属性として備えている。
バックアップエリアテーブル122は、バックアップ装置20に設定されるバックアップエリアに関する情報を保存するテーブルである。バックアップエリアテーブル122は、{基板品番、エリア番号、ピン本数}を属性として備えている。このうち、{エリア番号}は、設定されるエリア番号を一意に特定する主キーである。ここで、図示の例では、外部キーに{基板品番}が設定され、エリア番号ごとにプリント基板Wの種類を参照することができるようになっている。したがって、バックアップエリアテーブル122には、プリント基板Wごとにバックアップエリアの情報を保存することができるようになっている。{ピン本数}は、設定されるバックアップエリアで使用されるバックアップピン30の本数を保存する属性である。例えば、基板品番が「BD0123」というプリント基板Wを保持するため、「BD0123−10」というバックアップエリアが設定され、そのバックアップエリア「BD0123−10」では、8本のバックアップピン30が使用される場合、{基板品番、エリア番号、ピン本数}の各値は、「BD0123」「BD0123−10」「8」となる(図5(A)参照)。同様に、基板品番が「BD0124」というプリント基板Wを保持するため、「BD0124−10」というバックアップエリアが設定され、そのバックアップエリア「BD0124−10」では、5本のバックアップピン30が使用される場合、{基板品番、エリア番号、ピン本数}の各値は、「BD0124」「BD0124−10」「5」となる(図5(B)参照)。
ピン配置テーブル123は、バックアップエリアに関する明細データ(特に、ピン番地)を保存するためのテーブルである。ピン配置テーブル123は、{エリア番号、ピン番地、配列種別}を属性として備えている。このうち、{ピン番地}は、バックアップエリアテーブル122に設定されるバックアップエリアごとにピン番地を特定するための主キー属性である。{ピン番地}は、バックアッププレート21に形成された各装着孔23を特定するための番地を保存するための属性である。例えば、基板品番が「BD0123」というプリント基板Wを保持するため、「BD0123−10」というバックアップエリアが設定されている場合、このバックアップエリアでは、図5(A)に示す黒丸のピン番地の係る装着孔23が使用されるとする。この場合、{ピン番地}には、黒丸の各ピン番地が入力される。これにより、プリント基板Wごとに装着孔23を特定し、装着孔23ごとに、種々の情報を保持することが可能となる。{ピン番地}の具体的な値は、バックアップエリア、X座標、Y座標を特定する3次元変数を用いてもよい。
また、ピン配置テーブル123は、{配列種別}を備えている。{配列種別}には、ピン番地ごとにバックアップピン30の要否を特定する値が設定される。本実施形態において、配列種別は、「PinPos」「PinNG」「PinNeut」の3種類である。
「PinPos」は、当該バックアップエリアにおいて、バックアップピン30の装着が必要であることを示す値である。例えば、図6に例示したバックアップエリア「BD0123−10」では、図の二重丸で示すピン番地が「PinPos」に設定される。
「PinNG」は、当該バックアップエリアにおいて、バックアップピン30を装着できないことを示す値である。この値は、基板搬送装置2のコンベアとバックアップピン30とが干渉するおそれのあるピン番地、または、プリント基板Wの裏面に実装された電子部品ECとバックアップピン30とが干渉するおそれのあるピン番地に対して設定される。例えば、図6に例示したバックアップエリア「BD0124−10」では、図のバツ印で示すピン番地が「PinNG」に設定される。
「PinNeut」は、当該バックアップエリアにおいて、バックアップピン30の存否が不問とされることを示す値である。例えば、図6に例示したバックアップエリア「BD0124−10」では、図の白丸で示すピン番地が「PinNeut」に設定される。「PinNeut」が設定されたピン番地には、バックアップピン30をストックすることも、バックアップピン30を省略することも可能である。この「PinNeut」に設定されたピン番地が、本発明の「中立ピン番地」の一例である。
なお、上述した配列種別のうち、データ処理の運用方法によっては、「PinNG」を「PinNeut」に分類することも可能である。本実施形態では、後述するフローチャートにおいて、バックアップエリアの変更時に基板搬送装置2の可動側のコンベア2bの移動ストロークST内に位置する装着孔23のうち、移動後に開放される装着孔23も「PinNeut」に設定することとしている。
図5及び図6を参照して、図5(A)から図5(B)にバックアップエリアが変更される場合、基板搬送装置2のコンベア2bは、図6の仮想線の位置から実線の位置に後退する。この移動ストロークSTにおいて、バックアップピン30は、基本的には、移動の障害となるので、除去される必要がある。よって、これらの装着孔23は、本来は「PinNG」に区分されるべきものである。しかしながら、移動後は、コンベア2bの前方のエリアにおける装着孔23(図6の逆三角形で示す装着孔23)では、バックアップピン30を載置することが可能となる。そこで、本実施形態では、コンベア2bの移動前後でバックアップピン30の挿抜が不要な装着孔23に係る「PinNeut」のピン番地(図6の白丸で示す装着孔23のピン番地)を優先的に選定する一方、可動側のコンベア2bの移動中、または移動後に装着されることを条件として、図6の逆三角形で示す装着孔23をも「PinNeut」に設定することとしているのである。
再び図4を参照して、ピンステーションテーブル124は、ピンステーション45のピン番地に関する情報を保存するためのテーブルである。ピンステーションテーブル124には、{ピン番地、ピンフラグ}を属性として備えている。{ピン番地}は、ピン配置テーブル123の{ピン番地}と同等のものである。{ピンフラグ}は、バックアップピン30の存否を識別するための値を保存する属性である。{ピンフラグ}は、例えば、「True」と「False」の二者択一型(Boolean型)のデータを保存する。図示の例において、「True」は、バックアップピン30が装着されている状態、「False」は、バックアップピン30が抜き取られている状態を示す。
次に、レイアウト変更テーブル125は、あるバックアップエリアを別のバックアップエリアに変更する場合に、移動元のピン番地と移動先のピン番地とを管理するためのテーブルである。レイアウト変更テーブル125は、移動元のピン番地を特定するための{移動元ピン番地}と移動先のピン番地を特定するための{移動先ピン番地}とをそれぞれ備えており、これらが主キーを構成している。さらに、レイアウト変更テーブル125には、ピン配置テーブル123から移動元のピン番地を特定するためのリレーションシップと、移動先のピン番地を特定するためのリレーションシップとが設定されている(矢印2本で表記)とともに、ピンステーションテーブル124からも、移動元のピン番地を特定するためのリレーションシップと、移動先のピン番地を特定するためのリレーションシップとが設定されている(矢印2本で表記)。従って、バックアップエリア内でのバックアップピン30の移動と、バックアップエリアとピンステーション45との間でのバックアップピン30の移動とを網羅して記憶することが可能となっている。さらに、レイアウト変更テーブル125は、{移動時間}を備えている。移動時間には、ある移動元からある移動先にバックアップピン30を移動させる場合に要する時間を表示する値が保存される。この{移動時間}は、値として保存するのではなく、演算で算出される値に係る属性(導出属性)であってもよい。また、レイアウト変更テーブル125は、図6の逆三角形で示す「PinNeut」を他の「PinNeut」と区別するため、{移動フラグ}を備えている。移動フラグは、例えば、「True」と「False」の二者択一型(Boolean型)のデータを保存する。図示の例において、「True」は、可動側のコンベア2bの移動中、または移動後に装着されることが装着時の条件であることを示し、「False」は、上記条件がないことを示す。
次に、現状エリアテーブル126は、トランザクションデータを保存するためのテーブルである。レイアウトの変更処理を実行する際、本実施形態では、事前に現時点でのバックアップピンの配列情報を取得することとしている(図7参照)。このトランザクション処理の際、取得したデータを保存するために現状エリアテーブル126が用いられる。現状エリアテーブル126は、{ピン番地、ピンフラグ}を備えている。{ピン番地}は、現状エリアテーブル126の主キーである。{ピン番地}は、ピン配置テーブル123の{ピン番地}と同じ型のデータであり、このデータを参照することにより、あるピン番地の装着孔23にバックアップピン30が現在、装着されているか否かを識別することができる。また、現状エリアテーブル126にも、図6の逆三角形で示す「PinNeut」を他の「PinNeut」と区別するため、{移動フラグ}が設けられている。{移動フラグ}は、レイアウト変更テーブル125と同じ二者択一型(Boolean型)のデータを保存する属性である。
次に、本実施形態に係るレイアウト変更順位決定プログラムの動作について説明する。
まず、説明の前提として、図5(A)に示すように、基板品番が「BD0123」というプリント基板Wに設定された「BD0123−10」というバックアップエリアを図5(B)に示すように、基板品番が「BD0124」というプリント基板Wに設定された「BD0124−10」というバックアップエリアに変更する場合について説明する。
この「BD0124−10」というバックアップエリアにおいて、各ピン番地の配列種別は、図6に示す通りであり、その配列種別は、記憶装置110のデータ記憶部114に記憶されているピン配置テーブル123に保存されている。また、変更前の「BD0123−10」というバックアップエリアにおけるバックアップピン30の存否がピン配置テーブル123に、ピンステーション45における各ピン番地のバックアップピン30の存否がピンステーションテーブル124に、それぞれ保存されている。そこで、これらの情報に基づいて、「BD0124−10」というバックアップエリアのピン番地ごとに、バックアップピン30の移動元を決定することにより、好適な移動手順を決定することが可能となる。
図7を参照して、制御装置100は、まず、現状のバックアップピン30の配列情報を取得し、現状エリアテーブル126に保存する(ステップS1)。バックアップピン30の配列情報を取得するための具体的な手法は、ピンセンサ80によって、全てのピン番地を走査し、ピン番地ごとに現状エリアテーブル126の{ピンフラグ}に値を保存することにより、実現される。なお、ピンセンサ80を用いて、ピン番地を走査する具体的な手法については、例えば本件出願人が先に提案している特許第4156936号公報に詳細に記載されているので、その説明については省略する。但し、本実施形態においては、一部のピン番地について、{移動フラグ}の値が設定されるものを有するため、この時点で、移動側のコンベア2bの移動範囲に基づいて、移動ストロークST内にある一部のピン番地に係る、現状エリアテーブル126の{移動フラグ}の値が「True」に設定される。
次に、制御装置100は、カウンタ変数Cを1に初期化する(ステップS2)。このカウンタ変数Cは、変更後の「BD0124−10」というバックアップエリアにおけるピン番地を順番に特定するための値である。なお、カウンタ変数Cは、現実的には、X座標とY座標を示す二次元配列変数であり、X成分とY成分とが階層的に更新されるものであるが、煩雑を避けるため、ここでは、単純に一次元の実数として説明する。
次に、制御装置100は、ピン配置テーブル123と現状エリアテーブル126とを結合し、変更後に「PinPos」が設定されるピン番地であって、現在、バックアップピン30が装着されていないタプルをピン配置テーブル123から検索する(ステップS3)。そして、検索されたタプルの件数を変数Mに代入する(ステップS4)。なお、「結合」とは、既存のテーブル(ここでは、ピン配置テーブル123と現状エリアテーブル126)間の関係から、データをより解りやすい状態で参照できるようにすることをいう。ピン配置テーブル123は、バックアップピン30の配列情報を有しているが、何れのピン番地にバックアップピン30が現在装着されているかを識別することはできない。一方、現状エリアテーブル126は、個々のピン番地について、バックアップピン30の有無を識別する情報を持つことができるが、それが何れのバックアップエリアに対応しているかを識別することはできない。しかしながら、これらのテーブル123、126は、何れもピン番地を特定する属性{ピン番地}を有しているので、属性{ピン番地}同士を関係づけて、ピン配置テーブル123の全ピン番地について、現状エリアテーブル126からバックアップピン30の有無を参照する(このような参照の仕方を外部結合という)ことにより、バックアップピン30が装着されていないタプルをピン配置テーブル123から検索することとしているのである。
次いで、制御装置100は、ピン配置テーブル123と現状エリアテーブル126とを結合し、変更後に「PinNG」が設定されるピン番地であって、現在、バックアップピン30が装着されているピン番地に係るタプルをピン配置テーブル123から検索する(ステップS5)。そして、検索されたタプルの件数を変数Nに代入する(ステップS6)。
次いで、制御装置100は、変数Mの値が1以上であるか否かを判別する(ステップS7)。仮に、変数Mの値が1以上である場合、換言すれば、バックアップピン30が必要であるにも拘わらず、バックアップピン30が現時点では、装着されていないピン番地がある場合、制御装置100は、ステップS8以降の処理を実行する。
ステップS8において、制御装置100は、変数Nが1以上であるか否かを判別する。仮に、Nが1以上である場合、換言すれば、バックアップピン30を除去する必要があるにも拘わらず、バックアップピン30が現時点では、装着されているピン番地がある場合、制御装置100は、ステップS9以降の割当処理(一次割当処理)を実行する。ステップS9の割当処理において、制御装置100は、C番地に対し、「PinNG」が設定されているピン番地のうち、最も移動時間の短いピン番地をバックアップピン30の移動元ピン番地に設定し、C番地を当該バックアップピン30の移動先ピン番地に設定して、これらの設定情報をレイアウト変更テーブル125に保存する。これにより、C番地の装着孔23に対し、「PinNG」が設定されているピン番地のうち、最も移動時間の短いものからバックアップピン30を調達することが可能になる。
次いで、制御装置100は、カウンタ変数Cをインクリメントするとともに、変数M、Nをそれぞれディクリメントする(ステップS10)。次いで、制御装置100は、ディクリメントされた変数Mの値が0以下であるか否かを判別する(ステップS11)。仮に、ディクリメントされた変数Mの値が0以下の場合、「PinPos」が設定されているピン番地全てに対し、バックアップピン30が装着されていることになる。よって、以下のフローでは、図8に示すように、「PinNG」が設定されているピン番地についての処理が開始される。一方、ステップS11において、ディクリメントされた変数Mの値が0よりも大きい場合、「PinPos」が設定されているピン番地がまだ存在することになる。その場合には、制御装置100は、ステップS8に移行し、上述した処理を繰り返す。
また、ステップS7において、変数Mの値が0の場合においても、「PinPos」が設定されているピン番地全てに対し、バックアップピン30が装着されていることになる。従って、その場合にも、図8に示すように、「PinNG」が設定されているピン番地についての処理が開始される。
他方、ステップS8において、変数Nの値が0の場合、「PinPos」が設定されるピン番地であって、現在、バックアップピン30が装着されていないピン番地が残っている一方、「PinNG」が設定されるピン番地であって、現在、バックアップピン30が装着されているピン番地は存在しないことになる。従って、ステップS8において、変数Nの値が0の場合、制御装置100は、後述する図10に示すように、バックアップピン30の調達が必要な「PinPos」のピン番地についての処理を実行する。
次に、図8を参照して、図7のステップS7でNOの場合、または、ステップS11において、YESの場合、制御装置100は、「PinNG」が設定されているピン番地から、不要なバックアップピン30を除去する処理を実行する。この処理では、まず、制御装置100は、現在の変数Nの値が0よりも大きいか否かを判定する(ステップS20)。「PinNG」が設定されているピン番地であって、バックアップピン30が装着されている装着孔23が無い場合、N=0であるから、制御装置100は、処理を終了する。一方、変数Nが1以上である場合、「PinNG」が設定されているピン番地から、不要なバックアップピン30を除去するために、ステップS21以下の処理が実行される。
ステップS21において、制御装置100は、カウンタ変数Cを1に更新する。
次に、制御装置100は、ピン配置テーブル123と現状エリアテーブル126とを結合し、バックアップエリアの変更前後で「PinNeut」のままでいるピン番地に係るタプルをピン配置テーブル123から検索する(ステップS22)。上述したように、本実施形態では、コンベア2bの移動前後でバックアップピン30の挿抜が不要な装着孔23に係る「PinNeut」のピン番地(図6の白丸で示す装着孔23のピン番地)を優先的に選定することとしているのである。
ステップS22を実行した後、制御装置100は、検出したピン番地の個数を変数Pに代入する(ステップS23)。次いで、制御装置100は、変数Pが0よりも大きいか否かを判別する(ステップS24)。
図6に示すように、バックアップエリアの変更前後で「PinNeut」のままでいるピン番地が存在する場合、Pの値は、0よりも大きくなる。その場合、制御装置100は、バックアップピン30のない「PinNeut」が設定されたピン番地のうち、C番地から最も移動時間の短いピン番地をバックアップピン30の移動先に設定し、C番地を当該バックアップピン30の移動元ピン番地に設定して、これらの設定情報をレイアウト変更テーブル125に保存する(ステップS25)。一方、変数Pの値が0の場合、余剰ピン除去処理サブルーチンが実行される(ステップS26)。
ステップS25またはステップS26が実行された後、制御装置100は、カウンタ変数Cの値をインクリメントし、変数N、Pの値をそれぞれディクリメントする(ステップS27)。次いで制御装置100は、ディクリメントされた変数Nの値が0以下であるか否かを判定する(ステップS28)。ディクリメントされた変数Nの値が0よりも大きい場合、バックアップピン30を除去する必要のある「PinNG」の装着孔23がまだ残っていることになる。よって、その場合、制御装置100は、ステップS24に移行し、上述した処理を実行する。一方、変数Nの値が0以下の場合、バックアップピン30を除去する必要のある全ての「PinNG」の装着孔23からバックアップピン30が除去されているので、制御装置100は、処理を終了する。
次に、余剰ピン除去処理サブルーチンについて説明する。
図9を参照して、余剰ピン除去処理サブルーチンにおいて、制御装置100は、ピン配置テーブル123と現状エリアテーブル126とを結合し、バックアップエリアの変更後に「PinNeut」が設定されるピン番地に係るタプルをピン配置テーブル123から検索する(ステップS261)。次いで、検索したタプルの個数を変数Qに代入する(ステップS262)。次いで制御装置100は、変数Qの値が0よりも大きいか否かを判別する(ステップS263)。
変数Qの値が0よりも大きい場合、すなわち、バックアップエリアの変更後に「PinNeut」が設定されるピン番地のうち、バックアップピン30がないものが存在する場合、制御装置100は、二次割当処理を実行する(ステップS264)。この二次割当処理では、バックアップエリアの変更後に「PinNeut」が設定される、バックアップピン30がないピン番地のうち、C番地から最も移動時間の短いピン番地を移動先に設定し、C番地を当該バックアップピン30の移動元ピン番地に設定して、これらの設定情報をレイアウト変更テーブル125に保存する。一方、ステップS263の判定で、変数Qの値が0の場合、制御装置100は、三次割当処理を実行する(ステップS265)。この三次割当処理では、ピンステーションテーブル124を参照し、ピンステーション45の空きになっているピン番地のうち、C番地から最も移動時間の短いピン番地を移動先に設定し、C番地を当該バックアップピン30の移動元ピン番地に設定して、これらの設定情報をレイアウト変更テーブル125に保存する。
ステップS264またはS265を終了した後、制御装置100は、メインルーチンに復帰する。
次に、図7のステップS8において、変数Nが0であった場合、上述のように、「PinNG」が設定されている「PinPos」が設定されるピン番地であって、現在、バックアップピン30が装着されていないピン番地が残っている一方、「PinNG」が設定されるピン番地であって、現在、バックアップピン30が装着されているピン番地は存在しないことになる。従って、この場合には、バックアップピン30の調達が必要な「PinPos」のピン番地についての処理を実行する。次に、この処理について説明する。
図10を参照して、同フローにおいて、制御装置100は、改めてカウンタ変数Cを1に更新する(ステップS30)。次いで制御装置100は、ピン配置テーブル123と現状エリアテーブル126とを結合し、バックアップエリアの変更後に「PinNeut」が設定されるピン番地のうち、バックアップピン30があるものに係るタプルを検索する(ステップS31)。次いで、制御装置100は、検索したタプルの個数を変数Rに代入する(ステップS32)。次いで制御装置100は、変数Rが0よりも大きいか否かを判別する(ステップS33)。
仮に、変数Rの値が0よりも大きい場合、すなわち、バックアップエリアの変更後に「PinNeut」が設定されるピン番地のうち、バックアップピン30があるものが存在する場合、制御装置100は、二次割当処理を実行する(ステップS34)。二次割当処理では、バックアップエリアの変更後に「PinNeut」が設定される、バックアップピン30があるピン番地のうち、C番地に対し、最も移動時間の短いピン番地を移動元に設定し、C番地を当該バックアップピン30の移動先ピン番地に設定して、これらの設定情報をレイアウト変更テーブル125に保存する。一方、ステップS33の判別において、変数Rの値が0の場合、すなわち、バックアップエリアの変更後に「PinNeut」が設定されるピン番地のうち、バックアップピン30のあるものが存在しない場合、制御装置100は、三次割当処理を実行する(ステップS35)。この三次割当処理では、ピンステーション45のピン番地のうち、バックアップピンを有するピン番地の中から、C番地に対し、最も移動時間の短いピン番地を移動元に設定し、C番地を当該バックアップピン30の移動先ピン番地に設定して、これらの設定情報をレイアウト変更テーブル125に保存する。これにより、バックアップピン30が不足している場合に、確実にバックアップピン30を調達することが可能となる。なお、このタイミングで、挿入されたタプルの{移動フラグ}には、「True」が設定される。
ステップS34またはステップS35を終了した後、制御装置100は、カウンタ変数Cの値をインクリメントするとともに、変数M、Rの値をそれぞれディクリメントする(ステップS36)。その後、制御装置100は、変数Mの値が0以下か否かを判定する(ステップS37)。仮に、変数Mの値が0以下の場合、制御装置100は、処理を終了する。一方、変数Mの値が0よりも大きい場合、バックアップピン30を調達する必要のある「PinPos」の装着孔23がまだ残っていることになる。よって、その場合、制御装置100は、ステップS33に移行し、上述した処理を繰り返す。
なお、図7のフローでは、バックアップピン30のない「PinPos」のピン番地を先に特定し、これらのピン番地に対して、バックアップピン30のある「PinNG」のピン番地をペアにした例(第1のアルゴリズム)を示している。一方、バックアップピン30のある「PinNG」のピン番地を「PinNG」のピン番地を先に特定し、これらのピン番地に対して、バックアップピン30のない「PinPos」のピン番地をペアにする(第2のアルゴリズム)ことも可能である。
図11を参照して、第2のアルゴリズムにおいては、現状のバックアップピン30の配列情報を取得し(ステップS41)、カウンタ変数Cを1に初期化(ステップS42)した後、変更後に「PinNG」が設定される、バックアップピン30のあるピン番地に係るタプルが検索され(ステップS43)、検索されたピン番地の個数が変数Nに代入される(ステップS44)。次いで、変更後に「PinPos」が設定される、バックアップピン30のないピン番地に係るタプルが検索される(ステップS45)。次いで、検索されたタプルの個数が変数Mに代入される(ステップS46)。次いで、変数Nの値が0よりも大きいか否かが判別される(ステップS47)。変数Nが0の場合には、図10で示したステップS30以下のフローに進む一方、変数Nが0よりも大きい場合には、ステップS48以下の処理が実行される。ステップS48では、変数Mの値が0よりも大きいか否かが判別される。変数Mの値が0よりも大きい場合、図7のフローと同様に、一次割当処理が実行される(ステップS49)。この一次割当処理では、バックアップピン30のない「PinPos」か設定されるピン番地のうち、C番地から最も移動時間の短いピン番地がバックアップピン30の移動先に設定され、C番地が当該バックアップピン30の移動元ピン番地に設定されて、これらの設定情報がレイアウト変更テーブル125に保存される。次いで、カウンタ変数Cがインクリメントされるとともに、変数M、Nがそれぞれディクリメントされる(ステップS50)。その後、変数Nが0以下か否かが判別され(ステップS51)、0を越える場合には、ステップS48に移行して上述した処理を繰り返す一方、0以下の場合には、図10のステップS30以下の処理に移行する。また、ステップS48において、変数Mの値が0の場合、図8のステップS20以下の処理が実行される。
上述した図7から図11のフローチャートにおいて、バックアップピン30の移動は、図7のステップS9並びに図11のステップS49で明らかなように、まず、「PinPos」が設定されるピン番地と「PinNG」が設定されるピン番地との間で、移動先/移動元のペアが割り当てられる一次割当処理が実行される。この一次割当処理の後において、あるいは、一次割当処理が実行されなかった場合において、バックアップピン30の過不足が生じたときには、図8のステップS25、図9のステップS264、図10のステップと34から明らかなように、「PinNeut」が設定されるピン番地が、過不足の生じたピン番地との間で割り当てられる二次割当処理が実行される。そして、「PinNeut」が設定されるピン番地との割り当てだけでは足りない場合に、初めてピンステーション45のピン番地との間で過不足の生じたピン番地が割り当てられる三次割当処理が実行される。従って、必要性の高い順に割り当てが進行するので、より効率よく、バックアップピン30の移動先を決定することが可能となる。
なお、バックアップピン30の入替は、上述のような演算を全て終了した後、実行される。入替作業の実行に際しては、レイアウト変更テーブル125の{移動フラグ}の値がTrueになっているピン番地については、可動側のコンベア2bの移動前、または、移動中に引き抜き動作を実行し、干渉が生じることを避ける。これにより、バックアップピン30の入替動作を効率よく実行することができる。
以上説明したように、本実施形態に係る制御装置100は、バックアップピン30が選択的に装着される複数の装着孔23が設けられたバックアッププレート21を含むバックアップ装置20を備えた設備のために用いられ、バックアッププレート21上に設定されるバックアップエリアに配設される複数のバックアップピン30のレイアウトの変更に関する変更処理を制御するレイアウト変更順位決定ユニットを構成する。
同レイアウト変更順位決定ユニットとしての制御装置100は、プリント基板Wの仕様に応じたバックアップピン30の要否に関する情報を、当該バックアップエリアにおいて、当該装着孔23ごとに記憶するピン配置情報記憶手段としてのピン配置テーブル123と、レイアウトの変更後のバックアップピン30のレイアウトに関する情報と現状のバックアップピン30のレイアウトに関する情報とに基づいて、バックアップピン30の抜き取りが必要な装着孔23に係るピン番地(PinNG)と、バックアップピン30の装着が必要な空きの装着孔23に係るピン番地(PinPos)とを抽出する対象抽出手段(ピン配置テーブル123、現状エリアテーブル126)と、対象抽出手段(ピン配置テーブル123、現状エリアテーブル126)によって抽出されたピン番地のうち、装着孔23から抜き取りが必要なバックアップピン30をバックアップピン30の装着が必要な装着孔23に対するバックアップピン30の移動元に割り当てる一次割当処理(ステップS9、S49)を実行する一次割当手段と、バックアップエリアを含むバックアッププレート21の範囲内でレイアウトの変更後にバックアップピン30の存否が不問とされるピン番地である中立ピン番地(PinNeut)を選定する選定処理を実行する選定手段と、一次割当処理(ステップS9、S49)の実行後において、または一次割当処理が実行不可の場合において、バックアップピン30の過不足が生じたときに、中立ピン番地のうち、空きの装着孔23に係る中立ピン番地(PinNeut)をバックアップエリアから除去が必要なバックアップピン30の移動先に割り当てる割当処理、または中立ピン番地(PinNeut)のうち、バックアップピン30が装着されている装着孔23に係る中立ピン番地(PinNeut)をバックアップピン30の調達が必要な空きの装着孔23に対するバックアップピン30の移動元に割り当てる割当処理を二次割当処理(ステップS25、S264、S34)として実行する二次割当実行手段とを機能的に備えている。このため本実施形態では、バックアップピン30の配置を変更する必要がある場合に、まず、一次割当処理(ステップS9、S49)が優先的に実行される。同一次割当処理(ステップS9、S49)では、バックアップピン30の抜き取りが必要な装着孔23とバックアップピン30の装着が必要な装着孔23とがペアになり、効率よく、バックアップピン30の入替を実現することができる。しかも、一次割当処理(ステップS9、S49)の実行後において、または一次割当処理が実行不可の場合において、バックアップピン30の過不足が生じたときは、徒にバックアップエリアから外れた場所にバックアップピン30を移動させるのではなく、バックアップエリア内において、バックアップピン30の装着が許容される中立ピン番地(PinNeut)に係る装着孔23に対して優先的にバックアップピン30が装着されるので、移動時間が短くなり、ピンの変更動作が一層、格段に効率化する。加えて、中立ピン番地(PinNeut)に係る装着孔23は、バックアップエリアを含むバックアッププレート21の範囲内から選択されるので、バックアップエリアから外れたストックエリアが可及的に不要となる。そのため、比較的コンパクトなスペースでより多くのバックアップピン30を利用することができるばかりではなく、バックアップピン30が余りにくくなり、より多くの仕様に対応することができるようになる。よって、本態様においては、バックアップピン30のレイアウトの自由度を高めることも可能となる。
また、本実施形態に係る制御装置100は、バックアップ装置20の側部に配設され、且つ、予備用のバックアップピン30を着脱可能な装着孔23を複数個含むピンステーション45と、ピンステーション45の装着孔46を特定するピン番地ごとにバックアップピン30の存否情報を保存するピンステーションテーブル124と、二次割当処理(ステップS25、S264、S34)の実行後において、または二次割当処理が実行不可の場合において、バックアップピン30の過不足が生じたときに、ピンステーション45にある空きのピン番地をバックアップエリアから除去が必要なバックアップピン30の移動先に割り当てる割当処理、またはピンステーション45のピン番地のうち、バックアップピン30のある装着孔46に係るピン番地をバックアップピン30の調達が必要な空きの装着孔23に対するバックアップピン30の移動元に割り当てる割当処理を三次割当処理として実行する三次割当手段とをさらに備えている。このため本実施形態では、二次割当処理(ステップS25、S264、S34)を実行したにも拘わらず、さらに、バックアップピン30の過不足が生じた場合、あるいは二次割当処理が実行できなかった場合には、改めてピンステーション45が利用されるので、バックアップピン30の過不足に起因するエラー処理を回避することが可能となる。
本実施形態の制御装置100によって実現される変更順位決定ユニットは、表面実装機1の制御装置100から独立した各種コンピュータに実装することも可能である。
また、本実施形態に係る表面実装機1は、プリント基板Wを搬出入する一対の搬送コンベアとしてのコンベア2a、2bと、バックアップピン30が選択的に装着される複数の装着孔23が設けられたバックアッププレート21を含むバックアップ装置20と、バックアップ装置20に対し、選択的に装着される複数のバックアップピン30と、コンベア2a、2bの一方と他方を相対的に変位してバックアップ装置20によりプリント基板Wを支持するエリアであるバックアップエリアを変更するエリア変更手段と、バックアップ装置20により支持されるプリント基板Wに対して電子部品ECを実装するヘッドユニット60と、ヘッドユニット60に搭載され、バックアッププレート21に対してバックアップピン30を挿抜可能なピン挿抜手段としてのピン挿抜機構70と、変更順位決定ユニットの決定した変更順位に基づいて、エリア変更手段、並びにピン挿抜機構70の動作を制御する制御手段としての制御装置100とを備えている。このため本実施形態では、バックアップピン30のレイアウトを変更する際、きわめて効率よく、バックアップピン30の変更作業を実行することができる。
また、本実施形態に係る表面実装機1は、バックアップエリアの変更動作と並行してバックアップピン30の移動動作が実行されるように、エリア変更手段、並びにピン挿抜機構70の動作を制御するものである。このため本実施形態では、レイアウトの変更後に中立ピン番地(PinNeut)に変更されるピン番地に係る装着孔23に対し、動的にバックアップピン30の挿抜を実現することができる。よって、一次割当処理(ステップS9、S49)、二次割当処理(ステップS25、S264、S34)に活用できるピン番地の選択肢が広くなり、より効率的な変更順位の決定が可能となる。
さらに、本実施形態に係る表面実装機1は、バックアップ装置20の側部に配設され、且つ、予備用のバックアップピン30を着脱可能な装着孔23を複数個含むピンステーション45と、ピンステーション45の装着孔46を特定するピン番地ごとにバックアップピン30の存否情報を保存するピンステーションテーブル124とをさらに備え、ピン挿抜機構70は、ピンステーション45に対してもバックアップピン30を挿抜可能である。このため本実施形態では、二次割当処理(ステップS25、S264、S34)を実行したにも拘わらず、さらに、バックアップピン30の過不足が生じた場合には、改めてピンステーション45が利用されるので、バックアップピン30の過不足に起因するエラー処理を回避することが可能となる。
以上説明したように、本実施形態によれば、バックアップピン30の過不足が生じた場合には、バックアップエリア内において、バックアップピン30の装着が許容される中立ピン番地(PinNeut)に係る装着孔23に対して優先的にバックアップピン30が装着されるので、より効率が高く、しかも、バックアップピン30のレイアウトについて、設計の自由度を高めることのできるという顕著な効果を奏する。
本発明は、上述した実施の形態に限定されるものではない。
例えば、「バックアップ装置を備えた設備」は、表面実装機に限らず、スクリーン印刷装置や、各種の検査装置であってもよい。
その他、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることはいうまでもない。