(57)【要約】【課題】生産ラインを構成する各工程に専用の回路やプログラムを要せず、各工程の状態を表す信号に基づいて生産ラインの稼動状況を解析することである。【解決手段】生産ラインの稼動状況解析システム１０は、生産ラインを構成する各生産設備２０と、これらの動作状態のデータを収集するデータ収集装置３０と、データ蓄積サーバ５０と、稼動状況解析装置６０を含む。稼動状況解析装置６０は、データ取得部１００と稼動状態データ算出部１５０の機能を有し、稼動状態関数に取得した複数の動作状態データを入力して、所望の稼動状態データを算出する。稼動状態関数は、複数の動作状態を演算子で組み合わせることで任意に構成することができる。稼動状態関数を用いて、実生産中状態算出モジュール１５２以下の算出モジュールの機能が実行される。【選択図】        図３
2004287635.tif 000002
【特許請求の範囲】
【請求項１】
データ収集装置により収集される生産ラインの各作業要素の動作状態を表す動作状態データに基づき、生産ラインの稼動状況を解析する稼動状況解析装置であって、
データ収集装置により収集された複数の動作状態データを取得するデータ取得手段と、
複数の動作状態を演算子によって組み合わせた稼動状態関数を用い、複数の動作状態データを稼動状態関数に入力し、生産ラインの稼動状態を表す稼動状態データを算出する稼動状態データ算出手段と、
を備えることを特徴とする稼動状況解析装置。
【請求項２】
請求項１に記載の稼動状況解析装置において、
稼動状態データ算出手段は、生産ラインの各工程の稼動状態を解析するため、当該工程とその前後の工程を含む複数の工程における動作状態データを稼動状態関数に入力し、稼動状態データとして、各工程の稼動状態を表す工程稼動状態データを算出することを特徴とする稼動状況解析装置。
【請求項３】
請求項２に記載の稼動状況解析装置において、
稼働状態データ算出手段は、各工程の稼動状態として、実生産中を表す実生産中状態、または異常停止中を表す異常停止中状態、または工具交換中を表す工具交換状態、または品質チェック中を表す品質チェック状態、または後工程ワークが詰まっているむだ状態を表す後工程フル状態、または前工程にワークがないむだ状態を表す前工程空き状態のいずれか１の工程稼動状態について工程稼動状態データを算出することを特徴とする稼動状況解析装置。
【請求項４】
請求項３に記載の稼動状況解析装置において、
稼働状態データ算出手段は、
当該工程におけるワーク有無状態データと、
当該工程の前工程におけるワーク有無状態データと、
当該工程の後工程におけるワーク有無状態データと、
を含む複数の動作状態データに基づいて各工程の実生産中状態を表す工程稼動データを算出することを特徴とする稼動状況解析装置。
【請求項５】
請求項３に記載の稼動状況解析装置において、
稼働状態データ算出手段は、
当該工程における作業完了の有無状態データと、
当該工程の後工程におけるワーク有無状態データと、
を含む複数の動作状態データに基づいて各工程の後工程フル状態を表す工程稼動データを算出することを特徴とする稼動状況解析装置。
【請求項６】
請求項３に記載の稼動状況解析装置において、
稼働状態データ算出手段は、
当該工程におけるワーク有無状態データと、
当該工程の前工程におけるワーク有無状態データと、
を含む複数の動作状態データに基づいて各工程の前工程空き状態を表す工程稼動データを算出することを特徴とする稼動状況解析装置。
【請求項７】
請求項１に記載の稼動状況解析装置において、
データ取得手段は、時系列に従った動作状態データを取得し、
稼働データ算出手段は、取得された時系列に従った動作状態データに基づき、時系列に従った稼動状態データを算出し、稼動状態の経時変化を解析することを特徴とする稼動状況解析装置。
【請求項８】
データ収集装置により収集される生産ラインの各作業要素の動作状態を表す動作状態データに基づき、生産ラインの稼動状況を解析する稼動状況解析方法であって、
データ収集装置により収集された複数の動作状態データを取得するデータ取得ステップと、
複数の動作状態を演算子によって組み合わせた稼動状態関数を用い、複数の動作状態データを稼動状態関数に入力し、生産ラインの稼動状態を表す稼動状態データを算出する稼動状態データ算出ステップと、
を備えることを特徴とする稼動状況解析方法。
【請求項９】
データ収集装置により収集される生産ラインの各作業要素の動作状態を表す動作状態データに基づき、生産ラインの稼動状況を解析する稼動状況解析プログラムであって、
稼動状況解析装置に、
データ収集装置により収集された複数の動作状態データを取得するデータ取得処理手順と、
複数の動作状態を演算子によって組み合わせた稼動状態関数を用い、複数の動作状態データを稼動状態関数に入力し、生産ラインの稼動状態を表す稼動状態データを算出する稼動状態データ算出処理手順と、
を実行させることを特徴とする稼動状況解析プログラム。
【請求項１０】
生産ラインの各工程ごとに設けられ、生産ラインを構成する各作業要素の動作状態を表す動作状態データを収集して出力する複数のデータ収集装置と、
各データ収集装置から出力されるデータを受け取り、蓄積するデータ蓄積サーバと、
データ蓄積サーバから、複数の動作状態データを取得し、複数の動作状態を演算子によって組み合わせた稼動状態関数を用い、取得した複数の動作状態データを稼動状態関数に入力することで、生産ラインの稼動状態を表す稼動状態データを算出する稼動状況解析装置と、
を含むことを特徴とする稼動状況解析システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、生産ラインの稼動状況解析装置に係り、特に、複数の生産設備で構成される生産ラインの稼動状況についてデータ収集装置により収集されたデータを用いて解析する稼動状況解析装置に関する。
【０００２】
【従来の技術】
複数の工程によって構成される生産ラインにおいて、生産計画通りの生産を継続的に行うには、各工程の稼動状態の評価や、生産ライン全体の稼動評価を適切に行うことが重要である。各工程の状態を判別する手段として、各工程を構成する設備の動作を制御するＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）の信号を記録する方法がある。しかし、事前に設備ごとに状態を表す信号を出力する回路をＰＬＣプログラムに追加し、記録した信号を独立に解析しただけでは設備の状態を正確には判別できないので、状態遷移の規則性を用いて状態の推定精度を上げることが行われる。例えば、特許文献１には、複数の状態を有する設備のシーケンスコントローラに１対１でパーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ：ＰＣ）を接続し、シーケンスコントローラが把握する遷移情報に対応させて設備の稼動状況をサンプリングし、得られた状態間の遷移を判定することが開示される。
【０００３】
【特許文献１】
特開平７−１０４８３８号公報
【０００４】
【発明が解決しようとする課題】
上記のように、各工程の状態を表す信号を出力する回路をＰＬＣプログラムに追加することは、現場において各工程１つごとに設定し、動作確認を行う必要があり、また、各工程ごとに内部信号のアドレスが異なるため、状態を判別するためには各工程設備ごとの専用プログラムの作成を要するので、時間とコストがかかる。
【０００５】
また、このように、各工程ごとに回路、プログラムを追加しても、これらは各工程に専用であるので、システムの拡張性や汎用性に乏しい。例えば、複数の工程に拡張して回路、プログラムを追加することが困難であるため、各工程の稼動状態からさらに進んで関連する複数の工程の総合的な状態、あるいは生産ライン全体の稼動状態を把握することが難しい。
【０００６】
また、各工程に設けられる回路、プログラムに汎用性がないため、出力される信号は専用の目的にのみ用いられ、複数の信号を任意に組み合わせて別の状態の表し方等を行い、さらに発展的な稼動状況の把握をすることができない。
【０００７】
本発明の目的は、かかる従来技術の課題を解決し、生産ラインを構成する各工程に専用の回路やプログラムを要せず、各工程の状態を表す信号に基づいて稼動状況を解析できる生産ラインの稼動状況解析装置、稼動状況解析方法、稼動状況解析プログラム及び稼動状況解析システムを提供することである。他の目的は、複数の信号を任意に組み合わせることで稼動状態を解析できる汎用性の高い生産ラインの稼動状況解析装置、稼動状況解析方法、稼動状況解析プログラム及び稼動状況解析システムを提供することである。さらに他の目的は、特別な回路やプログラムを要することなく、複数の工程にまたがって稼動状態を解析できる生産ラインの稼動状況解析装置、稼動状況解析方法、稼動状況解析プログラム及び稼動状況解析システムを提供することである。以下の請求項に記載される発明は、上記目的の少なくとも１つを達成するために提供される。
【０００８】
【課題を解決するための手段】
１．稼動状態関数
最初に、稼動状態関数について説明する。稼動状態関数とは、複数の動作状態を演算子により結びつけて構成される関数で、例えば、動作状態をＸ１，Ｘ２，Ｘ３として、Ｘ１，Ｘ２，Ｘ３をＡＮＤ、ＯＲ等の演算子で結びつけて構成される関数で、一例をあげれば、Ｙ０＝［Ｘ１ＯＲＸ２］ＡＮＤＸ３  等である。
【０００９】
生産設備の動作状態、上記の例でＸ１，Ｘ２，Ｘ３は、ＰＬＣの信号を収集することで得られる。動作状態の他に、なぜ稼動状態関数Ｙ０によって新しい状態を算出する必要があるか、というと、それは、ＰＬＣ等から収集される動作状態のみでは、設備の動的な状態である稼動状態を十分に表せないことが多いからである。
【００１０】
例えば、一例として、生産設備における作業要素である１つのシリンダの動作状態と稼動状態を取り上げる。いま、シリンダが前進中という稼動状態を把握したいとすると、ＰＬＣから、シリンダの動作状態としてシリンダ前進指示信号Ｘ２０を収集し、その値が１（前進指示有り）か０（前進指示無し）を見る。ところで、シリンダ前進指示信号Ｘ２０が１であれば、必ずシリンダは前進中であるかというと、必ずしもそうでなく、例えば、まだ前進を開始していない場合が含まれる。したがって、前進中という稼動状態を得るには、さらにシリンダ前進端検出信号Ｘ２１を調べ、その値が０（シリンダ前進端が検出されず）であることを確かめねばならない。
【００１１】
この場合、２つの動作状態Ｘ２０，Ｘ２１をそれぞれ独立に調べることでシリンダ前進中か否かを判断することもできるが、Ｘ２０と（ＮＯＴＸ２１）とをＡＮＤで結びつけた関数をつくり、この関数を「前進中」稼動状態関数Ｚ１とすればよい。「前進中」稼動状態関数Ｚ１は、２つの動作状態Ｘ２０，Ｘ２１を演算子ＯＲとＮＯＴを用いて結びつけたものである。したがって、時々刻々における２つの動作状態Ｘ２０，Ｘ２１のデータを対として入力することで、（前進指示有り）かつ（シリンダ前進端が検出されず）を満たすか否かを演算し、「シリンダ前進中」か否かの稼動状態データを時々刻々出力することができる。
【００１２】
図１は、シリンダの動作状態とシリンダの稼動状態の関係を、ラダー回路図により表現した例である。各動作状態Ｘ２０，Ｘ２１，Ｘ２２，Ｘ２３は接点のシンボルで示し、稼動状態関数Ｚ１，Ｚ２はコイルのシンボルで示してある。図１に示すように、シリンダ前進指示Ｘ２０とシリンダ前進端検出Ｘ２１の２つの動作状態を演算子で結びつけて「前進中」稼動状態関数Ｚ１を構成でき、シリンダ後退指示Ｘ２２とシリンダ後退端検出Ｘ２３の２つの動作状態を演算子で結びつけて「後退中」稼動状態関数Ｚ２を構成できる。
【００１３】
図２は、各動作状態Ｘ２０，Ｘ２１，Ｘ２２，Ｘ２３のデータを時系列で稼動状態関数に入力し、「前進中」稼動状態関数Ｚ１の出力データｚ１及び「後退中」稼動状態関数Ｚ２の出力データｚ２をタイムチャートとして出力する例を示す図である。図２（ａ）は、標準的なシリンダの稼動状態を示し、図２（ａ）は、「後退中」に問題がある例である。これらのデータから、「後退中」に問題があることの抽出とともに、例えば「前進時間」「後退時間」等の定量的な解析を行うこともできる。
【００１４】
このように、複数の動作状態を演算子により組み合わせることで、任意の稼動状態関数を構成でき、この稼動状態関数を用いて、複数の動作状態データを入力すれば、動作状態データのみでは把握できない新しい状態としての稼動状態データを出力することができる。
【００１５】
稼動状態解析目的に応じ、稼動状態関数の関数形を構成することで、所望の稼動状態データを容易に得ることができる。また、時系列に複数の動作状態データを入力すれば、時系列の稼動状態データが出力されるので、より定量的な稼動状態データを得ることができる。
【００１６】
複数の動作状態は、生産設備のＰＬＣの信号から収集することができ、稼動状態関数は、任意の関数形を作ることができるので、稼動状態関数を用いることで稼動状態解析の汎用性を著しく高めることができる。すなわち、所望の稼動状態データを得るための専用の回路や、専用のプログラムを各設備ごとに設ける必要がなく、単に、動作状態データを収集して稼動状態関数に入力すれば、所望の稼動状態データを得ることができる。
【００１７】
稼動状態関数を、上記のようにディジタルデータの論理演算結果として構成するほかに、時間管理関数とすることもできる。例えば、図２の場合、シリンダ後退時間ｔ２を閾値関数で判断し、出力することができる。この例で、閾値関数を、２ｓｅｃ＜ｔ２＜３ｓｅｃ等とすれば、後退時間がこの範囲に入っていないときに、後退時間稼動状態データとして０を出力させることができる。
【００１８】
２．課題解決手段
本発明に係る稼動状況解析装置は、データ収集装置により収集される生産ラインの各作業要素の動作状態を表す動作状態データに基づき、生産ラインの稼動状況を解析する稼動状況解析装置であって、データ収集装置により収集された複数の動作状態データを取得するデータ取得手段と、複数の動作状態を演算子によって組み合わせた稼動状態関数を用い、複数の動作状態データを稼動状態関数に入力し、生産ラインの稼動状態を表す稼動状態データを算出する稼動状態データ算出手段と、を備えることを特徴とする。
【００１９】
上記構成により、稼動状態データの算出に「１．稼動状態関数」のところで述べた稼動状態関数を用いる。稼動状態関数に入力される動作状態データは、データ収集装置により、生産ラインの各作業要素の動作状態データが収集される。生産ラインの各作業要素の動作状態データは、例えば、各工程ごとに設けられたＰＬＣの信号や、センサ信号をそのまま用いることができる。上記のように、稼動状態関数は、動作状態と演算子で構成されるので、動作状態の種類を代えること、あるいは演算子の種類を代えること等で、任意の関数を作り出すことができる。したがって、複数の信号を任意に組み合わせることで稼動状態を解析でき、解析システムの汎用性が高い。また、稼動状態を表す信号を出力するための専用の回路やプログラムを必要としない。
【００２０】
また、稼動状態データ算出手段は、生産ラインの各工程の稼動状態を解析するため、当該工程とその前後の工程を含む複数の工程における動作状態データを稼動状態関数に入力し、稼動状態データとして、各工程の稼動状態を表す工程稼動状態データを算出することが好ましい。
【００２１】
稼動状態関数を構成する複数の動作状態は、同一工程内の複数の動作状態のみに限られない。上記構成により、当該工程と前後の工程を含む複数の工程における動作状態データを稼動状況関数に入力し、各工程の工程稼動状態稼動データを算出する。この場合の稼動状況関数は、複数の工程における動作状態を演算子により組み合わせて構成される。したがって、特別な回路やプログラムを要せずに、複数の工程にまたがった稼動状態を解析できる。
【００２２】
また、稼働状態データ算出手段は、各工程の稼動状態として、実生産中を表す実生産中状態、または異常停止中を表す異常停止中状態、または工具交換中を表す工具交換状態、または品質チェック中を表す品質チェック状態、または後工程ワークが詰まっているむだ状態を表す後工程フル状態、または前工程にワークがないむだ状態を表す前工程空き状態のいずれか１の工程稼動状態について工程稼動状態データを算出することが好ましい。
【００２３】
各工程は複数の稼動状態を有している。各工程の稼動状態の区分としては、実生産中状態、異常停止中状態、工具交換状態、品質チェック状態、後工程フル状態、前工程空き状態等の複数の稼動状態に区分することができる。各工程の稼動状態は、これらの各稼動状態のそれぞれが全体に占める割合を解析することで定量的に把握できる。例えば、ある工程は実生産中状態の比率が高く、稼動状況が順調であることや、別の工程は異常停止中状態の比率が高く、ネック工程となっていること等が解析できる。
【００２４】
上記構成により、上記複数の工程稼動状態のうち、少なくとも１つの工程稼動状態データについて、当該工程と前後の工程を含む複数の工程における動作状態データを稼動状態関数に入力して算出する。上記複数の工程稼動状態全部を稼動状態関数により算出してもよい。稼動状態関数を用いることで、当該工程と前後の工程を含む複数の工程における動作状態データの入力のみで工程稼動状態を算出でき、工程の稼動状態を表す信号を出力するための各工程に専用の回路やプログラム、あるいは工程にまたがる特別の回路やプログラムを必要としない。
【００２５】
また、稼働状態データ算出手段は、当該工程におけるワーク有無状態データと、当該工程の前工程におけるワーク有無状態データと、当該工程の後工程におけるワーク有無状態データと、を含む複数の動作状態データに基づいて各工程の実生産中状態を表す工程稼動データを算出することが好ましい。
【００２６】
実生産中状態について、当該工程にワークが有る状態を把握したのみで判断するのは不十分である。なぜならば、当該工程にワークがあっても、ワークが加工や組み立て等の実作業を受けることなく後工程がフルワークのため待機中であることや、実作業を行っていても、その作業がはかどらず、前工程においてワークを待機させてしまっている場合が含まれるためである。上記構成により、当該工程及び前後の工程におけるワーク有無の動作状態データに基づいて、当該工程の実生産中状態を算出する。したがって、複数の工程にまたがる解析により正しく得られる実生産中状態データを、特別な回路やプログラムを用いることなく算出できる。
【００２７】
また、稼働状態データ算出手段は、当該工程における作業完了の有無状態データと、当該工程の後工程におけるワーク有無状態データと、を含む複数の動作状態データに基づいて各工程の後工程フル状態を表す工程稼動データを算出することが好ましい。
【００２８】
後工程フル状態について、当該工程の後工程にワークが有る状態を把握したのみで後工程に無駄があると判断するのは不十分である。なぜならば、後工程にワークが有っても、当該工程がまだ実作業を完了していなければ、無駄時間とならないためである。上記構成により、当該工程及び後工程における動作状態データに基づいて、後工程フル状態を算出する。したがって、複数の工程にまたがる解析により正しく得られる後工程フル状態データを、特別な回路やプログラムを用いることなく算出できる。
【００２９】
また、稼働状態データ算出手段は、当該工程におけるワーク有無状態データと、当該工程の前工程におけるワーク有無状態データと、を含む複数の動作状態データに基づいて各工程の前工程空き状態を表す工程稼動データを算出することが好ましい。
【００３０】
前工程空き状態について、当該工程の前工程にワークが無い状態を把握したのみで前工程に無駄があると判断するのは不十分である。なぜならば、前工程にワークが無くても、当該工程にワークがあれば、無駄時間とならないためである。上記構成により、当該工程及び前工程におけるワーク有無の動作状態データに基づいて、前工程空き状態を算出する。したがって、複数の工程にまたがる解析により正しく得られる前工程空き状態データを、特別な回路やプログラムを用いることなく算出できる。
【００３１】
また、データ取得手段は、時系列に従った動作状態データを取得し、稼働データ算出手段は、取得された時系列に従った動作状態データに基づき、時系列に従った稼動状態データを算出し、稼動状態の経時変化を解析することが好ましい。経時変化の解析により、稼動状態データをより定量的に把握できる。また、専用の回路及びプログラムを要せずに、稼動状態の時系列解析を行うことができる。
【００３２】
また、本発明に係る稼動状況解析方法は、データ収集装置により収集される生産ラインの各作業要素の動作状態を表す動作状態データに基づき、生産ラインの稼動状況を解析する稼動状況解析方法であって、データ収集装置により収集された複数の動作状態データを取得するデータ取得ステップと、複数の動作状態を演算子によって組み合わせた稼動状態関数を用い、複数の動作状態データを稼動状態関数に入力し、生産ラインの稼動状態を表す稼動状態データを算出する稼動状態データ算出ステップと、を備えることを特徴とする。
【００３３】
また、本発明に係る稼動状況解析プログラムは、データ収集装置により収集される生産ラインの各作業要素の動作状態を表す動作状態データに基づき、生産ラインの稼動状況を解析する稼動状況解析プログラムであって、稼動状況解析装置に、データ収集装置により収集された複数の動作状態データを取得するデータ取得処理手順と、複数の動作状態を演算子によって組み合わせた稼動状態関数を用い、複数の動作状態データを稼動状態関数に入力し、生産ラインの稼動状態を表す稼動状態データを算出する稼動状態データ算出処理手順と、を実行させることを特徴とする。
【００３４】
また、本発明に係る稼動状況解析システムは、生産ラインの各工程ごとに設けられ、生産ラインを構成する各作業要素の動作状態を表す動作状態データを収集して出力する複数のデータ収集装置と、各データ収集装置から出力されるデータを受け取り、蓄積するデータ蓄積サーバと、データ蓄積サーバから、複数の動作状態データを取得し、複数の動作状態を演算子によって組み合わせた稼動状態関数を用い、取得した複数の動作状態データを稼動状態関数に入力することで、生産ラインの稼動状態を表す稼動状態データを算出する稼動状況解析装置と、を含むことを特徴とする。
【００３５】
上記構成により、生産ラインを構成する各作業要素の動作状態データの収集は、まず各工程に設けられたデータ収集装置が行う。データ収集装置は、各作業要素の動作状態データとして、例えば、各工程を構成する生産設備の動作を制御する複数の制御素子の信号、各種センサの信号のデータ等を収集する。そして、データ収集装置で収集されたデータがデータ蓄積サーバによって記憶される。したがって、各工程単位に整理された動作状態データがデータ蓄積サーバにより蓄積されるので、データ蓄積サーバの負担が軽減される。例えば、各工程において、ワークに対する処理が終わるごとに、動作状態データをまとめてデータ蓄積サーバに送ることができ、区切りのよいデータ蓄積を少ない負担で行うことができる。また、生産ラインの構成が変動しても、工程単位で区切れるので、データ収集のシステムに柔軟性を持たせることができる。
【００３６】
【発明の実施の形態】
以下に図面を用いて、本発明に係る実施の形態につき詳細に説明する。以下では、車両用のエンジン部品を生産する部品生産ラインを例として取り上げて説明するが、生産ラインとしては、複数の生産設備あるいは工程から構成される生産ラインであれば、エンジン部品生産ライン以外であってもよい。例えば、エンジン部品以外の部品の生産ライン、組み立てライン、検査ライン等でもよく、また、車両用の生産ラインに限られない。
【００３７】
図３は、生産ラインの稼動状況解析システム１０の構成を示すブロック図である。稼動状況解析システム１０は、生産ラインを構成する各生産設備２０と、各生産設備２０の異常状態を表示する異常表示装置２２と、各生産設備２０及び異常表示装置２２にそれぞれ接続され、これらの動作状態のデータを収集するデータ収集装置３０と、各データ収集装置３０とネットワーク４０で接続されるデータ蓄積サーバ５０と、やはりネットワーク４０に接続される稼動状況解析装置６０を含む。
【００３８】
各生産設備２０は、エンジン部品を完成するための各加工機械、例えばマシニングセンタ、旋盤、ドリル等、付属部品を取り付ける組み立て機械、検査機械、ワーク搬送機構等で構成され、数十台の生産設備２０が一体となってエンジン部品生産ラインを構成する。
【００３９】
各生産設備２０は、その目的とする作業を行うために複数の作業要素を備え、それらの作業要素は複数の制御素子によりその動作が制御され、複数のセンサによってその位置等が検出される。例えば、複数のシリンダヘッドを用いてワークを順次移動させる場合を例にとると、各シリンダヘッドが作業要素で、各シリンダヘッドを駆動する油圧アクチュエータあるいはモータの動作をＯＮ／ＯＦＦする各リレーが制御素子に相当し、各シリンダヘッドの位置を検出するリミットスイッチ等がセンサにあたる。これら複数のリレー等によって各生産設備２０が所定の動作を行うようにシーケンスコントロールが行われる。
【００４０】
ディジタル信号によりシーケンスコントロールを行うものとして、各生産設備にはＰＬＣ２４が設けられる。ＰＬＣ２４における各ＯＮ／ＯＦＦ信号のデータは、生産設備２０の動作を制御する制御素子の動作状態を表すディジタルデータとして、通信線２６を介しデータ収集装置３０に出力される。また、各種センサからは、生産設備の作業要素の動作状態を表すアナログ信号として、図示されていないアナログ信号出力インタフェイスと通信線２８とを介し、データ収集装置３０に出力される。
【００４１】
これらの動作状態を表す動作状態データは、１つの生産設備２０内の複数の作業要素それぞれの動作状態に対応するもののほか、例えば生産設備にワークが搬入されるタイミング、位置あるいは生産設備からワークが搬出されるタイミング、位置等のように、生産設備をいわば１つの作業要素としてその動作状態をあらわすものを含む。また、複数の生産設備でもって１つのまとまった工程とする方が便利な場合には、複数の設備を含む工程そのものをいわば１つの作業要素としてその動作状態を表すものを含む。
【００４２】
異常表示装置２２は、各工程の現在の状況を一目でわかるように表示する装置で、例えば、各工程に対応するランプを２次元配列し、異常の内容に応じて色を異ならせてランプを点灯するいわゆる「あんどん」と呼ばれるものを用いることができる。例えば、工程が異常停止のときは「赤」を点灯し、工具交換や部品補給等の必要があるときは「黄」を点灯して予報し、実際に作業者が工具交換等の実施をしている停止のときは「青」を点灯する等の表示を行うことができる。
【００４３】
異常表示装置２２の点灯は、異常表示装置２２に設けられたＰＬＣ２４により制御される。異常表示装置２２に設けられたＰＬＣ２４には、各生産設備２０からの動作状態データが、図示されていない信号線を介して入力される。また、異常表示装置２２に設けられたＰＬＣ２４からは、異常表示装置２２の作業要素、例えば、各ランプについてのＯＮ／ＯＦＦ信号が、動作状態データとして、データ収集装置３０に出力される。
【００４４】
データ収集装置３０は、各工程ごとに設けられ、各工程の作業要素の動作状態データを収集する装置で、一般的なＰＣで構成することができる。なお、上記のように、異常表示装置２２用にもデータ収集装置３０が接続されて設けられる。また、１つの工程が１つの生産設備で構成されるときは各生産設備ごとにデータ収集装置３０が１台ずつ接続され、上記のように、複数の生産設備でもって１つの工程とするのが便利なときは、その工程に１台のデータ収集装置３０が接続される。
【００４５】
データ収集装置３０は、対応するＰＬＣ２４及びアナログ出力インタフェイスとの間で通信線２６，２８を介して交信し、必要な動作状態データを採取し、採取したデータを自らに転送することでデータの収集を実行する。データの収集は、収集するデータの種類を規定するデータ収集設定ファイル及び収集する期間を規定する収集条件設定ファイル等に登録された内容に従って、データ収集プログラムを実行することで行われる。
【００４６】
データ収集装置３０は、ネットワーク４０を介し、所定のタイミング、例えば一定のサンプル数あるいは任意の動作が終了した時点等のタイミングで、収集した動作状態データをデータ蓄積サーバ５０に転送する装置で、例えば一般的なパーソナルコンピュータ等で構成できる。所定のタイミングとして、生産装置２０から収集したデータについては、例えば、ワークに対する処理が終わるごと等とすることもできる。また、異常表示装置２２から収集したデータについては、例えば、生産ラインの稼動が終了した時点あるいは生産ロット等の切り替わり時点等のタイミングで転送してもよい。データの転送は、適当なファイル転送プロトコル（例えば、Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ：ＦＴＰを使用）に従い、そのプラグラムを実行することで行われる。未転送データを格納するために、データ収集装置３０には記憶装置が設けられる。
【００４７】
データ蓄積サーバ５０は、ネットワーク４０を介して各データ収集装置３０と交信し、各データ収集装置３０から動作状態データ等を収集し蓄積するサーバである。各データ収集装置３０との間のデータ転送は、上記のようにファイル転送プログラムを実行することで行われる。受け取ったデータの分類と蓄積は、データ分類を規定するサーバ設定ファイルに従い、データサーバプログラムを実行することで行われる。
【００４８】
稼動状況解析装置６０は、データ蓄積サーバ５０から必要なデータを取得し、処理して生産ラインの稼動状況を解析する装置で、一般的なコンピュータで構成できる。具体的には、ユーザが希望する解析メニューや設定項目を指定することで、データ蓄積サーバ５０から必要な動作状態データを取得し、指定された解析メニュー等に対応する処理を実行して、生産ラインの稼動状況を定量的に解析して出力する機能を有する。データに対して解析メニュー等に対応する処理を行うには、ソフトウエアを用いることができ、対応する解析プログラムを実行することで所定の処理を行うことができる。処理の一部をハードウエアで実行させることもできる。
【００４９】
稼動状況解析装置６０は、ＣＰＵ７０と、ネットワーク４０を介してデータ蓄積サーバ５０と交信する通信制御部７２と、ユーザが解析メニューまたは設定項目の指定を行うキーボード等の入力部７４と、解析された生産ラインの稼動状況を表示するディスプレイ等の出力部７６と、稼動状態関数のファイル８０を記憶するハードディスク等の外部記憶装置７８とを含み、これらは相互に内部バスにより接続される。
【００５０】
ＣＰＵ７０の中のデータ取得部１００は、通信制御部７２を介し、データ蓄積サーバ５０に必要なデータの転送を要求し、それを取得する機能を有する。必要なデータは、ユーザの指定する解析メニューの種類により異なる。
【００５１】
稼動状態データ算出部１５０は、データ蓄積サーバ５０から必要な動作状態データを取得し、稼動状態関数を用いて稼動状態データを算出する機能を有する。稼動状態データ算出部１５０の中の実生産中状態算出モジュール１５２以降アクチュエータ状態算出モジュール１６６までは、ユーザが指定した解析メニューの種類に対応してそれぞれの稼動状態データを算出する機能を有する。ユーザが指定した解析メニューの種類に対応する稼動状態関数は、外部記憶装置７８のファイル８０から読み出される。稼動状態データの算出の内容については、図４以降を用い、具体例に即して説明する。
【００５２】
実生産中状態算出モジュール１５２は、ユーザが「実生産中状態算出」のメニューを指定し、当該工程を特定したときに実行される稼動状態解析処理の機能である。具体的には、当該工程及び前後の工程の動作状態データを取得し、当該工程の稼動状態として、実生産中か否かの稼動状態データを算出する機能を有する。
【００５３】
図４は、実生産中の稼動状態を出力する稼動状態関数Ｙ１について、図１に示したと同様のシンボルを用いて、各動作状態として、当該工程ワーク無しＸ１、前工程ワーク無しＸ２、当該工程完了Ｘ３、後工程フルワークＸ４、連続運転中Ｘ５との関係を表したものである。図４に示すように、各動作状態をＡＮＤ、ＯＲ、ＮＯＴで結びつけて、（当該工程ワーク有り）かつ（前工程ワーク有り）の状態と、（当該工程完了未だ）かつ（後工程フルワークでない）の状態のいずれか、であって、かつ（連続運転中）のときを表す稼動状態関数Ｙ１を用いて実生産中を算出することができる。
【００５４】
すなわち、実生産中とは、無駄がなく実作業を行っている稼動状態であるので、（連続運転中）だけでは足りず、（当該工程ワーク有り）かつ（前工程ワーク有り）であって前工程との関係で無駄がないか、（当該工程完了未だ）かつ（後工程フルワークでない）であって後工程との関係で無駄がないことが必要である。この実生産中稼動状態を把握するには、５つの動作状態データを監視する必要があるが、稼動状態関数Ｙ１を用いることで、５つの動作状態データを時系列で収集し、これらを稼動状態関数Ｙ１に入力すれば、実生産中稼動状態データを時系列で出力することができる。図５に、時系列の各動作状態Ｘ１，Ｘ２，Ｘ３，Ｘ４，Ｘ５のデータと、実生産中稼動状態関数Ｙ１の出力データの例を示す。
【００５５】
異常停止中状態算出モジュール１５４は、ユーザが「異常停止中状態算出」のメニューを指定し、当該工程を特定したときに実行される稼動状態解析処理の機能である。具体的には、当該工程の複数の動作状態データを取得し、当該工程の稼動状態として、異常停止中か否かの稼動状態データを算出する機能を有する。
【００５６】
図６は、異常停止中の稼動状態を出力する稼動状態関数Ｙ２と、各動作状態として、連続運転中Ｘ５、異常信号Ｘ６との関係を図１と同様の表記法で表したものである。図６に示すように、各動作状態をＡＮＤで結びつけて、（連続運転中でない）かつ（異常）の状態のときを異常停止中として算出することができる。
【００５７】
すなわち、異常停止中とは、異常のために工程が停止している稼動状態であるので、異常信号が出ている動作状態では足りず、また、工程が停止している動作状態だけでは足りない。したがって、２つの動作状態をＡＮＤで結びつけて（連続運転中でない）かつ（異常）を表す稼動状態関数Ｙ２を構成し、２つの動作状態データを時系列で収集し、これらを稼動状態関数Ｙ２に入力して、異常停止中稼動状態データを時系列で出力することができる。
【００５８】
工具交換状態算出モジュール１５６は、ユーザが「工具交換状態算出」のメニューを指定し、当該工程を特定したときに実行される稼動状態解析処理の機能である。具体的には、当該工程の複数の動作状態データを取得し、当該工程の稼動状態として、工具交換中か否かの稼動状態データを算出する機能を有する。
【００５９】
図７は、工具交換中の稼動状態を出力する稼動状態関数Ｙ３と、各動作状態として、工具交換予報Ｘ７、個別交換信号Ｘ８との関係を図１と同様の表記法で表したものである。図７に示すように、各動作状態をＡＮＤで結びつけて、（工具交換予報有り）かつ（個別交換中）の状態のときを工具交換中として算出することができる。
【００６０】
すなわち、工具交換中とは、工具交換予報が出て、実際に作業者等が工具交換を行っている稼動状態であるので、工具交換予報が出ている動作状態では足りない。そこで、２つの動作状態をＡＮＤで結びつけて（工具交換予報あり）かつ（個別交換）を表す稼動状態関数Ｙ３を構成し、２つの動作状態データを時系列で収集し、これらを稼動状態関数Ｙ３に入力して、工具交換中稼動状態データを時系列で出力することができる。
【００６１】
品質チェック状態算出モジュール１５８は、ユーザが「品質チェック状態算出」のメニューを指定し、当該工程を特定したときに実行される稼動状態解析処理の機能である。具体的には、当該工程の複数の動作状態データを取得し、当該工程の稼動状態として、品質チェック中か否かの稼動状態データを算出する機能を有する。
【００６２】
生産ラインにおいて、ワークが生産仕様通りに加工または組み立て等されているかの品質チェックを行うために、工程を停止させることがある。例えば、ワーク１００個について１個の割合で抜き取り品質チェックを行うときは、抜き取りを行う時期にあわせ品質チェックの予報が出され、その予報に従い、作業者等がその予報の出された工程に赴き、その工程を一時停止させ、ワークの品質チェックを行う。したがって、工程が品質チェック中か否かは、その工程の稼動状態を表す稼動状態データの１つとなる。
【００６３】
図８は、品質チェック中の稼動状態を出力する稼動状態関数Ｙ４と、各動作状態として、品質チェック予報Ｘ９、個別チェック信号Ｘ１０との関係を図１と同様の表記法で表したものである。図８に示すように、各動作状態をＡＮＤで結びつけて、（品質チェック予報有り）かつ（個別チェック中）の状態のときを品質チェック中として算出することができる。
【００６４】
すなわち、品質チェック中とは、品質チェック予報が出て、実際に作業者等が品質チェックを行っている稼動状態であるので、品質チェック予報が出ている動作状態では足りない。そこで、２つの動作状態をＡＮＤで結びつけて（品質チェック予報あり）かつ（個別チェック）を表す稼動状態関数Ｙ４を構成し、２つの動作状態データを時系列で収集し、これらを稼動状態関数Ｙ４に入力して、品質チェック中稼動状態データを時系列で出力することができる。
【００６５】
後工程フル状態算出モジュール１６０は、ユーザが「後工程フル状態算出」のメニューを指定し、当該工程を特定したときに実行される稼動状態解析処理の機能である。具体的には、当該工程と後工程の動作状態データを取得し、後工程にワークが詰まっているために当該工程に無駄が生じている稼動状態として、後工程フルか否かの稼動状態データを算出する機能を有する。
【００６６】
図９は、後工程フル状態の稼動状態を出力する稼動状態関数Ｙ５と、各動作状態として、後工程フルワークＸ４、当該工程完了Ｘ３との関係を図１と同様の表記法で表したものである。図９に示すように、各動作状態をＡＮＤで結びつけて、（後工程フルワーク）かつ（当該工程完了）の状態のときを後工程フル状態として算出することができる。
【００６７】
すなわち、後工程フル状態とは、当該工程の実作業が完了し、後工程にワークを搬出したいにもかかわらず、後工程にワークが詰まっているために当該工程に無駄が生じている稼動状態であるので、後工程がフルワークだけでは足りず、また、当該工程の実作業が完了していただけでは足りない。そこで、２つの動作状態をＡＮＤで結びつけて（後工程フルワーク）かつ（当該工程完了）を表す稼動状態関数Ｙ５を構成し、２つの動作状態データを時系列で収集し、これらを稼動状態関数Ｙ５に入力して、後工程フルの稼動状態データを時系列で出力することができる。
【００６８】
前工程空き状態算出モジュール１６２は、ユーザが「前工程空き状態算出」のメニューを指定し、当該工程を特定したときに実行される稼動状態解析処理の機能である。具体的には、当該工程と前工程の動作状態データを取得し、前工程からワークがこないために当該工程に無駄が生じている稼動状態として、前工程空きか否かの稼動状態データを算出する機能を有する。
【００６９】
図１０は、前工程空き状態の稼動状態を出力する稼動状態関数Ｙ６と、各動作状態として、当該工程ワーク無しＸ１、前工程ワーク無しＸ２との関係を図１と同様の表記法で表したものである。図１０に示すように、各動作状態をＡＮＤで結びつけて、（当該工程ワーク無し）かつ（前工程ワーク無し）の状態のときを前工程空き状態として算出することができる。
【００７０】
すなわち、前工程空き状態とは、前工程からワークがこないために当該工程に無駄が生じている稼動状態であるので、前工程にワークが無いだけでは足りず、また、当該工程にワークが無いだけでは足りない。そこで、２つの動作状態をＡＮＤで結びつけて（当該工程ワーク無し）かつ（前工程ワーク無し）を表す稼動状態関数Ｙ６を構成し、２つの動作状態データを時系列で収集し、これらを稼動状態関数Ｙ６に入力して、前工程空きの稼動状態データを時系列で出力することができる。
【００７１】
上記のように、各工程の稼動状況は、実生産中状態の他、異常停止中等で工程が停止している状態や、後工程フル状態等の無駄状態等の稼動状態で構成される。各工程全体の稼動状況を把握するには、これら複数の稼動状態の占める時間の割合や、その時系列の変化を把握することが好ましい。各工程において、一定期間における各稼動状態の時間割合を示すものとして、いわゆる出来高率が用いられる。この出来高率も、稼動状況関数を用いることで算出することができる。
【００７２】
図１１は、工程の各稼動状態の時間を積み上げた操業時間の棒グラフである。ここで、出来高率は、全操業時間を１としたときの各稼動状態が占める割合、特に良品を生産する実働時間の割合を表すものである。なお、図１１に示すように、出来高率を算出するとともに、全操業時間における稼動状態を分析することができる。例えばその工程に作業の負荷を与えている負荷時間及びその割合、負荷時間の中で実際に部品を生産している実生産時間及びその割合、実生産時間の中で良品を生産する実働時間及びその割合等を求めることができる。
【００７３】
図１１において、全操業時間と負荷時間との差は、その工程に負荷を与えていない無駄時間で、後工程フル状態の時間ｙ５及び前工程空き状態の時間ｙ６である。したがって、これらは後工程フル状態算出モジュール１６０及び前工程空き状態算出モジュール１６２の機能により、それぞれ稼動状態関数Ｙ５＝１の状態の時間ｙ５及び稼動状態関数Ｙ６＝１の状態の時間ｙ６として求めることができる。
【００７４】
負荷時間と実生産時間の差は、その工程が停止している時間で、上記の異常停止状態の時間ｙ２、工具交換状態の時間ｙ３、品質チェック状態の時間ｙ４の他に、段替停止状態の時間ｙ７が含まれる。段替停止状態の時間ｙ７以外は、異常停止中状態算出モジュール１５４、工具交換状態算出モジュール１５６、品質チェック状態算出モジュール１５８の機能により、それぞれ稼動状態関数Ｙ２＝１、Ｙ３＝１、Ｙ４＝１の状態の時間ｙ２，ｙ３，ｙ４として求めることができ、段替停止状態の時間ｙ７は、例えば入力部７４からの手入力データを用いることができる。
【００７５】
ここで段替停止状態とは、稼動状態の一つで、その工程の作業内容を変更するために工程を停止する状態である。例えば、その工程において午前中はＡエンジンの部品を加工していて、午後にＢエンジンの部品を加工する場合、ワークを保持する治具やワークを加工する工具、あるいはそれらを集積したハブ等をＡエンジン部品用からＢエンジン部品用に段取り替えするために要する時間である。通常、段替作業は、安全のためその工程の電源を落として行うことが多い。したがってＰＬＣも一時的に動作を停止し、動作状態データの収集も一時的に停止する。そこで、入力部７４から、段替停止状態の作業時間データを段替停止状態の時間データとして手入力で入力し、出来高率算出に用いることができる。もちろん、段替作業の際にもその工程の電源を落とさないものとし、各工程に段替停止スイッチ等を設け、段替作業の際にこの段替停止スイッチを操作し、段替停止信号をＰＬＣ経由で稼動状況解析装置に送ることもできる。そして、段替停止状態を示す稼動状態関数を、段替停止信号と連続運転中信号Ｘ５等と組み合わせて構成してもよい。
【００７６】
実生産時間と実働時間との差は、不良品を生産する時間である。すなわち、実生産時間ｙ１は、良品を生産した実働時間ｙ１１と不良品を生産した時間ｙ１２とに分けられ、ｙ１＝ｙ１１＋ｙ１２である。良品と不良品との判定は、検査工程で行われ、所定期間におけるｙ１１／ｙ１×１００％は、いわゆる直行率として別途算出される。そこで、入力部７４から、直行率データを手入力で入力し、ｙ１１＝ｙ１×（直行率）×１００％として実働時間ｙ１１等を算出し、出来高率算出に用いることができる。
【００７７】
このように、段替停止状態データと、直行率データを入力部７４から入力することで、稼動状態関数を用いて、各工程において全操業時間に占める各稼動状態の割合、すなわち出来高率を算出することができる。出来高率算出モジュール１６４は、ユーザが「出来高率算出」のメニューを指定し、当該工程を特定したときに実行される稼動状態解析処理の機能である。具体的には、当該工程とその前後の工程を含む複数の工程における動作状態データと、所定期間における当該工程の段替停止状態時間データと直行率データとを取得し、出来高率を構成する各稼動状態の時間を算出し、それらの間の比率を算出する機能を有する。
【００７８】
図１１の例では、実生産中状態の割合が５０％に満たず、その他の停止状態または無駄状態の各稼動状態がほぼ同じ割合で発生していることが把握できる。なお、上記のように、出来高算出モジュールにおいて、各稼動状態の割合の算出にあわせて、図１１に示す実働時間ｙ１１、実生産時間ｙ１、負荷時間（ｙ１＋ｙ２＋ｙ３＋ｙ４＋ｙ７）等のデータ、あるいはこれらの時間と全操業時間との比率を算出することもできる。
【００７９】
図１２は、その工程の稼動状態を時系列で表したものである。すなわち、時々刻々のその工程の稼動状態の変化が、横軸を時刻として表される。かかる工程の時系列の全体稼動状況解析も、解析メニューに追加することができる。
【００８０】
アクチュエータ状態算出モジュール１６６は、ユーザが「アクチュエータ状態算出」のメニューを指定し、対象となる工程の具体的なアクチュエータを特定したときに実行される稼動状態解析処理の機能である。具体的には、対象となるアクチュエータの時系列の動作状態データを取得し、アクチュエータの稼動状態データを算出する機能を有する。
【００８１】
例えば、すでに説明した図２は、アクチュエータとしてのシリンダの前進稼動状態及び後退稼動状態を表すものである。上記のように、シリンダの前進稼動状態は、（前進指示有り）かつ（シリンダ前進端が検出されず）を表す稼動状態関数Ｚ１を用いて算出でき、同様にシリンダの後退稼動状態は、（後退指示有り）かつ（シリンダ後退端が検出されず）を表す稼動状態関数Ｚ２を用いて算出できる。シリンダ以外のアクチュエータ、例えばねじ締めヘッド等の稼動状態も同様にして算出することができる。このようにして、稼動状態関数を用いて、特定のアクチュエータの稼動状態データを算出することができる。
【００８２】
【発明の効果】
本発明に係る生産ラインの稼動状況解析装置、稼動状況解析方法、稼動状況解析プログラム及び稼動状況解析システムによれば、生産ラインを構成する各工程に専用の回路やプログラムを要せず、各工程の状態を表す信号に基づいて稼動状況を解析できる。本発明に係る生産ラインの稼動状況解析装置、稼動状況解析方法、稼動状況解析プログラム及び稼動状況解析システムによれば、複数の動作状態信号を任意に組み合わせる稼動状態関数を用いて稼動状態を解析できる。本発明に係る生産ラインの稼動状況解析装置、稼動状況解析方法、稼動状況解析プログラム及び稼動状況解析システムによれば、特別な回路やプログラムを要することなく、複数の工程にまたがって稼動状態を解析できる。
【図面の簡単な説明】
【図１】本発明に係る稼動状態関数を説明する図である。
【図２】本発明に係る稼動状態関数を用いて、稼動状態をタイムチャートとして出力する例を示す図である。
【図３】本発明に係る実施の形態における生産ラインの稼動状況解析システムの構成を示すブロック図である。
【図４】本発明に係る実施の形態において、実生産中の稼動状態を出力する稼動状態関数Ｙ１を説明する図である。
【図５】本発明に係る実施の形態において、時系列の各動作状態のデータと、算出された実生産稼動状態のデータの例を示す図である。
【図６】本発明に係る実施の形態において、異常停止中の稼動状態を出力する稼動状態関数Ｙ２を説明する図である。
【図７】本発明に係る実施の形態において、工具交換中の稼動状態を出力する稼動状態関数Ｙ３を説明する図である。
【図８】本発明に係る実施の形態において、品質チェック中の稼動状態を出力する稼動状態関数Ｙ４を説明する図である。
【図９】本発明に係る実施の形態において、後工程フル状態の稼動状態を出力する稼動状態関数Ｙ５を説明する図である。
【図１０】本発明に係る実施の形態において、前工程空き状態の稼動状態を出力する稼動状態関数Ｙ６を説明する図である。
【図１１】本発明に係る実施の形態において、稼動状態関数を用いて算出された稼動状態データを用い、工程の全体稼動状況として出来高率を示した図である。
【図１２】本発明に係る実施の形態において、稼動状態関数を用いて算出された稼動状態データを用い、工程の稼動状態を時系列で表した図である。
【符号の説明】
１０  稼動状況解析システム、２０  生産設備、２２  異常表示装置、３０  データ収集装置、５０  データ蓄積サーバ、６０  稼動状況解析装置、７０  ＣＰＵ、７８  外部記憶装置、８０  稼動状態関数ファイル、１００  データ取得部、１５０  稼動状態データ算出部、１５２  実生産中状態算出モジュール、１５４  異常停止中状態算出モジュール、１５６  工具交換状態算出モジュール、１５８  品質チェック状態算出モジュール、１６０  後工程フル状態算出モジュール、１６２  前工程空き状態算出モジュール、１６４  出来高率算出モジュール、１６６  アクチュエータ状態算出モジュール。
【図１】
2004287635.tif 000003
【図２】
2004287635.tif 000004
【図３】
2004287635.tif 000005
【図４】
2004287635.tif 000006
【図５】
2004287635.tif 000007
【図６】
2004287635.tif 000008
【図７】
2004287635.tif 000009
【図８】
2004287635.tif 000010
【図９】
2004287635.tif 000011
【図１０】
2004287635.tif 000012
【図１１】
2004287635.tif 000013
【図１２】
2004287635.tif 000014