(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-30
(45)【発行日】2024-10-08
(54)【発明の名称】データモデリングスタジオ、コンピュータシステム、及びコンピュータで実装される方法
(51)【国際特許分類】
G05B 23/02 20060101AFI20241001BHJP
【FI】
G05B23/02 T
(21)【出願番号】P 2023068712
(22)【出願日】2023-04-19
(62)【分割の表示】P 2021083649の分割
【原出願日】2014-03-17
【審査請求日】2023-04-19
(32)【優先日】2013-03-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー-ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100084995
【氏名又は名称】加藤 和詳
(72)【発明者】
【氏名】ニクソン、 マーク、 ジェイ.
(72)【発明者】
【氏名】ブレビンス、 テレンス
(72)【発明者】
【氏名】クリステンセン、 ダニエル ディーン
(72)【発明者】
【氏名】マストン、 ポール リチャード
(72)【発明者】
【氏名】ビューター、 ケン
【審査官】大古 健一
(56)【参考文献】
【文献】特開2012-138044(JP,A)
【文献】特開2004-199656(JP,A)
【文献】特開2003-050618(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 23/00 -23/02
(57)【特許請求の範囲】
【請求項1】
プロセスプラントデータベースに記憶したプロセスプラントからのプロセス制御データを分析して前記プロセス制御データに関する関係及び傾向を発見するコンピュータで実装される方法であって、
出力を生成するために1つ以上のデータソースに対して行われる第1の処理ルーチンを定義するデータモデルのユーザ選択を、ユーザインターフェースデバイスを介して受信するステップと、
1つ以上の記憶デバイス内の一体的論理ビッグデータ記憶領域を含む、前記プロセスプラントのビッグデータアプライアンスに記憶されたプロセス制御データ
の指示を表示するデータ探索インターフェースを生成するステップと、
ユーザインターフェースルーチンを介して、前記データモデルによって処理される入力を定義するプロセス制御データの選択を受信するステップと、
前記選択したプロセス制御データに対して前記データモデルを実行して前記出力を生成するステップと、
ユーザが、ユーザインターフェースデバイスを介して、前記データモデルの出力を閲覧することを可能にする
データ知識アプリケーションの出力探索インターフェースを生成するステップと、
を有し、
前記プロセス制御データ
の指示は、
前記プロセスプラントで使用するハードウェア及びソフトウェアモジュールを定義する構成データ、
前記プロセスプラントの中のハードウェア及びソフトウェアモジュール間の1つ以上の階層関係を定義する階層データ、
前記プロセスプラントの前記ハードウェア及びソフトウェアモジュール間の1つ以上の相互接続を定義する接続データ、
並びに
前記ハードウェア及びソフトウェアモジュールから記録される値に対応するプロセス測定データを含む、
前記コンピュータで実装される方法。
【請求項2】
前記ユーザインターフェースデバイスを介して、プロセスプラントで測定または生成されるオンラインまたは履歴プロセスパラメータデータを提供するデータソースを定義する、前記プロセス制御データのユーザ選択を受信することをさらに含む、請求項1に記載の前記コンピュータで実装される方法。
【請求項3】
1つ以上のプロセッサによって、前記データモデルの第2の実行への入力として前記データモデルの第1の実行の出力を使用して、前記データモデルを反復的に実行することをさらに含む、請求項1または2に記載の前記コンピュータで実装される方法。
【請求項4】
1つ以上のプロセッサによって、ユーザ対話を伴わずに、知識発見方法の反復の少なくとも1つを実行することをさらに含む、請求項1~3のいずれか1項に記載の前記コンピュータで実装される方法。
【請求項5】
前記データモデルによって2回目の実行の間に処理される第2の入力であって前記データモデルによって1回目の実行の間に出力された出力に基づく第2の入力を定義するプロセス制御データの第2のユーザ選択を受信すること、及び2回目の実行の間に前記データモデルを実行して前記第2の入力に基づいた第2の出力を生成することをさらに含む、請求項1~4のいずれか1項に記載の前記コンピュータで実装される方法。
【請求項6】
前記ユーザインターフェースデバイスを介して、データマイニングルーチン、データ前処理ルーチン、データマージングルーチン、または前記データモデルの前記出力に対して行われる機能、のうちの少なくとも1つを指定するデータモデルのユーザ選択を受信する
ことをさらに含む、請求項1~5のいずれか1項に記載の前記コンピュータで実装される方法。
【発明の詳細な説明】
【技術分野】
【0001】
本特許は、全般的に、プロセスプラント及びプロセス制御システムに関し、より具体的には、プロセスプラント及び/またはプロセス制御システムで、特に、ビッグデータアーキテクチャを実装するプロセス制御システムで、データ処理モデルを作成し、実行するためのデータモデリングスタジオの使用に関する。
【背景技術】
【0002】
化学、石油、または他のプロセスプラントで使用されるような分散型プロセス制御システムは、一般的に、アナログバス、デジタルバス、もしくは組み合わせたアナログ/デジタルバスを介して、または無線通信リンクもしくはネットワークを介して、1つ以上のフィールドデバイスに通信可能に連結された1つ以上のプロセスコントローラを含む。例えば弁、弁ポジショナ、スイッチ、及び送信機(例えば、温度、圧力、レベル、及び流速センサ)であり得るフィールドデバイスは、プロセス環境内に位置し、全般的に、弁の開放または閉鎖、プロセスパラメータの測定等の、物理的機能またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行する1つ以上のプロセスを制御する。よく知られているフィールドバスプロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスはまた、制御計算、警報機能、及び一般的にプロセスコントローラ内に実装される他の制御機能も行い得る。同じく一般的にプラント環境内に配置されるプロセスコントローラは、フィールドデバイスによって行われるプロセス測定値及び/またはフィールドデバイスに関する他の情報を示す信号を受信し、そして、例えばプロセス制御の決定を行い、受信した情報に基づいて制御信号を生成し、HART(登録商標)、WirelessHART(登録商標)、及びFOUNDATION(登録商標)フィールドバスフィールドデバイス等のフィールドデバイスで行われている制御モジュールまたはブロックと協調する異なる制御モジュールを動作させる、コントローラアプリケーションを実行する。コントローラの制御モジュールは、通信ラインまたはリンクを通じて、制御信号をフィールドデバイスに送り、それによって、プロセスプラントまたはシステムの少なくとも一部分の動作を制御する。
【0003】
フィールドデバイス及びコントローラからの情報は、通常、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポートジェネレータ、集中データベース、または一般的により厳しいプラント環境から離れた制御室または他の場所に配置される他の集中管理コンピューティングデバイス等の1つ以上の他のハードウェアデバイスに、データハイウェイを通じて利用できるようにされる。これらのハードウェアデバイスのそれぞれは、一般的に、プロセスプラント全体にわたって、または、プロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、プロセス制御ルーチンの設定変更、コントローラまたはフィールドデバイス内の制御モジュールの動作の修正、プロセスの現在の状態の確認、フィールドデバイス及びコントローラによって生成される警報の確認、人員の訓練またはプロセス制御ソフトウェアの試験の目的でのプロセスの動作のシミュレーション、構成データベースの維持及び更新等の、プロセスの制御及び/またはプロセスプラントの動作に関する機能を、オペレータが行うことを可能にし得る、アプリケーションを動作させる。ハードウェアデバイス、コントローラ、及びフィールドデバイスによって利用されるデータハイウェイは、有線通信経路、無線通信経路、または有線及び無線通信経路の組み合わせを含み得る。
【0004】
一例として、Emerson Process Managementによって販売されている、DeltaV(商標)制御システムは、プロセスプラント内の多様な場所に位置する異なるデバイス内に記憶され、それによって実行される複数のアプリケーションを含む。1つ以上のワークステーションまたはコンピューティングデバイスに常駐する構成アプリケーションは、ユーザが、プロセス制御モジュールを作成及び変更し、データハイウェイを介して、これらのプロセス制御モジュールを専用の分散型コントローラにダウンロードすることを可能にする。一般的に、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、該機能ブロックは、それに対する入力に基づいて、制御スキーム内で機能を行い、制御スキーム内の他の機能ブロックに出力を提供する、オブジェクト指向プログラミングプロトコルにおけるオブジェクトである。構成アプリケーションはまた、構成の設計者が、視聴アプリケーションによって、データをオペレータに表示し、オペレータがプロセス制御ルーチン内の設定点等の設定を変更することを可能にするために使用される、オペレータインターフェースを作成または変更することも可能にし得る。各専用のコントローラ、及びいくつかの事例では1つ以上のフィールドデバイスは、そこに割り当てられ、ダウンロードされた制御モジュールを動作させて、実際のプロセス制御機能性を実装する、それぞれのコントローラアプリケーションを記憶し、実行する。1つ以上のオペレータワークステーション上(または、オペレータワークステーション及びデータハイウェイと通信接続している1つ以上のリモートコンピューティングデバイス上)で実行され得る視聴アプリケーションは、データハイウェイを介して、コントローラアプリケーションからデータを受信し、そして、ユーザインターフェースを使用して、このデータをプロセス制御システム設計者、オペレータ、またはユーザに表示し、また、オペレータの見解、エンジニアの見解、技術者の見解等の、いくつかの異なる見解のいずれかを提供し得る。データヒストリアンアプリケーションは、一般的に、データハイウェイ全体にわたって提供されるデータの一部または全部を収集し、記憶する、データヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションは、データハイウェイに取り付けられたなおさらなるコンピュータで動作して、現在のプロセス制御ルーチンの構成及びそれと関連付けられるデータを記憶し得る。あるいは、構成データベースは、構成アプリケーションと同じワークステーションに位置し得る。
【0005】
現在知られているプロセス制御プラント及びプロセス制御システムのアーキテクチャは、限定されたコントローラ及びデバイスメモリ、通信帯域幅、ならびにコントローラ及びデバイスプロセッサの能力に強く影響を受ける。例えば、現在知られているプロセス制御システムアーキテクチャにおいて、コントローラにおける動的及び静的不揮発性メモリの使用は、通常、最小にされるか、または少なくとも慎重に管理される。その結果、システム構成中に(例えば、演繹的に)、ユーザは、一般的に、コントローラのどのデータをアーカイブまたは保存するか、保存する際の頻度、及び圧縮が使用されるかどうか、を選択しなければならない。その後に、コントローラは、それに応じてこの限られた1組のデータルールで構成される。結果的に、トラブルシューティング及びプロセス分析に有用であり得るデータは、しばしばアーカイブされず、該データが収集される場合、データ圧縮のため、有用な情報が失われている場合がある。
【0006】
追加的に、現在知られているプロセス制御システムのコントローラのメモリ使用量を最小にするために、(コントローラの構成によって示されるように)アーカイブまたは保存される選択データが、適切なデータヒストリアンまたはデータサイロでの記憶のために、ワークステーションまたはコンピューティングデバイスに報告される。データを報告するために使用される現在の技法は、通信リソースを十分に使用しておらず、過剰なコントローラ負荷を生じさせる。追加的に、ヒストリアンまたはサイロでの通信及びサンプリングにおける時間遅延のため、データ収集及びタイムスタンピングは、しばしば、実際のプロセスと同期しない。
【0007】
同様に、バッチプロセス制御システムでは、コントローラメモリ使用を最小にするために、コントローラ構成のバッチレシピ及びスナップショットは、一般的に、集中管理コンピューティングデバイスまたはある場所(例えば、データサイロまたはヒストリアン)に記憶されたままであり、必要なときにだけコントローラに転送される。そのようなストラテジは、コントローラに、及びワークステーションまたは集中管理コンピューティングデバイスとコントローラとの間の通信に、多大なバースト負荷を導入する。
【0008】
さらに、以前のディスク記憶装置の高いコストと組み合わせた、現在知られているプロセス制御システムのリレーショナルデータベースの能力及び性能の限度は、特定のアプリケーションの目的に合わせるために、データの取り出し及び記憶を独立したエンティティまたはサイロに構造化する際に大きな役割を果たす。例えば、いくつかの現在のシステム内での、プロセスモデル、連続する履歴データ、ならびにバッチデータ及びイベントデータのアーカイビングは、3つの異なるアプリケーションデータベースまたはデータのサイロに保存される。各サイロは、そこに記憶されたデータにアクセスするために、異なるインターフェースを有する。
【0009】
このようにしてデータを構造化することは、履歴化したデータにアクセスし、使用する様式に障壁を生じさせる。例えば、製品品質のばらつきの根本的原因は、これらのデータサイロのうちの1つ以上に記憶されたデータと関連付けられ得るか、または該データによって決定され得る。しかしながら、サイロの異なるファイル構造のため、分析のためにこのデータに迅速かつ容易にアクセスすることを可能にするツールを提供することは、不可能であるか、または少なくともそれほど容易ではない。さらに、異なるサイロにわたるデータが整合していることを確実にするために、監査機能または同期機能を行わなければならない。
【0010】
上で論じられる現在知られているプロセスプラント及びプロセス制御システムの限度、及び他の限度は、データモデルの構成または作成のためのデータの収集において、それら自体を不所望に呈し得、該データモデルは、プロセスの動作をモデル化もしくは推定する、または収集したプロセスデータを使用して、もしくは実際のもしくはシミュレーションしたプロセスからのプロセスデータに基づいて、プロセスのいくつかの態様の分析を行う、任意のルーチンを含み得る。現在知られているシステムは、ユーザが望むデータを収集すること、及び所望のデータを収集するためにプラント装置を構成することをユーザに要求する。ユーザが、その後に追加的なデータが必要であると判断した場合、ユーザは、新しいデータを収集するためにプラントを再構成し、また、新しいデータを収集するためにプラントを運営しなければならず、これは、数週間~数カ月程度かかり得るプロセスである。ユーザが、モデルを作成し始めるときに、ましてプラントを構成し始めるときに、プロセスに対するモデルを作成するために必要とされ得るデータの全てを知ることは滅多にないので、現在知られているシステムは、しばしば、実際のプロセスの中で非効率的または非実用的な、複雑なプロセスモデリングを作成する。プラントが必要なデータの全てを収集できる場合であっても、現在知られているシステムのメモリ及び帯域上の制約は、通常、収集したデータを高度に圧縮すること、低頻度で収集すること、及び/またはシフトされたもしくは不正確なタイムスタンプを有することを必要とする。故に、データは、しばしば、プラントの運営に関して複雑な予測及び判断を行うには不正確で、不完全で、かつ使用不可能であり得る。
【0011】
「ビッグデータ」は、一般に、大き過ぎるまたは複雑過ぎるため、従来のデータベース管理ツール及び/またはデータ処理アプリケーション(例えば、リレーショナルデータベース及びデスクトップ統計パッケージ)が、許容できる時間内でデータセットを管理することができない、一群の1つ以上のデータセットの集合体を指す。一般的に、ビッグデータを使用するアプリケーションは、トランザクション及びエンドユーザー指向であるか、またはそれに重点を置いている。例えば、ウェブ検索エンジン、ソーシャルメディアアプリケーション、マーケティングアプリケーション、及び小売アプリケーションは、ビッグデータを使用し、操作し得る。ビッグデータは、現代のマルチプロセス、マルチコアサーバの並列処理能力を完全に利用することを可能にする、分散型データベースによってサポートされ得る。近年、これまで利用できなかったレベルでプロセス制御データをアーカイブするために、プロセス制御システム内にビッグデータまたはビッグデータマシンを取り込む方向で、いくつかの開発がなされてきた。しかしながら、現在は、プラント動作の包括的または系統的分析を行う、傾向を検出できる、予測分析を行う、プラント動作の異常を検出する、より経済的に運営するようにプラントを再調整または再構成する、等のために、プロセスプラントまたはプロセスから収集されるこのデータを分析または使用する能力が全くないか、または非常に限られている。特に、ユーザは、依然として、特定の様式でデータを処理するために、データモデルまたはモデリングルーチンを手動で作成し、試験しなければならず、これは、非常に時間がかかり、行うことが困難である。
【発明の概要】
【発明が解決しようとする課題】
【0012】
データモデリングスタジオは、データモデルをグラフィカルに作成またはプログラミングするための構造化環境を提供し、該データモデルは、例えば、プロセスプラント内の関係のより系統的または包括的な診断、予知、分析、識別等を行う目的で、ビッグデータマシンからのデータを使用または分析するように構成され得る。データモデリングスタジオは、データモデルのグラフィカルな構築またはプログラミングを容易にするために、ユーザインターフェース要素を生成するための構成ルーチンまたはエンジンと、プロセスのまたはそれに関する分析を行うために、モデルを実行するためのランタイムエンジンとを含む。構成エンジンは、ユーザインターフェース要素を生成するインターフェースルーチンと、モデルのビルディングブロックとしての役割を果たす、メモリに記憶した複数のモデルテンプレートと、作成したモデルをランタイムエンジンによって実行可能なソフトウェアフォーマットに変換するモデルコンパイラとを含み得る。ランタイムエンジンは、モデルを実行する際に使用されるデータを取り出すためのデータ取り出しルーチンと、実行可能なモデルを動作させる、または実行するモデル実行ルーチンとを含み得る。
【0013】
インターフェースルーチンは、メモリに記憶した命令を含み得、該命令は、プロセッサで実行したときに、データモデルを作成する際に使用するために利用可能な複数群のモデルテンプレートを表示するユーザディスプレイ上のライブラリ領域、及びデータモデルをグラフィカルに作成するための主提示ウィンドウとしての役割を果たすキャンバス領域を生成する。より具体的には、ライブラリ領域は、モデルテンプレートを表示し得、該モデルテンプレートは、データ入力インジケータテンプレート、データ出力インジケータテンプレート、数学的演算もしくは他の機能動作、またはデータ処理テンプレート等の形態で、モデルを構築するために使用される要素である。したがって、モデルテンプレートは、プラントから収集されるデータのデータソース、プロセスプラントの中のデバイス、プラントからのデータに対して行われる数学的演算、データモデルの出力を受信するためのデータ受信機(例えば、デバイス、インターフェース等)を示し得る、メモリに記憶した一般的なモデル要素である。いくつかの実施形態において、データモデルに使用されるデータは、ビッグデータマシンに記憶される包括的な高忠実度のデータであり得、ビッグデータアーキテクチャを実装するプロセスプラントの種々のパラメータのいずれかまたは全てを定義する。
【0014】
全般的に、ユーザは、データモデリングスタジオの構成ルーチンを使用して、(構築されているときにデータモデルをグラフィカルに表示する提示ウィンドウをユーザに提供する)キャンバス領域内にモデルテンプレートをグラフィカルに配設し、モデル内で実行したときにテンプレートが互いに通信する様式を定義するためにモデルテンプレートをグラフィカルに相互接続し、テンプレートのパラメータを構成し、データモデルへの入力としてデータソースを選択し、そのデータに対して行われる機能を選択し、そして、データモデルによって生成される出力がプラントに提示される、またはそこで使用される1つ以上の様式を選択し得る。例えば、ユーザは、1つ以上のモデルテンプレートまたはモデルテンプレートのインジケータをライブラリから選択し、それらをキャンバス領域にドラッグし、そして、それらをそこにドロップし得る。ユーザは、次いで、データをテンプレート間で渡す等のために、テンプレートがどのように互いに相互作用するのかを定義するために、キャンバス領域内の種々のテンプレートをグラフィカルに相互接続し得る。ユーザはまた、ある特定の様式で、またはある特定のデータに対してテンプレートを行わせる、テンプレートに名前を付ける、等のために、種々の様式で各テンプレートの修正または構成も行い得る。モデルコンパイラは、ユーザインターフェースルーチンを使用してユーザによって作成されるデータモデルのグラフィカルな表現を、ランタイムエンジンによってサポートされる実行可能なフォーマットで、コンパイル済みモデルに変換するための、メモリに記憶したコンパイラルーチンを含み得る。データモデルはまた、新しいテンプレートとしてメモリに保存され得、コンパイル済みモデルは、実行可能なモデルとしてメモリに保存され得る。その後に、データモデルは、ビッグデータマシン(または他のデータベース)に記憶したプロセスプラントデータを分析するため、プラントからのリアルタイムデータを分析するため等の、プラントからのデータを分析するために、プラント環境内のランタイムエンジンによって動作または実行され得る。
【0015】
いくつかの事例において、ユーザは、データモデルを作成し、ビッグデータマシン(または他の履歴データベース)内に記憶される履歴データに対してこのモデルを動作させて、データモデルがその意図する目的に対して適切に動作するかどうかを確認し得る。適切に動作しない場合、ユーザは、例えばデータモデル内の追加的なプロセスパラメータまたはプロセスデータを取り込むことによって、データモデルを変更または変化させ得、次いで、変更したデータモデルを同じ組の履歴データ(または同じ期間からのデータ)に返して、それによって、変更したモデルを試験し得る。データモデリングスタジオが、プロセス内で生成または検出されたデータの全部または大部分を収集するビッグデータマシンを有する、プロセスプラントに接続されたとき、このデータは、プロセスのビッグデータアーキテクチャの一部として収集されているので、変更されたモデルで使用される新しいパラメータと関連付けられるデータは、ビッグデータ履歴データベースで直ちに利用可能である。このようにして、モデル作成者は、プラントのオンライン環境内、プラントのシミュレーション環境内、プラントの知識発見環境内、等でこれらのモデルを動作させる前に、履歴データに対するモデルを迅速にまたはより容易に設計、試験、変更、及び再試験することができる。
【0016】
したがって、ユーザは、構成エンジンを使用して、プラントによって作成される製品の特性を決定する、プラント装置による障害を検出する、プラントの動作内の障害を検出する、プラントの動作を分析する、プラントの動作をモデリングする、プラント内の現在の問題を診断する、プラント内の潜在的な将来の問題を予測する、プラントデータ及びプラント装置内の関係を識別する、等のためのモデルをグラフィカルに作成し、コンパイルし得る。
【0017】
全般的に、ランタイムエンジンは、所望の出力を生成するために、1つ以上のコンパイルされたデータモデルを実行する。ランタイムエンジンは、メモリからの(ビッグデータマシンからの、等)またはプラント自体からのモデルのデータ入力テンプレートに対応するデータを取り出すための取り出しルーチンを含み得、また、実行可能なモデルを実行するモデル実行ルーチンを含み得る。より具体的には、プロセッサは、モデルで使用されるグラフィカルなデータ入力テンプレートに対応するデータソースからデータを取り出すために、メモリから、取り出しルーチンを実行し得る。いくつかの実施形態において、取り出しルーチンは、プロセス制御システムの中の1つ以上のデバイスから取り出したデータを記憶するために使用されるビッグデータアプライアンスからデータを取り出し得る一方で、モデル実行ルーチンは、取り出したデータを使用して出力を生成するために、(メモリから取り出されるテンプレートを使用して作成される)コンパイル済みモデルを実行する、メモリに記憶した命令を含む。モデル実行ルーチンは、構成エンジンを使用して作成されたモデル、またはデータモデリングスタジオとともに含まれる予め構成されたモデルを実行し得る。いくつかの実施形態において、プラントの1つ以上のデバイスは、モデル実行ルーチンを自動的に実行して、データモデルを動作させ得る一方で、いくつかの他の実施形態において、ユーザは、モデル実行ルーチンを実行してモデルを動作させることに決定し得る。さらに、モデル実行ルーチンは、メモリに記憶した履歴データに対してモデルが動作され得るプラントの動作から分離されたオフライン環境で、データモデルを実行し得る。モデル実行ルーチンはまた、オンライン環境でモデルを動作させ得、取り出しモデルは、プラントの中の1つ以上のデバイスから、及び/またはビッグデータアプライアンスから、リアルタイムまたはほぼリアルタイムのデータストリームを取り出して、プラントの動作に影響を及ぼす出力を生成し得る。さらに、プロセッサは、バックグラウンドで(すなわち、ユーザ対話を伴わずに、プロセス制御システムのデバイスによって動作される)で、またはフォアグラウンド(ユーザ対話を伴う)で、モデル実行ルーチンを実行し得る。
【課題を解決するための手段】
【0018】
本明細書で説明されるデータモデリングスタジオは、プロセスプラント環境でデータモデルをグラフィカルに作成し、実行するための頑健で効率的なアーキテクチャを提供し、また、ビッグデータマシンに記憶したデータを分析する際に特に有用である。データモデリングスタジオが、収集される全ての(またはほぼ全ての)プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンスを含むビッグデータアーキテクチャを利用して、プロセスプラントで実装されたときに、データモデリングスタジオは、そのデータを使用して、モデルの効率的な作成、試験、及び動作を可能にする。例えば、ユーザは、データモデリングスタジオを使用して、追加的なデータを収集するためにプラントの動作を再構成することを必要とすることなく、データモデルをグラフィカルかつ反復的に作成し、編集し得、これは、はるかに速いモデル開発環境を生じさせる。さらに、いくつかの事例において、プラントデータの全てがビッグデータマシンで利用可能であるので、種々の様式でモデル自体を反復または変更して、モデリングルーチン内で新しい、さらなる、または異なるデータを追加するために、またはモデリングルーチンの一部として新しいまたは異なるデータを分析するために、モデルが作成され得、モデル自体を試験し、モデル自体を反復的に変更することで、より良好なまたはより正確な予測、傾向分析、障害、もしくは異常な状況の検出等を提供する、より良好なまたはより正確なモデルを開発する。さらに別の事例において、ユーザは、そのデータに関して、したがって、プラントに関して、ビッグデータマシン内のデータを分析して関係、傾向等を発見するために知識発見環境で使用することができる、1つ以上のデータモデルを作成し得る。
【図面の簡単な説明】
【0019】
【
図1】プラントからのデータを収集し、記憶するビッグデータマシンと、プラントから収集したデータを使用または分析するデータモデルを作成し、実行するために使用され得るデータモデリングスタジオとを含む、プロセスプラントまたはプロセス制御システムの実施例のブロック図である。
【
図2】一般的なプラント環境内で接続されたときの、
図1のデータモデリングスタジオの例示的な実施形態のブロック図である。
【
図3】
図1及び
図2のデータモデリングスタジオのグラフィカルなユーザインターフェースの画面提示の図である。
【
図4】
図1及び
図2のデータモデリングスタジオを使用してデータモデルを作成する例示的な方法のフロー図である。
【
図5】モデルを作成または実行するために使用され得るデータエクスプローラの画面提示の図である。
【
図6】プロセスプラントまたはプロセス制御システムのための、例示的なビッグデータネットワークの中の複数群のノードの例示的な配設を例示するブロック図である。
【
図7】データモデリングスタジオを使用して作成し、実行するモデルによって使用するためのデータを収集するプロバイダノードの例示的な配設を例示するブロック図である。
【
図8】データモデリングスタジオを使用して作成し、実行するモデルによって使用するためのデータを記憶または履歴化するためのアプライアンスデータ受信機の例示的な使用を例示するブロック図である。
【
図9】プロセス制御システムまたはプロセスプラントで実行される例示的な知識発見方法1100のフロー図である。
【0020】
図面は、単に例示の目的で本発明の実施形態を描写する。当業者は、本明細書で例示される構造及び方法の代替の実施形態が、本明細書で説明される本発明の原理を逸脱することなく用いられ得る、以下の議論から容易に認識するであろう。
【発明を実施するための形態】
【0021】
図1は、プロセスプラント内のデータを収集するビッグデータネットワーク100を含む、プロセスプラントの例示的なプロセス制御システム10のブロック図である。
図1のプロセス制御システムは追加的に、データモデリングスタジオ109を実行して、ユーザが、ビッグデータネットワークによって収集されるデータに対して種々のデータモデルを作成し、動作させること可能にする、例えばプロセスプラント環境内に提供される、ユーザインターフェースステーション103を含む。ユーザインターフェースステーション103はまた、プロセスプラントから取り出されるデータを発見し、評価するために、系統的または包括的な関係の診断、予知、分析、識別等を行うモデルを実行する、データ知識アプリケーション114も実行する。
図1は、単一のユーザインターフェースステーション103だけがデータモデリングスタジオ109及びデータ知識アプリケーション114をホストすることを描写しているが、いくつかの実施形態において、データモデリングスタジオ109及びデータ知識アプリケーション114は、異なるユーザインターフェースステーション103、複数のユーザインターフェースステーション103上でホストされ得るか、またはプロセスプラント109の1つ以上のデバイスの間で分散され得る。より具体的には、プラントまたはプロセス制御システム10内に実装されるデータモデリングスタジオ109は、データモデル(モデリングルーチン)を系統的かつ効率的に定義または作成する際に支援するツールをユーザまたはモデル開発者に提供し、該データモデルは、プラントから以前に収集した履歴データ、プラント内で現在収集しているリアルタイムデータ、または双方に対して、プラント環境内で動作する。データモデリングスタジオ109及びデータ知識アプリケーション114は、ビッグデータネットワーク100が、プラントまたはプロセス制御システム10内で生成される、または収集されるデータの全部または大部分を収集し、記憶し、そして、該データに対する効率的なアクセスを提供する、という事実を利用する。さらに、データモデリングスタジオ109は、このデータを使用して、プラントまたはプロセス制御システム10内でモデルを設計し、試験し、そして実装する、より効率的な様式をモデル開発者に提供する。データ知識アプリケーション114は、プラントまたはプロセス制御システム10にモデルを移植するための、ならびに、データと実行したモデルの結果との間の関係を調査及び探索するための追加的な環境を提供する。
図1で例示されるように、データモデリングスタジオ109は、ユーザインターフェースステーション103上等の、1つ以上のデバイスの1つ以上のプロセッサによって実行される、1組の命令であり得る。当然、データモデリングスタジオ109は、当該のタブレット、モバイル電話、ラップトップコンピュータ、デスクトップコンピュータ、サーバ等の様々なコンピューティングデバイスのいずれかで実行され得、また、1つのデバイス内で実行するか、または任意の数のそのようなデバイスの間で分散され得る。同様に、データ知識アプリケーション114は、1つ以上のデバイスの1つ以上のプロセッサによって実行され、様々なコンピューティングデバイスのうちのいずれかで実行される、1組の命令であり得る。
【0022】
一般的な意味において、例示的なプロセス制御システムビッグデータネットワーク100は、プロセス制御システムビッグデータ装置またはアプライアンス102と、プロセス制御システムビッグデータネットワークバックボーン105と、バックボーン105に通信可能に接続される複数のノード108とを含む。ノード108は追加的に、コントローラ、フィールドデバイス、プラント装置等のようなプロセスプラント装置に接続される。プロセス関連のデータ、プラント関連のデータ、通信関連のデータ、及び他のタイプのデータは、複数のノード108で収集され、キャッシュされ得、そのデータは、長期間の記憶(例えば、「履歴化」)及び処理のために、ネットワークバックボーン105を介して、プロセス制御システムビッグデータ装置またはアプライアンス102に送達され得る。データの少なくとも一部は、例えばリアルタイムでプロセスを制御するために、ネットワーク100のノード108間で送達され得る。
【0023】
プロセス制御システム10に関連する任意のタイプのデータは、プロセス制御システムビッグデータアプライアンス102で収集され、記憶され得る。例えば、プロセスがプロセスプラント10で制御されている間に生成される(及びいくつかの事例では、プロセスのリアルタイムの実行の効果を示す)連続データ、バッチデータ、測定データ、及びイベントデータ等のリアルタイムプロセスデータが収集され、記憶され得る。さらに、プロセスプラント構成データ及び/またはバッチレシピデータ等の、プロセスの定義、配設、または設定のデータが収集され、記憶され得る。追加的に、プロセス診断の構成、実行、及び結果に対応するデータが収集され、記憶され得る。当然、警報または警告等の他のタイプのプロセスデータも収集され、記憶され得る。類似する様式で、バックボーン105の、及びプロセスプラント10の種々の他の通信ネットワークのデータハイウェイトラフィックデータ及びネットワーク管理データが収集され、記憶され得る。同様に、ユーザトラフィック、ログイン試行、クエリ、及び命令に関連するデータ等の、ユーザ関連のデータが収集され、記憶され得る。なおさらに、テキストデータ(例えば、ログ、操作手順、マニュアル等)、空間データ(例えば、場所に基づくデータ)、及びマルチメディアデータ(例えば、閉回路TV、ビデオクリップ等)が収集され、記憶され得る。
【0024】
プロセス制御システムビッグデータネットワークバックボーン105は、(データモデリングスタジオ109及び知識発見アプリケーション114をホストする)ユーザインターフェースデバイス103等の、複数のネットワーク化されたコンピューティングデバイスを含み得るか、またはパケットを、プロセス制御システムビッグデータネットワーク100の種々のノード108に/から、及び(それ自体がプロセス制御システムビッグデータネットワーク100のノードである)プロセス制御ビッグデータアプライアンス102に/からルーティングするように構成されるスイッチを含み得る。バックボーン105の複数のネットワーク化されたコンピューティングデバイスは、任意の数の無線及び/または有線リンクによって相互接続され得る。さらに、プロセス制御システムビッグデータネットワークバックボーン105は、1つ以上のファイアウォールデバイスを含み得る。
【0025】
一例として、ビッグデータネットワークバックボーン105は、1つ以上の適切なルーティングプロトコル、例えばインターネットプロトコル(IP)スイート(例えば、UPD(ユーザデータグラムプロトコル)、TCP(伝送制御プロトコル)、イーサネット(登録商標)等)に含まれるプロトコル、または他の適切なルーティングプロトコルをサポートし得る。所望であれば、ノード108の少なくともいくつかは、キャッシュしたデータを、ネットワークバックボーン105を介して、ノード108からプロセス制御ビッグデータアプライアンス102にストリームするために、ストリーム制御伝送プロトコル(SCTP)等の、ストリーミングプロトコルを利用し得る。一般的に、プロセスデータビッグデータネットワーク100に含まれる各ノード108は、バックボーン105によってサポートされるルーティングプロトコル(複数可)の少なくともアプリケーション層(そして、いくつかのノードについては、追加的な層)をサポートすることができる。各ノード108は、例えば一意のネットワークアドレスによって、プロセス制御システムビッグデータネットワーク100内で一意的に識別され得る。追加的に、プロセス制御システムビッグデータネットワーク100の少なくとも一部分は、アドホックネットワークであり得る。このように、ノード108の少なくともいくつかは、アドホック様式でネットワークバックボーン105に(またはネットワーク100の別のノードに)接続し得る。
【0026】
さらに、プロセスプラント10(例えば、プロセスプラント10に含まれる、マシン及びデバイス等の物理装置)に関連するが、プロセスを直接構成、制御、または診断するアプリケーションによって生成されない場合があるデータも、ビッグデータマシン102で収集され、記憶され得る。例えば、振動データ及び蒸気トラップデータ、プラント安全性データ、及びプラントの安全性に対応するパラメータの値を示すデータ(例えば、腐食データ、ガス検出データ等)が記憶され得る。同様に、プラント安全性に対応するイベントを示すデータが、ビッグデータマシン102で収集され、記憶され得る。同様に、マシン、プラント装置、及び/またはデバイスの健全性に対応するデータ、装置データ(例えば、振動データ及び他のデータに基づいて決定されるポンプの健全性データ)、装置、マシン、及び/またはデバイスの診断の構成、実行、及び結果に関連するデータが収集され、記憶され得る。
【0027】
いくつかの事例において、原材料のコストに関連するデータ、部品または装置の予想到着時刻、気象データ、及び他の外部データ等の、プロセスプラント10の外部にあるエンティティによって生成される、またはそれに伝送されるデータは、ビッグデータマシン102に収集され、記憶され得る。当然、ネットワークバックボーン105に通信可能に接続されるノード108のいずれかによって生成、受信、または観察される全てのデータが収集され、プロセス制御システムビッグデータアプライアンス102で記憶され得る。
【0028】
図1で例示されるように、プロセス制御システムデータモデリングスタジオ109は、例えばユーザまたは他のアプリケーションが使用するユーザインターフェースまたは他のインターフェースデバイス上での、構成及びデータ探索のために、プロセス制御システムビッグデータネットワーク100への主インターフェースを提供するように構成され得る。プロセス制御システムデータモデリングスタジオ109は、プロセス制御システムビッグデータネットワークバックボーン105を介して、ビッグデータアプライアンス102に接続され得るか、またはプロセス制御システムビッグデータアプライアンス102に直接接続され得るか、または任意の他の様式でビッグデータアプライアンス102に連結され得る。
【0029】
図1の例示的なプロセス制御システムビッグデータプロセス制御ネットワーク100において、プロセス制御ビッグデータ装置またはアプライアンス102は、ネットワーク100内に集中化され、また、ネットワーク100のノード108から(例えば、ストリーミングを介して、及び/またはいくつかの他のプロトコルを介して)データを受信し、そして、受信したデータを記憶するように構成される。このように、プロセス制御ビッグデータ装置またはアプライアンス102は、ノード108から受信したデータを履歴化または記憶するためのデータ記憶領域120と、ビッグデータマシン102に記憶するためのデータを収集し得る複数のアプライアンスデータ受信機122と、ビッグデータ記憶装置120からデータを要求しそれにアクセスする複数のアプライアンス要求サービサー135とを含み得る。いずれにしても、それは、プロセス制御ネットワークに収集され、データ記憶領域120に記憶されるデータの全部または大部分が、データモデリングスタジオ109及び知識発見アプリケーション114のユーザに利用可能である場合に有用である。
【0030】
プロセス制御システムビッグデータ記憶領域120は、RAID(独立したディスクの冗長アレイ)記憶装置、クラウド記憶装置、またはデータバンクもしくはデータセンター記憶装置に適切である任意の他の適切なデータ記憶装置技術等の、複数の物理データドライブまたは記憶装置エンティティを含み得る。しかしながら、ネットワーク100のノード108に対して、データ記憶領域120は、単一のまたは一体的な論理データ記憶領域またはエンティティの体裁を有する。このように、データ記憶装置120は、プロセス制御ビッグデータネットワーク100のための、またはプロセスプラント10のための集中ビッグデータ記憶領域120とみなされ得る。所望であれば、単一の論理集中データ記憶領域120は、複数のプロセスプラント(例えば、プロセスプラント10及び別のプロセスプラント)にサービスを提供し得る。例えば、集中データ記憶領域120は、エネルギー会社の複数の精製装置にサービスを提供し得る。加えて、集中データ記憶領域120は、例えば少なくとも1つの高帯域幅通信リンクを介して、バックボーン105に直接接続され得る。さらに、集中データ記憶領域120は、統合型ファイアウォールを含み得る。
【0031】
一体的論理データ記憶領域120の構造は、全部または大部分のプロセス制御システム関連データの記憶をサポートし得る。例えば、データ記憶エンティティの各エントリ、データ点、または観察値は、データの識別情報(例えば、ソース、デバイス、タグ、場所等)の指示、データの内容(例えば、測定値、値等)、及びデータが収集、生成、受信、または観察された時間を示すタイムスタンプを含み得る。このように、これらのエントリ、データ点、または観察値は、本明細書で「時系列データ」と称される。データは、例えば、拡張可能な記憶装置、ストリームデータ、及び低遅延クエリをサポートするスキーマを含む、共通フォーマットを使用して、データ記憶領域120に記憶され得る。
【0032】
1つの事例において、スキーマは、複数の観察値を各行に記憶すること、及びカスタムハッシュを有する行キーを使用して、行のデータをフィルタリングすることを含み得る。ハッシュは、タイムスタンプ及びタグに基づき得る。例えば、ハッシュは、タイムスタンプの丸めた値であり得、タグは、プロセス制御システムの、またはそれに関連するイベントまたはエンティティに対応し得る。各行または一群の行に対応するメタデータも、時系列データと一体的に、または時系列データとは別に、データ記憶領域120に記憶され得る。例えば、メタデータは、時系列データとは別に、スキーマレス様式で記憶され得る。
【0033】
所望であれば、データをアプライアンスデータ記憶装置120で記憶するために使用されるスキーマはまた、ノード108の少なくとも1つのキャッシュにデータを記憶するためにも利用され得る。故に、この場合、スキーマは、データがノード108のローカル記憶領域から、バックボーン105を越えて、プロセス制御システムビッグデータアプライアンスデータ記憶装置120に伝送されるときに、維持され得る。
【0034】
データ記憶装置120に加えて、プロセス制御システムビッグデータアプライアンス102はさらに、1つ以上のアプライアンスデータ受信機122を含み得、そのそれぞれは、バックボーン105からデータパケットを受信し、データパケットを処理して、該データパケットで搬送される実質的なデータ及びタイムスタンプを取り出し、そして、その実質的なデータ及びタイムスタンプをデータ記憶領域120に記憶するように構成される。アプライアンスデータ受信機122は、例えば、複数のコンピューティングデバイスまたはスイッチ上に存在し得る。複数のアプライアンスデータ受信機122(及び/または少なくとも1つのデータ受信機122の複数のインスタンス)は、複数のデータパケットに対して並列に動作し得る。
【0035】
受信したデータパケットが、プロセス制御ビッグデータアプライアンスデータ記憶領域120によって利用されるスキーマを含む場合、アプライアンスデータ受信機122は、単に、データ記憶領域120の追加的なエントリまたは観察値をスキーマ情報とともにポピュレートするだけである(及び、所望であれば、対応するメタデータを随意に記憶し得る)。受信したデータパケットが、プロセス制御ビッグデータアプライアンスデータ記憶領域120によって利用されるスキーマを含まない場合は、それに応じて、アプライアンスデータ受信機122が、パケットを復号化し、プロセス制御ビッグデータアプライアンスデータ記憶領域120の時系列データ観察値またはデータ点(及び、随意に、対応するメタデータ)をポピュレートし得る。
【0036】
追加的に、プロセス制御システムビッグデータアプライアンス102は、1つ以上のアプライアンス要求サービサー135を含み得、そのそれぞれは、例えば要求元エンティティまたはアプリケーションの要求毎に、プロセス制御システムビッグデータアプライアンス記憶装置120に記憶した時系列データ及び/またはメタデータにアクセスするように構成される。アプライアンス要求サービサー135は、例えば、複数のコンピューティングデバイスまたはスイッチ上に存在し得る。アプライアンス要求サービサー135及びアプライアンスデータ受信機122の少なくともいくつかは、同じ1つまたは複数のコンピューティングデバイス上(例えば、統合型デバイス上)に存在し得るか、または統合型アプリケーションに含まれる。
【0037】
いくつかの事例において、複数のアプライアンス要求サービサー135(及び/または少なくとも1つのアプライアンス要求サービサー135の複数のインスタンス)は、複数の要求元エンティティまたはアプリケーションからの複数の要求に対して並列に動作し得る。当然、単一のアプライアンス要求サービサー135は、単一のエンティティもしくはアプリケーションからの複数の要求、またはアプリケーションの異なるインスタンスからの複数の要求等の、複数の要求にサービスを提供し得る。いずれにしても、
図1のデータモデリングスタジオ109及び知識発見アプリケーション114は、1つ以上の要求サービサー135を介して、データ記憶領域120に記憶したデータにアクセスし得る。
【0038】
図2は、
図1のプロセス制御ビッグデータバックボーン105を介してビッグデータアプライアンス102及びプロセスプラント10に連結される、データモデリングスタジオ109の例示的な実施形態のブロック図である。
図2でさらに例示されるように、もう1つの追加的なユーザインターフェースデバイス113が、プロセス制御ビッグデータバックボーン105を介して、データモデリングスタジオ109にアクセスし得る。追加的に、知識発見アプリケーション114がプロセス制御ビッグデータバックボーン105に連結される。全般的に、データモデリングスタジオ109は、ビッグデータマシンから収集されるデータに対して動作を行うように構成されるモデルをグラフィカルに作成し、プログラミングするための構造化環境を提供する。この文脈において、モデルは、プロセスプラント(プロセスプラント10等)の動作に関するいくらかの知識を与える出力を生成するために、データに対して行われる数学的ルーチンである。モデルは、1つ以上のデータ入力、データ入力に対して行われる1つ以上の機能、及び機能の結果である1つ以上の出力で構築される。
【0039】
図2で例示されるように、データモデリングスタジオ109は、グラフィカルなモデル作成を容易にするために構造化環境を生成するための構成エンジン123と、作成したモデルを実行するためのランタイムエンジン124とを含む。より具体的には、構成エンジン123は、構造化環境のためのグラフィックユーザインターフェースの要素を生成するためのインターフェースルーチン125と、モデルのビルディングブロックとしての役割を果たす複数のテンプレート129と、ランタイムエンジン124によってモデルを実行可能なデータフォーマットに変換するモデルコンパイラ127とを含む。ランタイムエンジン124は、モデルを実行する際にデータを取り出すためのデータ取り出しルーチン126と、実行可能なモデルを動作させるためのモデル実行ルーチン128とを含む。
【0040】
インターフェースルーチン125は、メモリに記憶した1組の命令を含み、該命令は、プロセッサによって実行されたときに、テンプレート129を表示するライブラリ領域125a及びモデルを作成するための主提示ウィンドウとしての役割を果たすキャンバス領域125bを含むモデルの作成を容易にするために、ドラッグアンドドロップグラフィカルユーザインターフェースの1組のユーザインターフェース要素を生成する。テンプレート129は、モデルのビルディングブロックとしての役割を果たし、また、モデルを作成するために選択し、キャンバス領域125bに移動させることができる。データモデリングスタジオ109の構成エンジン123に含まれるテンプレート129は、(モデルで使用されるデータのソースを指定する)データソーステンプレート129aと、(データソーステンプレート129aによって表されるデータに対して行われるルーチンを指定する)機能テンプレート129bと、(モデルによって生成されるデータをどのように提示または送信するのかを指定する)出力テンプレート129cと、(モデルを形成するテンプレート129の入力及び出力を指定する)データフローテンプレート129dとを含む。
【0041】
データソーステンプレート129aは、種々のデータタイプ(構造化及び/または非構造化)、プロセスプラント10内で通信、生成、受信、及び/または観察されるデータのコンテキスト及び/または境界条件を収集する、データソースを示す。データソーステンプレート129aは、データベースデータ、ストリームデータ、トランザクショナルデータ、及び/またはプロセス制御システムビッグデータネットワーク100を介して通信され、プロセス制御システムビッグデータ記憶装置120に記憶または履歴化される任意の他のタイプのデータに関連し得る。データソーステンプレート129aはまた、プロセスプラント10のビッグデータアーキテクチャの一部として収集される全ての(またはほぼ全ての)プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンス102に記憶される、データソースを含み得る。データソース129aは、ビッグデータアプライアンス102に記憶される包括的な高忠実度のデータを定義し得、ビッグデータアーキテクチャを実装するプロセスプラント10の種々のパラメータのいずれかまたは全てを定義する。
【0042】
例示的なデータソーステンプレート129aは、圧力示度、弁示度、温度示度、振動示度を含む。ユーザは、データのサブセットだけが選択されるように、履歴データまたはリアルタイムデータのパラメータを設定し得る。例えば、データソーステンプレート129aは、一般的に温度A~温度Bの範囲であると予想される温度データを摂氏で収集する、データソースを示し得る。データソーステンプレート129aはまた、気象または環境データベース等の、外部プラントサイトまたは外部データベース等の、プロセスプラント10の外部のデータソースも表し得る。
【0043】
機能テンプレート129bは、データに対して行われる任意の基本機能または一体的機能とすることができる。例えば、機能テンプレート129bは、ニューラルネットワークルーチン、相関ルーチン、閾値ルーチン等の数学的機能、または平均化ルーチン、最大ルーチン、最小ルーチン、フィルタルーチン等の閾値ルーチンもしくは統計的プロセス等を含み得る。機能テンプレート129bはまた、ランダムフォレストアルゴリズムまたは部分最小二乗回帰等の分類技法も含み得る。なおさらに、機能テンプレート129bは、ある特定の閾値レベルよりも高いデータを除去するフィルタリングルーチンまたは外れ値データを除去するためのクリッピングルーチン等の、分析のためにデータを準備するためのデータ処理技法を含み得る。ユーザはまた、機能テンプレート129bの1つ以上のパラメータを変更することが可能であり得る。例えば、ユーザは、フィルタルーチンを選択し、低点フィルタ(特定の勾配)、クリッピングフィルタ(閾値レベル)等の特性を定義し得る。
【0044】
出力テンプレート129cは、完成したモデルによってデータに対して行われた機能の結果を、どのように翻訳及び/または提示するのかを定義する。例えば、モデルの出力をユーザにグラフィカルに提示する場合、出力テンプレート129cは、グラフ、チャート、または表示インターフェースを示し得る。出力テンプレートはさらに、出力テンプレートによって指定されるグラフィカルな提示のためのデータを準備するために、1つ以上のデータマッサージング技法を定義し得る。例えば、バーグラフは、有効数字2ケタに丸めた数値を必要とし得、出力テンプレートはまた、データを準備するために丸めルーチンも含み得る。出力テンプレート129cはまた、モデルの出力が送信されるべき特定の場所も示し得る。例えば、出力テンプレート129cは、モデルによって生成される1組の値をプロセスプラント(プロセスプラント10等)の中の1つ以上のコントローラに送信するよう示し得る。例示的な値としては、設定点値、制御ルーチン等が挙げられる。しかしながら、出力は、関係を表すバインディング、特定の値、データ出力が閾値を満たすかどうかを示す2進値、効力に対応するパーセンテージ等の、任意の値とすることができる。
【0045】
データフローテンプレート129dは、テンプレート129の入力及び出力を指定するために使用される。例えば、データフローテンプレート129dは、(出力テンプレート129cによってグラフィカルに表される)ある特定の出力を生成するために、ある特定のデータソーステンプレート129aがある特定の機能テンプレート129bへの入力であることを示し得る。
【0046】
しかしながら、ユーザは、データモデリングスタジオ109に含まれる所定のテンプレートを使用することに限定されない。ユーザは、将来の使用のために、既存のテンプレートを編集し、新しいテンプレートを追加し、及び/または編集した/新しいテンプレートをデータモデリングスタジオ109に保存し得る。例えば、(機能テンプレート129bによってグラフィカルに表される)既存の平均化ルーチンが、2つのデータソース入力を受け付ける場合、ユーザは、3つの入力を受け付けるように平均化ルーチンテンプレートを編集し得る。ユーザはまた、追加的な機能をデータモデリングスタジオ109に追加するために、ゼロから新しいテンプレートを作成し得る。ユーザはまた、将来の使用のためのテンプレートとして、データモデリングスタジオによって作成したモデル、またはモデルの一部分を保存し得る。
【0047】
モデルコンパイラ127は、メモリに記憶したコンパイラルーチン127aを含み得、該コンパイラルーチンは、プロセッサ上で実行して、ユーザインターフェースを使用して作成したグラフィカルモデルを、ランタイムエンジン124によってサポートされる実行可能なデータフォーマットで、コンパイル済みモデルに変換する。
【0048】
ランタイムエンジン124は、コンパイル済みモデルを実行して(モデルによって定義される)所望の出力を生成し、メモリ120から及び/またはプラントデバイスからデータを取り出すためのデータ取り出しルーチン126と、実行可能なモデルを動作させる及び/または実行するためのモデル実行ルーチン128とを含む。より具体的には、プロセッサは、取り出しルーチン126を実行して、データソースからデータを取り出し得、メモリから、モデルで使用されるグラフィカルテンプレート129に対応する機能を取り出し得る。いくつかの実施形態において、取り出しルーチン126は、ビッグデータネットワークバックボーン105を介してビッグデータアプライアンス120から、及び/またはプラント自体からデータを取り出し得る。モデル実行ルーチン128は、出力を生成するためにプロセッサ上でコンパイル済みモデルを実行する、メモリに記憶した1組の命令を含み得る。
【0049】
モデル実行ルーチン128は、メモリに記憶した履歴データに対してモデルが動作され得るプラントの動作から分離された、オフライン環境でモデルを動作させ得るか、または取り出しルーチン126がプラントまたはビッグデータアプライアンスの中の1つ以上のデバイスからリアルタイムまたはほぼリアルタイムのデータストリームを取り出し、出力を生成し得るオンライン環境でモデルを動作させ得、該出力は、ユーザに提供され、及び/またはプラントの動作に影響を及ぼすために使用され得る。
【0050】
より具体的な例として、(モデルに入力されるデータを定義する)データソーステンプレート129aは、フィルタリング機能(例えば、低域通過、高域通過、平滑化フィルタ等)を定義する第1の機能テンプレート129bに接続され得る。フィルタリング機能テンプレート129bは、クリッピングルーチンを定義する第2の機能テンプレート129bに接続することができ、これは、ニューラルネットワーク技法を定義する第3の機能テンプレート129bに接続することができ、次いで、これは、別のフィルタリング技法を定義する第4の機能テンプレート129bに接続することができ、これは、平均化技法を定義する第5の機能テンプレート129bに接続することができ、これは、閾値検出ルーチンを定義する第6の機能テンプレート129bに接続することができ、これは、表示テンプレート(例えば、出力テンプレート)に接続することができる。
【0051】
図3は、モデルのグラフィカルな作成を容易にするためのデータモデリングスタジオ109の例示的なグラフィカルなユーザインターフェース300を例示する。上で論じられるように、構成エンジン123のインターフェースルーチン125は、テンプレート129を表示するライブラリ領域125a、及びモデルを作成するための主提示ウィンドウとしての役割を果たすキャンバス領域125bを含む、ドラッグアンドドロップグラフィカルユーザインターフェース300を生成する。
図3で例示されるように、ライブラリ領域125aは、モデルのグラフィカルなビルディングブロックとしての役割を果たす、複数のテンプレート129を表示する。テンプレート129は、プロセスプラントの中のデバイスによって収集されるデータを示すデータソーステンプレート129a、データに対して行われる基本的または一体的機能をグラフィカルに描写する機能テンプレート129b、モデルの出力を定義する出力テンプレート129c、及びデータに対して行われる入力、バインディング、相互接続、及び操作等のモデル内のデータフローを表すデータフローテンプレート129d、出力を受信し得るモデルデータ受信機を含み得る。
【0052】
ユーザは、ライブラリ領域125aから異なるテンプレート129を選択し、それらをキャンバス領域125bにドラッグすることによって、モデルを構築し得る。ユーザは、モデル内のデータフローをシミュレーションするために、テンプレート129をキャンバス領域126bに配設し、データフローテンプレート129dを使用し得る。
図3は、ドラッグアンドドロップグラフィカルユーザインターフェースを例示しているが、データモデリングスタジオ109の他の実施形態は、他のグラフィカルまたは非グラフィカルインターフェースを含み得る。
【0053】
構成エンジンはさらに、ユーザが、データモデルを形成する相互接続されたモデルブロックを作成するために、テンプレート129で使用される特定のパラメータ、及びデータモデルテンプレート間の相互接続を定義することによって、キャンバス領域125bに描写されるデータモデルテンプレート129aを修正することを可能にする。データモデルは、例えば、データモデルのために取り出されるデータの特定のデータソースを定義するモデル入力ブロックと、特定のデータソースからのデータに対して行われるデータ処理手順を定義する1つ以上のモデル機能ブロックと、1つ以上の機能ブロックの出力と関連付けられる動作を定義するモデル出力ブロックとを含み得る。
【0054】
図4は、プロセス制御環境でモデルを作成するために、インターフェースルーチン125によって生成されるグラフィックユーザインターフェース300を使用するための、例示的な方法400のフロー図を例示する。方法400はまた、
図1のプロセス制御システムビッグデータネットワーク100でも実装され得る。例示的な(及び限定しない)目的で、方法400は、
図1~
図3を同時に参照しながら、下で論じられる。
【0055】
ブロック402で、プロセスプラントの中のデバイスによって収集されるデータのデータソースを示すデータソーステンプレート129a等の、第1のテンプレートがライブラリ領域125aから選択され得る。ユーザは、第1のテンプレートを選択するために、マウスクリック、キーボードの押下、音声コマンド、タッチ画面の押下等の入力を入力することができる。ユーザは、選択したデータソーステンプレート129aを、ライブラリ領域125aからキャンバス領域129b内の所望の場所までドラッグし得る。データテンプレート129aはまた、定義及び変更することができる(異なるテンプレート129間の接続及びパラメータを定義する)パラメータ及び相互接続も有する。データモデリングスタジオはさらに、データモデルのために取り出されるデータの特定のデータソースを定義するモデル入力ブロックを作成するために、受信したデータソーステンプレート129aならびに任意の指定されたパラメータ及び/または相互接続を修正し得る。方法400は、モデルに含めるための1つのデータソーステンプレート129aだけを描写しているが、これは、例示の目的のためだけのものであり、1つ以上のデータソーステンプレート129aが含まれ得る。
【0056】
ブロック404で、機能テンプレート129b等の第2のテンプレートがライブラリ領域から選択され得る。上で説明されるように、機能テンプレート129bは、出力を生成するためにそこに提供されるデータに対して行われる、一般的なまたは予め定義された数学的演算である。機能テンプレート129bは、定義及び変更することができる、パラメータ(例えば、ゲイン、フィルタ設定、閾値等)及び(異なるテンプレート129間の相互接続及びパラメータを定義する)相互接続を有し得る。ライブラリ領域125aから機能テンプレート129bを選択した後に、ユーザは、選択したテンプレートをキャンバス領域125b内の所望の場所にドラッグし得る。ユーザはまた、機能テンプレート125bの1つ以上のパラメータも調整し得る。データモデリングスタジオはさらに、特定のデータソースからのデータに対して行われるデータ処理手順を定義するモデル機能ブロックを作成するために、受信した機能テンプレート129bならびに任意の指定したパラメータ及び/または相互接続を修正し得る。例えば、機能テンプレート125bがフィルタルーチンである場合、ユーザは、特定の勾配特性を有する低点フィルタを作成するために、フィルタの特性またはパラメータを定義し得る。方法400は、1つの機能テンプレート125bだけが選択されていることを描写しているが、これは、例示の目的のためだけのものであり、1つ以上の機能テンプレート125bがモデルに含まれ得る。
【0057】
ブロック406で、ユーザは、モデルに追加するために、1つ以上のデータ出力テンプレート129c及び/または1つ以上のデータフローテンプレート129d等の、第3のテンプレートを選択し得る。データ出力テンプレート129c及びデータフローテンプレート129はまた、定義及び変更することができる(異なるテンプレート129間の相互接続及びパラメータを定義する)パラメータ及び相互接続も有し得る。例えば、ユーザは、入力テンプレートを選択して、データソーステンプレート129aの出力が特定の機能テンプレート129bへの入力であることをグラフィカルに示し得る。ユーザは、ダッシュボードビューを通して機能テンプレート129bの結果をユーザにグラフィカルに提示することをグラフィカルに示すように、出力テンプレートを選択し得る。データモデリングスタジオはさらに、1つ以上の機能ブロックの出力と関連付けられる動作を定義する、モデル出力ブロック及び/またはモデルデータフローブロックをそれぞれ作成するために、受信したデータ出力テンプレート129c及び/またはデータフローテンプレート129dを修正し得る。
【0058】
データモデルを形成する相互接続されたモデルブロック。例えば、データモデルは、特定のデータソースからのデータに対して行われるデータ処理手順を定義する1つ以上のモデル機能ブロックと、1つ以上の機能ブロックの出力と関連付けられる動作を定義するモデル出力ブロックとを含み得る。
【0059】
ブロック408で、ユーザは、モデルをコンパイルするために、入力選択を行い得る。それに応じて、構成エンジン123を使用して作成されるグラフィカルなモデルが、ランタイムエンジン124によって読み出し可能なデータフォーマットでコンパイル済みモデルに変換される。コンパイルされると、ユーザは、モデル及び/またはコンパイル済みモデルをメモリに保存し得る。コンパイル済みモデルは、後ほどデータモデリングスタジオ109のユーザによって取り出され得、及び/または知識探索アプリケーション114のユーザによって取り出され得る。
【0060】
ブロック410で、ランタイムエンジン124の取り出しルーチン126が、テンプレート129に対応するデータを取り出し得る。例えば、取り出しルーチン126は、データソーステンプレート129aによって示されるデータソースからデータを取り出し得、また、メモリから機能テンプレート129bに対応する命令を取り出し得る。例えば、取り出しルーチン124は、例えば1つ以上のデータ受信機122によって、プロセス制御システムビッグデータネットワーク100のビッグデータアプライアンス102からデータを取り出し得る。データソーステンプレート129aは、プロセス制御データ及びプロセスプラントデータに対応し得る。データとしては、プロセスプラントでプロセスを制御している間に生成されるリアルタイムデータ、構成データ、バッチデータ、プロセスプラントに含まれる種々のネットワークのネットワーク管理及びトラフィックデータ、ユーザまたはオペレータのアクションを示すデータ、プラントに含まれる装置及びデバイスの動作及び状態に対応するデータ、プロセスプラントの外部にあるエンティティによって生成される、またはそれに伝送されるデータ、ならびに他のデータが挙げられる。データはまた、ビッグデータバックボーン105を通してアクセスされる気象データベースまたは別のプロセスプラント等の、サードパーティデータベースからも取り出され得る。
【0061】
ブロック412で、モデル実行ルーチン128によってモデルが実行され得る。モデル実行ルーチン128は、メモリに記憶した履歴データに対してモデルが動作され得るプロセスプラントの動作から分離されたオフライン環境で、モデルを動作させ得る。モデル実行ルーチン128はまた、オンライン環境でもモデルを動作させ得、データ取り出しルーチン126は、プラントまたはビッグデータアプライアンスの中の1つ以上のデバイスから、リアルタイムまたはほぼリアルタイムのデータストリームを取り出し得る。
【0062】
ブロック414で、モデルの動作の結果として、モデル実行ルーチン128が1つ以上の出力を生成し得る。いくつかの実施形態において、出力は、データの関係、バインディング、モデル、パラメータ、パラメータ値等のうちの1つ以上を含み得る。モデルはまた、例えば製品の品質を確保するようバットの温度を調整するために、ユーザがプロセス制御システム及び/またはプロセスプラントに取り込むための1つ以上の潜在的なアクションの形態で、出力も生成し得る。モデルは、制御ルーチンまたは制御ルーチンに対する調整の形態で、出力を生成し得る。データモデリングスタジオ109はまた、1人以上のユーザに送信される警告の形態で、出力を提示し得る。警告はさらに、プラントでのそれらの役割及び責任に基づき得る。例えば、ボイラーの維持管理に対して責任を負うオペレータは、ボイラーに関連する警告を受信し得る。警告は、モデルが発見した潜在的な問題、ならびにユーザが行い得る1つ以上の可能な解決策またはアクションを含み得る。データモデリングスタジオ109は、1つ以上のアプリケーションの結果を表示し得る。例えば、結果は、別のデータテンプレートへの入力として使用することができる、または別のデータモデルの一部として使用することができる、1組の生データ点として結果を表示し得る。
【0063】
ブロック416で、モデルの出力テンプレート129cによって定義される出力が記憶され得る。例えば、出力は、一体的論理ビッグデータ記憶領域に記憶され得る。いくつかの実施形態において、出力は、処理プラントの中の1つ以上のデバイスにアップロードされ得るルーチンであり得る。例えば、データモデリングスタジオは、処理プラントの中の1つ以上のコントローラに伝送され得る、またはビッグデータバックボーン105を通して別の処理プラントに伝送され得る、制御ルーチンを出力し得る。さらに、モデルは、将来の使用またはアクセスのために、ビッグデータアプライアンス102に記憶され得る。
【0064】
モデルの出力はまた、チャート、グラフ等のグラフィカルな様式でも提示され得る。有用であり得る1つの表示のタイプは、他のプラント等の他のデータソースから、及び/または気象データベース等のサードパーティデータベースから、データアイテムを有するプラントデータを取り込むことである。一実施形態において、データモデリングスタジオ109は、PHVチャートを生成し、非プラントデータソースからイベントクロニクルデータならびにイベントデータを表示し得る。他のデータソースからの項目は、警報が発せられる等のプロセスプラントのイベントが起こると同時に、時間順にチャートに配置され得る。いくつかの実施形態において、これらの項目はまた、ユーザを他のデータソース及び/または他の情報表示に誘導し、また、ユーザがプラントと外部データとの関係を決定することを可能にするために、これらの他のデータソースの探索ならびにモデリング及び分析記録を可能にし得る、ライブリンクされた項目でもあり得る。追加的に、データモデリングスタジオ109は、現問題点に遭遇した際の1つ以上のクエリに基づいて、情報表示を生成し得る。現問題点は、現問題点の手動選択、または最近の警報に基づく等の、様々な技法によって決定され得る。
【0065】
ユーザは、引き続き、テンプレート129を選択し、配設し、そして、1つ以上のデータフローテンプレート129dを選択して、テンプレート129間の接続を表し得る。再度
図3を参照すると、ユーザは、様々なセンサからの温度示度が閾値レベルを満たしているかどうかを判定するために、モデルをグラフィカルに構築し得る。
図3で例示されるように、キャンバス領域125bには、センサD1(302)、D2(304)、及びD3(306)、D4(308)に対応する4つのデータテンプレートが配置される。さらに、キャンバス領域125bにはまた、クリッピングルーチン310、フィルタリングルーチン312、及び閾値ルーチン314に対応する3つの機能テンプレートも配置される。ユーザはさらに、データソースD1(302)、D2(304)、及びD3(306)が、それぞれ、クリッピングルーチン機能テンプレート310への入力としての役割を果たすことを示す、データフローテンプレート302a、304a、及び306aを選択している。データフローテンプレート310aは、クリッピングルーチン310の出力がフィルタリングルーチン機能テンプレート312に入力されたことをグラフィカルに示す。データフローテンプレート308aは、データソースD4(308)もフィルタリングルーチン機能テンプレート312に入力されたことをグラフィカルに示す。データフローテンプレート312aは、フィルタリングルーチン312の出力が、閾値ルーチン314に対応する機能テンプレートに入力されることを示す。本実施例において、閾値ルーチン314は、フィルタリングルーチン312からデータを取り出し、そして、閾値ルーチン314を使用して、任意の値が閾値を満たすかどうかを判定し得る。データフローインジケータ314aは、(例えば、閾値を満たしたかどうかを示す2進値であり得る)閾値ルーチン314の出力が、ダッシュボードテンプレート316によってモデルにおいてグラフィカルに表される、ダッシュボードビューに出力されることを示す。追加的に、データフローインジケータ314bは、閾値ルーチンの出力が、警報テンプレート318によってモデルにおいてグラフィカルに表される、警報への出力でもあることを示す。警報テンプレート318は、閾値を満たしていないことをユーザに(グラフィカルに、音声で、等)警告するように設定され得る。
【0066】
いくつかの実施形態において、ユーザは、機能テンプレート129bへの入力を表すために、1つ以上のデータフローテンプレート129dを選択し得る。ユーザは、第2の機能テンプレート129bの入力としての役割を果たすように、第1の機能テンプレート129bの出力を選択し得る。例えば、ユーザは、データソースを使用してプラントの動作をモデル化するために、モデリング構造ルーチンへの入力として、2つのデータソーステンプレート129aを選択し得る。ユーザは、回帰分析等の分析ルーチンを定義する機能テンプレート129bへの入力として、このモデルの出力を選択し得る。いくつかの実施形態において、ユーザは、関係を示すために、2つのデータテンプレート129aをともに「バインドする」ことを望み得る。例えば、ユーザは、インターフェースを使用して、バットの温度出力を、プロセスプラント10等のプロセスプラントの中の特定のコントローラと関連付けられる警報にバインドし得る。
【0067】
ユーザはまた、プロセスプラント10の動作をシミュレーションし、出力テンプレート129dを設定して、プロセスプラント10によって製造される1つ以上の製品の動作品質に影響を及ぼす1つ以上の予測を含むために、モデルも作成し得る。シミュレーションモデルを実行することによって、ユーザは、製品の特性を試験するために、プロセスプラント10が製品を製造し終わるまで待つ必要がない。例えば、ワクチンを生成する処理プラントは、ワクチンの効力を予測するために、リアルタイムデータに基づいてプロセスプラント10の動作をモデル化し、リアルタイムまたはほぼリアルタイムのデータ及び履歴データに対して分析及び/またはモデリングを行うことができる。データモデリングスタジオ109を使用してグラフィカルに作成されるモデルは、現在のプラント条件及びプロセス制御示度に基づいてウイルスの効力を予測し、そして、それらを履歴理由と比較して、ワクチンの効力を決定し得るか、またはプロセスプラント10の動作を調整、例えばバットの温度を調整し得る。
【0068】
しかしながら、データモデリングスタジオ109のユーザは、プロセスプラントの動作をモデル化するが、プラント装置自体に関する分析を行うために使用され得るモデルを作成することだけに限定されない。データソーステンプレート129aはまた、プロセスプラント10のビッグデータアーキテクチャの一部として収集される全ての(またはほぼ全ての)プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンス102に記憶される、データソースを含み得る。データソース129aは、ビッグデータアプライアンス102に記憶される包括的な高忠実度のデータを定義し得、ビッグデータアーキテクチャを実装するプロセスプラント10の種々のパラメータのいずれかまたは全てを定義する。データモデリングスタジオ109は、プラント全体及び外部ソースからデータを取り出すデータソースを示す、様々なデータソーステンプレート129aへのアクセスを提供するので、データモデリングスタジオ109は、ユーザが、より正確なモデルを作成し、より正確な分析を行うことを可能にする。
【0069】
いくつかの実施形態において、データモデリングスタジオ109を使用して作成されるモデルは、警報に関連する1つ以上の潜在的な問題点を出力し、潜在的な問題点を解決するためにプロセスプラントにおいて実装することができる1つ以上のアクション、例えば弁の圧力を調整することをユーザに提示し得る。
【0070】
いくつかの実施形態において、データモデリングスタジオ109は、プラント装置の健全性及び状態に関する動作を行うために使用され得る。ユーザは、データモデリングスタジオ109のグラフィックユーザインターフェース300を使用して、プラント装置の状態に関するデータ、例えば圧力フロー、値圧力、振動データ等を収集するデータソースを示す、1つ以上のデータソーステンプレート129aを選択し得る。データソーステンプレート129aは、警報、維持管理の報告、プラント装置が過去にいつ故障したか、等に関連する履歴データを含み得る。モデルはまた、装置の振動示度等のリアルタイムデータを収集するデータソースを示す、1つ以上のデータソーステンプレート129aも含み得る。データストリームは、1つ以上のプラントエンティティからリアルタイムまたはほぼリアルタイムで受け取られ得、履歴データ、別のプロセスプラントからのデータ等であり得る。ユーザはまた、1つ以上のモデリング及び/または分析テンプレートを選択し、そして、モデリング及び/または分析テンプレートへの入力として、データソーステンプレート129aに入力し得る。
【0071】
1つの例示的なシナリオにおいて、プロセスプラントにおけるある特定のイベントの組み合わせは、製品が後ほど(例えば、イベントの組み合わせの発生から数時間後に)最終的に生成されたときに、不十分な製品品質に通じる。オペレータは、イベントの発生と製品品質との関係に気付かない。不十分な製品品質を(既知のプロセス制御システムで現在行われているように)数時間検出及び決定し、したがって、トラブルシューティングを行って、不十分な製品品質の根本的原因を決定するのではなく、ユーザは、モデルを作成し、実行して、不十分な製品品質の発生時またはその直後に、例えばイベントの発生に対応するデータがアプライアンス102に伝送されたときに、イベントの組み合わせを検出し得る。モデルのモデル出力は、これらのイベントの発生に基づく不十分な製品品質の予測、オペレータへの予測の警告であり得、及び/または、1つ以上のパラメータまたはプロセスをリアルタイムで調整または変更して、イベントの組み合わせの影響を軽減するためのプロセスデータであり得る。例えば、モデルの出力は、修正された設定点または修正されたパラメータ値であり得る。ユーザは、モデルの出力を使用して、モデルをさらに精緻化する、新しいモデルを作成する、異なるデータに対して同じモデルを動作させる、等を行い得る。データモデリングスタジオ109は、ビッグデータマシン102に記憶した包括的な高忠実度のデータへのアクセスを有するので、本方法を動作させる前に、知識発見方法110において収集され、使用されるプロセスプラントの種々のパラメータのいずれかまたは全てを定義する必要はない。したがって、データモデリングスタジオ109は、ユーザが、最初に自分が望むデータを選択し、そして、データを処理する前にその所望のデータを収集するようにプラント装置を構成することを必要としない。このようにして、データモデリングスタジオ109によって構成され、実行されるモデルは、現在知られているプロセス制御システムと比較して、はるかに迅速かつ効率的に問題を発見し、潜在的に軽減することを可能にする。
【0072】
別の例示的なシナリオでは、製品動作の変化を検出するために、モデルが利用され得る。例えば、モデルは、ある特定の通信速度の検出した変化、及び/またはシステムダイナミクスが変化している場合があることを示し得る、1つのセンサからまたは複数のセンサから経時的受信したパラメータ値の変化またはパターンからの検出した変化を出力し得る。さらに別の例示的なシナリオにおいて、モデルは、プロセスプラントの動作中のプロセスの挙動及び警報の発生に基づいて、特定の一群の値または他の供給者装置が故障であると診断し、決定するために利用され得る。
【0073】
別の例示的なシナリオにおいて、モデルは、プロセスプラントの動作をシミュレーションし、そして、ワクチンの効力等の製品機能を予測し得る。モデルはさらに、複数のプラント及び/またはプラントサイトにわたるログインパターン、再試行の増加、及びそれらのそれぞれの場所等の、プロセスプラント10と関連付けられる潜在的なセキュリティ問題を監視し、検出するために作成され得る。このようにして、領域、産業、または全社単位で、診断及び/または予知情報を収集するために、複数のプロセスプラントを保有または運営する企業。
【0074】
図2~
図4を参照して上で論じられるように、ユーザは、データソーステンプレート129aを選択して、データモデリングスタジオ109を使用して作成されるモデルに含まれるデータをグラフィカルに描写し得る。しかしながら、いくつかの実施形態において、ユーザは、データエクスプローラ155を使用して、モデルに含まれるデータソースを選択し得る。データモデリングスタジオ109に関して論じられているが、データエクスプローラ155はまた、データの探索、探索等のために、データ知識アプリケーション114によってアクセスされ得ることも認識されるであろう。
【0075】
以下、
図5を参照すると、データエクスプローラ155のユーザインターフェース1000が例示される。データエクスプローラ155のユーザインターフェース1000は、(プロセスプラント10等の)プロセスプラントの中の種々のハードウェア及びソフトウェアコンポーネント間の階層関係のグラフィカルビューを提供する。データエクスプローラ155は、特定のプロセスプラントで使用されるプラント装置の特定の部分、ならびに特定のプロセスプラント中のプラント装置の特定の部分を動作させるために使用される、制御ルーチン等の種々のソフトウェアコンポーネントを表示する。
【0076】
このようにして、データエクスプローラ155は、プロセス制御システムビッグデータ記憶領域102に記憶したデータへのアクセスを提供する。データは、プロセス制御システム10のランタイム中に収集され、(任意の対応するメタデータ120bとともに)プロセス制御システムビッグデータ記憶領域120に記憶した時系列データ点120aを含む、履歴化されたデータであり得る。例えば、履歴化されたデータは、プロセスプラント10の動作中に使用される、制御ルーチン、パラメータ及びパラメータ値、バッチレシピ、構成等の指示を含み得、履歴化されたデータは、プロセスプラント10の動作または関連する活動中に起こったユーザアクションの指示を含み得る。
【0077】
データモデリングスタジオ109のユーザは、ある特定の定義を探索することを望み得、また、データエクスプローラを実行するために、データエクスプローラツールボタン714を選択する入力を入力し得る。データエクスプローラツールが実行されると、
図5のユーザインターフェース1000が表示され得る。ユーザインターフェース1000は、テキストプルダウンメニュー、絵文字メニュー、及び他のオプションを含み得る、主制御ウィンドウ1002を含み得る。ユーザインターフェース1002はまた、ユーザが階層関係に関する定義を閲覧することを可能にする、サイドバー1004も含み得る。例示的な階層システムは、制御システムと、動作と、物理プラントとを含む。制御システム階層は、プラントで使用される種々の制御ルーチンに対応する定義を表示する。動作階層は、プロセスプラントによって行うことができる、またはモデリング及び/もしくは分析定義を使用してデータモデリングスタジオによって行われ得る動作に対応する定義を表示し得る。物理プラント階層は、プロセスプラントにおいて展開される物理デバイスを示し得る。当然、これらの階層システムは、単なる例に過ぎず、他のシステム及び/またはシステムの組み合わせが使用され得る。さらに、各階層は、1つ以上の副階層を有し得る。ある特定のデータソースはまた、2つ以上の階層システムにも属し得る。例えば、コントローラは、制御システム階層ならびに物理プラント階層に含まれ得る。
【0078】
データエクスプローラ155は、ユーザが、全体にわたる階層(すなわち、物理プラント)を選択し、視覚インジケータ1006を選択して、その階層に関連するまたは属するデータオブジェクトを見るために「ドリルダウン」することを可能にする。ユーザはまた、階層構造のデータを閲覧するために、データエクスプローラツールを実行することによって、ある特定のデータソースを探索することも望み得る。データエクスプローラ155は、ユーザが、プロセスプラント10のビッグデータアーキテクチャの一部として収集される全ての(またはほぼ全ての)プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンス102に記憶されるデータソースを探索することを可能にする。データは、ビッグデータアプライアンス102に記憶される包括的な高忠実度のデータを含み得、ビッグデータアーキテクチャを実装するプロセスプラント10の種々のパラメータのいずれかまたは全てを定義する。ユーザは、データエクスプローラ155を使用して、履歴化または記憶されたデータ120を探索し得る。データエクスプローラ155は、ユーザが、データストリーム定義170に基づいて(及びいくつかの事例では、分析定義172の少なくともいくつかに基づいて)、記憶したデータ120の少なくとも一部分を閲覧または視覚化することを可能にし得る。例えば、データエクスプローラ155によって、ユーザが、特定の期間から特定のバットの温度データをプルし、その期間中の温度の変化を閲覧するためにトレンディング分析を適用することを可能にし得る。別の実施例では、データエクスプローラ155によって、ユーザが、バット温度に影響を及ぼす独立または従属変数を決定するために、回帰分析を行うことを可能にし得る。ユーザはまた、主画面提示1008の中にさらに詳細に表示されるデータも選択し得る。例えば、ユーザは、物理プラント階層を「ドリルダウン」し、ハードウェア警報階層をドリルダウンし得る。
【0079】
本明細書で説明されるデータモデリングスタジオは、モデルをグラフィカルに作成し、実行するための頑健で効率的なアーキテクチャを提供する。データモデリングスタジオ109が、収集される全ての(またはほぼ全ての)プロセスデータ及びプラントデータを収集し、記憶するビッグデータアプライアンスを含むビッグデータアーキテクチャを利用して、プロセスプラントで実装される実施形態において、ユーザは、データモデリングスタジオ109のインターフェースルーチン300を使用して、追加的なデータを収集するためにプラントの動作を再構成することを必要とすることなく、モデルをグラフィカルに編集し、反復し得、これは、はるかに速いモデル開発環境を生じさせる。
【0080】
一例として、ユーザは、プロセスプラント(プロセスプラント109等)によって生成される製品の品質に、温度示度が相関すると考え得る。故に、ユーザは、データモデリングスタジオ109のグラフィカルなユーザインターフェース300を使用して、製品品質データ及び温度データに対して相関ルーチンを行うモデルを作成し得る。それに応じて、ユーザは、温度示度に対応する第1のデータソーステンプレート129a、製品の品質に対応する第2のデータソーステンプレート129b、及び相関ルーチンに対応する機能テンプレート129bを選択し得る。ユーザはさらに、データフローテンプレート129dを使用して、第1及び第2のデータソーステンプレート129aが相関ルーチンに入力されることを示し得る。ユーザはまた、相関ルーチンの結果(例えば、相関パーセンテージ)がダッシュボードへの出力であることを示す、出力テンプレート129cも選択し得る。ユーザは、次いで、ランタイムエンジン124を使用して、モデルを実行し得る。しかしながら、実行されるモデルの出力は、温度示度が製品の品質に相関しないことを示し得る。ユーザは、今度は、異なるデータ入力、例えば弁圧力データに対して相関モデルを再動作させることを望み得る。
【0081】
従来、ユーザは、次いで、動作中に弁圧力データを収集するようにプロセスプラントを構成しなければならない。以前のプロセス制御システムの限度のため、弁圧力データを収集することは、製品を生成するためにプロセスプラントを動作させることと、モデルに必要とされる速度で弁圧力データを収集することとを含み得る。弁圧力データを収集するためにプロセスプラントを再動作させるプロセスは、正確なモデルを実行するための十分なデータを収集するために、数時間、数日、さらには数か月かかる可能性がある。さらに、プロセスプラントを再実行させて、データを収集している間、ユーザは、該当する場合に、どのプロセス制御データが製品品質と相関しているか決定していないので、プラントは、次善的に動作している場合がある。
【0082】
データモデリングスタジオ109は、ビッグデータマシンで利用可能なプラントデータの全てに対するアクセスを有し、弁圧力データが既に記録されているので、ユーザがモデルを調整するために行わなければないことは、単に、(データモデリングスタジオ109のグラフィックユーザインターフェース300のライブラリ領域125aから)弁圧力データに対応するデータソーステンプレート129aを選択することだけである。実際に、ユーザは、データモデリングスタジオ109を使用して、該当する場合に、どの値が製品品質に対応するのかを決定するために、プロセスプラント内の異なるデータソースに対して相関機能を自動的に再動作させるモデルを作成し得る。ユーザはさらに、データエクスプローラ155のインターフェース1000に提示される階層システムを使用し、特定のプロセスプラントで使用されるプラント装置の特定の部分からプロセス制御データを選択することによって、データモデリングスタジオ109を使用して作成されるモデルの精度を向上させ得る。
【0083】
当然、これは、データモデリングスタジオ109によって行うことができる単なる1つの簡単な例に過ぎない。当業者は、モデルの作成がより複雑になり、正確なモデルのためのデータ要件がより厳しくなるにつれて、データモデリングスタジオ109の使い易さ、及びビッグデータアプライアンス102からの高忠実度データの頑健さが、より包括的で正確なモデルの作成を可能にすることを認識することができる。
【0084】
以下、
図6を参照して、(
図1で例示される)複数のノード108がさらに詳細に論じられる。プロセス制御ビッグデータネットワーク100の複数のノート108は、複数の異なる群のノード110~115を含み得、データモデリングスタジオ109及び/またはデータ知識アプリケーション114は、(
図1で例示される)プロセス制御システムビッグデータネットワーク100との通信可能な接続で、1つ以上のノード108からデータを取り出し得る。さらに、(
図1で例示される)データモデリングスタジオ109のランタイムエンジンによって実行されるモデルは、1つ以上のノード108で実行するために、下で詳細に説明されるように、データ(例えば、プロセス制御データ)を該ノードに出力し得る。第1の群のノード110は、本明細書で「プロバイダノード110」または「プロバイダデバイス110」と称され、プロセス制御データを生成し、ルーティングし、及び/または受信して、プロセスプラント環境(プロセスプラント10等)において、プロセスをリアルタイムで制御することを可能にする1つ以上のノードまたはデバイスを含み得る。プロバイダデバイスまたはノード110の例としては、その主要機能が、プロセスを制御するためにプロセス制御データに対して生成及び/または動作させることを目的とするデバイス、例えば、無線及び有線フィールドデバイス(センサ及び弁等)、コントローラ、または入力/出力(I/O)デバイスが挙げられる。プロバイダデバイス110の他の例としては、その主要機能が、プロセス制御システムの1つ以上の通信ネットワーク(その中の1つが、プロセス制御ビッグデータネットワーク100)へのアクセスまたはそれを通る経路を提供することであるデバイス、例えば、アクセスポイント、ルータ、有線制御バスへのインターフェース、無線通信ネットワークへのゲートウェイ、外部ネットワークまたはシステムへのゲートウェイ、ならびに他のそのようなルーティング及びネットワーキングデバイスが挙げられ得る。プロバイダデバイス110のさらに他の例としては、その主要機能が、プロセス制御システム10の全体を通して蓄積されるプロセスデータ及び他の関連するデータを一時的に記憶すること、ならびに(
図1で例示される)プロセス制御システムビッグデータアプライアンス102での履歴化のために、一時的に記憶したデータを伝送させることであるデバイスが挙げられ得る。
【0085】
プロバイダデバイス110の少なくとも1つは、直接様式または間接様式で、プロセス制御ビッグデータネットワークバックボーン105に通信可能に接続され得る。例えば、無線フィールドデバイスは、ルータ、アクセスポイント、及び/または無線ゲートウェイを介して、バックボーン105に通信可能に接続され得る。一般的に、プロバイダデバイス110は、統合型ユーザインターフェースを有しないが、プロバイダデバイス100のいくつかは、例えば、有線または無線通信リンクを通じて通信することによって、またはユーザインターフェースデバイスをプロバイダデバイス110のポートに差し込むことによって、ユーザコンピューティングデバイスまたはユーザインターフェースと通信可能に接続する能力を有し得る。
【0086】
第2の群のノード112は、本明細書で「ユーザインターフェースノード112」または「ユーザインターフェースデバイス113」と称され、それぞれが統合型ユーザインターフェースを有し、それを介して、ユーザまたはオペレータが、データモデリングスタジオ109及び/またはデータ知識アプリケーション114と相互作用し得る1以上のノードまたはデバイスを含み得る。これらのユーザインターフェースノードまたはデバイス112の例としては、モバイルまたは固定コンピューティングデバイス、ワークステーション、ハンドヘルドデバイス、タブレット、サーフェスコンピューティングデバイス、スマートフォン、ならびにプロセッサ、メモリ、及び統合型ユーザインターフェースを有する任意の他のコンピューティングデバイスが挙げられ得る。統合型ユーザインターフェースとしては、画面、キーボード、キーパッド、マウス、ボタン、タッチ画面、タッチパッド、生体認証インターフェース、スピーカ及びマイクロホン、カメラ、ならびに/または任意の他のユーザインターフェース技術が挙げられる。各ユーザインターフェースノード112は、1つ以上の統合型ユーザインターフェースを含み得る。さらに、ユーザインターフェースノード112は、プロセス制御ビッグデータネットワークバックボーン105への直接接続を含み得、または、例えばアクセスポイントまたはゲートウェイを介した、バックボーン105への間接接続を含み得る。ユーザインターフェースノード112は、有線様式及び/または無線様式で、プロセス制御システムビッグデータネットワークバックボーン105に通信可能に接続し得る。いくつかの実施形態において、ユーザインターフェースノード112は、アドホック様式で、ネットワークバックボーン105に接続し得る。
【0087】
当然、プロセス制御ビッグデータネットワーク100の複数のノード108は、プロバイダノード110及びユーザインターフェースノード112だけに限定されない。1つ以上の他のタイプのノード115も、複数のノード108に含まれ得る。例えば、プロセスプラント10の外部にあるシステム(例えば、実験室システムまたは運搬システム)のノードが、システム100のネットワークバックボーン105に通信可能に接続され得る。ノードまたはデバイス115は、直接接続または間接接続を介して、バックボーン105に通信可能に接続され得、及び/または有線接続または無線接続を介して、バックボーン105に通信可能に接続され得る。いくつかの実施形態において、一群の他のノード115は、プロセス制御システムビッグデータネットワーク100から省略され得る。
【0088】
ノード108の少なくともいくつかは、それぞれが、タスク、測定値、イベント、及び他のデータをリアルタイムで記憶またはキャッシュするために、それぞれのメモリ記憶装置(
図1においてアイコンMXで示される)を含み得る。メモリ記憶MXは、高密度メモリ記憶技術、例えば、固体ドライブメモリ、半導体メモリ、光メモリ、分子メモリ、生物学的メモリ、または任意の他の好適な高密度メモリ技術を含み得る。しかしながら、メモリ記憶装置MXはまた、フラッシュメモリ、ハードドライブ、または任意の他のタイプのメモリも含み得る。メモリ記憶装置MX(及びいくつかの事例では、フラッシュメモリ)は、そのそれぞれのノード108によって生成、受信、または別様には観察されるデータを一時的に記憶またはキャッシュするように構成され得る。ノード108(例えば、コントローラデバイス)の少なくともいくつかのフラッシュメモリMXはまた、通常動作中に、または停電もしくはノードをオフラインにさせる他のイベントの後に、この情報を使用する際の遅延を最小にするために、ノード構成、バッチレシピ、及び/または他のデータのスナップショットも記憶し得る。当然、ノード110、112、及び任意の数のノード115のいずれかまたは全ては、高密度メモリ記憶装置MXを含み得る。異なるタイプまたは技術の高密度メモリ記憶装置MXが、1組のノード108全体にわたって、または1組のノード108に含まれるノードのサブセット全体にわたって利用され得ることを理解されたい。
【0089】
プロバイダノードまたはデバイス110によってキャッシュまたは収集され得るリアルタイムデータの例(しかし、包括的なリストではない)としては、測定データ、制御信号データ、構成データ、バッチデータ、イベントデータ、及び/または連続データが挙げられ得る。例えば、構成、バッチレシピ、設定点、出力、速度、制御アクション、診断、警報、イベント、及び/またはそれらに対する変更に対応するリアルタイムデータが収集され得る。リアルタイムデータの他の例としては、プロセスモデル、統計、状態データ、ならびにネットワーク及びプラント管理データが挙げられる。
【0090】
ユーザインターフェースノードまたはデバイス112によってキャッシュまたは収集され得るリアルタイムデータの例としては、例えば、ユーザログイン、ユーザクエリ、ユーザによって(例えば、カメラ、オーディオ、またはビデオ記録デバイスによって)捕捉されたデータ、ユーザコマンド、ファイルの作成、修正、もしくは削除、ユーザインターフェースノードまたはデバイスの物理的または空間的場所、ユーザインターフェースデバイス113によって行われた診断または試験の結果、及びユーザインターフェースノード112と相互作用するユーザによって開始される、または該ユーザに関連する他のアクションまたは活動が挙げられ得る。
【0091】
収集したデータは、動的または静的データであり得、例えば、データベースデータ、ストリーミングデータ、及び/またはトランザクショナルデータが挙げられ得る。全般的に、ノード108が生成、受信、または観察する任意のデータは、対応するタイムスタンプまたは収集/キャッシュの時間の指示とともに収集またはキャッシュされ得る。好ましい実施形態において、ノード108が生成、受信、または観察する全てのデータは、各データの収集/キャッシュの時間(例えば、タイムスタンプ)のそれぞれの指示とともに、そのメモリ記憶装置(例えば、高密度メモリ記憶装置MX)に収集またはキャッシュされる。
【0092】
ノード110、112(及び随意に、他のノード115の少なくとも1つ)は、データの不可逆圧縮、データのサブサンプリング、またはデータを収集する目的でノードを構成することを必要とすることなく、リアルタイムデータを自動的に収集またはキャッシュするように、及び収集/キャッシュしたデータをビッグデータアプライアンス102及び/または他のノード108に送達させるように構成され得る。従来技術のプロセス制御システムとは異なり、プロセス制御システムビッグデータネットワーク100のノードまたはデバイス108で収集されるデータの識別情報は、デバイス108に演繹的に構成する必要はない。さらに、データがノード108で収集され、そこから送達される速度も、構成、選択、または定義する必要がない。代わりに、プロセス制御ビッグデータシステム100のノード110、112(及び随意に、他のノード115の少なくとも1つ)は、データが生成、受信、または取得される速度でノードによって生成、受信、または取得される全てのデータを自動的に収集し得、また、収集したデータを高忠実度で(例えば、データの不可逆圧縮、または元々の情報の損失を引き起こし得る任意の他の技法を使用することなく)プロセス制御ビッグデータアプライアンス102に、及び随意に、ネットワーク100の他のノード108に送達させ得る。
【0093】
図7では、プロセス制御ビッグデータネットワークバックボーン105に接続される例示的なプロバイダノード110を例示する詳細なブロック図が例示される。より具体的には、プロセスプラント10から収集され、データ記憶領域120に記憶されるデータを収集し、キャッシュするために、プロバイダノードが使用され得る。データソーステンプレート129a(データモデリングスタジオ109のグラフィックユーザインターフェース300においてモデルを構築するために使用される)は、データ記憶領域120に記憶されるデータに対するグラフィカルな表現またはポインタである。このようにして、ビッグデータプロセス制御ネットワーク100で収集され、データ記憶領域120に記憶されるデータの全てが、データモデリングスタジオ109及びデータ知識アプリケーション114のユーザに利用可能である。
【0094】
上で論じられるように、プロバイダノード110は、その主要機能が、プロセスコントローラ、フィールドデバイス、及びI/Oデバイス等の、プロセスプラント環境10においてリアルタイムでプロセスを制御する機能を行うために使用されるプロセス制御データを自動的に生成及び/または受信することである、1つ以上のデバイスを含み得る。プロセスプラント環境10において、プロセスコントローラは、一般的に、フィールドデバイスによって行われるプロセス測定値を示す信号を受信し、制御ルーチンを実装するためにこの情報を処理し、そして、プラント10においてプロセスの動作を制御するために、他のフィールドデバイスへの有線または無線通信リンクを通じて送信される制御信号を生成する。一般的に、少なくとも1つのフィールドデバイスは、プロセスの動作を制御するために、物理的機能(例えば、弁を開くまたは閉じる、温度、バーナーの炎、ファンの速度を上昇または下降させる等)を行い、いくつかのタイプのフィールドデバイスは、I/Oデバイスを使用してコントローラと通信し得る。プロセスコントローラ、フィールドデバイス、及びI/Oデバイスは、有線または無線であり得、任意の数及び組み合わせの有線及び無線プロセスコントローラ、フィールドデバイス、及びI/Oデバイスは、プロセス制御ビッグデータネットワーク100のノード110内に含まれ得る。
【0095】
図7で例示されるように、コントローラ11は、入力/出力(I/O)カード26及び28を介して、有線フィールドデバイス15~22に通信可能に接続され、また、無線ゲートウェイ35及びネットワークバックボーン105を介して、無線フィールドデバイス40~46に通信可能に接続される(しかしながら、別の実施形態において、コントローラ11は、別の有線または無線の通信リンクを使用すること等によって、バックボーン105以外の通信ネットワークを使用して、無線ゲートウェイ35に通信可能に接続され得る。)。
図7において、コントローラ11は、プロセス制御システムビッグデータネットワーク100のノード110であるように示され、また、プロセス制御ビッグデータネットワークバックボーン105に直接接続される。
【0096】
一例としてEmerson Process Managementによって販売されているDeltaV(商標)コントローラであり得るコントローラ11は、フィールドデバイス15~22及び40~46のうちの少なくともいくつかを使用して、バッチプロセスまたは連続プロセスを実装するために動作し得る。コントローラ11は、例えば標準的な4~20mAデバイス、I/Oカード26、28、及び/またはFOUNDATION(登録商標)フィールドバス通信プロトコル、HART(登録商標)プロトコル、WirelessHART(登録商標)プロトコル等の任意のスマート通信プロトコルと関連付けられる任意の所望のハードウェア及びソフトウェアを使用して、フィールドデバイス15~22及び40~46に通信可能に接続され得る。コントローラ11は、追加的にまたは代替的に、ビッグデータネットワークバックボーン105を使用して、フィールドデバイス15~22及び40~46のうちの少なくともいくつかと通信可能に接続され得る。
図7で例示される実施形態において、コントローラ11、フィールドデバイス15~22、及びI/Oカード26、28は、有線デバイスであり、フィールドデバイス40~46は、無線フィールドデバイスである。当然、有線フィールドデバイス15~22、及び無線フィールドデバイス40~46は、将来開発される任意の標準規格またはプロトコルを含む、任意の他の所望の標準規格(複数可)または任意の有線もしくは無線プロトコル等のプロトコルに準拠することができる。
【0097】
図7のコントローラ11は、制御ループを含み得る(メモリ32に記憶された)1つ以上のプロセス制御ルーチンを実装または監督する、プロセッサ30を含む。プロセッサ30は、制御活動を行うために、フィールドデバイス15~22及び40~46と通信し得、また、バックボーン105に通信可能に接続される他のノード(例えば、ノード110、112、115)と通信し得る。本明細書で説明される制御ルーチンまたはモジュール(品質予測及び障害検出モジュールまたは機能ブロックを含む)のいずれかは、所望に応じて異なるコントローラまたは他のデバイスによって実装または実行されるその一部を有し得ることに留意されたい。同様に、プロセス制御システム10内で実装されるように本明細書で説明される制御ルーチンまたはモジュールは、ソフトウェア、ファームウェア、ハードウェア等を含む、任意の形態をとり得る。制御ルーチンは、オブジェクト指向のプログラミング、ラダー論理、シーケンシャルファンクションチャート、機能ブロック図等の任意の所望のソフトウェア形式で、または任意の他のソフトウェアプログラミング言語もしくは設計パラダイムを使用して実装され得る。制御ルーチンは、ランダムアクセスメモリ(RAM)またはリードオンリーメモリ(ROM)等の任意の所望のタイプのメモリ(例えば)に記憶され得る。同様に、制御ルーチンは、例えば、1つ以上のEPROM、EEPROM、特定用途向け集積回路(ASIC)、または任意の他のハードウェアもしくはファームウェア要素にハードコードされ得る。したがって、コントローラ11は、任意の所望の様式で、制御ストラテジまたは制御ルーチンを実装するように構成され得る。
【0098】
いくつかの実施形態において、コントローラ11は、一般に機能ブロックと称されるものを使用して制御ストラテジを実装し、各機能ブロックは、制御ルーチン全体のオブジェクトまたは他の部分(例えば、サブルーチン)であり、また、プロセス制御システム10内のプロセス制御ループを実装するために、(リンクと呼ばれる通信を介して)他の機能ブロックと併せて動作する。制御に基づく機能ブロックは、一般的に、プロセス制御システム10内のいくつかの物理的機能を行うために、送信機、センサ、または他のプロセスパラメータ測定デバイスと関連付けられるような入力機能、PID、ファジー論理等、制御を行う制御ルーチンと関連付けられるような制御機能、または弁等のいくつかのデバイスの動作を制御する出力機能、のうちの1つを行う。当然、ハイブリッド及び他のタイプの機能ブロックが存在する。機能ブロックは、コントローラ11に記憶され、それによって実行され得、それは一般的に、これらの機能ブロックが標準4~20mAデバイス及びHARTデバイス等のいくつかのタイプのスマートフィールドデバイスのために使用され、またはそれらと関連付けられるときに当てはまり、またはフィールドデバイス自体に記憶され、それによって実装され得、それは、フィールドバスデバイスに当てはまり得る。コントローラ11は、1つ以上の制御ループを実装し得る1つ以上の制御ルーチン38を含み得る。各制御ループは、一般的に、制御モジュールと称され、また、機能ブロックの1つ以上を実行することによって行われ得る。
【0099】
有線フィールドデバイス15~22は、センサ、弁、送信機、ポジショナ等の任意のタイプのデバイスであり得る一方で、I/Oカード26及び28は、任意の所望の通信またはコントローラプロトコルに準拠する任意のタイプのI/Oデバイスであり得る。
図7で例示される実施形態において、フィールドデバイス15~18は、アナログ線または組み合わせたアナログ及びデジタル線を通じてI/Oカード26に通信する標準的な4~20mAデバイスまたはHARTデバイスである一方で、フィールドデバイス19~22は、フィールドバス通信プロトコルを使用して、デジタルバスを通じてI/Oカード28に通信するFOUNDATION(登録情報)フィールドバスフィールドデバイス等のスマートデバイスである。しかしながら、いくつかの実施形態において、有線フィールドデバイス15~22の少なくともいくつか、及び/またはI/Oカード26、28の少なくともいくつかは、ビッグデータネットワークバックボーン105を使用して、コントローラ11と通信し得る。いくつかの実施形態において、有線フィールドデバイス15~22の少なくともいくつか、及び/またはI/Oカード26、28の少なくともいくつかは、プロセス制御システムビッグデータネットワーク100のノードであり得る。
【0100】
図7で示される実施形態において、無線フィールドデバイス40~46は、WirelessHARTプロトコル等の無線プロトコルを使用して、無線ネットワーク70の中で通信する。そのような無線フィールドデバイス40~46は、(例えば、無線プロトコルを使用して)無線通信するようにも設定される、プロセス制御ビッグデータネットワーク100の1つ以上の他のノード108と直接通信し得る。無線で通信するように構成されない1つ以上の他のノード108と通信するために、無線フィールドデバイス40~46は、バックボーン105または別のプロセス制御通信ネットワークに接続される、無線ゲートウェイ35を利用し得る。いくつかの実施形態において、無線フィールドデバイス40~46の少なくともいくつかは、プロセス制御システムビッグデータネットワーク100のノードであり得る。
【0101】
無線ゲートウェイ35は、無線通信ネットワーク70の種々の無線デバイス40~58へのアクセスを提供し得る、プロバイダデバイス110の一例である。特に、無線ゲートウェイ35は、無線デバイス40~58、有線デバイス11~28、及び/または(
図7のコントローラ11を含む)プロセス制御ビッグデータネットワーク100の他のノード108の間に通信可能な連結を提供する。例えば、無線ゲートウェイ35は、ビッグデータネットワークバックボーン105を使用することによって、及び/またはプロセスプラント10の1つ以上の他の通信ネットワークを使用することによって、通信可能な連結を提供し得る。
【0102】
無線ゲートウェイ35は、いくつかの事例において、有線及び無線プロトコルスタックの1つまたは複数の共有層をトンネリングしながら、有線及び無線プロトコルスタックの下位層へのルーティング、バッファリング、及びタイミングサービス(例えば、アドレス変換、ルーティング、パケットセグメント化、優先順位付け等)によって、通信可能な連結を提供する。他の事例において、無線ゲートウェイ35は、任意のプロトコル層を共有しない、有線プロトコルと無線プロトコルとの間でコマンドを翻訳し得る。プロトコル及びコマンド変換に加え、無線ゲートウェイ35は、無線ネットワーク70の中で実装される無線プロトコルと関連付けられるスケジューリングスキームのタイムスロット及びスーパーフレーム(時間的に均等に離間された複数組の通信タイムスロット)によって使用される、同期クロッキングを提供し得る。さらに、無線ゲートウェイ35は、リソース管理、性能調整、ネットワーク障害緩和、トラフィックの監視、セキュリティ、及び同類のもの等の、無線ネットワーク70のためのネットワーク管理及び管理機能を提供し得る。無線ゲートウェイ35は、プロセス制御システムビッグデータネットワーク100のノード110であり得る。
【0103】
有線フィールドデバイス15~22と同様に、無線ネットワーク70の無線フィールドデバイス40~46は、プロセスプラント10内の物理的制御機能、例えば、弁の開放もしくは閉鎖、またはプロセスパラメータの測定値をとり得る。しかしながら、無線フィールドデバイス40~46は、ネットワーク70の無線プロトコルを使用して通信するように設定される。このように、無線フィールドデバイス40~46、無線ゲートウェイ35、及び無線ネットワーク70の他の無線ノード52~58は、無線通信パケットの製作者及び消費者である。
【0104】
いくつかのシナリオにおいて、無線ネットワーク70は、非無線デバイスを含み得る。例えば、
図7のフィールドデバイス48は、旧来の4~20mAデバイスであり得、フィールドデバイス50は、従来の有線HARTデバイスであり得る。ネットワーク70内で通信するために、フィールドデバイス48及び50は、無線アダプタ(WA)52aまたは52bを介して、無線通信ネットワーク70に接続され得る。加えて、無線アダプタ52a、52bは、Foundation(登録商標)フィールドバス、PROFIBUS、DeviceNet等の他の通信プロトコルをサポートし得る。さらに、無線ネットワーク70は、無線ゲートウェイ35と有線通信している別個の物理的デバイスであり得るか、または統合型デバイスとして無線ゲートウェイ35が提供され得る、1つ以上のネットワークアクセスポイント55a、55bを含み得る。無線ネットワーク70はまた、無線通信ネットワーク70内で一方の無線デバイスからもう一方の無線デバイスにパケットを転送するために、1つ以上のルータ58も含み得る。無線デバイス32~46及び52~58は、無線通信ネットワーク70の無線リンク60を通じて、互いに及び無線ゲートウェイ35と通信し得る。
【0105】
故に、
図7は、主に、ネットワークルーティング機能及び管理をプロセス制御システムの種々のネットワークに提供する役割を果たす、プロバイダデバイス110のいくつかの実施例を含む。例えば、無線ゲートウェイ35、アクセスポイント55a、55b、及びルータ58は、無線通信ネットワーク70の中で無線パケットをルーティングする機能を含む。無線ゲートウェイ35は、無線ネットワーク70のためのトラフィックの運用及び管理機能を行い、ならびに、無線ネットワーク70と通信接続している有線ネットワークに及びそこからトラフィックをルーティングする。無線ネットワーク70は、WirelessHART等の、プロセス制御メッセージ及び機能を具体的にサポートする、無線プロセス制御プロトコルを利用し得る。
【0106】
しかしながら、プロセス制御ビッグデータネットワーク100のプロバイダノード110はまた、他の無線プロトコルを使用して通信する、他のノードも含み得る。例えば、プロバイダノード110は、1つ以上の無線アクセスポイント72を含み得、該無線アクセスポイントは、WiFiまたは他のIEEE802.11準拠の無線ローカルエリアネットワークプロトコル等の他の無線プロトコル、WiMAX(ワールドワイドインターオペラビリティフォーマイクロウェーブアクセス)、LTE(ロングタームエボリューション)、もしくは他のITU-R(国際電気通信連合無線通信部門)準拠のプロトコル等のモバイル通信プロトコル、近距離無線通信(NFC)及びBluetooth(登録商標)等の短波無線通信、または他の無線通信プロトコルを利用し得る。一般的に、そのような無線アクセスポイント72は、ハンドヘルドまたは他のポータブルコンピューティングデバイス(例えば、ユーザインターフェースデバイス113)が、無線ネットワーク70と異なり、かつ無線ネットワーク70と異なる無線プロトコルをサポートする、それぞれの無線ネットワークを通じて通信することを可能にする。いくつかのシナリオでは、ポータブルコンピューティングデバイスに加え、1つ以上のプロセス制御デバイス(例えば、コントローラ11、フィールドデバイス15~22、または無線デバイス35、40~58)もまた、アクセスポイント72によってサポートされる無線を使用して通信し得る。
【0107】
追加的にまたは代替的に、プロバイダノード110は、近接したプロセス制御システム10の外部にあるシステムに対する1つ以上のゲートウェイ75、78を含み得る。一般的に、そのようなシステムは、プロセス制御システム10によって生成または操作される情報の顧客または供給者である。例えば、プラントゲートウェイノード75は、(それ自体のそれぞれのプロセス制御ビッグデータネットワークバックボーン105を有する)近接したプロセスプラント10を、それ自体のそれぞれのプロセス制御ビッグデータネットワークバックボーンを有する別のプロセスプラントと通信可能に接続し得る。所望であれば、単一のプロセス制御ビッグデータネットワークバックボーン105が、複数のプロセスプラントまたはプロセス制御環境にサービスを提供し得る。
【0108】
別の実施例において、プラントゲートウェイノード75は、近接したプロセスプラント10を、プロセス制御ビッグデータネットワーク100またはバックボーン105を含まない、旧来のまたは従来技術のプロセスプラントに通信可能に接続し得る。本実施例において、プラントゲートウェイノード75は、プラント10のプロセス制御ビッグデータバックボーン105によって利用されるプロトコルと、旧来のシステムによって利用される異なるプロトコル(例えば、Ethernet(登録商標)、Profibus、フィールドバス、DeviceNet等)との間でメッセージを変換または翻訳し得る。
【0109】
プロバイダノード110は、プロセス制御ビッグデータネットワーク100を、実験室システム(例えば、実験室情報管理システムまたはLIMS)、オペレータ巡回データベース、運搬システム、維持管理システム、製品在庫管理システム、生産スケジューリングシステム、気象データシステム、出荷及び運搬システム、梱包システム、インターネット、別のプロバイダのプロセス制御システム、または他の外部システム等の、外部のパブリックまたはプライベートシステムのネットワークと通信可能に接続するために、1つ以上の外部システムゲートウェイノード78を含み得る。
【0110】
図7は、有限数のフィールドデバイス15~22及び40~46を伴う単一コントローラ11だけを例示するが、これは、例示的かつ非限定的な実施形態に過ぎない。任意の数のコントローラ11が、プロセス制御ビッグデータネットワーク100のプロバイダノード110に含まれ得、コントローラ11のいずれかが、任意の数の有線または無線フィールドデバイス15~22、40~46と通信して、プラント10のプロセスを制御し得る。さらに、プロセスプラント10はまた、任意の数の無線ゲートウェイ35、ルータ58、アクセスポイント55、無線プロセス制御通信ネットワーク70、アクセスポイント72、及び/またはゲートウェイ75、78も含み得る。
【0111】
上で論じられるように、プロバイダノード110の1つ以上は、それぞれのマルチコアプロセッサPMCX、それぞれの高密度メモリ記憶装置MX、またはそれぞれのマルチコアプロセッサPMCX及びそれぞれの高密度メモリ記憶装置MX(
図7において、アイコンBDによって示される)の双方を含み得る。各プロバイダノード100は、そのメモリ記憶装置MX(及び、いくつかの実施形態では、そのフラッシュメモリ)を利用して、データを収集し、キャッシュし得る。ノード110のそれぞれは、そのキャッシュしたデータを、プロセス制御システムビッグデータアプライアンス102に伝送させ得る。例えば、ノード110は、そのキャッシュの中のデータの少なくとも一部分を、ビッグデータアプライアンス102に定期的に伝送させ得る。代替的にまたは追加的に、ノード110は、そのキャッシュの中のデータの少なくとも一部分を、ビッグデータアプライアンス102にストリームさせ得る。1つの事例において、プロセス制御システムビッグデータアプライアンス102は、ノード110からキャッシュまたは収集したデータを送達するストリーミングサービスの加入者であり得る。別の事例において、プロバイダノード110は、ストリーミングサービスをホストし得る。
【0112】
バックボーン105との直接接続を有するノード110(例えば、コントローラ11、プラントゲートウェイ75、無線ゲートウェイ35)について、それぞれのキャッシュまたは収集したデータは、一実施形態において、バックボーン105を介して、ノード110からプロセス制御ビッグデータアプライアンス102に直接伝送され得る。しかしながら、ノード110の少なくともいくつかについて、収集及び/またはキャッシングは、レベル化または階層化され得、よって、プロセス制御ビッグデータアプライアンス102からさらに下流にある(例えば、から遠く離れた)ノードでキャッシュまたは収集したデータは、さらに上流にある(例えば、ビッグデータアプライアンス102により近い)ノードで中間的にキャッシュされる。
【0113】
階層化またはレベル化したデータキャッシングの実施例を例示するために、フィールドデバイス22は、それが生成または受信するプロセス制御データをキャッシュし、そして、I/Oデバイス28またはコントローラ11等の、フィールドデバイス22とプロセス制御ビッグデータアプライアンス102との間の通信経路に含まれる「上流の」デバイスにそのキャッシュのコンテンツを送達させる。例えば、フィールドデバイス22は、そのキャッシュのコンテンツをI/Oデバイス28にストリームし得、またはフィールドデバイス22は、そのキャッシュのコンテンツをI/Oデバイス28に定期的に伝送し得る。I/Oデバイス28は、I/Oデバイス28が直接生成、受信、及び観察する他のデータとともに、フィールドデバイス22から受信した情報をそのメモリM5にキャッシュする(及び、いくつかの実施形態ではまた、他の下流のフィールドデバイス19~21から受信したデータも、そのメモリM5にキャッシュし得る)。次いで、I/Oデバイス28で収集し、キャッシュした(フィールドデバイス22のキャッシュのコンテンツを含む)データが、上流のコントローラ11に定期的に伝送され得、及び/またはストリームされ得る。同様に、コントローラ11のレベルで、コントローラ11は、下流のデバイス(例えば、I/Oカード26、28及び/またはフィールドデバイス15~22のいずれか)から受信した情報をそのメモリM6にキャッシュし、そして、そのメモリM6において、下流のデータをコントローラ11自体が直接生成、受信、及び観察するデータと集約する。次いで、コントローラ11が、集約した収集またはキャッシュしたデータをプロセス制御ビッグデータアプライアンス102に定期的に送達及び/またはストリームし得る。このようにして、フィールドデバイス22は、データモデリングスタジオ109及び/またはデータ知識アプリケーション114のユーザに、リアルタイムまたはほぼリアルタイムのデータへのアクセスを提供する。
【0114】
階層化またはレベル化したキャッシングの第2の例示的なシナリオにおいて、コントローラ11は、有線フィールドデバイス(例えば、デバイス15~22のうちの1つ以上)及び少なくとも1つの無線フィールドデバイス(例えば、無線フィールドデバイス44)を使用して、プロセスを制御する。この第2の例示的なシナリオの第1の実施形態において、無線デバイス44でキャッシュまたは収集したデータは、(例えば、ビッグデータネットワーク105を介して)無線デバイス44からコントローラ11に直接送達及び/またはストリームされ、そして、コントローラ11の下流にある他のデバイスまたはノードからのデータとともに、コントローラキャッシュM6で記憶される。コントローラ11は、そのキャッシュM6に記憶したデータを、プロセス制御ビッグデータアプライアンス102に定期的に送達またはストリームし得る。
【0115】
この第2の例示的なシナリオの別の実施形態において、無線デバイス44でキャッシュまたは収集したデータは、代替のレベル化または階層化した経路を介して、例えば、デバイス42a、ルータ52a、アクセスポイント55a、及び無線ゲートウェイ35を介して、最終的に、プロセス制御ビッグデータアプライアンス102に送達され得る。この実施形態において、代替の経路のノード41a、52a、55a、または35のうちの少なくともいくつかは、下流のノードからのデータをキャッシュし得、また、キャッシュしたデータを、さらに上流にあるノードに定期的に送達またはストリームし得る。
【0116】
それに応じて、異なるタイプのデータは、異なる階層化またはレベル化配設を使用して、プロセス制御システムビッグデータネットワーク100の異なるノードでキャッシュされ得る。いくつかの事例において、プロセスの制御に対応するデータは、その主要機能が制御することであるプロバイダデバイス110(例えば、フィールドデバイス、I/Oカード、コントローラ)を使用した、階層化した様式でキャッシュされ、送達され得る一方で、ネットワークトラフィックの測定に対応するデータは、その主要機能がトラフィック管理であるプロバイダデバイス110(例えば、ルータ、アクセスポイント、及びゲートウェイ)を使用した、階層化した様式でキャッシュされ、送達され得る。所望であれば、データは、その主要機能(及び、いくつかのシナリオでは、唯一の機能)が下流のデバイス(本明細書では、「ヒストリアンノード」と称される)からデータを収集し、キャッシュすることであるプロバイダノードまたはデバイス110を介して送達され得る。例えば、ヒストリアンノードまたはコンピューティングデバイスのレベル化したシステムは、ネットワーク100の全体を通して位置付けられ、各ノード110は、例えばバックボーン105を使用して、キャッシュしたデータを類似するレベルのヒストリアンノードに定期的に送達またはストリームし得る。下流のヒストリアンノードは、キャッシュしたデータを上流のヒストリアンノードに送達またはストリームし得、最終的には、プロセス制御ビッグデータアプライアンス102のすぐ下流にあるヒストリアンノードが、プロセス制御ビッグデータアプライアンス102で記憶するために、それぞれのキャッシュしたデータを送達またはストリームし得る。
【0117】
階層化したキャッシングも、または追加的に、プロセス制御システムビッグデータネットワークバックボーン105を使用して互いに通信する、ノード110によって行われ得る。同様に、ノード110の少なくともいくつかは、別の通信ネットワーク及び/またはHART、WirelessHART、フィールドバス、DeviceNet、WiFi、イーサネット(登録商標)、または他のプロトコル等の他のプロトコルを使用して、キャッシュしたデータを異なるレベルの他のノード110に通信し得る。
【0118】
当然、レベル化または階層化したキャッシングが、プロバイダノード110に関して論じられているが、この概念及び技法は、プロセス制御システムビッグデータネットワーク100のユーザインターフェースノード112に、及び/または他のタイプのノード115に、均等に適用する。例えば、ノード108のサブセットは、レベル化または階層化したキャッシングを行い得る一方で、別のノード108のサブセットは、中間ノードでキャッシュまたは一時的に記憶することなく、該サブセットのキャッシュした/収集したデータを、プロセス制御ビッグデータアプライアンス102に直接送達させ得る。追加的に、ヒストリアンノードは、複数の異なるタイプのノードから、例えばプロバイダノード110から、及びユーザインターフェースノード112から、データをキャッシュし得る。
【0119】
図8は、プロセス制御システムビッグデータアプライアンス102のアプライアンスデータ受信機122及びアプライアンス要求サービサー135を使用して達成され得る、より詳細な概念及び技法を例示する、例示的なブロック図である。より具体的には、
図8は、記憶及び履歴化のために、プロセス制御ビッグデータネットワーク100のノード108からビッグデータアプライアンス102にデータ(例えば、ストリーミングされるデータ)を転送するためのアプライアンスデータ受信機122の使用を例示する、例示的なブロック図である。
図8は、
図1の4つの例示的なノード108、すなわち、コントローラ11、ユーザインターフェースデバイス12、無線ゲートウェイ35、及びサードパーティマシンまたはネットワーク70に対するゲートウェイを示す。しかしながら、
図8に関して論じられる技法及び概念は、任意のタイプ及び任意の数のノード108に適用され得る。追加的に、
図8は、3つのアプライアンスデータ受信機122a、122b、及び122cだけを例示しているが、
図8に対応する技法及び概念は、任意のタイプ及び任意の数のアプライアンスデータ受信機122に適用され得る。
【0120】
図8で例示される実施形態において、ノード11、12、35、及び78のそれぞれは、ノード11、12、35、及び78によって生成、受信、または別様には観察されるデータを捕捉するために、それぞれのスキャナS11、S12、S35、S78を含む。各スキャナS11、S12、S35、S78の機能は、それぞれのノードの11、12、35、78のそれぞれのプロセッサPMCXによって実行され得る。スキャナS11、S12、S35、S78は、例えば上で説明したような様式で、捕捉したデータ及び対応するタイムスタンプを、それぞれのローカルメモリM11、M12、M35、M78に一時的に記憶またはキャッシュさせ得る。このように、補足したデータは、時系列データまたはリアルタイムデータを含む。補足したデータは、プロセス制御ビッグデータ記憶領域120によって利用されるスキーマを使用して、メモリM11、M12、M35、及びM78のそれぞれに記憶またはキャッシュされ得る。
【0121】
各ノードの11、12、35、及び78は、例えばネットワークバックボーン105を使用することによって、キャッシュしたデータの少なくとも一部を、1つ以上のアプライアンスデータ受信機122a~122cに伝送し得る。例えば、少なくとも1つのノード11、12、35、78は、キャッシュが特定の閾値まで満たされたときに、そのそれぞれのメモリMXからのデータの少なくとも一部をプッシュし得る。キャッシュの閾値は、調整可能であり得、少なくとも1つのノード11、12、35、78は、リソース(例えば、ネットワーク105、プロセッサPMCX、またはいくつかの他のリソースの帯域幅)が十分に利用可能であるときに、そのそれぞれのメモリMXからデータの少なくとも一部をプッシュし得る。特定のリソースの可用性閾値は、調整可能であり得る。
【0122】
いくつかの事例において、少なくとも1つのノード11、12、35、78は、周期的な間隔でメモリMXに記憶されるデータの少なくとも一部をプッシュし得る。データがプッシュされる特定の時間間隔の周期性は、データのタイプ、プッシュするノードのタイプ、プッシュするノードの場所、及び/または他の基準に基づき得る。特定の時間間隔の周期性は、調整可能であり得る。一方では、少なくとも1つのノード11、12、35、78は、(例えば、プロセス制御ビッグデータアプライアンス102からの)要求に応答して、データを提供し得る。
【0123】
いくつかの事例において、少なくとも1つのノード11、12、35、78は、各ノード11、12、35、78によってデータが生成、受信、または別様には観察されたときに、データの少なくとも一部をリアルタイムでストリームし得る(例えば、ノードは、データを一時的に記憶またはキャッシュしないか、またはノードがストリーミングのためにノードにデータを処理させている間に限って、データを記憶し得る)。例えば、データの少なくとも一部は、ストリーミングプロトコルを使用することによって、1つ以上のアプライアンスデータ受信機122にストリームされ得る。ノード11、12、35、78は、ストリーミングサービスをホストし得、データ受信機122及び/またはデータ記憶領域120のうちの少なくとも1つは、ストリーミングサービスに加入し得る。
【0124】
それに応じて、伝送データは、例えばネットワークバックボーン105を介して、1つ以上のアプライアンスデータ受信機122a~122cによって受信され得る。特定のアプライアンスデータ受信機122が、1つ以上の特定のノードからデータを受信するように指定され得、及び/または特定のアプライアンスデータ受信機122が、1つ以上の特定の種類のデバイス(例えば、コントローラ、ルータ、またはユーザインターフェースデバイス)だけからデータを受信するように指定され得る。追加的に、特定のアプライアンスデータ受信機122が、1つ以上の特定の種類のデータだけ(例えば、ネットワーク管理データだけ、またはセキュリティ関連のデータだけ)を受信するように指定され得る。
【0125】
アプライアンスデータ受信機122a~122cは、データをビッグデータアプライアンス記憶領域120に記憶または履歴化させ得る。例えば、アプライアンスデータ受信機122a~122cのそれぞれによって受信されるデータは、プロセス制御ビッグデータスキーマを使用して、データ記憶領域120に記憶され得る。
図8で示される実施形態において、時系列データ120aは、対応するメタデータ120bとは別に記憶されるように例示されているが、いくつかの事例において、メタデータ120bの少なくとも一部は、時系列データ120aとともに統合的に記憶され得る。
【0126】
複数のアプライアンスデータ受信機122a~122cを介して受信されるデータは、複数のソースからのデータが(例えば、データ記憶領域120の同じ一群の行に)組み合わせられ得るように統合され得る。いくつかの事例において、複数のアプライアンスデータ受信機122a~122cを介して受信されるデータは、ノイズ及び不整合データを除去するためにクリーニングされる。アプライアンスデータ受信機122は、受信したデータが記憶される前に、受信したデータの少なくとも一部に対してデータクリーニング及び/またはデータ統合化を行い得、ならびに/またはプロセス制御システムビッグデータアプライアンス102は、受信したデータが記憶領域102に記憶された後に、受信したデータの一部または全部をクリーニングし得る。デバイスまたはノード(ノード110、112、115等)は、データのコンテンツに関連する追加的なデータを伝送させ、アプライアンスデータ受信機122及び/またはビッグデータアプライアンス記憶領域120は、この追加的なデータを利用して、データクリーニングを行い得る。ノード110、112、115が、記憶のために、データをビッグデータアプライアンス記憶領域120に伝送させる前に、ノード110、112、115によって少なくとも一部のデータが(少なくとも部分的に)クリーニングされ得る。
【0127】
図9は、データモデリングスタジオ109によって作成されるモデルを利用した知識発見のための方法1100を例示する。全般的に、知識発見のための方法1100は、知識発見アプリケーション114によって実行され得、該知識発見アプリケーションは、例えばユーザが関心を示すプロセス制御データの指示を受信し、そして、ユーザがプロセスプラントから受信したデータを発見し、評価することを可能にするために、そのデータに対して、系統的及び/または包括的な関係の診断、予知、分析、識別等を行うモデルを実行する。一般的な意味において、知識発見アプリケーション114によって実行される知識発見方法は、ユーザが、ビッグデータアプライアンス102に記憶したデータを閲覧し、探索し、ビッグデータアプライアンス102からデータを選択し、そして(例えば、上で説明される様式で作成されるデータモデルの1つ以上を使用して)そのデータに対して種々の動作を行って、プラント10をより効率的に動作させる、プラント10における誤りまたはダウンタイムを最小にする、プラント出力の品質を最高にする、等の際に有用であり得る、関係または他の情報を発見することを可能にする。さらに、データ知識発見アプリケーション114は、出力探索インターフェースを生成し得、該出力探索インターフェースは、ユーザが、モデルの出力のグラフィカルな描写、例えばデータ値、チャート、グラフ、警報等の形態をとり得るこの情報を閲覧すること、ならびに、データモデルの出力と、プロセスプラントで動作する種々のソフトウェア及びハードウェアモジュールとの関係を閲覧することを可能にする。
【0128】
一般的な意味において、知識発見方法は、知識発見アプリケーション114をホストするインターフェースステーション103の1つ以上のプロセッサによって実行され得る。いくつかの実施形態において、方法1100のステップの1つ以上は、1つ以上のクライアントデバイス113、1つ以上のコントローラ11、1つ以上のノード108等の、プロセスプラント10の中の異なるデバイスの間で分散され得る。さらに、方法1100の1つのステップの出力は、次のステップを行うエンティティに伝送され得る。
【0129】
ユーザインターフェースステーション103等の1つ以上のデバイスのプロセッサは、知識発見方法を自動的に実行し得る。プロセッサは、プラントの動作中、またはプラントが動作し、プラントデータを例えばビッグデータアプライアンス102に記憶した後、のいずれかで、ビッグデータネットワークまたはバックボーン105を介して、知識発見アプリケーション114及びそこで使用されるデータにアクセスし得、また、いくつかの事例において、知識発見プロセスの一部として1つまたはデータモデルを定期的に実行し得、知識発見プロセスの一部として1つ以上のデータモデルを反復的に実行し得、(ユーザの介入を伴わずに、バックグラウンドまたは自動的に、等で)知識発見プロセスの一部として1つ以上のデータモデルを連続的に実行し得る。さらに、プロセッサは、バックグラウンドで(すなわち、ユーザ対話を伴わずに、プロセス制御システムのデバイスによって動作される)で、またはフォアグラウンド(ユーザ対話を伴う)で、知識発見アプリケーション114を実行し得る。バックグラウンドプロセスは、プロセスプラント10からデータを受信したときに、継続的なデータマイニング、データモデリング、及び他のデータ解析技法を提供するために使用され得る。いくつかの実施形態において、データは、リアルタイムまたはほぼリアルタイムで受信され得る。
【0130】
所望であれば、知識発見方法は、反復的であり得、よって、本方法の各ステップの後に、本方法を実行する1つ以上のプロセッサは、次のステップへの入力として、及び/または以前の出力に基づいて調整を行うために、プロセスの1つの実行の出力、または該プロセス内で使用されるデータモデルを使用し得る。知識発見方法1100は、自動化され得るか、または例えばデータモデリングスタジオ109の1人以上のユーザによって行われる1つ以上の手動のステップを含み得る。ユーザはまた、知識発見アプリケーション114を使用して、知識発見方法の1つ以上の態様も構成し得る。方法1100は、例えば、出力に基づいて提案される修正アクションを方法1100の実行中に1回以上ユーザに警告するための命令の形態で、1つ以上の出力を提供し得、該出力は、自動的に取り出され得るか、またはさらなるアクション等のために、ユーザに提示され得る。
【0131】
さらに、所望であれば、方法1100を実装する知識発見アプリケーション114は、必要に応じてデータエクスプローラ155、ビッグデータアプライアンス102、及びデータモデリングスタジオ109にアクセスして、データモデルを獲得もしくは使用し得るか、または知識発見方法1100のデータモデルもしくは他のコンポーネントによって使用されるデータにアクセスし得る。例えば、データ知識アプリケーション114は、プラント10からの及び/またはビッグデータアプライアンス102からのデータを使用して1つ以上のそのようなデータモデルを実行するために、データモデリングスタジオ109を使用して作成される1つ以上のデータモデルにアクセスし得、ならびにデータモデリングスタジオ109のランタイムエンジン124にアクセスし得る。
【0132】
動作中に、データ知識アプリケーション114は、データモデルの複数のグラフィカル描写を生成し、表示し得、該データモデルは、ユーザが、どのデータを処理するのか、及びどの1つまたは複数のデータモデルを使用してそのデータを処理するのかを閲覧、指定、または選択することを可能にするために、データに対して行うことができ、また、(例えば、ビッグデータアプライアンス102に記憶した)プラント内で利用可能なデータへのインターフェースを提供し得る。当然、上で述べられるように、データモデルは、収集したプロセスデータを使用して、または実際のまたはシミュレーションしたプロセスからのプロセスデータに基づいて、プロセスプラント10の動作をモデル化もしくは推定する、またはプロセスプラント10内で動作されるプロセスのいくつかの態様の分析を行う、任意のルーチンを含み得る。発見方法で使用されるデータモデルは、上で説明されるように、予め構成されたモデルであり得るか、またはテンプレート129で構築され、1つ以上のデータソーステンプレート129a、機能テンプレート129b、データフローテンプレート129d、及び/またはデータ出力テンプレート129cを含む、データモデリングスタジオ109を使用して作成されるモデルであり得る。データモデルは、コンピュータネットワーク(プロセス制御システムビッグデータネットワークバックボーン105等)を介して記憶装置から取り出され得るか、または知識発見方法1100の一部として作成され得る。
【0133】
再度
図9を参照すると、ブロック1102で、知識発見方法1100を実行するプロセッサが、ユーザインターフェースをユーザに提示して、ユーザが、ビッグデータアプライアンス102に記憶した、プラント10から利用可能である、等の1つ以上のタイプのプロセスデータを閲覧し、ドリルダウンし、そして、選択することを可能する命令を実行し得る。このインターフェースは、記憶した、またはプラント構成データによって提供されるデータの関係を例示し得る、ユーザが実際のデータを閲覧すること、またはデータの要約統計量を閲覧することを可能にし得る、等である。インターフェースは、ユーザが、複数の異なるタイプのデータまたはデータストリームを同時に閲覧すること、または知識発見プロセスで使用するために、プラントから異なるデータストリームを選択することを可能にし得る。例えば、本方法は、ユーザが、上で説明されるデータエクスプローラ155を使用することを可能にし得る。
【0134】
したがって、ブロック1102で、方法1100を実行するプロセッサが、ビッグデータアプライアンスに記憶したプロセス制御データを表示するデータ探索インターフェースを生成する命令を実行し得る。プロセス制御データは、プロセスプラントで使用されるハードウェア及びソフトウェアを定義する構成データと、これらの要素の構成された関係とを含み得る。ハードウェアモジュールとしては、ユーザインターフェース、サーバ、データベース、コントローラ、フィールドデバイス、ユニット、ユニットモジュール、装置、装置モジュール、及びプロセスプラント10で使用される任意の他のデバイスが挙げられ得る。ソフトウェアモジュールとしては、ハードウェアを制御する、ハードウェアモジュールとソフトウェアモジュールとの間のデータフローを方向付ける、等の制御ソフトウェアが挙げられ得、また、制御ルーチン、データ収集ルーチン、データ取り出しルーチン、等が挙げられ得る。ソフトウェアモジュールとしてはまた、プラント10内の通信を制御または方向付ける通信ソフトウェア、維持管理の目的でデータを収集し、処理する維持管理ソフトウェア、ビジネス機能を行うためにデータを処理するビジネスモジュール、等も挙げられる。当然、プロセス制御データとしては、ハードウェア及びソフトウェアモジュールによって生成されるか、またはそれらに記録される値、例えば温度値、圧力値等に対応するプロセス測定データ、制御信号等のコントローラデータ、等が挙げられる。プロセス制御データはまた、複数のノード108及び/またはビッグデータアプライアンス102のうちの1つ以上からもストリームされ得る。
【0135】
データ知識アプリケーション114はさらに、プロセス制御データを統合して、このデータを、複数の他のプロセスプラントソース、非プロセスプラントソース、外部データソース、サードパーティデータソース等からのデータとともに閲覧することを可能にし得る。例えば、第1のプラントのビッグデータアプライアンス102からのデータは、1つ以上の他のプラントのビッグデータアプライアンス102からのデータと統合され得る。いくつかの実施形態において、プロセス制御データは、プロセスプラントで使用される旧来のスキーマ等の他のデータスキーマを使用して、1つ以上のプロセスプラントからのデータと統合され得る。データはさらに、サードパーティデータ、例えば環境データと統合され得る。環境データとしては、温度、気象条件等の気象データが挙げられ得る。
【0136】
データ探索インターフェースは、プロセスプラントの中のハードウェアモジュールとソフトウェアモジュールとの1つ以上の階層関係を定義する、階層構成データを含み得る。例えば、データ探索インターフェースは、特定のプロセスプラント、ならびにそのプロセスプラントで使用されるハードウェア及び特定のソフトウェアルーチンの特定の部分を定義することができる。プロセス制御データはまた、データ収集、データ取り出し等の、プロセスプラントの中のハードウェアモジュールとソフトウェアモジュールとの間の1つ以上の相互接続、どの制御ルーチンをどのコントローラに配置するか、等を定義する接続データも含む。
【0137】
さらに、ブロック1104は、選択したデータまたはデータストリームに適用される1つ以上のデータモデルのユーザ選択を受信するように動作し得る。選択したデータモデルは、データ前処理ルーチン(クリッピングルーチン、外れ値除去ルーチン等)、出力を生成するために選択したデータストリームに対して行われる1つ以上の機能(相関ルーチン、平均化ルーチン等)、及び/またはグラフィカルな提示、警報等のデータモデルの出力に対して行われる1つ以上の機能、等の、選択したデータソースの1つ以上に対して行われる処理ルーチンを定義し得る。
【0138】
例えば、データ処理技法は、ノイズ、不整合データ、外れ値等を除去し得る。データ処理技法はまた、前処理したデータを、データモデルの機能ルーチンまたはブロックと互換性のあるデータフォーマットに変換する、変換ルーチンも含み得る。データモデルによって行われる機能は、1つ以上のデータパターンを決定または発見する、データマイニング技法または他の知的方法を含み得る。
【0139】
いずれにしても、ブロック1106で例示されるように、知識発見アプリケーション114は、選択したデータモデル(複数可)によって処理される1つ以上のプロセスデータ入力を定義する、プロセス制御データの選択を受信し得る。ブロック1108で、データモデル(複数可)は、データモデルによって定義される出力を生成するために、選択したプロセス制御データに対して実行される。知識発見アプリケーション114は、データモデルを実行するために、データモデリングスタジオ109のランタイムエンジン124にアクセスし、そして、ランタイムエンジン124のモデル実行ルーチン128を使用し得る。ブロック1110で、データ知識アプリケーション114が、ユーザがデータモデルによって生成される出力を閲覧することを可能にする、出力探索インターフェースを生成し得る。より具体的には、出力探索インターフェースは、モデルによって生成される出力のグラフィック表現、プロセスプラントにおける出力とハードウェアモジュールとソフトウェアモジュールとの関係、他の潜在的に関連するデータ等を表示し得る。
【0140】
出力探索インターフェースは、ユーザが、パターンを評価し、所望のまたは意味のあるデータパターン、関係等を識別することを可能にする。いくつかの実施形態において、ユーザは、所望のデータパターンの選択を示す入力を行い得、知識発見アプリケーション114は、1つ以上のデータモデルを実行して、その関係を呈する複数対または複数群のデータを検索し得る。例えば、ユーザは、製品の品質に関連するデータパターン、または警報と温度との間のパターンを識別するための選択を示す入力を行い得る。結果及び/または視覚化したデータに基づいて、1つ以上の予測が行われ得る。
【0141】
知識発見方法1100はまた、
図9のステップ1102~1110を反復的にも実行し得る。例えば、モデルの第1の実行の出力に基づいて、ユーザは、モデルの第1の実行の後に追加的なプロセス制御データに対して選択したデータモデルを動作させること、同じプロセス制御データに対して異なるモデルを実行すること、等を望み得る。このようにして、方法1100は、反復され、ユーザが、迅速かつ効率的にモデルを実行するために、ビッグデータアプライアンス102のプロセス制御データを活用することを可能にし得る。
【0142】
知識発見アプリケーション114は、ビッグデータマシン102に記憶した包括的な高忠実度のデータへのアクセスを有するので、本方法を動作させる前に、知識発見方法110で収集され、使用されるプロセスプラントの種々のパラメータのいずれかまたは全てを定義する必要はない。したがって、知識発見アプリケーション114は、ユーザが最初に必要とするデータを選択し、データを処理する前にその所望のデータを収集するようにプラント装置を構成することをユーザに要求しない。代わりに、本明細書で説明される知識発見方法を動作させているユーザが、いくつかのモデル上で動作させるデータを選択し、後に、追加的なデータが必要であると決定した場合、新しいデータがビッグデータマシン102で直ちに利用可能であるので、ユーザは、新しいデータを収集するようにプラントを再構成し、新しいデータを収集する(数週間~数カ月程度かかる可能性があるプロセス)ようにプラントを運営する必要はない。ユーザは、プロセスに対するモデルを作成する必要があり得るデータの全てをモデルの作成開始時に知っていることは滅多になく、プラントの構成開始時には殆どないので、知識発見アプリケーション114は、迅速で効率的な、複雑なプロセスモデリング及び分析を容易にする。
【0143】
所望であれば、知識発見アプリケーション114を動作させるプロセッサはまた、ビッグデータネットワークバックボーン105を介して、1つ以上のデバイスに自動的にアクセスする1つ以上の命令を実行し、また、知識発見アプリケーション114の出力に基づいて、プロセスプラントの実際の動作に影響を及ぼすコマンドを実行し得る。しかしながら、知識発見アプリケーション114の変更を自動的に実装することを可能にすることは危険であり得る。それに応じて、アプリケーション114と関連付けられるかまたはその一部として提供される自動システムは、オペレータ、エンジニア、または別のユーザに、パターン評価の結果及び/または予測、ならびにパターン評価に基づいてユーザが行うことができる1つ以上の潜在的な解決策または構成の変更を警告し得る。
【0144】
ブロック1112で、知識発見の結果が、プロセス制御システムに記憶または統合され得る。例えば、パターン評価によって提示されるデータは、プラントに戻して入力され、プラント内で実行している1つ以上の制御ストラテジに戻して自動的に結び付けられ得る。プロセスによって決定される1つ以上のパターンは、将来の使用またはアクセスのためのテンプレートとして、ビッグデータアプライアンス102またはデータモデリングスタジオ109に保存され得る。知識発見プロセスの出力は、解放され得、及び/またはコントローラ、データ分析エンジン等のプラントの別の部分に保存され得る。データモデルは、オンラインプラントの1つ以上の部分に読み込まれ得、オンラインランタイム環境でプラントにおいて実行され得る。
【0145】
以下の追加的な考慮事項を上記の議論に適用する。本明細書の全体を通して、複数のインスタンスは、単一のインスタンスとして説明されるコンポーネント、動作、または構造を実装し得る。1つ以上のルーチンまたは方法の個々の動作が別個の動作として例示され、説明されているが、個々の動作の1つ以上が同時に行われ得、また、動作を例示される順序で行う必要はない。例示的な構成の別個のコンポーネントとして提示される構造及び機能は、組み合わせた構造またはコンポーネントとして実装され得る。同様に、単一のコンポーネントとして提示される構造及び機能は、別個のコンポーネントとして実装され得る。これらの及び他の変更、修正、追加、及び改良は、本開示の主題の範囲内である。
【0146】
追加的に、ある特定の実施形態は、本明細書で説明される。論理またはいくつかのコンポーネント、モジュール、または機構もしくはユニットを含むように本明細書で説明される。モジュール及びユニットは、ソフトウェアモジュール(例えば、非一時的な機械読み出し可能な媒体に記憶されるコード)またはハードウェアモジュールのいずれかを構成し得る。ハードウェアモジュールは、ある特定の動作を行うことができる有形のユニットであり、また、ある特定の様式で構成または配設され得る。例示的な実施形態において、1つ以上のコンピュータシステム(例えば、スタンドアロン、クライアント、またはサーバコンピュータシステム)またはコンピュータシステムの1つ以上のハードウェアモジュール(例えば、1つまたは一群のプロセッサ)は、本明細書で説明されるある特定の動作を行うように動作するハードウェアモジュールとして、ソフトウェア(例えば、アプリケーションまたはアプリケーション部分)によって構成され得る。
【0147】
ハードウェアモジュールは、ある特定の動作を行うように(例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)等の、特殊用途プロセッサとして)永続的に構成される、専用の回路または論理を備え得る。ハードウェアモジュールはまた、ある特定の動作を行うようにソフトウェアによって一時的に構成される、(例えば、汎用プロセッサまたは他のプログラム可能なプロセッサ内に包含される)プログラム可能な論理または回路も含み得る。専用の永続的に構成した回路において、または(例えば、ソフトウェアによって構成される)一時的に構成した回路において、ハードウェアモジュールを実装するという決定は、コスト及び時間の考慮によってなされ得ることが認識されるであろう。
【0148】
故に、本明細書で使用されるハードウェアという用語は、有形のエンティティを包含するものとして、ある特定の手法で動作するように、または本明細書で説明されるある特定の動作を行うように物理的に構成された、永続的に構成された(例えば、配線で接続された)、または一時的に構成された(例えば、プログラムされた)エンティティであるものとして理解されるべきである。ハードウェアモジュールが一時的に構成される(例えば、プログラムされる)実施形態を考慮すると、ハードウェアモジュールのそれぞれは、時間的に任意の1つのインスタンスにおいて構成またはインスタンス化する必要がない。例えば、ハードウェアモジュールがソフトウェアを使用して構成される汎用プロセッサを含む場合、汎用プロセッサは、異なる時間にそれぞれの異なるハードウェアモジュールとして構成され得る。ソフトウェアは、それに応じて、例えば、1つの時間のインスタンスにおいて特定のハードウェアモジュールを構成し、異なる時間のインスタンスにおいて異なるハードウェアモジュールを構成するようにプロセッサを構成し得る。
【0149】
ハードウェア及びソフトウェアモジュールは、他のハードウェア及び/またはソフトウェアモジュールに情報を提供し、及びそれらから情報を受信することができる。故に、説明されるハードウェアモジュールは、通信可能に連結されているものとみなされ得る。複数のそのようなハードウェアまたはソフトウェアモジュールが同時に存在する場合、通信は、ハードウェアまたはソフトウェアモジュールを接続する信号伝送を通して(例えば、適当な回路、回線、及びバスを通じて)達成され得る。複数のハードウェアモジュールまたはソフトウェアが異なる時間に構成またはインスタンス化される実施形態において、そのようなハードウェアまたはソフトウェアモジュール間の通信は、例えば、複数のハードウェアまたはソフトウェアモジュールがアクセスを有するメモリ構造における情報の記憶及び取り出しを通して達成され得る。例えば、1つのハードウェアまたはソフトウェアモジュールが動作を行い、その動作の出力を、該1つのハードウェアまたはソフトウェアモジュールに通信可能に連結されたメモリデバイスに記憶し得る。次いで、さらなるハードウェアまたはソフトウェアモジュールが、その後に、このメモリデバイスにアクセスして、記憶した出力を取り出し、処理し得る。ハードウェア及びソフトウェアモジュールはまた、入力または出力デバイスとの通信を開始し得、また、リソース(例えば、一群の情報)に対して動作することができる。
【0150】
本明細書で説明される例示的な方法の種々の動作は、関連する動作を行うように(例えば、ソフトウェアによって)一時的に構成される、または永続的に構成される1つ以上のプロセッサによって、少なくとも部分的に行われ得る。一時的に構成されたか、永続的に構成されたかにかかわらず、そのようなプロセッサは、1つ以上の動作または機能を行うように動作する、プロセッサ実装モジュールを構成し得る。本明細書で参照されるモジュールは、いくつかの例示的な実施形態において、プロセッサ実装モジュールを含み得る。
【0151】
同様に、本明細書で説明される方法またはルーチンは、少なくとも部分的にプロセッサ実装され得る。例えば、方法の動作のうちの少なくともいくつかは、1つ以上のプロセッサまたはプロセッサ実装ハードウェアモジュールによって行われ得る。ある特定の動作を行うことは、単一のマシン内に存在するものだけでなく、いくつかのマシンにわたって展開される、1つ以上のプロセッサの間で分散され得る。いくつかの例示的な実施形態において、1つまたは複数のプロセッサは、単一の場所に(例えば、家庭環境内に、職場環境内に、またはサーバファームとして)位置し得るが、他の実施形態では、複数のプロセッサがいくつかの場所にわたって分散され得る。
【0152】
本明細書のいくつかの部分は、マシンメモリ(例えば、コンピュータメモリ)内にビットまたは2値デジタル信号として記憶されるデータに対する動作のアルゴリズムまたは記号的表現の観点で提示される。これらのアルゴリズムまたは記号的表現は、データ処理技術の当業者によって、作業の要旨を他の当業者に伝えるために使用される技術の例である。本明細書で使用されるとき、「アプリケーション」、「アルゴリズム」、または「ルーチン」とは、首尾一貫した一連の動作、または所望の結果に通じる類似の処理である。この文脈において、アプリケーション、アルゴリズム、ルーチン、及び動作は、物理的な量の物理的な操作を伴う。一般的に、必ずではないが、そのような量は、マシンによって記憶する、アクセスする、転送する、組み合わせる、比較する、または別様には操作することができる電気的、磁気的、または光学的信号の形態をとり得る。主に一般的な使用の理由で、そのような信号を、「データ」、「コンテンツ」、「ビット」、「値」、「要素」、「記号」、「文字」、「用語」、「番号」、「数字」、及び同類のもの等の語句を使用して称することが、時には好都合である。しかしながら、これらの語句は、単に好都合な標識であり、適当な物理的な量と関連付けられる。
【0153】
別途具体的に提示されない限り、「処理する」、「演算する」、「計算する」、「決定する」、「提示する」、「表示する」、または同類のもの等の語句を使用した本明細書での議論は、1つ以上のメモリ(例えば、揮発性メモリ、不揮発性メモリ、またはそれらの組み合わせ)、レジスタ、または情報を受信し、記憶し、伝送し、もしくは表示する他のマシンコンポーネント内で、物理的(例えば、電子的、磁気的、または光学的)な量として表されるデータを操作または変換するマシン(例えば、コンピュータ)のアクションまたは処理を指し得る。
【0154】
本明細書で使用される場合、「一実施形態(one embodiment)」または「一実施形態(an embodiment)」に対する任意の参照は、その実施形態と関連して説明される特定の要素、機能、構造、または特性が、少なくとも1つの実施形態に含まれることを意味する。本明細書内の様々な箇所に現れる「一実施形態において」という語句は、必ずしも全てが同じ実施形態を参照しているとは限らない。
【0155】
いくつかの実施形態は、それらの派生語とともに「連結される」及び「接続される」という表現を使用して説明され得る。例えば、いくつかの実施形態は、2つ以上の要素が物理的または電気的に直接接触していることを示す「連結される」という用語を使用して説明され得る。しかしながら、「連結される」という用語は、2つ以上の要素が互いに直接接触していないが、それでも互いに協働または相互に作用することも意味し得る。本実施形態は、この文脈に限定されない。
【0156】
本明細書で使用される「備える(comprises)」、「備えている(comprising)」、「含む(includes)」、「含んでいる(including)」、「有する(has)」、「有している(having)」、またはその任意の他の変形は、非排他的な包含を対象とすることを意図する。例えば、要素の一覧を含む過程、方法、項目、または装置は、必ずしもこれらの要素だけに限定されず、そのような過程、方法、項目、または装置に明示的に列挙または内在されない他の要素を含み得る。さらに、別途明確に逆の意味で述べられていない限り、「または(or)」は、排他的な「or」ではなく、包含的な「or」を指す。例えば、AまたはBという条件は、Aが真(または存在する)かつBが偽(または存在しない)である、Aが偽(または存在しない)かつBが真(または存在する)である、ならびにA及びBの両方が真(または存在する)である、という条件のうちのいずれか1つによって満たされる。
【0157】
加えて、「1つの(a)」または「1つの(an)」の使用は、本明細書の実施形態の要素及びコンポーネントを説明するために用いられる。これは、単に便宜のために、及び説明の一般的な意味を提供するために行われる。この説明は、1つまたは少なくとも1つを含むものと読み取られるべきであり、単数形は、他の意味になることが明らかでない限り、複数形も含む。
【0158】
本開示を一読すれば、当業者は、本明細書で開示されるモデルを構成し、実行するためのデータモデリングスタジオを実装するためのさらに追加的な代替の構造的及び機能的設計を認識するであろう。したがって、特定の実施形態及びアプリケーションが本明細書で例示され、説明されているが、開示される実施形態は、本明細書で開示される正確な構造及びコンポーネントに限定されないことを理解されたい。当業者には明白である種々の修正、変更、及び変形が、特許請求の範囲で定義される趣旨及び範囲を逸脱することなく、本明細書で開示される方法及び構造の配設、動作、及び詳細において行われ得る。