プロセス制御産業において、配管・計装図及び/または図面(P&ID)は、プロセス機器の相互接続、及びそのプロセスを制御するために使用される計装を示す。自動プロセス及び/またはシステムのためのプロセス制御策は、結合された論理記号の組としてP&ID上で図解される。従来、1つ以上のプロセス制御技術者は、P&ID上で図解された論理記号を、制御モジュールとして知られている個々のプロセス及び/もしくはシステム機能に解釈、変換、かつ/または断片化する。
P&IDが論理の概要をプロセス制御策に提供する一方で、特に、いくつかの制御モジュールが、互いに密接に働いて、複雑な制御策を実装しなければならないとき、断片化された個々の制御モジュールは、同じ全体像を伝達しない。例えば、絶縁において各々の断片化された制御モジュールを調査することは、個々の制御モジュール及び/またはその実行の相対的な順序の関係を含む全体的なプロセス制御策を理解することを難しくする。プロセス制御策が動作及び/または実行している間、絶縁において各々の断片化された制御モジュールを調査することは、またプロセス制御策をトラブルシュート及び/またはデバッグすることを難しくする。
本明細書に開示される方法、装置、及びシステムは、個々の制御モジュール内にプロセス制御策を断片化することの結果として生じる上述の困難を有利に改善するマルチモジュール制御策図の開発及び/または実装を提供する。本明細書に開示されるマルチモジュール制御策図は、開発され、接続され(例えば、互いに配線され)、P&IDの接続された論理記号をより代表するマルチモジュールビュー内に一緒に提示される複数の制御モジュールの表示を可能にする。マルチモジュールビューは、構成されて、互いに接続される個々の制御モジュールの入力及び/または出力を可能にし、構成される個々の制御モジュールの実行の相対的な順序をさらに可能にする。
本明細書に開示されるマルチモジュールビューから、単一の制御モジュールは、単一モジュールビューにおいてさらなる編集及び構成のために選択され得る。単一モジュールビューは、構成されて、互いに対して、ならびに/またはマルチモジュールビューに含まれる制御モジュールの入力及び/もしくは出力に対して接続される選択された制御モジュールと関連付けられた1つ以上の機能ブロック(複数可)の入力(複数可)ならびに出力(複数可)を可能にする。単一モジュールビューは、マルチモジュールビューに含まれる個々の制御モジュールの間でナビゲートし、及び/または単一モジュールビューからマルチモジュールビューに戻ってナビゲートすることを容易にするマルチモジュールビューの小型化された表示を含み得る。
マルチモジュールビュー及び単一モジュールビューは、有利にプロセス制御技術者が、複雑なプロセス制御策を開発及び/またはトラブルシュートすることに対して下降型アプローチを採用することを可能にする。例えば、マルチモジュールビューは、プロセス制御技術者が、新しいプロセス制御策を設計し、及び/またはより抽象的なレベルにおいて(例えば、それらの設計及び/または修正の初めからプロセス制御策の論理詳細において行き詰まることなくマルチモジュールビュー内で個々の制御モジュール間の接続を画定することによって)、それと関連付けられた既存のプロセス制御策及び/または動作中の論理を修正、テスト、またはデバッグすることを可能にする。マルチモジュールビューへの称賛として、そのように行う必要性が生じるならば、単一モジュールビューは、プロセス制御技術者が、マルチモジュールビューから選択された制御モジュールのうちのそれぞれ1つと関連付けられた論理詳細をさらに編集及び/または構成することを可能にする。
本明細書に開示される例は、マルチモジュールプロセス制御管理を提供する。いくつかの開示された例では、制御プロセスのグラフィック表示を含むマルチモジュールビューは、ユーザインターフェースを介して提示される。いくつかの開示された例では、マルチモジュールビューは、制御プロセスの機能に対応する複数の制御モジュールを含む。いくつかの開示された例では、制御モジュールのそれぞれ1つは、1つ以上の対応するモジュール入力(複数可)及び1つの鉱石以上の対応するモジュール出力(複数可)を有する。いくつかの開示された例では、制御プロセスの第1のグラフィック表示は、制御プロセスと関連付けられた配管・計装図(P&ID)の複数のプロセス機能を表示する。いくつかの開示された例では、制御プロセスの第1のグラフィック表示は、制御器による実行のためのプログラムを表示する。
いくつかの開示された例では、第1のグラフィック表示は、事前に構成されなかった制御モジュールに基づいて生成される。いくつかの開示された例では、第1のグラフィック表示は、制御モジュールライブラリから事前構成された制御モジュールを選択することによって生成される。いくつかの開示された例では、事前構成された制御モジュールは再構成可能である。いくつかの開示された例では、第1のグラフィック表示は、制御モジュールライブラリから制御モジュールクラスを選択することによって生成される。いくつかの開示された例では、制御モジュールクラスは複数の事前構成された制御モジュールを含む。いくつかの開示された例では、事前構成された制御モジュールのそれぞれ1つは再構成可能である。いくつかの開示された例では、第1のグラフィック表示は、第1のグラフィック表示に加えるための制御モジュールまたは制御モジュールクラスを選択することによって再生される。いくつかの開示された例では、第1のグラフィック表示は、第1のグラフィック表示から除去する制御モジュールまたは制御モジュールクラスを選択することによって再生される。
いくつかの開示された例では、マルチモジュールビューは、制御モジュールと関連付けられた構成能力の第1の組を提供する。いくつかの開示された例では、構成能力の第1の組は、モジュール入力のうちの対応する1つ及びモジュール出力のうちの対応する1つを介して、制御モジュールのうちのそれぞれ1つを論理的に接続する能力を含む。いくつかの開示された例では、構成能力の第1の組は、制御モジュールの実行の順序を構成及び/または再構成する能力を含む。いくつかの開示された例では、構成能力の第1の組は、制御モジュールのうちのそれぞれ1つに対して実行速度を構成及び/または再構成する能力を含む。いくつかの開示された例では、構成能力の第1の組は、制御モジュールのうちのそれぞれ1つに対して追加の対応するモジュール入力または追加の対応するモジュール出力を生成する能力を含む。いくつかの開示された例では、構成能力の第1の組は、制御モジュールのうちのそれぞれ1つに対して既存の対応するモジュール入力または既存の対応するモジュール出力を除去する能力を含む。いくつかの開示された例では、構成能力の第1の組は、制御モジュールのうちのそれぞれ1つの対応するモジュール入力もしくは対応するモジュール出力に名前を付ける及び/またはその名前を変更する能力を含む。
いくつかの開示された例では、第2のグラフィック表示を含む単一モジュールビューは、ユーザインターフェースを介して提示される。いくつかの開示された例では、単一モジュールビューは、マルチモジュールビューの制御モジュールのうちの選択された1つを特定するモジュール選択指示に応答して提示される。いくつかの開示された例では、第2のグラフィック表示は、マルチモジュールビューの制御モジュールのうちの選択された1つと関連付けられた1つ以上の機能ブロック(複数可)を含む。いくつかの開示された例では、機能ブロック(複数可)のうちのそれぞれ1つは、1つ以上の対応するブロック入力(複数可)及び1つ以上の対応するブロック出力(複数可)を有する。いくつかの開示された例では、単一モジュールビューは、マルチモジュールビューの小型化された表示を含む。いくつかの開示された例では、小型化された表示は、単一モジュールビューの機能ブロック(複数可)と関連付けられた制御モジュールうちの選択された1つの指示を提供する。
いくつかの開示された例では、単一モジュールビューは、機能ブロック(複数可)と関連付けられた構成能力の第2の組を提供する。いくつかの開示された例では、構成能力の第2の組は、ブロック入力のうちの対応する1つ及びブロック出力のうちの対応する1つを介して機能ブロックのうちのそれぞれ1つを論理的に接続する能力を含む。いくつかの開示された例では、構成能力の第2の組は、ブロック入力のうちの対応する1つまたはブロック出力のうちの対応する1つを介して、及びさらにモジュール入力のうちの対応する1つまたはモジュール出力のうちの対応する1つを介して、制御モジュールのうちのそれぞれ1つに機能ブロックのうちのそれぞれ1つを論理的に接続する能力を含む。いくつかの開示された例では、構成能力の第2の組は、制御モジュールのうちのそれぞれ1つの対応するモジュール入力に機能ブロックのうちのそれぞれ1つの対応するブロック出力を論理的に接続する能力を含む。いくつかの開示された例では、構成能力の第2の組は、制御モジュールのうちのそれぞれ1つの対応するモジュール出力に機能ブロックのうちのそれぞれ1つの対応するブロック入力を論理的に接続する能力を含む。いくつかの開示された例では、構成能力の第2の組は、機能ブロックのうちのそれぞれ1つに対して追加の対応するブロック入力または追加の対応するブロック出力を生成する能力を含む。いくつかの開示された例では、構成能力の第2の組は、機能ブロックのそれぞれ1つに対して既存の対応するブロック入力または既存の対応するブロック出力を除去する能力を含む。いくつかの開示された例では、構成能力の第2の組は、機能ブロックのうちのそれぞれ1つの対応するブロック入力もしくは対応するブロック出力に名前を付ける及び/またはその名前を変更する能力を含む。
図1は、原油を加熱するための例示のプロセス制御策を表現する例示のP&ID100である。例示のP&ID100は、例示の第1の制御論理記号102、例示の第2の制御論理記号104、例示の第3の制御論理記号106、例示の第4の制御論理記号108、例示の第5の制御論理記号110、及び例示の第6の制御論理記号112を含む。例示の制御論理記号102、104、106、108、110、112の各々は、P&IDによって図解される全体的なプロセス制御策の部分及び/またはセグメントを表す。いくつかの例では、P&ID100の制御論理記号102、104、106、108、110、112は、制御論理記号102、104、106、108、110、112のそれぞれ1つによって表現されるプロセス機能(複数可)に関して、1つ以上のプログラム(複数可)を実行する1つ以上の制御器(複数可)(図示せず)と関連付けられ得る。例えば、第1の論理記号102が例示の第1の制御器と関連付けられ得る一方で、第2の論理記号104は例示の第2の制御器と関連付けられ得る。代わりに、第1の論理記号102及び第2の論理記号104の両方は、同じ例示の制御器と関連付けられ得る。
図1の図解された例では、P&ID100は、例示の第1のフィールドデバイス記号114、例示の第2のフィールドデバイス記号116、例示の第3のフィールドデバイス記号118、例示の第4のフィールドデバイス記号120、及び例示の第5のフィールドデバイス記号122をさらに含む。例示のフィールドデバイス記号114、116、118、120、122は、P&ID100によって表示された全体的なプロセス制御策の中でプロセス制御機能を実施する(例えば、温度、圧力、流量等を制御及び/または感知する)ために、1つ以上の制御器(複数可)と通信するフィールドデバイス(例えば、バルブ、送信機等)を表す。
図1の図解された例では、P&ID100は、制御論理記号102、104、106、108、110、112のそれのそれぞれ1つを互いに、及び/またはフィールドデバイス記号114、116、118、120、122のそれぞれ1つに、動作可能に結合する例示の論理接続124をさらに含む。論理接続124は、P&ID100によって表示されている全体的なプロセス制御策をさらに図解する。より具体的には、論理接続124は、通信経路(例えば、配線接続)を表し、該通信経路を介して、制御論理記号102、104、106、108、110、112によって表わされ、かつ/またはそれらと関連付けられたプロセス制御器(複数可)、ならびにフィールドデバイス記号114、116、118、120、122によって表わされたフィールドデバイス(複数可)は、互いに通信して、P&ID100によって表示された全体的なプロセス制御策を実装かつ/または実施し得る。例えば、図1は、第5の制御論理記号110に関して、3つの一意な論理結合124を図解する。この点に関しては、第5の制御論理記号110は、第3の制御論理記号106、第6の制御論理記号112、及び第5のフィールドデバイス記号122の各々に論理的に接続される。
図2は、本開示の教示に従って構築された例示のマルチモジュールプロセス制御管理システム200のブロック図である。マルチモジュールプロセス制御管理システム200は、プロセス制御策及び/またはそれと関連付けられた動作中の論理を設計、構築、生成、編集、構成、テスト、及び/またはデバッグする能力を提供するマルチモジュールビューならびに関連付けられた単一モジュールビューを提示する。図2の図解された例では、マルチモジュールプロセス制御管理システム200は、例示のユーザインターフェース202、例示のビューマネージャ204、例示の制御モジュールディベロッパ206、例示の制御モジュールライブラリ208、例示の構成マネージャ210、例示の構成リポジトリ212、及び例示の制御器インターフェース214を含む。しかしながら、マルチモジュールプロセス制御管理システム200の他の例示の実装は、本開示の教示に従って、より少ないまたは追加の構造を含み得る。
図2の図解された例では、ユーザインターフェース202は、エンドユーザ(例えば、プロセス制御技術者)と、ビューマネージャ204、制御モジュールディベロッパ206、制御モジュールライブラリ208、構成マネージャ210、構成リポジトリ212、制御器インターフェース214、及び/またはより一般的にはマルチモジュールプロセス制御管理システム200との間のインタラクション及び/または通信を容易にする。ユーザインターフェース202は、1つ以上の出力装置(複数可)を含み、該出力装置を介して、ユーザインターフェース202は、マルチモジュールプロセス制御管理システム200のエンドユーザに、テキスト、グラフィック、及び/もしくは可聴の形態で、情報ならびに/またはデータを提示する。例えば、ユーザインターフェース202は、テキスト及び/またはグラフィックの情報を提示するための表示装置(例えば、液晶表示装置、陰極線管表示装置等)、ならびに可聴情報を提示するためのスピーカを含み得る。
ユーザインターフェース202は、1つ以上の入力デバイス(複数可)も含み、該入力デバイスを介して、ユーザインターフェース202は、マルチモジュールプロセス制御管理システム200のエンドユーザから情報及び/またはデータを受信する。例えば、ユーザインターフェース202は、キーボード、マウス、マイクロフォン、及び/もしくはタッチスクリーンを有する液晶ディスプレイを含み得、それ(それら)は、エンドユーザが、ビューマネージャ204,制御モジュールディベロッパ206、制御モジュールライブラリ208、構成マネージャ210、構成リポジトリ212、制御器インターフェース214に、及び/もしくはより一般的にはマルチモジュールプロセス制御管理システム200に、データならびに/またはコマンドを伝達することを可能にする。ユーザインターフェース202を介して提示及び/もしくは受信されたデータならびに/または情報は、任意の型、形態、及び/もしくは形式であり得、制御モジュールライブラリ208、及び/もしくは構成リポジトリ212内で記憶され得る。
図2のユーザインターフェース202は、プロセス制御策及び/またはそれと関連付けられた動作中の論理を設計、構築、生成、編集、構成、テスト、及び/またはデバッグする能力を提供するマルチモジュールビューならびに関連付けられた単一モジュールビューを提示する。いくつかの例では、ユーザインターフェース202を介して提示されたマルチモジュールビューは、マルチモジュールビューにおいて表示された制御プロセスの機能に対応する複数の制御モジュールを含む。ユーザインターフェース202を介して提示された例示のマルチモジュールビューは、図4~5に関連して下記に説明される。いくつかの例では、ユーザインターフェース202を介して提示された単一モジュールビューは、マルチモジュールビューに含まれる制御モジュールによって表示された機能と関連付けられた論理に対応する1つ以上の機能ブロック(複数可)を含む。ユーザインターフェース202を介して提示された例示の単一モジュールビューは、図6~7に関連して下記に説明される。
図2の図解された例では、ビューマネージャ204は、ユーザインターフェース202を介して提示された及び/または提示されることになるコンテンツ(例えば、グラフィック及び/またはテキストのデータ及び/または情報)を管理し、ユーザインターフェース202が、そのようなコンテンツを含むマルチモジュールビュー及び/もしくは単一モジュールビューを提示することになるかどうか、ならびに/またはいつ提示することになるかを判定する。ビューマネージャ204は、また、ユーザインターフェース202を介して提示され得るマルチモジュールビュー及び1つ以上の単一モジュールビュー(複数可)の間でナビゲートすることを容易にする。いくつかの例では、ビューマネージャ204は、ユーザインターフェース202を介して提示されることになるデフォルトビューとしてマルチモジュールビューを割り当てる。いくつかの例では、ビューマネージャ204は、マルチモジュールビュー及び/または単一モジュールビューのうちのどちらが、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいて、任意の所定時間にユーザインターフェース202を介して提示されることになるのかを判定し得る。例えば、マルチモジュールビューに含まれる制御モジュールのうちの選択された1つを特定するユーザインターフェース202を介して受信されたモジュール選択入力または他の指示に応答して、ビューマネージャ204は、選択された制御モジュールと関連付けられた単一モジュールビューを、ユーザインターフェース202を介して提示させ得る。別の例として、単一モジュールビューが提示される一方で、ユーザインターフェース202を介して受信されたマルチモジュールビュー選択入力または他の指示に応答して、ビューマネージャ204は、単一モジュールビューの提示を停止させ得、さらに、マルチモジュールビューをユーザインターフェース202を介して提示させ得る。
いくつかの例では、ユーザインターフェース202を介して提示されたマルチモジュールビュー及び単一モジュールビューは、一方が他方の上に積み重ねられ得、これによって、マルチモジュールビューまたは単一モジュールビューのうちの1つのみが、任意の所定時間に完全に視覚化され得る。そのような例では、ビューマネージャ204は、マルチモジュールビューまたは単一モジュールビューのうちのどちらが視覚化され、かつ/またはその焦点を合わせられることになるかについて判定し得、マルチモジュールビュー及び単一モジュールビューを、ユーザインターフェース202を介して提示するとき、それに応じて(例えば、視覚化され、かつ/またはその焦点を合わせられることになるビューを用いて)積み重ねさせ得る。他の例では、ユーザインターフェース202を介して提示されたマルチモジュールビュー及び単一モジュールビューは、並んで、または一方を他方の上方に位置付けられ得、これによって、マルチモジュールビューと単一モジュールビューとの両方とも、任意の所定時間に完全に視覚化され得る。そのような例では、ビューマネージャ204は、ユーザインターフェース202に、アクティブなビューとしてマルチモジュールビューまたは単一モジュールビューのうちの一方を提示させ、インアクティブなビューとしてマルチモジュールビューまたは単一モジュールビューのうちの他方を提示させ得る。
いくつかの例では、ビューマネージャ204は、ユーザインターフェース202を介して提示された単一モジュールビューに、関連付けられたマルチモジュールビュー(例えば、単一モジュールビューに提示された選択された制御モジュールを含むマルチモジュールビュー)の小型化された表示を含めさせ得る。いくつかのそのような例では、マルチモジュールビューの小型化された表示は、現在単一モジュールビューに提示されているマルチモジュールビューの中から、制御モジュールのうちの選択された1つの指示を提供し得る。いくつかの例では、マルチモジュールビューの小型化された表示は、マルチモジュールビューに含まれる個々の制御モジュールの間でナビゲートして、かつ/または単一モジュールビューからマルチモジュールビューにナビゲートすることを容易にする。
図2の図解された例では、制御モジュールディベロッパ206は、例示のユーザインターフェース202を介して提示されるマルチモジュールビュー及び/または単一モジュールビュー(複数可)のコンテンツの中に含まれる1つ以上の関連付けられた機能ブロック(複数可)を有する1つ以上の制御モジュール(複数可)を生成する。いくつかの例では、制御モジュールディベロッパ206は、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいてそのような制御モジュール(複数可)を生成する。いくつかの例では、制御モジュールディベロッパ206は、マルチモジュールビューがユーザインターフェース202を介して提示されるとき、1つ以上の制御モジュール(複数可)を生成し得る。他の例では、制御モジュールディベロッパ206は、単一モジュールビューがユーザインターフェース202を介して提示されるとき、1つ以上の制御モジュール(複数可)を生成し得る。制御モジュールディベロッパ206によって生成された制御モジュール(複数可)及び関連付けられた機能ブロック(複数可)は、構成可能な枠組みをプロセス制御策の設計、開発、及び/または実装に提供する。
いくつかの例では、制御モジュールディベロッパ206は、まだ構成されていない制御モジュールを生成する。例えば、制御モジュールディベロッパ206は、任意の入力(複数可)、出力(複数可)、及び/または論理接続(複数可)を用いて事前に構成されなかった制御モジュールを生成し得る。そのような実例では、制御モジュールディベロッパ206によって生成された制御モジュールは、ブランクである及び/もしくはまだ構成されていないものとして生成時に説明され、かつ/または特徴付けられ得る。
いくつかの例では、制御モジュールディベロッパ206は、例えば、図2の制御モジュールライブラリ208等のデータリポジトリから、事前構成された制御モジュールを選択するかつ/または取り出すことによって、制御モジュールを生成する。そのような例では、選択された及び/または取り出された制御モジュールは、入力、出力、または論理接続のうちの少なくとも1つを含むように事前構成される。いくつかのそのような例では、モジュールディベロッパ206によって選択され、かつ/または取り出される事前構成された制御モジュールは、1つ以上の入力(複数可)、出力(複数可)、及び/または論理接続(複数可)が加えられ、除去され、かつ または修正され得るように再構成可能である。
いくつかの例では、制御モジュールディベロッパ206は、例えば、図2の制御モジュールライブラリ208等のデータリポジトリから、事前構成された制御モジュールを選択するかつ/または取り出すことによって、制御モジュールを生成する。そのような例では、選択された及び/または取り出された制御モジュールクラスは、入力、出力、または論理接続のうちの少なくとも1つを含むように事前構成される複数の制御モジュールを含む。いくつかのそのような例では、モジュールディベロッパによって選択され、かつ/または取り出される制御モジュールクラスの事前構成された制御モジュールは、1つ以上の入力(複数可)、出力(複数可)、及び/または論理接続(複数可)が加えられ、除去され、かつ または修正され得るように再構成可能である。
いくつかの例では、制御モジュールディベロッパ206は、例示のユーザインターフェース202を介して提示されているマルチモジュールビューのコンテンツの中から、1つ以上の制御モジュール(複数可)または制御モジュールクラス(複数可)の除去を制御して、管理してかつ/または容易にする。いくつかの例では、制御モジュールディベロッパ206は、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいて、そのような制御モジュール(複数可)または制御モジュールクラス(複数可)を除去する。
図2の図解された例では、制御モジュールライブラリ208は、1つ以上の事前構成された及び/またはテンプレート制御モジュール(複数可)を記憶する。制御モジュールライブラリ208は、1つ以上の事前構成された及び/またはテンプレート制御モジュールクラス(複数可)を追加として記憶し得る。いくつかの例では、制御モジュールライブラリ208によって記憶された制御モジュール(複数可)及び/または制御モジュールクラス(複数可)は、図2の制御モジュールディベロッパ206によって生成され得た。
図2の制御モジュールライブラリ208は、任意の型(複数可)及び/または任意の数(複数可)の記憶装置、記憶ディスク、フラッシュメモリ、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイディスク、キャッシュ、及び/または情報が任意の期間の間(例えば、延長された期間の間、永久に、短いインスタンス間、一時的にバッファリングする間、及び/または情報をキャッシュする間)記憶される任意の他の記憶媒体によって実装され得る。制御モジュールライブラリ208内に記憶された情報は、任意のファイル及び/もしくはデータ構造形式、組織方式、ならびに/または配列で記憶され得る。制御モジュールライブラリ208内に記憶された情報は、図2のユーザインターフェース202、ビューマネージャ204、制御モジュールディベロッパ206、構成マネージャ210、構成リポジトリ212、制御器インターフェース214、及び/またはより一般的にはマルチモジュールプロセス制御管理システム200にとってアクセス可能である。
図2の図解された例では、構成マネージャ210は、例えば、制御モジュールディベロッパ206によって生成された任意の制御モジュール(複数可)及び関連付けられた機能ブロック(複数可)の構成及び/もしくは再構成を含む、ユーザインターフェース202を介して提示されるマルチモジュールビュー及び/もしくは単一モジュールビュー(複数可)のコンテンツの構成を制御して、管理して、かつ/または容易にする。いくつかの例では、構成マネージャ210は、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいて、そのような制御モジュール(複数可)及び/もしくはそれと関連付けられた機能ブロック(複数可)の構成及び/もしくは再構成を制御して、管理して、かつ/または容易にする。
構成マネージャ210は、マルチモジュールビュー内に提示された1つ以上の制御モジュール(複数可)の構成及び/または再構成を容易にする構成能力の第1の組を提供する。いくつかの例では、構成能力の第1の組は、モジュール入力の対応する1つ及びモジュール出力の対応する1つを介して、制御モジュールのそれぞれ1つを論理的に接続する能力を含む。いくつかの例では、構成能力の第1の組は、制御モジュールの実行の順序を構成及び/または再構成する能力を含む。いくつかの開示された例では、構成能力の第1の組は、制御モジュール(複数可)のうちの1つ以上に対する実行速度を構成及び/または再構成する能力を含む。いくつかの例では、構成能力の第1の組は、制御モジュール(複数可)のうちの1つ以上に対する追加の対応するモジュール入力または追加の対応するモジュール出力を生成する能力を含む。いくつかの例では、構成能力の第1の組は、制御モジュール(複数可)のうちの1つ以上に対する既存の対応するモジュール入力または既存の対応するモジュール出力を除去する能力を含む。いくつかの例では、構成能力の第1の組は、制御モジュール(複数可)のうちの1つ以上の対応するモジュール入力もしくは対応するモジュール出力に名前を付ける及び/またはその名前を変更する能力を含む。構成マネージャ210によって提供された構成能力の第1の組を介して構成及び/または再構成されたコンテンツを含む例示のマルチモジュールビューは、図4~5に関連して下記に説明される。
構成マネージャ210は、マルチモジュールビューの制御モジュールのうちの選択された1つに基づいて単一モジュールビュー内に提示された1つ以上の機能ブロック(複数可)の構成及び/または再構成を容易にする構成能力の第2の組をさらに提供する。いくつかの例では、構成能力の第2の組は、ブロック入力のうちの対応する1つ及びブロック出力のうちの対応する1つを介して機能ブロックのうちのそれぞれ1つを論理的に接続する能力を含む。いくつかの例では、構成能力の第2の組は、制御モジュール(複数可)のうちの1つ以上に機能ブロック(複数可)のうちの1つ以上を論理的に接続する能力を含む。いくつかの例では、構成能力の第2の組は、制御モジュールの対応するモジュール入力に機能ブロックの対応するブロック出力を論理的に接続する能力を含む。いくつかの例では、構成能力の第2の組は、制御モジュールの対応するモジュール出力に機能ブロックの対応するブロック入力を論理的に接続する能力を含む。いくつかの例では、構成能力の第2の組は、機能ブロック(複数可)の1つ以上に対する追加の対応するブロック入力または追加の対応するブロック出力を生成する能力を含む。いくつかの例では、構成能力の第2の組は、機能ブロック(複数可)のうちの1つ以上に対する既存の対応するブロック入力または既存の対応するブロック出力を除去する能力を含む。いくつかの例では、構成能力の第2の組は、機能ブロック(複数可)のうちの1つ以上の対応するブロック入力もしくは対応するブロック出力に名前を付ける及び/またはその名前を変更する能力を含む。構成マネージャ210によって提供された構成能力の第2の組を介して構成及び/または再構成されたコンテンツを含む例示の単一モジュールビューは、図6~7に関連して下記に説明される。
図2の図解された例では、構成リポジトリ212は、マルチモジュールビュー及び/もしくは単一モジュールビューを介して提示された、提示されることになる、及び/もしくは提示されているコンテンツ(例えば、制御モジュール及び/もしくは機能ブロック)と関連付けられた1つ以上の構成(複数可)ならびに/または構成パラメータ(複数可)を記憶する。例えば、構成リポジトリ212は、例えば、制御モジュールの特定、制御モジュールの任意の入力(複数可)及び/もしくは出力(複数可)の数及び/もしくは特定、制御モジュールの入力(複数可)及び/もしくは出力(複数可)への及び/もしくはそれらからの任意の論理接続(複数可)と関連付けられたルーティング及び/もしくは経路、制御モジュールと関連付けられた実行の順序、及び/もしくは制御モジュールの任意の機能ブロック(複数可)の入力(複数可)及び/もしくは出力(複数可)への及び/もしくはそれらからの任意の論理接続(複数可)と関連付けられたルーティング及び/もしくは経路を含む制御モジュールの構成を表現していてならびに/またはそれと関連付けられたデータを記憶し得る。
図2の構成リポジトリ212は、任意の型(複数可)及び/または任意の数(複数可)の記憶装置、記憶ディスク、フラッシュメモリ、読取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ハードディスクドライブ、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、ブルーレイディスク、キャッシュ、及び/または情報が任意の期間の間(例えば、延長された期間の間、永久に、短いインスタンス間、一時的にバッファリングする間、及び/または情報をキャッシュする間)記憶される任意の他の記憶媒体によって実装され得る。構成リポジトリ212内に記憶された情報は、任意のファイル及び/もしくはデータ構造形式、組織方法、ならびに/または配列で記憶され得る。構成リポジトリ212内に記憶された情報は、図2のユーザインターフェース202、ビューマネージャ204、制御モジュールディベロッパ206、制御モジュールライブラリ208、構成マネージャ210、制御器インターフェース214、及び/またはより一般的にはマルチモジュールプロセス制御管理システム200にとってアクセス可能である。
図2の図解された例では、制御器インターフェース214は、例示の制御器216と、ユーザインターフェース202、ビューマネージャ204、制御モジュールディベロッパ206、制御モジュールライブラリ208、構成マネージャ210、構成リポジトリ212、及び/またはより一般的にはマルチモジュールプロセス制御管理システム200との間のインタラクション及び/または通信を容易にする。いくつかの例では、制御器インターフェース214を介したそのようなインタラクション及び/または通信は、制御器216に、マルチモジュールプロセス制御管理システム200を介して構成されたプロセス制御策の何らかの態様(全体を含める)を実装、実施、及び/または実行させ得る。単一の例示の制御器216のみが図2に示される一方で、制御器インターフェース214は、個別に、及び/または集合的に、マルチモジュールプロセス制御管理システム200を介して構成されたプロセス制御策の何らかの態様(全体を含む)を実装、実施、及び/または実行し得る任意の数の制御器とインタラクト及び/または通信し得る。制御器インターフェース214は、例えば、イーサネットインターフェースを含む任意の型のインターフェース規格によって実装され得、例示の制御器216への及び/もしくはそこからのネットワーク(例えば、ローカルエリアネットワーク(LAN)、イーサネット接続等)を介したデータ及び/またはコマンドの受信及び/または交換をさらに生じさせかつ/または許容し得る。
図3は、本開示の教示に従って構築された図2の例示の構成マネージャ210のブロック図である。図3の図解された例では、構成マネージャ210は、例示のモジュールエディタ302、例示のモジュール接続マネージャ304、例示のモジュール実行マネージャ306、例示のブロックエディタ308、及び例示のブロック接続マネージャ310を含む。しかしながら、構成マネージャ210の他の例示の実装は、本開示の教示に従う、より少ないまたは追加の構造を含み得る。
図3の図解された例では、モジュールエディタ302は、図2のユーザインターフェースを介して提示されたマルチモジュールビューに含まれる制御モジュール(複数可)のうちの1つ以上に対する追加の対応するモジュール入力または追加の対応するモジュール出力の生成を可能にし、実施し、かつ/または行う。モジュールエディタ302は、そのような制御モジュール(複数可)のうちの1つ以上に対する既存の対応するモジュール入力または既存の対応するモジュール出力の除去をさらに可能にし、実施し、かつ/または行う。モジュールエディタ302は、そのような制御モジュール(複数可)のうちの1つ以上の対応するモジュール入力または対応するモジュール出力に名前を付けること及び/またはその名前を変更することをさらに可能にし、実施し、かつ/または行う。モジュールエディタ302は、そのような制御モジュール(複数可)のうちの1つ以上の実行速度を構成及び/または再構成することをさらに可能にし、実施し、かつ/または行う。いくつかの例では、モジュールエディタ302は、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいて上述の動作を実施する。
図3の図解された例では、モジュール接続マネージャ304は、図2の例示のユーザインターフェースを介して提示されたマルチモジュールビューに含まれる制御モジュールのそれぞれ1つの間の論理接続の生成、除去、及び/もしくは修正を可能にし、実施し、かつ/または行う。モジュール接続マネージャ304は、モジュール入力の対応する1つ及びモジュール出力の対応する1つを介したそのような論理接続の生成、除去、及び/もしくは修正を可能にし、実施し、かつ/または行う。いくつかの例では、モジュール接続マネージャ304は、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいて上述の動作を実施する。
図3の図解された例では、モジュール実行マネージャ306は、図2の例示のユーザインターフェースを介して提示されたマルチモジュールビューに含まれる制御モジュールの実行の順序の構成及び/もしくは再構成を可能にし、実施し、かつ/または行う。いくつかの例では、モジュール実行マネージャ306は、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいて上述の動作を実施する。
図3の図解された例では、ブロックエディタ308は、図2のユーザインターフェースを介して提示された単一モジュールビューに含まれる機能ブロック(複数可)のうちの1つ以上に対する追加の対応するブロック入力もしくは追加の対応するブロック出力の生成を可能にし、実施し、かつ/または行う。ブロックエディタ308は、そのような機能ブロック(複数可)に対する既存の対応するブロック入力もしくは既存の対応するブロック出力の除去をさらに可能にし、実施し、かつ/または行う。ブロックエディタ308は、そのような機能ブロック(複数可)に対する対応するブロック入力もしくは対応するブロック出力の名前を付けること及び/もしくは名前を変更することをさらに可能にし、実施し、かつ/または行う。いくつかの例では、ブロックエディタ308は、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいて上述の動作を実施する。
図3の図解された例では、ブロック接続マネージャ310は、図2のユーザインターフェースを介して提示された単一モジュールビューに含まれる1つ以上の機能ブロック(複数可)とマルチモジュールビューに含まれる1つ以上の制御モジュール(複数可)との間の論理接続の生成、除去、及び/もしくは修正を可能にし、実施し、かつ/または行う。いくつかの例では、ブロック接続マネージャ310は、機能ブロックの対応するブロック出力と制御モジュールの対応するモジュール入力との間の論理接続の生成、除去、及び/もしくは修正を可能にし、実施し、かつ/または行う。いくつかの例では、ブロック接続マネージャ310は、機能ブロックの対応するブロック入力と制御モジュールの対応するモジュール出力との間の論理接続の形成、除去、及び/もしくは修正を可能にし、実施し、かつ/または行う。いくつかの例では、ブロック接続マネージャ310は、ユーザインターフェース202を介して受信された1つ以上の入力(複数可)または他の指示(複数可)に基づいて上述の動作を実施する。
例示のマルチモジュールプロセス制御管理システム200を実装する例示の様式が図2~3に図解される一方で、図2~3に図解された要素、プロセス、及びデバイスのうちの1つ以上は、任意の他の方法で、組み合わされ、分割され、再編成され、省略され、取り除かれ、かつ/または実装され得る。さらに、図2~3の例示のユーザインターフェース202、例示のビューマネージャ204、例示の制御モジュールディベロッパ206、例示の制御モジュールライブラリ208、例示の構成マネージャ210、例示の構成リポジトリ212、例示の制御器インターフェース214、例示のモジュールエディタ302、例示のモジュール接続マネージャ304、例示のモジュール実行マネージャ306、例示のブロックエディタ308、例示のブロック接続マネージャ310、ならびに/またはより一般的には例示のマルチモジュールプロセス制御管理システム200は、ハードウェア、ソフトウェア、ファームウェア、ならびに/またはハードウェア、ソフトウェア、及び/もしくはファームウェアの任意の組み合わせによって実装され得る。このように、例えば、例示のユーザインターフェース202、例示のビューマネージャ204、例示の制御モジュールディベロッパ206、例示の制御モジュールライブラリ208、例示の構成マネージャ210、例示の構成リポジトリ212、例示の制御器インターフェース214、例示のモジュールエディタ302、例示のモジュール接続マネージャ304、例示のモジュール実行マネージャ306、例示のブロックエディタ308、例示のブロック接続マネージャ310、及び/またはより一般的には例示のマルチモジュールプロセス制御管理システム200のうちのいずれかは、1つ以上のアナログもしくはデジタル回路(複数可)、論理回路(複数可)、プログラム可能プロセッサ(複数可)、特定用途向け集積回路(ASIC(複数可))、プログラム可能論理デバイス(PLD(複数可))、及び/またはフィールドプログラム可能論理デバイス(FPLD(複数可)によって実装され得る。純粋にソフトウェア及び/またはファームウェアの実装を網羅する、本特許の装置またはシステムの特許請求の範囲のうちのいずれかを読むとき、例示のユーザインターフェース202、例示のビューマネージャ204、例示の制御モジュールディベロッパ206、例示の制御モジュールライブラリ208、例示の構成マネージャ210、例示の構成リポジトリ212、例示の制御器インターフェース214、例示のモジュールエディタ302、例示のモジュール接続マネージャ304、例示のモジュール実行マネージャ306、例示のブロックエディタ308、例示のブロック接続マネージャ310、及び/またはより一般的には例示のマルチモジュールプロセス制御管理システム200のうちの少なくとも1つは、ソフトウェア及び/またはファームウェアを記憶するメモリ、デジタル多用途ディスク(DVD)、コンパクトディスク(CD)、ブルーレイディスク等の有形のコンピュータ可読記憶デバイスまたは記憶ディスクを含むように、本明細書によって明示的に定義される。さらにまた、図2~3の例示のマルチモジュールプロセス制御管理システム200は、図2~3に図解されたものに加えて、またはそれらの代わりに、1つ以上の要素(複数可)、プロセス(複数可)、及び/もしくはデバイス(複数可)を含み得、ならびに/または、図解された要素、プロセス、及びデバイスのうちのいずれかの2つ以上もしくはそれらのすべてを含み得る。
図4は、図2の例示のユーザインターフェース202を介して提示された例示のマルチモジュールビュー400である。図4の図解された例では、例示のマルチモジュールビュー400のコンテンツは、図1の例示のP&ID100のコンテンツから部分的に導き出される。例えば、マルチモジュールビュー400は、図1の例示の第1の制御論理記号102に対応する例示の第1の制御モジュール402、図1の例示の第2の制御論理記号104に対応する例示の第2の制御モジュール404、図1の例示の第3の制御論理記号106に対応する例示の第3の制御モジュール406、図1の例示の第4の制御論理記号108に対応する例示の第4の制御モジュール408、図1の例示の第5の制御論理記号110に対応する例示の第5の制御モジュール410、及び図1の例示の第6の制御論理記号112に対応する例示の第6の制御モジュール412を含む。
図4の図解された例では、マルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412は、図2の制御モジュールディベロッパ206によって生成された。いくつかの例では、制御モジュールディベロッパ206は、図2の制御モジュールライブラリ208からそのような制御モジュール(複数可)を選択するかつ/または取り出すことによって、制御モジュール402、404、406、408、410、412のうちの1つ以上を生成し得た。他の例では、制御モジュール402、404、406、408、410、412のうちの1つ以上は、ブランクの制御モジュールとして制御モジュールディベロッパ206によって最初に生成され得た。
図4の図解された例では、制御モジュール402、404、406、408、410、412の各々は、構成可能なモジュール入力及び構成可能なモジュール出力の対応する組を含む。例えば、第4の制御モジュール408は、例示の第1のモジュール入力422(図4に「入力」として特定される)及び例示の第2のモジュール入力424(図4に「遠隔設定点」として特定される)を含むように構成された構成可能なモジュール入力420の例示の対応する組を含む。第4の制御モジュール408は、例示の第1のモジュール出力428(図4に「出力1」として特定される)及び例示の第2のモジュール入力430(図4に「出力2」として特定される)を含むように構成された構成可能なモジュール出力426の例示の対応する組も含む。別の例として、第6の制御モジュール412は、構成可能なモジュール入力432の例示の対応する組ならびに構成可能なモジュール出力434の例示の対応する組を含み、それらのどちらも、任意の特定された及び/もしくは名前を付けられたモジュール入力ならびに/またはモジュール出力を含むように構成されなかった。
図4の図解された例では、制御モジュール402、404、406、408、410、412の各々は、制御モジュール402、404、406、408、410、412に対する実行の順序と関連付けられたそれぞれの実行位置を用いて構成された。例えば、第1の制御モジュール402は、例示の実行位置440(図4に「♯6」として特定される)を用いて構成され、第2の制御モジュール404は、例示の実行位置442(図4に「♯5」として特定される)を用いて構成され、第3の制御モジュール406は、例示の実行位置444(図4に「♯4」として特定される)を用いて構成され、第4の制御モジュール408は、例示の実行位置446(図4に「♯3」として特定される)を用いて構成され、第5の制御モジュール410は、例示の実行位置448(図4に「♯1」として特定される)を用いて構成され、第6の制御モジュール412は、例示の実行位置450(図4に「♯2」として特定される)を用いて構成された。したがって、図4の例において、第5の制御モジュール410は、例示のマルチモジュールビュー400のコンテンツによって表現された全体的なプロセス制御策において実行する最初の制御モジュールである一方で、第1の制御モジュール402は、実行する最終的な制御モジュールである。
図4の図解された例では、制御モジュール402、404、406、408、410、412の各々は、それぞれの実行速度を用いて構成された。例えば、第1の制御モジュール402は、例示の実行速度450(図4に「1秒」として特定される)を用いて構成され、第2の制御モジュール404は、例示の実行速度452(図4に「1秒」として特定される)を用いて構成され、第3の制御モジュール406は、例示の実行速度454(図4に「1秒」として特定される)を用いて構成され、第4の制御モジュール408は、例示の実行速度456(図4に「1秒」として特定される)を用いて構成され、第5の制御モジュール410は、例示の実行速度458(図4に「1秒」として特定される)を用いて構成され、第6の制御モジュール412は、例示の実行速度460(図4に「1秒」として特定される)を用いて構成された。図4の図解された例の各々の例示の実行速度450、452、454、456、458、460が同じ実行速度値(通常、図4に「1秒」として特定される)を有するが、制御モジュール402、404、406、408、410、412のそれぞれの実行速度は、互いに異なり得、同じである必要がない。
図4の図解された例では、制御モジュール402、404、406、408、410、412は、そのような制御モジュールの対応するモジュール入力及び/または対応するモジュール出力の間で任意の論理接続を含むようにはまだ構成されなかった。例えば、どの論理接続も、第4の制御モジュール408の第1のモジュール出力428と、第1の制御モジュール402、第2の制御モジュール404、第3の制御モジュール406、第5の制御モジュール410、または第6の制御モジュール412のうちのいずれかに対応する任意のモジュール入力との間で形成かつ/または構成されなかった。
図5は、図2~3の構成マネージャ210を介して構成及び/または再構成されたコンテンツを含む図4の例示のマルチモジュールビュー400である。図5の図解された例では、例示のマルチモジュールビュー400の構成及び/または再構成されたコンテンツは、図4に図解されたマルチモジュールビュー400の例示のコンテンツから導き出される。図5に関連して図解されたマルチモジュールビューの構成及び/または再構成されたコンテンツは、例えば、図2の制御器216等の1つ以上の制御器(複数可)によって、全部または一部において実装、実施、かつ/または実行され得るプロセス制御策を表示する。
図5の図解された例では、図4の第4の制御モジュール408は、図3のモジュールエディタ302を介して構成され、かつ/または再構成され、その結果第4の制御モジュール408の第1のモジュール入力422、第1のモジュール出力428、及び第2のモジュール出力430の識別ならびに/または名前が変更した。例えば、第1のモジュール入力422(図4に「入力」として特定される)の名前は、図5の例に関連した「カラム入口温度」として特定されるように修正された。同様に、第1のモジュール出力428(図4に「出力1」として特定される)の名前は、「ガス出力」として特定されるように修正され、第2のモジュール出力430(図4に「出力2」として特定される)の名前は、図5の例に関連した「油出力」として特定されるように修正された。
図5の図解された例では、図4の第4の制御モジュール408のモジュール出力426の対応する組は、追加の例示のモジュール出力502(例えば、図5に「燃料需要」として特定される第3のモジュール出力502)を含むように、図3のモジュールエディタ302を介して構成かつ/または再構成された。図5の図解された例では、第2のモジュール入力424(図4に「遠隔設定点」として特定される)は、異なる例示のモジュール入力504(例えば、図5に「トリム燃料」として特定される異なる第2のモジュール入力504)によって除去されて、取り替えられたように、図3のモジュールエディタ302を介して構成かつ/または再構成された。図6~7に関連して下記に説明されるように、図5に示されるような異なる第2のモジュール入力504を有する第4の制御モジュール408の第2のモジュール入力424の除去及び交換は、図3のブロックエディタ308及び/もしくはブロック接続マネージャ310を介して、追加として及び/もしくは代わりに可能にされかつ/または実施され得る。
図5の図解された例では、図4の第6の制御モジュール412のモジュール入力432の対応する組は、例示の第1のモジュール入力506(図5に「空気比率」として特定される)及び例示の第2のモジュール入力508(図5に「無トリム燃料」として特定される)を含むように、図3のモジュールエディタ302を介して構成かつ/または再構成された。図4の第6の制御モジュール412のモジュール出力434の対応する組は、また、例示の第1のモジュール出力510(図5に「燃料需要空気」として特定される)及び例示の第2のモジュール出力512(図5に「トリム燃料」として特定される)を含むように、図3のモジュールエディタ302を介して構成かつ/または再構成された。
図5の図解された例では、図4の第4の制御モジュール408及び第6の制御モジュール412は、図3のモジュール実行マネージャ306を介して構成かつ/または再構成され、これによって、第4の制御モジュール408と関連付けられた実行位置446及び第6の制御モジュール412に関連付けられた実行位置450の特定が変更した。例えば、第4の制御モジュール408と関連付けられた実行位置446(図4に「#3」として特定される)は、図5に「#2」として特定されるように修正され、第6の制御モジュール412と関連付けられた実行位置450(図4に「#2」として特定される)は、図5に「#3」として特定されるように修正された。
図5の図解された例では、図4の第6の制御モジュール412は、図3のモジュールエディタ302を介して構成かつ/または再構成され、これによって、第6の制御モジュール412の実行速度460の特定が変更した。例えば、第6の制御モジュール412の実行速度460(図4に「1秒」として特定される)は、図5の例に関連した「100ミリ秒」として特定されるように修正された。
図5の図解された例では、図4の制御モジュール402、404、406、408、410、412は、例示のマルチモジュールビュー400の制御モジュール402、404、406、408、410、412のそれぞれ1つの間で例示の論理接続520、522、524、526、528、530、532を含むように、図3のモジュール接続マネージャ304を介して構成かつ/または再構成された。例えば、論理接続520は、第4の制御モジュール408の第3のモジュール出力502(図5に「燃料需要」として特定される)と、第6の制御モジュール412の第2モジュール入力508(図5に「無トリム燃料」として特定される)との間で形成かつ/または構成された。別の例として、論理接続522は、第6の制御モジュール412の第2のモジュール出力512(図5に「トリム燃料」として特定される)と、第4の制御モジュール408の異なる第2のモジュール入力504(図5に「トリム燃料」として特定される)との間で形成かつ/または構成された。
図4及び5に関連して具体的に上記に説明されないが、制御モジュール402、404、406、408、410、412のそれぞれ1つと関連付けられた構成パラメータに対して、図3のモジュールエディタ302、モジュール接続マネージャ304、及び/もしくはモジュール実行マネージャ306のうちの1つ以上を介して行われた他の修正ならびに/または変更は、図4に示されるようなマルチモジュールビュー400のコンテンツに対する、図5に示されるようなマルチモジュールビュー400のコンテンツの比較から、早急に明らかである。
図6は、図2の例示のユーザインターフェース202を介して提示された例示の単一モジュールビュー600である。図6の図解された例では、例示の単一モジュールビュー600のコンテンツは、図4に図解されたマルチモジュールビュー400の例示のコンテンツから部分的に導き出される。この点に関して、図6の例示の単一モジュールビュー600は、図5のマルチモジュールビュー400のコンテンツの形態になり、かつ/または形態を取るために、図4に図解された例示のマルチモジュールビュー400に含まれる例示の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上のコンテンツを構成かつ/または再構成することに関連しておよび/またはその過程において提示され得るコンテンツを含む。
図6の図解された例では、図2の例示のビューマネージャ204は、例示の単一モジュールビュー600のコンテンツが基づくことになる選択された制御モジュールとして図4の例示の第4の制御モジュール408を特定するビューマネージャ204によって受信されたモジュール選択入力または他の指示に基づいて、例示の単一モジュールビュー600のコンテンツを図2のユーザインターフェース202を介して提示させる。
図6の図解された例では、例示の単一モジュールビュー600のコンテンツは、例示の第1の機能ブロック602及び例示の第2の機能ブロック604を含み、それらの両方は、図4の選択された例示の第4の制御モジュール408に対応する。図6の図解された例では、機能ブロック602、604の各々は、構成可能なブロック入力の対応する組及び構成可能なブロック出力の対応する組を含む。例えば、第1の機能ブロック602は、例示の第1のブロック入力606(図6に「入力」として特定される)及び例示の第2のブロック入力608(図6に「設定点」として特定される)を含むように構成された構成可能なブロック入力の例示の対応する組を含む。第1の機能ブロック602は、また、例示の第1のブロック出力610(図6に「出力」として特定される)を含むように構成された構成可能なブロック出力の例示の対応する組を含む。別の例として、第2の機能ブロック604は、例示の第1のブロック入力612(図6に「入力」として特定される)を含むように構成された構成可能なブロック入力の例示の対応する組を含む。第2の機能ブロック604は、また、例示の第1のブロック出力614(図6に「出力1」として特定される)及び例示の第2のブロック出力616(図6に「出力2」として特定される)を含むように構成された構成可能なブロック出力の例示の対応する組を含む。
図6の例が、選択された制御モジュールに対応する2つの機能ブロックを図解するが、任意の数の機能ブロックは、単一の機能ブロックを含む選択された制御モジュールに対応し得る。同様に、選択された制御モジュールに対応する各々の機能ブロックは、任意の数の対応するブロック入力及び対応するブロック出力を含み得る。
図6の図解された例では、例示の単一モジュールビュー600のコンテンツは、図4に示されるようなマルチモジュールビュー400のコンテンツから図5に示されるようなマルチモジュールビュー400のコンテンツまで遷移する間に部分的に修正、構成、かつ/または再構成されて、図4の例示の第4の制御モジュール408のモジュール入力420の例示の対応する組及びモジュール出力426の例示の対応する組をさらに含む。例えば、図6に図解されるように、単一モジュールビュー600のコンテンツは、図5の例示の第4の制御モジュール408の例示の第1のモジュール入力422(図5及び6に「カラム入口温度」として特定される)、図4の例示の第4の制御モジュール408の例示の第2のモジュール入力424(図4及び6に「遠隔設定点」として特定される)、図5の例示の第4の制御モジュール408の例示の第1のモジュール出力428(図5及び6に「ガス出力」として特定される)、図5の例示の第4の制御モジュール408の例示の第2のモジュール出力430(図5及び6に「油出力」として特定される)、ならびに図5の例示の第4の制御モジュール408の例示の第3のモジュール出力502(図5及び6に「燃料要求」として特定される)を含む。
図6の図解された例では、例示の単一モジュールビュー600のコンテンツは、例示の第4の制御モジュール408のモジュール入力の及びモジュール出力のそれぞれ1つに対して、それぞれの制御モジュール(複数可)402、404、406、408、410 412のモジュール入力、モジュール出力、及び/または識別子をさらに含み、それらには、第4の制御モジュール408のモジュール入力かモジュール出力が、図4に示されるようなマルチモジュールビュー400のコンテンツから図5に示されるようなマルチモジュールビュー400のコンテンツまで遷移する間に関連付けられかつ/または論理的に接続され得る。例えば、図6に示されるように、図5の第4の制御モジュール408の第3のモジュール出力502(図6に「燃料需要」として特定される)は、図5の第6の制御モジュール412の第2のモジュール入力508(図6に「XLIM―00009\無トリム燃料」として特定される)に結びつけられかつ/または関連付けられる。別の例として、図4の第4の制御モジュール408の第2のモジュール入力424(図6に「遠隔設定点」として特定される)は、例示の識別子618(図6に「<タグ>」として特定される)に結びつけられかつ/または関連付けられる。
図6の図解された例では、例示の単一モジュールビュー600のコンテンツは、互いに、及び/もしくは制御モジュール(複数可)402、404、406、408、410、412の例示のモジュール入力(複数可)もしくは例示のモジュール出力(複数可)のうちの1つ以上に、例示の機能ブロック602、604の例示のブロック入力及び例示のブロック出力を接続するように構成かつ/または再構成された例示の論理接続620、622、624、626、628をさらに含む。例えば、図6の単一モジュールビュー600のコンテンツは、第1の機能ブロック602の第1のブロック出力610(図6に「出力」として特定される)と第2の機能ブロック604の第1のブロック入力612(図6に「入力」として特定される)との間の論理接続624を含む。別の例として、図6の単一モジュールビュー600のコンテンツは、第1の機能ブロック602の第2のブロック入力608(図6に「設定点」として特定される)と、第4の制御モジュール408の第2のモジュール入力424(図6に「遠隔設定点」として特定される)に結びつけられ及び/または関連付けられる識別子618(図6に「<タグ>」として特定される)と間の論理接続622を含む。
図7は、図2~3の例示の構成マネージャ210を介して構成かつ/または再構成されたコンテンツを含む図6の例示の単一モジュールビュー600である。図7の図解された例では、例示の単一モジュールビュー600のコンテンツは、図5に図解されたマルチモジュールビュー400の例示のコンテンツから導き出される。代わりに、図7の例示の単一のモジュールビュー600のコンテンツは、図6の例示の単一のモジュールビュー600のコンテンツから部分的に導き出され得る。図7の図解された例では、図2のビューマネージャ204は、例示の単一モジュールビュー600のコンテンツが基づくことになる選択された制御モジュールとして図5の例示の第4の制御モジュール408を特定するユーザインターフェース202を介してビューマネージャ204によって受信されたモジュール選択入力または他の指示に基づいて、例示の単一モジュールビュー600のコンテンツを図2のユーザインターフェース202を介して提示させる。
図7の図解された例では、例示の単一モジュールビュー600のコンテンツは、いくつかの修正及び/または変更が、図6で示されるような例示の単一モジュールビュー600のコンテンツに対して行われたことを反映する。例えば、図6の第1の機能ブロック602の第2のブロック入力608(図6に「設定点」として特定される)は、図3のブロックエディタ308を介して構成かつ/または再構成されて、図7に示されるように第1の機能ブロック602から除去された。別の例として、図6の第4の制御モジュール408の第2のモジュール入力424(図6に「遠隔設定点」として特定される)は、図3のブロックエディタ308を介して構成及び/または再構成されて、第4の制御モジュール408の異なる第2のモジュール入力504(図7に「トリム燃料」として特定される)を用いて除去されて、取り替えられた。同様に、図6の第4の制御モジュール408の第2のモジュール入力424(図6に「遠隔設定点」として特定される)と関連付けられた識別子618(図6に「<タグ>」として特定される)は、図3のブロックエディタ308を介して構成及び/または再構成されて、第4の制御モジュール408の異なる第2のモジュール入力504(図7に「トリム燃料」として特定される)と現在関連付けられている第6の制御モジュール412の第2のモジュール出力512(図7に「XLIM―00009\トリム燃料」として特定される)を用いて除去されて、取り替えられた。
図7の図解された例では、例示の単一モジュールビュー600のコンテンツは、いくつかの修正及び/または変更が、図6に示されるような例示の単一モジュールビュー600のコンテンツの中に含まれる例示の論理結合620、622、624、626、628に対して行われたことをさらに反映する。例えば、例示の論理接続720は、第1の機能ブロック602の第1のブロック出力610(図7に「出力」として特定される)と、第4の制御モジュール408の第3のモジュール出力502(図7に「燃料需要」として特定される)と結びつけられ及び/もしくは関連付けられる第6の制御モジュール412の第2のモジュール入力508(図7に「XLIM―00009\無トリム燃料」として特定される)との間で、図3のブロック接続マネージャ310を介して形成され、かつ/または構成された。別の例として、図6の論理接続622及び論理接続624は、図3のブロック接続マネージャ310を介して構成及び/または再構成され、第2の機能ブロック604の第1のブロック入力612(図7に「入力」として特定された)と、第4の制御モジュール408の異なる第2のモジュール入力504(図7に「トリム燃料」として特定される)と関連付けられた第6の制御モジュール412の第2のモジュール出力512(図7に「XLIM―00009\トリム燃料」として特定される)との間で形成された例示の論理接続722を用いて除去されて、取り替えられた。
図7の図解された例では、例示の単一モジュールビュー600のコンテンツは、図5の例示のマルチモジュールビュー400の例示の小型化された表示750、及び/またはそのコンテンツを含む。例えば、小型化された表示750は、図5の制御モジュール402、404、406、408、410、412、それらのそれぞれの入力の対応する組及び出力の対応する組、ならびにそれらの入力と出力との間の論理接続520、522、524、526、528、530、532を含む。図7の図解された例では、小型化された表示750は、現在図7の例示の単一モジュールビュー600において提示されている図5のマルチモジュールビュー400の制御モジュール402、404、406、408、410、412の中から制御モジュールのうちの選択された1つを特定する例示のインジケータ752をさらに含む。例えば、図7のインジケータ752は、現在図7の単一モジュールビュー600において提示されている選択された制御モジュールとして、図5の第4の制御モジュール408を特定する。
いくつかの例では、図7の小型化された表示750は、図5のマルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412の間でナビゲートすること及び/または図7の単一モジュールビュー600から図5のマルチモジュールビュー400にナビゲートすることを容易にする。例えば、小型化された表示750とのエンドユーザのインタラクションに応答して、図2のビューマネージャ204にユーザインターフェース202によって提供された入力または他の指示に基づいて(例えば、一部の小型化された表現750をクリックしているエンドユーザに基づいて)、ビューマネージャ204は、図7の単一モジュールビュー600のコンテンツを変更させ、これによって、第4の制御モジュール408以外の制御モジュール402、404、406、410、412のうちの1つと関連付けられたコンテンツは、ユーザインターフェース202を介して単一モジュールビュー600内に提示される。別の例として、小型化された表示750とのエンドユーザのインタラクションに応答して、図2のビューマネージャ204にユーザインターフェース202によって提供された入力または他の指示に基づいて(例えば、一部の小型化された表現750をクリックしているエンドユーザに基づいて)、ビューマネージャ204は、ユーザインターフェース202に、図7の単一モジュールビュー600を提示することを停止させ(または、それに対する提示の焦点を停止させ)、図5のマルチモジュールビュー400を提示することに戻させ(または、それへの提示の焦点を戻させ)得る。
図2~3の例示のマルチモジュールプロセス制御管理システム200を実装するための例示の方法を代表するフローチャートが、図8~12に示される。これらの例では、方法は、図13に関連して下記に議論された例示のプロセッサプラットフォーム1300に示されたプロセッサ1312等のプロセッサによる実行のための1つ以上のプログラム(複数可)を含む機械可読命令を使用して実装され得る。1つ以上のプログラム(複数可)は、プロセッサ1312と関連付けられたCD-ROM、フロッピーディスク、ハードドライブ、デジタル多用途ディスク(DVD)、ブルーレイディスク、またはメモリ等の有形のコンピュータ可読記憶媒体上で記憶されたソフトウェア内で具体化され得るが、全プログラム(複数可)及び/またはそれらの部分は、代わりに、プロセッサ1312以外のデバイスによって実行され、かつ/またはファームウェアもしくは専用のハードウェア内で具体化され得る。さらに、例示のプログラム(複数可)が図8~12に図解されたフローチャートを参照して説明されるが、例示のマルチモジュールプロセス制御管理システム200を実装する多くの他の方法が、代わりに使用され得る。例えば、ブロックの実行の順序は変更され得、かつ/または説明されたブロックのうちのいくつかは変更されるか、取り除かれるか、組み合わせられ得る。
上記のように、図8~12の例示の方法は、ハードディスクドライブ、フラッシュメモリ、読取り専用メモリ(ROM)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、キャッシュ、ランダムアクセスメモリ(RAM)、及び/または情報が任意の期間の間(例えば、延長された期間の間、永久に、短いインスタンス間、一時的にバッファリングする間、及び/または情報をキャッシュする間)記憶される任意の他の記憶デバイスもしくは記憶ディスク等の有形のコンピュータ可読記憶媒体上で記憶されたコード化された命令(例えば、コンピュータ及び/または機械可読命令)を使用して実装され得る。本明細書に使用される場合、「有形のコンピュータ可読記憶媒体」という用語は、任意の型のコンピュータ可読記憶デバイス及び/または記憶ディスクを含み、伝播信号を含まず、伝送媒体を含まないことが明示的に定義される。本明細書に使用される場合、「有形のコンピュータ可読記憶媒体」及び「有形の機械可読記憶媒体」は、交換可能に使用される。追加として、または代わりに、図8~12の例示の方法は、ハードディスクドライブ、フラッシュメモリ、読取り専用メモリ、コンパクトディスク、デジタル多用途ディスク、キャッシュ、ランダムアクセスメモリ、及び/または情報が任意の期間の間(例えば、延長された期間の間、永久に、短いインスタンス間、一時的にバッファリングする間、及び/または情報をキャッシュする間)記憶される任意の他の記憶デバイスもしくは記憶ディスク等の非一過性コンピュータ及び/または機械可読媒体上で記憶されたコード化された命令(例えば、コンピュータ及び/または機械可読命令)を使用して実装され得る。本明細書に使用される場合、「非一過性コンピュータ可読媒体」という用語は、任意の型のコンピュータ可読記憶デバイス及び/または記憶ディスクを含み、伝播信号を含まず、伝送媒体を含まないことが明示的に定義される。本明細書に使用される場合、「少なくとも」という句が特許請求の範囲の前提部分において移行用語として使用されるとき、それは、「含む」という用語がオープンエンドであるのと同じようにオープンエンドである。
図8は、図2~3の例示のマルチモジュールプロセス制御管理システム200を実装して、プロセス制御策及び/またはそれと関連付けられた動作中の論理を設計、構築、生成、編集、構成、テスト、及び/またはデバッグするために実行され得る例示の方法800を表すフローチャートである。図2のユーザインターフェース202が、マルチモジュールビュー及びそれに関連付けられた任意のコンテンツを提示するとき(ブロック802)、図8の例示の方法800は開始する。例えば、ユーザインターフェース202は、図4に図解された関連付けられたコンテンツを有する例示のマルチモジュールビュー400(例えば、例示の制御モジュール402、404、406、408、410、412、ならびにそれらに対応するモジュール入力及びモジュール出力)を提示し得る。いくつかの例では、ユーザインターフェース202は、任意の関連付けられたコンテンツをまだ含まないマルチモジュールビュー(例えば、マルチモジュールビューであって、それに対して、図2の制御モジュールディベロッパ206が図4に含まれる制御モジュール402、404、406、408、410、412のうちのいずれもまだ生成していないマルチモジュールビュー)を提示し得る。
図2のビューマネージャ204は、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに対して、1つ以上の制御モジュール(複数可)が加えられるか、除去されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック804)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、ビューマネージャ204は、1つ以上の制御モジュール(複数可)が、図4のマルチモジュールビュー400での内包のために生成されることになることを判定し得る。ビューマネージャ204が、1つ以上の制御モジュール(複数可)が、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに対して、加えられるか、除去されることになることを指示する入力または他の指示が受信されたことをブロック804において判定するならば、例示の方法800の制御は、ブロック806に進む。ビューマネージャ204が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック804において判定するならば、例示の方法800の制御はブロック808に進む。
ブロック806において、図2の制御モジュールディベロッパ206は、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる1つ以上の制御モジュール(複数可)を生成し、及び/またはユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツから1つ以上の制御モジュール(複数可)を除去する(ブロック806)。例えば、制御モジュールディベロッパ206は、図4に示されるような例示のマルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412を生成し得る。別の例として、制御モジュールディベロッパ206は、図4に示されるような例示のマルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412のうちの1つ以上を除去し得る。ブロック806を実装して、ユーザインターフェースを介して提示されたマルチモジュールビューの現在のコンテンツに1つ以上の制御モジュール(複数可)を生成してかつ/または加えるために使用され得る例示のプロセスが、図9に関連して下記にさらに詳細に説明される。ブロック806を実装して、ユーザインターフェースを介して提示されたマルチモジュールビューの現在のコンテンツから1つ以上の制御モジュール(複数可)を除去するために使用され得る例示のプロセスが、図10に関連して下記にさらに詳細に説明される。
ブロック808において、図2のビューマネージャ204は、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる1つ以上の制御モジュール(複数可)が構成かつ/または再構成されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック808)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、ビューマネージャ204は、図4に示されるような例示のマルチモジュールビュー400に含まれる例示の制御モジュール402、404、406、408、410、412のうちの1つ以上が構成かつ/または再構成されることになることを判定し得る。ビューマネージャ204が、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる1つ以上の制御モジュール(複数可)が構成かつ/または再構成されることになることを指示する入力または他の指示が受信されたことをブロック808において判定するならば、例示の方法800の制御はブロック810に進む。ビューマネージャ204が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック808において判定するならば、例示の方法800の制御はブロック812に進む。
ブロック810において、図2の構成マネージャ210は、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上を構成かつ/または再構成する(ブロック810)。例えば、図4に示されるようなマルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412に関して、構成マンジャー210は、制御モジュール(複数可)のうちの1つ以上の対応するモジュール入力(複数可)、制御モジュール(複数可)のうちの1つ以上の対応するモジュール出力(複数可)、制御モジュール間の1つ以上の論理接続(複数可)、制御モジュール(複数可)の実行速度、及び/もしくは制御モジュールに対する実行の順序を構成かつ/または再構成し得る。ブロック810を実装するために使用され得る例示のプロセスが、図11に関連して下記にさらに詳細に説明される。
ブロック812において、図2のビューマネージャ204は、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュールの中から選択された制御モジュールのうちの1つ以上が、ユーザインターフェース202を介して、単一モジュールビュー内で提示されることになることを指示するモジュール選択入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック812)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、ビューマネージャ204は、図4に示されるような例示のマルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412のうちの1つ以上が、ユーザインターフェース202を介して単一モジュールビュー内で提示されることになることを判定し得る。ビューマネージャ204が、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュールの中から選択された制御モジュールのうちの1つ以上が、ユーザインターフェース202を介して、単一モジュールビュー内で提示されることになることを指示するモジュール選択入力または他の指示が受信されたことをブロック812において判定するならば、例示の方法800の制御はブロック816に進む。ビューマネージャ204が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック812において判定するならば、例示の方法800の制御はブロック814に進む。
ブロック814において、図2のビューマネージャ204は、ユーザインターフェース202が、現在提示されているマルチモジュールビューを提示することを中止するように指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック814)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、ビューマネージャ204は、ユーザインターフェース202が図4または5のどちらかに示されるような例示のマルチモジュールビュー400を提示することを中止すべきかどうかを判定し得る。ビューマネージャ204が、ユーザインターフェース202が現在提示されているマルチモジュールビューを提示することを中止するように指示する入力または他の指示が受信されたことをブロック814において判定するならば、例示の方法800は終了する。ビューマネージャ204が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック814において判定するならば、例示の方法800の制御はブロック804に戻る。
ブロック816において、図2のユーザインターフェース202は、制御モジュールのうちの選択された1つに対応し、かつ/または関連付けられたコンテンツを含む単一モジュールビューを提示する(ブロック816)。例えば、ユーザインターフェース202は、図6に図解された関連付けられたコンテンツ(例えば、例示の機能ブロック602、604、ならびにそれらに対応するブロック入力、ブロック出力、及び論理接続)を有する例示の単一モジュールビュー600を提示し得る。
ブロック818において、図2のビューマネージャ204は、ユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに含まれる1つ以上の機能ブロック(複数可)が構成され、かつ/または再構成されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック818)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、ビューマネージャ204は、図6に示されるような例示の単一モジュールビュー600に含まれる機能ブロック602、604のうちの1つ以上が構成され、かつ/または再構成されることになることを判定し得る。ビューマネージャ204が、ユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに含まれる1つ以上の機能ブロック(複数可)が構成されかつ/または再構成されることになることを指示する入力または他の指示が受信されことをブロック818において判定するならば、例示の方法800の制御はブロック820に進む。ビューマネージャ204が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック818において判定するならば、例示の方法800の制御はブロック822に進む。
ブロック820において、図2の構成マネージャ210は、ユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに含まれる機能ブロック(複数可)のうちの1つ以上を構成し、かつ/または再構成する(ブロック820)。例えば、図6に示されるような例示の単一モジュールビュー600に含まれる機能ブロック602、604に関して、構成マンジャー210は、例示の単一モジュールビュー600が関連付けられているマルチモジュールビュー400に含まれる、機能ブロック(複数可)のうちの1つ以上の対応するブロック入力(複数可)、機能ブロック(複数可)のうちの1つ以上の対応するブロック出力(複数可)、機能ブロック間の1つ以上の論理接続(複数可)、及び/または機能ブロックのうちのそれぞれ1つと制御モジュールのうちのそれぞれ1つとの間の1つ以上の論理接続(複数可)を構成かつ/または再構成し得る。ブロック820を実装するために使用され得る例示のプロセスが、図12に関連して下記にさらに詳細に説明される。
ブロック822において、図2のビューマネージャ204は、ユーザインターフェース202がマルチモジュールビューを提示することに戻さなければならないことを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック822)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、ビューマネージャ204は、ユーザインターフェース202が図6または7のどちらかに示されるような例示の単一モジュールビュー600を提示することを中止して、図4または5のどちらかに示されるような例示のマルチモジュールビュー400を提示することに戻らなければならないことを判定し得る。ビューマネージャ204が、ユーザインターフェース202がマルチモジュールビューを提示することに戻るように指示する入力または他の指示が受信されたことをブロック822において判定するならば、例示の方法800の制御はブロック802に戻る。ビューマネージャ204が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック822において判定するならば、例示の方法800の制御はブロック824に進む。
ブロック824において、図2のビューマネージャ204は、ユーザインターフェース202が現在提示される単一モジュールビューを提示することを中止するように指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック824)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、ビューマネージャ204は、ユーザインターフェース202が図6または7のどちらかに示されるような例示の単一モジュールビュー600を提示することを中止すべきと判定し得る。ビューマネージャ204が、ユーザインターフェース202が、現在提示される単一モジュールビューを提示することを中止するように指示する入力または他の指示が受信されたことをブロック824において判定するならば、例示の方法800は終了する。ビューマネージャ204が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック824において判定するならば、例示の方法800の制御はブロック818に戻る。
図9は、図2の例示の制御モジュールディベロッパ206を実装することを実行して、図2の例示のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれ、かつ/または加えられるように1つ以上の制御モジュール(複数可)を生成し得る例示の方法806を代表するフローチャートである。図9のブロック902、904、906、908、910、及び912の例示の動作は、図8のブロック806を実装するために使用され得る。
図2の制御モジュールディベロッパ206が、1つ以上のブランクの制御モジュール(複数可)がマルチモジュールビューでの内包のために生成されるかつ/またはそれに加えられることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定するとき(ブロック902)、図9の例示の方法806は開始する。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、制御モジュールディベロッパ206は、1つ以上のブランクの制御モジュール(複数可)が図4の例示のマルチモジュールビュー400での内包のために生成される、かつ/またはそれに加えられることになることを判定し得る。制御モジュールディベロッパ206が、1つ以上のブランクの制御モジュール(複数可)がマルチモジュールビューでの内包のために生成される及び/またはそれに加えられることになることを指示する入力または他の指示が受信されたことをブロック902において判定するならば、例示の方法806の制御はブロック904に進む。制御モジュールディベロッパ206が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック902において判定するならば、例示の方法806の制御はブロック906に進む。
ブロック904において、図2の制御モジュールディベロッパ206は、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれかつ/またはそれに加えられることになる1つ以上のブランクの制御モジュール(複数可)を生成する(ブロック904)。例えば、図4に示されるような例示のマルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412のうちの1つ以上は、ブランクの制御モジュールとして制御モジュールディベロッパ206によって最初に生成され得た。
ブロック906において、図2の制御モジュールディベロッパ206は、制御モジュールライブラリから事前構成された制御モジュールを読み出すことによって1つ以上の事前構成された制御モジュール(複数可)がマルチモジュールビューでの内包のために生成されるかつ/またはそれに加えられることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック906)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、制御モジュールディベロッパ206は、図2の制御モジュールライブラリ208からそのような事前構成された制御モジュール(複数可)を選択するかつ/または取り出すことによって、1つ以上の事前構成された制御モジュール(複数可)が図4の例示のマルチモジュールビュー400での内包のために生成されるかつ/またはそれに加えられることになることを判定し得る。制御モジュールディベロッパ206が、制御モジュールライブラリから事前構成された制御モジュール(複数可)を読み出すことによって、1つ以上の事前構成された制御モジュール(複数可)がマルチモジュールビューでの内包のために生成される及び/またはそれに加えられることになることを指示する入力または他の指示が受信されたことをブロック906において判定するならば、例示の方法806の制御はブロック908に進む。制御モジュールディベロッパ206が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック906において判定するならば、例示の方法806の制御はブロック910に進む。
ブロック908において、図2の制御モジュールディベロッパ206は、1つ以上の指定された事前構成された制御モジュール(複数可)を制御モジュールライブラリから読み出すことによって、マルチモジュールビューの現在のコンテンツに含まれかつ/またはそれに加えられることになる1つ以上の事前構成された制御モジュール(複数可)を生成する(ブロック908)。例えば、図4に示されるような例示のマルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412のうちの1つ以上は、制御モジュールディベロッパ206が、1つ以上の指定された事前構成された制御モジュール(複数可)を図2の制御モジュールライブラリ208から選択するかつ/または読み出すことによって生成され得た。
ブロック910において、図2の制御モジュールディベロッパ206は、事前構成された制御モジュールクラス(複数可)を制御モジュールライブラリから読み出すことによって、1つ以上の事前構成された制御モジュールクラス(複数可)がマルチモジュールビューでの内包のために生成されるかつ/またはそれに加えられることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック910)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、制御モジュールディベロッパ206は、図2の制御モジュールライブラリ208からそのような事前構成された制御モジュールクラス(複数可)を選択するかつ/または取り出すことによって、1つ以上の事前構成された制御モジュールクラス(複数可)が図4の例示のマルチモジュールビュー400での内包のために生成される及び/またはそれに加えられることになることを判定し得る。制御モジュールディベロッパ206が、事前構成された制御モジュールクラス(複数可)を制御モジュールライブラリから読み出すことによって、1つ以上の事前構成された制御モジュールクラス(複数可)がマルチモジュールビューでの内包のために生成されるかつ/またはそれに加えられることになることを指示する入力または他の指示が受信されたことをブロック906において判定するならば、例示の方法806の制御はブロック912に進む。制御モジュールディベロッパ206が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック910において判定するならば、例示の方法806は終了し、制御は、図8の例示の方法800等の関数の呼び出しまたはプロセスに戻る。
ブロック912において、図2の制御モジュールディベロッパ206は、制御モジュールライブラリから1つ以上の指定された制御モジュールクラス(複数可)を読み出すことによって、マルチモジュールビューの現在のコンテンツに含まれるかつ/またはそれに加えられることになる1つ以上の事前構成された制御モジュールクラスを生成する(ブロック912)。例えば、図4に示されるような例示のマルチモジュールビュー400に含まれる制御モジュール402、404、406、408、410、412のうちの1つ以上は、制御モジュールディベロッパ206が、1つ以上の指定された事前構成された制御モジュールクラス(複数可)を図2の制御モジュールライブラリ208から選択するかつ/または読み出すことによって生成され得た。ブロック912に続いて、例示の方法806は終了し、制御は、図8の例示の方法800等の関数の呼び出しまたはプロセスに戻る。
図10は、図2の例示の制御モジュールディベロッパ206を実装することを実行して、図2の例示のユーザインターフェース202を介して提示されたマルチモジュールビューから1つ以上の制御モジュール(複数可)を除去し得る例示の方法806を表すフローチャートである。図10のブロック1002、1004、1006、1008、1010、及び1012の例示の動作は、図8のブロック806を実装するために使用され得る。
図2の制御モジュールディベロッパ206が、1つ以上のブランクの制御モジュール(複数可)がマルチモジュールビューから除去されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定するとき(ブロック1002)、図10の例示の方法806は開始する。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、制御モジュールディベロッパ206は、1つ以上のブランクの制御モジュール(複数可)が図4の例示のマルチモジュールビュー400から除去されることになることを判定し得る。制御モジュールディベロッパ206が、1つ以上のブランクの制御モジュール(複数可)がマルチモジュールビューから除去されることになることを指示する入力または他の指示が受信されたことをブロック1002において判定するならば、例示の方法806の制御はブロック1004に進む。制御モジュールディベロッパ206が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1002において判定するならば、例示の方法806の制御はブロック1006に進む。
ブロック1004において、図2の制御モジュールディベロッパ206は、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツから1つ以上のブランクの制御モジュール(複数可)を除去する(ブロック1004)。
ブロック1006において、図2の制御モジュールディベロッパ206は、1つ以上の事前構成された制御モジュール(複数可)がマルチモジュールビューから除去されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック1006)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、制御モジュールディベロッパ206は、1つ以上の事前構成された制御モジュール(複数可)が図4の例示のマルチモジュールビュー400から除去されることになることを判定し得る。制御モジュールディベロッパ206が、1つ以上の事前構成された制御モジュール(複数可)がマルチモジュールビューから除去されることになることを指示する入力または他の指示が受信されたことをブロック1006において判定するならば、例示の方法806の制御はブロック1008に進む。制御モジュールディベロッパ206が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1006において判定するならば、例示の方法806の制御はブロック1010に進む。
ブロック1008において、図2の制御モジュールディベロッパ206は、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツから1つ以上の事前構成された制御モジュール(複数可)を除去する(ブロック1008)。
ブロック1010において、図2の制御モジュールディベロッパ206は、1つ以上の事前構成された制御モジュールクラス(複数可)がマルチモジュールビューから除去されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック1010)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、制御モジュールディベロッパ206は、1つ以上の事前構成された制御モジュールクラス(複数可)が図4の例示のマルチモジュールビュー400から除去されることになることを判定し得る。制御モジュールディベロッパ206が、1つ以上の事前構成された制御モジュールクラス(複数可)がマルチモジュールビューから除去されることになることを指示する入力または他の指示が受信されたことをブロック1010において判定するならば、例示の方法806の制御はブロック1012に進む。制御モジュールディベロッパ206が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1010において判定するならば、例示の方法806は終了し、制御は、図8の例示の方法800等の関数の呼び出しまたはプロセスに戻る。
ブロック1012において、図2の制御モジュールディベロッパ206は、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツから1つ以上の事前構成された制御モジュールクラス(複数可)を除去する(ブロック1012)。ブロック1012に続いて、例示の方法806は終了し、制御は、図8の例示の方法800等の関数の呼び出しまたはプロセスに戻る。
図11は、図2~3の例示の構成マネージャ210を実装することを実行して、図2の例示のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上を構成かつ/または再構成し得る例示の方法810を代表するフローチャートである。図11のブロック1102、1104、1106、1108、1110、1112、1114、1116、1118、及び1120の例示の動作は、図8のブロック810を実装するために使用され得る。
図2の構成マネージャ210が、マルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/もしくは1つ以上のモジュール出力(複数可)が加えられるかつ/または除去されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定するとき(ブロック1102)、図11の例示の方法810は開始する。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、構成マネージャ210は、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/もしくは1つ以上のモジュール出力(複数可)が加えられるかつ/または除去されることになることを判定し得る。構成マネージャ210が、マルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/もしくは1つ以上のモジュール出力(複数可)が加えられるならびに/または除去されることになることを指示する入力または他の指示が受信されたことをブロック1102において判定するならば、例示の方法810の制御はブロック1104に進む。構成マネージャ210が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1102において判定するならば、例示の方法810の制御はブロック1106に進む。
ブロック1104において、図2の構成マネージャ210は、図3のモジュールエディタ302を介して、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/もしくは1つ以上のモジュール出力(複数可)を加えるかつ/または除去する(ブロック1104)。例えば、構成マネージャ210は、モジュールエディタ302を介して、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/もしくは1つ以上のモジュール出力(複数可)を加えるかつ/または除去し得る。
ブロック1106において、図2の構成マンジャー210は、マルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/または1つ以上のモジュール出力(複数可)の名前を付けられるかつ/またはその名前を変更されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック1106)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、構成マネージャ210は、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/または1つ以上のモジュール出力(複数可)の名前を付けられるかつ/またはその名前を変更されることになることを判定し得る。構成マネージャ210が、マルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/または1つ以上のモジュール出力(複数可)の名前を付けられるかつ/またはその名前を変更されることになることを指示する入力または他の指示が受信されたことをブロック1106において判定するならば、例示の方法810の制御はブロック1108に進む。構成マネージャ210が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1106において判定するならば、例示の方法810の制御はブロック1110に進む。
ブロック1108において、図2の構成マネージャ210は、図3のモジュールエディタ302を介して、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/もしくは1つ以上のモジュール出力(複数可)の名前を付けるかつ/またはその名前を変更する(ブロック1108)。例えば、構成マネージャ210は、モジュールエディタ302を介して、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上に対応する1つ以上のモジュール入力(複数可)及び/もしくは1つ以上のモジュール出力(複数可)の名前を付けるかつ/またはその名前を変更し得る。
ブロック1110において、図2の構成マンジャー210は、マルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する実行速度が構成かつ/または再構成されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック1110)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、構成マネージャ210は、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上に対応する実行速度 が構成かつ/または再構成されることになることを判定し得る。構成マネージャ210が、マルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する実行速度が構成かつ/または再構成されることになることを指示する入力または他の指示が受信されたことをブロック1110において判定するならば、例示の方法810の制御はブロック1112に進む。構成マネージャ210が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1110において判定するならば、例示の方法810の制御はブロック1114に進む。
ブロック1112において、図2の構成マネージャ210は、図3のモジュールエディタ302を介して、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上に対応する実行速度を構成かつ/または再構成する(ブロック1112)。例えば、構成マネージャ210は、モジュールエディタ302を介して、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上に対応する実行速度を構成かつ/または再構成し得る。
ブロック1114において、図2の構成マンジャー210は、1つ以上の論理接続(複数可)がユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツのために構成かつ/または再構成されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック1114)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、構成マネージャ210は、1つ以上の論理接続(複数可)が図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちのそれぞれ1つの間で構成かつ/または再構成されることになることを判定し得る。構成マネージャ210が、1つ以上の論理接続(複数可)がユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツのために構成かつ/または再構成されることになることを指示するそのような入力または他の指示が受信されたことをブロック1114において判定するならば、例示の方法810の制御はブロック1116に進む。構成マネージャ210が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1114において判定するならば、例示の方法810の制御はブロック1118に進む。
ブロック1116において、図2の構成マネージャ210は、図3のモジュール接続マネージャ304を介して、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれるモジュール入力の対応する1つ及びモジュール出力の対応する1つを介して、制御モジュールのうちのそれぞれ1つの間の1つ以上の論理接続(複数可)を構成かつ/または再構成する(ブロック1116)。例えば、構成マネージャ210は、モジュール接続マネージャ304を介して、制御モジュール(複数可)402、404、406、408、410、412に含まれるモジュール入力の対応する1つ及びモジュール出力の対応する1つを介して、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちのそれぞれ1つの間の1つ以上の論理接続(複数可)を構成かつ/または再構成し得る。
ブロック1118において、図2の構成マネージャ210は、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上の実行の順序が構成かつ/または再構成されることになることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック1118)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、構成マネージャ210は、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上の実行の順序が構成かつ/または再構成されることになることを判定し得る。構成マネージャ210が、ユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上の実行の順序が構成かつ/または再構成されることになることを指示する入力または他の指示が受信されたことをブロック1118において判定するならば、例示の方法810の制御はブロック1120に進む。構成マネージャ210が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1118において判定するならば、例示の方法810の制御は終了し、制御は、図8の例示の方法800等の関数の呼び出しまたはプロセスに戻る。
ブロック1120において、図2の構成マネージャ210は、図3のモジュール実行マネージャ306を介して、図2のユーザインターフェース202を介して提示されたマルチモジュールビューの現在のコンテンツに含まれる制御モジュール(複数可)のうちの1つ以上の実行の順序を構成かつ/または再構成する(ブロック1120)。例えば、構成マネージャ210は、モジュール実行マネージャ306を介して、図4に示される例示のマルチモジュールビュー400の制御モジュール(複数可)402、404、406、408、410、412のうちの1つ以上の実行の順序を構成かつ/または再構成し得る。ブロック1120に続いて、例示の方法810は終了し、制御は、図8の例示の方法800等の関数の呼び出しまたはプロセスに戻る。
図12は、図2~3の例示の構成マネージャ210を実装することを実行して、図2の例示のユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに含まれる機能ブロック(複数可)のうちの1つ以上を構成かつ/または再構成し得る例示の方法820を表すフローチャートである。図12のブロック1202、1204、1206、1208、1210、及び1212の例示の動作は、図8のブロック820を実装するために使用され得る。
図2の構成マネージャ210が、単一モジュールビューの現在のコンテンツに含まれる機能ブロック(複数可)のうちの1つ以上に対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上が加えられるかつ/または除去されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定するとき(ブロック1202)、図12の例示の方法820は開始する。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、構成マネージャ210は、図6に示された例示の単一モジュール600の機能ブロック(複数可)602、604のうちのそれぞれ1つに対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上が加えられるかつ/または除去されることになることを判定し得る。構成マネージャ210が、単一モジュールビューの現在のコンテンツに含まれる機能ブロック(複数可)のうちの1つ以上に対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上が加えられるかつ/または除去されることになることを指示する入力または他の指示が受信されたことをブロック1202において判定するならば、例示の方法820の制御はブロック1204に進む。構成マネージャ210が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1202において判定するならば、例示の方法820の制御はブロック1206に進む。
ブロック1204において、図2の構成マネージャ210は、図3のブロックエディタ308を介して、図2のユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに含まれる機能ブロック(複数可)のうちの1つ以上に対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上を加えるかつ/または除去する(ブロック1204)。例えば、構成マネージャ210は、ブロックエディタ308を介して、図6に示された例示の単一モジュール600の機能ブロック(複数可)602、604のうちのそれぞれ1つに対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上を加えるかつ/または除去し得る。
ブロック1206において、図2の構成マネージャ210は、単一モジュールビューの現在のコンテンツに含まれる機能ブロック(複数可)のうちの1つ以上に対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上の名前を付けられるかつ/またはその名前を変更されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック1206)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、構成マネージャ210は、図6に示された例示の単一モジュール600の機能ブロック(複数可)602、604のうちの1つ以上に対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上の名前を付けられるかつ/またはその名前を変更されることになることを判定し得る。構成マネージャ210が、単一モジュールビューの現在のコンテンツに含まれる機能ブロック(複数可)のうちの1つ以上に対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上の名前を付けられるかつ/またはその名前を変更されることになることを指示する入力または他の指示が受信されたことをブロック1206において判定するならば、例示の方法820の制御はブロック1208に進む。構成マネージャ210が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1206において判定するならば、例示の方法820の制御はブロック1210に進む。
ブロック1208において、図2の構成マネージャ210は、図3のブロックエディタ308を介して、図2のユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに含まれる機能ブロック(複数可)のうちの1つ以上に対応するブロック入力(複数可)のうちの1つ以上及び/またはブロック出力(複数可)のうちの1つ以上の名前を付けるかつ/またはその名前を変更する(ブロック1208)。例えば、構成マネージャ210は、ブロックエディタ308を介して、図6に示された例示の単一モジュール600の機能ブロック(複数可)602、204のうちの1つ以上に対応する1つ以上のブロック入力(複数可)及び/または1つ以上のブロック出力(複数可)の名前を付けるかつ/またはその名前を変更し得る。
ブロック1210において、図2の構成マンジャー210は、図2のユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに対して1つ以上の論理接続(複数可)が構成かつ/または再構成されることになることを指示する入力または他の指示が図2のユーザインターフェース202を介して受信されたかどうかを判定する(ブロック1210)。例えば、ユーザインターフェース202を介して受信された入力または他の指示に基づいて、構成マネージャ210は、図6に示された例示の単一モジュール600に含まれるブロック入力のうちの対応する1つ、ブロック出力のうちの対応する出力、モジュール入力のうちの対応する1つ、及び/またはモジュール出力のうちの対応する1つを介して、機能ブロック(複数可)602、604のうちのそれぞれ1つの間、及び/または機能ブロック(複数可)602、604のうちのそれぞれ1つと制御モジュール402、404、406、408、410、412のうちのそれぞれ1つとの間の1つ以上の論理接続(複数可)が構成かつ/または再構成されることになることを判定し得る。構成マネージャ210が、ユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに対して1つ以上の論理接続(複数可)が構成かつ/または再構成されることになることを指示するそのような入力または他の指示が受信されたことをブロック1210において判定するならば、例示の方法820の制御はブロック1212に進む。構成マネージャ210が、その代わりに、そのような入力または他の指示が受信されなかったことをブロック1210において判定するならば、例示の方法820は終了し、制御は、図8の例示の方法800等の関数の呼び出しまたはプロセスに戻る。
ブロック1212において、図2の構成マネージャ210は、図3のブロック接続マネージャ310を介して、 図2の例示のユーザインターフェース202を介して提示された単一モジュールビューの現在のコンテンツに含まれるブロック入力のうちの対応する1つ、ブロック出力のうちの対応する出力、 モジュール入力のうちの対応する1つ、及び/またはモジュール出力のうちの対応する1つを介して、機能ブロックのうちのそれぞれ1つの間、及び/または機能ブロックのうちのそれぞれ1つと制御モジュールのうちのそれぞれ1つとの間の1つ以上の論理接続(複数可)を構成かつ/または再構成する(ブロック1212)。例えば、構成マネージャ210は、ブロック接続マネージャ310を介して、図6に示された例示の単一モジュール600に含まれるブロック入力のうちの対応する1つ、ブロック出力のうちの対応する出力、 モジュール入力のうちの対応する1つ、及び/またはモジュール出力のうちの対応する1つを介して、機能ブロック(複数可)602、604のうちのそれぞれ1つの間、及び/または機能ブロック(複数可)602、604のうちのそれぞれ1つと制御モジュール402、404、406、408、410、412のうちのそれぞれ1つとの間の1つ以上の論理接続(複数可)を構成かつ/または再構成し得る。ブロック1212に続いて、例示の方法820は終了し、制御は、図8の例示の方法800等の関数の呼び出しまたはプロセスに戻る。
図13は、図8~12の方法及び図2~3の例示のマルチモジュールプロセス制御管理システム200を実装する命令を実行することができる例示のプロセッサプラットフォーム1300のブロック図である。プロセッサプラットフォーム1300は、例えば、サーバ、パーソナルコンピュータ、タブレット、または任意の他の型のコンピューティングデバイスであり得る。
図解された例のプロセッサプラットフォーム1300はプロセッサ1312を含む。図解された例のプロセッサ1312はハードウェアである。例えば、プロセッサ1312は、任意の所望のファミリーまたは製造業者からの1つ以上の集積回路、論理回路、マイクロプロセッサ、または制御器によって実装され得る。
例示のプロセッサ1312はローカルメモリ1314(例えば、キャッシュ)を含む。例示のプロセッサ1312は、また、図2~3の例示のビューマネージャ204、例示の制御モジュールディベロッパ206、例示の構成マネージャ210、例示のモジュールエディタ302、例示のモジュール接続マネージャ304、例示のモジュール実行マネージャ306、例示のブロックエディタ308、及び例示のブロック接続マネージャ310を含む。
図解された例のプロセッサ1312は、バス1320を介して揮発性メモリ1316及び不揮発性メモリ1318を含むメインメモリと通信している。揮発性メモリ1316は、シンクロナスダイミックランダムアクセスメモリ(SDRAM)、ダイミックランダムアクセスメモリ(DRAM)、ラムバスダイミックランダムアクセスメモリ(RDRAM)、及び/または任意の他の型のランダムアクセスメモリデバイスによって実装され得る。不揮発性メモリ1318は、フラッシュメモリ及び/または任意の他の所望の型のメモリデバイスによって実装され得る。メインメモリ1316、1318へのアクセスはメモリ制御器によって制御される。
図解された例のプロセッサプラットフォーム1300は、また、インターフェース回路1322を含む。インターフェース回路1322は、イーサネットインターフェース、ユニバーサルシリアルバス(USB)、及び/またはPCIエクスプレスインターフェース等の任意の型のインターフェース規格によって実装され得る。図解された例では、1つ以上の入力デバイス1324はインターフェース回路1322に接続される。入力デバイス(複数可)1324は、ユーザが、プロセッサ1312内にデータ及びコマンドを入力することを許容する。入力デバイス(複数可)は、例えば、キーボード、マウス、タッチスクリーン、トラックパッド、トラックボール、アイソポイント、及び/または音声認識システムによって実装され得る。1つ以上の出力デバイス1326は、また、図解された例のインターフェース回路1322に接続される。出力デバイス1326は、例えば、ディスプレイデバイス(例えば、液晶ディスプレイ、陰極線管表示装置(CRT)、タッチスクリーン、及び/またはスピーカ)によって実装され得る。図解された例のインターフェース回路1322は、したがって、典型的には、グラフィックスドライバカード、グラフィックスドライバチップ、またはグラフィックスドライバプロセッサを含む。図解された例では、入力デバイス(複数可)1324及び出力デバイス(複数可)1326は、図2の例示のユーザインターフェース202を集合的に形成する。
図解された例のプロセッサプラットフォーム1300は、また、ソフトウェア及び/またはデータを記憶するための1つ以上の大容量記憶装置1328を含む。そのような大容量記憶装置1328の例としては、フロッピーディスクドライブ、ハードドライブディスク、コンパクトディスクドライブ、ブルーレイディスクドライブ、RAIDシステム、及びデジタル多用途ディスク(DVD)ドライブが挙げられる。図解された例では、大容量記憶装置1328は、図2の例示の制御モジュールライブラリ208及び例示の構成リポジトリ212を含む。
図解された例のプロセッサプラットフォーム1300は、また、図2の例示の制御器インターフェース214を含む。制御器インターフェース214は、イーサネットインターフェース、ユニバーサルシリアルバス(USB)、及び/またはPCIエクスプレスインターフェース等の任意の型のインターフェース規格によって実装され得る。制御器インターフェース214は、プロセッサ1312によって生成及び/もしくは実施された、及び/もしくはローカルメモリ1314、揮発性メモリ1316、不揮発性メモリ1318、もしくは大容量記憶装置1328によって記憶されたデータならびに/またはコマンドが、ネットワーク1330(例えば、ローカルエリアネットワーク(LAN)、イーサネット接続、デジタル加入者回線(DSL)、電話回線、同軸ケーブル等)を介して、実行のために図2の例示の制御器216に送信されることを許容する。
図8~12の方法を実装するコード化された命令1332は、ローカルメモリ1314内で、揮発性メモリ1316内で、不揮発性メモリ1318内で、大容量記憶装置1328内で、及び/またはCDもしくはDVD等の取り外し可能な有形のコンピュータ可読記憶媒体上で記憶され得る。
以上により、開示された方法、装置、及びシステムは、有利にプロセス制御技術者(または開示されたマルチモジュールプロセス制御管理システムの任意の他のエンドユーザ)が、複雑なプロセス制御策を開発及び/またはトラブルシュートすることに対して下降型アプローチを採用及び/または実装することを可能にすることが理解されるであろう。開示されたマルチモジュールビューは、プロセス制御技術者が、新しいプロセス制御策を設計し、かつ/またはより抽象的なレベルにおいて(例えば、それらの設計及び/または修正の初めからプロセス制御策の論理詳細において行き詰まることなくマルチモジュールビュー内で個々の制御モジュール間の接続を画定することによって)、それと関連付けられた既存のプロセス制御策及び/または動作中の論理を修正、テスト、またはデバッグすることを可能にする。マルチモジュールビューへの称賛として、そのように行う必要性が生じるならば、開示された単一モジュールビューは、プロセス制御技術者が、マルチモジュールビューから制御モジュールのうちの選択された1つと関連付けられた論理詳細をさらに編集かつ/または構成することを可能にする。
生産についてのある特定の例示の方法、装置、及び物品が本明細書に開示されたが、本特許の適用範囲はそれらに制限されない。逆に、本特許は、本特許の特許請求の範囲に適正に該当する生産についてのすべての方法、装置、製品を網羅する。