図1は、部品実装システムとサーバーPC(Personal
Computer)との関係を模式的に示す模式図である。図2は、部品実装システムの構成を模式的に示す平面図である。部品実装システム100は搬送方向Xに直列に並ぶ3台の部品実装装置1を備え、サーバーPC200はローカルエリアネットワークLANを介して各部品実装装置1に接続されている。そして、サーバーPC200が各部品実装装置1で実行される基板Sへの部品の実装を制御する。
図2に示すように、部品実装システム100では、搬送方向Xに並列に並ぶ2本の搬送ライン2A、2Bが構成されている。搬送ライン2A、2Bのそれぞれは、部品実装装置1内に配置された搬送レーン22と部品実装装置1外に配置された搬送レーン24とを搬送方向Xに交互に並べた構成を具備する。各搬送レーン22、24は、幅方向Y(搬送方向Xおよび鉛直方向Zに直交する方向)に間隔を空けて配置された1対のコンベアによって基板Sを搬送方向Xに搬送するものである。なお、図2の例では、搬送レーン22は部品実装装置1のハウジング内に収まっているが、搬送レーン22の搬送方向Xの両端が部品実装装置1のハウジングから部分的に突出しても構わない。かかる部品実装システム100では、各搬送ライン2が基板Sを搬送方向Xに搬送することで、基板Sが3台の部品実装装置1に順番に搬入される。そして、各部品実装装置1は、2本の搬送ライン2により搬入されてきた2枚の基板Sのそれぞれに対して部品を実装する。
図3は、部品実装装置の構成を模式的に示す平面図である。同図では、2本の搬送レーン22のうち、図3下側の搬送レーン22(搬送ライン2Aに属する搬送レーン22)に符号22Aが付され、図3上側の搬送レーン22(搬送ライン2Bに属する搬送レーン22)に符号22Bが付されている。同図に示すように、部品実装装置1では、2本の搬送レーン22A、22Bが搬送方向Xに並列に並んでおり、各搬送レーン22A、22Bの幅は基板Sの幅に応じて幅方向Yに調整することができる。これら搬送レーン22A、22Bは、部品実装装置1の外部から受け取った基板Sを所定の処理位置PA、PBにまで搬送するとともに、当該処理位置PA、PBで後述のヘッドユニット3A、3Bにより部品が実装された基板Sを部品実装装置1の外部へ搬送する。なお、図3に示すように、基板Sが部品実装を受ける各処理位置PA、PBは幅方向Yに互いに隣り合っており、各処理位置PA、PBにある各基板Sは幅方向Yに間隔を空けて隣り合う。
これら搬送レーン22A、22Bの幅方向Yの両側それぞれには、部品供給部4が2個ずつ配置されている。各部品供給部4には、複数のテープフィーダー41が装着されている。テープフィーダー41のそれぞれでは、電子部品を一定ピッチで収納したテープを巻き回したリール(図示省略)が取り付けられており、各テープフィーダー41による電子部品の供給が可能となっている。その結果、後述するヘッドユニット3A、3Bによる電子部品のピックアップが可能となっている。
部品実装装置1では、2本の搬送レーン22A、22Bに対応して2台のヘッドユニット3A、3Bが設けられている。各ヘッドユニット3A、3Bは、図示を省略するXY移動機構によってXY平面内を移動自在であるとともに、搬送方向Xに並ぶ3本の実装ヘッド31を保持している。この実装ヘッド31は、部品を吸着する吸着ノズル(図示省略)をその下端に取り付けたものである。そして、ヘッドユニット3A、3Bは、実装ヘッド31の吸着ノズルによってテープフィーダー41から部品をピックアップすると、処理位置PA、PBにある基板Sの上方にまで移動して、当該部品を基板Sに実装する。具体的には、ヘッドユニット3Aは、図3下側のテープフィーダー41からピックアップした部品を搬送レーン22Aが処理位置PAに搬送してきた基板Sに実装し、ヘッドユニット3Bは、図3上側のテープフィーダー41からピックアップした部品を搬送レーン22Bが処理位置PBに搬送してきた基板Sに実装する。
ちなみに、基板Sに部品を実装する際には、各基板Sはそれぞれの処理位置PA、PBに固定手段(図示省略)によって固定される。つまり、処理位置PA、PBに搬送されてきた各基板Sは、固定手段によって位置が固定された状態で部品の実装を受ける。そして、部品の実装が完了すると、基板Sは、固定手段による位置の固定が解かれて、処理位置PA、PBから部品実装装置1の外部へ向けて搬送される。
ところで、2本の搬送レーン22A、22Bのそれぞれで基板Sを支持しつつ2台のヘッドユニット3A、3Bが対応する基板Sに部品を実装する部品実装装置1では、これらヘッドユニット3A、3Bが相互に干渉するおそれがある。そこで、サーバーPC200はヘッドユニット3A、3Bの相互干渉を回避するために、ヘッドユニット3A、3Bの動作を制約する。具体的には、サーバーPC200は、干渉領域Reを適宜設定し、ヘッドユニット3A、3Bのうちの一方が干渉領域Reに進入している間は、他方を干渉領域Reから退避させて他方による基板Sへの部品の実装を禁止する。かかる干渉領域Reの設定方法は種々の態様が考えられる。例えば、幅方向Yにおける各基板Sの隙間を含むように干渉領域Reを設定したり、ヘッドユニット3A、3Bの移動軌跡をヘッドユニット3A、3B毎に求めてヘッドユニット3A、3Bそれぞれの移動軌跡が重複する範囲を含むように干渉領域Reを設定したりすることができる。
このような部品実装装置1では、ヘッドユニット3A、3Bは、
吸着:テープフィーダー41から部品を吸着(ピックアップ)する動作、
非干渉領域実装:干渉領域Re以外の非干渉領域において基板Sに部品を実装する動作、
干渉領域実装:干渉領域Reにおいて基板Sに部品を実装する動作、
待機:干渉領域Reから退避した位置で部品を吸着しつつ基板Sへの部品の実装を待機する動作
のいずれかの動作を実行することができる。
そして、ヘッドユニット3A、3Bは、干渉回避のための制約の結果、並行して実行できる動作の組み合わせが限られる。具体的には、ヘッドユニット3A、3Bのうち、一方のヘッドユニット3が干渉領域Reにおいて基板Sへ部品の実装を行っている間は、他方のヘッドユニット3は吸着あるいは待機のいずれか一方の動作のみを行うことができ、干渉領域Reおよび非干渉領域のいずれにおいても基板Sへの部品の実装を行うことはできない。なお、ヘッドユニット3A、3Bは、干渉領域Reにおける基板Sへの部品の実装以外の動作(吸着、非干渉領域実装、待機)については並行して実行することができ、例えば非干渉領域における基板Sへの部品の実装を並行して実行できる。
サーバーPC200は、ヘッドユニット3A、3Bが上記の各動作を実行する手順を規定した生産プログラムを保存しており、ヘッドユニット3A、3Bの動作を生産プログラムに従って制御する。続いては、ヘッドユニット3A、3Bが動作を実行する手順について説明する。なお、ここでは、ヘッドユニット3A、3Bの干渉回避のための制約を考慮しない場合について図4を用いて説明してから、当該制約を考慮した場合について図5を用いて説明することとする。
図4は、ヘッドユニットの干渉回避のための制約を考慮せずに、生産プログラムに規定される各ヘッドユニットの手順の一例を模式的に示す図である。同図では、ヘッドユニット3Aの手順が下側に、ヘッドユニット3Bの手順が上側に示されている。そして、1個の四角が1秒の時間に対応しており、各四角内の記載が当該四角に対応する時間にヘッドユニット3A、3Bが実行する動作を示す。 同図の例によれば、ヘッドユニット3Aは割り当てられた手順を完了するのに22秒を要し、ヘッドユニット3Bは割り当てられた手順を完了するのに21秒を要する。
ただし、上述のとおり、ヘッドユニット3A、3Bの一方のヘッドユニット3が干渉領域Reにおいて基板Sへ部品を実装している際に、他方のヘッドユニット3が受ける制約については考慮されていない。したがって、実際には当該制約を受けて、ヘッドユニット3A、3Bのいずれかは適宜待機する必要が生じる。その結果、ヘッドユニット3A、3Bのそれぞれが割り当てられた手順を完了するのに要する時間は、同図に示すよりも長くなる可能性がある。しかも、搬送レーン22A、22Bが部品実装装置1に基板Sを搬入する時間差によって、ヘッドユニット3A、3Bのそれぞれが待機をするタイミングや長さは変わり、これに応じて、ヘッドユニット3A、3Bのそれぞれが割り当てられた手順を完了するのに要する時間も変わり得る。
図5は、ヘッドユニットの干渉回避のための制約を考慮して、生産プログラムに規定される各ヘッドユニットの手順の一例を模式的に示す図である。図5では、搬送レーン22A、22Bが部品実装装置1に基板Sを同時に搬入した場合が上段に示され、非同時に搬入した場合が下段に示されている。図5の各段に示される手順は、待機が途中に生じる以外は図4に示される手順と同じである。また、図5での表記方法は、図4での表記方法と基本的に共通するが、図5では、ヘッドユニット3A、3Bの動作として待機が追記されている。
ちなみに、搬送レーン22Aの搬送により基板Sが処理位置PAに到達したタイミングを、搬送レーン22Aが部品実装装置1に基板Sを搬入したタイミングとして取り扱い、搬送レーン22Bの搬送により基板Sが処理位置PBに到達したタイミングを、搬送レーン22Aが部品実装装置1に基板Sを搬入したタイミングとして取り扱う。
まず、上段の「同時搬入」から説明する。搬送レーン22A、22Bのそれぞれが同時に部品実装装置1に基板Sを搬入するため、ヘッドユニット3A、3Bのそれぞれは、吸着に始まる一連の手順を同時に開始する。また、開始から18秒が経過するまでは、ヘッドユニット3A、3Bのうち一方は干渉領域Reにおいて部品を実装するものの、他方は並行して部品を吸着できるため待機する必要はなく、ヘッドユニット3A、3Bは図4の例と同じ手順で動作を実行する。ただし、18〜19秒の間では、ヘッドユニット3Aが干渉領域Reにおいて部品を実装しているのに対応して、ヘッドユニット3Bは待機する。同様に、21〜22秒の間においてもヘッドユニット3Bの待機が発生している。その結果、ヘッドユニット3Bが割り当てられた手順を完了するのに要する時間は23秒となっている(すなわち、図4の例よりも2秒長くなっている)。
続いて、下段の「非同時搬入」を説明する。搬送レーン22Aが基板Sを部品実装装置1に搬入してから10秒を経過したタイミングで、搬送レーン22Bが基板Sを部品実装装置1に搬入する。したがって、ヘッドユニット3Aが一連の手順を開始してから10秒を経過したタイミングで、ヘッドユニット3Bが一連の手順を開始する。その結果、「同時搬入」に示す例と比較して「非同時搬入」に示す例では、ヘッドユニット3Bの待機が発生するタイミングや長さが変化している。具体的には、ヘッドユニット3Bが一連の手順を開始してから2〜4秒の間および8〜9秒の間において、ヘッドユニット3Bの待機が発生している。その結果、ヘッドユニット3Bが割り当てられた手順を完了するのに要する時間が、「非同時搬入」の例では24秒となっており、「同時搬入」の例より1秒長くなっている。
図2に示したとおり、部品実装システム100では、3台の部品実装装置1の搬送レーン22が搬送方向Xに並んで搬送ライン2A、2Bのそれぞれが構成されている。そして、2本の搬送ライン2A、2Bのそれぞれで搬送方向Xに基板を搬送しつつ3台の部品実装装置1により順番に部品の実装を行う。この際、基板Sへの部品の実装の進捗状況は各搬送ライン2A、2Bによって異なり得るため、一の基板Sを搬入した後に次の基板Sを搬入できるタイミングが各搬送ライン2A、2Bによって異なることがある。このように搬送ライン2A、2Bへの基板Sの搬入タイミングに時間差があると、各部品実装装置1のヘッドユニット3A、3Bが部品の実装を待機するタイミングや時間が変化し、各部品実装装置1が搬送ライン2A、2Bで基板Sへの部品の実装を完了する時間も変化し得る。その結果、部品実装システム100のサイクルタイムも変化し得る。そこで、本実施形態のサーバーPC200は、次に説明するように、この点を考慮してサイクルタイムを正確に求めることを可能としている。
図6は、本発明にかかるサーバーPCが備える電気的構成の一例を模式的に示したブロック図である。同図に示すように、サーバーPC200は、CPU(Central Processing Unit)やメモリーで構成されたコンピューターである演算装置220と、HDD(Hard disk drive)240とを有する。HDD240には、上述した生産プログラム242やサイクルタイム推定プログラム244等の各種プログラムが保存されており、演算装置220がHDD240から読み込んだサイクルタイム推定プログラム244を実行することで、シミュレーション演算部222およびサイクルタイム演算部224を構築する。そして、シミュレーション演算部222は、搬送ライン2A、2Bの基板Sに部品実装装置1により部品を実装する実装処理を、搬送ライン2A、2Bおそれぞれで複数の基板Sを順番に搬送しつつ行うシミュレーションを行い(シミュレーション演算工程)、サイクルタイム演算部224は、当該シミュレーションの結果に基づいてサイクルタイムを求める(サイクルタイム演算工程)。
図7は、シミュレーションにおいて実行される実装処理の手順の一例を示すフローチャートである。図7のフローチャートは、搬送ライン2A、2Bに搬入された1枚の基板Sに対して各部品実装装置1が順番に部品の実装を行う手順を示すものであり、各搬送ライン2A、2Bについて個別かつ並行して実行される。なお、当該手順は、搬送ライン2A、2Bのそれぞれで共通するため、ここでは、搬送ライン2Aに搬入された1枚の基板Sに対して実行する手順を中心に説明を行う。
シミュレーション演算部222が図7に示す実装処理のシミュレーションを実行する。具体的には、実装処理が開始すると、部品実装装置(実装機)1の番号を示す実装機番号Mを「1」に設定する(ステップS101)。なお、実装機番号Mは搬送方向Xの上流側から順番に1、2、3が付されるものとする。続いて、1番目の部品実装装置1の搬送レーン22Aに所定のタイミングで基板Sを搬入する(ステップS102)。そして、生産プログラム242が示す手順で、ヘッドユニット3Aが搬送レーン22Aの処理位置PAに停止する基板Sに部品を実装する作業をシミュレーションする(ステップS103)。なお、搬送ライン2Aに搬入された基板Sへの実装処理と並行して、搬送ライン2Bに搬入された基板Sへの実装処理も実行されている。したがって、このシミュレーションでは、上述したようにヘッドユニット3Bの干渉回避のための制約がヘッドユニット3Aに働き、ヘッドユニット3Aは必要に応じて待機を実行する。
続いて、ステップS103における部品実装の進捗に基づいて、搬送ライン2Aが基板Sを部品実装装置1から搬出可能か否かを判断する(ステップS104)。具体的には、部品実装装置1において搬送ライン2Aの基板Sに対する部品の実装が完了すると、当該基板Sを部品実装装置1から搬出可能であると判断する。そして、搬出可能と判断されると(ステップS104で「YES」の場合)、搬送ライン2Aが部品実装装置1から基板Sを搬出するタイミングを求める(ステップS105)。ここでは、処理位置PAからの基板Sの搬出を開始するタイミングを、搬送レーン22Aが部品実装装置1から基板Sを搬出するタイミングとして取り扱う。
ステップS106では、実装機番号Mが部品実装装置1の台数Mmax(Mmaxは正の整数、ここではMmax=3)に等しいか否かが判断される。そして、実装機番号MがMmaxと異なる場合(ステップS106で「NO」の場合)、各搬送レーン22Aが部品実装装置1から基板Sを搬出するタイミングを、搬送方向Xの下流側の部品実装装置1(すなわち、(M+1)番目の部品実装装置1)に対して基板Sを搬入するタイミングに設定する(ステップS107)。続いて、実装機番号Mが「1」に等しいか否かが判断される(ステップS108)。そして、実装機番号Mが「1」に等しい場合(ステップS108で「YES」の場合)、搬送レーン22Aが部品実装装置1から基板Sを搬出するタイミングを次の基板Sを搬送ライン2Aに搬入するライン搬入タイミングTaに設定しつつ搬入可能フラグを立てて(ステップS109)、ステップS110に進む。ここで、搬入可能フラグは、搬送ライン2Aへの基板Sへの搬入が可能であることを示すフラグである。一方、実装機番号Mが「1」と異なる場合(ステップS108で「NO」の場合)、ステップS108からステップS110に進む。こうしてステップS110に進むと、実装機番号Mを「1」だけインクリメントし、ステップS102へ戻る。
続いて、ステップS110でインクリメントされた実装機番号Mに対応する部品実装装置1において、ステップS102〜S109を上記と同様に行う。そして、ステップS106にて実装機番号MがMmaxに等しいか否かを判断する。実装機番号MがMmaxに等しくない場合(ステップS106で「NO」の場合)、ステップS107〜S110を上記と同様に行って、ステップS102に戻る。こうして、3台の部品実装装置1に順番に1枚の基板Sを搬送して各部品実装装置1で部品の実装を行うシミュレーションを実行する。そして、3台の部品実装装置1のそれぞれで1枚の基板Sに対する部品の実装を完了して、ステップS106で実装機番号MがMmaxに等しいと判断されると(ステップS106で「YES」)、ステップS111に進む。
続いて、ステップS111において搬送ライン2Aから部品実装済みの基板Sを搬出する基板搬出時刻T(Na)を求めて、図7のフローチャートを終了する。ここでは、搬送ライン2Aにおける搬送方向Xの最下流の部品実装装置1の処理位置PAから基板Sの搬出を開始するタイミングを、搬送ライン2Aから基板Sを搬出するタイミングとして取り扱う。また、「Na」は、搬送ライン2Aにおいて部品の実装を完了した基板Sの枚数を示し、「T(Na)」は、Na枚目の基板Sを搬送ライン2Aから搬出した時刻を示す。
また、搬送ライン2Bに搬入された1枚の基板Sに対しても、図7と同様のシミュレーションが実行される。つまり、搬送ライン2Bに搬入された基板Sに対して部品の実装が実行される。そして、当該基板Sに対する部品の実装の進捗に応じて、次の基板Sを搬送ライン2Bに搬入するライン搬入タイミングTbが設定され、搬送ライン2Bへの基板Sの搬入が可能であることを示す搬入可能フラグが立てられる。また、3台の部品実装装置1が部品の実装を完了した基板Sが搬送ライン2Bから搬出されると、基板搬出時間T(Nb)が求められる。
そして、サイクルタイムを推定するために、シミュレーション演算部222は、図7に示した実装処理を、搬送ライン2A、2Bのそれぞれで複数の基板Sを順番に搬送しつつ行うシミュレーションを行い、サイクルタイム演算部224は、当該シミュレーションの結果に基づいてサイクルタイムを求める。図8は、サイクルタイムを推定する演算(サイクルタイム算出方法)の手順の一例を示すフローチャートである。シミュレーション演算部222がステップS101〜S110のシミュレーションを実行し、サイクルタイム演算部224がステップS111の演算を行ってサイクルタイムを求める。
図8のサイクルタイム推定が開始すると、シミュレーション演算部222はHDD240より生産プログラム242を読み込む(ステップS201)。続いて、シミュレーション演算部222は、搬送ライン2A、2Bのそれぞれに基板Sを搬入するライン搬入タイミングTa、Tbを設定する(ステップS202)。ここでは、搬送ライン2Aにおける搬送方向Xの最上流の部品実装装置1の処理位置PAに基板Sが到達するタイミングをライン搬入タイミングTaとして取り扱い、搬送ライン2Bにおける搬送方向Xの最上流の部品実装装置1の処理位置PBに基板Sが到達するタイミングをライン搬入タイミングTbとして取り扱う。なお、各搬送ライン2A、2Bに1枚目の基板Sが搬入される段階では、各搬送ライン2A、2Bに基板Sが搬入されるタイミングに差は無く、ライン搬入タイミングTa、Tbは互いに等しい。
こうしてライン搬入タイミングTa、Tbの設定が完了すると、シミュレーション演算部222は、搬送ライン2A、2Bのそれぞれについて図7で説明した実装処理を開始する(ステップS203)。こうして、搬送ライン2A、2Bそれぞれ(の搬送方向Xの最上流の部品実装装置1)に対して、ステップS202で設定されたライン搬入タイミングTa、Tbで基板Sが搬入され、搬送ライン2A、2Bのそれぞれの基板Sに対して、ステップS201で読み込んだ生産プログラム242に示す手順で実装処理が実行される。また、ステップS204〜S212を実行することで、次に搬送ライン2A、2Bに搬入する基板Sのライン搬入タイミングTa、Tbを、搬送ライン2A、2Bに搬入済みの基板Sに対する実装処理の進捗に応じて、搬送ライン2A、2Bそれぞれについて個別に設定する。
ステップS204では、ステップS205〜S212を終了する終了条件が満足されたか否かが判断される。なお、終了条件の詳細については後述する。そして、終了条件が満足されていないと(ステップS204で「NO」)、ステップS205で、搬送ライン2Aに次の基板Sを搬入可能であるか否かを判断する。具体的には、搬送ライン2Aで実行中である(Ia−1)枚目の基板Sへの実装処理において搬入可能フラグ(ステップS109)が立っているか否かを確認する。そして、搬入可能フラグが立っている場合は、Ia枚目の基板S(次の基板S)の搬入が可能と判断し(ステップS205で「YES」)、搬入可能フラグが立っていない場合は、Ia枚目の基板S(次の基板S)の搬入が不可能と判断する(ステップS205で「NO」)。ここで、「Ia」は、2以上の整数である。
そして、ステップS205で「NO」の場合は、ステップS209に進む。一方、ステップS205で「YES」の場合は、ステップS206〜S208を実行してからステップS209に進む。つまり、ステップS205で「YES」の場合は、ステップS109で該当フラグを立てる際に設定されたライン搬入タイミングTaを、搬送ライン2Aに対してIa枚目の基板Sを搬入するタイミングに設定してから(ステップS206)、該当フラグを下す(ステップS207)。続いて、ライン搬入タイミングTaで搬送ライン2Aに搬入されたIa枚目の基板Sに対して実装処理を開始してから(ステップS208)、ステップS209に進む。
ステップS209では、搬送ライン2Bに次の基板Sを搬入可能であるか否かを判断する。具体的には、搬送ライン2Bで実行中である(Ib−1)枚目の基板Sへの実装処理において搬入フラグ(ステップS109)が立っているか否かを確認する。そして、搬入可能フラグが立っている場合は、Ib枚目の基板S(次の基板S)の搬入が可能と判断し(ステップS206で「YES」)、搬入可能フラグが立っていない場合は、Ib枚目の基板S(次の基板S)の搬入が不可能と判断する(ステップS209で「NO」)。ここで、「Ib」は、2以上の整数である。
そして、ステップS209で「NO」の場合は、ステップS204に戻る。一方、ステップS209で「YES」の場合は、ステップS210〜S212を実行してからステップS204に戻る。ステップS210〜S212では、搬送ライン2Aに対するステップS206〜S208と同様の手順が搬送ライン2Bに対して実行される。すなわち、ライン搬入タイミングTbを設定してから(ステップS210)、当該フラグを下す(ステップS211)。続いて、当該ライン搬入タイミングTbで搬送ライン2Bに搬送されたIb枚目の基板Sに対して実装処理を開始する(ステップS212)。
このようにステップS205〜S212では、(Ia−1)、(Ib−1)枚目の基板Sに対する実装処理の進捗に応じたライン搬入タイミングTa、Tbで搬送ライン2A、2BにIa、Ib枚目の基板Sが適宜搬入されて、実装処理が開始される。そして、搬送ライン2A、2Bのそれぞれへ複数の基板Sを順番に搬入するうちにステップS204の終了条件が満足されると(ステップS204で「YES」)、ステップS213へ進む。
ここで、ステップS204では、
・搬送ライン2A、2Bのそれぞれで部品実装を完了した基板Sの枚数が生産予定枚数(例えば「1000」)に到達した、あるいは
・搬送ライン2A、2Bのそれぞれで基板搬出間隔が収束した
ことを終了条件とする。また、後者の終了条件を確認するにあたっては、シミュレーション演算部222は、搬送ライン2A、2Bが部品実装済みの基板Sを順番に搬出する基板搬出間隔ΔT(Na)、ΔT(Nb)を次式
ΔT(Na)=T(Na)−T(Na−1)
ΔT(Nb)=T(Nb)−T(Nb−1)
に基づいて求め、基板搬出間隔ΔT(Na)、ΔT(Nb)が所定範囲内に収束したか否かを判断する。
ステップS213では、サイクルタイム演算部224がサイクルタイムTcyを求める。具体的には、サイクルタイムTcyは、搬送ライン2A、2Bのそれぞれが1枚目の基板Sを搬出してからNend枚目の基板Sを搬出するのに要した時間(=T(Nend)−T(1))を、その間の基板生産枚数(Nend−1)で除した値、すなわち、
Tcy=(T(Nend)−T(1))/(Nend−1)
で与えられる。ここで、「Nend」は、ステップS204の終了条件満足時において生産済みの基板Sの枚数であり、搬送ライン2A、2Bのそれぞれについて求められる。かかるサイクルタイムTcyは、搬送ライン2A、2Bのそれぞれについて求められ、搬送ライン2A、2Bが基板Sを生産する時間間隔、すなわちラインサイクルタイムを表す。そして、ステップS213を実行すると、図8のサイクルタイム推定を終了する。
以上に説明したように本実施形態では、各搬送ライン2A、2Bの基板Sに部品実装装置1により部品を実装する実装処理を、複数の搬送ライン2A、2Bのそれぞれで複数の基板Sを順番に搬送しつつ行うシミュレーションが実行される。しかも、このシミュレーションでは、I枚目(Iは2以上の整数で、IaあるいはIbに相当)の基板Sを搬送ライン2A、2Bに搬入するタイミングが、I枚目の基板Sの搬入先となる当該搬送ライン2A、2Bで実行される(I−1)枚目の基板Sへの実装処理の進捗に応じて、複数の搬送ライン2A、2Bのそれぞれについて個別に設定される。その結果、基板Sへの部品の実装の進捗状況が各搬送ライン2A、2Bによって異なるために、複数の搬送ライン2A、2Bの間で基板Sの搬入タイミングに違いが生じたとしても、サイクルタイムTcyを正確に求めることが可能となっている。
また、部品実装システム100の各部品実装装置1は、複数のヘッドユニット3A、3Bを有する。そして、各部品実装装置1で実行される実装処理では、ヘッドユニット3A、3Bのうち、一のヘッドユニット3A/3Bが部品の実装を行っている間は、部品の実装を実行させると一のヘッドユニット3A/3Bと干渉を起こす可能性のある他のヘッドユニット3B/3Aに部品の実装を待機させる。このように、複数のヘッドユニット3A、3Bの間での干渉を避けるためにヘッドユニット3A、3Bに部品の実装を待機させる部品実装システム100では、複数の搬送ライン2A、2Bの間で基板Sの搬入タイミングが異なると、ヘッドユニット3A、3Bが部品の実装を待機するタイミングや時間が変化し、その結果、サイクルタイムTcyが変化し得る。そこで、サイクルタイムTcyを算出するにあたっては、上記実施形態のように、本発明を適用することが特に好適となる。
ところで、搬送方向Xに沿って直列に並ぶ複数の部品実装装置1により基板Sへの部品の実装を行う部品実装システム100では、各搬送ライン2A、2Bに基板Sを搬入できるタイミングは、搬送方向Xの最上流の部品実装装置1から各搬送ライン2A、2Bが基板Sを搬出するタイミングに依存する。そこで、本実施形態のシミュレーションでは、I枚目の基板Sを搬送ライン2A、2Bに搬入するタイミングが、I枚目の基板の搬入先となる当該搬送ライン2A、2Bで搬送方向Xの最上流の部品実装装置1から(I−1)枚目の基板Sが搬出されるタイミングに応じて決定されており(ステップS205〜S212)、合理的である。
また、実装処理で部品の実装が完了した基板Sを搬送ライン2A、2Bが順番に搬出する基板搬出間隔ΔT(Na)、ΔT(Nb)が所定範囲内に収束したと搬送ライン2A、2Bについて判断すると、シミュレーション(ステップS201〜S212)を終了する。つまり、搬送ライン2A、2Bにおいて基板搬出間隔ΔT(Na)、ΔT(Nb)が所定範囲内に収束したということは、サイクルタイムTcyが収束したことを意味する。したがって、それ以後は、搬送ライン2A、2Bに基板Sを順次搬入しつつシミュレーションを継続したとしてもサイクルタイムTcyの大きな変化は無いと見込まれるため、それまでのシミュレーション結果でサイクルタイムTcyを正確に求められる。そこで、その時点でシミュレーションを終了することで、シミュレーションに要する時間を短縮しつつ、サイクルタイムTcyを正確に求めることができる。
ちなみに、基板搬出間隔ΔT(Na)、ΔT(Nb)が収束したか否かを判断する手法は、種々の態様が考えられる。図9は、所定範囲内に収束した基板搬出間隔のパターンの例を模式的に示す図である。なお、同図では、基板Sの枚数Na、Nbを「N」で表し、基板搬出間隔ΔT(Na)、ΔT(Nb)を「ΔTc(N)」で表した。また、同図の各グラフにおいて、横軸は基板Sの枚数Nを表し、縦軸は基板搬出間隔ΔTc(N)を表す。パターンAでは、基板搬出間隔ΔTc(N)は一定値に収束しており、ステップS204で「YES」と判断される対象となる。また、パターンB、Cでは、基板搬出間隔ΔTc(N)は一定値とはならないものの、周期的な変動を示す。したがって、基板搬出間隔ΔTc(N)は周期変動の振幅の範囲内に収束して(収まって)いると判断でき、ステップS204で「YES」と判断される対象となる。つまり、基板Sの枚数Nの増加に応じて、基板搬出間隔ΔTc(N)が一定となるか、周期的な変動を示す場合には、ステップS106で「YES」と判断することができる。
上述したとおり、この実施形態では、ステップS201〜S212が本発明の「シミュレーション演算工程」の一例に相当し、ステップS213が本発明の「サイクルタイム演算工程」の一例に相当し、サーバーPC200が本発明の「サイクルタイム算出装置」の一例に相当し、シミュレーション演算部222が本発明の「シミュレーション演算部」の一例に相当し、サイクルタイム演算部224が本発明の「サイクルタイム演算部」の一例に相当し、部品実装システム100が本発明の「部品実装システム」の一例に相当し、部品実装装置1が本発明の「部品実装装置」の一例に相当し、ヘッドユニット3A、3Bが本発明の「ヘッドユニット」の一例に相当し、演算装置220が本発明の「コンピューター」の一例に相当し、基板Sが本発明の「基板」の一例に相当し、搬送ライン2A、2Bが本発明の「搬送ライン」の一例に相当する。
なお、本発明は上記した実施形態に限定されるものではなく、その趣旨を逸脱しない限りにおいて、上述したもの以外に種々の変更を行うことが可能である。例えば、上記実施形態では、搬送ライン2A、2Bのそれぞれが基板Sを生産するラインサイクルタイムをサイクルタイムTcyとして求める際に本発明を適用した例について説明した。しかしながら、部品実装システム100の全体が基板Sを生産するシステムサイクルタイムをサイクルタイムTcyとして算出する際にも本発明を適用することができる。具体的には、ステップS213において、搬送ライン2A、2Bの違いを問わず、部品実装システム100の搬送ライン2から基板Sが搬出される時間間隔の平均をサイクルタイムTcyとして求めれば良い。
また、ヘッドユニット3A、3Bが部品を実装するモードについても、種々の変更が考えられる。例えば、上記実施形態では、搬送レーン22A、22Bそれぞれの基板Sに対する部品の実装をヘッドユニット3A、3Bで分業していた。しかしながら、例えば搬送レーン22Aの基板Sに対して、ヘッドユニット3Aのみならずヘッドユニット3Bも部品を実装するといった動作をヘッドユニット3Bの手順に組み込んでも良い。
さらに、部品実装システム100における搬送ライン2の本数、部品実装装置1の台数あるいはヘッドユニット3が有する実装ヘッド31の本数も適宜変更が可能であり、例えば部品実装装置1の台数が1台であっても良いし、ヘッドユニット3が有する実装ヘッド31の本数が1本であっても良い。
また、サイクルタイム推定のフローについても適宜変更することができる。図10は、サイクルタイムを推定するフローの変形例を示すフローチャートである。同図に示す変形例では、互いに異なる手順で基板Sへの部品の実装を行う生産プログラム242のそれぞれについてサイクルタイムTcyを求める。具体的には、ステップS201において、シミュレーション演算部222は、HDD240に予め保存されている複数の生産プログラム242のうちから一の生産プログラム242を読み込み、当該生産プログラム242に従って上述と同様にステップS202〜S212の演算を実行する。そして、ステップS213では、サイクルタイム演算部224が当該生産プログラム242についてサイクルタイムTcyを求める。続くステップS301では、シミュレーション演算部222が複数の生産プログラム242の全てについてサイクルタイムTcyの推定が完了したか否かを判断し、完了していない場合(ステップS301で「NO」の場合)、ステップS302において読み込み対象の生産プログラム242を変更して、ステップS201〜S213を再実行する。こうして全ての生産プログラム242についてサイクルタイムTcyを推定して、ステップS301で「YES」と判断すると、図10のフローチャートを終了する。
つまり、図10の変形例では、部品実装システム100における基板Sへの部品の実装手順が互いに異なる複数の生産プログラム242それぞれについてステップS201〜S212(シミュレーション演算工程)が実行される。そして、複数の生産プログラム242のそれぞれについてステップS213(サイクルタイム演算工程)が実行され、サイクルタイムTcyが求められる。したがって、複数の生産プログラム242のうちサイクルタイムTcyが最短となる生産プログラム242を把握できる。そのため、部品実装システム100での部品の実装を最短のサイクルタイムTcyを有する生産プログラム242で実行することが可能となる。
ところで、上記実施形態では、複数のヘッドユニット3A、3Bの間での干渉を避けるためにヘッドユニット3A、3Bに部品の実装を待機させる部品実装システム100のサイクルタイムTcyを求めるにあたって本発明を用いた場合について説明した。すなわち、かかる部品実装システム100では、複数の搬送ライン2A、2Bの間における基板Sの搬入タイミングの違いがサイクルタイムTcyに影響を与えるおそれがあり、本発明を適用することが好適となる。ただし、本発明の適用対象はこれに限られず、ヘッドユニット3A、3Bの干渉回避のための上記制御を実行しない部品実装システム100に対しても本発明を適用することが好適となる場合がある。具体的には例えば、同期型の部品実装装置1と非同期型の部品実装装置1とが混在する部品実装システム100のサイクルタイムTcyを求めるにあたっても本発明を適用することが好適となる。
図11は、同期型および非同期型の部品実装装置を有する部品実装システムで実行される第1動作例を示すタイミングチャートであり、図12は、同期型および非同期型の部品実装装置を有する部品実装システムで実行される第2動作例を示すタイミングチャートであり、図13は、同期型および非同期型の部品実装装置を有する部品実装システムで実行される第3動作例を示すタイミングチャートであり、図14は、同期型および非同期型の部品実装装置を有する部品実装システムで実行される第4動作例を示すタイミングチャートである。これらの図では、搬送ライン2A、2Bのそれぞれで各動作(実装、搬入待ち、搬出待ち、対向待ち)が実行されるタイミングが動作毎に異なるハッチングを施した四角で示されている。さらに、各四角の該当動作の対象となる基板Sを適宜示すために、搬送ライン2Aで該当動作を受ける基板SについてSa(1)、Sa(2)、Sa(3)、…が付され、搬送ライン2Bで該当動作を受ける基板SについてSb(1)、Sb(2)、Sb(3)、…が付されている。ここで、括弧内の数字が該当する搬送ライン2A、2Bに基板Sが搬入される順番を示す。
図11〜図14のそれぞれは、搬送方向Xに直列に並ぶ2台の部品実装装置1を備える部品実装システム100での各動作例が示されており、搬送方向Xの上流側の部品実装装置1がMch1と表され、下流側の部品実装装置1がMch2と表されている。そして、部品実装装置Mch1および部品実装装置Mch2のうち、一方が装置1での基板Sの実装を搬送ライン2A、2Bのそれぞれで独立して開始する非同期型であり、他方が装置1での基板Sの実装を搬送ライン2A、2Bの間で同期させて開始する同期型である。詳しくは、図11、図12では、部品実装装置Mch1が非同期型で、部品実装装置Mch2が同期型であり、図13、図14では、部品実装装置Mch1が同期型で、部品実装装置Mch2が非同期型である。さらに、図11〜図14のそれぞれでは、2台の部品実装装置1の間にバッファーBufが設けられている場合が下段に示され、バッファーBufが設けられていない場合が下段に示されている。ここで、バッファーBufは、搬送方向Xにおいて、上流側の部品実装装置Mch1が搬出した基板Sを受け取って下流側の部品実装装置Mch2へ搬入するものであり、下流側の部品実装装置Mch2への基板Sの搬入が可能となるまで、上流側の部品実装装置Mch1から受け取った基板Sを待機させる。
そして、搬送ライン2A、2B(換言すれば、搬送レーン22A、22B)では、四角内のハッチングに応じた動作(実装、搬入待ち、搬出待ち、対向待ち)が実行される。「実装」は、搬送ライン2A、2Bの基板Sに対して各部品実装装置1が部品を実装する動作を示す。「搬入待ち」は、部品実装装置1が搬送ライン2A、2Bによる同装置1への基板Sの搬入を待機する動作を示す。「搬出待ち」は、部品実装装置1が搬送ライン2A、2Bによる同装置1からの基板Sの搬出を待機する動作を示す。
また、「対向待ち」は、同期型の部品実装装置1について発生する動作である。つまり、同期型の部品実装装置1が搬送ライン2A、2Bの両方での基板Sの実装を許容するのは、実装開始時点で搬送ライン2A、2Bに基板Sが存在する場合のみである。したがって、次の実装開始時点で搬送ライン2A、2Bのうち一方が同期型の部品実装装置1への基板Sの搬入が間に合わなかった場合は、当該部品実装装置1は、その時点で搬送ライン上に存在する、他方の基板Sに対して実装を行って当該基板Sを装置外に搬出するまで、一方の搬送ライン上の基板Sへの実装を行わない。したがって、同期型の部品実装装置1における基板Sへの実装が各搬送ライン2A、2Bで同時に開始しなかった場合は、部品実装装置1は、搬送レーン22A、22Bのうち一方のみで基板Sに実装を行い、他方では基板Sへの実装を行わない「対向待ち」の状態をとる。
図11では、部品実装装置Mch1が搬送ライン2Aの1枚の基板Sに対する実装を完了するのに要する実装時間P1a、部品実装装置Mch1が搬送ライン2Bの1枚の基板Sに対する実装を完了するのに要する実装時間P1b、部品実装装置Mch2が搬送ライン2A、2Bの1枚の基板Sに対する実装を完了するのに要する実装時間P2のそれぞれが、P1a<P2<P1bの関係を満たす。図11の動作例では、搬送ライン2A、2Bが後段の部品実装装置Mch2への基板Sの搬入を同期させる必要がある。この動作例では、上段の「バッファー無し」の場合は、部品実装装置Mch1から部品実装装置Mch2へ基板Sを搬出するにあたり「搬出待ち」が生じ、下段の「バッファー有り」の場合は、バッファーBufから部品実装装置Mch2へ基板Sを搬出するにあたり「搬出待ち」が生じる。また、バッファーBufの有無に関わらず、搬送ライン2Bでは、部品実装装置Mch2において「対向待ち」が発生している。さらに、バッファーBufおよび部品実装装置Mch2では、「搬入待ち」も発生する。
図12では、実装時間P1a、実装時間P1b、実装時間P2のそれぞれが、P1a<P2<P1bの関係を満たす。図12の動作例においても、搬送ライン2A、2Bが後段の部品実装装置Mch2への基板Sの搬入を同期させる必要がある。この動作例では、上段の「バッファー無し」の場合は、部品実装装置Mch1から部品実装装置Mch2へ基板Sを搬出するにあたり「搬出待ち」が生じ、下段の「バッファー有り」の場合は、バッファーBufから部品実装装置Mch2へ基板Sを搬出するにあたり「搬出待ち」が生じる。また、バッファーBufの有無に関わらず、各搬送ライン2A、2Bでは、部品実装装置Mch2において「対向待ち」が発生している。さらに、バッファーBufおよび部品実装装置Mch2では、「搬入待ち」も発生する。
図13では、部品実装装置Mch1が搬送ライン2A、2Bの1枚の基板Sに対する実装を完了するのに要する実装時間P1、部品実装装置Mch2が搬送ライン2Aの1枚の基板Sに対する実装を完了するのに要する実装時間P2a、部品実装装置Mch2が搬送ライン2Bの1枚の基板Sに対する実装を完了するのに要する実装時間P2bのそれぞれが、P1<P2a<P2bの関係を満たす。図13の動作例では、搬送ライン2A、2Bが前段の部品実装装置Mch1への基板Sの搬入を同期させる必要がある。この動作例では、バッファーBufの有無に関わらず、部品実装装置Mch1では「対向待ち」が生じる。その結果、上段の「バッファー無し」の場合は、部品実装装置Mch2が基板Sを搬入するにあたり「搬入待ち」が生じ、下段の「バッファー有り」の場合は、バッファーBufが基板Sを搬入するにあたり「搬入待ち」が生じている。また、部品実装装置Mch2の実装に要する時間P2a、P2bが部品実装装置Mch1の実装に要する時間よりも長いため、上段の「バッファー無し」の場合は、部品実装装置Mch1が部品実装装置Mch2に基板Sを搬出するにあたり「搬出待ち」が生じ、下段の「バッファー有り」の場合は、バッファーBufが部品実装装置Mch2に基板Sを搬出するにあたり「搬出待ち」が生じている。
図14では、実装時間P1、実装時間P2a、実装時間P2bのそれぞれが、P2a<P1<P2bの関係を満たす。図14の動作例では、搬送ライン2A、2Bが前段の部品実装装置Mch1への基板Sの搬入を同期させる必要がある。この動作例では、バッファーBufの有無に関わらず、部品実装装置Mch1では「対向待ち」が生じる。その結果、上段の「バッファー無し」の場合は、部品実装装置Mch2が基板Sを搬入するにあたり「搬入待ち」が生じ、下段の「バッファー有り」の場合は、バッファーBufが基板Sを搬入するにあたり「搬入待ち」が生じている。また、部品実装装置Mch2が搬送ライン2Bの基板Sへの実装に要する時間T2bが、部品実装装置Mch1が搬送ライン2Bの基板Sへの実装に要する時間T1よりも長い。そのため、下段の「バッファー有り」の場合は、バッファーBufが部品実装装置Mch2に基板Sを搬出するにあたり「搬出待ち」が生じている。
これら上記の第1〜第4動作例のように、同期型および非同期型の部品実装装置1を含む部品実装システム100では、搬送ライン2A、2Bに対して最初の基板Sa(1)、Sb(1)が同時に搬入されたとしても、以後の基板Sの搬入タイミングは必ずしも同時ではない。そして、搬送ライン2A、2Bへの基板Sの搬入タイミングの違いが、「搬出待ち」「搬入待ち」「対向待ち」の発生タイミングや長さに影響し(換言すれば、部品実装装置1での基板Sへの部品の実装の進捗状況に影響し)、その結果、各搬送ライン2A、2BでのサイクルタイムTcyも影響受ける。したがって、かかる部品実装システム100のサイクルタイムTcyを求めるにあたっては、図7および図8で例示した手法を用いることが好適となる。つまり、当該手法によれば、I枚目の基板Sを搬送ライン2A、2Bに搬入するタイミングが、I枚目の基板Sの搬入先となる当該搬送ライン2A、2Bで実行される(I−1)枚目の基板Sへの実装処理の進捗に応じて、複数の搬送ライン2A、2Bのそれぞれについて個別に設定される。その結果、基板Sへの部品の実装の進捗状況が各搬送ライン2A、2Bによって異なるために、複数の搬送ライン2A、2Bの間で基板Sの搬入タイミングに違いが生じたとしても、サイクルタイムを正確に求めることが可能となる。