(57)【特許請求の範囲】
【請求項１】
部品を基板に実装する際に発生した異常を検出しその原因を提示する異常検出装置を具備してなる部品実装装置であって、
前記部品を基板上に搬送供給する供給装置と、
供給された前記部品を前記基板に装着する装着装置と、
前記供給装置または前記装着装置において発生した異常を検出する異常検出装置と、
前記異常の原因推定に要する処理を行う演算装置と、
前記各装置を制御する全体制御装置と、を有し、
前記演算装置は、前記異常の発生が検出された回数を特定する装置情報と、前記発生が検出された異常の原因を特定する原因情報との少なくとも２種類の情報を記憶する記憶部と、
前記装置情報と前記原因情報とを用いて、複数の異常の原因候補の中から異常の原因となったものを判定する関数を作成する処理と、異常が検出された場合、前記関数と該異常の発生が検出された時点での前記異常の発生が検出された回数とを用いて前記異常の原因を提示する処理と、を行う制御部と、
を有することを特徴とする部品実装装置。
【請求項２】
請求項１に記載の部品実装装置であって、
前記制御部は、前記装置情報を入力としたときの前記関数の出力値と、前記原因情報を基に算出した値との差分が小さくなるように前記関数を作成する処理を行うことを特徴とする部品実装装置。
【請求項３】
請求項１に記載の部品実装装置であって、
前記部品実装装置の複数がバスを介して接続される場合にあって、
前記制御部は、前記複数の部品実装装置のそれぞれが有する前記装置情報と、前記複数の部品実装装置のそれぞれが有する前記原因情報とを用いて、前記関数を作成する処理または、前記関数ごとに異なる前記装置情報または異なる前記原因情報を用いて複数の前記関数を作成する処理を行うことを特徴とする部品実装装置。
【請求項４】
請求項３に記載の部品実装装置であって、
前記装置情報を取得する対象範囲を、前記複数の部品実装装置のいずれにするかは前記部品実装装置が有する入力部を介して入力される指示により決定されることを特徴とする部品実装装置。
【請求項５】
請求項１に記載の部品実装装置であって、
前記制御部は、前記原因候補を複数のグループに分類し、分類された前記複数のグループの中から異常の原因を含むグループを判定する関数を作成する処理と、
前記関数を用いて異常の原因を含むグループを判定し、判定された該グループを提示する処理とを行うことを特徴とする部品実装装置。
【請求項６】
請求項５に記載の部品実装装置であって、
前記供給装置は、前記部品を供給するフィーダを備え、
前記制御部は、前記分類された複数のグループとして、前記部品実装装置が装着する部品の形状に起因する異常の原因候補と、前記部品を吸着する吸着ノズルが該部品を吸着する位置に起因する異常の原因候補と、を含むフィーダグループを有し、
前記関数を用いて前記フィーダグループに異常の原因が含まれるか否かを提示する処理を行うことを特徴とする部品実装装置。
【請求項７】
請求項５に記載の部品実装装置であって、
前記装着装置は、前記部品を吸着する吸着ノズルを備え、
前記制御部は、前記分類された複数のグループとして、前記吸着ノズルに起因する複数の原因候補を含む吸着ノズルグループを有し、
前記関数を用いて前記吸着ノズルグループに異常の原因が含まれるか否かを提示する処理を行うことを特徴とする部品実装装置。
【請求項８】
請求項１に記載の部品実装装置であって、
前記演算装置の少なくとも一つが、前記部品実装装置の外部に設けられネットワークを介して前記部品実装装置と接続されることを特徴とする部品実装装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップマウンタなどの部品を基板に実装する部品実装装置に関し、特に部品を基板に実装する際に発生した異常を検出しその原因を提示する異常検出装置を備えた部品実装装置に関する。
【背景技術】
【０００２】
電子部品を回路基板に装着する部品実装装置では、部品供給装置のフィーダに保持されている部品を、装着ヘッドの吸着ノズルで吸着して、回路基板の所定の位置に搬送して装着する。
【０００３】
このような部品実装装置では、フィーダに保持されている部品の保持位置のずれや吸着ノズルの詰りなどにより、吸着ノズルがフィーダから部品を吸着できないといった異常が生じることがある。
【０００４】
このような異常が生じると、異常の原因を特定し、特定した異常の原因を取り除くまで部品実装装置の稼働を止めなければならず、部品実装装置の生産能力が低下する。従って、このような異常の原因を素早く特定し対策を行うことが必要となる。
【０００５】
特許文献１には、実施したメンテナンスの内容を示す情報と、部品実装装置で発生したトラブルの内容を示す情報と、部品実装装置を復旧させるために講じた対策の内容を示す情報と、から、回路基板に異常が発生した場合に、異常が発生した要因を抽出し、要因を解消するための対策を決定するための技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特願2004-144775号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の技術では、装置に記録されたデータと異常の原因との対応関係を事前に定義しておき、異常発生時に前記対応関係を用いて装置に記録されたデータから異常の原因を推定する。
【０００８】
装置に発生する異常の原因は、装置の設置されている環境によって変化する。例えば、埃の多い環境では吸着ノズルの詰まりが多く発生する。
特許文献１に記載の技術では、装置の設置されている環境に合わせて、前記対応関係を修正することができない。そのため、例えば吸着ノズルの詰まりが多く発生する環境であっても他の異常を原因として推定してしまう場合があり、そのような場合には、異常の原因の分析に多くの時間がかかってしまうことになる。そして、異常の原因を分析している間は部品実装装置が停止しているため、この場合、部品実装装置の生産能力は低下することになる。
【０００９】
そこで、本発明の目的は、装置に記録されたデータと異常の原因との対応関係を装置の設置されている環境に合わせて修正し、修正した対応関係を利用して異常の原因を推定することが可能な異常検出装置を備えた部品実装装置を提供することである。
【課題を解決するための手段】
【００１０】
以上の課題を解決するため、本発明は、異常発生時の装置の状態を示すデータと異常の原因を示すデータとを用いて、異常発生時の装置の状態を示すデータと異常の原因との間の対応関係を表す数式を修正することにより、異常発生時に推定される異常の原因を装置の設定されている環境に合わせて修正する。
【００１１】
例えば、本発明は、吸着ノズルの異常発生時点での異常回数比率をフィーダの異常発生時点での異常回数比率で除した値を特定する装置情報と、異常の原因を特定する原因情報と、前記装置情報の値を入力として異常の各原因候補について数値を出力する数式の係数を特定する係数情報と、を記憶する記憶部と、制御部と、を備え、前記制御部は、前記係数情報の更新を指示された場合に、前記原因情報を実数に変換する処理と、前記実数と前記装置情報の値を前記数式に入力することにより出力される値との差分が最も小さくなるように前記数式の係数を決定し前記係数情報に格納する処理と、を行うことと、異常が発生した際に、前記係数情報に格納された値を係数とし、吸着ノズルの異常発生時点での異常回数比率をフィーダの異常発生時点での異常回数比率で除した値を入力として、前記数式を用いて異常の各原因候補について数値を出力する処理と、前記原因候補について数値の最も大きいものを異常の原因として出力する処理と、を行うことを特徴とする。
【発明の効果】
【００１２】
本発明によれば、異常発生時に推定される異常の原因を、装置の設定された環境に応じて修正することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の部品実装装置の構成図。
【図２】フィーダベース、ヘッド、ビームおよび基板の上面図。
【図３】ヘッドの下面図。
【図４】装着情報テーブルの一例を示す概略図。
【図５】装置情報テーブルの一例を示す概略図。
【図６】演算装置の構成図。
【図７】異常履歴情報テーブルの一例を示す概略図。
【図８】装置動作情報テーブルの一例を示す概略図。
【図９】異常回数情報テーブルの一例を示す概略図。
【図１０】異常回数比率情報テーブルの一例を示す概略図。
【図１１】フィーダ異常回数情報テーブルの一例を示す概略図。
【図１２】推定結果情報テーブルの一例を示す概略図。
【図１３】係数情報テーブルの一例を示す概略図。
【図１４】学習情報テーブルの一例を示す概略図。
【図１５】異常発生時に演算装置が実行する処理を示すフローチャート。
【図１６】異常の原因推定を指示された時に、演算装置が実行する処理を示すフローチャート。
【図１７】異常の原因の推定後に表示される画像の例を示す図。
【図１８】学習処理を指示された時に、演算装置が実施する処理を示すフローチャート。
【図１９】学習指示の入力時に表示される画像の例を示す図。
【図２０】学習処理の結果を示すグラフ。
【図２１】本実施例に係る演算装置を構成するコンピュータの一例を示す図。
【発明を実施するための形態】
【００１４】
以下に、図面を用いて実施例を詳述する。
【００１５】
図１は、本発明の一実施形態である部品実装装置１００の概略図である。図示するように、部品実装装置１００は、供給装置１１０と、装着装置１２０と、異常検出装置１３０と、全体制御装置１４０と、演算装置１５０と、入力部１７０と、出力部１７１と、通信ＩＦ部１７２と、を備え、これらはバス１７３を介して相互に接続されている。
【００１６】
また部品実装装置１００は、バス１７３を介して部品実装装置１００と同様に供給装置、装着装置、異常検出装置、全体制御装置、演算装置、入力部、出力部、通信ＩＦ部及びバスを有する他の部品実装装置２００と相互に接続されている。
【００１７】
なお、図１では、演算装置１５０は、部品実装装置１００や２００などの装置内に設けられているが、本部品実装装置の外部にＬＡＮなどの通信回線を介して設けられたパソコン内に設けることもできる。その際に、演算装置１５０のすべてを本部品実装装置の外部に設けても良いし、その一部を本部品実装装置の外部に設けても良い。
【００１８】
以下に、上述した供給装置、装着装置、異常検出装置、全体制御装置、演算装置、入力部、出力部、および通信ＩＦ部のそれぞれに関して詳述する。
《供給装置について》
供給装置１１０は、フィーダベース１１１と、ＩＦ部１１２と、を備える。
図２には、フィーダベース１１１、ヘッド１２１及びビーム１２２の概略図が示されている。フィーダベース１１１には、複数のフィーダ１１１ａが配置される。ここで、フィーダ１１１ａは、後述する全体制御装置１４０の指示に応じて、フィーダ１１１ａの保持している部品が、後述する吸着ノズル１２３に吸着された場合に、保持している残りの部品を吸着ノズル１２３の吸着可能な位置にまで搬送する。
また、ＩＦ部１１２は、バス１７３を介して情報の送受信を行うためのインタフェースである。
《装着装置について》
装着装置１２０は、ヘッド１２１と、ビーム１２２と、吸着ノズル１２３と、駆動制御部１２４と、ＩＦ部１２５と、を備える。
ヘッド１２１は、図２に示されているように、ビーム１２２に沿って、一つの座標軸方向（図２では、Ｘ方向）に移動させることができるようにされている。
ビーム１２２は、図２に示されているように、ガイド１２２ａに沿って、ヘッド１２１が移動する座標軸方向と交差する他の座標軸方向（図２では、Ｙ方向）に移動することができるようにされている。
そして、ヘッド１２１及びビーム１２２をＸ方向及びＹ方向に移動させることにより、予め定められた吸着ノズル１２３で、フィーダベース１１１に搭載されているフィーダ１１１ａより部品を吸着し、基板１８０の予め定められた位置に部品を装着できるようにされている。
【００１９】
駆動制御部１２４は、後述する全体制御装置１４０からの指示に応じて、後述する装着情報テーブル１４２ａで特定される装着順序及び装着位置に部品を装着するよう、ヘッド１２１、ビーム１２２及び吸着ノズル１２３を制御する。また、駆動制御部１２４は、吸着ノズル１２３で部品を吸着するよう制御した際に、部品を吸着したことを示す吸着情報を、ＩＦ部１２５を介して、全体制御装置１４０に送信する処理を行う。
【００２０】
ＩＦ部１２５は、バス１７３を介して情報の送受信を行うためのインタフェースである。
《異常検出装置について》
異常検出装置１３０は、異常検出部１３１と、ＩＦ部１３２と、を備える。
【００２１】
異常検出部１３１は、全体制御装置１４０から異常の判定を指示されると、吸着ノズル１２３による部品の吸着異常を判定する。例えば、吸着ノズル１２３に吸着された部品の位置、形状、姿勢等を撮像して、パターンマッチング等により、これらに異常がないか判定する。
【００２２】
そして、異常検出部１３１は、部品の吸着異常と判定すると、全体制御装置１４０に、異常の発生を特定する異常発生情報を出力する。
【００２３】
ＩＦ部１３２は、バス１７３を介して情報の送受信を行うためのインタフェースである。
《全体制御装置について》
全体制御装置１４０は、記憶部１４１と、全体制御部１４４と、ＩＦ部１４５と、を備える。
【００２４】
記憶部１４１は、装着情報記憶領域１４２と装置情報記憶領域１４３とを備える。
【００２５】
まず、装着情報記憶領域１４２には、部品の装着順序及び吸着順序と、部品を基板に装着する位置と、部品を吸着する吸着ノズル１２３の位置と、部品を供給するフィーダ１１１aの位置と、を特定する装着情報が記憶される。例えば、本実施形態においては、図４に示されるような装着情報テーブル１４２ａが記憶されている。
図示するように、装着情報テーブル１４２ａは、順序フィールド１４２ｂと、部品装着座標フィールド１４２ｃと、吸着ノズル番号フィールド１４２ｄと、フィーダ番号フィールド１４２ｅと、を有する。
【００２６】
順序フィールド１４２ｂには、部品の装着順序と、部品の吸着順序と、を特定する情報が格納される。ここで、本実施形態においては、部品の装着順序及び吸着順序が同じになるようにしているが、これらが別々の順番になるようにしてもよい。
【００２７】
部品装着座標フィールド１４２ｃには、フィーダ番号フィールド１４２ｅで特定されるフィーダ１１１ａのフィーダベース１１１における搭載位置から吸着される種類の部品を、基板１８０に装着する位置を特定する情報が格納される。
【００２８】
吸着ノズル番号フィールド１４２ｄには、フィーダ番号フィールド１４２ｅで特定され
るフィーダ１１１ａのフィーダベース１１１における搭載位置に配置される種類の部品を吸着する吸着ノズル１２３のヘッド１２１における位置を特定する情報が格納される。ここで、位置を特定する情報として、ヘッド１２１において吸着ノズル１２３を搭載する位置に対して一意となるように割り振られた吸着ノズル番号が格納される。
【００２９】
フィーダ番号フィールド１４２ｅには、順序フィールド１４２ｂで特定される順序において、部品装着座標フィールド１４２ｃで特定される座標に装着される部品を保持するフィーダ１１１ａのフィーダベース１１１における搭載位置を特定する情報が格納される。ここで、本実施形態においては、フィーダベース１１１における搭載位置を特定する情報として、フィーダベース１１１における搭載位置を一意に識別するための識別情報であるフィーダ番号が格納される。
【００３０】
次に、装置情報記憶領域１４３には、部品実装装置１００の個体と、部品実装装置１００の機種と、を特定する装置情報が記憶される。例えば、本実施形態においては、図５に示されるような装置情報テーブル１４３aが記憶されている。
【００３１】
図示するように、装置情報テーブル１４３aは、装置IDフィールド１４２ｂと、装置機種フィールド１４２ｃと、を有する。
【００３２】
装置IDフィールド１４３ｂには、部品実装装置１００の個体を特定する情報が格納される。
【００３３】
装置機種フィールド１４２ｃには、部品実装装置１００の機種を特定する情報が格納される。ここで、部品実装装置１００の装置機種フィールド１４２ｃに格納された情報が、部品実装装置２００の装置機種フィールドに格納された情報と一致している場合、部品実装装置１００と部品実装装置２００は類似の構成の装置であることを示している。
【００３４】
全体制御部１４４は、供給装置１１０、装着装置１２０、異常検出装置１３０、演算装置１５０、入力部１７０、出力部１７１及び通信ＩＦ部１７２で行う処理を制御する。
【００３５】
例えば、全体制御部１４４は、供給装置１１０及び装着装置１２０に対して、図４で示す装着情報テーブル１４２ａで特定される順序、図１で示す吸着ノズル１２３及び装着座標に部品が装着されるように必要な指示を出力する。
【００３６】
また、全体制御部１４４は、必要なタイミングで部品及び当該部品の吸着姿勢の異常を検出するように、異常検出装置１３０に必要な指示を出力する。
【００３７】
そして、全体制御部１４４は、異常検出装置１３０が異常を検出すると、演算装置１５０に、異常の発生を示す情報と、異常の発生した時刻を示す情報と、異常の発生した時に部品の吸着動作を行った吸着ノズル１２３のヘッド１２１における位置を特定する情報と、異常の発生した時に部品の吸着動作を吸着ノズル１２３により行われたフィーダ１１１a（図２参照）のフィーダベース１１１における位置を特定する情報と、を送信する。送信後に、全体制御部１４４は、異常の発生した吸着動作を再度実行する。
【００３８】
さらに、全体制御部１４４は、異常検出装置１３０が特定の条件を満たす回数の異常を検出した場合に、部品の装着を停止し、異常検出装置１３０に装置停止を示す情報を送信する。ここで特定の条件とは、例えば、１分間以内に１０回の異常が異常検出装置１３０に検出されることである。
【００３９】
ＩＦ部１４５は、バス１７３を介して情報の送受信を行うためのインタフェースである。
《演算装置について》
図６は、演算装置１５０の概略図である。図示するように、演算装置１５０は、記憶部１５１と、制御部１６０と、入力部１６４と、出力部１６５と、ＩＦ部１６６と、を備える。
【００４０】
１）記憶部について
記憶部１５１は、異常履歴情報記憶領域１５２と、装置動作情報記憶領域１５３と、異常回数情報記憶領域１５４と、異常回数比率情報記憶領域１５５と、フィーダ異常回数情報記憶領域１５６と、係数情報記憶領域１５８と、推定結果情報記憶領域１５８と、学習情報記憶領域１５９と、を備える。
【００４１】
まず、異常履歴情報記憶領域１５２には、異常の発生した順番を特定する情報と、異常の発生時刻と、異常の発生した吸着ノズルの位置と、異常の発生したフィーダの位置と、異常の原因推定に用いる値と、異常の原因と、を特定する異常履歴情報が記憶される。例えば、本実施形態においては、図７に示されるような異常履歴情報テーブル１５２aが記憶されている。
【００４２】
図示するように、異常履歴情報テーブル１５２aは、IDフィールド１５２ｂと、時刻フィールド１５２ｃと、吸着ノズル番号フィールド１５２ｄと、フィーダ番号フィールド１５２eと、変数１フィールド１５２ｆと、変数２フィールド１５２ｇと、原因フィールド１５２ｈと、を有する。
【００４３】
IDフィールド１５２ｂの各行には、部品実装装置１００に発生した異常の順番を特定する情報が各々格納される。IDフィールド１５２ｂに記憶される値が小さい異常ほど、早くに発生した異常となる。
【００４４】
時刻フィールド１５２ｃの各行には、IDフィールド１５２ｂに格納される値にて特定される異常の発生した時刻を特定する情報が各々格納される。
【００４５】
吸着ノズル番号フィールド１５２ｄの各行には、IDフィールド１５２ｂに格納される値にて特定される異常の発生した、吸着ノズル１２３のヘッド１２１における位置を特定する情報が各々格納される。
【００４６】
フィーダ番号フィールド１５２eの各行には、IDフィールド１５２ｂに格納される値にて特定される異常の発生した、フィーダ１１１aのフィーダベース１１１における位置を特定する情報が各々格納される。
【００４７】
変数１フィールド１５２ｆの各行には、IDフィールド１５２ｂに格納される値にて特定される異常の発生時に、後述する原因推定部１６２の演算に用いられた値を特定する情報が各々格納される。ここで、異常の発生時に原因推定部１６２による演算が行われなかった場合には、値が格納されずに空欄となる。
【００４８】
変数２フィールド１５２ｇの各行には、IDフィールド１５２ｂに格納される値にて特定される異常の発生時に、後述する原因推定部１６２の演算に用いられた値を特定する情報が各々格納される。ここで、異常の発生時に原因推定部１６２による演算が行われなかった場合には、値が格納されずに空欄となる。
【００４９】
原因フィールド１５２ｈの各行には、IDフィールド１５２ｂに格納される値にて特定される異常の原因を特定する情報が各々格納される。ここで、異常の発生時に原因が入力されなかった場合には、値が格納されずに空欄となる。
【００５０】
次に、装置動作情報記憶領域１５３には、部品実装装置１００の特定の部品又は部位の動作回数を特定する装置動作情報が記憶される。例えば、本実施形態においては、図８に示すような装置動作情報テーブル１５３ａが記憶される。
【００５１】
図示するように、装置動作情報テーブル１５３ａは、吸着ノズル番号フィールド１５３ｂと、フィーダ番号フィールド１５３ｃと、吸着回数フィールド１５３ｄと、を有する。
【００５２】
吸着ノズル番号フィールド１５３ｂの各々の行には、吸着ノズル１２３のヘッド１２１における位置を特定する情報が各々格納される。
【００５３】
フィーダ番号フィールド１５３ｃの各々の列には、フィーダ１１１ａのフィーダベース１１１における位置を特定する情報が各々格納される。
【００５４】
そして、吸着回数フィールド１５３ｄには、吸着ノズル番号フィールド１５３ｂの各々の行で特定される位置に配置されている吸着ノズル１２３で、フィーダ番号フィールド１５３ｃの各々の列で特定される位置に搭載されているフィーダ１１１ａより部品を吸着した回数を特定する情報が格納される。なお、吸着回数フィールド１５３ｄには、初期値として「０」の値が格納される。
【００５５】
ここで、本実施形態においては、装置動作情報記憶領域１５３に、吸着ノズル１２３とフィーダ１１１ａとの組合せによる吸着回数を格納するようにしているが、このような態様に限定されるものではなく、部品実装装置１００の特定の部品又は部位の動作回数を特定する他の指標を格納することも可能である。
【００５６】
次に、異常回数情報記憶領域１５４には、部品実装装置１００の特定の部品又は部位において異常が発生した回数を特定する情報が記憶される。例えば、本実施形態においては、図９に示すような異常回数情報テーブル１５４ａが記憶される。
【００５７】
図示するように、異常回数情報テーブル１５４ａは、吸着ノズル番号フィールド１５４ｂと、フィーダ番号フィールド１５４ｃと、異常回数フィールド１５４ｄと、を有する。
【００５８】
吸着ノズル番号フィールド１５４ｂの各々の行には、吸着ノズル１２３のヘッド１２１における位置を特定する情報が各々格納される。
【００５９】
フィーダ番号フィールド１５４ｃの各々の列には、フィーダ１１１ａのフィーダベース１１１における位置を特定する情報が各々格納される。
【００６０】
そして、異常回数フィールド１５４ｄには、吸着ノズル番号フィールド１５４ｂの各々の行で特定される位置に配置されている吸着ノズル１２３で、フィーダ番号フィールド１５４ｃの各々の列で特定される位置に搭載されているフィーダ１１１ａより部品を吸着した際に異常が計測された回数を特定する情報が格納される。なお、異常回数フィールド１５４ｄには、初期値として「０」の値が格納される。
【００６１】
次に、異常回数比率情報記憶領域１５５には、部品実装装置１００の特定の部品又は部位において異常が発生した比率を特定する異常回数比率集計情報が記憶される。例えば、本実施形態においては、図１０に示すような異常回数比率情報テーブル１５５ａが記憶される。
【００６２】
図示するように、異常回数比率情報テーブル１５５ａは、吸着ノズル番号フィールド１５５ｂと、フィーダ番号フィールド１５５ｃと、異常回数比率フィールド１５５ｄと、を有する。
【００６３】
吸着ノズル番号フィールド１５５ｂの各々の行には、吸着ノズル１２３のヘッド１２１における位置を特定する情報が各々格納される。
【００６４】
フィーダ番号フィールド１５５ｃの各々の列には、フィーダ１１１ａのフィーダベース１１１における位置を特定する情報が各々格納される。
【００６５】
そして、異常回数比率フィールド１５５ｄには、吸着ノズル番号フィールド１５５ｂの各々の行で特定される位置に配置されている吸着ノズル１２３で、フィーダ番号フィールド１５５ｃの各々の列で特定される位置に搭載されているフィーダ１１１ａより部品を吸着した際に異常が計測された回数と、吸着ノズル番号フィールド１５５ｂの各々の行で特定される位置に配置されている吸着ノズル１２３で、フィーダ番号フィールド１５５ｃの各々の列で特定される位置に搭載されているフィーダ１１１ａより部品を吸着した回数との、比を特定する情報が格納される。なお、異常回数比率フィールド１５５ｄには、初期値としてデータがないことを示す「−」の値が格納される。
【００６６】
次に、フィーダ異常回数情報記憶領域１５６には、フィーダベース１１１に搭載されたフィーダ１１１aから部品を吸着した際に発生した異常の回数を特定する情報が記憶される。例えば、本実施形態においては図１１に示すようなフィーダ異常回数情報テーブル１５６aが記憶される。
【００６７】
図示するように、フィーダ異常回数情報テーブル１５６aは、フィーダ番号フィールド１５６ｂと、異常回数フィールド１５６ｃと、を有する。
【００６８】
フィーダ番号フィールド１５６ｂには、フィーダ１１１ａのフィーダベース１１１における位置を特定する情報が格納される。
【００６９】
異常回数フィールド１５６ｃには、フィーダ番号フィールド１５６ｂで特定される位置に搭載されたフィーダ１１１ａから部品を吸着する際に、異常が発生した回数を特定する情報が格納される。
【００７０】
次に、係数情報記憶領域１５７には、後述する原因推定部１６２の演算実行時に、数式に入力される値を特定する情報が格納される。例えば、本実施形態においては、図１２に示すような係数情報テーブル１５７aが記憶される。
【００７１】
図示するように、係数情報テーブル１５７aは、数式IDテーブル１５７ｂと、係数aテーブル１５７ｃと、係数ｂテーブル１５７ｄと、を有する。
【００７２】
数式IDテーブル１５７ｂには、原因推定部１６２が演算実行時に用いる数式を特定する情報が格納される。
【００７３】
係数aテーブルには、原因推定部１６２の演算実行時に、数式IDテーブル１５７ｂにて特定される数式の係数aに入力される値を特定する情報が格納される。
【００７４】
係数ｂテーブルには、原因推定部１６２の演算実行時に、数式IDテーブル１５７ｂにて特定される数式の係数ｂに入力される値を特定する情報が格納される。
【００７５】
次に、推定結果情報記憶領域１５８には、部品実装装置１００において発生した異常の原因を特定する推定結果情報が格納される。例えば、本実施形態においては、図１３に示すような推定結果情報テーブル１５８ａが記憶される。
【００７６】
図示するように、推定結果情報テーブル１５８ａは、原因候補グループ名称フィールド１５８ｂと、原因候補グループ推定結果フィールド１５８ｃと、原因候補名称フィールド１５８ｄと、原因候補推定結果フィールド１５８ｅと、を有する。
原因候補グループ１５８ｂには、部品実装装置１００において発生する異常に対する原因のグループを特定する情報が格納される。本実施形態においては、異常の原因のグループとして異常が発生する部位の名称（ここでは、「吸着ノズル」または「フィーダ」）を特定する情報が格納される。後述する原因候補名称フィールド１５８ｄに格納される情報にて特定される原因候補は、原因候補グループ１５８ｂに格納される情報のうち同一行に格納される情報にて特定される原因候補グループに属すると定義される。本実施形態では、「吸着ノズル汚れ」及び「吸着ノズル摩耗」は「吸着ノズル」の原因候補グループに属すると定義されている。
【００７７】
原因候補グループ推定結果フィールド１５８ｃには、部品実装装置１００で発生した異常に対して、原因候補グループフィールド１５８ｂにて特定されるグループに属する原因候補が寄与している可能性の高低を特定する情報が格納される。例えば、本実施形態においては、本フィールドに「１」が格納されている場合には、部品実装装置１００で発生した異常に対して、原因候補グループフィールド１５８ｂで特定されるグループに属する原因候補が寄与している可能性が高いことを示し、一方、「０」が格納されている場合には可能性が低いことを示す。
【００７８】
原因候補名称フィールド１５８ｄには、原因候補名称グループフィールド１５８ｂで特定される原因候補のグループに属する原因候補を特定する情報が格納される。本実施形態においては、本フィールドには、原因候補グループフィールド１５８ｂで特定される名称の部位に発生する可能性のある異常の原因を特定する情報（ここでは、吸着ノズル１２３の汚れや吸着ノズル１２３の摩耗、フィーダ１１１aに搭載される部品の吸着位置のズレや、フィーダ１１１aに搭載される部品形状の不良）が格納される。
【００７９】
原因候補推定結果フィールド１５８ｅには、部品実装装置１００で発生した異常に対して、原因候補フィールド１５８ｄで特定される原因が寄与している可能性の高低を特定する情報が格納される。例えば、本実施形態においては、本フィールドに「１」が格納されている場合には、部品実装装置１００で発生した異常に対して、原因候補フィールド１５８ｄで特定される原因候補が寄与している可能性が高いことを示し、一方、「０」が格納されている場合には可能性が低いことを示す。
【００８０】
次に、学習情報記憶領域１５９には、後述する学習処理部１６３の演算に用いられる値を特定する情報が格納される。例えば、本実施形態においては、図１４に示すような学習情報テーブル１５９aが記憶される。
【００８１】
図示するように、学習情報テーブル１５９aは、変数テーブル１５９ｂと、原因テーブル１５９ｃと、を有する。
変数テーブル１５９ｂには、後述する原因推定部１６２の演算に用いられた値を特定する情報が格納される。
原因テーブル１５９ｃには、部品実装装置１００に発生した異常の原因を特定する情報が格納される。本実施形態においては、原因候補グループ及び原因候補に数値を割り当て、異常の原因が該当する原因候補グループ及び原因候補に割り当てられた数値を特定する情報が格納される（例えば、「吸着ノズル」に「１」を「フィーダ」に「０」を割り当てておき、「吸着ノズル汚れ」が異常の原因であった場合には、「吸着ノズル汚れ」が属する原因候補グループである「吸着ノズル」に割り当てられた値である１が格納される）。
【００８２】
２）制御部について
制御部１６０は、演算制御部１６１と、原因推定部１６２と、学習処理部１６３と、を備える。
演算制御部１６１は、演算装置１５０での処理の全体を制御する。
まず、演算制御部１６１は、異常検出装置１３０及び全体制御装置１４０より必要な情報を取得して、異常履歴情報記憶領域１５２に記憶し、更新する処理を行う。
【００８３】
次に、原因推定部１６２は、演算装置１５０のオペレータからの指示に応じて、装置動作情報テーブル１５３ａ及び異常履歴情報テーブル１５４ａに格納されている情報より、吸着ノズル１２３及びフィーダ１１１ａの組合せ毎の異常回数比率を算出して、異常回数比率情報テーブル１５５ａに格納する処理と、異常履歴情報テーブル１５４aに格納されている情報より、フィーダ１１１aの異常回数を算出して、フィーダ異常回数情報テーブル１５７aに格納する処理とを行う。
【００８４】
また、原因推定部１６２は、異常の発生した吸着ノズル１２３とフィーダ１１１ａとについて、各々の異常回数比率の分散を算出して比較することにより、吸着ノズル１２３及びフィーダ１１１ａの何れに異常が発生している可能性が高いかを特定（推定）し、推定に用いた変数を異常履歴情報テーブル１５４aに格納する。
【００８５】
また、原因推定部１６２は、異常の発生したフィーダ１１１aについて、フィーダ異常回数を用いて、部品の位置のズレと部品形状の不良のどちらが異常の原因である可能性が高いかを特定（推定）し、推定に用いた変数を異常履歴情報テーブル１５４aに格納する。
【００８６】
さらに、原因推定部１６２は、異常の原因となっている可能性の高い原因候補を特定する情報を、あらかじめ定められた形式に加工して、出力部１６５に出力する処理を行い、オペレータの入力した異常の原因を特定する情報を異常履歴情報テーブル１５４aに格納する。
【００８７】
次に、学習処理部１６３は、演算装置１５０のオペレータからの指示に応じて、演算履歴情報テーブル１５４aまたは部品実装装置１００以外の部品実装装置である後述する部品実装装置２００の演算履歴情報テーブルに格納されている情報より、学習を指示された数式に入力された変数を特定する情報を読み込み、学習情報テーブル１５９aに格納する処理と、演算履歴情報テーブル１５４aまたは部品実装装置１００以外の部品実装装置である部品実装装置２００の演算履歴情報テーブルに格納されている情報より、異常の原因を特定する情報を読み込み、数値に変換して、学習情報テーブル１５９aに格納する処理と、を行う。
【００８８】
また学習処理部１６３は、学習情報テーブル１５９aに格納されている情報より、原因推定に用いる数式の出力値と、異常の原因を特定する情報を数値に変換した値との差分が最小となるように、数式の係数を決定し、係数情報テーブル１５７aに格納する処理を行う。
《入出力部、ＩＦ部》
入力部１６４は、情報の入力を受け付ける。
出力部１６５は、情報を出力する。
ＩＦ部１６６は、バス１７３を介して情報の送受信を行うためのインタフェースである。
【００８９】
以上に記載した演算装置１５０は、例えば、図２１（コンピュータ９００の概略図）に示すような、ＣＰＵ（Central Processing Unit）９０１と、メモリ９０２と、ＨＤＤ（Hard Disk Drive）等の外部記憶装置９０３と、ＣＤ（Compact DiＳk）やＤＶＤ（Digital Versatile DiＳk）等の可搬性を有する記憶媒体９０４に対して情報を読み書きする読書装置９０５と、キーボードやマウスなどの入力装置９０６と、ディスプレイなどの出力装置９０７と、バス１７３に接続するためのＩ／Ｆ（InterFace）９０８と、を備えた一般的なコンピュータ９００で実現できる。
【００９０】
記憶部１５１は、例えば、ＣＰＵ９０１がメモリ９０２又は外部記憶装置９０３を利用することにより実現可能であり、制御部１６０は、外部記憶装置９０３に記憶されている所定のプログラムをメモリ９０２にロードしてＣＰＵ９０１で実行することで実現可能であり、入力部１６４は、ＣＰＵ９０１が入力装置９０６を利用することで実現可能であり、出力部１６５は、ＣＰＵ９０１が出力装置９０７を利用することで実現可能であり、ＩＦ部１６６は、ＣＰＵ９０１がＩ／Ｆ９０８を利用することで実現可能である。
【００９１】
この所定のプログラムは、読書装置９０５を介して記憶媒体９０４から、あるいは、図示されていない通信装置を介してネットワークから、外部記憶装置９０３にダウンロードされ、それから、メモリ９０２上にロードされてＣＰＵ９０１により実行されるようにしてもよい。また、読書装置９０５を介して記憶媒体９０４から、あるいは、図示されていない通信装置を介してネットワークから、メモリ９０２上に直接ロードされ、ＣＰＵ９０１により実行されるようにしてもよい。
【００９２】
図１に戻り、入力部１７０は、情報の入力を受け付けるための入力装置であって、例えば、マウスやキーボードなどによって構成することができる。
【００９３】
出力部１７１は、情報を出力する出力装置であって、例えば、ディスプレイなどによって構成することができる。
【００９４】
通信ＩＦ部１７２は、ネットワークを介して、他の装置と情報の送受信を行うためのインタフェースである。
【００９５】
バス１７３は、供給装置１１０、装着装置１２０、異常検出装置１３０、全体制御装置１４０、演算装置１５０、入力部１７０、出力部１７１、通信ＩＦ部１７２及び部品実装装置２００を連結する通信路である。
《別の部品実装装置について》
部品実装装置２００は、部品実装装置１００と同様に、供給装置１１０と同様の構成である供給装置、装着装置１２０と同様の構成である装着装置、異常検出装置１３０と同様の構成である異常検出装置、全体制御装置１４０と同様の構成である全体制御装置、演算装置１５０と同様の構成である演算装置、入力部１７０と同様の構成である入力部、出力部１７１と同様の構成である出力部、通信IF部１７２と同様の構成である通信IF部及びバス１７３と同様の構成であるバスを有する、部品実装装置である。
【００９６】
以下に、演算装置１５０において実行される各種の処理フロー（異常履歴情報の更新処理、異常原因を特定する処理、原因推定に用いる関数の学習処理）に関して詳述する。
《異常履歴情報の更新処理》
図１５は、演算装置１５０において、異常履歴情報を更新する処理を示すフローチャートである。
【００９７】
まず、演算装置１５０の演算制御部１６１は、ＩＦ部１６６を介して、全体制御装置１４０より装着装置１２０の部品吸着に異常が発生したことを示す情報と、異常の発生した時刻を特定する情報と、異常の発生した吸着ノズル１２３のヘッド１２１における位置を特定する情報と、異常の発生したフィーダ１１１aのフィーダベース１１１における位置を特定する情報と、を受信すると、処理を開始する。
【００９８】
ステップＳ１１では、演算制御部１６１は、異常履歴情報テーブル１５２ａにおいて、異常を特定する情報を格納する。
【００９９】
演算制御部１６１は、例えば、ステップＳ１１で、ＩＤフィールド１５２ｂに格納された情報のうち最も大きな値を検索し、最も大きな値に１を足した値を、ＩＤフィールド１５２ｂの最も大きな値が格納された行の次の行に格納する。ここで、ＩＤフィールド１５２ｂに格納された情報が存在しない場合は、「１」をＩＤフィールド１５２ｂの第１行に格納する。ここで、ＩＤフィールド１５２ｂに値を格納した行をｒ１１と呼ぶ。
【０１００】
ステップＳ１２では、演算制御部１６１は、異常履歴情報テーブル１５２aにおいて、異常の発生した時刻を特定する情報を格納する。
【０１０１】
演算装置１６１は、例えば、ステップＳ１２で、時刻情報フィールド１５２ｃのｒ１１行に、全体制御装置１４０より送信された異常の発生した時刻を示す情報を格納する。
【０１０２】
ステップＳ１３では、演算制御部１６１は、異常履歴情報テーブル１５２aにおいて、異常の発生した吸着ノズル１２３のヘッド１２１における位置を特定する情報を格納する。
【０１０３】
演算制御部１６１は、例えば、ステップＳ１３で、吸着ノズル番号フィールド１５２ｄのｒ１１行に、全体制御装置１４０より送信された、異常の発生した吸着ノズル１２３のヘッド１２１における位置を特定する情報を格納する。
【０１０４】
ステップＳ１４では、演算制御部１６１は、異常履歴情報テーブル１５２aにおいて、異常の発生したフィーダ１１１aのフィーダベース１１１における位置を特定する情報を格納する。
【０１０５】
演算制御部１６１は、例えば、ステップＳ１４で、フィーダ番号フィールド１５２eのｒ１１行に、全体制御装置１４０より送信された、異常の発生したフィーダ１１１aのフィーダベース１１１における位置を特定する情報を格納する。
《異常原因を特定する処理》
図１６は、図６で示す演算装置１５０において、異常の原因を特定する処理を示すフローチャートである。
【０１０６】
演算装置１５０の原因推定部１６２は、ＩＦ部１６６を介して全体制御部１４０より異常による装置停止を示す情報を送信されると処理を開始する。
【０１０７】
ステップＳ２１では、原因推定部１６２は、吸着ノズル番号及びフィーダ番号の全ての組合せについて、吸着回数を算出し、装置動作情報テーブル１５３aを生成して、装置動作情報記憶領域１５３に記憶する。
【０１０８】
原因推定部１６２は、例えば、図４に示す吸着ノズル番号フィールド１４２ｄの第１行に格納された情報にて特定される吸着ノズル番号、及びフィーダ番号フィールド１４２ｅの第１行に格納された情報にて特定されるフィーダ番号が、図８で示す吸着ノズル番号フィールド１５３ｂの行およびフィーダ番号フィールド１５３ｃの列にそれぞれ一致する吸着回数フィールド１５３ｄに格納される値に１を追加して、値を更新する。そして、原因推定部１６２は、吸着ノズル番号フィールド１４２ｄの第２行及びフィーダ番号フィールド１４２ｄの第２行から吸着ノズル番号フィールド１４２ｄの最終行及びフィーダ番号フィールド１４２ｅの最終行まで、吸着ノズル番号フィールド１４２ｄの第１行及びフィーダ番号フィールド１４２ｅの第１行に対して行った処理を実行する。
【０１０９】
ステップＳ２２では、原因推定部１６２は、吸着ノズル番号及びフィーダ番号の全ての組合せについて、異常回数を算出し、異常回数情報テーブル１５４aを生成して、異常回数情報記憶領域１５４に記憶する。
【０１１０】
原因推定部１６２は、例えば、異常履歴情報テーブル１５２aの時刻フィールド１５２ｃの最終行に格納された情報を読み込み、全ての行について、異常履歴情報テーブル１５２aの時刻フィールド１５２ｃの最終行に格納された情報にて特定される時刻から事前に定められた時間（例えば１０分）を引いた時刻と、異常履歴情報テーブル１５２aの時刻フィールド１５２ｃに格納された情報にて特定される時刻を比較する。各々の行について、異常履歴情報テーブル１５２aの時刻フィールド１５２ｃの最終行に格納された情報にて特定される時刻から事前に定められた時間（例えば１０分）を引いた時刻よりも異常履歴情報テーブル１５２aの時刻フィールド１５２ｃの全ての行に格納された情報にて特定される時刻が後ろであれば、原因推定部１６２は、吸着ノズル番号フィールド１５２ｄとフィーダ番号フィールド１５２eの同一行に格納された情報をそれぞれ読み込み、吸着ノズル番号フィールド１５２ｄの同一行に格納された情報にて特定される吸着ノズル番号及びフィーダ番号フィールド１５２eの同一行に格納された情報にて特定されるフィーダ番号が、吸着ノズル番号フィールド１５４ｂの行およびフィーダ番号フィールド１５４ｃの列にそれぞれ一致する異常回数フィールド１５４ｄに格納される値に１を追加して、値を更新する。
【０１１１】
ステップＳ２３では、原因推定部１６２は、吸着ノズル番号及びフィーダ番号の全ての組合せにつき、これらの組合せにおける異常回数比率を算出し、異常回数比率情報テーブル１５５ａを生成して、異常回数比率情報記憶領域１５５に記憶する。
【０１１２】
原因推定部１６２は、例えば、吸着ノズル番号及びフィーダ番号の全ての組合せから、任意の組合せを一つずつ特定して、以下のような処理を行う。
【０１１３】
まず、原因推定部１６２は、装置動作情報テーブル１５３ａにおいて、特定された組合せに含まれる吸着ノズル番号及びフィーダ番号が、吸着ノズル番号フィールド１５３ｂの行及びフィーダ番号フィールド１５３ｃの列にそれぞれ一致する吸着回数フィールド１５３ｄの欄から吸着回数を読み込む。
【０１１４】
さらに、原因推定部１６２は、読み込んだ吸着回数が「１」以上である場合には（読み込んだ吸着回数が「１」以上ではない場合には、他の組合せに進む）、異常履歴情報テーブル１５４ａにおいて、特定された組合せに含まれる吸着ノズル番号及びフィーダ番号が、吸着ノズル番号フィールド１５４ｂの行及びフィーダ番号フィールド１５４ｃの列にそれぞれ一致する異常回数フィールド１５４ｄの欄から異常回数を読み込む。
【０１１５】
そして、原因推定部１６２は、読み込んだ吸着回数及び異常回数を用いて、下記の（１）式により、吸着ノズル番号及びフィーダ番号の組合せ毎の異常回数比率を算出して、異常回数比率集計情報テーブル１５５ａにおいて、特定された組合せに含まれる吸着ノズル番号及びフィーダ番号が、吸着ノズル番号フィールド１５５ｂの行及びフィーダ番号フィールド１５５ｃの列にそれぞれ一致する異常回数比率フィールド１５５ｄの欄に算出した異常回数比率を格納する。
【０１１６】
【数１】
0005427054.tif 000002
【０１１７】
ステップＳ２４では、原因推定部１６２は、異常履歴情報テーブル１５２aの吸着ノズル番号フィールド１５２ｄの最終行に格納された情報にて特定される吸着ノズル番号について、分散の値を算出する。ここで、異常履歴情報テーブル１５２aの吸着ノズル番号フィールド１５２ｄの最終行に格納された情報にて特定される吸着ノズル番号は、装置停止の直前に生じた異常の発生した吸着ノズル番号を示している。
【０１１８】
原因推定部１６２は、例えば、異常履歴情報テーブル１５２aの吸着ノズル番号フィールド１５２ｄの最終行に格納された情報にて特定される吸着ノズル番号に一致する情報が、吸着ノズル番号フィールド１５５ｂの行に格納された異常回数比率フィールド１５５ｄの全ての列に格納されている値のうち「−」の値ではないものを全て読み込む。
【０１１９】
そして、読み込んだ値に「１」から順に自然数によるインデックスｉ及びｊを割り振り、下記の（２）式にて、吸着ノズルにおける分散の値を算出する。
【０１２０】
【数２】
0005427054.tif 000003
【０１２１】
ここで、Ｄｉはインデックスｉが割り振られた異常回数比率の値であり、Ｄｊはインデックスｊが割り振られた異常回数比率の値であり、ｎは読み込まれた異常回数比率の値の総数である。
【０１２２】
ステップＳ２４では、原因推定部１６２は、異常履歴情報テーブル１５２aのフィーダ番号フィールド１５２eの最終行に格納された情報にて特定されるフィーダ番号について、分散の値を算出する。ここで、異常履歴情報テーブル１５２aのフィーダ番号フィールド１５２eの最終行に格納された情報にて特定されるフィーダ番号は、装置停止の直前に生じた異常の発生したフィーダ番号を示している。
【０１２３】
原因推定部１６２は、例えば、異常履歴情報テーブル１５２aのフィーダ番号フィールド１５２eの最終行に格納された情報にて特定されるフィーダ番号と一致する情報が、フィーダ番号フィールド１５５ｃの列に格納された異常回数比率フィールド１５５ｄの全ての行に格納されている値のうち「−」の値ではないものを全て読み込む。
【０１２４】
そして、読み込んだ値に「１」から順に自然数によるインデックスｉ及びｊを割り振り、上記の（２）式にて、フィーダにおける分散の値を算出する。
【０１２５】
ステップＳ２５では、原因推定部１６２は、係数情報テーブル１５７aの係数aフィールド１５７ｃの第１行に格納された値と、係数情報テーブル１５７aの係数ｂフィールド１５７ｄの第１行に格納された値とを読み込み、ステップＳ２３で算出した吸着ノズル１２３の分散の値と、ステップＳ２４で算出したフィーダ１１１ａの分散の値と、係数情報テーブル１５７aの係数aフィールド１５７ｃの第１行に格納された値と、係数情報テーブル１５７aの係数ｂフィールド１５７ｄの第１行に格納された値とを、下記の（３）式に入力し、吸着ノズルの原因候補グループに異常の原因となる原因候補が属する可能性の高さ(Pn)を示す値を算出する。
【０１２６】
【数３】
0005427054.tif 000004
【０１２７】
ここで、VnはステップＳ２３で算出した吸着ノズル１２３の分散の値であり、VfはステップＳ２４で算出したフィーダ１１１ａの分散の値であり、a1は係数情報テーブル１５７aの係数aフィールド１５７ｃの第１行に格納された値であり、b1は係数情報テーブル１５７aの係数ｂフィールド１５７ｄの第１行に格納された値である。
【０１２８】
そして、原因推定部１６２は算出した値を、推定結果情報テーブル１５８aの原因候補グループ推定結果フィールド１５８ｃの第１行に格納し、１から算出した値を引いた値を推定結果情報テーブル１５８aの原因候補グループ推定結果フィールド１５８ｃの第２行に格納する。
【０１２９】
更に、原因推定部１６２は、（３）式にて用いた値である下記の（４）式にて算出される変数１を、異常履歴情報テーブル１５２aの変数１フィールド１５２ｆの最終行に格納する。
【０１３０】
【数４】
0005427054.tif 000005
【０１３１】
ステップＳ２６では、原因推定部１６２は、異常履歴情報テーブル１５２aのフィーダ番号フィールド１５２eの最終行に格納される情報にて特定されるフィーダ番号について、異常回数を算出する。
【０１３２】
原因推定部１６２は、例えば、異常履歴情報テーブル１５２aのフィーダ番号フィールド１５２eの最終行に格納された情報を読み込み、フィーダ異常回数情報テーブル１５６aのフィーダ番号フィールド１５６ｂに読み込んだ値を格納し、異常回数フィールド１５６ｃに初期値として「０」を格納する。そして、原因推定部１６２は、異常履歴情報テーブル１５２aの時刻フィールド１５２ｃの最終行に格納された情報を読み込み、全ての行について、異常履歴情報テーブル１５２aの時刻フィールド１５２ｃの最終行に格納された情報にて特定される時刻から事前に定められた時間（例えば１０分）を引いた時刻と、異常履歴情報テーブル１５２aの時刻フィールド１５２ｃに格納された情報にて特定される時刻と、フィーダ番号フィールド１５２eの最終行に格納された情報にて特定されるフィーダ番号と、フィーダ番号フィールド１５２eに格納された情報にて特定されるフィーダ番号と、を比較する。各々の行について、異常履歴情報テーブル１５２aの時刻フィールド１５２ｃの最終行に格納された情報にて特定される時刻から事前に定められた時間（例えば１０分）を引いた時刻よりも異常履歴情報テーブル１５２aの時刻フィールド１５２ｃの全ての行に格納された情報にて特定される時刻が後ろであり、かつ、フィーダ番号フィールド１５２eの最終行に格納された情報にて特定されるフィーダ番号と、フィーダ番号フィールド１５２eに格納された情報にて特定されるフィーダ番号とが一致した場合、原因推定部１６２は、フィーダ異常回数情報テーブル１５６aの異常回数フィールド１５６ｃに格納される値に１を追加して、値を更新する。
【０１３３】
ステップＳ２７では、原因推定部１６２は、係数情報テーブル１５７aの係数aフィールド１５７ｃの第２行に格納された値と、係数情報テーブル１５７aの係数ｂフィールド１５７ｄの第２行に格納された値と、フィーダ異常回数情報テーブル１５６aのフィーダ番号フィールド１５６ｂに格納された値とを読み込み、係数情報テーブル１５７aの係数aフィールド１５７ｃの第１行に格納された値と、係数情報テーブル１５７aの係数ｂフィールド１５７ｄの第１行に格納された値と、フィーダ異常回数情報テーブル１５６aの異常回数フィールド１５６ｃに格納された値とを、下記の（５）式に入力し、部品位置ズレの原因候補が原因となる可能性の高さ(Pf)を示す値を算出する。
【０１３４】
【数５】
0005427054.tif 000006
【０１３５】
ここで、cはフィーダ異常回数情報テーブル１５６aの異常回数フィールド１５６ｃに格納された値であり、a2は係数情報テーブル１５７aの係数aフィールド１５７ｃの第２行に格納された値であり、b2は係数情報テーブル１５７aの係数ｂフィールド１５７ｄの第２行に格納された値である。
【０１３６】
そして、原因推定部１６２は算出した値を、推定結果情報テーブル１５８aの原因候補推定結果フィールド１５８eの第３行に格納し、１から算出した値を引いた値を推定結果情報テーブル１５８aの原因候補推定結果フィールド１５８eの第４行に格納する。
【０１３７】
更に、原因推定部１６２は、（５）式にて用いたフィーダ異常回数情報テーブル１５６aの異常回数フィールド１５６ｃに格納された値を、異常履歴情報テーブル１５２aの変数２フィールド１５２ｇの最終行に格納する。
【０１３８】
ステップＳ２８では、原因推定部１６２は、推定結果情報テーブル１５８ａに格納されている情報を予め定められた表示画面に加工して、出力部１６５、または、ＩＦ部１６６を介して他の装置に出力する。
【０１３９】
原因推定部１６２は、例えば、図１７（出力部１７１における表示画面の概略図）に示すように、推定結果情報テーブル１５８ａの原因候補名称グループフィールド１５８ｂに格納された情報を親要素、原因候補名称フィールド１５８ｄに格納された情報を子要素、とするツリー構造を生成し、原因候補グループ推定結果フィールド１５８ｃ及び原因候補推定結果フィールド１５８ｅに０．５以上の値が格納されたレコードの原因候補グループ名称フィールド１５８ｂ及び原因候補グループ名称フィールド１５８ｄに格納された情報に対応する要素を、他の要素と識別可能に表示する。
【０１４０】
本実施形態では、例えば、当該対応する要素を他の要素とは異なる色彩を付すことで識別可能としているが、このような態様に限定されるものではない。
また、本実施形態では、当該対応する要素に１種類の色彩を付すことで識別可能としているが、原因候補グループ推定結果フィールド１５８ｃ及び原因候補推定結果フィールド１５８ｅに格納された値の大きさに比例して色彩を濃くする等、複数の色彩を用いて当該対応する要素を区別することも可能である。
【０１４１】
ステップＳ２８では、原因推定部１６２は、オペレータの対策した異常の原因を記憶し、全体制御装置１４０に部品吸着の再開を指示する情報を送信する。
【０１４２】
原因推定部１６２は、例えば、図１７（出力部１７１における表示画面の概略図）に示すように、オペレータが実際の異常の原因として対策した原因候補にチェックを入れ、生産再開ボタンをクリックすると、チェックのついた原因候補の名称を異常履歴情報テーブル１５２aの原因フィールド１５２ｈの最終行に格納し、全体制御装置１４０に部品吸着の再開を指示する情報を送信する。
《原因推定に用いる関数の学習処理》
図１８は、図６で示す演算装置１５０において、原因推定に用いる関数を学習する処理を示すフローチャートである。
【０１４３】
演算装置１５０の学習処理部１６３は、ＩＦ部１６６を介して図１に示す入力部１７０または通信ＩＦ部１７２より学習の実行を指示する情報を送信されると処理を開始する。
【０１４４】
例えば、学習処理部１６３は図１９（出力部１７１における表示画面の概略図）に示すように、オペレータが学習範囲のいずれかにチェックを入れ、学習実行のスタートボタンのいずれかをクリックすると、処理を開始する。
【０１４５】
学習処理部１６３は、「吸着ノズル・フィーダ」の行に位置するスタートボタンがクリックされた場合は、ステップＳ３２の処理を行い、「部品位置・部品形状」のスタートボタンがクリックされた場合は、ステップＳ３９の処理を行う（Ｓ３１）。
【０１４６】
学習処理部１６３は、「吸着ノズル・フィーダ」の行の学習範囲を確認し、「当該装置のみ」にチェックが入っていればステップＳ３３を、「同一機種のみ」にチェックが入っていればステップＳ３５を、「全装置」にチェックが入っていればステップＳ３７を実行する（Ｓ３２）。
【０１４７】
ステップＳ３３では、学習処理部１６３は、異常履歴情報テーブル１５２aの情報を読み込み、学習情報テーブル１５９aに格納する。
【０１４８】
学習処理部１６３は、例えば、異常履歴情報テーブル１５２aの全ての行について、各々の行の原因フィールド１５２ｈに情報が格納されているか否かを確認し、情報が格納されている行については、変数１フィールド１５２ｆに格納された情報と原因フィールド１５２ｈに格納された情報とを読み込み、変数１フィールド１５２ｆに格納された情報を学習情報テーブル１５９aの変数フィールド１５９ｂの最終行に格納し、原因フィールド１５２ｈに格納された情報が「吸着ノズル汚れ」「吸着ノズル摩耗」であった場合は学習情報テーブル１５９aの原因フィールド１５９ｂの最終行に「１」を、原因フィールド１５２ｈに格納された情報が「部品位置ズレ」「部品形状不良」であった場合は学習情報テーブル１５９aの原因フィールド１５９ｂの最終行に「０」を、格納する。
【０１４９】
ステップＳ３４では、学習処理部１６３は、学習情報テーブル１５９aの情報を読み込み、係数情報テーブル１５７aの情報を更新する。
【０１５０】
学習処理部１６３は、例えば、学習情報テーブル１５９aの変数フィールド１５９ｂ及び原因フィールド１５２ｃに格納されている値を読み込み、下記の（６）式にて係数の値を算出する。
【０１５１】
【数６】
0005427054.tif 000007
【０１５２】
ここで、diは学習情報テーブル１５９aの変数フィールド１５９ｂの第i行に格納されている値であり、eiは学習情報テーブル１５９aの原因フィールド１５９ｃの第i行に格納されている値である。
【０１５３】
（６）式の右辺第１項は、原因フィールド１５９ｃに「１」が格納されている行に格納されている変数フィールド１５９に格納されている値の平均値を表しており、右辺第２項は、原因フィールド１５９ｃに「１」が格納されている行に格納されている変数フィールド１５９に格納されている値の平均値を表している。
【０１５４】
さらに、学習処理部１６３は（６）式にて算出した係数の値を、係数情報テーブル１５７ａの係数ｂフィールド１５７ｃの第１行に格納する。これにより、次に原因推定部１６２にて図１６に示すフローチャートのステップＳ２５の処理が実行された時には、「吸着ノズル」の原因候補グループに原因となる原因候補が属する可能性の高さを表す値として、図２０の曲線で示される値が算出される。なお、図２０の縦軸は、「吸着ノズル」の原因候補グループに原因候補が属する可能性の高さを表し、横軸は、（６）式にて算出した係数の値を示す。図中の曲線Ａは、学習後の（１）式の軌跡を表し、Ｂで示すデータのプロット群は、学習情報テーブルの各行のデータを示している。ここで、縦軸は、（１）式にて算出される値、または、原因フィールド１５９ｃに格納される値であり、横軸は、（１）式において変数１フィールド１５２ｆに格納される値、または変数フィールド１５９ｂに格納された値である。つまり、原因となる原因候補が「吸着ノズル」の原因候補グループに属していたデータが多い領域（図２０のグラフ右側）では０．５よりも大きな値が算出され、原因となる原因候補が「フィーダ」の原因候補グループに属していたデータが多い領域（図２０のグラフ左側）では、０．５よりも小さな値が算出される。
【０１５５】
ステップＳ３５では、学習処理部１６３は、異常履歴情報テーブル１５２aの情報と、部品実装装置１００と同一の装置機種である部品実装装置の異常情報履歴を読み込み、学習情報テーブル１５９aに格納する。
【０１５６】
学習処理部１６３は、例えば、異常履歴情報テーブル１５２ａについて、ステップＳ３３と同様の処理を行い、装置情報テーブル１４２ａの装置機種フィールド１４２ｃに格納された装置機種情報を読み込み、装置機種フィールド１４２ｃに格納された装置機種情報と同一の装置機種情報を装置情報テーブルに格納した部品実装装置について通信ＩＦ部１７２を介して異常履歴情報を読み込み、ステップＳ３３と同様の処理を行う。
【０１５７】
ステップＳ３６では、学習処理部は、学習情報テーブル１５９aの情報を読み込み、係数情報テーブル１５７aの情報と、部品実装装置１００と同一の装置機種である部品実装装置の係数情報とを更新する。
【０１５８】
学習処理部１６３は、例えば、学習情報テーブル１５９ａ及び係数情報テーブル１５７ａについてステップＳ３４と同様の処理を行い、装置情報テーブル１４２ａの装置機種フィールド１４２ｃに格納された装置機種情報を読み込み、装置機種フィールド１４２ｃに格納された装置機種情報と同一の装置機種情報を装置情報テーブルに格納した部品実装装置の係数情報テーブルに、算出した係数の値を格納する。
ステップＳ３７では、学習処理部１６３は、異常履歴情報テーブル１５２aの情報と、部品実装装置１００と通信ＩＦ部１７２で通信可能である全ての部品実装装置の異常情報履歴を読み込み、学習情報テーブル１５９aに格納する。
【０１５９】
学習処理部１６３は、例えば、異常履歴情報テーブル１５２ａについて、ステップＳ３３と同様の処理を行い、通信ＩＦ部１７２で通信可能である全ての部品実装装置について、通信ＩＦ部１７２を介して異常履歴情報を読み込み、ステップＳ３３と同様の処理を行う。
【０１６０】
ステップＳ３８では、学習処理部は、学習情報テーブル１５９aの情報を読み込み、係数情報テーブル１５７aの情報と、部品実装装置１００と通信ＩＦ部１７２で通信可能である全ての部品実装装置の係数情報とを更新する。
【０１６１】
学習処理部１６３は、例えば、学習情報テーブル１５９ａ及び係数情報テーブル１５７ａについてステップＳ３４と同様の処理を行い、算出した係数の値を、部品実装装置１００と通信ＩＦ部１７２で通信可能である全ての部品実装装置の係数情報テーブルに格納する。
【０１６２】
学習処理部１６３は、「部品位置ズレ・部品形状不良」の行の学習範囲を確認し、「当該装置のみ」にチェックが入っていればステップＳ３１０を、「同一機種のみ」にチェックが入っていればステップＳ３１２を、「全装置」にチェックが入っていればステップＳ３１４を実行する（Ｓ３９）。
【０１６３】
ステップＳ３１０では、学習処理部１６３は、異常履歴情報テーブル１５２aの情報を読み込み、学習情報テーブル１５９aに格納する。
【０１６４】
学習処理部１６３は、例えば、異常履歴情報テーブル１５２aの全ての行について、各々の行の原因フィールド１５２ｈに「部品位置ズレ」または「部品形状不良」の情報が格納されているか否かを確認し、情報が格納されている行については、変数２フィールド１５２ｇに格納された情報と原因フィールド１５２ｈに格納された情報とを読み込み、変数２フィールド１５２ｇに格納された情報を学習情報テーブル１５９aの変数フィールド１５９ｂの最終行に格納し、原因フィールド１５２ｈに格納された情報が「部品位置ズレ」であった場合は学習情報テーブル１５９aの原因フィールド１５９ｂの最終行に「１」を、原因フィールド１５２ｈに格納された情報が「部品形状不良」であった場合は学習情報テーブル１５９aの原因フィールド１５９ｂの最終行に「０」を、格納する。
【０１６５】
ステップＳ３１１では、学習処理部１６３は、学習情報テーブル１５９aの情報を読み込み、係数情報テーブル１５７aの情報を更新する。
【０１６６】
例えば、学習処理部１６３は、学習情報テーブル１５９aの変数フィールド１５９ｂ及び原因フィールド１５２ｃに格納されている値を読み込み、前述の（６）式にて係数の値を算出する。
【０１６７】
さらに、学習処理部１６３は（６）式にて算出した係数の値を、係数情報テーブル１５７ａの係数ｂフィールド１５７ｃの第２行に格納する。
【０１６８】
ステップＳ３１２では、学習処理部１６３は、異常履歴情報テーブル１５２aの情報と、部品実装装置１００と同一の装置機種である部品実装装置の異常情報履歴を読み込み、学習情報テーブル１５９aに格納する。
【０１６９】
学習処理部１６３は、例えば、異常履歴情報テーブル１５２ａについて、ステップＳ３１０と同様の処理を行い、装置情報テーブル１４２ａの装置機種フィールド１４２ｃに格納された装置機種情報を読み込み、装置機種フィールド１４２ｃに格納された装置機種情報と同一の装置機種情報を装置情報テーブルに格納した部品実装装置について通信ＩＦ部１７２を介して異常履歴情報を読み込み、ステップＳ３１０と同様の処理を行う。
【０１７０】
ステップＳ３１３では、学習処理部は、学習情報テーブル１５９aの情報を読み込み、係数情報テーブル１５７aの情報と、部品実装装置１００と同一の装置機種である部品実装装置の係数情報とを更新する。
【０１７１】
学習処理部１６３は、例えば、学習情報テーブル１５９ａ及び係数情報テーブル１５７ａについてステップＳ３１１と同様の処理を行い、装置情報テーブル１４２ａの装置機種フィールド１４２ｃに格納された装置機種情報を読み込み、装置機種フィールド１４２ｃに格納された装置機種情報と同一の装置機種情報を装置情報テーブルに格納した部品実装装置の係数情報テーブルに、算出した係数の値を格納する。
【０１７２】
ステップＳ３１４では、学習処理部１６３は、異常履歴情報テーブル１５２aの情報と、部品実装装置１００と通信ＩＦ部１７２で通信可能である全ての部品実装装置の異常情報履歴を読み込み、学習情報テーブル１５９aに格納する。
【０１７３】
学習処理部１６３は、例えば、異常履歴情報テーブル１５２ａについて、ステップＳ３１０と同様の処理を行い、通信ＩＦ部１７２で通信可能である全ての部品実装装置について、通信ＩＦ部１７２を介して異常履歴情報を読み込み、ステップＳ３１０と同様の処理を行う。
【０１７４】
ステップＳ３１５では、学習処理部１６３は、学習情報テーブル１５９aの情報を読み込み、係数情報テーブル１５７aの情報と、部品実装装置１００と通信ＩＦ部１７２で通信可能である全ての部品実装装置の係数情報とを更新する。
【０１７５】
学習処理部１６３は、例えば、学習情報テーブル１５９ａ及び係数情報テーブル１５７ａについてステップＳ３１１と同様の処理を行い、算出した係数の値を、部品実装装置１００と通信ＩＦ部１７２で通信可能である全ての部品実装装置の係数情報テーブルに格納する。
【０１７６】
以上のように、本実施形態によれば、異常の原因を推定する関数を更新し、異常発生時に、複数の原因候補の中から原因となる原因候補を精度よく特定（推定）することができる。
【符号の説明】
【０１７７】
１００：部品実装装置、
１１０：供給装置、
１１１：フィーダベース、
１１２，１２５，１３２，１４５，１６６：ＩＦ部、
１２０：装着装置、
１２１：ヘッド、
１２２：ビーム、
１２３：吸着ノズル、
１２４：駆動制御部、
１３０：異常検出装置、
１３１：異常検出部、
１４０：全体制御装置、
１４１：記憶部、
１４２：装着情報記憶領域、
１４３：装置情報記憶領域、
１４４：全体制御部、
１５０：演算装置、
１５１：記憶部、
１５２：異常履歴情報記憶領域、
１５３：装置動作情報記憶領域、
１５４：異常回数情報記憶領域、
１５５：異常回数比率集計情報記憶領域、
１５６：フィーダ異常回数比率情報記憶領域、
１５７：係数情報記憶領域、
１５８：推定結果情報記憶領域、
１５９：学習情報記憶領域、
１６０：制御部、
１６１：演算制御部、
１６２：原因推定部、
１６３：学習処理部、
１６４，１７０：入力部、
１６５，１７１：出力部、
１７２：通信ＩＦ部、
１８０：基板。
【図１】
0005427054.tif 000008
【図２】
0005427054.tif 000009
【図３】
0005427054.tif 000010
【図４】
0005427054.tif 000011
【図５】
0005427054.tif 000012
【図６】
0005427054.tif 000013
【図７】
0005427054.tif 000014
【図８】
0005427054.tif 000015
【図９】
0005427054.tif 000016
【図１０】
0005427054.tif 000017
【図１１】
0005427054.tif 000018
【図１２】
0005427054.tif 000019
【図１３】
0005427054.tif 000020
【図１４】
0005427054.tif 000021
【図１５】
0005427054.tif 000022
【図１６】
0005427054.tif 000023
【図１７】
0005427054.tif 000024
【図１８】
0005427054.tif 000025
【図１９】
0005427054.tif 000026
【図２０】
0005427054.tif 000027
【図２１】
0005427054.tif 000028