(57)【要約】【課題】シーケンス制御プログラムによって装置の動作を制御する場合に、動作仕様と実動作の差異を比較するために、タイムチャートを生成して可視化することが行われている。動作仕様と実動作とに差異がある場合は、異常が発生した動作に対して調整やデバッグ作業が必要となるため、異常動作と異常原因が正確かつ容易に特定でき、分析可能なことが求められている。【解決手段】分析対象動作として指定された動作よりも時間的に先行する動作の中から、分析対象動作まで動作の従属関係が連結する先行動作を抽出し、抽出された先行動作について動作仕様と実動作の差異を比較して表示する。分析対象動作に影響を与えない動作については比較結果が表示されないため、ユーザは異常動作と異常原因を迅速かつ正確に特定することが可能で、調整やデバッグ作業を効率的に行うことができる。【選択図】図１
2019003353.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵと表示部を備える分析装置を用いて制御対象装置の動作状態を分析する方法であって、
前記制御対象装置に連続した動作を実行させるためのシーケンス制御プログラムにおける各動作の設計値に基づき、前記ＣＰＵが設計タイムチャートを作成する設計タイムチャート作成工程と、
前記制御対象装置を前記シーケンス制御プログラムにより実際に動作させたときの動作状態情報に基づき、前記ＣＰＵが動作タイムチャートを作成する動作タイムチャート作成工程と、
前記ＣＰＵが、前記設計タイムチャートと前記動作タイムチャートを比較した比較タイムチャートを作成する比較タイムチャート作成工程と、
前記比較タイムチャートに含まれる動作の中から、分析対象とする分析対象動作の指定を前記ＣＰＵが受付ける分析対象動作指定工程と、
指定を受付けた前記分析対象動作よりも時間的に先行する動作の中から、前記分析対象動作に動作の従属関係が連結する先行動作を、前記ＣＰＵが抽出する従属関係動作抽出工程と、
前記ＣＰＵが、前記従属関係動作抽出工程で抽出した先行動作について、前記設計値と前記動作状態情報を比較した比較結果を作成する比較結果作成工程と、
前記比較結果を前記表示部が表示する比較結果表示工程と、を備える、
ことを特徴とする制御対象装置の動作状態を分析する方法。
【請求項２】
前記設計値と、前記制御対象装置を前記シーケンス制御プログラムにより実際に動作させたときの前記動作状態情報は、
各動作の開始から終了までの動作時間情報と、従属関係にある先行動作の完了から後続動作を開始するまでの動作タイミング情報と、を含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記比較結果作成工程では、前記ＣＰＵが、前記動作時間情報および前記動作タイミング情報についての比較結果を作成する、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記ＣＰＵが、前記比較結果に基づき、前記分析対象動作指定工程で指定された動作の前記動作状態情報が前記設計値からずれた原因である先行動作を特定する原因特定工程をさらに備える、
ことを特徴とする請求項２に記載の方法。
【請求項５】
前記原因特定工程では、前記動作タイミング情報と前記動作時間情報のうち、少なくとも一方が設計値からずれた先行動作を特定する、
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記原因特定工程で特定された先行動作を表示する原因表示工程を有する、
ことを特徴とする請求項４又は５に記載の方法。
【請求項７】
前記制御対象装置を前記シーケンス制御プログラムにより実際に複数回動作させたときの動作状態情報に基づき、前記ＣＰＵが、各回の動作状態情報ごとに前記比較タイムチャートを作成して蓄積し、
蓄積した複数の前記比較タイムチャートに基づき、前記ＣＰＵが前記制御対象装置の動作の経時的な変化を分析する、
ことを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
請求項１乃至７のいずれか１項に記載の方法を前記分析装置に実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記憶した記憶媒体。
【請求項１０】
請求項８に記載のプログラムを格納した記憶部と、ＣＰＵと、表示部と、を備えたタイムチャート分析装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば自動組立て装置やロボットのようにシーケンスプログラムによって制御される装置における予定動作と実動作の差異を分析する方法とそれに用いる装置に関する。より詳しくは、シーケンスプログラムにより予定された装置の動作と実動作の推移を比較し、両者の間に差異があるときに、補正すべき工程を容易に特定できるようにした分析方法およびタイムチャート分析装置に関する。
【背景技術】
【０００２】
従来から、シーケンス制御プログラムによって装置の動作を制御する場合に、予定した動作（以下、動作仕様と記す）と実動作の差異を比較するために、タイムチャートを生成して可視化することが行われている。具体的には、制御対象となっている装置の各部の入出力信号に基づいて実動作の動作状況を示すタイムチャートを作成し、動作仕様と比較することが行われる。
【０００３】
例えば特許文献１には、設備の異常を迅速に把握するために、プログラマブル・コントローラＰＣの入出力信号等を時間情報とともに記録し、記録された情報をタイムチャートとして表示し、正常動作中の時の情報と比較する装置が開示されている。動作結果のタイムチャート上に許容時間幅を含んだ基準タイミングを併記することによって、各動作タイミングと許容時間幅を比較する。許容時間幅を越えていた動作は異常動作として検出し、その動作タイミングの時刻と許容時間幅を越えた箇所を表示することによって、異常動作を特定する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平９−２６８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
動作仕様と実動作との間に差異がある場合は、異常が発生した動作に対して調整やデバッグ作業が必要となる。このため、異常動作と異常原因が正確かつ容易に特定でき、分析可能なことが求められる。
【０００６】
シーケンスプログラム制御では、一般的にあらかじめ規定された順序に従って指令が実行される。例えば、先行する動作の完了を条件に後続する動作を開始させようとする場合には、後続する動作の実行タイミングは先行する動作の完了タイミングに依存して決まる。以降の説明では、複数の動作間で、一方の動作タイミングに依存して他方の動作タイミングが決まる関係のことを従属関係と記す。
従属関係にある動作間においては、先行する動作に異常な遅延が発生すると、必然的に後続する動作の実行タイミングにも遅延が発生する。
【０００７】
特許文献１に示された比較手法では、動作仕様にある各動作の基準タイミングと比較して、一致していないと判定された動作すべてを異常として検出する。そのため、単に先行する動作が遅延したため後続する動作にもその分の遅延が累積したに過ぎないのか、それとも後続する動作そのものにも遅延原因があるのかを分析するのは、煩雑で困難であった。
制御対象である装置の調整やデバッグの作業性を向上するために、動作結果に影響を与える異常動作のみを容易に特定できるような方法が求められていた。
【課題を解決するための手段】
【０００８】
本発明は、ＣＰＵと表示部を備える分析装置を用いて制御対象装置の動作状態を分析する方法であって、前記制御対象装置に連続した動作を実行させるためのシーケンス制御プログラムにおける各動作の設計値に基づき、前記ＣＰＵが設計タイムチャートを作成する設計タイムチャート作成工程と、前記制御対象装置を前記シーケンス制御プログラムにより実際に動作させたときの動作状態情報に基づき、前記ＣＰＵが動作タイムチャートを作成する動作タイムチャート作成工程と、前記ＣＰＵが、前記設計タイムチャートと前記動作タイムチャートを比較した比較タイムチャートを作成する比較タイムチャート作成工程と、前記比較タイムチャートに含まれる動作の中から、分析対象とする分析対象動作の指定を前記ＣＰＵが受付ける分析対象動作指定工程と、指定を受付けた前記分析対象動作よりも時間的に先行する動作の中から、前記分析対象動作に動作の従属関係が連結する先行動作を、前記ＣＰＵが抽出する従属関係動作抽出工程と、前記ＣＰＵが、前記従属関係動作抽出工程で抽出した先行動作について、前記設計値と前記動作状態情報を比較した比較結果を作成する比較結果作成工程と、前記比較結果を前記表示部が表示する比較結果表示工程と、を備えることを特徴とする制御対象装置の動作状態を分析する方法である。
【発明の効果】
【０００９】
本発明によれば、調整やデバッグ作業を要する異常動作のみを容易に特定できるように表示することで、異常動作の分析を行う際の作業性の向上を実現できる。
【図面の簡単な説明】
【００１０】
【図１】第一の実施形態におけるタイムチャート分析装置の構成を示すブロック図。
【図２】第一の実施形態における設計タイムチャートサンプルを示す図。
【図３】第一の実施形態における実機タイムチャートサンプルを示す図。
【図４】第一の実施形態における動作情報取得処理部の処理の例を示すフローチャート。
【図５】第一の実施形態における動作時間比較処理部の処理の例を示すフローチャート。
【図６】第一の実施形態における動作タイミング比較処理部の処理の例を示すフローチャート。
【図７】第一の実施形態における原因特定処理部の処理の例を示すフローチャート。
【図８】第一の実施形態における表示情報生成処理部の処理の例を示すフローチャート。
【図９】実施例１における設計タイムチャートを示す図。
【図１０】実施例１における実機タイムチャートを示す図。
【図１１】実施例１における設計動作時間情報を示す図。
【図１２】実施例１における設計動作タイミング情報を示す図。
【図１３】実施例１における実機動作時間情報を示す図。
【図１４】実施例１における実機動作タイミング情報を示す図。
【図１５】実施例１における比較タイムチャートを示す図。
【図１６】実施例１における動作時間比較結果情報を示す図。
【図１７】実施例１における動作タイミング比較結果情報を示す図。
【図１８】（ａ）実施例１におけるＩＤ３の関連動作のパターン１を示す図。（ｂ）実施例１におけるＩＤ３の関連動作のパターン２を示す図。
【図１９】（ａ）実施例１における原因特定結果情報（動作時間比較）を示す図。（ｂ）実施例１における原因特定結果情報（動作タイミング比較）を示す図。
【図２０】実施例１における表示情報生成処理部によって表示された結果を示す図。
【図２１】実施例１における表示情報生成処理部によって表示された結果の他の例を示す図。
【図２２】実施例１における表示情報生成処理部によって表示された修正結果タイムチャートを示す図。
【図２３】第二の実施形態におけるタイムチャート分析装置の構成を示すブロック図。
【図２４】実施例２における経時的な変化を分析する際の処理の例を示すフローチャート。
【図２５】実施例２における原因特定結果情報を示す図。
【図２６】実施例２における原因特定結果情報から異常変化時点を取得した結果を示す図。
【発明を実施するための形態】
【００１１】
［第一の実施形態］
以下、図面を参照して、本発明の第一の実施形態である分析方法およびタイムチャート分析装置について説明する。
【００１２】
図１は、第一の実施形態のタイムチャート分析装置の構成を示すブロック図である。このタイムチャート分析装置１００は、ＣＰＵ１１０、データ格納部１２０、プログラム格納部１３０、表示処理部１４０、表示部１４１、入力処理部１５０を備えている。
【００１３】
ＣＰＵ１１０は、与えられた命令に従い演算処理、データ作成処理、メモリへの書込み処理や読出し処理をはじめとする各種の処理を行うコンピュータである。
データ格納部１２０には、タイムチャート情報１６０と、設計動作情報１７０と、実機動作情報１８０と、比較結果情報１９０と、原因特定結果情報１２１を格納するための記憶領域が設けられている。
【００１４】
プログラム格納部１３０の、動作情報取得処理部１３１、動作時間比較処理部１３２、動作タイミング比較処理部１３３、原因特定処理部１３４、表示情報生成処理部１３５には、各処理をＣＰＵに実行させるためのプログラムが格納されている。プログラム格納部としての記憶部には、たとえばハードディスクのような記憶媒体が用いられる。
表示処理部１４０は、ＬＣＤディスプレイ等の表示部１４１に情報を表示するための処理を行う。
入力処理部１５０は、キーボードやマウス等の入力装置からの情報を受付ける処理をする。
【００１５】
次に、データ格納部１２０に格納される各情報の詳細な説明をする。
タイムチャート情報１６０には、動作仕様をタイムチャートに表すための設計タイムチャート情報１６１と、動作結果をタイムチャートに表すための実機タイムチャート情報１６２と、それらを重ね合わせて表すための比較タイムチャート情報１６３が含まれる。
【００１６】
参考のため、図２に設計タイムチャート情報１６１に基づいて作成した設計タイムチャートのサンプル２００を、図３に実機タイムチャート情報１６２に基づいて作成した実記タイムチャートのサンプル３００を示す。
【００１７】
図２の設計タイムチャートのサンプル２００は、設定部２１０と時間表示部２２０と図形描画部２３０で構成されている。設定部２１０は、動作名称２１１と動作状態２１２の情報を含む。動作名称２１１は、装置を構成する各機器の動作の名称情報を含んでいる。動作状態２１２は、装置を構成する各機器が動作する前後の状態を示す情報を含む。時間表示部２２０は、時間情報２２１を含む。図形描画部２３０は、機器が動作中であることを示す斜線２３１と、機器が待機状態であることを表す水平線２３２と、センサ等の信号のＯＮまたはＯＦＦを表す垂直線２３３と、異なる動作間の従属関係を示す円弧矢印２３４の情報を含む。
図３の実機タイムチャート情報のサンプル３００は、図２の設計タイムチャートのサンプル２００と同様のフォーマットであるが、動作間の従属関係を示す円弧矢印２３４は含まない。
【００１８】
図１に戻り、設計動作情報１７０は、設計動作時間情報１７１と、設計動作タイミング情報１７２を含む。設計動作時間情報１７１は、各動作の動作時間の情報を含む。設計動作タイミング情報１７２は、各動作の動作タイミングの情報を含む。
【００１９】
尚、ある動作の動作時間とは、その動作の開始から終了までに要する時間的な長さを意味する。例えば、設計タイムチャートのサンプル２００において、動作名称Ａのａ２からａ１への動作は、０秒に開始して０．１秒に終了しているので、動作時間は０．１秒である。
【００２０】
また、ある動作についての動作タイミングとは、先行する動作の状態に従属してその動作の開始が決まる場合において、先行する動作が終了してからその動作を開始するまでの時間的な長さを意味する。例えば、設計タイムチャートのサンプル２００では、動作名称Ａのａ２からａ１への動作と、動作名称Ｃのｃ２からｃ１への動作は、円弧矢印で結ばれており従属関係にあるが、前者の終了後直ちに後者を開始しているので、動作タイミングは０である。
【００２１】
実機動作情報１８０は、動作時間に関する実機動作時間情報１８１と、動作タイミングに関する実機動作タイミング情報１８２を含む。実機動作時間情報１８１は、シーケンス制御プログラムによって制御対象となる装置を実際に動作させたときの各動作の動作時間の情報を含む。実機動作タイミング情報１８２は、シーケンス制御プログラムによって制御対象となる装置を実際に動作させたときの従属関係にある動作の動作タイミングの情報を含む。
【００２２】
比較結果情報１９０は、動作時間比較結果情報１９１と動作タイミング比較結果情報１９２を含む。動作時間比較結果情報１９１は、設計動作時間情報１７１と実機動作時間情報１８１とを比較した結果を含む。動作タイミング比較結果情報１９２は、設計動作タイミング情報１７２と実機動作タイミング情報１８２とを比較した結果を含む。
【００２３】
原因特定結果情報１２１は、設計タイムチャート情報１６１と実機タイムチャート情報１６２の間で差異が発生した原因となった異常動作と、その動作の動作時間比較結果と動作タイミング比較結果を含む。
【００２４】
次に、第一の実施形態であるタイムチャート分析装置の動作について説明する。
図４は、プログラム格納部１３０の動作情報取得処理部１３１に格納された処理プログラムの処理手順を表したフローチャートの一例であり、設計値と実測値に基づいて各種情報を取得して格納する手順が示されている。
【００２５】
まず、ステップＳ４１０では、ＣＰＵ１１０は、データ格納部１２０に格納された設計タイムチャート情報１６１に含まれる各動作にＩＤを割り当てる。
次に、ステップＳ４２０では、ＣＰＵ１１０は、設計タイムチャート情報１６１から、ＩＤ単位で動作名や動作時間の情報を抽出し、設計動作時間情報１７１を取得する。
ステップＳ４３０では、ＣＰＵ１１０は、設計タイムチャート情報に含まれる各動作間の従属関係を用いて、設計タイムチャート情報から各動作間の動作タイミングを含む設計動作タイミング情報１７２を取得する。
【００２６】
ステップＳ４４０では、ＣＰＵ１１０は、データ格納部１２０に格納された実機タイムチャート情報１６２に含まれる各動作にＩＤを割り当てる。各動作に割り当てられるＩＤは、設計タイムチャート情報での割り当てに準拠させる。すなわち、設計タイムチャート情報と実機タイムチャート情報の対応する動作には、同一のＩＤを割り当てるようにする。
ステップＳ４５０では、ＣＰＵ１１０は、実機タイムチャート情報から、ＩＤ単位で動作名や動作時間の情報を抽出し、実機動作時間情報１８１を取得する。
【００２７】
ステップＳ４６０では、ＣＰＵ１１０は、設計タイムチャート情報１６１に含まれる各動作間の従属関係を用いて実機タイムチャート情報から動作間の動作タイミングを抽出し、実機動作タイミング情報１８２を取得する。
【００２８】
ステップＳ４７０では、ＣＰＵ１１０は、取得した設計動作時間情報１７１、設計動作タイミング情報１７２、実機動作時間情報１８１、実機動作タイミング情報１８２をデータ格納部１２０に格納する。
ステップＳ４８０では、ＣＰＵ１１０は、実機タイムチャート情報と設計タイムチャート情報を合成して編集した比較タイムチャート情報１６３を作成し、データ格納部１２０へ格納する。
【００２９】
図５は、プログラム格納部１３０の動作時間比較処理部１３２に格納された処理プログラムの処理手順を表したフローチャートの一例である。設計値と実測値に基づいて動作毎に動作時間を比較し、比較結果をデータ格納部１２０に格納する手順が示されている。
【００３０】
まず、ステップＳ５１０では、ＣＰＵ１１０は、データ格納部１２０に格納された設計動作時間情報１７１から、各動作の動作時間（以下、設計動作時間という）を取得する。
次に、ステップＳ５２０では、ＣＰＵ１１０は、データ格納部１２０に格納された実機動作時間情報１８１から、各動作の動作時間（以下、実機動作時間という）を取得する。
ステップＳ５３０では、ＣＰＵ１１０は、取得した設計動作時間と実機動作時間を比較する。
ステップＳ５４０では、ＣＰＵ１１０は、ＩＤ毎の比較結果を動作時間比較結果情報１９１として、データ格納部１２０へ格納する。
【００３１】
図６は、プログラム格納部１３０の動作タイミング比較処理部１３３に格納された処理プログラムの処理手順を表したフローチャートの一例である。設計値と実測値に基づいて動作毎に動作タイミングを比較し、比較結果をデータ格納部に格納する手順が示されている。
【００３２】
まず、ステップＳ６１０では、ＣＰＵ１１０は、データ格納部１２０に格納された設計動作タイミング情報１７２から、各動作の動作タイミング（以下、設計動作タイミングという）を取得する。
次に、ステップＳ６２０では、ＣＰＵ１１０は、データ格納部１２０に格納された実機動作タイミング情報１８２から各動作の動作タイミング（以下、実機動作タイミングという）を取得する。
ステップＳ６３０では、ＣＰＵ１１０は、取得した設計動作タイミングと実機動作タイミングを比較する。
ステップＳ６４０では、ＣＰＵ１１０は、ＩＤ毎の比較結果を動作タイミング比較結果情報１９２として、データ格納部１２０へ格納する。
【００３３】
図７は、プログラム格納部１３０の原因特定処理部１３４に格納された処理プログラムの処理手順を表したフローチャートの一例である。実機の動作のうちユーザが指定した動作について、従属関係の動作まで遡って分析して、異常が発生した原因を特定する手順が示されている。
【００３４】
ステップＳ７０１では、ＣＰＵ１１０は、入力処理部１５０を介して入力装置において分析対象となる動作の指定を受付けたかどうかを判断する。分析対象の動作が指定された場合は、ステップＳ７１０で、分析対象の動作が持つＩＤ（以下、分析対象動作ＩＤという）を実機タイムチャート情報１６２から取得する。
【００３５】
ステップＳ７２０では、ＣＰＵ１１０は、データ格納部１２０に格納された設計タイムチャート情報１６１に含まれる各動作間の従属関係を取得する。そして、分析対象の動作よりも先行して実行される動作のうち、分析対象の動作と直接またはカスケード的に連結した従属関係にある関連動作のＩＤを抽出する。なお、ステップＳ７０１で、分析対象の動作が指定されていないと判断した場合は、ＣＰＵ１１０は、ステップＳ７５０により、すべての動作を関連動作とみなしてＩＤを取得する。
【００３６】
ステップＳ７３０では、ＣＰＵ１１０は、抽出した関連動作について、動作時間比較結果と動作タイミング比較結果において動作仕様に対して差異があるかを判定する。そして、動作時間比較結果と動作タイミング比較結果の少なくとも一方に差異があると判定された動作（以下、異常動作という）のＩＤを特定する。
ステップＳ７４０では、特定した異常動作と、当該異常動作にかかる動作時間比較結果情報と動作タイミング比較結果情報とを原因特定結果情報１２１としてデータ格納部１２０へ格納する。
【００３７】
図８は、プログラム格納部１３０の表示情報生成処理部１３５に格納された処理プログラムの処理手順を表したフローチャートの一例であり、特定した原因をタイムチャート上に見やすく表示する手順を示している。
【００３８】
ステップＳ８１０では、ＣＰＵ１１０は、データ格納部１２０に格納された原因特定結果情報１２１を取得する。
次に、ステップＳ８２０では、ＣＰＵ１１０は、原因特定結果情報１２１をユーザに見やすく表示するための表示情報を生成して表示する。
ステップＳ８３０では、ＣＰＵ１１０は、データ格納部１２０格納された比較タイムチャート情報１６３に含まれた異常動作を修正するための修正情報を作成し、それを表示するための表示情報を生成して表示する。
【００３９】
以下では、第一の実施形態についての具体的な実施例を挙げてさらに詳しく説明するが、具体的な実施の方法は下記の実施例に限られるものではなく、適宜変更することが可能である。
【００４０】
［実施例１］
実施例１では、制御対象として加工ロボットを例に挙げ、設計タイムチャートと実機タイムチャートの具体例を示し、それらを参照しながらタイムチャートを比較する手順について説明してゆく。
【００４１】
図９は、制御対象である加工ロボットの動作仕様をタイムチャートとして表したものである。すなわち、設計タイムチャート９００は、データ格納部１２０に格納された設計タイムチャート情報１６１に基づき、ＣＰＵ１１０が作成した表示用データである。設計タイムチャート９００は、加工ロボットの動作の種類を示す動作名称欄と、連続した各動作の前後において加工ロボットが取り得る動作状態を示す動作状態欄と、０．１秒刻みの時間軸グリッドとともに動作状態の遷移をグラフで示すグラフ欄を含んでいる。
動作名称欄には５種の動作が示されており、９１０は搬送動作、９２０は移載動作、９３０は位置決め動作、９４０は加工１動作、９５０は加工２動作である。
【００４２】
動作状態欄には、各動作の前後において加工ロボットが取り得る動作状態が示されている。すなわち、搬送動作９１０に関しては戻り位置と送り位置が、移載動作９２０に関しては待機と移載が、位置決め動作９３０に関しては解除と位置決めが示されている。また、加工１動作に関しては待機と組付けａと組付けｂが、加工２動作に関してはセンサＯＦＦとセンサＯＮと待機と組付けｃが示されている。
グラフ欄には、各動作において、時間の経過とともに状態が遷移する様子が折れ線グラフで示されている。
【００４３】
例えば、搬送動作９１０に関しては、加工ロボットの搬送機構は戻り位置と送り位置の２つの状態を取ることができるが、時間軸の０秒から０．２秒の間に戻り位置から送り位置まで移動する。この間の折れ線グラフが右上がりになっているのは、移動中であることを示しており、動作の開始から終了までに要する動作時間は０．２秒である。尚、丸付き数字１は、戻り位置から送り位置までの移動動作に割り当てられたＩＤを示している。０．２秒から０．４秒までは、搬送動作のグラフは水平だが、これは搬送機構が送り位置で停止していることを示している。そして、０．４秒から０．５５秒の間に、丸付き数字２のＩＤが割り当てられた動作、すなわち送り位置から戻り位置までの移動が行われる。この間の折れ線グラフが右下がりになっているのは、移動中であることを示している。そして、０．５５秒以降は、グラフは水平であり、搬送機構が戻り位置で停止していることを示している。
【００４４】
また、丸付き数字１の動作の終了時点から位置決め動作９３０に円弧矢印が伸びており、位置決め動作において解除状態から位置決め状態に遷移する丸付き数字４の動作が開始されている。これは、丸付き数字１の動作完了に従属して丸付き数字４の動作が開始することを示している。
尚、以下の説明では、図面中に丸付き数字で示した番号について記載する際に、文章が煩雑になるのを避けるため、例えば丸付き数字１と記載する代わりに１のように数字のみで記述する場合があることとする。
【００４５】
また、４の動作の終了時点から加工１動作９４０と加工２動作９５０にそれぞれ別の円弧矢印が伸びているが、これは加工１動作の６と加工２動作の９は、４の動作完了に従属する関係にあることを示している。ただし、加工１動作の６は、４の動作完了後直ちに開始されているので動作タイミングは０秒であるが、加工２動作の９は、４の動作完了後に０．２秒経過してから開始されているので動作タイミングは０．２秒である。
【００４６】
また、位置決め動作の丸付き数字５の動作開始点には、加工１動作の丸付き数字８と加工２動作の丸付き数字１０から、それぞれ別の円弧矢印が伸びている。これは、丸付き数字８と丸付き数字１０の両方の動作が完了すると、丸付き数字５の動作が開始するという従属関係を示している。
【００４７】
このように、本実施例の設計タイムチャート９００には、加工ロボットがワークを搬送して作業台上に位置決めし、２種の加工を行った後に位置決めを解除し、ワークを別の台に移載するまでの一連の動作シーケンスが示されている。
【００４８】
図１０は、図９に示した設計タイムチャートの動作を実行するためのシーケンスプログラムを用いて加工ロボットを実際に動作させ、その動作状態の観測結果に基づいて作成した動作タイムチャートとしての実機タイムチャート１０００である。実機タイムチャート１０００は、基本的には設計タイムチャート９００と同一のフォーマットを用いているが、動作間の従属関係を示す円弧矢印を省略し、グラフは実線ではなく点線で表している。設計タイムチャート９００と重ねて表示や印刷したときに、グラフの区別がつきやすくするためである。もちろん、示す方法はこれに限られるわけではなく、例えば実線と点線でグラフを区別する代わりに、異なる色や異なる太さで区別してもよい。
【００４９】
次に、設計タイムチャート９００と実機タイムチャート１０００とを参照して、実施例１のタイムチャート分析装置の動作について説明する。
タイムチャート分析の開始の指示が入力部に入力されると、まず図４のフローチャートに従い各種情報を取得して格納する処理が行われる。
【００５０】
まず、ステップＳ４１０では、ＣＰＵ１１０は、シーケンス制御プログラムにおける各動作の設計値に基づき設計タイムチャートを作成し（設計タイムチャート作成工程）、設計タイムチャート９００に記載された各動作に、丸付き数字で示したＩＤを割り当てる。
次に、ステップＳ４２０では、ＣＰＵ１１０は、ＩＤ単位で動作名や動作時間の情報を含む設計動作時間情報１７１を取得する。図１１は、設計動作時間情報１７１を具体的に示したものである。設計動作時間情報１７１には、各動作に割り当てたＩＤ毎に、動作名と、動作状態の遷移に関する移動元と移動先と、動作開始時間と動作終了時間と、動作時間が含まれている。
【００５１】
ステップＳ４３０では、ＣＰＵ１１０は、設計タイムチャート９００に含まれる各動作間の従属関係の情報を用いて、設計動作タイミング情報１７２を取得する。図１２は設計動作タイミング情報１７２を具体的に示したものである。設計動作タイミング情報１７２は、従属関係にある動作間における先行動作の終了から後続動作の開始までの時間的な長さを示す情報である動作タイミングを含んでいる。
【００５２】
ステップＳ４４０では、ＣＰＵ１１０は、シーケンス制御プログラムにより実際に動作させたときの動作状態情報に基づき動作タイムチャートとして実機タイムチャートを作成する。（動作タイムチャート作成工程）
そして、設計タイムチャート情報１６１の各動作と対応させて実機タイムチャート情報１６２に記載された各動作に、設計タイムチャート情報と同一のＩＤを割り当てる。
【００５３】
ステップＳ４５０では、ＣＰＵ１１０は、ＩＤ単位で動作名や動作時間の情報を含む実機動作時間情報１８１を取得する。図１３は実機動作時間情報１８１を具体的に示したものである。実機動作時間情報１８１には、各動作に割り当てたＩＤ毎に、動作名と、動作状態の遷移に関する移動元と移動先と、実際の動作開始時間と動作終了時間と動作時間が含まれている。
【００５４】
ステップＳ４６０では、ＣＰＵ１１０は、設計タイムチャート情報１６１に含まれる各動作間の従属関係の情報を参照して実機タイムチャート情報１６２の各動作に適用し、実機動作タイミング情報１８２を取得する。図１４は実機動作タイミング情報１８２を具体的に示したものである。実機動作タイミング情報１８２は、従属関係にある動作間における先行動作の終了から後続動作の開始までの時間的な長さを示す情報である動作タイミングを含んでいる。
【００５５】
ステップＳ４７０では、ＣＰＵ１１０は、設計動作時間情報１７１と設計動作タイミング情報１７２と、実機動作時間情報１８１と実機動作タイミング情報１８２をデータ格納部１２０へ格納する。
ステップＳ４８０では、ＣＰＵ１１０は、設計タイムチャート９００と実機タイムチャート１０００を合成して編集した比較タイムチャート情報１６３を作成し、データ格納部１２０へ格納する。（比較タイムチャート作成工程）
【００５６】
また、ＣＰＵ１１０は、比較タイムチャート情報１６３を表示処理部１４０を介して表示部１４１に表示させるためのデータを作成する。図１５は、設計タイムチャート９００と実機タイムチャート１０００を合成して編集した比較タイムチャート１１００の例である。
【００５７】
次に、図５のフローチャートの処理が行われ、設計値と実測値に基づいて動作ごとに動作時間を比較し、比較結果をデータ格納部に格納する。
まず、ステップＳ５１０では、ＣＰＵ１１０は、設計動作時間情報１７１から、各動作の設計動作時間を取得する。
次に、ステップＳ５２０では、ＣＰＵ１１０は、実機動作時間情報１８１から、各動作の実機動作時間を取得する。
ステップＳ５３０では、ＣＰＵ１１０は、取得した設計動作時間と実機動作時間を比較し、表示処理部１４０を介して表示部１４１に比較結果を表示するためのデータを作成し表示する。（比較結果表示工程）
【００５８】
図１６は、動作時間比較結果を具体的に示したものであり、ＩＤが割り当てられた動作毎に、設計動作時間、実機動作時間と、それらの比較結果が含まれている。設計動作時間と実機動作時間の差分が０である場合、すなわち両者に差がない場合に、比較結果を○（可）とし、差が存する場合に×（不可）としている。このように、厳密に一致するか否かを判定基準としてもよいが、両者の差分が所定の閾値を越えるかを判定基準として採用してもよい。
【００５９】
ステップＳ５４０では、ＣＰＵ１１０は、比較結果である動作時間比較結果情報１９１をＩＤ毎にデータ格納部１２０に格納する。
【００６０】
次に、図６のフローチャートの処理が行われ、設計値と実測値に基づいて動作ごとに動作タイミングを比較し、比較結果をデータ格納部に格納する。
ステップＳ６１０では、ＣＰＵ１１０は、設計動作タイミング情報１７２から各動作の設計動作タイミングを取得する。
ステップＳ６２０では、ＣＰＵ１１０は、実機動作タイミング情報１８２から各動作の実機動作タイミングを取得する。
【００６１】
ステップＳ６３０では、ＣＰＵ１１０は、取得した設計動作タイミングと実機動作タイミングを比較する。図１７は、動作タイミング比較結果を具体的に示したものであり、各動作に割り当てられたＩＤ毎に、設計動作タイミング、実機動作タイミングと、それらの比較結果が含まれている。設計動作タイミングと実機動作タイミングの差分が０である場合、すなわち両者に差がない場合に、比較結果を○（可）とし、差が存する場合に×（不可）としている。このように、厳密に一致するか否かを判定基準としてもよいが、両者の差分が所定の閾値を越えるかを判定基準として採用してもよい。
ステップＳ６４０では、ＣＰＵ１１０は、比較結果である動作タイミング比較結果情報１９２をＩＤ毎にデータ格納部１２０に格納する。
【００６２】
次に、図７のフローチャートの処理が行われ、実機の動作のうちユーザが指定した指定動作について、それが従属する先行動作を遡って分析し、指定動作に異常が発生した原因を特定する。
【００６３】
まず、ステップＳ７０１では、ＣＰＵ１１０は、入力処理部１５０を介して入力装置が分析対象の動作の指定を受付けたかどうかを判断する。（分析対象動作指定工程）
分析対象の動作が指定された場合は、ステップＳ７１０で、分析対象の動作が持つＩＤ（以下、分析対象動作ＩＤという）を、データ格納部１２０に格納された実機タイムチャート情報１６２から取得する。
ここでは、図１０の実機タイムチャート１０００において、移載動作９２０における丸付き数字３の動作に遅延が発生した場合を例にとり、以降のステップでは、操作者がこの動作を分析対象動作として指定した場合を説明する。すなわち、分析対象動作ＩＤは、ＩＤ３である。
【００６４】
ステップＳ７２０では、ＣＰＵ１１０は、設計タイムチャート情報１６１に含まれる各動作間の従属関係を用いて、ＩＤ３の関連動作を選定する。（従属関係動作抽出工程）
ここで関連動作とは、分析対象動作であるＩＤ３の動作よりも先行して実行される動作のうち、ＩＤ３の動作と直接またはカスケード的に連結した従属関係にあり、ＩＤ３の動作の開始タイミングに影響を与える動作をいう。図１８は、ＩＤ３の関連動作を選定する様子と、その結果を具体的に示したものである。ＩＤ３が従属する先行動作の経路は、２系統あることがわかる。一つ目は、図１８（ａ）に示すＩＤ３、ＩＤ５、ＩＤ８、ＩＤ７、ＩＤ６、ＩＤ４、ＩＤ１のパターン１であり、二つ目は、図１８（ｂ）に示すＩＤ３、ＩＤ５、ＩＤ１０、ＩＤ１２、ＩＤ１１、ＩＤ９、ＩＤ４、ＩＤ１のパターン２である。図９で説明したように、ＩＤ５の動作は、ＩＤ８の動作とＩＤ１０の動作の両方が完了すると開始されるが、実際にはＩＤ８の動作の方がＩＤ１０の動作よりも後発事象であるため、ＩＤ５の動作開始は実質的にはＩＤ８の動作に依存する。したがって、パターン１とパターン２のうち、ＩＤ３の動作開始のタイミングは、パターン１に依存していることがわかる。そこで、ＣＰＵ１１０は、パターン１に含まれる動作ＩＤであるＩＤ３、ＩＤ５、ＩＤ８、ＩＤ７、ＩＤ６、ＩＤ４、ＩＤ１を関連動作のＩＤとして選定する。なお、ステップＳ７０１で、分析対象動作が指定されていないと判断した場合は、ステップＳ７５０により、すべてのＩＤを取得する。
【００６５】
ステップＳ７３０では、選定した関連動作のうち、動作時間比較結果か動作タイミング比較結果の少なくとも一方で動作仕様に対し差異があると判定された動作（以下、異常動作という）のＩＤを特定する。図１９は、分析対象動作ＩＤがＩＤ３の場合の動作時間比較結果と動作タイミング比較結果を具体的に示したものである。関連動作のうち、動作時間について異常と判断された動作は、ＩＤ５、ＩＤ６、ＩＤ４であり、動作タイミングについて異常と判断された動作はＩＤ４である。なお、動作仕様と動作結果を比較する場合に、差異に許容範囲を持たせ、許容範囲を超えたかどうかを判断することで、異常動作を判定しても良い。
【００６６】
ステップＳ７４０では、ＣＰＵ１１０は、特定した異常動作と、当該異常動作にかかる動作時間比較結果情報と動作タイミング比較結果情報を、原因特定結果情報１２１としてデータ格納部１２０へ格納する。（比較結果作成工程）
次に図８の処理が行われ、特定した原因をタイムチャート上に見やすく表示する。
ステップＳ８１０では、ＣＰＵ１１０は、データ格納部１２０から原因特定結果情報１２１を取得する。
【００６７】
次に、ステップＳ８２０では、ＣＰＵ１１０は、原因特定結果情報１２１に含まれる動作時間比較結果と動作タイミング比較結果をグラフ表示するためのデータを作成し、表示処理部１４０を介して表示部１４１に表示させる。（原因表示工程）
【００６８】
図２０は、グラフ表示を具体的に示したものである。異常動作の、動作時間と動作タイミングのそれぞれに対して、動作仕様との差分値と、それらの累積値が含まれている。尚、図２０は表示形式の一例であり、本発明の実施形態を特に限定するものではなく、例えば図１９の原因特定結果情報を表形式で表示しても良い。また、図２１のように、ＩＤ３に影響を与えた異常動作のうち、動作仕様に対して速い動作は除外し、遅れている動作のみを抽出して表示するものでも良い。
【００６９】
ステップＳ８３０では、ＣＰＵ１１０は、異常動作を修正した場合の実機タイムチャートを生成し、設計タイムチャートと重ねて表示処理部１４０に表示させるための表示データを作成する。図２２は、修正結果タイムチャートを具体的に示した例である。ＩＤ５の動作時間、ＩＤ６の動作時間、ＩＤ４の動作時間および動作タイミングが修正されたことにより、分析対象動作であるＩＤ３が動作仕様通りに完了することをユーザは容易に把握することができる。また、動作仕様と動作結果との間に未だに差異が残る動作が明確に示されるため、ユーザは次に分析対象として指定するべき動作を容易に特定することが出る。
【００７０】
以上の処理によれば、分析対象動作に影響を与える異常動作を特定し、さらにはその異常原因が、動作時間によるものなのか、動作タイミングによるものなのかを容易に分析することができる。また、異常動作を修正した場合のタイムチャートを生成し、動作仕様のタイムチャートと比較することで、次に分析対象とするべき動作を容易に特定することもできる。
【００７１】
実施例１によれば、分析対象動作に影響を与えない動作については比較結果が表示されないため、ユーザは異常動作と異常原因を迅速かつ正確に特定することが可能で、調整やデバッグ作業の効率が大幅に向上された。
【００７２】
［第二の実施形態］
第一の実施形態では、分析を行う際に実動作１回分の実機タイムチャート情報を用い、動作時間比較結果情報と動作タイミング比較結果情報をデータ格納部１２０に格納していた。第二の実施形態は、制御対象装置を複数回動作させた分の実機タイムチャート情報に対応する動作時間比較結果情報と動作タイミング比較結果情報を蓄積しておくことにより、制御対象装置の経時的な変化を分析することができる分析方法である。
図２３は、第二の実施形態のタイムチャート分析装置の構成を示すブロック図である。第一の実施形態と同様の部分については、説明を省略する。
【００７３】
第一の実施形態のタイムチャート分析装置１００との主たる違いは、第二の実施形態では、比較結果情報１９０として、時系列的に複数回分の動作時間比較結果情報と動作タイミング比較結果情報を蓄積する点である。すなわち、過去の分析イベントと関連付けた比較結果を、動作時間比較結果情報１９１−１、動作タイミング比較結果情報１９２−１、動作時間比較結果情報１９１−２、動作タイミング比較結果情報１９２−２、等のように蓄積することができる点である。
【００７４】
本実施形態のタイムチャート分析装置に関し、制御対象装置の各動作の経時的な変化を分析する処理について、具体的な実施例を挙げて説明する。なお、実施例２においても、実施例１と同様に、図９の設計タイムチャート９００と図１０の実機タイムチャート１０００を参照して説明する。
【００７５】
［実施例２］
実施例２では、過去に制御対象装置の動作分析をＮ回行い、Ｎ回目の動作結果が実機タイムチャート１０００になった場合について説明する。
タイムチャート分析装置は、動作情報取得処理部１３１と動作時間比較処理部１３２と動作タイミング比較処理部１３３に格納されたプログラムを用いて、過去にＮ回の分析を行っているものとする。そして、過去に取得した実機タイムチャートのそれぞれについての動作時間比較結果情報と動作タイミング比較結果情報が、データ格納部１２０に蓄積されているとする。
【００７６】
実機タイムチャート１０００に含まれる３、すなわちＩＤ３の動作について、ユーザは今回初めて異常発生原因の分析をするが、異常原因が過去のどの時点から生じていたのかを遡及的に分析したいとする。
【００７７】
入力処理部１５０より、経時的な変化を分析することが指示されると、図２４に示すフローチャートに従って処理が行われる。すなわち、ＣＰＵ１１０は、原因特定処理部１３４に格納されているプログラムを実行して、ステップＳ２４１０〜Ｓ２４４０の処理を行う。
【００７８】
まず、ステップＳ２４１０において、ＣＰＵ１１０は、比較結果情報として格納された過去Ｎ回分の動作時間比較結果情報と動作タイミング比較結果情報を取得する。
ステップＳ２４２０により、ＣＰＵ１１０は、図７のフローチャートの処理を行う。なお、実施例１と同様に、ここでの分析対象動作ＩＤはＩＤ３とする。
【００７９】
ステップＳ２４３０では、ＣＰＵ１１０は、Ｎ回分の全ての比較結果情報について図７のフローチャートの処理が完了しているかを判断する。完了していればステップＳ２４４０に進み、未完了であればステップＳ２４２０を再び実行する。図２５に、複数の実機タイムチャート情報に対して原因特定処理を行い、生成した原因特定結果情報１２１の具体例を示す。１回目、２回目、・・・、Ｎ回目に分けて原因特定処理部１３４の処理結果が示されている。
【００８０】
次にステップＳ２４４０により、ＣＰＵ１１０は、異常動作が何回目の時点で異常となったのかを特定する。図２６に原因特定結果情報１２１に含まれる異常動作が、どの時点で異常となったのかを取得したものを具体的に示す。動作時間について、例えばＩＤ４の動作は、Ｎ−１回目の時点から異常となっていることが分かる。動作タイミングについて、例えばＩＤ１に対するＩＤ４の動作タイミングは、Ｎ−１回目の時点から異常となっていることが分かる。
【００８１】
次にステップＳ２４５０により、ＣＰＵ１１０は、表示情報生成処理部１３５に格納されたプログラムによって、図２６の原因特定結果情報を表形式で表示するための表示データ作成処理を行う。
【００８２】
以上のように、実施例２では、動作時間比較結果情報と動作タイミング比較結果情報を蓄積して格納できるようにしたので、過去に遡及して制御対象装置の各動作の経時的な変化を分析することが可能になった。
【００８３】
［他の実施形態］
本発明の実施形態は、上述した例に限られるものではなく、適宜変更したり、省略したり、組み合わせたりすることが可能である。例えば、表示部に表示するタイムチャート等の情報は上記の形式に限られたものではない。分析結果は表示するだけではなく、印刷してユーザに提供してもよい。また、制御対象となる装置は加工ロボットに限るわけではなく、シーケンスプログラムを用いて制御される装置であれば、広く本発明の分析方法を適用することが可能である。たとえば、電磁弁やエアシリンダなどを備えた各種装置の制御や、組立てロボットなどの動作分析に、本発明は好適に用いることができる。
【符号の説明】
【００８４】
１００・・・タイムチャート分析装置／１１０・・・ＣＰＵ／１２０・・・データ格納部／１２１・・・原因特定結果情報／１３０・・・プログラム格納部／１３１・・・動作情報取得処理部／１３２・・・動作時間比較処理部／１３３・・・動作タイミング比較処理部／１３４・・・原因特定処理部／１３５・・・表示情報生成処理部／１４０・・・表示処理部／１４１・・・表示部／１５０・・・入力処理部／１６０・・・タイムチャート情報／１６１・・・設計タイムチャート情報／１６２・・・実機タイムチャート情報／１６３・・・比較タイムチャート情報／１７０・・・設計動作情報／１７１・・・設計動作時間情報／１７２・・・設計動作タイミング情報／１８０・・・実機動作情報／１８１・・・実機動作時間情報／１８２・・・実機動作タイミング情報／１９０・・・比較結果情報／１９１・・・動作時間比較結果情報／１９１−１・・・動作時間比較結果情報１／１９１−２・・・動作時間比較結果情報２／１９２・・・動作タイミング比較結果情報／１９２−１・・・動作タイミング比較結果情報１／１９２−２・・・動作タイミング比較結果情報２／２００・・・設計タイムチャートサンプル／２１０・・・設定部／２１１・・・動作名称／２１２・・・動作状態／２２０・・・時間表示部／２２１・・・時間情報／２３０・・・図形描画部／２３４・・・円弧矢印／３００・・・実機タイムチャートサンプル／９００・・・設計タイムチャート／１０００・・・実機タイムチャート／１１００・・・比較タイムチャート
【図１】
2019003353.tif 000003
【図２】
2019003353.tif 000004
【図３】
2019003353.tif 000005
【図４】
2019003353.tif 000006
【図５】
2019003353.tif 000007
【図６】
2019003353.tif 000008
【図７】
2019003353.tif 000009
【図８】
2019003353.tif 000010
【図９】
2019003353.tif 000011
【図１０】
2019003353.tif 000012
【図１１】
2019003353.tif 000013
【図１２】
2019003353.tif 000014
【図１３】
2019003353.tif 000015
【図１４】
2019003353.tif 000016
【図１５】
2019003353.tif 000017
【図１６】
2019003353.tif 000018
【図１７】
2019003353.tif 000019
【図１８】
2019003353.tif 000020
【図１９】
2019003353.tif 000021
【図２０】
2019003353.tif 000022
【図２１】
2019003353.tif 000023
【図２２】
2019003353.tif 000024
【図２３】
2019003353.tif 000025
【図２４】
2019003353.tif 000026
【図２５】
2019003353.tif 000027
【図２６】
2019003353.tif 000028