(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-08
(45)【発行日】2024-11-18
(54)【発明の名称】情報処理方法、プログラム、記録媒体、情報処理装置、製造システム、および物品の製造方法
(51)【国際特許分類】
G05B 19/05 20060101AFI20241111BHJP
G05B 23/02 20060101ALI20241111BHJP
【FI】
G05B19/05 L
G05B23/02 301N
(21)【出願番号】P 2023188515
(22)【出願日】2023-11-02
(62)【分割の表示】P 2022034425の分割
【原出願日】2017-06-13
【審査請求日】2023-12-01
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003133
【氏名又は名称】弁理士法人近島国際特許事務所
(72)【発明者】
【氏名】平岡 義章
(72)【発明者】
【氏名】宮崎 忠信
【審査官】牧 初
(56)【参考文献】
【文献】特開2017-102620(JP,A)
【文献】特開2001-249709(JP,A)
【文献】特開平05-189026(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 19/04-19/05
G05B 23/00-23/02
(57)【特許請求の範囲】
【請求項1】
情報処理方法であって、
制御対象となっている装置における少なくとも1つの動作を所定の動作時間で動作させるために設定された、前記少なくとも1つの動作の開始から終了までの第1動作時間情報と、
前記装置を実際に動作させた場合における、前記少なくとも1つの動作の開始から終了までの第2動作時間情報と、を取得し、
前記第1動作時間情報と前記第2動作時間情報とに基づき、前記少なくとも1つの動作の内、所定動作における前記第1動作時間情報と前記第2動作時間情報との差分に関する情報と、前記所定動作を識別するための情報と、を対応付けて表示部に表示する、
ことを特徴とする情報処理方法。
【請求項2】
請求項1に記載の情報処理方法において、
前記差分に関する情報を表示する場合に、前記第2動作時間情報が前記第1動作時間情報に対して速いことを示す情報、または前記第2動作時間情報が前記第1動作時間情報に対して遅いことを示す情報、を表示する、
ことを特徴とする情報処理方法。
【請求項3】
請求項1または2に記載の情報処理方法において、
前記差分に関する情報と、前記所定動作を識別する情報と、を表形式により対応付けて表示する、
ことを特徴とする情報処理方法。
【請求項4】
請求項1または2に記載の情報処理方法において、
前記差分に関する情報と、前記所定動作を識別する情報と、をグラフ表示により対応付けて表示する、
ことを特徴とする情報処理方法。
【請求項5】
請求項1から4のいずれか1項に記載の情報処理方法において、
前記差分に関する情報と、前記所定動作を識別する情報と、が関連付いていることをユーザに判別できるように表示する、
ことを特徴とする情報処理方法。
【請求項6】
請求項1から5のいずれか1項に記載の情報処理方法において、
前記差分に基づき、前記第1動作時間情報と前記第2動作時間情報との比較結果における可否に関する情報を表示する、
ことを特徴とする情報処理方法。
【請求項7】
請求項6に記載の情報処理方法において、
前記比較結果における可否は、前記差分が0であるか否か、または前記差分が閾値の範囲を超えるか否か、により判定する、
ことを特徴とする情報処理方法。
【請求項8】
請求項1から7のいずれか1項に記載の情報処理方法において、
前記所定動作を識別する情報を表示する場合に、前記第2動作時間情報が前記第1動作時間情報に対して遅いことによって前記差分が発生している前記所定動作を抽出して、抽出した前記所定動作を識別する情報を表示する、
ことを特徴とする情報処理方法。
【請求項9】
請求項1から8のいずれか1項に記載の情報処理方法において、
前記差分に関する情報は0を含む、
ことを特徴とする情報処理方法。
【請求項10】
請求項1から9のいずれか1項に記載の情報処理方法において、
前記所定動作を識別する情報はIDである、
ことを特徴とする情報処理方法。
【請求項11】
請求項1から10のいずれか1項に記載の情報処理方法において、
前記差分に関する情報を表示する場合に、前記差分に関する情報の蓄積状態も表示する、
ことを特徴とする情報処理方法。
【請求項12】
情報処理装置であって、
制御対象となっている装置における少なくとも1つの動作を所定の動作時間で動作させるために設定された、前記少なくとも1つの動作の開始から終了までの第1動作時間情報と、
前記装置を実際に動作させた場合における、前記少なくとも1つの動作の開始から終了までの第2動作時間情報と、を取得し、
前記第1動作時間情報と前記第2動作時間情報とに基づき、前記少なくとも1つの動作の内、所定動作における前記第1動作時間情報と前記第2動作時間情報との差分に関する
情報と、前記所定動作を識別するための情報と、を対応付けて表示部に表示する、
ことを特徴とする情報処理装置。
【請求項13】
情報処理方法であって、
制御対象となっている装置における少なくとも2つの動作のうち従属関係にある第1動作と第2動作とを動作させるために設定された、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第1動作タイミング情報と、
前記装置を実際に動作させた場合における、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第2動作タイミング情報と、を取得し、
前記第1動作タイミング情報と前記第2動作タイミング情報とに基づき、前記第1動作の内の所定第1動作と前記第2動作の内の所定第2動作とにおける前記第1動作タイミング情報と前記第2動作タイミング情報との差分に関する情報と、前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報と、を対応付けて表示部に表示し、
前記差分に関する情報と、前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報と、をグラフ表示により対応付けて表示する、
ことを特徴とする情報処理方法。
【請求項14】
情報処理方法であって、
制御対象となっている装置における少なくとも2つの動作のうち従属関係にある第1動作と第2動作とを動作させるために設定された、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第1動作タイミング情報と、
前記装置を実際に動作させた場合における、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第2動作タイミング情報と、を取得し、
前記第1動作タイミング情報と前記第2動作タイミング情報とに基づき、前記第1動作の内の所定第1動作と前記第2動作の内の所定第2動作とにおける前記第1動作タイミング情報と前記第2動作タイミング情報との差分に関する情報と、前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報と、を対応付けて表示部に表示し、
前記差分に基づき、前記第1動作タイミング情報と前記第2動作タイミング情報との比較結果における可否に関する情報を表示する、
ことを特徴とする情報処理方法。
【請求項15】
請求項14に記載の情報処理方法において、前記比較結果における可否は、前記差分が0であるか否か、または前記差分が閾値の範囲を超えるか否か、により判定する、
ことを特徴とする情報処理方法。
【請求項16】
情報処理方法であって、
制御対象となっている装置における少なくとも2つの動作のうち従属関係にある第1動作と第2動作とを動作させるために設定された、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第1動作タイミング情報と、
前記装置を実際に動作させた場合における、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第2動作タイミング情報と、を取得し、
前記第1動作タイミング情報と前記第2動作タイミング情報とに基づき、前記第1動作の内の所定第1動作と前記第2動作の内の所定第2動作とにおける前記第1動作タイミング情報と前記第2動作タイミング情報との差分に関する情報と、前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報と、を対応付けて表示部に表示し、
前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報を表示する場合に、前記第2動作タイミング情報が前記第1動作タイミング情報に対して遅いことによって前記差分が発生している前記所定第1動作または前記所定第2動作を抽出して、抽出した前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報を表示する、
ことを特徴とする情報処理方法。
【請求項17】
情報処理装置であって、
制御対象となっている装置における少なくとも2つの動作のうち従属関係にある第1動作と第2動作とを動作させるために設定された、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第1動作タイミング情報と、
前記装置を実際に動作させた場合における、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第2動作タイミング情報と、を取得し、
前記第1動作タイミング情報と前記第2動作タイミング情報とに基づき、前記第1動作の内の所定第1動作と前記第2動作の内の所定第2動作とにおける前記第1動作タイミング情報と前記第2動作タイミング情報との差分に関する情報と、前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報と、を対応付けて表示部に表示し、
前記差分に関する情報と、前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報と、をグラフ表示により対応付けて表示する、
ことを特徴とする情報処理装置。
【請求項18】
情報処理装置であって、
制御対象となっている装置における少なくとも2つの動作のうち従属関係にある第1動作と第2動作とを動作させるために設定された、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第1動作タイミング情報と、
前記装置を実際に動作させた場合における、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第2動作タイミング情報と、を取得し、
前記第1動作タイミング情報と前記第2動作タイミング情報とに基づき、前記第1動作の内の所定第1動作と前記第2動作の内の所定第2動作とにおける前記第1動作タイミング情報と前記第2動作タイミング情報との差分に関する情報と、前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報と、を対応付けて表示部に表示し、
前記差分に基づき、前記第1動作タイミング情報と前記第2動作タイミング情報との比較結果における可否に関する情報を表示する、
ことを特徴とする情報処理装置。
【請求項19】
請求項18に記載の情報処理装置において、
前記比較結果における可否は、前記差分が0であるか否か、または前記差分が閾値の範囲を超えるか否か、により判定する、
ことを特徴とする情報処理装置。
【請求項20】
情報処理装置であって、
制御対象となっている装置における少なくとも2つの動作のうち従属関係にある第1動作と第2動作とを動作させるために設定された、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第1動作タイミング情報と、
前記装置を実際に動作させた場合における、先行して動作する前記第1動作の終了から後続して動作する前記第2動作の開始までの時間に関する情報を示した第2動作タイミング情報と、を取得し、
前記第1動作タイミング情報と前記第2動作タイミング情報とに基づき、前記第1動作の内の所定第1動作と前記第2動作の内の所定第2動作とにおける前記第1動作タイミング情報と前記第2動作タイミング情報との差分に関する情報と、前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報と、を対応付けて表示部に表示し、
前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報を表示する場合に、前記第2動作タイミング情報が前記第1動作タイミング情報に対して遅いことによって前記差分が発生している前記所定第1動作または前記所定第2動作を抽出して、抽出した前記所定第1動作を識別するための情報または前記所定第2動作を識別するための情報を表示する、
ことを特徴とする情報処理装置。
【請求項21】
請求項12または請求項17または請求項18または請求項19または請求項20に記載の情報処理装置と、前記装置と、を備え、前記装置に前記情報処理装置によって出力される情報に基づき動作を行わせ、物品の製造を行う製造システム。
【請求項22】
請求項21に記載の製造システムを用いて物品の製造を行うことを特徴とする物品の製造方法。
【請求項23】
請求項1から11のいずれか1項に記載の情報処理方法または請求項13から16のいずれか1項に記載の情報処理方法を実行させるためのプログラム。
【請求項24】
請求項23に記載のプログラムを記録した、コンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば自動組立て装置やロボットのようにシーケンスプログラムによって制御される装置における予定動作と実動作の差異を分析する方法とそれに用いる装置に関する。より詳しくは、シーケンスプログラムにより予定された装置の動作と実動作の推移を比較し、両者の間に差異があるときに、補正すべき工程を容易に特定できるようにした分析方法およびタイムチャート分析装置に関する。
【背景技術】
【0002】
従来から、シーケンス制御プログラムによって装置の動作を制御する場合に、予定した動作(以下、動作仕様と記す)と実動作の差異を比較するために、タイムチャートを生成して可視化することが行われている。具体的には、制御対象となっている装置の各部の入出力信号に基づいて実動作の動作状況を示すタイムチャートを作成し、動作仕様と比較することが行われる。
【0003】
例えば特許文献1には、設備の異常を迅速に把握するために、プログラマブル・コントローラPCの入出力信号等を時間情報とともに記録し、記録された情報をタイムチャートとして表示し、正常動作中の時の情報と比較する装置が開示されている。動作結果のタイムチャート上に許容時間幅を含んだ基準タイミングを併記することによって、各動作タイミングと許容時間幅を比較する。許容時間幅を越えていた動作は異常動作として検出し、その動作タイミングの時刻と許容時間幅を越えた箇所を表示することによって、異常動作を特定する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
動作仕様と実動作との間に差異がある場合は、異常が発生した動作に対して調整やデバッグ作業が必要となる。このため、異常動作と異常原因が正確かつ容易に特定でき、分析可能なことが求められる。
【0006】
シーケンスプログラム制御では、一般的にあらかじめ規定された順序に従って指令が実行される。例えば、先行する動作の完了を条件に後続する動作を開始させようとする場合には、後続する動作の実行タイミングは先行する動作の完了タイミングに依存して決まる。以降の説明では、複数の動作間で、一方の動作タイミングに依存して他方の動作タイミングが決まる関係のことを従属関係と記す。
従属関係にある動作間においては、先行する動作に異常な遅延が発生すると、必然的に後続する動作の実行タイミングにも遅延が発生する。
【0007】
特許文献1に示された比較手法では、動作仕様にある各動作の基準タイミングと比較して、一致していないと判定された動作すべてを異常として検出する。そのため、単に先行する動作が遅延したため後続する動作にもその分の遅延が累積したに過ぎないのか、それとも後続する動作そのものにも遅延原因があるのかを分析するのは、煩雑で困難であった。
制御対象である装置の調整やデバッグの作業性を向上するために、動作結果に影響を与える異常動作のみを容易に特定できるような方法が求められていた。
【課題を解決するための手段】
【0008】
本発明の1つの態様は、情報処理方法であって、制御対象となっている装置における少なくとも1つの動作を所定の動作時間で動作させるために設定された、前記少なくとも1つの動作の開始から終了までの第1動作時間情報と、前記装置を実際に動作させた場合における、前記少なくとも1つの動作の開始から終了までの第2動作時間情報と、を取得し、前記第1動作時間情報と前記第2動作時間情報とに基づき、前記少なくとも1つの動作の内、所定動作における前記第1動作時間情報と前記第2動作時間情報との差分に関する情報と、前記所定動作を識別するための情報と、を対応付けて表示部に表示する、ことを特徴とする情報処理方法である。
【発明の効果】
【0009】
本発明によれば、調整やデバッグ作業を要する異常動作のみを容易に特定できるように表示することで、異常動作の分析を行う際の作業性の向上を実現できる。
【図面の簡単な説明】
【0010】
【
図1】第一の実施形態におけるタイムチャート分析装置の構成を示すブロック図。
【
図2】第一の実施形態における設計タイムチャートサンプルを示す図。
【
図3】第一の実施形態における実機タイムチャートサンプルを示す図。
【
図4】第一の実施形態における動作情報取得処理部の処理の例を示すフローチャート。
【
図5】第一の実施形態における動作時間比較処理部の処理の例を示すフローチャート。
【
図6】第一の実施形態における動作タイミング比較処理部の処理の例を示すフローチャート。
【
図7】第一の実施形態における原因特定処理部の処理の例を示すフローチャート。
【
図8】第一の実施形態における表示情報生成処理部の処理の例を示すフローチャート。
【
図9】実施例1における設計タイムチャートを示す図。
【
図10】実施例1における実機タイムチャートを示す図。
【
図11】実施例1における設計動作時間情報を示す図。
【
図12】実施例1における設計動作タイミング情報を示す図。
【
図13】実施例1における実機動作時間情報を示す図。
【
図14】実施例1における実機動作タイミング情報を示す図。
【
図15】実施例1における比較タイムチャートを示す図。
【
図16】実施例1における動作時間比較結果情報を示す図。
【
図17】実施例1における動作タイミング比較結果情報を示す図。
【
図18】(a)実施例1におけるID3の関連動作のパターン1を示す図。(b)実施例1におけるID3の関連動作のパターン2を示す図。
【
図19】(a)実施例1における原因特定結果情報(動作時間比較)を示す図。(b)実施例1における原因特定結果情報(動作タイミング比較)を示す図。
【
図20】実施例1における表示情報生成処理部によって表示された結果を示す図。
【
図21】実施例1における表示情報生成処理部によって表示された結果の他の例を示す図。
【
図22】実施例1における表示情報生成処理部によって表示された修正結果タイムチャートを示す図。
【
図23】第二の実施形態におけるタイムチャート分析装置の構成を示すブロック図。
【
図24】実施例2における経時的な変化を分析する際の処理の例を示すフローチャート。
【
図25】実施例2における原因特定結果情報を示す図。
【
図26】実施例2における原因特定結果情報から異常変化時点を取得した結果を示す図。
【発明を実施するための形態】
【0011】
[第一の実施形態]
以下、図面を参照して、本発明の第一の実施形態である分析方法およびタイムチャート分析装置について説明する。
【0012】
図1は、第一の実施形態のタイムチャート分析装置の構成を示すブロック図である。このタイムチャート分析装置100は、CPU110、データ格納部120、プログラム格納部130、表示処理部140、表示部141、入力処理部150を備えている。
【0013】
CPU110は、与えられた命令に従い演算処理、データ作成処理、メモリへの書込み処理や読出し処理をはじめとする各種の処理を行うコンピュータである。
データ格納部120には、タイムチャート情報160と、設計動作情報170と、実機動作情報180と、比較結果情報190と、原因特定結果情報121を格納するための記憶領域が設けられている。
【0014】
プログラム格納部130の、動作情報取得処理部131、動作時間比較処理部132、動作タイミング比較処理部133、原因特定処理部134、表示情報生成処理部135には、各処理をCPUに実行させるためのプログラムが格納されている。プログラム格納部としての記憶部には、たとえばハードディスクのような記憶媒体が用いられる。
表示処理部140は、LCDディスプレイ等の表示部141に情報を表示するための処理を行う。
入力処理部150は、キーボードやマウス等の入力装置からの情報を受付ける処理をする。
【0015】
次に、データ格納部120に格納される各情報の詳細な説明をする。
タイムチャート情報160には、動作仕様をタイムチャートに表すための設計タイムチャート情報161と、動作結果をタイムチャートに表すための実機タイムチャート情報162と、それらを重ね合わせて表すための比較タイムチャート情報163が含まれる。
【0016】
参考のため、
図2に設計タイムチャート情報161に基づいて作成した設計タイムチャートのサンプル200を、
図3に実機タイムチャート情報162に基づいて作成した実記タイムチャートのサンプル300を示す。
【0017】
図2の設計タイムチャートのサンプル200は、設定部210と時間表示部220と図形描画部230で構成されている。設定部210は、動作名称211と動作状態212の情報を含む。動作名称211は、装置を構成する各機器の動作の名称情報を含んでいる。動作状態212は、装置を構成する各機器が動作する前後の状態を示す情報を含む。時間表示部220は、時間情報221を含む。図形描画部230は、機器が動作中であることを示す斜線231と、機器が待機状態であることを表す水平線232と、センサ等の信号のONまたはOFFを表す垂直線233と、異なる動作間の従属関係を示す円弧矢印234の情報を含む。
図3の実機タイムチャート情報のサンプル300は、
図2の設計タイムチャートのサンプル200と同様のフォーマットであるが、動作間の従属関係を示す円弧矢印234は含まない。
【0018】
図1に戻り、設計動作情報170は、設計動作時間情報171と、設計動作タイミング情報172を含む。設計動作時間情報171は、各動作の動作時間の情報を含む。設計動作タイミング情報172は、各動作の動作タイミングの情報を含む。
【0019】
尚、ある動作の動作時間とは、その動作の開始から終了までに要する時間的な長さを意味する。例えば、設計タイムチャートのサンプル200において、動作名称Aのa2からa1への動作は、0秒に開始して0.1秒に終了しているので、動作時間は0.1秒である。
【0020】
また、ある動作についての動作タイミングとは、先行する動作の状態に従属してその動作の開始が決まる場合において、先行する動作が終了してからその動作を開始するまでの時間的な長さを意味する。例えば、設計タイムチャートのサンプル200では、動作名称Aのa2からa1への動作と、動作名称Cのc2からc1への動作は、円弧矢印で結ばれており従属関係にあるが、前者の終了後直ちに後者を開始しているので、動作タイミングは0である。
【0021】
実機動作情報180は、動作時間に関する実機動作時間情報181と、動作タイミングに関する実機動作タイミング情報182を含む。実機動作時間情報181は、シーケンス制御プログラムによって制御対象となる装置を実際に動作させたときの各動作の動作時間の情報を含む。実機動作タイミング情報182は、シーケンス制御プログラムによって制御対象となる装置を実際に動作させたときの従属関係にある動作の動作タイミングの情報を含む。
【0022】
比較結果情報190は、動作時間比較結果情報191と動作タイミング比較結果情報192を含む。動作時間比較結果情報191は、設計動作時間情報171と実機動作時間情報181とを比較した結果を含む。動作タイミング比較結果情報192は、設計動作タイミング情報172と実機動作タイミング情報182とを比較した結果を含む。
【0023】
原因特定結果情報121は、設計タイムチャート情報161と実機タイムチャート情報162の間で差異が発生した原因となった異常動作と、その動作の動作時間比較結果と動作タイミング比較結果を含む。
【0024】
次に、第一の実施形態であるタイムチャート分析装置の動作について説明する。
図4は、プログラム格納部130の動作情報取得処理部131に格納された処理プログラムの処理手順を表したフローチャートの一例であり、設計値と実測値に基づいて各種情報を取得して格納する手順が示されている。
【0025】
まず、ステップS410では、CPU110は、データ格納部120に格納された設計タイムチャート情報161に含まれる各動作にIDを割り当てる。
次に、ステップS420では、CPU110は、設計タイムチャート情報161から、ID単位で動作名や動作時間の情報を抽出し、設計動作時間情報171を取得する。
ステップS430では、CPU110は、設計タイムチャート情報に含まれる各動作間の従属関係を用いて、設計タイムチャート情報から各動作間の動作タイミングを含む設計動作タイミング情報172を取得する。
【0026】
ステップS440では、CPU110は、データ格納部120に格納された実機タイムチャート情報162に含まれる各動作にIDを割り当てる。各動作に割り当てられるIDは、設計タイムチャート情報での割り当てに準拠させる。すなわち、設計タイムチャート情報と実機タイムチャート情報の対応する動作には、同一のIDを割り当てるようにする。
ステップS450では、CPU110は、実機タイムチャート情報から、ID単位で動作名や動作時間の情報を抽出し、実機動作時間情報181を取得する。
【0027】
ステップS460では、CPU110は、設計タイムチャート情報161に含まれる各動作間の従属関係を用いて実機タイムチャート情報から動作間の動作タイミングを抽出し、実機動作タイミング情報182を取得する。
【0028】
ステップS470では、CPU110は、取得した設計動作時間情報171、設計動作タイミング情報172、実機動作時間情報181、実機動作タイミング情報182をデータ格納部120に格納する。
ステップS480では、CPU110は、実機タイムチャート情報と設計タイムチャート情報を合成して編集した比較タイムチャート情報163を作成し、データ格納部120へ格納する。
【0029】
図5は、プログラム格納部130の動作時間比較処理部132に格納された処理プログラムの処理手順を表したフローチャートの一例である。設計値と実測値に基づいて動作毎に動作時間を比較し、比較結果をデータ格納部120に格納する手順が示されている。
【0030】
まず、ステップS510では、CPU110は、データ格納部120に格納された設計動作時間情報171から、各動作の動作時間(以下、設計動作時間という)を取得する。
次に、ステップS520では、CPU110は、データ格納部120に格納された実機動作時間情報181から、各動作の動作時間(以下、実機動作時間という)を取得する。
ステップS530では、CPU110は、取得した設計動作時間と実機動作時間を比較する。
ステップS540では、CPU110は、ID毎の比較結果を動作時間比較結果情報191として、データ格納部120へ格納する。
【0031】
図6は、プログラム格納部130の動作タイミング比較処理部133に格納された処理プログラムの処理手順を表したフローチャートの一例である。設計値と実測値に基づいて動作毎に動作タイミングを比較し、比較結果をデータ格納部に格納する手順が示されている。
【0032】
まず、ステップS610では、CPU110は、データ格納部120に格納された設計動作タイミング情報172から、各動作の動作タイミング(以下、設計動作タイミングという)を取得する。
次に、ステップS620では、CPU110は、データ格納部120に格納された実機動作タイミング情報182から各動作の動作タイミング(以下、実機動作タイミングという)を取得する。
ステップS630では、CPU110は、取得した設計動作タイミングと実機動作タイミングを比較する。
ステップS640では、CPU110は、ID毎の比較結果を動作タイミング比較結果情報192として、データ格納部120へ格納する。
【0033】
図7は、プログラム格納部130の原因特定処理部134に格納された処理プログラムの処理手順を表したフローチャートの一例である。実機の動作のうちユーザが指定した動作について、従属関係の動作まで遡って分析して、異常が発生した原因を特定する手順が示されている。
【0034】
ステップS701では、CPU110は、入力処理部150を介して入力装置において分析対象となる動作の指定を受付けたかどうかを判断する。分析対象の動作が指定された場合は、ステップS710で、分析対象の動作が持つID(以下、分析対象動作IDという)を実機タイムチャート情報162から取得する。
【0035】
ステップS720では、CPU110は、データ格納部120に格納された設計タイムチャート情報161に含まれる各動作間の従属関係を取得する。そして、分析対象の動作よりも先行して実行される動作のうち、分析対象の動作と直接またはカスケード的に連結した従属関係にある関連動作のIDを抽出する。なお、ステップS701で、分析対象の動作が指定されていないと判断した場合は、CPU110は、ステップS750により、すべての動作を関連動作とみなしてIDを取得する。
【0036】
ステップS730では、CPU110は、抽出した関連動作について、動作時間比較結果と動作タイミング比較結果において動作仕様に対して差異があるかを判定する。そして、動作時間比較結果と動作タイミング比較結果の少なくとも一方に差異があると判定された動作(以下、異常動作という)のIDを特定する。
ステップS740では、特定した異常動作と、当該異常動作にかかる動作時間比較結果情報と動作タイミング比較結果情報とを原因特定結果情報121としてデータ格納部120へ格納する。
【0037】
図8は、プログラム格納部130の表示情報生成処理部135に格納された処理プログラムの処理手順を表したフローチャートの一例であり、特定した原因をタイムチャート上に見やすく表示する手順を示している。
【0038】
ステップS810では、CPU110は、データ格納部120に格納された原因特定結果情報121を取得する。
次に、ステップS820では、CPU110は、原因特定結果情報121をユーザに見やすく表示するための表示情報を生成して表示する。
ステップS830では、CPU110は、データ格納部120格納された比較タイムチャート情報163に含まれた異常動作を修正するための修正情報を作成し、それを表示するための表示情報を生成して表示する。
【0039】
以下では、第一の実施形態についての具体的な実施例を挙げてさらに詳しく説明するが、具体的な実施の方法は下記の実施例に限られるものではなく、適宜変更することが可能である。
【0040】
[実施例1]
実施例1では、制御対象として加工ロボットを例に挙げ、設計タイムチャートと実機タイムチャートの具体例を示し、それらを参照しながらタイムチャートを比較する手順について説明してゆく。
【0041】
図9は、制御対象である加工ロボットの動作仕様をタイムチャートとして表したものである。すなわち、設計タイムチャート900は、データ格納部120に格納された設計タイムチャート情報161に基づき、CPU110が作成した表示用データである。設計タイムチャート900は、加工ロボットの動作の種類を示す動作名称欄と、連続した各動作の前後において加工ロボットが取り得る動作状態を示す動作状態欄と、0.1秒刻みの時間軸グリッドとともに動作状態の遷移をグラフで示すグラフ欄を含んでいる。
動作名称欄には5種の動作が示されており、910は搬送動作、920は移載動作、930は位置決め動作、940は加工1動作、950は加工2動作である。
【0042】
動作状態欄には、各動作の前後において加工ロボットが取り得る動作状態が示されている。すなわち、搬送動作910に関しては戻り位置と送り位置が、移載動作920に関しては待機と移載が、位置決め動作930に関しては解除と位置決めが示されている。また、加工1動作に関しては待機と組付けaと組付けbが、加工2動作に関してはセンサOFFとセンサONと待機と組付けcが示されている。
グラフ欄には、各動作において、時間の経過とともに状態が遷移する様子が折れ線グラフで示されている。
【0043】
例えば、搬送動作910に関しては、加工ロボットの搬送機構は戻り位置と送り位置の2つの状態を取ることができるが、時間軸の0秒から0.2秒の間に戻り位置から送り位置まで移動する。この間の折れ線グラフが右上がりになっているのは、移動中であることを示しており、動作の開始から終了までに要する動作時間は0.2秒である。尚、丸付き数字1は、戻り位置から送り位置までの移動動作に割り当てられたIDを示している。0.2秒から0.4秒までは、搬送動作のグラフは水平だが、これは搬送機構が送り位置で停止していることを示している。そして、0.4秒から0.55秒の間に、丸付き数字2のIDが割り当てられた動作、すなわち送り位置から戻り位置までの移動が行われる。この間の折れ線グラフが右下がりになっているのは、移動中であることを示している。そして、0.55秒以降は、グラフは水平であり、搬送機構が戻り位置で停止していることを示している。
【0044】
また、丸付き数字1の動作の終了時点から位置決め動作930に円弧矢印が伸びており、位置決め動作において解除状態から位置決め状態に遷移する丸付き数字4の動作が開始されている。これは、丸付き数字1の動作完了に従属して丸付き数字4の動作が開始することを示している。
尚、以下の説明では、図面中に丸付き数字で示した番号について記載する際に、文章が煩雑になるのを避けるため、例えば丸付き数字1と記載する代わりに1のように数字のみで記述する場合があることとする。
【0045】
また、4の動作の終了時点から加工1動作940と加工2動作950にそれぞれ別の円弧矢印が伸びているが、これは加工1動作の6と加工2動作の9は、4の動作完了に従属する関係にあることを示している。ただし、加工1動作の6は、4の動作完了後直ちに開始されているので動作タイミングは0秒であるが、加工2動作の9は、4の動作完了後に0.2秒経過してから開始されているので動作タイミングは0.2秒である。
【0046】
また、位置決め動作の丸付き数字5の動作開始点には、加工1動作の丸付き数字8と加工2動作の丸付き数字10から、それぞれ別の円弧矢印が伸びている。これは、丸付き数字8と丸付き数字10の両方の動作が完了すると、丸付き数字5の動作が開始するという従属関係を示している。
【0047】
このように、本実施例の設計タイムチャート900には、加工ロボットがワークを搬送して作業台上に位置決めし、2種の加工を行った後に位置決めを解除し、ワークを別の台に移載するまでの一連の動作シーケンスが示されている。
【0048】
図10は、
図9に示した設計タイムチャートの動作を実行するためのシーケンスプログラムを用いて加工ロボットを実際に動作させ、その動作状態の観測結果に基づいて作成した動作タイムチャートとしての実機タイムチャート1000である。実機タイムチャート1000は、基本的には設計タイムチャート900と同一のフォーマットを用いているが、動作間の従属関係を示す円弧矢印を省略し、グラフは実線ではなく点線で表している。設計タイムチャート900と重ねて表示や印刷したときに、グラフの区別がつきやすくするためである。もちろん、示す方法はこれに限られるわけではなく、例えば実線と点線でグラフを区別する代わりに、異なる色や異なる太さで区別してもよい。
【0049】
次に、設計タイムチャート900と実機タイムチャート1000とを参照して、実施例1のタイムチャート分析装置の動作について説明する。
タイムチャート分析の開始の指示が入力部に入力されると、まず
図4のフローチャートに従い各種情報を取得して格納する処理が行われる。
【0050】
まず、ステップS410では、CPU110は、シーケンス制御プログラムにおける各動作の設計値に基づき設計タイムチャートを作成し(設計タイムチャート作成工程)、設計タイムチャート900に記載された各動作に、丸付き数字で示したIDを割り当てる。
次に、ステップS420では、CPU110は、ID単位で動作名や動作時間の情報を含む設計動作時間情報171を取得する。
図11は、設計動作時間情報171を具体的に示したものである。設計動作時間情報171には、各動作に割り当てたID毎に、動作名と、動作状態の遷移に関する移動元と移動先と、動作開始時間と動作終了時間と、動作時間が含まれている。
【0051】
ステップS430では、CPU110は、設計タイムチャート900に含まれる各動作間の従属関係の情報を用いて、設計動作タイミング情報172を取得する。
図12は設計動作タイミング情報172を具体的に示したものである。設計動作タイミング情報172は、従属関係にある動作間における先行動作の終了から後続動作の開始までの時間的な長さを示す情報である動作タイミングを含んでいる。
【0052】
ステップS440では、CPU110は、シーケンス制御プログラムにより実際に動作させたときの動作状態情報に基づき動作タイムチャートとして実機タイムチャートを作成する。(動作タイムチャート作成工程)
そして、設計タイムチャート情報161の各動作と対応させて実機タイムチャート情報162に記載された各動作に、設計タイムチャート情報と同一のIDを割り当てる。
【0053】
ステップS450では、CPU110は、ID単位で動作名や動作時間の情報を含む実機動作時間情報181を取得する。
図13は実機動作時間情報181を具体的に示したものである。実機動作時間情報181には、各動作に割り当てたID毎に、動作名と、動作状態の遷移に関する移動元と移動先と、実際の動作開始時間と動作終了時間と動作時間が含まれている。
【0054】
ステップS460では、CPU110は、設計タイムチャート情報161に含まれる各動作間の従属関係の情報を参照して実機タイムチャート情報162の各動作に適用し、実機動作タイミング情報182を取得する。
図14は実機動作タイミング情報182を具体的に示したものである。実機動作タイミング情報182は、従属関係にある動作間における先行動作の終了から後続動作の開始までの時間的な長さを示す情報である動作タイミングを含んでいる。
【0055】
ステップS470では、CPU110は、設計動作時間情報171と設計動作タイミング情報172と、実機動作時間情報181と実機動作タイミング情報182をデータ格納部120へ格納する。
ステップS480では、CPU110は、設計タイムチャート900と実機タイムチャート1000を合成して編集した比較タイムチャート情報163を作成し、データ格納部120へ格納する。(比較タイムチャート作成工程)
【0056】
また、CPU110は、比較タイムチャート情報163を表示処理部140を介して表示部141に表示させるためのデータを作成する。
図15は、設計タイムチャート900と実機タイムチャート1000を合成して編集した比較タイムチャート1100の例である。
【0057】
次に、
図5のフローチャートの処理が行われ、設計値と実測値に基づいて動作ごとに動作時間を比較し、比較結果をデータ格納部に格納する。
まず、ステップS510では、CPU110は、設計動作時間情報171から、各動作の設計動作時間を取得する。
次に、ステップS520では、CPU110は、実機動作時間情報181から、各動作の実機動作時間を取得する。
ステップS530では、CPU110は、取得した設計動作時間と実機動作時間を比較し、表示処理部140を介して表示部141に比較結果を表示するためのデータを作成し表示する。(比較結果表示工程)
【0058】
図16は、動作時間比較結果を具体的に示したものであり、IDが割り当てられた動作毎に、設計動作時間、実機動作時間と、それらの比較結果が含まれている。設計動作時間と実機動作時間の差分が0である場合、すなわち両者に差がない場合に、比較結果を○(可)とし、差が存する場合に×(不可)としている。このように、厳密に一致するか否かを判定基準としてもよいが、両者の差分が所定の閾値を越えるかを判定基準として採用してもよい。
【0059】
ステップS540では、CPU110は、比較結果である動作時間比較結果情報191をID毎にデータ格納部120に格納する。
【0060】
次に、
図6のフローチャートの処理が行われ、設計値と実測値に基づいて動作ごとに動作タイミングを比較し、比較結果をデータ格納部に格納する。
ステップS610では、CPU110は、設計動作タイミング情報172から各動作の設計動作タイミングを取得する。
ステップS620では、CPU110は、実機動作タイミング情報182から各動作の実機動作タイミングを取得する。
【0061】
ステップS630では、CPU110は、取得した設計動作タイミングと実機動作タイミングを比較する。
図17は、動作タイミング比較結果を具体的に示したものであり、各動作に割り当てられたID毎に、設計動作タイミング、実機動作タイミングと、それらの比較結果が含まれている。設計動作タイミングと実機動作タイミングの差分が0である場合、すなわち両者に差がない場合に、比較結果を○(可)とし、差が存する場合に×(不可)としている。このように、厳密に一致するか否かを判定基準としてもよいが、両者の差分が所定の閾値を越えるかを判定基準として採用してもよい。
ステップS640では、CPU110は、比較結果である動作タイミング比較結果情報192をID毎にデータ格納部120に格納する。
【0062】
次に、
図7のフローチャートの処理が行われ、実機の動作のうちユーザが指定した指定動作について、それが従属する先行動作を遡って分析し、指定動作に異常が発生した原因を特定する。
【0063】
まず、ステップS701では、CPU110は、入力処理部150を介して入力装置が分析対象の動作の指定を受付けたかどうかを判断する。(分析対象動作指定工程)
分析対象の動作が指定された場合は、ステップS710で、分析対象の動作が持つID(以下、分析対象動作IDという)を、データ格納部120に格納された実機タイムチャート情報162から取得する。
ここでは、
図10の実機タイムチャート1000において、移載動作920における丸付き数字3の動作に遅延が発生した場合を例にとり、以降のステップでは、操作者がこの動作を分析対象動作として指定した場合を説明する。すなわち、分析対象動作IDは、ID3である。
【0064】
ステップS720では、CPU110は、設計タイムチャート情報161に含まれる各動作間の従属関係を用いて、ID3の関連動作を選定する。(従属関係動作抽出工程)
ここで関連動作とは、分析対象動作であるID3の動作よりも先行して実行される動作のうち、ID3の動作と直接またはカスケード的に連結した従属関係にあり、ID3の動作の開始タイミングに影響を与える動作をいう。
図18は、ID3の関連動作を選定する様子と、その結果を具体的に示したものである。ID3が従属する先行動作の経路は、2系統あることがわかる。一つ目は、
図18(a)に示すID3、ID5、ID8、ID7、ID6、ID4、ID1のパターン1であり、二つ目は、
図18(b)に示すID3、ID5、ID10、ID12、ID11、ID9、ID4、ID1のパターン2である。
図9で説明したように、ID5の動作は、ID8の動作とID10の動作の両方が完了すると開始されるが、実際にはID8の動作の方がID10の動作よりも後発事象であるため、ID5の動作開始は実質的にはID8の動作に依存する。したがって、パターン1とパターン2のうち、ID3の動作開始のタイミングは、パターン1に依存していることがわかる。そこで、CPU110は、パターン1に含まれる動作IDであるID3、ID5、ID8、ID7、ID6、ID4、ID1を関連動作のIDとして選定する。なお、ステップS701で、分析対象動作が指定されていないと判断した場合は、ステップS750により、すべてのIDを取得する。
【0065】
ステップS730では、選定した関連動作のうち、動作時間比較結果か動作タイミング比較結果の少なくとも一方で動作仕様に対し差異があると判定された動作(以下、異常動作という)のIDを特定する。
図19は、分析対象動作IDがID3の場合の動作時間比較結果と動作タイミング比較結果を具体的に示したものである。関連動作のうち、動作時間について異常と判断された動作は、ID5、ID6、ID4であり、動作タイミングについて異常と判断された動作はID4である。なお、動作仕様と動作結果を比較する場合に、差異に許容範囲を持たせ、許容範囲を超えたかどうかを判断することで、異常動作を判定しても良い。
【0066】
ステップS740では、CPU110は、特定した異常動作と、当該異常動作にかかる動作時間比較結果情報と動作タイミング比較結果情報を、原因特定結果情報121としてデータ格納部120へ格納する。(比較結果作成工程)
次に
図8の処理が行われ、特定した原因をタイムチャート上に見やすく表示する。
ステップS810では、CPU110は、データ格納部120から原因特定結果情報121を取得する。
【0067】
次に、ステップS820では、CPU110は、原因特定結果情報121に含まれる動作時間比較結果と動作タイミング比較結果をグラフ表示するためのデータを作成し、表示処理部140を介して表示部141に表示させる。(原因表示工程)
【0068】
図20は、グラフ表示を具体的に示したものである。異常動作の、動作時間と動作タイミングのそれぞれに対して、動作仕様との差分値と、それらの累積値が含まれている。尚、
図20は表示形式の一例であり、本発明の実施形態を特に限定するものではなく、例えば
図19の原因特定結果情報を表形式で表示しても良い。また、
図21のように、ID3に影響を与えた異常動作のうち、動作仕様に対して速い動作は除外し、遅れている動作のみを抽出して表示するものでも良い。
【0069】
ステップS830では、CPU110は、異常動作を修正した場合の実機タイムチャートを生成し、設計タイムチャートと重ねて表示処理部140に表示させるための表示データを作成する。
図22は、修正結果タイムチャートを具体的に示した例である。ID5の動作時間、ID6の動作時間、ID4の動作時間および動作タイミングが修正されたことにより、分析対象動作であるID3が動作仕様通りに完了することをユーザは容易に把握することができる。また、動作仕様と動作結果との間に未だに差異が残る動作が明確に示されるため、ユーザは次に分析対象として指定するべき動作を容易に特定することが出る。
【0070】
以上の処理によれば、分析対象動作に影響を与える異常動作を特定し、さらにはその異常原因が、動作時間によるものなのか、動作タイミングによるものなのかを容易に分析することができる。また、異常動作を修正した場合のタイムチャートを生成し、動作仕様のタイムチャートと比較することで、次に分析対象とするべき動作を容易に特定することもできる。
【0071】
実施例1によれば、分析対象動作に影響を与えない動作については比較結果が表示されないため、ユーザは異常動作と異常原因を迅速かつ正確に特定することが可能で、調整やデバッグ作業の効率が大幅に向上された。
【0072】
[第二の実施形態]
第一の実施形態では、分析を行う際に実動作1回分の実機タイムチャート情報を用い、動作時間比較結果情報と動作タイミング比較結果情報をデータ格納部120に格納していた。第二の実施形態は、制御対象装置を複数回動作させた分の実機タイムチャート情報に対応する動作時間比較結果情報と動作タイミング比較結果情報を蓄積しておくことにより、制御対象装置の経時的な変化を分析することができる分析方法である。
図23は、第二の実施形態のタイムチャート分析装置の構成を示すブロック図である。第一の実施形態と同様の部分については、説明を省略する。
【0073】
第一の実施形態のタイムチャート分析装置100との主たる違いは、第二の実施形態では、比較結果情報190として、時系列的に複数回分の動作時間比較結果情報と動作タイミング比較結果情報を蓄積する点である。すなわち、過去の分析イベントと関連付けた比較結果を、動作時間比較結果情報191-1、動作タイミング比較結果情報192-1、動作時間比較結果情報191-2、動作タイミング比較結果情報192-2、等のように蓄積することができる点である。
【0074】
本実施形態のタイムチャート分析装置に関し、制御対象装置の各動作の経時的な変化を分析する処理について、具体的な実施例を挙げて説明する。なお、実施例2においても、実施例1と同様に、
図9の設計タイムチャート900と
図10の実機タイムチャート1000を参照して説明する。
【0075】
[実施例2]
実施例2では、過去に制御対象装置の動作分析をN回行い、N回目の動作結果が実機タイムチャート1000になった場合について説明する。
タイムチャート分析装置は、動作情報取得処理部131と動作時間比較処理部132と動作タイミング比較処理部133に格納されたプログラムを用いて、過去にN回の分析を行っているものとする。そして、過去に取得した実機タイムチャートのそれぞれについての動作時間比較結果情報と動作タイミング比較結果情報が、データ格納部120に蓄積されているとする。
【0076】
実機タイムチャート1000に含まれる3、すなわちID3の動作について、ユーザは今回初めて異常発生原因の分析をするが、異常原因が過去のどの時点から生じていたのかを遡及的に分析したいとする。
【0077】
入力処理部150より、経時的な変化を分析することが指示されると、
図24に示すフローチャートに従って処理が行われる。すなわち、CPU110は、原因特定処理部134に格納されているプログラムを実行して、ステップS2410~S2440の処理を行う。
【0078】
まず、ステップS2410において、CPU110は、比較結果情報として格納された過去N回分の動作時間比較結果情報と動作タイミング比較結果情報を取得する。
ステップS2420により、CPU110は、
図7のフローチャートの処理を行う。なお、実施例1と同様に、ここでの分析対象動作IDはID3とする。
【0079】
ステップS2430では、CPU110は、N回分の全ての比較結果情報について
図7のフローチャートの処理が完了しているかを判断する。完了していればステップS2440に進み、未完了であればステップS2420を再び実行する。
図25に、複数の実機タイムチャート情報に対して原因特定処理を行い、生成した原因特定結果情報121の具体例を示す。1回目、2回目、・・・、N回目に分けて原因特定処理部134の処理結果が示されている。
【0080】
次にステップS2440により、CPU110は、異常動作が何回目の時点で異常となったのかを特定する。
図26に原因特定結果情報121に含まれる異常動作が、どの時点で異常となったのかを取得したものを具体的に示す。動作時間について、例えばID4の動作は、N-1回目の時点から異常となっていることが分かる。動作タイミングについて、例えばID1に対するID4の動作タイミングは、N-1回目の時点から異常となっていることが分かる。
【0081】
次にステップS2450により、CPU110は、表示情報生成処理部135に格納されたプログラムによって、
図26の原因特定結果情報を表形式で表示するための表示データ作成処理を行う。
【0082】
以上のように、実施例2では、動作時間比較結果情報と動作タイミング比較結果情報を蓄積して格納できるようにしたので、過去に遡及して制御対象装置の各動作の経時的な変化を分析することが可能になった。
【0083】
[他の実施形態]
本発明の実施形態は、上述した例に限られるものではなく、適宜変更したり、省略したり、組み合わせたりすることが可能である。例えば、表示部に表示するタイムチャート等の情報は上記の形式に限られたものではない。分析結果は表示するだけではなく、印刷してユーザに提供してもよい。また、制御対象となる装置は加工ロボットに限るわけではなく、シーケンスプログラムを用いて制御される装置であれば、広く本発明の分析方法を適用することが可能である。たとえば、電磁弁やエアシリンダなどを備えた各種装置の制御や、組立てロボットなどの動作分析に、本発明は好適に用いることができる。
【符号の説明】
【0084】
100・・・タイムチャート分析装置/110・・・CPU/120・・・データ格納部/121・・・原因特定結果情報/130・・・プログラム格納部/131・・・動作情報取得処理部/132・・・動作時間比較処理部/133・・・動作タイミング比較処理部/134・・・原因特定処理部/135・・・表示情報生成処理部/140・・・表示処理部/141・・・表示部/150・・・入力処理部/160・・・タイムチャート情報/161・・・設計タイムチャート情報/162・・・実機タイムチャート情報/163・・・比較タイムチャート情報/170・・・設計動作情報/171・・・設計動作時間情報/172・・・設計動作タイミング情報/180・・・実機動作情報/181・・・実機動作時間情報/182・・・実機動作タイミング情報/190・・・比較結果情報/191・・・動作時間比較結果情報/191-1・・・動作時間比較結果情報1/191-2・・・動作時間比較結果情報2/192・・・動作タイミング比較結果情報/192-1・・・動作タイミング比較結果情報1/192-2・・・動作タイミング比較結果情報2/200・・・設計タイムチャートサンプル/210・・・設定部/211・・・動作名称/212・・・動作状態/220・・・時間表示部/221・・・時間情報/230・・・図形描画部/234・・・円弧矢印/300・・・実機タイムチャートサンプル/900・・・設計タイムチャート/1000・・・実機タイムチャート/1100・・・比較タイムチャート