(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-04-12
(54)【発明の名称】エンジニアリングデータソースからの資産データの自動抽出
(51)【国際特許分類】
G06F 16/28 20190101AFI20220405BHJP
G06F 16/21 20190101ALI20220405BHJP
G06Q 50/04 20120101ALI20220405BHJP
【FI】
G06F16/28
G06F16/21
G06Q50/04
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2021557079
(86)(22)【出願日】2020-03-24
(85)【翻訳文提出日】2021-11-19
(86)【国際出願番号】 US2020024502
(87)【国際公開番号】W WO2020198250
(87)【国際公開日】2020-10-01
(32)【優先日】2019-03-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-03-25
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2019-05-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】517399000
【氏名又は名称】シュナイダー エレクトリック システムズ ユーエスエー インコーポレイテッド
(74)【代理人】
【識別番号】100118256
【氏名又は名称】小野寺 隆
(74)【代理人】
【識別番号】100166338
【氏名又は名称】関口 正夫
(72)【発明者】
【氏名】コンデジカール サミール
(72)【発明者】
【氏名】ムヌゴティ マリカルジュナ
(72)【発明者】
【氏名】マッキンタイヤ ジェームズ ピー.
(72)【発明者】
【氏名】ルシュアー グラント
【テーマコード(参考)】
5B175
5L049
【Fターム(参考)】
5B175DA10
5B175JA02
5B175KA12
5L049CC04
(57)【要約】
産業プロセス自動化のためのシステムおよび方法は、自動的に、機械学習(ML)モデルおよびアルゴリズムを使用することによって、工学ダイアグラムおよび他のプラントエンジニアリングデータソースからプラント資産を抽出することができる。システムおよび方法は、プラント資産レジストリを作成し、プラント資産から資産階層を構築するために資産関係を確立することができる。システムおよび方法は、プラント資産階層からオントロジー知識ベースを生成し、制御するためのHMIを提供することができる。
【選択図】
図18
【特許請求の範囲】
【請求項1】
産業プラントのための制御システムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに通信可能に結合され、その上にプロセッサ実行可能命令を記憶する記憶ユニットと、
を備え、前記プロセッサ実行可能命令は、前記1つ以上のプロセッサによって実行されると、前記制御システムに、
前記産業プラントの複数のエンジニアリングデータソースからデータを入力するプロセスであって、前記データには構造化データと非構造化データとを含む、プロセスと、
前記構造化データおよび前記非構造化データから1つ以上のドメインエンティティを抽出するプロセスと、
前記構造化データおよび前記非構造化データから前記1つ以上のドメインエンティティのインスタンスを抽出するプロセスと、
前記1つ以上のドメインエンティティおよび前記1つ以上のドメインエンティティの前記インスタンスに基づいて構築された意味モデルを受信するプロセスと、
前記意味モデルに基づいて知識グラフを作成し、記憶するプロセスと、
前記知識グラフから情報を抽出し、マシンインターフェース(HMI)表示を構築し、前記産業プラントのアプリケーションを制御するプロセスと、
を実行させる、制御システム。
【請求項2】
前記プロセッサ実行可能命令は、前記制御システムに、機械学習を使用して前記非構造化データから前記産業プラントの1つ以上の資産を抽出して、前記1つ以上の資産を認識するプロセスをさらに実行させる、請求項1に記載の制御システム。
【請求項3】
前記プロセッサ実行可能命令は、前記制御システムに、各資産を一意に識別する名称空間を使用して、前記産業プラントの1つ以上の資産を資産階層に記憶するプロセスをさらに実行させる、請求項2に記載の制御システム。
【請求項4】
前記プロセッサ実行可能命令は、前記制御システムに、資産レジストリのアプリケーションプログラミングインターフェース(API)を提供するプロセスをさらに実行させ、ユーザおよび外部システムが前記資産レジストリにアクセスして使用できるようにする、請求項3に記載の制御システム。
【請求項5】
前記プロセッサ実行可能命令は、前記制御システムに、アラームデータ、キャビネット負荷レポート、制御データベース、クロス配線レポート、フィールド配線インデックス、履歴データ、計器インデックス、資産階層、ネスト負荷レポート、プラント資産インデックス、プロセス制御ナラティブ、およびHMI仕様のうちの1つ以上を入力するプロセスを実行することによって、複数の工学データソースからのデータをさらに入力させる、請求項1に記載の制御システム。
【請求項6】
前記プロセッサ実行可能命令は、前記制御システムに、知識ベースを複数の相互リンクされたラベル付きプロパティノードとして表示するプロセスをさらに実行させ、各ノードはドメインエンティティを表す、請求項1に記載の制御システム。
【請求項7】
前記プロセッサ実行可能命令は、前記制御システムに、前記ノードがユーザによって選択されたときに、各ノードのプロパティおよび関係を表示するプロセスをさらに実行させる、請求項6に記載の制御システム。
【請求項8】
前記プロセッサ実行可能命令は、前記制御システムに、ユーザが自然言語クエリを使用して前記知識ベースの検索を実行できるようにするプロセスをさらに実行させる、請求項7に記載の制御システム。
【請求項9】
前記プロセッサ実行可能命令は、前記制御システムに、前記検索に応答するノードを、前記ノードが共通に共有する資産とともに表示するプロセスをさらに実行させる、請求項8に記載の制御システム。
【請求項10】
前記プロセッサ実行可能命令は、前記制御システムに、前記ノードの凡例を色分けベースで表示するプロセスをさらに実行させる、請求項9に記載の制御システム。
【請求項11】
産業プラントの制御方法であって、
前記産業プラントの複数のエンジニアリングデータソースからデータを入力するプロセスであって、前記データには構造化データと非構造化データとを含む、プロセスと、
前記構造化データおよび前記非構造化データから1つ以上のドメインエンティティを抽出するプロセスと、
前記構造化データおよび前記非構造化データから前記1つ以上のドメインエンティティのインスタンスを抽出するプロセスと、
前記1つ以上のドメインエンティティおよび前記1つ以上のドメインエンティティの前記インスタンスに基づいて構築された意味モデルを受信するプロセスと、
前記意味モデルに基づいて知識グラフを作成し、記憶するプロセスと、
前記知識グラフから情報を抽出し、マシンインターフェース(HMI)表示を構築し、前記産業プラントのアプリケーションを制御するプロセスと、
を含む、制御方法。
【請求項12】
機械学習を使用して前記非構造化データから前記産業プラントの1つ以上の資産を抽出して、前記1つ以上の資産を認識するプロセスをさらに含む、請求項11に記載の制御方法。
【請求項13】
各資産を一意に識別する名称空間を使用して、前記産業プラントの1つ以上の資産を資産階層に記憶するプロセスをさらに含む、請求項12に記載の制御方法。
【請求項14】
資産レジストリのアプリケーションプログラミングインターフェース(API)を提供するプロセスをさらに含み、ユーザおよび外部システムが前記資産レジストリにアクセスして使用できるようにする、請求項13に記載の制御方法。
【請求項15】
前記複数の工学データソースからデータをさらに入力するプロセスは、アラームデータ、キャビネット負荷レポート、制御データベース、クロス配線レポート、フィールド配線インデックス、履歴データ、計器インデックス、資産階層、ネスト負荷レポート、プラント資産インデックス、プロセス制御ナラティブ、およびHMI仕様のうちの1つ以上を入力するプロセスを含む、請求項11に記載の制御方法。
【請求項16】
知識ベースを複数の相互リンクされたラベル付きプロパティノードとして表示するプロセスをさらに含み、各ノードはドメインエンティティを表す、請求項11に記載の制御方法。
【請求項17】
前記ノードがユーザによって選択されたときに、各ノードのプロパティおよび関係を表示するプロセスをさらに含む、請求項16に記載の制御方法。
【請求項18】
ユーザが自然言語クエリを使用して前記知識ベースの検索を実行できるようにするプロセスをさらに含む、請求項17に記載の制御方法。
【請求項19】
前記検索に応答するノードを、前記ノードが共通に共有する資産とともに表示するプロセスをさらに実行させる、請求項18に記載の制御方法。
【請求項20】
前記ノードの凡例を色分けベースで表示するプロセスをさらに含む、請求項19に記載の制御方法。
【請求項21】
請求項11~20のいずれか一項に記載の制御方法を1つ以上のプロセッサに実行させるためのコンピュータ可読命令を記憶するコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本特許出願は、2019年3月25日出願の「Systems and Methods for Performing Industrial Plant Diagnostics and Operations」と題する米国仮出願第62/823,469号、2019年5月3日出願の「Systems and Methods for Performing Industrial Plant Diagnostics」と題する米国仮出願第62/842,929号、および2019年3月25日出願の「Systems and Methods for Detecting and Predicting Faults in an Industrial Process Automation System」と題する米国仮出願第62/823,377号の優先権の利益を主張し、参照により本明細書に組み込まれる。本出願は、2018年6月28日出願の米国非仮出願第16/021,867号「Machine Learning Analysis of Piping and Instrumentation Diagrams」の主題にも関係し、その出願は、参照により本明細書に組み込まれる。
【0002】
本開示の態様は、一般に、産業プロセス自動化および制御システムに関する。より詳細には、本開示の態様は、工学ダイアグラムおよび他のエンジニアリングデータソースからプラント資産を抽出し、プラント資産からプラント資産階層を作成し、プラント資産階層および他の資産との資産関連付け関係からオントロジー知識ベースを構築し、プラント資産階層およびオントロジー知識ベースに基づいて、産業プロセス自動化および制御システムを制御するためのヒューマンマシンインターフェース(「HMI」)を提供するためのシステムおよび方法に関する。
【背景技術】
【0003】
プラントオペレータは、産業プラントが適切に動作することを保証することをタスクとしている。これは、例えば、プラントコンポーネント(例えば、ポンプ、バルブ、タンク、センサ)によってトリガされるアラームを監視し、対処すること、プラントコンポーネントに対して動作を実行すること(例えば、コンポーネントを停止し、コンポーネントを起動すること)、および一般にプラントの適切な動作を監督することを必要とする。これらのタスクを実行するために、プラントオペレータは、プラントコンポーネントと、プラントコンポーネントから収集されたデータの視覚的表現をプラントオペレータに提供するHMIを使用することができる。HMIによって、プラントオペレータは、プラントコンポーネントと相互作用することが可能になり得る(例えば、コンポーネントをシャットダウンするなどの動作を実行するために)。
【0004】
HMIは、特定のプラントのために設計されて、そのプラント内のコンポーネントを捕捉し、プラントの動作に使用されるデータを表示し、プラントオペレータが望み得る動作を開始するためのインターフェースを提供することができる。HMIの設計は、費用は高くなり、多大な時間を要することがあり、プラントおよびプロセスエンジニアリングの専門知識を必要とすることがある。今日、プラントHMIは、プロセス定義に焦点を当てたプロセス中心アプローチを使用して作成される。一方、プラントオペレータは、自動化制御定義に焦点を当てたプラント(例えば、プラント、エリア、ユニット、機器、デバイス、特定の機器の設定点など)で、より資産中心のビューを有する。したがって、プラントオペレータは、現在のプラントのHMIが直観的でなく、使用に難があると思うことがある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、産業プラントの試運転および動作の分野において、改善が必要とされている。
【課題を解決するための手段】
【0006】
本開示の実施形態は、産業プロセス自動化および制御システムを制御するためのシステムおよび方法を提供する。本方法およびシステムは、自動的に、機械学習(ML)モデルおよびアルゴリズムを使用することによって、工学ダイアグラムおよび他のプラントエンジニアリングデータソースからプラント資産を抽出し、プラント資産レジストリを作成し、プラント資産から資産階層を構築するために資産関係を確立し、プラント資産階層からオントロジー知識ベースを生成し、プラント資産階層およびオントロジー知識ベースに基づいて産業プロセスを制御するためのHMIを提供する。
【0007】
一般に、一態様では、本開示の実施形態は、産業プラントのための制御システムおよびそのための対応する方法に関する。制御システム(およびそのための方法)は、とりわけ、1つ以上のプロセッサと、1つ以上のプロセッサに通信可能に結合された記憶ユニットとを備える。記憶ユニットは、プロセッサ実行可能命令を記憶し、この命令は、1つ以上のプロセッサによって実行されると、制御システムに、産業プラントのユニットのための工学ダイアグラムを入力させ、工学ダイアグラムは産業プラントの資産を表すシンボルを含み、機械学習を使用して工学ダイアグラムから1つ以上の資産を抽出させ、その1つ以上の資産を認識させる。1つ以上の資産は、機器、計器、コネクタ、およびラインを含み、ラインは、機器、計器、およびコネクタを互いに関係付ける。プロセッサ実行可能命令は、また、制御システムに、機械学習を使用して、機器、計器、コネクタ、およびライン間での互いの1つ以上の関係を決定させ、その1つ以上の関係を認識させる。プロセッサ実行可能命令は、また、制御システムに、機器、計器、コネクタ、およびラインと、機器、計器、コネクタ、およびライン間の関係とからフローグラフを作成させる。
【0008】
前述の実施形態のいずれか1つ以上によれば、工学ダイアグラムから1つ以上の資産を抽出するプロセスは、幾何学ベースの抽出プロセスおよび機械学習ベースの分類プロセスを含む。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、機器、計器、コネクタ、およびラインのうちの1つ以上に基づいて、工学ダイアグラムから1つ以上の制御ループを抽出させる。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、工学ダイアグラムからユニット識別子を抽出させ、ユニット識別子は産業プラント内の複数のユニットの中から特定のユニットを一意に識別し、および/または前記工学ダイアグラムから図面番号および改訂番号を抽出するプロセスをさらに実行させ、図面番号は、産業プラントの複数の工学ダイアグラムの中から工学ダイアグラムを一意に識別し、改訂番号は、工学ダイアグラムに変更があるときはいつでもインクリメントされる工学ダイアグラムの改訂を示す。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、工学ダイアグラムからのユニット識別子を使用して、工学ダイアグラムの各機器、計器、コネクタ、およびラインに一意の識別子を割り当てさせる。前述の実施形態のいずれか1つ以上によれば、機器、計器、コネクタ、およびラインの間の1つ以上の関係を決定するプロセスは、ライン・ライングラフを生成するプロセス、機器・ライングラフを生成するプロセス、コネクタ・ライングラフを生成するプロセス、および計器・ライングラフを生成するプロセスを含む。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、ライン・ライングラフ、機器・ライングラフ、コネクタ・ライングラフ、および計器・ライングラフを互いにマージするプロセスを実行することによって、工学ダイアグラムのためのフローグラフを生成させる、および/または産業プラントのための複数の工学ダイアグラムからのフローグラフをマージして、産業プラントのためのフローグラフを作成するプロセスを実行させる。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、機器、計器、コネクタ、およびラインと、機器、計器、コネクタ、およびライン間の関係とを資産階層内に表示させる。
【0009】
一般に、別の態様では、本開示の実施形態は、産業プラントのための制御システムおよびそのための対応する方法に関する。制御システム(およびそのための方法)は、とりわけ、1つ以上のプロセッサと、1つ以上のプロセッサに通信可能に結合された記憶ユニットとを備える。記憶ユニットは、プロセッサ実行可能命令を記憶し、この命令は、1つ以上のプロセッサによって実行されると、制御システム。に、産業プラントのための複数のエンジニアリングデータソースから、構造化データおよび非構造化データを含むデータを入力させ、構造化データおよび非構造化データから1つ以上のドメインエンティティを抽出させる。プロセッサ実行可能命令は、また、制御システムに、構造化データおよび非構造化データから1つ以上のドメインエンティティのインスタンスを抽出させ、1つ以上のドメインエンティティおよび1つ以上のドメインエンティティのインスタンスに基づいて構築された意味モデルを受信させる。プロセッサ実行可能命令は、さらに、制御システムに、意味モデルに基づいて知識グラフを作成させ、記憶させ、知識グラフから情報を抽出させて、産業プラントのためのマシンインターフェース(HMI)表示および制御アプリケーションを構築させる。
【0010】
前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、機械学習を使用して、非構造化データから1つ以上の資産を抽出させ、前記1つ以上の資産を認識させ、および/または各資産を一意に識別する名称空間を使用して産業プラントの1つ以上の資産を資産階層に格納させる。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、制御システムに、資産レジストリのアプリケーション(API)のプログラミングインターフェースをさらに提供させ、ユーザおよび外部システムが資産レジストリにアクセスし、使用できるようにさせる。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、アラームデータ、キャビネット負荷レポート、制御データベース、クロス配線レポート、フィールド配線インデックス、履歴データ、計器インデックス、資産階層、ネスト負荷レポート、プラント資産インデックス、プロセス制御ナラティブ、およびHMI仕様のうちの1つ以上を入力することによって、複数のエンジニアリングデータソースからデータを入力させる。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、複数の相互リンクされたラベル付きプロパティノードとして知識ベースを表示させ、各ノードは、ドメインエンティティを表し、および/またはノードがユーザによって選択されたときに、各ノードのプロパティおよび関係を表示させる。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、制御システムに、さらに、ユーザが自然言語クエリを使用して知識ベースの探索を実行すること、探索に応答するノードをノードが共通に共有する資産とともに表示すること、および/またはノードの凡例をカラーベースで表示することを可能にするようにさせる。
【0011】
一般に、さらに別の態様では、本開示の実施形態は、産業プラントのための制御システムおよびそのための対応する方法に関する。制御システム(およびそのための方法)は、とりわけ、1つ以上のプロセッサと、1つ以上のプロセッサに通信可能に結合された記憶ユニットとを備える。記憶ユニットは、プロセッサ実行可能命令を記憶し、この命令は、1つ以上のプロセッサによって実行されると、制御システムに、産業プラントのための複数のエンジニアリングデータソースからデータを入力させ、機械学習を使用してデータから産業プラントの1つ以上の資産を抽出させ、1つ以上の資産を識別する。プロセッサ実行可能命令はまた、制御システムに、資産からHMI(ヒューマンマシンインターフェース)資産モデルを作成させ、HMI資産モデルは資産を階層構造に配置し、HMI資産モデルからHMI表示を生成させ、HMI表示は産業プラントの1つ以上の資産を表すシンボルと、資産間のプロセス、接続、およびデータリンクを表すラインとを表示する。プロセッサ実行可能命令は、また、制御システムに、HMI表示をユーザに表示させ、ユーザがHMI表示に沿って縦横にナビゲートすることを可能にし、HMI表示は、HMI表示上のユーザの位置の変化に基づいて、どの資産が表示されるかを動的に変更する。
【0012】
前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、産業プラントに対して現在発生している全てのアラームと、アラームに対応する資産とを識別させ、HMI表示に前記アラームを表示し、および/またはHMI表示をプラントレベルで表示させ、プラントレベルは、産業プラントおよびアラームに対応する資産について識別された全ての現在発生したアラームを表示する。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、ユーザがアラームに対応する資産を選択すると、アラームの潜在的な根本原因である資産を決定して、前記HMI表示に表示させ、制御システムは、アラームも有する互いに接続されている全ての資産を発見することによって、潜在的な根本原因である前記資産を決定する、および/または、ユーザがHMI表示上のアラームの根本原因を手動で修正することを可能にし、根本原因を制御システムへのフィードバックとして、ユーザから提供することを可能にする。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、HMI画面上のユーザの位置の変化に基づいて、HMI表示に表示された前記資産を自動的にズームインまたはズームアウトさせる。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、HMI表示に資産を二次元ビューとして表示させ、HMI表示は、ユーザが二次元ビュー内で縦横にナビゲートすることを可能にする。前述の実施形態のいずれか1つ以上によれば、プロセッサ実行可能命令は、さらに、制御システムに、資産で発生したアラームに基づいて、HMI表示に表示された資産を動的に変更させ、および/または資産階層内の資産の位置に基づいて資産に割り当てられた静的重みと、資産で発生しているアラームに基づいて資産に割り当てられた動的重みのうちの1つに基づいて、実行時に前記HMI表示に資産を表示させる。
【0013】
一般に、さらに別の態様では、本開示の実施形態は、1つ以上のプロセッサに、前述の実施形態のうちの任意の1つ以上による方法を実行させるためのコンピュータ可読命令を記憶するコンピュータ可読媒体に関する。
【0014】
上記で簡単に要約した本開示のより詳細な説明は、様々な実施形態を参照することによって行うことができ、そのいくつかを添付の図面に示す。添付の図面は、本開示の選択された実施形態を示すが、これらの図面は、その範囲を限定するものと考えられるべきではなく、本開示において、他の等しく効果的な実施形態を認めることができる。
【図面の簡単な説明】
【0015】
【
図1】本開示の実施形態による例示的なプラント資産階層を示す。
【
図2】本開示の実施形態に従って、プラント資産階層を構築するために使用することができる例示的な工学ダイアグラムを示す。
【
図3】本開示の実施形態に従って、プロセスに使用することができる例示的な産業プラント制御システムを示す。
【
図4】本開示の実施形態に従って、産業プラント制御システムとともに使用することができる例示的なインテリジェント処理モジュールを示す。
【
図5】本開示の実施形態に従って、産業プラント制御システムとともに使用することができる例示的なHMIアプリケーションを示す。
【
図6】本開示の実施形態による例示的なMLベースの資産抽出および関係構築を示す。
【
図7A】本開示の実施形態による例示的な矢印抽出を示す。
【
図7B】本開示の実施形態による例示的な矢印抽出を示す。
【
図8】本開示の実施形態による例示的なポンプ抽出を示す。
【
図9】本開示の実施形態による例示的なコネクタ抽出を示す。
【
図9A】本開示の実施形態による例示的なコネクタ抽出を示す。
【
図9B】本開示の実施形態による例示的なコネクタ抽出を示す。
【
図9C】本開示の実施形態による例示的なコネクタ抽出を示す。
【
図10A】本開示の実施形態による例示的なライン・ライングラフを示す。
【
図10B】本開示の実施形態による例示的なライン・ライングラフを示す。
【
図11】本開示の実施形態による例示的な機器抽出を示す。
【
図12A】本開示の実施形態による例示的な機器・ライングラフを示す。
【
図12B】本開示の実施形態による例示的な機器・ライングラフを示す。
【
図13A】本開示の実施形態による例示的なコネクタ・ライングラフを示す。
【
図13B】本開示の実施形態による例示的なコネクタ・ライングラフを示す。
【
図14A】本開示の実施形態による例示的な計器・ライングラフを示す。
【
図14B】本開示の実施形態による例示的な計器・ライングラフを示す。
【
図15A】本開示の実施形態によるPI&Dフローグラフを示す。
【
図15B】本開示の実施形態に従って除去されたデバイスを有する例示的なライン・ライングラフを示す
【
図16A】本開示の実施形態に従って除去されたデバイスを有する例示的なライン・ライングラフを示す。
【
図16B】本開示の実施形態によるPI&Dフローグラフを示す。
【
図17】本開示の実施形態による例示的な制御ループを示す。
【
図18】本開示の実施形態による、プラントエンジニアリングドメインオントロジーを構築するための例示的な方法を示す。
【
図19】本開示の実施形態による例示的なアラームデータを示す。
【
図20】本開示の実施形態による例示的なキャビネット負荷レポートを示す。
【
図21】本開示の実施形態による例示的な制御データベースを示す。
【
図22】本開示の実施形態による例示的なクロス配線レポートを示す。
【
図23】本開示の実施形態による例示的なフィールド配線インデックスを示す。
【
図24】本開示の実施形態による例示的な履歴データを示す。
【
図25】本開示の実施形態による例示的な計器インデックスを示す。
【
図26】本開示の実施形態による例示的な資産階層を示す。
【
図27】本開示の実施形態による例示的なネスト負荷レポートを示す。
【
図28】本開示の実施形態による例示的なプラント資産インデックスを示す。
【
図29】本開示の実施形態による例示的なプロセス制御ナラティブを示す。
【
図30】本開示の実施形態による、データ抽出のための例示的な表形式を示す。
【
図31】本開示の実施形態による、エンティティタイプを使用して意味モデルを構築するための例示的なユーザインターフェースを示す。
【
図32】本開示の実施形態による知識グラフを示す例示的なHMI表示画面を示す。
【
図33】本開示の実施形態による、ユーザクエリ結果を示す例示的なHMI表示画面を示す。
【
図34】本開示の実施形態による例示的なHMI設計仕様を示す。
【
図35】本開示の実施形態によるHMIモデルを構築するための例示的な入力を示す。
【
図36】本開示の実施形態によるアラームの根本原因決定を示す例示的なHMI画面を示す。
【
図37】本開示の実施形態によるプラントレベルアラームの集約を示す例示的なHMI画面を示す。
【
図38】本開示の実施形態に従って、HMI画面上のユーザ位置に従う例示的な動的ズーミングを示す。
【
図39】本開示の実施形態に従って、動的ズーミングを示す例示的なHMI画面を示す。
【
図40A】本開示の実施形態に従って、HMIによる例示的なプラントレベルアラーム集約を示す。
【
図40B】本開示の実施形態に従って、HMIによる例示的なプラントレベルアラーム集約を示す。
【発明を実施するための形態】
【0016】
可能であれば、図面に共通する同一の要素を示すために、同一の参照番号が使用されている。しかしながら、一実施形態で開示された要素は、特定の記載なしに他の実施形態で有益に利用されてもよい。
【0017】
この説明および添付の図面は、本開示の例示的な実施形態を示し、均等物を含む本開示の範囲を定義する特許請求の範囲を限定するものとして解釈されるべきではない。様々な機械的、構成的、構造的、電気的、および動作的な変化が、この説明および特許請求の範囲から逸脱することなく、均等物を含めてなされ得る。場合によっては、本開示を不明瞭にしないように、周知の構造および技術は、詳細に図示または説明されていない。さらに、1つの実施形態を参照して詳細に説明される要素およびそれらに関連する態様は、実用的である場合はいつでも、それらが具体的に図示または説明されていない他の実施形態に含まれてもよい。例えば、ある要素が1つの実施形態を参照して詳細に説明され、第二の実施形態を参照して説明されない場合、その要素は、それにもかかわらず、第二の実施形態に含まれるものとして特許請求することができる。
【0018】
ここで
図1を参照すると、本開示の実施形態に従って創出することができる種類の産業プラント資産階層100の一例が示されている。本明細書で使用される「プラント資産」という用語は、一般に、産業プラントで一般に使用される任意のプラントの機器、計器、それらのグループ、それらに関連するデバイスを指す。資産階層100の下部には、センサ、モニタ、アクチュエータなどの機器(O)102がある。機器102の直上には、容器、ヒータ、交換器、ポンプ、モータ、ミキサ等のような機器104がある。1つ以上の計器102は、1つ以上の機器104に接続して、混合、加熱、沸騰などのプラントプロセスにおける何らかのサブプロセスを実行する閉制御ループまたは開制御ループ106のいずれかを形成することができる。幾つかのタイプの機器104および計器102を組み合わせて、ガスシンセサイザユニットのように、プラントプロセス内で何らかの機能を果たすユニット(U)108を形成することができる。複数のこのようなユニット108がエリア(A)110を構成し、複数のエリア110がプラントサイト(S)112を構成し、複数のサイト112が企業(N)114を形成する。
【0019】
さらに、一般に、階層100内の各ノードは子および親を有することができるが、各子は、通常、1つの親しか有することができない。しかしながら、パイプやワイヤのような資産は、機器として扱うことができるので、2つの資産から/へ材料を運ぶパイプは論理的に2つのパイプに分割できる。デバイスまたは計器は、1つの機器にしか接続できない。そのような階層100は、論理的で、プラント制御システムにとってもプラントオペレータにとっても、非常に理解しやすく、使用しやすい方法で、プラント資産を配置し、編成する。
【0020】
図2は、本開示の実施形態に従って、資産階層100(またはその一部)を構築するために使用することができる例示的な工学図面または工学ダイアグラム200を示す。工学ダイアグラム200は、プラント内の種々の計器102(例えば、センサ)および機器104(例えば、容器)がどのように互いに接続されているかをグラフで表す、プロセスフローダイアグラム(PFD)または配管および計装ダイアグラム(P&ID)のような任意のダイアグラムであってよい。この例における例示的なダイアグラム200は、P&IDであり、各P&IDは、1つのユニット108を実装するために典型的に必要とされるデバイスまたは計器、機器、および他のコンポーネントを表す複数のシンボルを表示する。ダイアグラム200全体に配置されたコネクタ202は、個々のPI&D(すなわち、ユニット)がどのように接続されてエリア、サイトなどを形成するかを指定する。各ダイアグラム200は、また、典型的には、通常は右下隅に、情報ブロック204を有し、情報ブロック204は、図面識別子206、ユニット識別子、およびPI&Dを一意に識別するのに役立つ他の情報(例えば、改訂番号)を表示する。ここで明確に言及されていないPI&Dの他の周知の部分は、タグ番号、ライン(例えば、プロセス、電気、データリンクなど)、ループなどを含む。
【0021】
図3は、本開示の実施形態に従って、工学ダイアグラム200および他のプラントエンジニアリングデータソースを処理するために使用することができる例示的な産業プラント制御システム300を示す。図から分かるように、例示的なシステム300は、1つ以上のプロセッサ302、内部入力および/または出力(「I/O」)インターフェース304、およびメモリ306を含み、これらは全て、互いに通信可能に結合され、および/または電気的に接続される。これらのコンポーネントにより、システム300は、とりわけ、工学ダイアグラム200、ライン(例えば、プロセス、電気、データリンクなど)から様々な計器102、機器104、制御ループ106、ユニット108、エリア110、およびサイト112を抽出し、資産間の関係を確立して、プラント資産階層100を構築し、プラント資産階層100からオントロジー知識ベースを生成し、プラントオントロジ知識ベースを制御するためのHMIを提供することができる。
【0022】
システム300は、外部I/Oコンポーネント308に通信可能に結合され、および/または電気的に接続され得る。外部I/Oコンポーネント308によって、システム300はユーザおよび外部システムと対話し、通信することが可能になる。通信は、I/Oコンポーネント308に接続された1つ以上の通信網(明示せず)を介して達成することができる。通信網は、他のWAN、LAN、および/またはインターネットまたはイントラネットの一部を含む他の電気通信網に接続可能なワイドエリアネットワークおよび/またはローカルエリアネットワークを含むことができる。通信網は、例えば、IEEE802.3(例えば、イーサネット(登録商標))および/またはIEEE802.11(例えば、Wi-Fi)プロトコルに従って動作するものなど、データの交換を容易にする任意の電気通信網であり得る。別の実施形態では、通信網は、データがシリアルまたはパラレル通信チャネル(例えば、銅線、光ファイバ、コンピュータバス、無線通信チャネルなど)を介して物理的に転送されることを可能にする任意の媒体である。
【0023】
システム300の様々なコンポーネントの動作は、一般に当技術分野で周知であり、したがって、本明細書では簡単に言及するに過ぎない。プロセッサ302は、メモリ306に記憶されたプロセッサ実行可能命令を実行するように構成してもよい。メモリ306は、要求に応じてプロセッサ302にプロセッサ実行可能命令を提供するように構成してもよい。メモリ306に記憶された命令の中には、産業プラント制御アプリケーション310が含まれる。産業プラント制御アプリケーション310は、とりわけ、資産を抽出し、資産関係を確立し、資産階層を構築し、知識ベースを生成し、HMIを提供するために協働するいくつかの機能モジュールを含むことができる。これらの機能モジュールは、例えば、画像変換器312、フィルタリングアルゴリズム314、シンボル抽出器モジュール316、タグ前処理アルゴリズム318、タグ抽出器モジュール320、ルールエンジン322、ライン抽出器モジュール324、インテリジェント処理モジュール326、およびHMIアプリケーション328を含むことができる。
【0024】
画像変換器312は、工学ダイアグラム200を画像フォーマットに変換するように構成される。いくつかの実施形態では、画像変換器312は、ポータブルドキュメントファイル(PDF)または他の電子データ形式でダイアグラム200を取得し、そのダイアグラムを、ポータブルネットワークグラフィックス(PNG)、JPEG(Joint Photographic Experts Group)、GIF(Graphics Interchange Format)などの別の画像形式に変換する。いくつかの実施形態では、画像変換器312は、2つの画像ファイルを作成し、1つは表示用であり、1つは計算用である(例えば、フィルタリングアルゴリズム314、シンボル抽出器316、タグ前処理318、タグ抽出器320、ルールエンジン322、ライン抽出器324、およびインテリジェント処理326によって)。
【0025】
フィルタリングアルゴリズム314は、計算画像を処理して、その中のシンボルのおおよそのサイズを得るように構成される。例示的なシンボルには、計器、制御/表示素子、プログラマブルロジックコントローラ(PLC)、バルブ、ポンプなどのための国際自動化協会(ISA)規格に適合するものが含まれるが、これらに限定されない。いくつかの実施形態では、シンボルは、識別文字(例えば、「FIC」)およびタグ番号(例えば、「123」)を含む。シンボルのおおよそのサイズを得ることは、(例えば、異なるサイズのシンボルのための訓練データを生成することを回避するために)本明細書において後述されるように、(インテリジェント処理326を介して)機械学習目的のためにシンボルを正規化することを助ける。
【0026】
シンボル抽出器316は、画像から抽出されたシンボルを検出するように構成される。いくつかの実施形態では、シンボル抽出器316は、画像処理アルゴリズムを適用して、画像内のシンボルの可能性のある領域を識別し、次いで、総シンボル識別技法を介して画像内のシンボルタイプおよび位置を検出する。シンボル抽出器316は、検出されたシンボルの数を追跡し、所与の実行サイクル中に新しいシンボルが検出されたかどうかを決定するために、新しく検出されたシンボルのランニングカウントを維持する。
【0027】
タグ前処理318は、計算画像内の検出されたシンボルからシンボルラインを除去し、タグコンポーネントのみを残すように構成される。いくつかの実施形態では、これは、シンボルをセンタリングし、次いでシンボルからシンボルラインを除去し、タグコンポーネントのみを残すことを含む。接続された画素はクラスタ化され、標準テキストサイズより小さいものと、標準テキストサイズより大きいものは、全て除去される。画素の各クラスタには、処理目的のためにクラスタの周りの境界を定義する境界ボックスが割り当てられる。次に、タグ前処理210は、縦方向に、左から右への順序で、同じレベルの境界ボックスを発見する。これにより、タグ前処理210は、タグ以外の画素およびノイズを除去することができる。
【0028】
タグ抽出器320は、タグ名およびタグ番号のように、計算画像内のシンボルのタグコンポーネントを抽出するように構成される。場合によっては、タグ名および/またはタグ番号内の隣接する文字が互いに結合され、分離される必要がある。これらの場合、タグ抽出器320は、タグの文字の縦方向ギャップをチェックし、文字をセグメント化し、その後、機械学習技法を使用して(インテリジェント処理326を介して)文字認識を実行する。縦方向ギャップが存在しない場合、タグ抽出器320は、所与の文字セットの幅対高さの比が所定の閾値(例えば、0.6など)よりも大きいかどうかを決定する。幅対高さの比が所定の閾値より大きい場合、タグ抽出器320は、縦方向の画素密度を使用してセグメント化を適用する。白画素のピークを示すエリアは、連結された文字に分割された潜在的なエリアである。その後、タグ抽出器320は、機械学習技法を用いて文字認識を行う。
【0029】
ルールエンジン322は、1つ以上のルールに基づいて、計算画像から抽出されたタグを検証するように構成される。いくつかの実施形態では、ルールは、ISAシンボル標準に基づいており、2つのカテゴリ、すなわち、重大なコンプライアンスチェック(例えば、赤色カテゴリ)と、軽微なコンプライアンスチェック(例えば、橙色カテゴリ)とに分割される。例示的な重大なコンプライアンスチェックには、シンボルが有効なタイプ(例えば、フィールドデバイス、制御室ディスプレイなど)のうちの1つであることを検証すること、およびタグ名が1つ以上の識別文字を有することを検証することが含まれるが、これらに限定されない。例示的なマイナーコンプライアンスチェックには、タグ名内の識別文字が数字をまったく含まず、タグ名内のタグ番号が端部以外のアルファベット文字をまったく含まないことを検証することが含まれるが、これらに限定されない。
【0030】
ライン抽出器324は、計算画像内のシンボル間のラインを抽出するように構成される。一部の実施形態では、抽出されたラインは、配管、プロセス接続、電気信号、空気圧信号、データリンク、充填システム用のキャピラリチューブ、油圧信号ライン、およびガイドされた電磁信号または音波信号などの配管および接続シンボルを含む。当業者によって理解されるように、幾何学的ラインフィッティングアルゴリズムを用いて、画像からラインが抽出される。一旦ラインが抽出されると、ラインの一部分は、(インテリジェント処理326を介して)1つ以上の機械学習モデルに供され、上述のようにラインのタイプを得る。モジュール312~324の動作に関するさらなる詳細は、上記の米国非仮出願第16/021,867号に見出すことができ、参照により本明細書に組み込まれる。インテリジェント処理326およびHMIアプリケーション328については、以下でさらに説明する。
【0031】
図4は、本開示の実施形態によるインテリジェント処理326の例示的な実装を示す。上述したように、このモジュール326は、計算画像内のシンボルを識別するために機械学習モデルおよびアルゴリズムを実施する。いくつかの実施形態では、インテリジェント処理326は、画像全体にわたってスライディングウィンドウを前進させることによって得られた画像の特定のエリアに深層ニューラルネットワークを適用する。
図4の例では、インテリジェント処理326は、データ入力コンポーネント402、1つ以上の機械学習モデル404、自動フィードバック/修正コンポーネント406、ユーザアプリケーション408、手動フィードバック/修正コンポーネント410、および分析器412を含む。
【0032】
一般的な動作では、データ入力コンポーネント402は、ダイアグラム(例えば、P&ID、PFDなど)を表すデータを受信し、適切な前処理の後、データを1つ以上の機械学習モデル404に供給する。機械学習モデル404は、機械学習および画像処理の技法を使用して、入力データから名称、番号、シンボル、ライン、ループなどの関連情報を抽出する。また、機械学習モデル404は、ノイズを低減し、精度を高めるために、画像処理および/または幾何学的アルゴリズムを使用してもよい。自動フィードバック/修正コンポーネント406は、機械学習モデル404から受け取った出力におけるエラーを検出するように構成されたルールおよびアルゴリズムを適用する。これらのエラーは、モデル出力を自動修正するために使用され、分析器412を介して機械学習モデル404にフィードバックされ、それによって機械学習モデル404の学習を更新する。次いで、自動フィードバック/修正コンポーネント406からの処理された出力は、ユーザアプリケーション408(例えば、HMIアプリケーション328)を介して検証のためにユーザに表示される。ユーザによってなされた修正は、手動フィードバック/修正コンポーネント410によって捕捉され、分析器412を介して機械学習モデル404にフィードバックされ、機械学習モデル404の学習を更新する。このようにして、インテリジェント処理326は、入力データの評価と、そこからの関連情報の抽出を連続的に発展させ、改善することができる。
【0033】
上述のように、インテリジェント処理326は、いくつかの実施形態では、得られた画像の特定のエリアに深層ニューラルネットワークを適用する。深層ニューラルネットワーク処理によって、シンボル候補のマルチクラス分類が行われる。いくつかの実施形態では、シンボルは、ISAシンボロジーごとに分類される。例示的なシンボルには、計器、制御/表示素子、プログラマブルロジックコントローラ(PLC)、バルブ、ポンプなどが含まれるが、これらに限定されない。いくつかの実施形態では、インテリジェント処理326は、様々なシンボル候補を認識するために、少なくとも3つのタイプの畳み込みニューラルネットワークを利用する。3つのタイプには、入力が単一または複数の文字であるかどうかを決定するディサイダーネットワーク、単一のアルファベットと数字を認識する単一の文字ネットワーク、複数の文字または単語を認識する複数文字ネットワークが含まれる。いくつかの実施形態では、インテリジェント処理326は、また、類似の文字を区別するために、例えば、大文字「I」を数字「1」から区別し、数字「0」を文字「O」から区別するために、文脈ベースの予測を利用する。
【0034】
図5は、本開示の実施形態に従うHMIアプリケーション328の例示的な実装を示す。HMIアプリケーション328は、一般に、ブロック504で始まり、プラント工学ダイアグラム(例えば、PI&D、PFDなど)を含む様々なプラントエンジニアリングデータソースからのデータを産業プラント制御システム300に入力する。ブロック506で、データを処理して、番号、数字、記号、ライン、ループなどの関連情報および資産をデータから抽出する。資産抽出は、インテリジェントプロセス316と、その中のMLモデルを介した機械学習を使用して行われる。本明細書に記載されるMLベースの資産抽出を使用してデータを処理することは、実用的な用途(例えば、特殊化された自動設計システムを使用する産業プラントのためのHMIの設計)を構成する。本明細書に記載される処理システムおよび方法は、ダイアグラム内のプラントコンポーネントを識別する画像認識モデルがより効率的で正確に実行できるようにすることによって、HMI設計のプロセスを改善し得る。これは、画像認識MLモデルによる正確な識別につながる可能性が高い前処理モジュールによって予め決定された画像を入力することによって達成することができる。これは、また、モデルのより良好な訓練を可能にし、したがって、モデルの精度をより良くすることができる。
【0035】
ブロック508において、抽出された資産および他の関連情報は、本明細書でより詳細に後述するように、資産階層を構築するための資産関係確立プロセスへの入力として使用される。資産関係の確立は、また、インテリジェントプロセス316と、その中のMLモデルを使用して行われる。本明細書で説明するMLベースの資産関係構築プロセスを使用して資産階層を構築することは、HMI設計の分野では、十分に理解されておらず、ルーチンではなく、または従来のものではない。本明細書で説明する方法およびシステムを使用して資産階層を構築することは、実用的な用途(例えば、特殊化された自動設計システムを使用する産業プラントのためのHMIの設計)を構成する。
【0036】
ブロック510において、資産階層を使用して、本明細書でより詳細に後述するように、意味モデルに基づいて知識グラフを作成することができる。本明細書で説明する方法およびシステムを使用して知識グラフを作成することは、HMI設計の分野では、十分に理解されておらず、ルーチンではなく、または従来のものではない。本明細書で説明する方法およびシステムを使用して知識グラフを作成することは、実用的な用途(例えば、特殊化された自動設計システムを使用する産業プラントのためのHMIの設計)を構成する。
【0037】
ブロック512において、知識グラフを使用して、本明細書でより詳細に後述するように、HMI資産モデルを(例えば、コンピュータを使用して自動的に)生成することができる。本明細書で説明する方法およびシステムを使用して知識グラフを生成することは、HMI設計の分野では、十分に理解されておらず、ルーチン的ではなく、または従来的ではない。本明細書で説明する方法およびシステムを使用して知識グラフを生成することは、実用的な用途(例えば、特殊化された自動設計システムを使用する産業プラントのためのHMIの設計)を構成する。
【0038】
ブロック514において、HMI資産モデルを使用して、本明細書でより詳細に後述するように、HMIを(例えば、コンピュータを使用して自動的に)提供または構築することができる。本明細書で説明する方法およびシステムを使用してHMIを生成することは、HMI設計の分野では、十分に理解されておらず、ルーチンではなく、または従来のものではない。本明細書で説明する方法およびシステムを使用してHMIを提供することは、実用的な用途(例えば、特殊化された自動設計システムを使用する産業プラントのためのHMIの設計)を構成する。
【0039】
図6は、
図5からの例示的なMLベースの資産抽出プロセス506およびMLベースの資産関係構築プロセス508をより詳細に示す。
【0040】
MLベースの資産抽出506は、一般に、工学ダイアグラム(例えば、PI&D、PFDなど)がPDFから画像フォーマットに変換されるブロック602から始まる。ブロック604において、ユーザは、各ダイアグラムが使用されているプラント、サイトおよびエリアを識別する情報を入力する。ブロック606において、ダイアグラム内の全てのテキストを発見し、ブロック608において、ダイアグラムに対するユニット識別子を発見する。
【0041】
いくつかの実施形態では、ユニット識別子を発見することは、「図面」または「ユニット」または「セクション」またはそれらの変化形などの特定のキーワードについて、ダイアグラムの情報ブロックまたはダイアグラムの他の事前定義された部分を検索することを含む。事前定義された部分は、以前のダイアグラムの分析に基づいて自動的に識別されてもよく(例えば、P&IDおよびPFDの幅の20%の幅を有する最も右のエリア、およびP&IDおよびPFDの高さの20%の高さを有する最も低いエリア)、あるいはその部分は、ユーザによって指定されてもよい。キーワード(例えば、「ユニット」)を発見すると、システムは、表がある場合、単語「ユニット」と同じセル内にあり得るキーワードに関連するテキストを確認する、または単語の右側、または単語の下にあってもよい。ユニットラベルが決定されると、決定されたラベルは、検証のためにユーザに表示されてもよい。いくつかの実施形態では、このプロセスは、比較的少数(例えば、約20)のダイアグラムに対して実行されてもよい。この場合、決定されたラベルの位置は、判定の妥当性検査を必要とすることなく、または示唆することなく、他のダイアグラムにおける後続のラベルを決定するために使用されてもよい。
【0042】
ブロック610において、ダイアグラム内の全てのデバイスおよび計器(例えば、タグ、バルブ、センサ、アクチュエータなど)が各ダイアグラムについて発見され、ブロック612において、発見された全てのデバイスおよび計器と、テキストが、ダイアグラムから除去されるか、さもなければ抑制される。このプロセスは、除去されるべきダイアグラムの特徴の周囲に境界ボックスを生成することと、全ての内部画素をダイアグラムの背景色(例えば、白または黒)に設定することとを含み得る。テキストおよびデバイスを除去することにより、ブロック614において、ダイアグラム中の全てのラインを発見することが容易になる。
【0043】
一部の実施形態では、ダイアグラム中のラインは、ダイアグラムを縮小し、グレースケールに変換することによって発見することができる。次いで、長い横線および縦線は、X軸およびY軸に沿って所定の長さ(例えば、ダイアグラムの幅および高さのそれぞれ7倍)よりも長く延びる黒い画素(白色背景の場合)を検出して、削除することによって除去されてもよい。これが行われると、黒い画素のクラスタを検索することで(白い背景の場合)、残りの横線および縦線が発見される場合がある。クラスタは、所定数未満の画素(例えば、4画素未満)によって分離された画素のグループである。クラスタは、発見されると、クラスタの全ての共線点を組み合わせることによって、横線および縦線を作成するように接続することができる。所定の長さ(例えば、16画素)よりも短いラインを除去することができる。ラインが除去される前にダイアグラムがスケーリングされる実施形態では、除去されたラインは、元のサイズにスケーリングバックされてもよい。これにより、プラントコンポーネント間の接続および関係を決定する際に、元のライン座標を記憶し、参照することができる。配管、プロセス接続、電気信号、空気圧信号、データリンク、充填システム用キャピラリチューブ、油圧信号線、およびガイド電磁信号または音波信号などの配管および接続シンボルを含む、種々のラインタイプを識別することができる。いくつかの実施形態では、上記のライン抽出は、幾何学的ラインフィッティングアルゴリズムを使用して行うことができる。
【0044】
ラインが抽出されると、ラインの一部分が1つ以上の機械学習モデルにかけられ、上述のようにラインのタイプが得られる。ある実施形態では、ライン抽出器は、ソフトウェア環境を介してライン抽出器を提供するために、記憶メモリデバイス上に具体化されたプロセッサ実行可能命令を含む。例えば、ライン抽出器は、プロシージャ、機能、ルーチン、方法、および/またはサブプログラムを含むプロセッサ実行可能命令として提供されてもよい。
【0045】
ブロック616に続き、ダイアグラム中の全ての矢印を各ダイアグラムについて発見することができる。このような矢印は、ダイアグラム中の流れ方向を示す。ダイアグラム中の矢印を識別するための例示的な技法を、
図7Aおよび
図7Bに関して説明する。
【0046】
図7Aおよび
図7Bを参照すると、例示的な矢印702が示されている。矢印702を分析するために、いくつかの実施形態では、
図7Aに示すような検出されたライン704には、例えば、所定数の画素幅(例えば、40画素)であるラインの方向に垂直な幅を有する境界ボックス706が割り当てられる。ライン704が矢印であるかどうかを決定するために、ラインの各端部上の2つの正方形708、710を、生成された境界ボックス706の高さに等しい辺の長さで描くことができる。いくつかの実施形態では、正方形708、710の辺は、異なる長さを有してもよい。正方形708、710のコンテンツは、矢じり712の存在および矢じりの方向を決定するように訓練された機械学習モデルまたはアルゴリズムを使用して分析することができる。MLアルゴリズムは、例えば、畳込みニューラルネットワークであってもよい。アルゴリズムのための訓練データは、特定のサイズ(例えば、40×40画素)によって、識別されたラインセグメントの頭部および尾部を切り取ることによって作成されてもよい。これらの切り取られた画像は、記憶され、後に左矢印、右矢印、上矢印、下矢印、または矢印なしとして分類され得る。この分類は、例えば、人間によって行うことができる。識別されたラインセグメントは、異なるソース(例えば、異なるクライアント)から受信したダイアグラムから選択されてもよい。いくつかの実施形態では、約200の訓練画像を訓練に使用することができる。両方の正方形708、710が矢じりを有する場合、矢印702は、双方向でと見なすことができる。2つの正方形708、710のうちの一方だけが矢じりを有する場合、矢印702は一方向と見なすことができる。
【0047】
図6に戻って参照すると、矢印が識別された後、ダイアグラム中の全ての機器(例えば、タンク、ポンプ、ボイラー、熱交換器など)が、ブロック618において、各ダイアグラムに対して発見される。次に、機器には、その機器を一意に識別するのに役立つ名称が割り当てられる。特定の産業に応じて、いくつかの命名規則のうちの1つを使用することができる。例えば、<機器のタイプ>-<機器の名称/ID>という命名規則を使用できる。ここで、ハイフンまたはスペースは区切り文字として機能する。上記の
図2の例では、容器に割り当てられた名称は「C-1119」であってもよい。ここで、Cは機器のタイプであり、1119はダイアグラム中の機器の識別子である。次いで、この名称は、検索目的のためにタンクのRegex(Regular Expression:正規表現)として保持され得る。同様の命名規則が、他のダイアグラムのコンポーネントに適用されてもよい。
【0048】
いくつかの実施形態では、機器を発見することは、幾何学的、すなわち幾何学ベースの識別情報アプローチを、機械学習、すなわちMLベースの分類と組み合わせる。
【0049】
機器の幾何学ベースの識別情報は、まず、プロセスを単純化するためにダイアグラムから全ての計器を除去し(例えば、計器をバックグラウンド化することによって)、次いで、1つ以上の基準を満たす全ての平行なラインを発見することによって実行される。次に、平行なラインを結ぶ経路を発見し、そのような平行なラインのペアを接続するために使用する。タンクは、例えば、平行なラインを探索し、1つ以上の基準を満たすラインのこれらのペアを接続することによって発見することができる。次いで、境界ボックスは、このように接続される各ペアの周りに定義されることがある。1つの基準は、2つのラインが互いに所定の距離内にあることを必要とし得る。いくつかの実施形態では、所定の距離は、2つのラインのより長い長さの約10%~120%の間であってもよい。このようなラインの最小長は、ダイアグラムの幅の約4%に設定することができる。このようなラインの最大長は、ダイアグラムの幅の約50%に設定することができる。このような2つの線の長さの差は、2つのラインのより長い長さの約15%未満であってもよい。2つのラインの開始点および終了点(すなわち、4つの点)は、ボックスを作成するために使用されてもよい。ボックスの幅および/または高さは、所定のパーセントだけ拡張されてもよい。例えば、幅対高さの比が約0.3未満である場合、幅は約80%だけ拡張されてもよい。幅対高さの比が約0.3~約0.4の間である場合、幅は約60%だけ拡張されてもよい。幅対高さの比が約0.4より大きい場合、幅は約40%だけ拡張されてもよい。ボックスが図形境界を越えて拡張される場合、拡張は図形境界で停止されてもよい。結果として得られる拡張ボックスは、境界ボックスであってもよい。タンクの画像は、境界ボックスで切り取られてもよい。いくつかの実施形態では、切り取られた画像境界は、例えば、1つ以上の辺の約4画素を白にすることによって消去することができる(背景が白の場合)。
【0050】
次いで、MLベースの分類を使用して、機器タイプを識別することができる。例えば、機械学習モデルまたはアルゴリズムを使用して、タンクの存在について得られた画像を分析し、タンクのタイプを識別することができる。MLモデルまたはアルゴリズムは、タンクを検出して、分類するように訓練することもできる。
【0051】
いくつかの実施形態では、結果として得られる画像は、モデルに入力されるべきかどうかを決定するために分析されてもよい。例えば、画像は、拡張境界ボックスを有し、その最大寸法がクラスタの非拡張境界ボックスの最大寸法よりも大きく、タンク識別プロセスにおいて先に識別された2つの平行なラインの始点および終点を含む、接続された画素(例えば、最大ギャップが約2画素の画素)を備えるクラスタを有する場合、モデルに入力されてもよい。いくつかの実施形態では、拡張された境界ボックスは、プロセスにおいて以前に識別された幅対高さの比に基づいて、拡張されていない境界ボックスの1つ以上の長さを拡張することによって生成され得る。モデルに入力される画像は、例えば、170×170画素の白黒画像であってもよい。モデルは、例えば、1950個の画像の訓練データセットで訓練することができる。代替または追加として、拡張訓練データを使用することができる。例えば、46312個の画像を訓練に使用し、2518個の画像を検証に使用することができる。以下の表1は、当業者によって理解されるように、例示的な訓練データ増強の詳細を示す。
【表1】
表1:例示的な訓練データの増強
【0052】
当業者は、また、上記の表、または類似の表を使用して、本明細書で説明される他のMLベースのプロセスのいずれかのための訓練データ増強を提供することができることを理解するであろう。
【0053】
次に、
図8を参照すると、ポンプなどの他の機器も識別され得る。ポンプは、ダイアグラム内の1つ以上の横線の終点を含む境界ボックスを作成することによって識別することができる。
図8は、例示的なポンプ800を示し、その周りに境界ボックスを作成することができる。境界ボックスを作成するために、黒い画素(例えば、P2)が発見されるまで、横線802の終点(例えば、P1)からライン802に垂直な各方向に画素を横断することができる。P1とP2との間の距離(例えば、D)を計算することができる。距離が所定の値(例えば、100画素と200画素)の間である場合、P1とP2が境界ボックスの対向する辺の中心にあるように境界ボックスを作成することができる。境界ボックスの幅は、距離Dに等しくてもよい。境界ボックスは、点P2に向かう長さの20%だけ拡張されてもよい。ダイアグラムは、境界ボックスで切り取られてもよい。接続された画素のクラスタは、画素のグループを作成することによって、切り取られた画像から生成されてもよく、その各グループは、全ての画素が横、縦または対角線に一緒に接続されている。所定の閾値(例えば、150画素)を超える長さまたは幅を有するクラスタについては、クラスタの面積を決定することができる。最大面積を有するクラスタは、例えば、クラスタ内のx座標およびy座標の最小値および最大値を発見することによって決定されるその境界ボックスを有することができる。x座標およびy座標の最小値は、境界ボックスの左上隅を決定することができる。x座標およびy座標の最大値は、境界ボックスの右下隅を決定することができる。画像は、このクラスタの境界ボックスで切り取られてもよい。得られた画像は、ポンプの存在およびそのタイプについて、例えば、ポンプを検出および分類するために訓練された機械学習アルゴリズムを使用して分析されてもよい。例えば、同様のCNNアーキテクチャを使用することができる。
【0054】
再び
図6に戻ると、ブロック620において、ダイアグラム中のコネクタおよびそれらの関連情報も識別され得る。上記から、コネクタは、異なるダイアグラムに配置されたコンポーネント間の接続を示すことを想起されたい。
【0055】
図9は、例示的なコネクタ902を示す。図から分かるように、コネクタ902の後端903(矢じりのない端)は、それに接続されたライン904を有し、流れが、ライン904上のソース識別子906によって識別されるコンポーネントから、コネクタ902上の宛先識別子908によって識別されるコンポーネントに発生することを示す。前端909に接続されたラインを有するコネクタ(矢印付きのエンド)は、流れが、コネクタ上のソース識別子によって識別されるコンポーネントから、ライン上の宛先識別子によって識別されるコンポーネントに発生することを示すことができる。コネクタ902内のコネクタ識別子910は、宛先識別子908で識別されたコンポーネントを含むダイアグラムのダイアグラム識別子(ユニットラベル)を示すことができる。同様に、コネクタ902内のコネクタ識別子910は、関連するソース識別子で識別されるコンポーネントを含むダイアグラムのダイアグラム識別子を示すことができる。コネクタは、約20画素~約40画素の間の長さを有する識別されたラインをフィルタリングすることによって識別され得る。例えば、4画素未満離れた始点、例えば4画素未満離れた終点を有するラインのペアが、それらのペアがコネクタの一部であるか否かを決定するために分析され得る。ペアの一方のラインの長さがそのペアの他方のラインの長さよりも長く、そのペアの間の距離が長い方のラインの長さの約0.1倍よりも大きく、約0.5倍未満である場合、そのペアを分析して、それらがコネクタの一部であるかどうかを決定することができる。両方のラインを含むぴったり合った境界ボックスを作成し、各辺を2つのラインの間の距離の半分だけ拡張することができる。結果として得られる3つの例示的なコネクタ画像が、
図9A、
図9B、および
図9Cに、それぞれ912、914、および916で示されている。得られた画像は、コネクタの存在および方向を識別するために訓練された機械学習モデルに入力されてもよい。
【0056】
ソース識別子906は、ユーザにとって見やすくするために目立つように表示されても、さもなければ強調表示されてもよいことに留意されたい。この技法は、ユーザの注意を特定の特徴に向けさせるために、HMI全体にわたって適用されてもよい。
【0057】
コネクタ902に関連する情報を識別するために、境界ボックス(明示的には示されていない)をコネクタ902内のテキスト910の周囲に生成して、それが接続識別子であるか否かを決定することができる。境界ボックスがコネクタ902の境界ボックスによって含まれている場合、テキストは、接続識別子910として識別されてもよい。コネクタ902の境界ボックスの上方に、例えば、コネクタ902の平行線(例えば、矢印に接続された2つの平行線)間の距離の4倍以内に位置するテキストは、908に含まれる宛先識別子として識別することができる。いくつかの実施形態では、その代替または追加として、単語「To」の前後のテキストは、それぞれ、材料名および宛先識別子908として識別されてもよい。この文脈では、材料名は、パイプまたは他の材料キャリアを通って流れる材料を識別してもよい。いくつかの実施形態では、その代替または追加として、単語「From」の前後のテキストは、それぞれ、材料名およびソース識別子として識別されてもよい。906に含まれるパイプ識別子を識別するために、コネクタ902の境界ボックスからのストライドをライン904の方向に取ることができる。いくつかの実施形態では、ストライドは、コネクタ902の境界ボックスの長さの2倍であってもよい。シフトされたコネクタの境界ボックスが単語の境界ボックスと交差するとき、その単語は、906に含まれるパイプ識別子として識別され得る。複数の単語の境界ボックスが交差する場合、文字数が最も多い単語が、906に含まれるパイプ識別子として識別される可能性がある。コネクタ902がその前端に接続されたラインを有する場合、前述の方法のうちの1つ以上を使用して、ソース識別子および/または宛先識別子を識別することができる。
【0058】
再び
図6に戻ると、MLベースの資産抽出プロセス506が終了した後、MLベースの資産関係構築プロセス508は、抽出された資産について開始することができる。抽出された資産間の関係を構築するこのプロセスは、ダイアグラムに示す接続(例えば、PI&D、VFDなど)を捕捉するライン接続性グラフを作成し、次いで、グラフをマージして、複合的なフローグラフを作成することを含むことができる。マージされるグラフは、機器に接続されたダイアグラムラインを表すグラフ、コネクタに接続されたダイアグラムラインを表すグラフ、および/または計器コンポーネント(例えば、タグ)に接続されたダイアグラムラインを表すグラフを含んでもよい。さらに、様々なコンポーネントがどのように接続されているかを容易に決定するために、ライン・ライン(ライン・ツー・ライン)グラフなどのライン接続性を生成することもできる。
【0059】
ブロック622では、ライン・ライン(ライン・ツー・ライン)グラフは、コンポーネントの境界ボックスに接続されたラインを検出し、そのようなラインを共線性または垂直性についてチェックすることによって生成することもできる。共線性または垂直性が検出され、1つのラインの始点または終点と、別のラインの始点または終点との間の距離が所定の値(例えば、32画素)未満である場合、ラインは、それらの端部が合致するように延長されてもよい。コンポーネント(例えば、機器)の一部を形成するラインは、コンポーネントの境界ボックス内にある両方のエンドポイントを有するラインを除去することによって除去することができる。ラインセグメントにインデックスを割り当て、ライン接続を追跡するために、ラインを分割することができる。ラインを2つのセグメントに分割することは、デバイス(例えば、タグ、バルブなど)がラインの上にある場合、特に有用である。これを行うために、縦線の始点および終点までの距離を横線から測定することができる。一部の実施形態では、横線の始点および終点は、この測定から除外することができる。測定された距離が所定の距離(例えば、32画素)未満である場合、横線と、縦線の始点または終点との間の最も近い点で横線に分割を行うことができる。縦線から横線の始点または終点までの距離が所定の数(例えば、32画素)未満である場合、縦線と横線の始点または終点との間の最も近い点で縦線に分割を行うことができる。いくつかの実施態様では、縦線から横線の始点または終点までの距離は、縦線の始点および終点を除外することができる。ラインには、インデックス番号を割り当てることができる。ラインがある点で分割されるとき、2つの新たに作成されたセグメントにインデックス番号を割り当てることができる。ライン接続を表す隣接行列を生成することができる。
【0060】
図10Aは、例示的な隣接行列1002を示す。隣接行列1002は、n×nのサイズを有することができ、ここで、nは、ラインの総数である。隣接行列1002の位置[第一のラインインデックス、第二のラインインデックス]の値は、第一のラインインデックスと第二のラインインデックスのラインが互いに接続されていないことを示すために「0」であってもよい。位置の値は、これらのラインが接続されていることを示すために「1」であってもよい。他の値も使用され得ることを理解されたい。したがって、隣接行列1002は、2つのラインが互いに接続されているかどうかを示すことができる。例えば、左から右に向かって、ノードL2はノードL1に「1」を有し、ノードL3はL2がL1およびL3に接続されていることを示す。ライン・ライングラフを構築するために、ノード・エッジ(ノード・ツー・エッジ)グラフを生成することができ、ここで、ラインインデックスにノードが割り当てられ、接続されたラインインデックスにノード間のエッジが割り当てられる。
【0061】
図10Bは、隣接行列1002に対応する例示的なライン・ライングラフ1004を示す。図において、ノードE1およびE2は2つの機器を表し、ノードL1、L2、L3、L4、およびL5はラインセグメントを表す。図から分かるように、ラインセグメントL1、L2、L3、L4、およびL5は、隣接行列1002によって反映されるように、E1とE2を一緒に接続する。
【0062】
図6に戻ると、ブロック624において、機器・ライン(機器・ツー・ライン)接続を表すグラフは、MLベースの資産関係構築プロセス508の一部として、ダイアグラムから生成することができる。いくつかの実施形態に従う機器・ライングラフを構築する例は、
図11および
図12A~
図12Bに示されている。
【0063】
図11は、例示的な1つの機器1102を示す。図から分かるように、境界ボックス1104は、計算目的のために機器1102の周りに配置されている。機器-ライングラフを構築するために、境界ボックスは、各辺の長さを、例えば、2.5%増加させることによって、各辺で拡張される。次に、拡張された境界ボックス内にある終点を有するライン1106が発見され、関連するノード(例えば、L1、L2、L3など)が各ラインに対して生成される。いくつかの実施形態では、2つのそのようなラインが互いに接続される場合、境界ボックスの拠点により近い終点を有するラインは、生成された関連するノードを有することができる。機器1102は、また、生成された関連するノード(例えば、E1、E2、E3など)を有することができる。その後、機器・ラインのペアには、関連するエッジ(例えば、(E1,L1)、(E2,L2)、(E3,L3))が生成されていることがある。
【0064】
図12Aは、機器・ライン接続を示す例示的な表を示す。この図は、機器1102およびラインセグメント1106に関連する様々なノード(例えば、L1、L2、L3など)および(例えば、E1、E2、E3など)を列挙する機器・ライン表1202と、これらのノードに関連するエッジ(例えば、(E1、L1)、(E2、L2)、(E3、L3など)を列挙するエッジ表1204とを示す。
【0065】
図12Bは、機器・ラインテーブル1202およびエッジ表1204に対応する例示的な機器・ライングラフ示す。図から分かるように、5つのエッジがあり、エッジ1、2、3、4、および5は、ラインL1、L5、L6、L7、およびL9が機器E1、E2、E3、およびE4に接続される5つの点を反映している。
【0066】
2つの機器の間の経路を発見するために、それらの機器に接続されたラインは、隣接行列1002と機器に接続されたダイアグラムラインを表すグラフ1206をマージすることによって識別されてもよい。2つの機器間に複数の経路が発見された場合、最短経路アルゴリズム(例えば、ダイクストラの最短経路アルゴリズム)をグラフ上で使用して、2つの機器間の経路を識別することができる。経路のラインに関連する矢印方向は、機器間の材料フローの方向を示し、どちらの機器が目的地であり、どちらの機器がソースであるかを示すことができる。
【0067】
もう一度
図6に戻ると、ブロック626において、コネクタ・ライン(コネクタ・ツー・ライン)接続を表すグラフは、MLベースの資産関係構築プロセス508の一部として、ダイアグラムから生成することができる。以下は、本開示の実施形態によるコネクタ・ライングラフを構築する例である。
【0068】
コネクタ・ライングラフを構築するために、
図9に関して説明したように、コネクタの周りに境界ボックスが配置される。次に、境界ボックスは、その長辺を、例えば、その長さの0.1倍だけ拡張させることができる。その拡張は、コネクタが入ってくるコネクタの場合、矢印の方向にあり、コネクタが出ていくコネクタの場合、反対方向にあり得る。次に、拡張された境界ボックス内にある終点を有するラインを識別することができる。次に、ノードをC1のようなコネクタのために生成することも、ノードをLc1のようなコネクタに接続されたラインのために生成することもできる。次に、(C1、Lc1)のようなコネクタ・ラインのペアのために、有向エッジを生成することができ、エッジ方向は、ラインがコネクタの頭部または尾部に接続されているかどうかによって決定される。機器がコネクタに接続されているかどうかを決定するために、最短経路アルゴリズム(例えば、ダイクストラの最短経路アルゴリズム)をグラフ上で使用して、機器に接続されたラインとコネクタに接続されたラインとの間の経路を決定することができる。接続を決定した場合、コネクタノードに接続されたエッジの方向を使用して、機器とコネクタとの間の流れの方向を決定することができる。
【0069】
図13Aは、コネクタ・ライン接続を示す例示的な表を示す。図は、コネクタおよびラインセグメントに関連付けられた様々なノード(例えば、C1、C2、Lc1、Lc2など)を列挙するコネクタ・ライン表1302と、それらのノードに関連付けられたエッジ(例えば、(C1、Lc1)、(C2、Lc2など)を列挙するエッジ表1304を示す。
【0070】
図13Bは、コネクタ・ライン表1302およびエッジ表1304に対応する例示的なコネクタ・ライングラフを示す。図から分かるように、ラインセグメントL1~L16によって、2つの機器E1とE2に接続された5つのコネクタC1、C2、C3、C4、およびC5が存在する。表1308は、グラフ1306を使用して生成される経路を示す。
【0071】
もう一度
図6に戻ると、ブロック628において、デバイスまたは計器・ライン(デバイス/計器・ツー・ライン)接続を表すグラフは、MLベースの資産関係構築プロセス508の一部として、ダイアグラムから生成することができる。以下は、本開示の実施形態によるデバイス/計器・ラインのグラフを構築する例である。
【0072】
デバイスまたは計器(例えば、タグ、センサなど)に接続されたラインを表すグラフは、デバイスの周りに境界ボックスを提供することによって生成され得る。次に、境界ボックス内にある終点を有するラインを識別することができる。境界ボックス当たり2つ未満のラインが発見された場合、境界ボックスの1つ以上の辺の長さを、例えば、50%だけ増加させることができる。次いで、ノードは、D1などのデバイスのために生成することができ、ノードは、L1などのデバイスに接続されたラインのために生成することもできる。計器とそれに接続されたラインとのペアは、生成された関連するエッジを有することができる。計器および1つの機器が接続されているかどうかを判定するために、最短経路アルゴリズム(例えば、ダイクストラの最短経路アルゴリズム)をグラフ上で使用して、計器に接続されているラインと機器に接続されているラインとの間の経路を決定することができる。
【0073】
図14Aは、デバイス/計器・ライン接続を示す例示的な表を示す。図は、デバイスおよびラインセグメントに関連する様々なノード(例えば、D1、D2、L1、L2、L3、L4、L5など)を列挙するデバイス/計器・ラインテーブル1402と、それらのノードに関連するエッジ(例えば、(D1、L1)、(D1、L2)、(D2、L3)、D2、L4)、(D2、L5など)を列挙するエッジ表1404とを示す。
【0074】
図14Bは、コネクタ・ライン表1402およびエッジテーブル1404に対応する例示的なデバイス/計器・ライングラフ1406および1408を示す。グラフ1406から分かるように、デバイスD1は、それに接続された2つのラインセグメントL1およびL2を有する。グラフ1408において、デバイスD2は、それに接続された3つのラインセグメントL3、L4、およびL5を有する。
【0075】
もう一度
図6に戻ると、これまでは、有向グラフ、すなわち、特定の流れ方向を有するグラフのみが論じられてきた。有向グラフに加えて、ダイアグラムの中に、無向グラフがあってもよい。任意のそのような無向グラフは、ブロック630において、MLベースの資産関係構築プロセス508の一部として、有向グラフに変更することができる。以下は、本開示の実施形態に従って、無向グラフを有向グラフに変更する例である。
【0076】
ライン・ライングラフ、機器・ライングラフ、デバイス・ライングラフなどのグラフに方向を割り当てるには、機器・ライングラフ内の全てのラインノードを識別する。これらのラインのそれぞれについて、ライン・ライングラフ内の全ての可能な経路は、コネクタまたは別の機器に接続されたラインまで横断される。次いで、経路をセグメントに分割することができ、これらのセグメント内のラインに方向を割り当てることができる。これは、接続されたコネクタの方向、矢印の存在、または隣接する経路内のライン(例えば、コネクタに接続されたライン)の方向に基づいて行うことができる。例えば、1つの経路がA->B->C->Dで、別の経路がA->B->Eの場合、これらの経路を3つの経路A->B、B->C->D、B->Eに分割する。次に、経路の方向を以下のように割り当てることができる。経路内のラインの1つがコネクタに接続されている場合、経路内の全てのラインに、コネクタの方向(入ってくるか、または出ていく)を割り当てる。経路内のラインの少なくとも1つが矢印を有する場合、その経路内の全てのラインに、矢印の方向を割り当てる。経路内のどのラインも矢印を有さず、その経路がコネクタに接続されていない場合は、コネクタに接続されている隣接経路をチェックし、隣接経路の方向を経路内の全てのラインに割り当てる。
【0077】
再び
図6に戻ると、ブロック612から、全てのデバイスおよび計器(ならびにテキスト)がダイアグラムから除去され、その結果、機器から機器への接続および機器からコネクタへの接続のみを示すライン・ライングラフが得られたことを想起されたい。ライン・ライングラフは、ブロック632において、MLベースの資産関係構築プロセス508の一部として、これらのデバイスおよび計器を含むように、更新することができる。これは、例えば、デバイスを、デバイスが除去された点に復元することによって行うことができる。
【0078】
図15Aは、
図6のブロック612に従って除去されたデバイスを有する、例示的なライン・ライングラフ1502およびエッジ・データ表1504を示す。これで分かるように、コネクタ(C)と機器(E)との間の点からデバイスを除去した。ここでは、2つの破線の円が入っており、対応する2つのエッジ、すなわち、エッジ5(L3、L6)およびエッジ6(L6、L7)で置換されている。
【0079】
図15Bは、同じ例示的なライン・ライングラフ1502およびエッジ・データ表1504を示すが、これは、デバイスを復元するために更新した後のものである。これで分かるように、2つのデバイス(D)がコネクタ(C)と機器(E)の間に配置され、2つのエッジ(L3、L6)と(L6、L7)を置換している。これによって、ライン接続性グラフは、機器・機器間およびコネクタ・機器間の接続だけでなく、デバイス・機器間、デバイス・コネクタ間、およびデバイス・デバイス間の接続も反映することができる。
【0080】
もう一度
図6に戻ると、ブロック634において、所与のダイアグラム(例えば、PI&D、PFDなど)について、そのダイアグラムについて生成された様々なライン接続性グラフを、MLベースの資産関係構築プロセス508の一部として、マージすることができる。例えば、ダイアグラムがPI&Dである場合、全てのライン接続性グラフをマージして、PI&Dフローグラフを作成することができる。
【0081】
図16Aは、MLベースの資産関係構築プロセス508によって所与のPI&Dについて生成された様々なライン接続性グラフをマージすることから生じる例示的なPI&Dフローグラフ1602を示す。このPI&Dフローグラフ1602は、その構成グラフとは異なり、PI&Dにおける全てのコネクタ、デバイスまたは計器、および機器を、それらの間の接続とともに含む。したがって、PI&Dフローグラフ1602は、所与のPI&Dから抽出された全ての資産間の関係を捕捉する。
【0082】
図16Bは、マージされたPI&Dフローグラフ1602のためのデータを含む例示的な表1604を示す。表1604は、所与のPI&Dのために、MLベースの資産関係構築プロセス508によって生成されたライン接続性グラフ(例えば、ライン・ライン、機器・ライン、コネクタ・ライン、デバイス・ラインなど)のそれぞれのノードおよびエッジを含む。テーブル1604は、マージされたPI&Dフローグラフ1602のノードおよびエッジも含む。次いで、そのような表は、HMIを生成することの一部として使用され得る。
【0083】
再び
図6に戻ると、ブロック636において、所与のダイアグラム(例えば、PI&D、PFDなど)の制御ループは、MLベースの資産関係構築プロセス508の一部として、マージされたPI&Dフローグラフ1602に追加することができる。前述のように、制御ループは、プラントプロセスにおいて何らかのサブプロセスを実行し、閉制御ループでも開制御ループでもよい。殆どの制御ループは、センサ、アクチュエータ、コントローラなどを含め、一緒に動作するいくつかのデバイスを含む。制御ループには、一般に、簡単な制御ループと複雑な制御ループとの2つのタイプがある。簡単な制御ループは、入力、出力、およびコントローラを有するが、複雑な制御ループは、いくつかの簡単な制御ループから作られる。本開示の実施形態による制御ループを識別する例を
図17に示す。
【0084】
図17は、簡単な制御ループを含む例示的なダイアグラム1700の一部を示す。4つのシンボルは、例示目的のために識別され、1702、1704、1706、および1708とラベル付けされており、各シンボルは、デバイス(例えば、センサ、アクチュエータ、コントローラなど)または1つの機器のいずれかを表す。この例で制御ループを識別することは、シンボルの内側の全てのタグと、シンボルの外側の全ての単語を認識することから始まる。次に、シンボル外の各単語について、シンボルの内側の最も近いタグを発見する。例えば、1702のシンボルの場合、シンボルの内側の最も近いタグは「TIC 1803」である。所与のシンボルの場合、例えば、シンボルの幅の1.2倍を超える距離を有する全ての単語(すなわち、他のシンボルに関連する単語)は、無視することができる。次いで、単語は、ISAのような業界標準からの単語のリストに対して(例えば、ルールエンジンを使用して)チェックされ、例えば、アラーム、信号、タグなどを表すかどうかを決定する。単語がタグの場合、最も近いタグのタグ番号がその単語に割り当てられる。例えば、1702のシンボルの場合、タグ番号「1803」は、単語「TE」および「TT」に割り当てられて、「TE 1803」および「TT 1803」が生成される。次いで、これらのタグ付き単語は、シンボルのタグのリストに追加される。所与のシンボルのタグには、シンボルの内側と外側の全てのタグが含まれる。
【0085】
シンボルの内側と外側の全てのタグが認識されると、同じ開始識別文字と同じタグ番号を有する全てのタグがグループ化される。
図17の例では、タグ「TIC 1803」、「TV 1803」、「TE 1803」、「TT 1803」がグループ化されている。これらのタグは、ダイアグラム1700の抽出された資産として含めることができる簡単なループ1710を定義するために使用される。
【0086】
もう一度
図6に戻ると、ブロック638において、プラント資産は、その後のアクセスおよび使用を容易にするために資産レジストリに編成される。資産は、各資産を一意に識別するために、名称空間を使用して編成される。当業者が理解するように、名称空間は、オブジェクトを識別するために使用される名称のセットであり、したがって、異なる出所を有するが、名称が同じであるオブジェクトが一緒に混合されるときでも、曖昧さはない。
【0087】
ブロック640において、各ダイアグラムのマージされたフローグラフは、プラント全体の単一のプラントフローグラフを作成するために、MLベースの資産関係構築プロセス508の一部として、マージされてもよい。PI&DまたはPFDのようなダイアグラムは、1つのユニットを構成する計器またはデバイスおよび機器を表し、上述の資産抽出処理は、同じユニットプレフィックスを有し、したがって一意に識別可能な所与のユニットの機器名をもたらすことを想起されたい。デバイス名は、同様に、ユニット名にプレフィックスを付けることによって作成される。コネクタ名も、各コネクタ名がソース機器、宛先機器の名称、およびパイプ名を含むので、一意に識別可能である。
【0088】
ラインインデックスまたはインデックス番号(例えば、1、2、3など)は、各ダイアグラムに対してローカルであり、したがって、複数のダイアグラムにわたって一意に識別可能にされる必要がある。これは、例えば、ラインインデックスに、ユニット名または対応するダイアグラムと、それに続く図面番号とのプレフィックスを付けることによって行うことができる。例えば、ユニット名が「UNIT1」であり、ダイアグラム図面番号が「1116」である場合、ラインインデックス番号「15」を「UNIT1_1116_15」に変更することができる。
【0089】
プラント全体に対して単一のプラントフローグラフを作成するには、上述のように、プラント内の各ダイアグラムのフローグラフを生成することができる。必要に応じて、ラインインデックスは、上述のように、異なるダイアグラムにわたって一意に識別可能にされてもよい。次に、各ダイアグラムのフローグラフ(またはその表の表現)から全てのノードおよびエッジをプラントフローグラフ(またはその表の表現)に挿入することによって、様々なダイアグラムのフローグラフをマージすることができる。相互に直接接続されているダイアグラムには、同じ名称を有するコネクタノードがある。これが発生すると、重複するコネクタノードが除去され、除去されたコネクタによって接続されることになっていたラインを結合することによって、プラントフローグラフ内に新しいエッジが作成される。他の全てのノードおよびエッジは、同じままでなければならない。
【0090】
結果として生じるプラントフローグラフを使用して、
図1に示す資産階層100と同様の資産階層の視覚的表現を生成することができる。資産階層と、資産階層の基礎となる関係とは、産業プラント制御システム300によって後にアクセスして、使用するために、例えば、1つ以上のJSON(JavaScript(登録商標) Object Notation)ファイルに構造化データとして格納することができる。
【0091】
いくつかの実施形態では、産業プラント制御システム300を使用して、上述のように、資産階層および資産関係に関する構造化データをオントロジー知識ベースに組み込むことができる。次に、システムは、プラントエンジニアリングデータソース(プラントライフサイクルフェーズにわたって進化する)からプラントエンジニアリングドメインオントロジーを動的に構築する。これは、一般に、(1)非構造化データソースと機械学習技法からのメタデータを使用して、構造化データソースからドメインエンティティ(すなわち種類とデータ)を抽出すること、(2)エンティティタイプを使用して意味モデルを構築し、エンティティ間の関連付け関係を追加すること、(3)エンティティデータを動的に抽出し、セマティックモデルに基づいて知識グラフを構築すること、および(4)ユーザが資産名称空間と関係をナビゲートして関連情報を抽出する能力を提供すること、を含む。このような配置は、多くの利点を有する。
【0092】
1つの利点として、自動制御構成は、プロセスナラティブを使用して実行することができる。現在、制御構成は、時間を要し、強力な制御工学的背景を必要とする手動処理である。本明細書に記載の産業プラント制御システム300では、制御工学の概念に精通していない人も、システムを容易に構成することができなければならない。これは、プラントエンジニアが使う通常の言語で構成された「プロセスナラティブ」を使用することから生じる。システムは、プロセスナラティブを自動的に翻訳して、戦略および構成を制御する。プロセスナラティブは、AutomationML(IEC62714を参照)の「Asset.Operation」およびState Based Control(ISA106、ISA88、ISA95を参照)などの名詞と動詞のペアを活用することで、複数の制御ナラティブに変換できる。システムは、資産テンプレート、それらの関係、名称空間、制御戦略テンプレート、およびルールからの情報を使用して、処理ナラティブを制御ロジックに翻訳する。
【0093】
別の利点として、テストケースは、プロセスナラティブおよび文書化された検証に基づいて自動的に自動生成することができる。産業プラント制御システム300は、処理ナラティブ、制御構成、および資産オントロジーを使用して、テストケースを自動的に生成する。次に、システムは、制御アプリケーションを検証するために、プロセスをシミュレートするように自動化されたテストシナリオを実行する。
【0094】
ここで、
図18を参照すると、産業プラント制御システム300とともに使用され得る例示的方法1800について、フローチャートが示されている。この方法は、プラントエンジニアリングデータソースからプラントエンジニアリングドメインオントロジーを動的に構築するためのものである。この方法は、一般に、プラントエンジニアリングデータソースをシステムに入力するブロック1802で始まる。データソースは、上述のプラント資産階層および資産関係を生成するために使用されるPI&DおよびPFDも、AutoCAD、SmartPlant、およびAveva Engineeringのダイアグラムも含むことができる。他のプラントエンジニアリングデータソースは、シミュレーションモデル、計器インデックス、ケーブルスケジュール、I/O割り当てリスト、構成データ、クロス配線表、キャビネット負荷レポート、システム監査レポート、履歴データ、アラームおよびイベントなどを含むことができる。
【0095】
図19~
図29は、資産階層および/または知識グラフを生成するために使用され得る例示的なプラントエンジニアリングデータソースを示す。これらのプラントエンジニアリングデータソースは、当業者によく知られているように思われる。例えば、
図19は、1900に例示的なアラームデータを示す。
図20は、例示的なキャビネット負荷レポート2000を示す。
図21は、2100に例示的な制御データベースを示す。
図22は、2200に例示的クロス配線レポートを示す。
図23は、2300に例示的フィールド配線インデックスを示す。
図24は、2400に例示的な履歴データ(タグデータ)を示す。
図25は、2500に例示的な計器インデックスを示す。
図26は、2600に例示的な資産階層を示す。
図27は、2700に例示的なネスト負荷レポートを示す。
図28は、2800に例示的なプラント資産インデックスを示す。
図29は、2900に例示的なプロセス制御ナラティブを示す。HMI明細書(
図34参照)を含む、そのようなデータソースおよび他のプラントエンジニアリングデータソースは、次に、資産階層および/または知識グラフを生成するために使用され得る。
【0096】
図18に戻ると、ブロック1804において、システムは、プラントエンジニアリングデータソースからドメインエンティティと、ドメインエンティティのインスタンスとを抽出する。データソースには、構造化データソースと非構造化データソースが含まれる場合がある。例えば、エンティティ(タイプまたはクラスとも呼ばれる)、プロパティ(属性とも呼ばれる)、および関係は、データソースから抽出できる。エンティティは、オントロジーのドメインおよび範囲を指定するために使用されてもよく、プロパティの値は、オントロジーモデルの範囲を指定するために使用されてもよい。意味モデルは、オントロジーのドメインおよび範囲から構築されたトリプルのセットを含むことができる。トリプルは、主語エンティティ、述語関係または属性、および目的語エンティティまたは値を指定できる。主語エンティティは、オントロジーのドメインからのエンティティすることができる。目的語エンティティまたは値は、オントロジーの範囲からのエンティティまたは値とすることができる。エンティティおよび値のインスタンスは、データソースから抽出できる。例えば、意味モデルは、主語「Unit(ユニット)」、述語「has(有する)」、および目的語「Device(デバイス)」を有するトリプルを指定することができる。対応する主語および目的語のインスタンスを含むトリプルは、「Unit01」(エンティティ「Unit」のインスタンス)「has」(述語)「ControlValve01」(エンティティ「デバイス」のインスタンス)を含むことができる。
【0097】
プラントエンジニアリングデータソースから、構造化データソースと非構造化データソースとの両方のそれぞれに対して、複数のデータ抽出技術を使用することができる。システムは、ファイル形式またはデータベースタイプに基づいて、構造化データと非構造化データを区別できる。非構造化データファイル(例えば、電子メールメッセージ、ワープロ文書、ビデオ、画像、ウェブページなど)は、スキーマのないテキストおよびマルチメディアコンテンツを含むことが多いが、一方、構造化データファイル(例えば、スプレッドシート、CSVファイル、XMLファイル、RDBMS、時系列、グラフデータベースなど)は、スキーマまたはメタデータを含む。システムは、スキーマまたはメタデータを使用して、これらの構造化データソースからドメインエンティティを抽出できる。例えば、CSVファイル形式では、プレーンテキストデータは、コンマで区切られ、CSVファイルの各新しいライン(line)は新しいデータベース行(row)を表し、各データベース行はコンマで区切られた1つ以上のフィールドを有する。システムはこのスキーマを使用して、データソースからドメインエンティティを抽出できる。一例を
図25に見ることができ、ここでは、ドメインエンティティが、CSVフォーマットの例示的な計器インデックスデータソースから抽出された。このデータソースから抽出されたドメインエンティティおよび関連する関係の中には、表の第1行に示すように、プラント、エリア、ユニット、ループ、タグ、プロセス機能などがある。これらのドメインエンティティのインスタンスは、後続の行に表示される。
【0098】
P&ID、PFD、プロセス制御ナラティブ(PCN)、その他の画像または非構造化テキスト形式などの非構造化データの場合、機械学習を使用して、システムは、ドメインエンティティと、非構造化データソースから構造化データに関連する関係を抽出する。参考までに、プロセス制御ナラティブ(PCN)は、デバイスマウント制御、パネルマウント制御、PLC、HMI、および他のプロセッサベースのプロセス制御システムコンポーネントが、特定のプロセス、プロセスエリア、またはファシリティを制御および監視するようにどのように構成およびプログラムされるべきかを記述する機能命令である。PCNは、プロセス設計と制御システム設計との間の必須のリンクである。PCNの場合、システムは、名称付きエンティティ認識(NER)技法を使用して、ポンプ、バルブ、位置、アラーム状態などのドメインエンティティをプロセスナラティブから抽出する。NERは、非構造化テキストを使用した情報処理で使用される技法である。この技法は、テキスト内で、物、人名、組織、位置、時間表現、数量、金額、割合などの物の名称である単語のシーケンスをラベル付けする。
【0099】
図30は、表形式のファイルに抽出されたドメインエンティティタイプおよびインスタンスデータの一例を示す表3000である。表内のドメインエンティティのタイプは、コントローラ、化合物、ブロック、タグなどを含み、対応するインスタンスデータは、(第1行に)CP2801、CF101_011900、PT038、011900PV038などを含む。
【0100】
図18に戻ると、ドメインエンティティおよび関係が抽出されると、ブロック1806において、ユーザ(例えば、ドメインエキスパート)は、抽出されたエンティティタイプおよび関連する関係を使用して意味モデルを構築する。
図31は、意味モデルを構築するためにドメインエキスパートによって使用され得るユーザインターフェースの一例を示す。
【0101】
図31には、ユーザがデータソースから抽出されたエンティティ間の意味的関係を指定することのできるユーザインターフェース2100が示されている。このインターフェースから、ユーザは様々なデータソースからエンティティタイプを手動で参照し、意味モデルに必要なエンティティをフィルタすることができる。例えば、ユーザは、ソースおよびターゲットなどの2つのエンティティを選択し、その間に名称付き関係を作成することができる。スキーマは、論理モデルである概念レベルで定義できる。その後、ユーザは、データソースから抽出されたエンティティ間のドメイン固有の関係を定義できる。典型的な関係は、親子関係を表す「is-a(は…である)」であり、包含関係を表す「has-a(part-of)(は(…の一部)を有する)」などである。この例では、ユーザは、ソース「Plant(プラント)」がターゲット「Area(エリア)」に関連することを、関係「has Area(エリアを有する)」によって、指定している。ユーザは、エンティティ属性として追加のコンテキスト情報を追加することもできる。例えば、ユーザは、アラームエンティティの属性として、タイプ、深刻度、優先度を追加することができる。
【0102】
いくつかの実施形態では、ユーザによる定義の代替または追加として、意味的関係は、例えば、XML文書内のリレーショナルデータベース管理システム(RDBMS)タプル(tuples)または親子ノードで指定される主キーと外部キーとの関係から自動的に決定されてもよい。プロパティを追加して、追加のコンテキスト情報を提供することができる(例えば、エンティティ「アラーム」の場合、プロパティ「タイプ」、「深刻度」、または「優先度」を追加することができる)。結果として得られる意味モデルは、所定の規則セットに対して検証されてもよい。規則は、例えば、規格ISA-106(「連続プロセス動作のための手順自動化」)によって定義することができる。ISA-106を使用すると、規格は、「ユニットがデバイスを有する」ことを指定し、その逆ではないので、トリプル「Device has Unit(デバイスはユニットを有する)」は、検証中に修正のためにフラグを立てることができる。公開オントロジーと辞書ファイル中の語彙を、規格の代替または追加として、検証のために使うこともできる。
【0103】
図18に戻ると、意味モデルを構築すると、ブロック1808において、モデルを検証する。意味的検証とは、データ要素が論理的に有効であることを検証するプロセスを指す。例えば、Equipment-Has-Area(機器はエリアを有する)のようなデータ要素は、ISA106スキーマの下では、有効にならないであろう。その理由は、機器がエリアを有することがないからである(意味モデルは、典型的には、業界標準に従ってエンティティ関係タイプを標準化する)。いくつかの実施形態では、システムは、ブロック1806で作成されたエンティティ間のドメイン固有の関係を自動的に検証する。この目的のために、システムは、標準用語、その定義と、検証のための参照として使用することができる公開オントロジーおよび辞書ファイル中の語彙への参照とを維持することができる。システムには、ドメインエキスパートが手動でシステム生成関係を検証して、変更するオプションも用意されている。
【0104】
ブロック1810において、有効化された意味モデルをオントロジーを作成するために保存する。いくつかの実施形態では、意味モデルは、以下の周知の意味モデルフォーマット、すなわち、OWL/XML、JOSO-LD、およびRDF/JSONのうちの1つに従って保存される。代替として、意味モデルは、モデルをGaphSON形式のラベル付きプロパティグラフモデルに変換することによって保持できる。意味モデルがW3Cオントロジーに変換される場合、意味モデル知識グラフは、AllegroGraph、Stardog、またはAmazon NeptuneのようなRDFトリプルストアに保持できる。意味モデルがLPG(Labeled Property Graph)に変換される場合、知識グラフをGraphDB、もしくはNeo4j、またはAzure Cosmos DB などのグラフデータベース形式に保持できる。
【0105】
ブロック1812において、システムは、知識グラフを構築し、展開するために、意味モデルを使用することができる。上記で示唆したように、知識グラフは、基本的に、コンポーネント間の関係(すなわち、データの物理モデル)をナビゲートし、視覚化するために使用することができるグラフである。意味モデルは、概念レベル(例えば、「Area-has-Unit(エリアはユニットを有する)」)で知識グラフにおけるソースエンティティとターゲットエンティティ間の関係を定義する。システムは、オントロジークラスに関連するインスタンスを抽出し、関連する関係およびコンテキスト情報を使用して知識グラフを構築する。このように、知識グラフは、所望の情報を探索するユーザの能力を強化する、相互接続されたエンティティの収集を表す。知識グラフは、LPG、RDF、または同様のグラフモデルを使用してデータベースシステム内で表すことができる。知識グラフの例示的な視覚化を
図32に示す。
【0106】
図32を参照すると、知識グラフ3200の視覚化を見ることができる。その中で、エンティティおよび関係が複数のラベル付きプロパティノードとして示されており、そのうちの1つが3202で示されている。ノードとその関係の両方に名称が付けられ、キー/値のペアで表されるプロパティを格納できる。ノードには、類似したノードで簡単にグループ化できるように、ラベル付けすることができる。関係を表すエッジは、2つの主要な品質を有する。その2つとは、常に開始ノードおよび終了ノードを有することと、有向であり、グラフを有向グラフにすることである。関係もプロパティを有する。このことは、ノードの関係に追加のメタデータとセマンティクスを提供する場合に役立つ。凡例3204は、各ノード3202が、色分けベースで表すものの指示を提供する。例えば、青がタグインデックスリストを表し、緑がネスト負荷レポートを表し、橙がキャビネット負荷レポートを表すなどである。知識グラフ3200は、グラフビューオプション3206を選択することによって選択することができ、本開示の実施形態によるHMIから利用可能ないくつかの表示画面のうちの1つである。ユーザは、そのためのオプション、例えば、データをアップロードするためのアップロードデータオプション3206およびデータを検索するためのクエリエンジンオプション3208などを選択することによって、HMIから他の表示画面を選択することができる。
【0107】
図33は、本開示の実施形態による、HMIから利用可能なクエリ表示画面3300の一例を示す。この画面では、ユーザは、自然言語クエリを検索ボックス3302に入力することによって、データを検索することができる。例えば、ユーザは、検索ボックス3302に、クエリ「始動シーケンス中に予想されるアラームは何か」を入力することによって、通常のプラント始動プロセス中に典型的にトリガされるアラームをHMIに表示させるか、または他の方法で示すように求めることができる。応答として、HMIは、要求されたアラームを、アラームの識別子を表示することによって、グラフィカルに(破線の円を有するノード)、またはテキスト形式で表示することができる。ユーザは、ユーザが望むデータのタイプを表すノードを選択し、検索ボックス3302にドラッグすることもできる。示された例では、ユーザは、返された6つのアラームを、検索ボックス3302にドラッグアンドドロップすることができる。知識グラフのおかげで、HMIは、破線の円を有しないノードによって示される、6つのアラームの全ての共通資産を迅速に強調し、他の全てのノードをバックグラウンドにグレーアウトまたは抑制することができる。返される共通資産は、アラームが処理された制御プロセッサ、これらのアラームによって共有される資産、アラームを処理するI/Oモジュールなどを含むことができ、アラームの考えられる根本原因を示す。
【0108】
いくつかの実施形態では、ユーザおよびプラントオペレータは、動作を開始するためのコマンドを入力することもできる。HMIは、自然言語で書かれたコマンドを解釈することができる。例えば、「タンク01」とラベル付けされたコンポーネントの充填を開始するようにHMIに命令するために、指令「タンク01を充填する」をコマンドバー(明示せず)に入力することができる。
【0109】
図18に戻ると、オントロジーが構築されると、ブロック1814において、システムは、異なるアプリケーションがデータを消費するために、資産名称空間レジストリAPIを提供することができる。上記(
図6)から、プラント資産は、名称空間を使用して資産レジストリに編成されることを想起されたい。いくつかの実施形態では、RESTful Application Program Interface(例えば、Azure Active Directory Graph API)を生成して、ダウンストリームアプリケーションが知識グラフから情報を抽出できるようにしてもよい。
【0110】
ブロック1816において、システムは、ユーザがプロセスナラティブに基づいてデータを検索する方法を提供する。いくつかの実施形態では、ユーザは、データを検索するために自然言語の質問を使用してデータを検索してもよい。システムは、自然言語のクエリを、例えば、SPARQLクエリやGremlinクエリに変換できる。ダウンストリームアプリケーションは、例えば、変換されたプロセスナラティブおよび/または他の自然言語コマンドからコマンドを発行することができるHMIを含むことができる。
【0111】
ブロック1818において、プラント制御プロセスおよびプロセス用のHMIが設計および開発され(すなわち、制御およびHMIエンジニアリング)、ユーザが、システム300を使用して、プラントおよび種々のプラント資産を制御できるようにしてもよい。これは、HMI資産モデルを作成するために、資産モデルからプラント資産および資産関係を処理することを含む。HMI資産モデルは、本質的に離散的である(すなわち、個々のP&IDダイアグラムに基づいて作成される)従来の解決策とは異なり、資産を階層構造に配置する(
図37参照)。次いで、HMIは、HMI資産モデルを使用して、各資産についてのシンボルと、シンボル間に延在するプロセス、電気接続、データリンクなどを表すラインとを含む、プラントレベルでの二次元平面図に似た固有の連続HMI表示を自動的に作成することができる。次いで、プラントオペレータは、縦横にナビゲートすることができ、二次元ビュー上で(すなわち、Z軸に沿って)ズームインおよびズームアウトして、異なる資産を横切って移動し、それらの挙動を検証することができる。
【0112】
いくつかの実施形態では、HMIは、HMI画面上のユーザの位置の変化および実行時に生成されるアラームに基づいて、ユーザに表示される資産を動的に変更することができる。実行時に示されるHMI資産は、主に、(i)工学ダイアグラムで利用可能な資産階層詳細(例えば、PFD、P&IDなど)に基づいて資産に割り当てられる静的重み、および(ii)アラームを発する各機器に割り当てられる動的重みの2つの要因に基づいて決定することができる。したがって、実行時に、HMIは、より大きな重みを有する資産を含むビューを表示することができ、またはアラームがある場合には、アラームを有する資産を表示することができる。HMIは、アラームが最近発生した資産を含むようにビューを動的に変更することもできる。クリティカルな機器のアラームには、「ハイ」または「ハイハイ」インジケータ(例えば、感嘆符、赤色など)が付され、より焦点が当てられ、アラームチェーン全体が、実行時に最高の重みを取得する。HMIを設計するためには、HMIの設計仕様を確立する必要がある。
【0113】
図34は、本開示の実施形態によるHMIのための例示的な設計仕様3400を示す。仕様3400は、HMIが、プロセス機器の詳細および計装制御の詳細を含む特定のプロセス制御の詳細を、階層配置で表示することのできる、HMIのための階層構造を指定する。この例では、HMIは、いくつかの階層表示レベル3402、3404、3406、3408に配置される。レベル1は、動作KPI(キー性能インジケータ)、アラームカウンタ、バイパス信号カウンタ、トレンド、プラント全体のステータスなどの情報を含むプロセスエリアの概要を表示する。次のレベルであるレベル2は、コントローラ、アラーム、トレンド、およびステータスを含むプロセスユニット制御を表示する。次のレベルであるレベル3は、より小さい機器群、コントローラ、アラーム、トレンド、ESDディスプレイ、機器、診断、およびステータスを含むプロセスユニットの詳細を表示する。次のレベルであるレベル4は、インターロック、詳細、「ファーストアウト」、手順、文書化、およびヘルプを含むプロセスユニットサポートの詳細を表示する。他のHMI設計仕様は、アラーム優先色(例えば、赤、黄、橙など)と、ステータス(例えば、休止中など)および機能(例えば、フィードバック、トレンドラインなど)を示す色など、グラフィカルディスプレイに関連する仕様を含み得る。アイコン、シンボル、およびライン(例えば、実線、一点鎖線、点線など)の意味も、エンジニアリングユニット(例えば、メートル法、英語など)などとともに、指定することができる。次に、これらのHMI仕様を、上述のような様々なプラントエンジニアリングデータソースから抽出されたデータおよび情報とともに使用して、HMI資産モデルを構築することができる。
【0114】
図35は、本開示の実施形態による例示的なHMI資産モデル3500を示す。HMI資産モデルは、その名称が示唆するように、ユーザに表示するためにHMIによって処理され使用される資産モデルを備える。この目的のために、HMI資産モデルは、プラント資産および関係(資産階層)と、オントロジー知識ベースと、前述の様々なプラントエンジニアリングデータソースを含む。HMI資産モデルは、したがって、PFD3502(例えば、高レベル機器、計器、接続など)、PI&Dおよび計器インデックス3504(例えば、機器、計器、それらの間の関連付け、アラーム、配管、メンテナンスオーバライドグラフィックス(MOS)および原因および効果(C&E)の詳細など)、HMI仕様3506(例えば、ナビゲーション要件、アラーム集約、履歴、診断詳細など)、制御ナラティブ3508(例えば、パラメータ、設定点、アラーム、範囲、工学単位などの制御および監視)、および工学表示を介して(例えば、メンテナンス記録、以前の是正措置、ユーザ経験などから)捕捉された知識3510から構成される。このモデルは、様々なデータソースのコンテンツが変化し、資産が追加および/または削除されるにつれて自動的に更新されるので、このモデルは動的HMI資産モデルになる。
【0115】
HMI資産モデル3500(または、むしろそのコンテンツ)が確立されると、このモデルは、本開示の実施形態によるHMIを開発する際に使用され得る。HMI資産モデルに基づいてHMIを開発することは、様々な資産(例えば、計器、機器、それらの複合および組合せなど)のためのテンプレート3514を作成することを含むことができる。これらのテンプレートは、例えば、レベルシンボル(例えば、レベル2、レベル3など)、計器および機器の詳細な表示、計器の属性およびアクション、動画化されたスクリプト、制御工学テンプレート、ポンプ、バルブなどの統合された詳細を含み得る。HMI資産モデルからHMIを開発することは、他の資産モデル3516を作成することを含むこともでき、このモデルでは、全てのエリアおよびユニットがエリアオブジェクトとして表され、計器の各複合的および/または複雑な組合せは、それらのテンプレートからインスタンス化される。このプロセスは、いくつかの機器およびデバイスに、他の機器およびデバイスと比較して、より多くの重みを割り当てることを含み得、そのいくつかの機器およびデバイスは、グラフィック的に強調される。例えば、制御ナラティブを通して導入された新しい機器およびデバイスを追加してもよく、それに応じて、資産階層が調整されてもよい。機器およびデバイスは、これらの資産モデルにおけるこれらの関連付けに基づいて、グループ化されてもよい。
【0116】
上記に加えて、HMI資産モデルを使用して、様々なプラント資産の動作を制御する制御アプリケーションを構築することもできる。上述のように、プラント資産は、機械学習を使用して、工学ダイアグラムのような非構造化データから抽出し、1つ以上の資産を認識することができる。この手順は、動的HMI資産モデルを構築するために、機器、計器、コネクタ、およびラインのうちの1つ以上に基づいて、工学ダイアグラムから1つ以上の制御ループを抽出することもできる。次いで、自動制御生成手順を使用して、動的資産モデルから1つ以上の制御ループを読み取り、制御アプリケーションのための制御論理を生成することができる。制御ロジックは、制御アプリケーションを実際のプラント設備に接続して、制御アプリケーションが、機器、デバイス、計器等のプロセス値を読み取るか、またはそうでなければ取得し、動作を制御することを可能にする。換言すれば、HMIは、資産および資産関係を処理し、HMI資産モデルを作成し、資産を階層構造に配置する。このプロセスは、また、各HMI資産の属性を対応する制御I/Oリファレンスとリンクさせ、実行時に、オペレータがHMI内の制御アプリケーション内のバルブをオンにすると、その制御値が制御I/Oリファレンス(HMI資産内でリンクされている)を介してプラント内の対応するデバイスに伝播され、こうして、プラント内のバルブがオンになるようにする。
【0117】
次いで、HMI資産モデルから開発されたHMIをユーザが使用して、様々な表示を監視し、例えば、アラームの根本原因を容易に発見することができる。いくつかの実施形態では、そのようなHMIは、テキサス州ヒューストンのWonderware West社から入手可能なSystem Platform 2017 InTouch OMI(動作管理インターフェース)などのHMI開発プラットフォームを使用して開発することができる。当然、他のHMI開発プラットフォームを本開示の範囲内で使用することができる。
【0118】
次に
図36を参照すると、いくつかの実施形態では、本開示によるHMIは、様々なデバイスによって生じたアラームを処理し、アラームの根本原因を自動的に識別することができる。HMIは、主に2つの要因、すなわち(i)工学ダイアグラムで定義されるプロセス/材料フロー、および(ii)工学ダイアグラムおよび任意の管理ナラティブで定義される管理フローによって、アラームの根本原因を決定することができる。プロセスフローの場合、HMIは、最初に、異なるアラームを引き起こすデバイスノードを発見する。各デバイスノードについて、HMIは、デバイスノードに対応する機器ノードを検索する。その機器ノードについて、HMIは、アラームを発しているデバイスも有するその機器ノードに接続された任意の上流機器ノードを取り出す。このステップは、HMIが、アラームを有するデバイスが接続されていない接続された機器を発見するまで、隣接ノードについて繰り返される。これは、HMIが、アラームを有するチェーン内の最高レベルにある機器を発見することによって、アラームの根本原因を決定することのできるアラームのチェーンを生成する。
【0119】
図36の例では、プラントレベルでの二次元平面図が、資産を表すシンボル3602、3604、3606、および3608と、プロセス、電気接続、データリンクなどを表すシンボル間に延在するライン3610、3612、および3614とを含む画面3600上にHMIによって表示される。次いで、プラントオペレータは、横にナビゲートし、二次元ビュー内でズームインおよびズームアウトして、異なる資産を横切って移動し、それらの挙動を検証することができる。この例では、機器E1215(ポンプ)から機器E1214(ボイラー)に材料が流れ、機器E1214(ボイラー)の入口で圧力低下が生じている。圧力低下によって、機器E1214(ボイラー)入口のデバイス(測定器)によってアラームが発生する。問題は、機器E1215または機器E1209にある可能性がある。しかしながら、機器E1209にはアラームがないので、HMIは、問題が機器E1215(ポンプ)にあると決定する。この例では、機器E1215(ポンプ)のスループットが低下し、したがって、接続された下流機器E1214(ボイラー)で圧力低下が生じている。したがって、アラームはボイラーE1214での測定計器によって発せられるが、HMIは、このシナリオにおいてアラームの根本原因をポンプE1215として特定するであろう。HMIは、表示目的のためにこの機器に追加の重みを割り当て、この機器の隣にアラーム電球3616を配置する。HMIによって発見された他のアラームを表す他のアラーム電球は、3618に集約される。
【0120】
その後、HMIによって、プラントオペレータは、システムによって識別された根本原因の分析を修正することができる。例えば、オペレータは、システムで識別された根本原因の代わりに、異なる機器を手動で選択し、その機器をアラームの根本原因として設定することができ、いくつかの実施形態では、対応するアラームチェーンを手動で識別することもできる。オペレータが行ったこれらの修正は、システムにフィードバックして、機械学習アルゴリズムを動的に更新し、それによって、システムをより正確にして、その後のアラームの根本原因分析をおこなうことができる。
【0121】
ここで
図37を参照すると、いくつかの実施形態では、本開示によるHMIは、プラント内のアラームを集約し、集約されたアラームのプラントレベルのビューを示す表示画面3700を提供することができる。いくつかの実施形態では、システムは、アラームを生成する全ての機器のリストを取得し、リストから第一の機器を識別することによって、アラームを集約することができる。システムは、この機器を新たなアラームクラスタに追加し、近隣の機器もアラームを生成しているかどうかをチェックする。YESの場合、システムは、電流アラームクラスタに隣接機器を追加する。このプロセスは、全ての機器および隣接機器が処理されるまで、リスト上の次の機器を用いて繰り返される。プラントレベルで集約されたアラームは、図示の例では、画面3700の指定されたエリア(例えば、左上隅)に一連の電球3702として示されているが、アラームには、異なる位置、もしくは異なるアイコンまたはグラフィカルシンボルを使用することができることは確かである。電球3702のそれぞれは、プラント内でアラームが発生したそれぞれのコンポーネント(例えば、デバイス、機器など)に対応する。図から分かるように、アラームが発生した5つのコンポーネント3704a、b、c、d、eが存在し、各コンポーネントは、そのコンポーネントでのアラーム状態を示すために、電球アイコン3706が付されている。
【0122】
コンポーネント3704a~eのうちの1つを(例えば、タップ、ダブルクリックなどによって)選択すると、HMIは、どの下流コンポーネントがアラームの潜在的な根本原因であり得るかという情報も含め、そのコンポーネントに関する情報を表示する。いくつかの実施形態では、システムは、最も高い機器レベルでアラームを識別し、次いで、アラームをも有するこの機器に接続されたソース機器を発見することによって、アラームの潜在的な根本原因を決定することができる。次いで、システムはソース機器をドリルダウンして、アラームも有する接続された後続の機器を発見する。このプロセスは、アラームを有する最も下位で接続された機器を発見するまで繰り返される。
【0123】
図38は、資産階層画面上のユーザ/観察者の位置に従って、資産上で動的にズームイン(およびズームアウト)することができるHMIの実施形態を図式的に示す。階層画面上の観察者の位置は、主に2つの要因によって決まる。その2つとは、(1)画面座標(例えば、xおよびy座標)によって決まる地上の位置と、(2)観察者の地上からの高さである。画面上の観察者の位置に基づいて、資産モデルの周りの関連情報が表示のために提供される。例えば、ユーザがHMI画面に対してエリア1に位置し、機器5、機器3、デバイス2、およびデバイス4にアラーム状態がある場合を考える。この例では、HMI画面は、機器7、1、2、4、5、および6と、これらの機器に関する任意の関連情報を示すが、機器8、9、または3も、あるいは機器3に接続された任意のデバイスも示さない。ここで、ユーザがズームインして、ユーザの位置がユニット3にいると仮定する。この例では、HMI画面は、上記のように機器7、1、2、4、5、および6を示すが、機器8、9、または3も示す。ユーザが機器5にさらに移動すると、HMI画面は、デバイス1、2、3、4、および5と、これらのデバイスに関する任意の関連情報を示す。HMI画面は、ユーザのレベルを超える機器を自動的に除去する。
【0124】
図39は、本開示の実施形態に従って、ユーザ/観察者の位置に従って、資産を動的にズームイン(およびズームアウト)することができる例示的なHMI表示画面3900を示す。ユーザの現在位置およびプラント内の現在のアクティブアラームによって決定されるズームレベルに基づいて、動的HMI表示画面3900は、資産モデル周辺の関連情報を示す。
図39の左側の例では、HMI表示画面3900は、資産3902と3904との間の接続性を示す。中央の例では、ユーザがズームインしているので、HMI表示画面3900は、接続性を再マッピングして、画面上に追加の資産3906を示す。右側の例では、ユーザはさらにズームインしているので、HMI表示画面3900は、再び接続性を再マッピングして、画面上にさらに追加の資産3908を示す。
【0125】
次に、
図40Aおよび
図40Bを参照すると、本開示の実施形態によるHMIは、上述したプラントレベルのアラーム集約に加えて、エリアレベルでアラーム集約を行うこともできる。
図40Aは、そのようなHMIの例示的な実施形態をグラフで示し、HMIは、プラント資産の二次元図を使用して、エリアレベルのアラーム集約を示す。左側の例から始めて、ライン4002などの実線は、平面内の横方向接続性を示し、ライン4004などの破線は、複数の平面にわたる縦方向接続性(すなわち、二次元ビュー)を表す。図から分かるように、エリアレベル資産A1およびA2は、それぞれ、ハイアラームアイコンおよびクリティカルアラームアイコンによって示されるアラーム状態を有する。ユーザがA2を選択すると(例えば、タップ、クリックなどによって)、HMIは、ユーザを右側の例に導き、ここで、ユーザは、資産U3でクリティカルアラームを発見し、資産U2でハイアラームを発見する。
【0126】
ユーザがU2を選択した場合、HMIは、ユーザを
図40Bの左側の例に導き、ここで、ユーザは、機器U3E2でクリティカルアラームを発見する。ここから、ユーザは、U3E1およびU3E2を介してカスケード接続されたU2E1におけるクリティカルアラームのソースを視覚的に見ることができる。ユーザがU2E1を選択したと仮定すると、HMIは、ユーザを
図40Bの右側の例に導き、ユーザには、アラームを引き起こす問題のソースであるD1を含むデバイスレベル資産が示される。D1を選択すると、ユーザに、そのデバイスに関する情報、デバイスで見られる任意のトレンド、デバイスに利用可能な任意のサポートおよびガイダンス、およびデバイスについて捕捉された任意の知識を提供する。
【0127】
したがって、本明細書で説明したように、本開示の実施形態は、産業プロセス自動化および制御システムを制御するためのシステムおよび方法を提供する。これらの方法およびシステムは、自動的に、機械学習(ML)モデルおよびアルゴリズムを使用することによって、工学ダイアグラムおよび他のプラントエンジニアリングデータソースからプラント資産を抽出し、プラント資産レジストリを作成し、プラント資産から資産階層を構築するために資産関係を確立し、プラント資産階層からオントロジー知識ベースを生成し、プラント資産階層およびオントロジー知識ベースに基づいて産業プロセスを制御するためのHMIを提供する。
【0128】
本開示のそのような実施形態は、以下でより詳細に説明されるように、様々なコンピュータハードウェアを含む専用コンピュータを含むことがある。本開示の範囲内での実施形態は、コンピュータ可読媒体も含み、このコンピュータ可読媒体は、コンピュータ実行可能命令、または当該媒体に記憶されたデータ構造を担持または有している。そのようなコンピュータ可読媒体は、専用コンピュータによってアクセス可能な任意の入手可能な媒体であってよく、コンピュータ記憶媒体と通信媒体とを備える。例として、コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報についての記憶装置に関する任意の方法、または技術で実装される揮発性媒体および不揮発性媒体、並びに取り外し可能な媒体および取り外し不可能な媒体を含むが、これらに限定されない。コンピュータ記憶媒体は非一時的であり、ランダムアクセスメモリ(RAM)、読取専用メモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスクROM(CD-ROM)、デジタル多用途ディスク(DVD)、または他の光ディスク記憶装置、ソリッドステートドライブ(SSD)、磁気カセット、磁気テープ、磁気ディスク記憶装置、または他の磁気記憶装置、またはコンピュータ実行可能命令またはデータ構造の形態で、所望の非一時的な情報を伝送または記憶するために用いられることができる任意の他の媒体、コンピュータによってアクセスされることが可能な任意のほかの媒体を含むが、これらに限定されない。情報が、ネットワークまたは他の通信接続(有線か、無線か、または有線の組合せ、または無線の組合せのいずれか)を通じてコンピュータに送信される、またはコンピュータに提供される場合、コンピュータは、この接続をコンピュータ可読媒体であると適切にみなす。したがって、そのような任意の組合せは、コンピュータ可読媒体と適切に称される。上記の組合せもコンピュータ可読媒体の範囲内に含まれる。コンピュータ実行可能命令は、例えば、汎用コンピュータ、専用コンピュータ、または専用処理デバイスに一定の機能または機能のグループを実行させる命令、およびデータを含む。
【0129】
以下の考察では、開示の態様が実施され得る適切なコンピュータ環境についての簡潔で一般的な説明を提供することが意図される。必須ではないが、本開示の態様は、ネットワーク環境におけるコンピュータによって実行されるプログラムモジュールのような、コンピュータ実行可能命令の一般的な内容において説明される。一般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは特定のタスクを実行し、または特定の抽象データ型を実装する。データ構造に関連付けられたコンピュータ実行可能命令、およびプログラムモジュールは、本明細書で開示されている方法のステップを実行するプログラムコード手段の例を表す。そのような実行可能命令の特定のシーケンス、または関連付けられたデータ構造は、そのようなステップで説明された機能を実装するための対応する動作の例として表わされる。
【0130】
当業者は、本開示の態様が多くのタイプのコンピュータシステム構造を有するネットワークコンピュータ環境で実行され得ることを十分に理解し、これらには、パーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品もしくはプログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含む。本開示の態様は分散型のコンピュータ環境においても実行され、この分散型のコンピュータ環境では、タスクが、通信ネットワークを通じてリンクされる(有線リンク、無線リンク、または有線リンクの組合せ、または無線リンクの組合せのいずれかによって)ローカル処理デバイス、並びにリモート処理デバイスによって実行される。分散型のコンピュータ環境では、プログラムモジュールは、ローカル記憶装置デバイスと、リモート記憶装置デバイスとの両方に配置され得る。
【0131】
本開示の態様を実施する例示的なシステムは、従来のコンピュータの形態における専用コンピュータデバイスを含み、この従来のコンピュータの形態は、処理ユニット、システムメモリ、およびシステムメモリを含む様々なシステムコンポーネントを処理ユニットに結合するシステムバスとを含む。システムバスはいくつかのタイプの任意のバス構造を含むことがあり、このバス構造は、メモリバス、メモリコントローラ、周辺機器用バス、および任意の様々なバスアーキテクチャを用いたローカルバスを含む。システムメモリには、不揮発性メモリおよび揮発性メモリのタイプを含むコンピュータ記憶媒体が含まれる。起動時などにコンピュータ内の要素間で情報を送信するのに役立つ基本的なルーチンを含むベーシック入力/出力システム(BIOS)は、ROMに記憶されても良い。さらに、コンピュータは、任意のデバイス(例えば、コンピュータ、ラップトップ、タブレット、PDA、携帯電話、モバイル電話、多機能テレビなど)を含むことができ、これらのデバイスは、無線でIPアドレスをインターネットから受信すること、またはインターネットに送信することができる。
【0132】
コンピュータは、磁気ハードディスクから読み取り、それに書き込むための磁気ハードディスクドライブ、取り外し可能な磁気ディスクから読み取るため、またはそれに書き込むための磁気ディスクドライブ、およびCD-ROMもしくは他の光媒体のような取り外し可能な光ディスクから読み取るため、またはそれに書き込むための光ディスクドライブもまた含み得る。磁気ハードディスクドライブ、磁気ディスクドライブ、および光ディスクドライブは、ハードディスクドライブインターフェース、磁気ディスクドライブインターフェース、および光学ドライブインターフェースによって、システムバスにそれぞれ接続される。ドライブおよびその関連するコンピュータ可読媒体は、コンピュータ実行可能命令、データ構造、プログラムモジュール、およびコンピュータに対する他のデータについての不揮発性記憶装置を提供する。本明細書で説明される例示的な環境は、磁気ハードディスク、取り外し可能な磁気ディスク、および取り外し可能な光ディスクを用いるが、データを記憶する他のタイプのコンピュータ可読媒体を使用することができ、これらには、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、RAM、ROM、SSDなどを含む。
【0133】
通信媒体は、通常、搬送波または他の移送メカニズムのような変調されたデータ信号において、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを具現化し、任意の情報送達媒体を含む。
【0134】
1つ以上のプログラムモジュールを備えるプログラムコード手段は、ハードディスク、磁気ディスク、光ディスク、ROMおよび/またはRAMに記憶することができ、オペレーティングシステム、1つ以上のアプリケーションプログラム、他のプログラムモジュールおよびプログラムデータが含まれる。ユーザは、キーボード、ポインティングデバイスを介して、またはマイクロホン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなど他の入力デバイスを介して、コンピュータにコマンドおよび情報を入力することができる。これらおよび他の入力デバイスは、システムバスに結合されたシリアルポートインターフェースを介してプロセッサに接続されることが多い。あるいは入力デバイスは、パラレルポート、ゲームポート、USB(Universal Serial Bus)など、他のインターフェースで接続してもよい。モニタまたは他の表示デバイスもまた、ビデオアダプタなどのインターフェースを介してシステムバスに接続される。モニタに加えて、パーソナルコンピュータは、通常、スピーカおよびプリンタなど他の周辺出力デバイス(図示せず)も含む。
【0135】
本開示の1つ以上の態様は、アプリケーションプログラム、プログラムモジュール、および/またはプログラムデータとして、コンピュータ実行可能命令(すなわち、ソフトウェア)、ルーチン、またはシステムメモリもしくは不揮発性メモリに記憶された機能において、具現化され得る。代替として、ソフトウェアは、リモートアプリケーションプログラムを有するリモートコンピュータのように、リモートから記憶されることができる。一般的に、プログラムモジュールは、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含み、これらは、コンピュータのプロセッサまたは他のデバイスによって実行された時に、特定のタスクを実施し、または特定の抽出データ型を実行する。コンピュータ実行可能命令は、1つ以上の有形の非一時的なコンピュータ可読媒体(例えば、ハードディスク、光ディスク、取り外し可能な記憶媒体、ソリッドステートメモリ、RAMなど)に記憶されることができ、また1つ以上のプロセッサ、または他のデバイスによって実行され得る。当業者によって理解されるように、プログラムモジュールの機能は、様々な実施形態において要求どおりに結合され、または分散され得る。さらに、機能は、集積回路、アプリケーション特有の集積回路、およびフィールドプログラマブルゲートアレイ(FPGA)などのようなファームウェアまたはハードウェアと同等のものにおいて、全体的または部分的に具現化されることができる。
【0136】
コンピュータは、1つ以上のリモートコンピュータへの論理的接続を用いて、ネットワーク化された環境内で動作することができる。リモートコンピュータは、それぞれ別のパーソナルコンピュータ、タブレット、PDA、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードであってよく、またコンピュータに関連する上述の多数または全部の要素を一般的に含んでよい。論理的な接続には、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)が含まれ、本明細書において例として提示されるが、これらに限定されるものではない。そのようなネットワーク環境は、オフィス規模または事業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいてありふれたものである。
【0137】
LANネットワーク環境で使用される場合、コンピュータは、ネットワークインターフェースまたはアダプタを通じてローカルネットワークに接続される。WANネットワーク環境で使用される場合、コンピュータは、モデム、無線リンク、またはインターネットのような広域ネットワーク上で通信を確立する他の手段を含むことができる。内部モデムのことも、外部モデムのこともあり得るモデムは、シリアルポートインターフェースを介してシステムバスに接続される。ネットワーク化された環境において、コンピュータに対して表現されたプログラムモジュール、またはその一部は、リモートメモリ記憶デバイスの中に記憶することができる。示されたネットワーク接続は例示的なものであり、広域ネットワーク上で通信を確立する他の手段も使用され得ることが理解される。
【0138】
好ましくは、コンピュータ実行可能命令は、ハードディスクドライブのようなメモリに記憶され、コンピュータによって実行される。有利なことに、コンピュータプロセッサは、全ての動作(例えば、コンピュータ実行可能命令を実行する)をリアルタイムで実行する能力を有する。
【0139】
本明細書で図示され、説明された本開示の実施形態における動作を実行または実施する順序は、別途規定されていなければ重要でない。すなわち、動作は、別途規定されていなければ任意の順序で実行されてもよく、本開示の実施形態は、本明細書に開示された動作に、追加の動作を含んでも、またはより少ない動作を含んでもよい。例えば、特定の動作を別の動作の前に、別の動作と同時に、または別の動作の後に実行または実施することは、本開示の態様の範囲内であることが予期される。
【0140】
本開示の実施形態は、コンピュータ実行可能命令を用いて実行されることができる。コンピュータ実行可能命令は、1つ以上のコンピュータ実行可能なコンポーネントまたはモジュールに構造化され得る。本開示の態様は、そのようなコンポーネントまたはモジュールを任意の個数で、任意の構造を用いて実装されることができる。例えば、本開示の態様は、図面に示され本明細書で説明された特定のコンピュータ実行可能命令、または特定のコンポーネントもしくはモジュールに限定されない。本開示の他の実施形態は、本明細書に示され、説明されたよりも機能を多く、または少なく有する異なるコンピュータ実行可能命令、またはコンポーネントを含むことがある。
【0141】
本開示の態様の要素、またはその実施形態を取り入れる場合、冠詞「1つの(a、an)」、「その(the)」、および「前記(said)」は、その要素の1つ以上であることを意味することが意図される。「備える」、「含む」、および「有する」という用語は、包含的であり、列挙された要素以外の追加の要素が存在し得ることを意味することが意図される。本開示の態様を詳細に説明したことにより、添付の特許請求の範囲で定義された本開示の態様の範囲から逸脱することなく、改良および変形が可能であることは明白である。本開示の態様の範囲から逸脱することなく、上述した構造、製品、および方法に対して様々な変更をなすことが可能となるため、上述の説明に含まれ、添付の図面に示された全ての事項は、例示的なものとして解釈されるべきであり、限定的な意味において解釈されるべきではないことが意図される。
【国際調査報告】