(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024169347
(43)【公開日】2024-12-05
(54)【発明の名称】フォールトツリーを生成する方法
(51)【国際特許分類】
G05B 19/05 20060101AFI20241128BHJP
【FI】
G05B19/05 B
【審査請求】有
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2024080165
(22)【出願日】2024-05-16
(31)【優先権主張番号】18/200,860
(32)【優先日】2023-05-23
(33)【優先権主張国・地域又は機関】US
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.VISUAL BASIC
2.PYTHON
3.JAVASCRIPT
(71)【出願人】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】渡邊 翼
【テーマコード(参考)】
5H220
【Fターム(参考)】
5H220AA04
5H220BB12
5H220CC06
5H220CX02
5H220DD04
5H220JJ12
5H220JJ26
5H220JJ41
(57)【要約】
【課題】フォールトツリーを効率的に自動生成する。
【解決手段】フォールトツリー生成方法は、アセンブリデータ及び1又は複数のラダープログラムを、入力として受信するステップであって、アセンブリデータは設備又はラインアセンブリツリーを含み、1又は複数のラダープログラムは設備又はライン制御ロジックを含む、ステップと、アセンブリデータに含まれるアセンブリツリー構造と、1又は複数のラダープログラムに含まれる制御ロジックとに基づいて、設備アーキテクチャに関連するフォールトツリーを生成するステップと、を含む。
【選択図】
図2
【特許請求の範囲】
【請求項1】
アセンブリデータ及び1又は複数のラダープログラムを、入力として受信するステップであって、前記アセンブリデータは、設備又はラインアセンブリツリーを含み、前記1又は複数のラダープログラムは、設備又はライン制御ロジックを含む、ステップと、
前記アセンブリデータに含まれるアセンブリツリー構造と、前記1又は複数のラダープログラムに含まれる制御ロジックとに基づいて、設備アーキテクチャに関連するフォールトツリーを生成するステップと、を含む方法。
【請求項2】
請求項1に記載の方法であって、
前記設備アーキテクチャに関連するフォールトツリーを生成するステップは、さらに、
前記アセンブリデータに含まれるアセンブリツリー構造に基づく第1フォールトツリーの上位部と、前記1又は複数のラダープログラムに含まれる制御ロジックに基づく第2フォールトツリーの下位部と、を接続するステップを含む、方法。
【請求項3】
請求項2に記載の方法であって、
前記アセンブリツリー構造に基づく前記第1フォールトツリーの上位部と、前記制御ロジックに基づく前記第2フォールトツリーの下位部とを接続するステップは、前記第1フォールトツリーの上位部のフルパスに含まれる単語の量と前記第2フォールトツリーの下位部のパスのトップの単語に基づく、方法。
【請求項4】
請求項2に記載の方法であって、
前記設備アーキテクチャの1又は複数のコンポーネントを、前記アセンブリデータ内の設備又はラインアセンブリツリーから、前記第1フォールトツリーの上位部からの前記1又は複数のコンポーネントのそれぞれを識別する部品名データベースに基づいて抽出するステップを、さらに含む、方法。
【請求項5】
請求項1に記載の方法であって、
前記設備アーキテクチャに関連するフォールトツリーを生成するステップは、
1又は複数の変数を、前記設備又はライン制御ロジックから、前記設備アーキテクチャの1又は複数のコンポーネントの変数名データベースに基づいて抽出するステップと、
前記アセンブリツリー構造を、前記1又は複数の変数に関連付けられたラダープログラムに基づいて抽出するステップと、を含む、方法。
【請求項6】
請求項2に記載の方法であって、
前記フォールトツリーの部品名データベース及び変数名データベースは、1又は複数の共通グループにグループ化された部品名又は変数名を含み、
前記第1フォールトツリーと前記第2フォールトツリーの接続は、前記1又は複数の共通グループのグループ化に基づく、方法。
【請求項7】
請求項1記載の方法において、
前記設備又はラインアセンブリツリーは、前記1又は複数のラダープログラムにおける関連する入力及び出力変数を含む、方法。
【請求項8】
請求項1に記載の方法であって、
前記設備アーキテクチャに関連するフォールトツリーは、1又は複数のノード、1又は複数のブランチ、及び1又は複数の論理ゲートを含む、方法。
【請求項9】
請求項8に記載の方法であって、
前記1又は複数のノードは、障害事象に関連する情報を含み、
前記1又は複数のノードのそれぞれは、前記1又は複数のブランチのそれぞれのブランチと接続される、方法。
【請求項10】
請求項8に記載の方法であって、
前記1又は複数の論理ゲートは、第1フォールトツリーの上位部と第2フォールトツリーの下位部との間に接続される、方法。
【請求項11】
1又は複数のプロセッサに処理を実行させる命令を記憶する非一過性コンピュータ可読媒体であって、前記処理は、
アセンブリデータ及び1又は複数のラダープログラムを、入力として受信するステップであって、前記アセンブリデータは、設備又はラインアセンブリツリーを含み、前記1又は複数のラダープログラムは、設備又はライン制御ロジックを含む、ステップと、
前記アセンブリデータに含まれるアセンブリツリー構造と、前記1又は複数のラダープログラムに含まれる制御ロジックとに基づいて、設備アーキテクチャに関連するフォールトツリーを生成するステップと、を含む、非一過性コンピュータ可読媒体。
【請求項12】
請求項11に記載の非一過性コンピュータ可読媒体であって、
前記処理は、前記アセンブリデータに含まれるアセンブリツリー構造に基づく第1フォールトツリーの上位部と、前記1又は複数のラダープログラムに含まれる制御ロジックに基づく第2フォールトツリーの下位部と、を接続するステップを含む、非一過性コンピュータ可読媒体。
【請求項13】
請求項12に記載の非一過性コンピュータ可読媒体であって、
前記アセンブリツリー構造に基づく前記第1フォールトツリーの上位部と、前記制御ロジックに基づく前記第2フォールトツリーの下位部とを接続するステップは、前記第1フォールトツリーの上位部のフルパスに含まれる単語の量と前記第2フォールトツリーの下位部のパスのトップの単語に基づく、非一過性コンピュータ可読媒体。
【請求項14】
請求項12に記載の非一過性コンピュータ可読媒体であって、
前記処理は、前記設備アーキテクチャの1又は複数のコンポーネントを、前記アセンブリデータ内の設備又はラインアセンブリツリーから、前記第1フォールトツリーの上位部からの前記1又は複数のコンポーネントのそれぞれを識別する部品名データベースに基づいて抽出するステップを、さらに含む、非一過性コンピュータ可読媒体。
【請求項15】
請求項11に記載の非一過性コンピュータ可読媒体であって、
前記処理は、
1又は複数の変数を、前記設備又はライン制御ロジックから、前記設備アーキテクチャの1又は複数のコンポーネントの変数名データベースに基づいて抽出するステップと、
前記アセンブリツリー構造を、前記1又は複数の変数に関連付けられたラダープログラムに基づいて抽出するステップと、を含む、非一過性コンピュータ可読媒体。
【請求項16】
請求項12に記載の非一過性コンピュータ可読媒体であって、
前記フォールトツリーの部品名データベース及び変数名データベースは、1又は複数の共通グループにグループ化された部品名又は変数名を含み、
前記第1フォールトツリーと前記第2フォールトツリーの接続は、前記1又は複数の共通グループのグループ化に基づく、非一過性コンピュータ可読媒体。
【請求項17】
請求項11に記載の非一過性コンピュータ可読媒体であって、
前記設備又はラインアセンブリツリーは、前記1又は複数のラダープログラムにおける関連する入力及び出力変数を含む、非一過性コンピュータ可読媒体。
【請求項18】
請求項11に記載の非一過性コンピュータ可読媒体であって、
前記設備アーキテクチャに関連するフォールトツリーは、1又は複数のノード、1又は複数のブランチ、及び1又は複数の論理ゲートを含み、
前記1又は複数のノードは、障害事象に関連する情報を含み、
前記1又は複数のノードのそれぞれは、前記1又は複数のブランチのそれぞれのブランチと接続され、
前記1又は複数の論理ゲートは、第1フォールトツリーの上位部と第2フォールトツリーの下位部との間に接続される、非一過性コンピュータ可読媒体。
【請求項19】
システムであって、
アセンブリツリー構造に基づく設備アーキテクチャと、
プロセッサと、を含み、
前記プロセッサは、
アセンブリデータ及び1又は複数のラダープログラムを、入力として受信し、前記アセンブリデータは、設備又はラインアセンブリツリーを含み、前記1又は複数のラダープログラムは、設備又はライン制御ロジックを含み、
前記アセンブリデータに含まれるアセンブリツリー構造と、前記1又は複数のラダープログラムに含まれる制御ロジックとに基づいて、前記設備アーキテクチャに関連するフォールトツリーを生成する、システム。
【請求項20】
請求項19に記載のシステムであって、
前記プロセッサは、前記アセンブリデータに含まれるアセンブリツリー構造に基づく第1フォールトツリーの上位部と、前記1又は複数のラダープログラムに含まれる制御ロジックに基づく第2フォールトツリーの下位部と、を接続する、システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、フォールトツリーの自動生成を行うシステム及び方法に関する。
【背景技術】
【0002】
工場の生産性を最大化するために生産ラインの稼働時間を維持することが、必要である。ラインの稼働時間を低下させる一つの要因は、何らかの異常状態による機械故障であり、機械故障の根本原因解析に基づく迅速な復旧が必要となる。この目的のために、フォールトツリーを用いたフォールトツリー解析が一般的に行われている。フォールトツリーは、故障事象を示すトップノード、根本原因現象を示すより下位のノード、現象の因果関係を示す1以上の枝を含むツリー図である。フォールトツリーは、そこに故障が記載されている場合に、根本原因を即座に特定することができ、ダウンタイムの長期化を抑制又は解消できる有効な手法である。
【0003】
フォールトツリーは因果関係を記述するために設備のアーキテクチャを必要とするため、設備設計者が手作業で生成することがある。設備がアクチュエータ及び/又はセンサを含む場合、一般的なプログラマブルロジックコントローラを使用して、ラダープログラムで設備を制御し、動作の高信頼性を実現できる。このような種類の設備は、機械系技術者だけでなく、電気系技術者や制御系技術者も設計されるため、フォールトツリーは、異なる設計チームのそれぞれによって作成される。この共同作業は膨大な時間を必要とし、このような専門家の不足が、最近、深刻化している。上記のような問題を解決するために、いくつかの関連技術が提案されている。
【0004】
関連技術の一例において、過去の故障事象から設備の故障事象とその因果関係を記憶し、さらにこれらの因果関係が関係する構成部品の名称をインデックスとして所有する因果関係データベースを有するシステムが記載されている。このシステムにおいて、フォールトツリーを構築するときに部品名を入力することにより、関連する因果関係が表示され、フォールトツリーを効率的に構築できる。
【0005】
上記例は、過去に蓄積された情報を利用してフォールトツリーを構築し得る。しかし、前提として、類似製品の過去の故障事象情報を蓄積ことが必要である。そのため、新設の設備やラインには対応できないという問題がある。また、もう一つの問題は、因果関係データベースの構築に多くの時間を要するということである。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【0007】
本開示は、フォールトツリーの自動生成を含む。
【0008】
本開示は、機械設計図面や制御プログラムなどの従来の設計書と、設計書から生成できる最小化されたルール又はデータベースとを用いて、新規に設計された設備又はラインにまだ存在しない、原因情報のような用意された情報を用いることなく、自動的にフォールトツリーを構築するシステムを提案する。
【0009】
関連技術の課題に対処するため、本明細書に記載される実施例は以下の態様を含む。
【0010】
説明される実施例は、フォールトツリーを自動生成する新規な技術を含む。フォールトツリー生成システムは、設備又はラインアセンブリツリーを含むアセンブリデータと、設備又はライン制御ロジックを含むラダープログラムとを入力として受け取り、アセンブリデータ内のアセンブリツリー構造から生成されたフォールトツリーの上位部と、ラダープログラム内の制御ロジックから得られたフォールトツリーの下位部とを接続して、フォールトツリーを生成する。
【0011】
フォールトツリー生成システムを含む実施例において、システムは、フォールトツリーの上位部のフルパスに含まれるワード数とフォールトツリー下位部のパスのトップの単語とに基づいて、フォールトツリー上位部とフォールトツリー下位部を接続してフォールトツリーを生成する。
【0012】
フォールトツリー生成システムの一実施例では、システムは、フォールトツリーの上位部を生成するとき、アセンブリ構造に加えて、各アクチュエータ、各センサ、コンポーネントなどを示す部品名称データベースを用いて、アセンブリデータに含まれるアセンブリツリーから主要コンポーネントを抽出する。
【0013】
フォールトツリー生成システムを含む実施例において、システムは、各アクチュエータ、各センサ、コンポーネントなどのための読み書き変数名データベースを使用して、フォールトツリーの下位部を生成するときに制御ロジックから主要変数を抽出し、主要変数に関連付けられたラダーを変換することによってツリー構造を抽出する。
【0014】
フォールトツリー生成システムを含む実施例において、フォールトツリー生成システムの部品名データベース及び変数名データベースは、それぞれ、共通グループにグループ化された部品名及び変数名を有することができ、両方のツリーの接続は共通のグループ化内で行われる。
【0015】
本開示の一態様は、入力として、アセンブリデータ及び1又は複数のラダープログラムを受信することを含む方法であって、アセンブリデータは、設備又はラインアセンブリツリーを含み、1又は複数のラダープログラムは、設備又はライン制御ロジックを含み、当該方法は、アセンブリデータ内に構成されるアセンブリツリー構造及び1又は複数のラダープログラム内に構成される制御ロジックに基づいて、設備アーキテクチャに関連するフォールトツリーを生成することを含む。
【0016】
本開示の一態様は、処理をコンピュータに実行させるコンピュータプログラムであって、当該処理は、入力として、アセンブリデータ及び1又は複数のラダープログラムを受信し、アセンブリデータは設備又はラインのアセンブリツリーを含み、1又は複数のラダープログラムは設備又はライン制御ロジックを含み、当該処理は、アセンブリデータ内に構成されるアセンブリツリー構造及び1又は複数のラダープログラム内に構成される制御ロジックに基づいて、設備アーキテクチャに関連するフォールトツリーを生成する。
【0017】
本開示の一態様は、システムであって、入力として、アセンブリデータ及び1又は複数のラダープログラムを受信する手段を含み、アセンブリデータは設備又はラインアセンブリツリーを含み、1又は複数のラダープログラムは、設備又はライン制御ロジックを含み、システムは、さらに、アセンブリデータ内に構成されるアセンブリツリー構造及び1又は複数のラダープログラム内に構成される制御ロジックに基づいて、設備アーキテクチャに関連するフォールトツリーを生成する手段を含む。
【0018】
本開示の一態様は、フォールトツリーの自動生成を容易にする装置であって、プロセッサを含み、当該プロセッサは、入力として、アセンブリデータ及び1又は複数のラダープログラムを受信し、アセンブリデータは、設備又はラインアセンブリツリーを含み、1又は複数のラダープログラムは、設備又はライン制御ロジックを含み、プロセッサは、アセンブリデータ内に構成されたアセンブリツリー構造及び1又は複数のラダープログラム内に構成された制御ロジックに基づいて、設備アーキテクチャに関連するフォールトツリーを生成する。
【図面の簡単な説明】
【0019】
【
図1】自動フォールトツリー生成システムのアーキテクチャの一例を示す図である。
【
図2】自動フォールトツリー生成システムのブロック図の一例を示す図である。
【
図3】装置例によって組み立てられる部品及び製品の一例を説明するための図である。
【
図4】装置、部品の動き及び関連するセンサの概要の一例を説明するための図である。
【
図5】装置例のプロセスフローチャートの一例を示す図である。
【
図6】ラダープログラムにおけるアセンブリデータ及び関連する入出力変数の例を示す図である。
【
図7】ラダープログラムの一例を説明するための図である。
【
図8】ラダープログラムの一例を説明するための図である。
【
図9】ラダープログラムの一例を説明するための図である。
【
図10】ラダープログラムの一例を説明するための図である。
【
図11】自動フォールトツリー生成システムのフローチャートの一例を示す図である。
【
図12】
図11のフローチャートの処理結果の一例を示す図である。
【
図13】
図11のフローチャートの処理結果例を説明するための図である。
【
図14】
図11のフローチャートの処理結果例を説明するための図である。
【
図15】
図11のフローチャートの処理結果例を説明するための図である。
【
図16】
図11のフローチャートの処理結果例を説明するための図である。
【
図17】
図11のフローチャートの処理結果例を説明するための図である。
【
図18】
図11のフローチャートの処理結果例を説明するための図である。
【
図19】
図11のフローチャートの処理結果例を説明するための図である。
【
図20】
図11のフローチャートの処理結果例を説明するための図である。
【
図21】マッチング精度の一例を説明するための図である。
【
図22】
図11のフローチャートの処理結果例を説明するための図である。
【
図23】自動フォールトツリー生成システムのフローチャートの一例を説明するための図である。
【
図24】アセンブリデータの一例を説明するための図である。
【
図25】組立データの一例を説明するための図である。
【
図26】自動フォールトツリー生成システムのアーキテクチャ例を説明する図である。
【
図27】自動フォールトツリー生成システムのブロック図の一例を説明する図である。
【
図28】自動フォールトツリー生成システムのフローチャートの一例を説明する図である。
【
図29】グループ化ノード名データベースの一例を説明するための図である。
【
図30】
図23のフローチャートの処理結果の一例を示す図である。
【
図31】グループ化ノード名データベースの一例を示す図である。
【
図32】
図23のフローチャートの処理結果の一例を説明するための図である。
【
図33】
図23のフローチャートの処理結果例を説明するための図である。
【
図34】
図23のフローチャートの処理結果例を説明するための図である。
【
図35】マッチング精度の一例を説明するための図である。
【
図36】マッチング精度の一例を説明する図である。
【
図37】幾つかの例示的な実施形態で使用するのに適した例示的な計算装置を備えた例示的な計算環境を示す図である。
【発明を実施するための形態】
【0020】
以下の詳細な説明は、本願の図及び実施例の詳細を提供する。図面間の参照数字及び冗長な要素の説明は、明確にするために省略されている。本明細書を通じて使用される用語は、例として提供され、限定を意図するものではない。例えば、「自動」という用語の使用は、本願発明の実施例を実践する当業者の所望の実施例に応じて、実施例の特定の側面に対するユーザ又は管理者の制御を伴う完全自動又は半自動の実施例を含むことができる。選択は、ユーザインタフェース又は他の入力手段を通じてユーザによって実行することができ、又は所望のアルゴリズムを通じて実行することができる。本明細書で説明する実施例は、単数又は組み合わせて利用することができ、実施例の機能は、所望の実施例に従って任意の手段を通じて実行することができる。
【0021】
本願の詳細な説明を3つの実施例によって説明する。第1の実施例は、例えば
図1及び2に示すように、システムの概要を説明することができる。第2の実施例では、例えば
図3から
図10に示すような設備の例について説明する。
図3から
図10は、アセンブリツリーとラダープログラムを含む。第3の実施例では、
図12から
図22の設備データ例を用いたフローチャートと処理フローを説明する
【0022】
図1は、自動フォールトツリー生成システム100のシステムアーキテクチャの一例を示す。自動フォールトツリー生成システムはプロセッサを含み、プロセッサは、自動フォールトツリー生成システムに関連する1又は複数のモジュールを実行する。モジュールは、例えば、アセンブリデータ解析モジュール、ラダーデータ解析モジュール、又はフォールトツリー接続モジュールを含むことができるが、これらに限定されない。プロセッサは、入力モジュール、出力装置、又は解析ルールを格納し得るメモリ/ストレージと通信することができる。
【0023】
図2は、システムのブロック図の例を示す。
図2に示されるように、システム入力は、CADデータなどのアセンブリデータ、及びラダープログラムを含んでよい。アセンブリデータ解析モジュール206は、アセンブリデータ入力モジュール202及び対応する解析ルール204からの入力を受け取ることができる。
【0024】
ラダーデータ解析モジュール212は、ラダーデータ入力モジュール208及び対応する解析ルール210から入力を受け取ることができる。フォールトツリー接続モジュール214は、アセンブリデータ解析モジュール及びラダー解析モジュールからの両方の入力データを解析して、ノード及びブランチを含むツリー図に変換することができる。各変換後、両方のモジュールを接続モジュールにおいて1つのツリーに接続し、システムの出力として最終的なフォールトツリーを構築する。フォールトツリー出力モジュール216は、ツリー生成において、フォールトツリー接続モジュールから入力を受け取ることができる。
【0025】
図3は、設備によって組み立てられ得る部品及び製品の例を示す。例えば、部品A301と部品B302は、組み立てられた製品303の部品であってよい。
図3の例において、部品Aと部品Bは、製品を組み立てるために結合又は接続されてよい。
図4は、設備の動き、部品の動き、及び関連するセンサの、概要400を示す。
図4は、製品303を組み立てるための部品A301と部品B302の移動工程の例を示している。
【0026】
図5は、設備例のプロセスフローチャートの
図500を示す。設備の一つの機能は、製品を組み立てるために部品Aに部品Bを挿入することである。
図4に示す部品の移動工程は、部品Bを部品Aに挿入又は接続するための搬送工程及び移送工程を含んでもよい。このような搬送工程及び移送工程は、コンベア及び/又は挿入工程のための1又は複数のモータ、部品Bをクランプするためのクランパ、及び挿入工程のために部品Bを移送するためのエアシリンダを含んでもよい。各部品及び設備の動きを検出するため、及び/又は適切な組立を保証するために、レーザセンサが利用されてもよい。工程での処理例としては、部品Aと部品Bをそれぞれの部品入口エリアに配置することが挙げられる。その後、部品Aは挿入エリアに搬送され、部品Bは待機エリアに搬送される。搬送工程は、部品A又は部品Bがそれぞれの指定エリア、例えば挿入エリアに到達したときに停止してもよい。その後、クランパは、部品Bを待機エリアに配置してもよい。その後、クランパは部品Bをピックアップし、部品Bを部品Aの挿入エリアに移動させてもよい。クランパは部品Bを部品Aに挿入してもよく、部品Bは、部品Bの部品Aへの挿入時に解放されてもよい。組み立てられた製品は、その後、排出エリアに搬送される。
【0027】
図6は、CADデータで含まれ得るアセンブリツリーと、ラダープログラムにおいて関連する入出力変数の
図600を示す。アセンブリツリーは、アセンブリと部品の両方を含んでよく、アセンブリツリーは設計者によって生成される。自動設備は、押しボタンなどのユーザインタフェースや、ライトカーテンや緊急停止(E-stop)ボタンなどの安全コンポーネントを含む。駆動ユニットや検知ユニットなどのコンポーネントは、コントローラに電気的に接続され得る。コントローラは、プログラマブルロジックコントローラ(PLC)であり、プログラミング言語(例えば、ラダープログラム)は、例えば、
図6に示す変数を利用できる。
【0028】
図7は、ラダープログラム700の一例である。ラダープログラムは、製造及び工程制御で使用されるリレーラックの設計及び構築をドキュメント化することができる。この名称は、この言語のプログラムがはしごに似ており、2本の垂直なレールとその間に一連の水平な段(rung)があるというように見えることに基づいている。信号は+電圧側から来ており、グラウンド側に向かう。ロジックがクリアされると、変数を変更できる。プログラムは一番上の段から開始し、必要に応じて一番下の段に到達するまで繰り返す。
【0029】
図8~10は、
図4及び5に関連して示されるように、本設備における工程フローを実現するために利用可能なラダープログラムの例を示す。段(rungs)R1~17は入力と出力の可変定義領域を含んでよく、段R18~20は両コンベアの制御ロジックを含んでよく、段R21~26は部品Bを搬送する制御ロジックを含んでよく、段R27~30は挿入工程の制御ロジックを含んでよい。
【0030】
図11は、自動フォールトツリー生成システムのフローチャート例1100を示す。A-1の入力データは、例えば
図6に示されており、B1の入力データは、例えば
図8~10に示されている。A-2において、A-1からアセンブリツリーが抽出される。A-3において、部品を除いたアセンブリツリーの主要な層が抽出される。A-4において、各ツリーノードに、エラーに関連するメッセージ(例えば、「is not correctly working」)が付加される。A-5において、フォールトツリーの上位ツリーが生成される。
【0031】
B-2において、移動を表す主要変数が特定される。B-3において、入力ラダープログラムから、移動の主要変数に関連する段(rung)が抽出される。B-4において、各ツリーノードは、ステータスメッセージ(例えば、「is on」又は「is off」)を持つツリーに変換される。B-5では、フォールトツリーの下位ツリーが生成される。
【0032】
C-1にておいて、生成された上位ツリーと下位ツリーを取得する。C-2において、上位ツリーのボトムノードからトップノードまでの少なくとも1つのフルパスを選び、ピックアップしたフルパスの全ての単語を単語群Aとして抽出する。C-3において、下位ツリーの1つからトップノードを選び、そのノード内のすべての単語を単語群Bとして抽出する。C-4において、単語群Aと単語群Bの一致単語量を算出する。C-5において、C2~C4の処理を繰り返し、全ての組み合わせをカウントし、そのカウント数を一致度として扱うことができる。C-6において、上位ツリーボトムノードと下位ツリートップノードとの接続を、少なくとも一致度の順序に基づいて決定する。C-7において、出力された連結ツリーがフォールトツリーを構成するように、各下位ツリーをと各上位ツリーノードが連結される。
【0033】
図12は、
図11のA-4以降の処理結果を示す図であり、設備構造に基づくフォールトツリーの上位部を表す。フォールトツリーは、ノード、ブランチ、論理ゲートの少なくとも1つを含むことができる。故障現象又はその原因がノードに入力され、関連する各ノードはブランチと呼ばれる線で接続される。この接続により、上位ノードは下位ノードの親ノードと呼ばれ、下位ノードは上位ノードの子ノードと呼ばれる。
図12は、使用され得るノード、ブランチ、及び論理ゲートの例を示す。しかし、本開示は、本明細書に開示された例に限定されることを意図するものではない。いくつかの例では、ノード、ブランチ、又は論理ゲートの異なる組み合わせまたは数が使用されてもよい。
【0034】
図13は、
図11のB-3以降の部分処理結果を示している。例えば、段(rung)R18~R20は、
図11のB-3以降の部分処理結果で使用される段を構成することができる。
図14は、処理手順の一例として、B-4後の部分処理結果を示している。B-2において、何らかのルールに基づいて主要な変数が選択されてもよい。本設備例では、「Request」という単語で移動を命令しているため、ラダープログラムの全変数から「Request」を検索して主要変数を選択する。
図7で説明したように、ラダープログラムは、
図14に示すようにツリー図に変換されてもよい。いくつかの態様では、TrueとFalseは、「is on」又「is off」という語で変換されてもよい。
図15は、
図11のB-4以降の処理結果の一例を示す。
図14及び
図15のツリーは、フォールトツリーの下位部を含むことができる。
【0035】
部分フォールトツリーはA-4、B-4処理まで生成され、A-5、B-5処理で接続モジュールに転送され、C-1処理で接続のために取得される。接続手順は、C-2処理から開始して単語マッチング計算まで実行し、フォールトツリーの上位部と下位部を接続して完全なフォールトツリーを生成する。単語マッチング計算は、ソース単語グループとターゲット単語グループを利用することができる。
【0036】
図16は、ソース単語群として利用され得る上位ツリーから抽出された単語グループの例1600を示し、
図17は、ターゲット単語群として利用され得る下位ツリーから抽出された単語グループの例1700を示す。本開示の少なくとも1つの利点は、上位ツリーのボトムノードの代わりにフルパスの単語を利用することである。なぜなら、上位ツリーのボトムノードは、割り当てられた機能を説明するすべての単語を含むとは限らないからである。その理由は、上位ツリーは、ノード名が重複しないように生成されたツリー図だからである。いくつかの側面では、下位ツリーはプログラム変数から生成され、これらの変数はプログラム全体で一意の名前を持つ。上位ツリーでフルパスを利用することは有益であり、正確なマッチングを可能にし得る。
【0037】
マッチングカウントのルールは、
図11のC-4を意味する「How many FPX words existing TNY,」であり、計算結果1800を
図18に示す。接続ノードを決定するために、
図19に示すように、平均値からの差を表す偏差計算1900が計算される。
【0038】
判定ルール例は以下の通りである。
【0039】
@1.TNX行で最も偏差値の高いものを選択する。
【0040】
@2.親ノードと子ノードが同じスコアであれば、子ノードを選択する。
【0041】
図20は、選択された接続の例2000を太字で示す。たとえば、TN1とFP3は接続を提供し、TN2とFP4は接続を提供し、TN3とFP7は接続を提供し、TN4とFP7は接続を提供し、TN5とFP7は接続を提供し、TN6とFP6は接続を提供し、TN7とFP6は接続を提供する。
図21は、マッチング精度の例2100を示し、すべての接続が正しくマッチングしていることを示している。
図22は、最終的なフォールトツリーの例2200を示しており、これは
図11におけるフローチャートからの出力であり得る。
【0042】
図23は、自動フォールトツリー生成システムのフローチャート例2300を示す。
図23のフローチャートは、
図11の自動フォールトツリー生成システムのフローチャートに類似しているが、いくつかの相違点がある。例えば、
図11のフローチャートと
図23のフローチャートとの相違点は、
図23のステップA-1とステップA-2.5である。ステップA-1が含む入力データは、
図24に示すCADデータ2400だけでなく、例えば
図25に示すように、部品表(BOM:bill of material)データ2500を含み得る。いくつかの例では、図面番号名は、アセンブリツリーを記述するためのCADデータで使用され、図面番号からアセンブリ又は部品名への変換のためにBOMデータを利用することができる。この変換により、アセンブリデータがCADデータとBOMデータに分離されていても、
図11のフローチャート例と同じ計算が成立し得る。このように、
図23のフローチャートは、
図11の例と同様に、フォールトツリーの上位ツリーと下位ツリーを生成し得る。
【0043】
図26は、自動フォールトツリー生成システム2600のアーキテクチャ例を提供する。
図26の自動フォールトツリー生成システムのアーキテクチャ例は、解析ルールがデータベースに変わっている点を除き、
図1の自動フォールトツリー生成システムのアーキテクチャ例と同様の構成要素及び機能を有することができる。
図27は、システムのブロック
図2700の例を示す。
図27に示すブロック図は、
図2に示すシステムのブロック図と類似しているが、いくつかの相違点がある。例えば、
図2のブロック図との相違点は、いくつかのデータベースが解析モジュールで使用されるのに対し、
図27のブロック図では、データベースで定義された、いくつかのグループが接続処理で使用され、アセンブリデータ解析モジュール206の出力が、アセンブリデータ入力モジュール202からの入力及びノード名グループ化データベース2702からの入力に基づいていることである。さらに、ラダーデータ解析モジュール212からの出力は、ラダーデータ入力モジュール208からの入力と、変数名グループ化データベース2704からの入力に基づいている。
【0044】
図28は、自動フォールトツリー生成システムのフローチャート例2800を示し、
図29は、ノード名グループ化データベース2702の例2900を示す。
図28のフローチャート例は、
図11のフローチャートと同様に構成されるが、追加のステップ、すなわちA-3.5を含む。A-3.5において、グループ化ノード名データベースを検索することによってノードを抽出することができる。図示のグループ化ノード名データベースは、
図28のA-3.5において、ノードの検索に使用され、駆動ユニットや測定ユニットなどの重要なノードをアセンブリツリーから抽出する。
【0045】
図30は、
図28のA-3.5処理の後の、処理結果の例3000を示している。データベースの利用状況に基づいて、故障の根本原因である可能性のあるモータやレーザセンサなどの詳細なキーコンポーネントを抽出することができる。
【0046】
図31は、
図28の処理例のB-2において使用され得る変数名グループ化データベース2704の例3100を示す。プログラム内の変数は、固有名及び/又は表現を示すことができる名前変数を含む。いくつかの実施例では、変数は、LS(レーザセンサ)、LC(ライトカーテン)、PB(プッシュボタン)などに限定されない短縮名を含むことができる。変数データベースは、キーロジックに関連するキー変数を正しく抽出することができる。
図32は、
図28のB-4後の処理結果を示す図であり、変数名の利用で複数の下位フォールトツリーを抽出することができる。
【0047】
図33は、ソース単語群として上位ツリーから抽出された単語グループの例3300を示し、
図34は、ターゲット単語群として下位ツリーから抽出された単語グループの例3400を示す。従来例との少なくとももう一つの違いは、
図33と
図34の両方を含むグループを接続処理に利用することである。組み合わせの増加によるマッチングミスを減らすために、内部グループを用いてマッチング計算が行われる。
【0048】
図35は、グループ情報を用いずに計算した例3500を示し、
図36は、グループ情報を用いて計算した例3600を示す。内部グループで計算した後、結果は結合される。
図35と
図36を比較すると、グループ情報があることで、マッチング精度が向上していることがわかる。また、別々に計算することで計算時間が短縮される。
【0049】
開示されたシステムは、設計ドキュメントと最小化されたルール又はデータベースを用いてフォールトツリーを生成するように構成することができる。本システムを活用することで、設計期間を短縮して保守性設計に関する設計コストを削減し、装置や生産ラインを出荷する前に内蔵アラーム機能を最適化して出荷後の現場問題を低減することができる。また、新アーキテクチャの設備やラインの設計の容易性を高め、設備ビルダやラインビルダのビジネスを拡大・増大させる。生成されたフォールトツリーを活用することで、設計チームとサポートチーム間の技術移転を実現し、サポート効率を向上させることができる。生成されたフォールトツリーを活用することで、根本原因解析の見落としを減らし、迅速な根本原因の特定を行い、ベンダ・サポートへの連絡時間を短縮することで、設備の顧客は、ダウンタイムを最小限に抑えることができる。
【0050】
図37は、
図1~
図36のいずれかに関連して示されるような、実施例での使用に適した計算装置を備えた計算環境の例を示す。計算環境は、
図1~
図36に示されるアーキテクチャの実装を容易にするために使用できる。さらに、本明細書で説明する実施例のいずれかを、
図1~
図36に例示するアーキテクチャ、API、マイクロサービスシステムなどに基づいて実装することができる。計算環境3700の計算装置3705は、1又は複数の処理ユニット、コア、又はプロセッサ3710、メモリ3715(例えば、RAM、ROM、及び/又は同種の装置)、内部ストレージ3720(例えば、磁気、光学、ソリッドステートストレージ、及び/又は有機)、及び/又はI/Oインタフェース3725を含むことができ、これらのいずれかは、情報を通信するための通信機構又はバス3730で結合されるか、又は計算装置3705に埋め込まれることができる。I/Oインタフェース3725は、所望の実装に応じて、カメラから画像を受信する、又はプロジェクタもしくは表示装置に画像を提供するように構成される。
【0051】
計算装置3705は、入力/ユーザインタフェース3735及び出力デバイス/インタフェース3740に通信可能に結合され得る。入力/ユーザインタフェース3735及び出力デバイス/インタフェース3740のいずれか一方又は双方は、有線又は無線インタフェースであってもよく、着脱可能とすることができる。入力/ユーザインタフェース3735は、物理的又は仮想的な、入力を提供するために使用することができる任意のデバイス、コンポーネント、センサ、又はインタフェース(例えば、ボタン、タッチスクリーンインタフェース、キーボード、ポインティング/カーソルコントローラ、マイクロフォン、カメラ、点字、モーションセンサ、光学リーダ、及び/又はこれらに類する装置)を含むことができる。出力デバイス/インタフェース3740は、ディスプレイ、テレビ、モニタ、プリンタ、スピーカ、点字などを含むことができる。いくつかの実施例では、入力/ユーザインタフェース3735及び出力デバイス/インタフェース3740は、計算装置3705に埋め込まれる、又は計算装置3705に物理的に結合され得る。他の実施例では、他の計算装置が、計算装置3705の入力/ユーザインタフェース3735及び出力デバイス/インタフェース3740の機能として機能する、又はその機能を提供することができる。
【0052】
計算装置3705の例としては、高度に移動可能なデバイス(例えば、スマートフォン、車両及び他の機械に搭載されたデバイス、人間及び動物によって運ばれるデバイスなど)、モバイルデバイス(例えば、タブレット、ノートブックコンピュータ、ラップトップコンピュータ、パーソナルコンピュータ、ポータブルテレビ、ラジオなど)、及び移動用に設計されていないデバイス(例えば、デスクトップコンピュータ、他のコンピュータ、情報キオスク、そこに埋め込まれた及び/又はそれに結合された1又は複数のプロセッサを有するテレビ、ラジオなど)を挙げることができるが、これらに限定されない。
【0053】
計算装置3705は、同じ構成又は異なる構成の1又は複数の計算装置を含む、任意の数のネットワーク接続されたコンポーネント、デバイス、及びシステムと通信するために、外部ストレージ3745及びネットワーク3750に(例えば、I/Oインタフェース3725を介して)通信可能に結合され得る。計算装置3705又は任意の接続された計算装置は、サーバ、クライアント、シンサーバ、一般マシン、特殊目的マシン、又は別のラベルとして機能し、サービスを提供し、又は参照され得る。
【0054】
I/Oインタフェース3725は、計算環境3700内の少なくともすべての接続されたコンポーネント、デバイス、及びネットワークとの間で情報を通信するための任意の通信又はI/Oプロトコル又は規格(例えば、イーサネット、802.11x、ユニバーサルシステムバス、WiMax、モデム、セルラーネットワークプロトコルなど)を使用する有線及び/又は無線インタフェースを含むことができるが、これらに限定されない。ネットワーク3750は、任意のネットワーク又はネットワークの組み合わせ(例えば、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、電話ネットワーク、携帯ネットワーク、衛星ネットワークなど)であり得る。
【0055】
計算装置3705は、一過性媒体及び非一過性媒体を含む、コンピュータ使用可能媒体又はコンピュータ読み取り可能媒体を使用及び/又は使用して通信することができる。一過性の媒体には、伝送媒体(例えば、金属ケーブル、光ファイバ)、信号、搬送波などが含まれる。非一過性媒体には、磁気媒体(ディスク、テープなど)、光媒体(CD ROM、デジタルビデオディスク、ブルーレイディスクなど)、ソリッドステート媒体(RAM、ROM、フラッシュメモリ、ソリッドステートストレージなど)、その他の不揮発性ストレージ又はメモリが含まれる。
【0056】
計算装置3705は、いくつかの例示的な計算環境において、技術、方法、アプリケーション、プロセス、又はコンピュータ実行可能命令を実装するために使用することができる。コンピュータ実行可能命令は、一過性の媒体から取得でき、そして、非一過性の媒体に格納及び非一過性の媒体から取得され得る。実行可能な命令は、プログラミング言語、スクリプト言語、及び機械言語(例えば、C、C++、C#、Java(登録商標)、Visual Basic、Python、Perl、JavaScriptなど)の1又は複数から取得することができる。
【0057】
プロセッサ3710は、ネイティブ環境又は仮想環境において、任意のオペレーティングシステム(OS)の下で実行することができる。論理ユニット3760、アプリケーションプログラミングインターフェース(API)ユニット3765、入力ユニット3770、出力ユニット3775、及び異なるユニットが互いに、OS及び他のアプリケーションと通信するためのユニット間通信機構3795を含む1又は複数のアプリケーションを展開することができる。説明されるユニット及び要素は、設計、機能、構成又は実装において様々であり、本明細書で提供される構成に限定されない。プロセッサ3710は、中央処理装置(CPU)などのハードウェアプロセッサの形態、又はハードウェアユニットとソフトウェアユニットの組み合わせとすることができる。
【0058】
いくつかの実施例において、情報又は実行命令がAPIユニット3765によって受信されると、それは1又は複数の他のユニット(例えば、論理ユニット3760、入力ユニット3770、出力ユニット3775)に伝達され得る。いくつかの実施例において、論理ユニット3760は、上述のいくつかの実施例において、ユニット間の情報の流れを制御し、APIユニット3765、入力ユニット3770、出力ユニット3775によって提供されるサービスを指示するように構成され得る。例えば、1又は複数のプロセス又は実装の流れは、論理ユニット3760単独で、又はAPIユニット3765と連携して制御されてもよい。入力ユニット3770は、実施例において説明される計算のための入力を得るように構成されてもよく、出力ユニット3775は、実施例において説明される計算に基づいて出力を提供するように構成されてもよい。
【0059】
プロセッサ3710は、方法の命令を実行するように構成され得、例えば、
図1から
図36のいずれかにおいて、命令は、入力として、アセンブリデータ及び1又は複数のラダープログラムを受信することを含み、アセンブリデータは、設備又はラインのアセンブリツリーを含み、1又は複数のラダープログラムは、設備又はラインの制御ロジックを含む。プロセッサ3710は、アセンブリデータに含まれるアセンブリツリー構造及び1又は複数のラダープログラムに含まれる制御ロジックに基づいて、設備アーキテクチャに関連するフォールトツリーを生成する。
【0060】
プロセッサ3710は、方法の命令を実行するように構成され得、この方法は、例えば、
図1から
図36のいずれかにおいて、アセンブリデータに含まれるアセンブリツリー構造に基づく第1のフォールトツリーの上位部と、1又は複数のラダープログラムに含まれる制御ロジックに基づく第2のフォールトツリーの下位部とを接続する。
【0061】
プロセッサ3710は、方法の命令を実行するように構成され得、この方法は、例えば、
図1から
図36のいずれかにおいて、第1フォールトツリーの上位部から1又は複数のコンポーネントの各々を識別する部品名データベースに基づいて、アセンブリデータ内の設備又はラインのアセンブリツリーから設備アーキテクチャの1又は複数のコンポーネントを抽出することを含む。
【0062】
プロセッサ3710は、方法の命令を実行するように構成されることができ、この方法は、例えば、
図1から
図36のいずれかにおいて、設備アーキテクチャの1又は複数のコンポーネントの変数名データベースに基づいて、設備又はライン制御ロジックから1又は複数の変数を抽出することと、1又は複数の変数に関連付けられたラダープログラムに基づいて、アセンブリツリー構造を抽出することとを含む。
【0063】
詳細な説明のいくつかの部分は、コンピュータ内のアルゴリズム及び動作の記号的表現の観点から提示されている。これらのアルゴリズム記述及び記号表現は、データ処理技術の当業者が、その技術革新の要素を当業者に伝えるために使用する手段である。アルゴリズムは、所望の最終状態又は結果を導く一連の定義されたステップである。実施例では、実行されるステップは、具体的な結果を達成するために、具体的な量の物理的操作を必要とする。
【0064】
特に記載がない限り、本明細書における議論から明らかなように、本明細書全体を通して、「処理」、「計算」、「計算」、「決定」、「表示」などの用語を使用する議論には、計算機システムのレジスタ及びメモリ内の物理(電気)量として表されるデータを、計算機システムのメモリ、レジスタ又は他の情報ストレージ、又は、送信もしくは表示デバイス内の物理量として同様に表される他のデータに操作及び変換する、計算機システム又は他の情報処理デバイスの動作及びプロセスが含まれ得る。
【0065】
実施例は、本明細書における操作を実行するための装置に関するものでもある。この装置は、必要な目的のために特別に構成されてもよいし、1つ以上のコンピュータプログラムによって選択的に起動又は再構成される1つ以上の汎用コンピュータを含んでもよい。このようなコンピュータプログラムは、コンピュータ可読記憶媒体やコンピュータ可読信号媒体などのコンピュータ可読媒体に格納することができる。コンピュータ可読記憶媒体には、光ディスク、磁気ディスク、読み取り専用メモリ、ランダムアクセスメモリ、ソリッドステートデバイス及びドライブなどの有形媒体が含まれるが、これらに限定されず、電子情報を記憶するのに適した他のタイプの有形媒体又は非一過性媒体が含まれる。コンピュータ可読信号媒体は、搬送波などの媒体を含むことができる。本明細書で提示されるアルゴリズム及び表示は、特定のコンピュータ又は他の装置とは本質的に関係しない。コンピュータプログラムは、所望の実装の動作を実行する命令を含む純粋なソフトウェア実装を含むことができる。
【0066】
様々な汎用システムが、本明細書の実施例に従ったプログラム及びモジュールと共に使用されてよく、所望の方法ステップを実行するためのより特殊な装置を構築してもよい。さらに、実施例は特定のプログラミング言語を参照して説明されていない。様々なプログラミング言語が、本明細書に記載される実施例の技術を実装するために使用され得る。プログラミング言語の命令は、1又は複数の処理装置、例えば、中央処理装置(CPU)、プロセッサ、又はコントローラによって実行されてよい。
【0067】
当技術分野で知られているように、上記動作は、ハードウェア、ソフトウェア、又はソフトウェアとハードウェアの何らかの組み合わせによって実行することができる。実施例の様々な態様は、回路及び論理デバイス(ハードウェア)を使用して実装されてよく、他の態様は、プロセッサによって実行された場合、プロセッサに本出願の実装を実行させるコンピュータ可読媒体(ソフトウェア)上に記憶された命令を使用して実装されてもよい。さらに、本出願のいくつかの実施例は、ハードウェアのみで実行され得るが、他の実施例は、ソフトウェアのみで実行され得る。さらに、説明した様々な機能は、単一のユニットで実行することができ、または、任意の方法で複数の構成要素にまたがることもできる。ソフトウェアによって実行される場合、方法は、コンピュータ可読媒体に記憶された命令に基づいて、汎用コンピュータなどのプロセッサによって実行され得る。所望により、命令は、圧縮及び/又は暗号化されたフォーマットで媒体に格納できる。
【0068】
さらに、本願発明の他の実施例は、本願明細書の考察及び本願発明の技術の実施から当業者には明らかである。記載された実施例の様々な態様及び/又は構成要素は、単独で又は任意の組み合わせで使用することができる。本明細書及び実施例は例示としてのみ考慮されることが意図され、本願の真の範囲及び精神は特許請求の範囲によって示される。
【符号の説明】
【0069】
100 自動フォールトツリー生成システム
206 アセンブリデータ解析モジュール
202 アセンブリデータ入力モジュール
204 解析ルール
212 ラダーデータ解析モジュール
208 ラダーデータ入力モジュール
210 解析ルール
214 フォールトツリー接続モジュール
2702 ノード名グループ化データベース
2704 変数名グループ化データベース