特許第5737842号(P5737842)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フィッシャー−ローズマウント システムズ,インコーポレイテッドの特許一覧

特許5737842プロセス制御システムにおいて分散型設備調停を提供する方法
<>
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000002
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000003
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000004
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000005
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000006
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000007
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000008
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000009
  • 特許5737842-プロセス制御システムにおいて分散型設備調停を提供する方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5737842
(24)【登録日】2015年5月1日
(45)【発行日】2015年6月17日
(54)【発明の名称】プロセス制御システムにおいて分散型設備調停を提供する方法
(51)【国際特許分類】
   G06F 9/50 20060101AFI20150528BHJP
   G05B 23/02 20060101ALI20150528BHJP
【FI】
   G06F9/46 462Z
   G05B23/02 V
【請求項の数】16
【全頁数】23
(21)【出願番号】特願2010-9015(P2010-9015)
(22)【出願日】2010年1月19日
(65)【公開番号】特開2010-170545(P2010-170545A)
(43)【公開日】2010年8月5日
【審査請求日】2013年1月16日
(31)【優先権主張番号】12/356,385
(32)【優先日】2009年1月20日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー−ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100079049
【弁理士】
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(74)【代理人】
【識別番号】100085279
【弁理士】
【氏名又は名称】西元 勝一
(72)【発明者】
【氏名】ゴドフリー ローランド シェリフ
(72)【発明者】
【氏名】ギャリー キース ロウ
【審査官】 井上 宏一
(56)【参考文献】
【文献】 特開2005−212549(JP,A)
【文献】 特開2001− 42904(JP,A)
【文献】 特開2004− 30496(JP,A)
【文献】 特開平 5−108101(JP,A)
【文献】 特開平 9−223032(JP,A)
【文献】 特開平 6−051999(JP,A)
【文献】 特開2006−139773(JP,A)
【文献】 特開2003− 67017(JP,A)
【文献】 特開昭60−220406(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 9/46 −9/54
G05B 23/02
(57)【特許請求の範囲】
【請求項1】
プロセス工場における設備所有権争いを調停するためのシステムであって、
第1のプロセス制御構成体及び第2のプロセス制御構成体を含む複数のプロセス制御構成体と、
一つ又は複数のプロセスコントローラと、
各々前記一つ又は複数のプロセスコントローラにより実行されると共に前記第1のプロセス制御構成体に関連した第1の制御モジュールと、前記第2のプロセス制御構成体に関連した第2の制御モジュールを含む複数の制御モジュールと
備え、
前記第1の制御モジュール及び前記第2の制御モジュールの各々は、保留中獲得待ち行列、保留中依頼待ち行列、所有済み設備待ち行列、及び所有済み待ち行列を含む複数の所有権調停待ち行列を定義し、
前記第1の制御モジュールは、
前記第2のプロセス制御構成体の所有権を依頼する調停トークンを前記第2の制御モジュールに送信すること及び前記第1の制御モジュールの前記保留中獲得待ち行列に前記調停トークンのコピーを格納することにより、前記第2のプロセス制御構成体の所有権を獲得することを依頼するように適応され、
前記第2の制御モジュールは、前記第1の制御モジュールから前記調停トークンを受信し、前記第2の制御モジュールの前記保留中依頼待ち行列に前記調停トークンを格納し、前記第2のプロセス制御構成体が前記第1のプロセス制御構成体により獲得可能かどうかを判断するように適応され、
前記第2の制御モジュールが、前記第2のプロセス制御構成体が前記第1のプロセス制御構成体により獲得可能であると前記第2の制御モジュールが判断すると、前記第1のプロセス制御構成体が前記第2のプロセス制御構成体に対する所有権を獲得することを可能にし、前記調停トークンを前記第2の制御モジュールの前記所有済み待ち行列に移動させ、前記第2の制御モジュールが、前記第1のプロセス制御構成体が前記第2のプロセス制御構成体に対する所有権を獲得することを可能にすることを示す獲得応答メッセージを用いて前記調停トークンのコピーを前記第1の制御モジュールに送信し戻すことを特徴とするシステム。
【請求項2】
前記複数のプロセス制御構成体には、第3のプロセス制御構成体が含まれ、
前記複数の制御モジュールには、前記第3のプロセス制御構成体に対応する第3の制御モジュールが含まれ、
前記第3の制御モジュールが対応する前記第3のプロセス制御構成体によって記第2のプロセス制御構成体獲得されること、及び前記第1の制御モジュールが対応する前記第1のプロセス制御構成体によって記第2のプロセス制御構成体獲得可能でないことを示す前記第3の制御モジュールからの調停トークンが前記第2の制御モジュールの前記所有済み待ち行列に格納されているかを、判断することによって、前記第2の制御モジュールは、記第2のプロセス制御構成体が記第1のプロセス制御構成体により獲得可能かどうかを判断することを特徴とする、請求項1に記載のシステム。
【請求項3】
前記第2のプロセス制御構成体が獲得可能であり、前記第1の制御モジュールからの前記依頼に関連しかつ前記第2のプロセス制御構成体を獲得するための前記調停トークンが、前記第2の制御モジュールの前記保留中依頼待ち行列の先頭にある場合、前記第2の制御モジュールが、前記第1のプロセス制御構成体による前記第2のプロセス制御構成体の所有権の獲得を許すことを特徴とする、請求項1又は2に記載のシステム。
【請求項4】
前記第2のプロセス制御構成体がその他のプロセス制御構成体の一つ又は複数に対する所有権の獲得に成功した後でのみ、前記第2のプロセス制御構成体が前記第1のプロセス制御構成体により獲得可能であると第2の制御モジュールが判断することを特徴とする請求項1〜請求項3の何れか1項に記載のシステム。
【請求項5】
前記第1のプロセス制御構成体が前記第2のプロセス制御構成体の所有権を獲得するようにとの前記第1の制御モジュールからの前記依頼に関連した前記調停トークンが優先順位識別子を含み、
前記第2のプロセス制御構成体が獲得可能であり、前記第1の制御モジュールからの前記依頼に関連した前記調停トークンが、その他制御モジュールから受け取った前記第2のプロセス制御構成体を獲得したいという依頼と関連する前記第2の制御モジュールの前記保留中依頼待ち行列に格納された調停トークンと関連する優先順位より高い優先順位を示す優先順位識別子を有する場合に、前記第2の制御モジュールが、前記第1のプロセス制御構成体による前記第2のプロセス制御構成体の獲得を許すことを特徴とする、請求項2〜4の何れか1項に記載のシステム。
【請求項6】
前記調停トークンが、前記第1の制御モジュールを獲得依頼のソースとして、および前記第2の制御モジュールを前記獲得依頼の宛先として同定するデータを含む、請求項1に記載のシステム。
【請求項7】
前記第2の制御モジュールからの前記獲得応答メッセージを受け取った上で、前記第1の制御モジュールが、前記第1の制御モジュールの前記保留中獲得待ち行列から前記第1の制御モジュールの前記所有済み待ち行列へと前記調停トークンの前記コピーを移動させるように適応されることを特徴とする請求項1に記載のシステム。
【請求項8】
一度に一つのプロセス制御構成体により前記第2の制御モジュールが対応する前記第2のプロセス制御構成体が獲得だけされるように、前記第2の制御モジュールの前記所有済み待ち行列が、単発調停トークンを保持することに限定されることを特徴とする請求項1〜7の何れか1項に記載のシステム。
【請求項9】
一度に定義された数のその他のプロセス制御構成体により前記第2の制御モジュールが対応する前記第2のプロセス制御構成体が獲得だけされるように、前記第2の制御モジュールの前記所有済み待ち行列が、定義された数の調停トークンを保持することに限定されることを特徴とする請求項1〜8の何れか1項に記載のシステム。
【請求項10】
前記第2の制御モジュールの前記保留中獲得待ち行列内の場所を確保するためにその他のプロセス制御構成体が前記第2のプロセス制御構成体の所有権を獲得する必要のある時点の前にあらかじめ別のプロセス制御構成体に代行して前記第2のプロセス制御構成体の所有権を獲得したいという依頼を通信することにより、後で前記その他のプロセス制御構成体が前記第2のプロセス制御構成体の所有権を獲得する必要がある時に前記第2のプロセス制御構成体が獲得できる状態になるようにするべく適応された外部アプリケーションを更に備える請求項1〜9の何れか1項に記載のシステム。
【請求項11】
複数のプロセス制御装置を含むプロセス制御システムにおける分散型調停システムであって、
前記分散型調停システムが、前記複数のプロセス制御装置に対応する複数のソフトウェア・オブジェクトを備え、
前記複数のソフトウェア・オブジェクトの各々が、前記複数のプロセス制御装置のうちの対応する1つのプロセス制御装置と関連する調停データを格納するための所有権調停待ち行列を定義し、
前記分散型調停システムが、前記複数のソフトウェア・オブジェクトを実行するための一つ又は複数のプロセッサを更に備え、
前記複数のソフトウェア・オブジェクトの各ソフトウェア・オブジェクトは、前記一つ又は複数のプロセッサによって実行される場合、前記複数のソフトウェア・オブジェクトのうちの他のソフトウェア・オブジェクトと調停データを交換すると共に前記所有権調停待ち行列に前記調停データを格納することにより、所有権依頼を調停するように構成され、
前記ソフトウェア・オブジェクト前記他のソフトウェア・オブジェクトと交換された前記調停データに基づくと共に前記ソフトウェア・オブジェクトの前記所有権調停待ち行列に格納された前記調停データに基づいて、前記複数のプロセス制御装置の内の、前記ソフトウェア・オブジェクトが対応するプロセス制御装置が、前複数のプロセス制御装置の内の他のプロセス制御装置によって獲得可能か否かを判断すると共に、前記ソフトウェア・オブジェクトが対応する前記プロセス制御装置が、他のどのプロセス制御装置によって獲得されるのかを判断する
分散型調停システム。
【請求項12】
前記複数のプロセス制御装置には、第1のプロセス制御装置が含まれ、
前記複数のソフトウェア・オブジェクトには、前記第1のプロセス制御装置に対応する第1のソフトウェア・オブジェクトが含まれ、
前記第1のソフトウェア・オブジェクトにより定義された前記所有権調停待ち行列が、
前記複数のプロセス制御装置のうちの、前記第1のプロセス制御装置以外の他のプロセス制御装置に対する所有権を獲得する依頼を示すデータを格納するための保留中獲得待ち行列、
前記第1のプロセス制御装置に対する所有権を獲得したいという前記他のプロセス制御装置に対応する、前記複数のソフトウェア・オブジェクトのうちの他のソフトウェア・オブジェクトからの依頼を示すデータを格納するための保留中依頼待ち行列、
前記第1のプロセス制御装置が所有権を獲得した前記他のプロセス制御装置を示すデータを格納するための所有済み設備待ち行列、及び
前記第1のプロセス制御装置の所有権を獲得した前記他のプロセス制御装置に対応する前記他のソフトウェア・オブジェクトを示すデータを格納するための第1の所有済み待ち行列
の少なくとも1つを含むことを特徴とする請求項11に記載の分散型調停システム。
【請求項13】
前記所有済み設備待ち行列に格納された前記他のプロセス制御装置を示すデータは、第2のソフトウェア・オブジェクトを示すデータを含み、
前記第1のプロセス制御装置が第2のプロセス制御装置の所有権を獲得した後に前記第1のプロセス制御装置がもはや前記第2のプロセス制御装置の所有権を必要としなくなった時に、前記第1のソフトウェア・オブジェクトが前記第2のプロセス制御装置に対応する第2のソフトウェア・オブジェクトに解放メッセージを通信するように適応され、
前記解放メッセージを受け取った上で前記第2のソフトウェア・オブジェクトが前記第1のソフトウェア・オブジェクトを示すデータ前記第2のソフトウェア・オブジェクトの第2の所有済み待ち行列から削除して、解放確認メッセージを前記第1のソフトウェア・オブジェクトに通信するように適応され、前記解放確認メッセージを受け取った上で前記第1のソフトウェア・オブジェクトが前記所有済み設備待ち行列から前記第2のソフトウェア・オブジェクトを示すデータを削除するように適応されることを特徴とする、請求項12に記載の分散型調停システム。
【請求項14】
第1のプロセス制御構成体の第2のプロセス制御構成体に対する所有権を調停する方法であって、
前記第2のプロセス制御構成体の第1の調停トークンを送信しかつ前記第1のプロセス制御構成体の保留中獲得待ち行列に前記第1の調停トークンのコピーを格納することにより前記第1のプロセス制御構成体が前記第2のプロセス制御構成体の所有権を依頼することと、
前記第2のプロセス制御構成体が、前記第2のプロセス制御構成体の保留中獲得待ち行列に前記第1の調停トークンを格納しかつ前記第1のプロセス制御構成体により獲得可能かどうか前記第2のプロセス制御構成体が判断することと、
前記第2のプロセス制御構成体が前記第1のプロセス制御構成体により獲得可能であると前記第2のプロセス制御構成体が判断した場合、前記第2のプロセス制御構成体が、前記第2のプロセス制御構成体の所有済み待ち行列に前記第2のプロセス制御構成体の前記保留中獲得待ち行列から前記第1の調停トークンを移動させることにより、前記第1のプロセス制御構成体による前記第2のプロセス制御構成体の獲得に服従することと、
前記第2のプロセス制御構成体は、前記第2のプロセス制御構成体が前記第1のプロセス制御構成体による前記第2のプロセス制御構成体の獲得に服従することを示すメッセージにおいて前記第1のプロセス制御構成体に前記第1の調停トークンのコピーを送信することを含む方法。
【請求項15】
前記第1のプロセス制御構成体により前記第2のプロセス制御構成体が獲得可能かどうかを前記第2のプロセス制御構成体が判断することには、第3のプロセス制御構成体に関連した別の調停トークンが前記第2のプロセス制御構成体の前記所有済み待ち行列に格納されているかどうかを判断するために前記第2のプロセス制御構成体と関連する前記所有済み待ち行列を評価することが含まれることを特徴とする請求項14に記載の方法。
【請求項16】
複数のプロセス制御装置を含むと共にプロセス制御装置の一つ又は複数が一つ又は複数のプロセス関連作業を行うためにその他のプロセス制御装置の一つ又は複数に対する所有権を行使しなければならないプロセス制御システムにおいて分散型設備所有権調停システムを実施する方法であって、
各々関連する前記プロセス制御装置の所有権に関係する調停データを格納するための調停待ち行列を定義しかつ前記プロセス制御装置に関連した複数の制御モジュールを実施することと、
第2の制御モジュールに関連したプロセス制御装置を獲得するために第1の制御モジュールと関連するプロセス制御装置のための前記第1の制御モジュールによる依頼と関連する調停トークンを記第1の制御モジュール生成することと、
前記第1の制御モジュールによって定義される保留中獲得待ち行列に前記調停トークンのコピーを格納することと、
前記第2の制御モジュールに前記第1の制御モジュールから前記第2の制御モジュールに関連する前記プロセス制御装置を獲得するように、前記調停トークンを含む前記依頼を送信することと、
前記第2の制御モジュールによって定義された保留中依頼待ち行列に前記調停トークンを格納することと、
前記第2の制御モジュールと関連する前記プロセス制御装置により、前記第2の制御モジュールが関連する前記プロセス制御装置が獲得可能になっているかどうかを判断することと、
前記第2の制御モジュールと関連する前記プロセス制御装置が前記第1の制御モジュールと関連するプロセス制御装置により獲得されたことを示す調停トークンを、前記第2の制御モジュールにより定義された所有済み待ち行列に、前記第2の制御モジュールにより定義された前記保留中依頼待ち行列から動させることと、
前記第1の制御モジュールと関連する前記プロセス制御装置が前記第2の制御モジュールを獲得したことを示すメッセージに前記第1の制御モジュールに前記調停トークンのコピーを送信し戻すこと、
を含む方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示はプロセス制御システムにおける設備所有権調停に関する。より具体的には、様々なプロセス制御設備に関連する個々の制御モジュールがそれら自体の間で所有権問題を調停する分散型調停システムが開示される。
【背景技術】
【0002】
現代の処理工場はありとあらゆる莫大なプロセス制御フィールド装置およびその他のプロセス関連機器を制御するために精巧な制御システムを採用している。通常、化学薬品の処理、石油精製またはその他の処理工程に使用されるようなプロセス制御システムは、アナログ、ディジタルまたはアナログ・デジタル混在バスを介して少なくとも一つのホストまたはオペレーターワークステーションに、および一つ又は複数のプロセス制御および計装装置(例えばフィールド装置など)に通信可能に連結された一つ又は複数の集中プロセスコントローラまたは非集中型プロセスコントローラを含む。フィールド装置は、例えばバルブ、バルブポジショナ、スイッチ、トランスミッタおよびセンサ(例えば温度、圧力および流量センサ)でありえ、プロセス工場環境内に設けられており、バルブの開閉、プロセスパラメータの測定、液体流量の増減など、プロセス内の諸機能を行う。また、周知のFOUNDATION(登録商標)フィールドバス(以下、「フィールドバス」)のプロトコルまたはHART(登録商標)のプロトコルに準拠するフィールド装置のようなスマートフィールド装置は、制御計算、警報機能、および一般にプロセスコントローラ内で実施されるその他の制御機能も行いうる。
【0003】
プロセス工場環境内に通常設けられているプロセスコントローラは、フィールド装置により生成されたまたはそれに関連したプロセス計測またはプロセス変量、及び/又はフィールド装置に関係するその他の情報を示す信号を受け取り、コントローラ・アプリケーションを実行する。例えば、プロセス制御の決定を下したり、受信した情報に基づいて制御信号を生成したり、そしてHARTおよびフィールドバス・フィールド装置のようなフィールド装置において行われている制御モジュールまたは機能ブロックと協調したりする異なる制御モジュールを、コントローラ・アプリケーションは実施する。プロセスコントローラにおける制御モジュールは、フィールド装置へと通信回線または信号パスを通じて制御信号を送信し、それによってプロセスの動作を制御する。
【0004】
プロセスに関する所望の機能(例えば、プロセス制御ルーチンの設定を変更したり、プロセスコントローラまたはスマートフィールド装置内の制御モジュールの動作を修正したり、プロセス工場内のプロセスまたは特定の装置の現状を表示させたり、フィールド装置およびプロセスコントローラにより作成された警報アラームを表示させたり、担当要員を教育したりまたはプロセス制御ソフトウェアをテストしたりする目的でプロセスの動作をシミュレートしたり、プロセス工場内の問題またはハードウェアの障害を分析したりする、など)をオペレータまたは保守要員が行えるようにするべく、通常、フィールド装置とプロセスコントローラからの情報は、例えばオペレーターワークステーションや、保守保全ワークステーション、パソコン、ハンドヘルド型装置、データヒストリアン(履歴データツール)、レポートジェネレータ(報告作成ルーチン)、集中化データベースなどその他のハードウェア装置の一つ又は複数で利用できるようになっている。
【0005】
典型的なプロセス工場には、一つ又は複数のプロセスコントローラに接続されているバルブ、トランスミッタ、センサなどのような多くのプロセス制御および計装装置が備えられていると共に、プロセスの動作に必要なまたはプロセスの動作に関係するその他の多くの支援装置も存在する。これら付加的な装置としては、例えば、一般の工場において数々の場所に設けられる電源装置、発電・電力配分設備、タービンやモータなどのような回転機器などが挙げられる。これら付加的な設備は、必ずしもプロセス変量を生じたりまたは使用したりするものではなく、また多くの場合、プロセスコントローラにより制御されもせず、それどころかプロセスの動作に影響する目的でプロセスコントローラに連結されてもいないが、それでもこの設備は、プロセスの適切な動作に重要であり、最終的には必要なものである。
【0006】
現代のプロセス制御システムにおいては、オペレータやアプリケーション、制御ルーチンまたはサブルーチン、或いはその他何らかのプロセス制御構成体や制御論理が、特定のプロセス関連作業を行うために他の何らかのプロセス制御構成体に対して排他的な所有権(すなわち制御)を獲得することがしばしば必要になる。一旦、プロセス制御構成体が他の何らかのプロセス制御構成体により獲得されると、獲得された側のプロセス制御構成体は、獲得する側のプロセス制御構成体によってだけ制御されるか、またはそれに対してだけ応答するようになりうる。一旦、特定の作業が完了すると、獲得する側のプロセス制御構成体は、獲得された側のプロセス制御構成体を解放しうる。そしてその後、獲得された側のプロセス制御構成体が、異なるプロセス制御構成体により獲得されうるようになるか、または少なくともその他のプロセス制御構成体により制御されるかまたはそれに応答できるようになる。
【0007】
バッチ処理環境においては、例えば、複数のユニット動作が特定のプロセス・ユニット上で行われることを要するバッチ処理をバッチマネージャ・アプリケーションが実行しているかもしれない。複数のプロセス制御フィールド装置は、処理ユニットの動作と関連する各種処理ステップを制御するための処理ユニットと関連しうる。処理ユニットと関連する特定のプロセス制御装置、制御モジュールまたはその他の論理構成体は、処理ユニットでバッチ・ユニット動作が開始する前に処理ユニットと関連する補助的なフィールド装置の幾つかまたは全てに対する排他的な所有権を獲得する必要がありうる。一旦、プロセス制御装置、制御モジュールまたはその他の論理ユニットが、処理ユニットと関連する様々なフィールド装置を獲得すると、その他のプロセス制御装置、制御モジュールまたはその他の論理構成体は、獲得された側のプロセス制御フィールド装置の動作を達成することができない。一旦、処理ユニット上で行われたバッチ・ユニット動作が完了すると、処理ユニットに関連したプロセス制御装置、制御モジュールまたはその他の制御論理は、様々なプロセス制御フィールド装置を解放しうる。その後、開放されたプロセス制御フィールド装置を、その他の処理ユニットまたはバッチ動作と関連するその他のプロセス制御装置、制御モジュールまたはその他の論理構成体により獲得できるようになる。
【0008】
二つ以上のプロセス制御装置、制御モジュールまたはその他の論理構成体が同時に同じプロセス制御装置またはその他のプロセス制御構成体を獲得しようと試みた場合にプロセス工場の中で対立が発生することは珍しくない。別のプロセス制御装置またはプロセス制御構成体による一つのプロセス制御装置またはプロセス制御構成体の所有権とは、獲得されたプロセス制御装置またはプロセス制御構成体の排他的制御を意味するので、同じプロセス制御装置またはその他のプロセス制御構成体を獲得するためには競争的需要間で決定を下さなければならない。
【0009】
このような争いを解決するために、プロセス制御システムには設備所有権調停アプリケーションが含まれうる。通常、所有権調停アプリケーションは、プロセス制御システムに関連したユーザ・ワークステーションのような中央拠点で実行されることになる。例えば、プロセス工場内のバッチ処理を管理するためのバッチマネージャ・アプリケーションは、プロセス制御システムに関連したワークステーションにおいて実施されうる。バッチマネージャ・アプリケーションは調停マネージャを含みうる。バッチマネージャ・アプリケーションを実行しているコンピューター・ワークステーションは、ローカルエリアネットワークまたはその他の通信リンクを介して一つ又は複数のプロセスコントローラに接続されうる。単一のプロセス制御装置、制御モジュールまたはその他の論理構成体に対する所有権の競争的需要が発生した場合、調停依頼が調停マネージャに提供される。このような対立が発生した場合、調停マネージャは、競争的需要のどれが尊重され、どれが拒否または遅延されるかを決定する。調停マネージャは、調停マネージャ・アプリケーション内に組み込まれ事前に定義されている調停規則に基づいて調停の決定を下す。
【0010】
ただこのような配備に伴う問題としては、集中型ワークステーション上で実行される調停マネージャでは、単一障害点を示す可能性があり、それによって調停依頼の処理が妨げられる可能性がある。ワークステーションが障害を起こした場合、またはLAN上の通信に障害が発生した場合には、調停依頼が対応されないままになりうる。既存の所有権調停システムに伴う別の問題として、プロセス構成体自体、その他のプロセス制御構成体を獲得している側のもの、及び獲得された側のものが、調停決定を認知していないということが挙げられる。適切に作動している場合、集中型調停マネージャは、他の何らかのプロセス制御構成体により獲得されたプロセス制御構成体が更に別のプロセス制御構成体により獲得されることを防ぐようになっている。但し、集中型調停マネージャが適切に作動していない場合、または調停マネージャおよび獲得された側のプロセス制御構成体の間の通信に割り込みが入って中断されてしまった場合は、獲得された側のプロセス制御構成体自体が、別のプロセス制御構成体の獲得要求を拒否する能力を失い、不正にもその他プロセス制御構成体の二つ以上により同時に所有されうる。最後に、制御システムは、複数のバッチマネージャを実施する複数のワークステーションを実施しうる。個々のバッチマネージャはそれぞれ、個々の調停マネージャを実行しうる。これら独立した調停マネージャは、その他の調停マネージャにより下された調停決定を認知していないかもしれない。ある一つの調停マネージャにより下された調停決定は、別の調停マネージャにより尊重されないかもしれず(または考慮されることさえないかもしれず)、この場合、プロセス制御構成体が不慮にも二つ以上のその他のプロセス制御構成体により同時に獲得されてしまう、という大抵のプロセス制御環境においては許容不可能な状況につながる可能性がある。
【発明の概要】
【課題を解決するための手段】
【0011】
本開示はプロセス工場環境内の設備所有権争いを調停することに関する。プロセス制御システム内のプロセス制御構成体は制御モジュールにより表わされる。例えば、制御モジュールは、個々のプロセス制御装置、一群の装置、またはその他のプロセス関連機器を表わしうる。また、制御モジュールは、アプリケーション、制御ルーチン、サブルーチン、機能ブロック、およびその他のプロセス制御関連オブジェクトなどの論理構成体を表わすためにも提供されうる。分散型所有権調停システムによると、様々なプロセス制御構成体を表わす個々の制御モジュールが、設備調停情報を格納するための複数のリストまたは待ち行列を定義する。その他のプロセス制御構成体に対する所有権を獲得したいというプロセス制御構成体による依頼は、調停トークンにより表わされる。調停トークンは、獲得する側のプロセス制御構成体と獲得された側のプロセス制御構成体または標的プロセス制御構成体の間における既存のまたは所望の所有権関係を表わす。調停トークンのコピーは、制御モジュール間で通信され、獲得依頼の状態によって制御モジュールにより定義された様々な調停待ち行列に格納される。別のプロセス制御構成体から獲得依頼を受けて、標的プロセス制御構成体に関連した制御モジュールは、制御モジュール自体の中に組み込まれた調停規則に基づき標的プロセス制御構成体が依頼元の制御構成体により獲得できるようになっているかどうかを単独で決定する。標的プロセス制御構成体が一旦別のプロセス制御構成体により獲得されると、獲得する側のプロセス制御構成体がそれを解放するまでその他いかなるプロセス制御構成体によりそれを獲得しえない。プロセス制御システム内の様々なプロセス制御構成体に関連した制御モジュールは、適切な調停待ち行列に調停トークンを置くことによりその他プロセス制御構成体とそれ自体との関係を追跡する。
【0012】
プロセス工場において設備所有権争いを調停するためのシステムの実施形態には、複数のプロセス制御要素、一つ又は複数のプロセスコントローラ、および一つ又は複数のプロセスコントローラにより実行される複数の制御モジュールが含まれる。複数のプロセス制御要素の最初の一つに関連した第1の制御モジュールは、複数のプロセス制御要素の二番目の一つに対する所有権を獲得することを依頼するべく適応される。複数のプロセス制御要素の二番目の一つに関連した第2の制御モジュールは、第2のプロセス制御要素が第1のプロセス制御要素により獲得されることができるどうかを決定するべく適応される。第2の制御要素が第1の制御要素により獲得されることができと第2の制御要素に関連する第2の制御モジュールが判断して獲得に服従した場合に限り、第1の制御要素は第2の制御要素に対する所有権を獲得する。
【0013】
同様に、別の実施形態は、複数のプロセス制御装置を含むプロセス制御システムにおいて分散型調停システムを提供する。分散型調停システムは複数のプロセス制御装置に対応する複数のソフトウェア・オブジェクトを含む。ソフトウェア・オブジェクトはそれぞれ、対応する制御装置と関連する調停データを格納するための複数の所有権調停待ち行列を定義する。調停システムは、ソフトウェア・オブジェクトを実行するための一つ又は複数のプロセッサを更に含む。プロセッサにより実行されると、ソフトウェア・オブジェクトは調停データを交換し、調停待ち行列に調停データを格納し、調停待ち行列に保存された調停データに基づいて調停決定を下す。
【0014】
更に別の実施形態は、第2のプロセス制御構成体に対する第1のプロセス制御構成体の所有権を調停する方法を提供する。該方法は、第1のプロセス制御構成体が第2のプロセス制御構成体の所有権を依頼することを含む。依頼を受けて、第2のプロセス制御構成体は、第2のプロセス制御構成体が第1のプロセス制御構成体により獲得されることができるかどうか判断する。最後に、第2のプロセス制御構成体が第1のプロセス制御構成体により獲得されることができると第2のプロセス制御構成体が判断すると、第2のプロセス制御構成体は、第1のプロセス制御構成体による第2のプロセス制御構成体の獲得に服従する。
【0015】
最後に、更に別の実施形態では、分散型設備所有権調停システムを実施する方法が提供される。該方法は、複数のプロセス制御装置を含むプロセス制御システムで実施され、この場合、一つ又は複数のプロセス制御装置が一つ又は複数のプロセス関連作業を行うためにその他プロセス制御装置の一つ又は複数に対する所有権を行使しなければならない。該方法には、プロセス制御装置に関連した複数の制御モジュールを実施することが含まれる。制御モジュールは、様々な制御モジュールが関連付けられているプロセス制御装置の所有権に関係する調停データを格納するための調停待ち行列を定義する。該方法では、第2の制御モジュールに関連したプロセス制御装置を獲得したいという第1の制御モジュールによる依頼と関連する調停トークンを作成することが更に求められる。更に、該方法では、第2の制御モジュールが関連付けられているプロセス制御装置が、第1のプロセス制御モジュールが関連付けられているプロセス制御装置により獲得されることができるかどうかを決定することと、そして、第2のプロセス制御モジュールが関連付けられているプロセス制御装置が、第1のプロセス制御モジュールが関連付けられているプロセス制御装置により獲得されることができる場合には、第2の制御モジュールにより定義された調停待ち行列に調停トークンを格納することと、第2の制御モジュールが関連付けられているプロセス制御装置が第1の制御モジュールが関連するプロセス制御装置により獲得されたことを示すことも求められる。更なる態様および利点については、以下の詳細な説明を図面と共に検討すれば通常の技術を有する当業者にとっては明白なはずである。構成および方法については様々な形式の実施形態を受け入れる余地がある間、本開示は例示的なものであり、本発明をここに記載される特定の実施形態に限定することを意図するものではないという前提のもとに、これ以降の説明には特定の実施形態を含むものとする。
【図面の簡単な説明】
【0016】
図1】プロセス工場の制御ネットワークの代表例となる部分を示すブロック図である。
図2】分散型設備所有権調停システムを実施するための調停待ち行列を含む制御モジュールのブロック図である。
図3】一対の制御モジュールを、第1の制御モジュールが調停依頼を始動する状態で示すブロック図である。
図4】調停依頼を処理する途中経過での図3の制御モジュールのブロック図である。
図5】第2の制御モジュールが第1の制御モジュールに調停応答を送信する状態における図3および図4の制御モジュールのブロック図である。
図6】第1の制御モジュールが関連付けられているプロセス制御構成体による第2の制御モジュールが関連付けられているプロセス制御構成体の獲得が完了した状態を示す図3図5の制御モジュールのブロック図である。
図7図3図6の二つの制御モジュールを第3の制御モジュールと共に示すブロック図であり、第2の制御モジュールが関連するプロセス制御構成体が、第1の制御モジュールが関連するプロセス制御構成体により所有されている時に第2の制御モジュールが関連するプロセス制御構成体を獲得したいという調停依頼を該第3の制御モジュールが始動している状態を示す図である。
図8図7の三つの制御モジュールを示すブロック図であり、第1および第2の制御モジュールが、第2の制御モジュールが関連するプロセス制御構成体を、第1の制御モジュールが関連するプロセス制御構成体により所有されている状態から解放する過程にある状態を示す図である。
図9】第3の制御モジュールが関連するプロセス制御構成体による第2の制御モジュールが関連するプロセス制御構成体の獲得が完了した時の図7および図8の三つの制御モジュールを示すブロック図である。
【発明を実施するための形態】
【0017】
本開示は、プロセス制御システム内のプロセス制御構成体の所有権対立を調停するための機構に関係する。プロセス制御では多くの場合、特定のプロセス関連作業を行うために、第1のプロセス制御構成体が、他の何らかのプロセス制御構成体に対する排他的な所有権(即ち、制御)または半排他的な所有権を獲得することが必要になりうる。一旦、作業が完了すると、第1のプロセス制御構成体は、第2のプロセス制御構成体の所有権を放棄しうる。それによって、第2のプロセス制御構成体がそれ以降にその他のプロセス制御構成体により獲得され、プロセス工場内のその他の作業を行ったり、或いはその他の工程またはバッチ動作と関連して同じ作業を行ったりしうる。
【0018】
ほとんどの場合、特定のプロセス制御構成体は一度にその他のプロセス制御構成体の一つによってのみ所有されうる。時々、二つ以上のプロセス制御構成体が、同じプロセス制御構成体を同時に獲得することを試みて、所有権対立が生じうる。例えば、第1のバッチ処理に関連した第1の獲得する側のプロセス制御構成体および第2のバッチ処理に関連した第2の獲得する側のプロセス制御構成体は、めいめいのバッチ処理においてフェーズまたはステップを行うために標的プロセス制御構成体を獲得する必要がありうる。獲得する側の構成体のうちの一つだけが標的構成体を一度に所有しうるので、第1および第2の獲得する側のプロセス制御構成体のうちの一つだけが標的構成体の獲得に成功できる。失敗に終わったその他獲得する側の構成体による標的構成体の獲得は、第1の獲得する側の構成体が標的構成体の所有権を放棄するまで遅延されなければならない。或いは、失敗に終わった獲得する側の構成体は、標的プロセス制御構成体の獲得が必要とされる特定の作業を行うために異なる標的構成体を獲得するべく他のところを見ても良い。プロセス工場の滑らかな運用を保証するためにも、潜在する工程とできるだけ干渉することなく迅速かつ効率的にかかる対立を解決しなければならない。
【0019】
様々なプロセス制御構成体に関連した個々の制御モジュールが、それが関連するプロセス制御構成体がいつどのようにその他のプロセス制御構成体により獲得されうるかを管理するところの、所有権争いを解決するための分散型調停プロセスを、ここに記載される設備所有権調停システムは提供する。図1は、かかる分散型設備調停システムが採用されうる典型的なプロセス工場の制御ネットワーク10の例となる部分を示す。プロセス工場の制御ネットワーク10は、一つ又は複数の入・出力(I/O)装置(図示せず)および一式の通信回線及び/又はバス18を介してプロセス工場内の幾多の装置および設備に連結されるコントローラ12を含む。コントローラ12に接続されている様々な装置および設備は、概して参照番号16で示すものとする。コントローラ12は例えばエマソン・プロセスマネジメント社により販売されているDeltaV(登録商標)バッチ・コントローラでありうる。コントローラ12は、プロセス工場内で行われる様々な工程を制御するために一つ又は複数のプロセス制御ルーチンを実行するべくプロセス工場全体の至る所に設置されるフィールド装置およびフィールド装置内の機能ブロックなどの様々なプロセス制御要素と通信する。プロセス制御ルーチンは連続プロセス制御ルーチンおよびバッチプロセス制御ルーチンの両方を含みうる。
【0020】
また、プロセスコントローラ12は、例えばイーサネット(登録商標)・ネットワークなどのようなローカルエリアネットワーク(LAN)15を介して一つ又は複数のワークステーション14にも連結されうる。ワークステーション14はパソコン、サーバーまたはその他のデータ処理装置でありうる。ワークステーション14は、一つ又は複数のプログラム制御ルーチンを設計および実行する処理工場のエンジニア、オペレータ、またはその他の要員により、コントローラ12により実行されるべく、また、かかるプロセス制御ルーチンを実施するべくコントローラと通信するべく、プロセス工場の運用に関係する情報を得て表示するべく、そしてそれ以外の場合はコントローラ(及び/又はその他のプロセスコントローラまたは制御装置)により実行されたプロセス制御ルーチンと対話処理を行うべく使用されうる。また、データヒストリアン19をLAN 15に接続しても良い。データヒストリアン19は、プロセス工場内(コントローラ12内、フィールド装置およびその他の設備16、そして恐らくワークステーション14自体の中で、を含む)で生成されたデータを自動的に収集しうる。ワークステーション14は、インターフェース表示ページにプロセス工場の運用に関係する情報を投入するべく、データヒストリアン19に、そして他のところに格納されたデータにアクセスしうる。
【0021】
ワークステーション14のそれぞれは、HMIアプリケーションなどのアプリケーションを格納するため、およびプロセス工場の運用に関係する連続プロセス変量データおよびバッチ処理データのようなデータを格納するためのメモリ20を含む。また、ワークステーション14のそれぞれは、その他数ある中でも特にユーザが非バッチまたは連続プロセスデータ並びにプロセス工場の運用に関係するバッチ処理データを表示することを可能にする一つ又は複数のアプリケーションを実行しうるプロセッサ21も含む。コントローラ12は、構成データを格納するためのメモリ22と、プロセス工場内の設備16を制御するために使用されるプロセス制御ルーチンと、プロセス制御方式を実施するためにプロセス制御ルーチンを実行するプロセッサ24とを含む。ワークステーション14はコントローラ12と共に、プロセス制御ルーチン内の制御素子およびこれらの制御素子がプロセス工場の16内で行われる工程の制御を提供するように設定される様態を図示することにより、コントローラ12内のプロセス制御ルーチンの図形的描写をユーザに提供しうる。
【0022】
図1に示される例示的なプロセス工場の制御ネットワーク10では、コントローラ12が、バス18を介して、同じような構成を持つ二台の反応装置ユニット(リアクタ(反応装置)_01およびリアクタ_02)、並びに混合ユニット(混合機_01)に通信可能に接続される。リアクタ_01は、反応器槽100と、流体入口配管を制御して例えばヘッドタンク(図示せず)から反応器槽100の中に流体を供給するように接続されている二つの入力バルブ101および102と、流体出口配管を介して反応器槽100から流出する流体を制御するように接続されている出力バルブ103とを含む。装置105は、温度センサ、圧力センサ、液面レベル計測器などのセンサ、または電熱器または蒸気加熱器のようなその他何らかの設備でありえ、反応器槽100の中またはその近くに配置される。リアクタ_01はバルブ103を介して混合機_01に連結される。同様に、リアクタ_02は、反応器槽200、二つの入力バルブ201および202、出力バルブ203および装置205を含む。リアクタ_02は出力バルブ203を介して混合機_01に連結される。混合機_01は混合容器300と撹拌機301、および出口弁303を含む。
【0023】
図1に示される如く、コントローラ12は、バス18を介して、バルブ101〜103、201〜203および303に、また装置105と205に、そして撹拌機301に通信可能に連結されており、これらの要素(ユニット、フィールド装置などでありうる)に関する一つ又は複数の操作を行うべくこれらの要素の動作を制御する。かかる動作には、例えば、反応器槽の充填、反応器槽内の材料の加熱、反応器槽100と200のうち一つまたは両方からの混合容器300の充填、反応器槽100および200または混合容器300の清掃、などが含まれる。もちろん、コントローラ12は、付加的なバスを介して、4−20mA回線やHART通信回線などのような専用通信回線を介して、プロセス工場内の要素16に連結することも可能である。
【0024】
図1に示されるバルブ、センサおよびその他の設備は、例えばフィールドバス・フィールド装置、標準4−20mAフィールド装置、HARTフィールド装置など、如何なる所望の種類またはタイプの設備でありえ、且つ、フィールドバス・プロトコル、HARTプロトコル、4−20mAアナログ・プロトコルなどの如何なる周知または所望の通信プロトコルを使用してコントローラ12と通信しうる。更にまた、その他のタイプの装置をコントローラ12に接続し、如何なる所望の様態でコントローラにより制御するようにしても良い。また、プロセス工場16に関連したその他の装置または区域を制御するためにそれ以外のコントローラを例えばイーサネット(登録商標)通信回線15を介してコントローラ12およびワークステーション14に接続しても良いし、その際、かかる付加的なコントローラの動作を如何なる所望のまたは周知の様態で図1に示されるコントローラ12の動作と協調させるようにしても良い。
【0025】
一般的に言って、図1のプロセス制御システムは、例えば一つ又は複数のワークステーション14がプロセス工場内の異なるバッチ運転を実施且つ協調するバッチ実行エンジンを実行するところのバッチ処理を実行するために使用されうる。かかるバッチ実行エンジン30が図1のワークステーション14aに格納された状態で図示されているが、当然のことながら、バッチ実行エンジン30をその他のワークステーション14において格納および実行することも可能であるし、または付加的なバッチ実行エンジンをその他のワークステーションにおいて実行することも可能であるし、或いは(如何なるワイヤレス様態を含む)如何なる所望の様態でバス15またはバス18に通信可能に接続されたその他のコンピューターにおいて一つ又は複数のバッチ実行エンジンを格納および実行することも可能である。同様に、望ましい場合、バッチ実行エンジン30は、プロセス工場内の異なるコンピューターまたはワークステーションにおいて格納および実行される様々な構成部分と関連付けられうるし、または様々な構成部分に分割されうる。
【0026】
バッチ実行エンジン30は、一般に高レベルの制御ルーチンであり、プロセス工場内に実行されるべき複数のバッチ運転をユーザが指定することを可能にすると共にプロセス工場の制御ネットワーク10内に本質的に独立して作動するように複数の異なるバッチ運転またはバッチ処理を設定する一般にバッチキャンペーン・マネージャと呼ばれるものを含みうる。また、バッチ実行エンジン30は、キャンペーン・マネージャーにより指定される異なるバッチ運転を実施および監視するバッチ執行ルーチンまたはアプリケーションも含みうる。かかるバッチ運転はそれぞれバッチの手順、ユニット手順、動作、フェーズおよびその他の下位部分(サブディビジョン)の動作を指図する。これを説明するにあたり、フェーズとは、ユニット上で行われる最下位レベルの処置またはステップで、コントローラ12のうちの一つにおいて通常実施または実行されるものとする。動作とは、設備ユニット上で特定の機能を行う一式のフェーズであり、コントローラ12内の一連のフェーズを呼び出すことによりワークステーション14のうちの一つで通常実施または実行される。ユニット手順とは、単一ユニット上で行われる一つ又は複数の一連の動作であり、ワークステーション14のうちの一つで一式の動作呼出しとして通常実施される。同様に、手順とは、例えばプロセス工場の16中の異なる物理的ユニット上で行われうる一式のユニット手順である。その結果、如何なる手順は一つ又は複数のユニット手順を含むことができ、如何なるユニット手順は一つ又は複数の動作を含むことができ、また、如何なる動作は一つ又は複数のフェーズを含みうる。このように、バッチ処理はそれぞれ、食品、薬品などの製品を生成するために必要とされる異なるステップまたは段階(例えばユニット手順)を行う。
【0027】
個々のバッチに対して異なる手順、ユニット手順、動作およびフェーズを実施するために、バッチ処理では、実行すべきステップ、およびステップと関連する量および時間、そしてステップの順序を指定する一般にレシピと呼ばれるものを使用する。一つのレシピに関するステップには、例えば、適切な材料または成分で反応器槽を充填すること、反応器槽内の材料を一定の時間をかけて一定の温度に加熱すること、反応器槽を空にしてから次のバッチの準備をするために反応器槽を清掃すること、材料を混合容器内で混合すること、などが含まれうる。異なるユニットに関連した一連のステップはそれぞれバッチのユニット手順を定義し、バッチ処理は、これらユニット手順のそれぞれ一つに対して異なる制御アルゴリズムを実行することになる。もちろん、特定の材料、材料の量、加熱温度および加熱時間などは、レシピにより異なりうる。従って、これらのパラメータは、製造または生産される製品および使用されるレシピによってバッチ運転ごとに変化しうる。
【0028】
複数のバッチ処理がプロセス工場内で同時に行われる場合、設備の争いが発生しうる。ほぼ同時に実施される第1および第2のバッチ処理は、同じ設備で同時に行われることになっているフェーズを含みうる。図1では、例えば、リアクタ_01内反応器槽100の中身が第1のバッチ処理と関連しうる間、リアクタ_02内反応器槽200の中身が第2のバッチ処理と関連しうる。第1のバッチ処理は、リアクタ_01の反応器槽100の中身が混合機_01の混合容器300へと注がれ、ある程度の時間混合されることを求めうる。同様に、第2のバッチ処理は、リアクタ_02の反応器槽200の中身が混合機_01の混合容器300へ注がれ、ある程度の時間混合されることを求めうる。第1および第2のバッチは別の工程に対応する。リアクタ_01の反応器槽100の中身をリアクタ_02の反応器槽200の中身と混合することは望ましくない場合もあるので、リアクタ_01が反応器槽100の中身を混合機_01の混合容器300の中に注ぐ前に、第1のバッチ処理の混合フェーズが進行中にリアクタ_02またはその他いかなる反応装置ユニットが混合容器300の中に不用な材料を投入しようとしないようにするために、リアクタ_01は、混合機_01を「所有」(即ち、それの排他的制御を保持)しなければならない。同様に、リアクタ_02は、反応器槽200の中身を混合容器300の中に注ぐことができる前に混合機_01を保持しなければならない。好ましくは、混合機_01がリアクタ_01により所有されている間はリアクタ_02が混合機_01を全く交信できず、且つ、混合機_01がリアクタ_02により所有されている間はリアクタ_01が混合機_01を交信できないようになっているのが良い。リアクタ_02で実行中のバッチ処理が混合機_01の所有権を獲得したいとリアクタ_02に求めるのと同時に、リアクタ_01で実行中のバッチ処理が混合機_01の所有権を獲得したいとリアクタ_01に求める場合にも対立が発生する。
【0029】
かかる設備の争いが発生した場合、所有権調停システムは、獲得する側の構成体のうちどれに標的構成体の排他的な所有権を与えられるか、そして獲得する側の構成体の依頼のうちどれを遅延または否定するかを決定する。分散型所有権調停システムの実施形態によると、プロセス制御システムにおける様々なプロセス制御構成体に関連した制御モジュールは、それらが関連付けられているプロセス制御構成体がその他のプロセス制御構成体により獲得されうるかを判断する。一旦、標的プロセス制御構成体に関連した制御モジュールが、獲得する側の構成体による標的構成体の獲得に服従すると、該標的構成体は、獲得する側の構成体により解放されるまで、獲得する側の構成体に「属する」またはそれにより「所有される」。標的構成体が一旦別のプロセス制御構成体により獲得されたらその他のプロセス制御構成体はそれを獲得することが許されない。分散型所有権調停システムの実施形態によると、プロセス制御構成体は、後述される限られた状況を除いてその他のプロセス制御構成体を複数獲得しうる。また、特定のプロセス制御構成体は一度にその他のプロセス制御構成体のうち一つによってのみ所有されることができる。更に、その他のプロセス制御構成体を所有するプロセス制御構成体自体は、その他のプロセス制御構成体により獲得または所有されうる。本説明の目的上、プロセス制御構成体は、物理的なプロセス制御装置、処理ユニット、およびその他如何なるプロセス関連機器、または制御モジュール、機能ブロックなどの論理ユニットを含みうるとする。
【0030】
分散型所有権調停システムによると、制御モジュールは様々なプロセス制御構成体と関連する。例えば、図1を参照すると、反応器槽100、入口弁101、102、出口弁103および装置105を含む様々な構成部分によりリアクタ_01が構成されており、個々の制御モジュールがリアクタ_01と関連しうるようになっている。同様に、個々の制御モジュールは、リアクタ_02、および反応器槽200、入口弁201、202、出口弁203および装置205を含むリアクタ_02を成す様々な構成部分と関連しうる。最後に、個々の制御モジュールは、混合機_01、および混合容器300、撹拌機301および出口弁303を含む混合機_01を成す様々な構成部分とも関連しうる。
【0031】
様々なプロセス制御構成体に関連した制御モジュールはそれぞれ、その他のプロセス制御構成体による様々なプロセス制御構成体の獲得および所有権を管理するための複数の調停待ち行列を定義する。図2は、代表例のプロセス制御モジュール150を、それの対応する調停待ち行列と共に示す図である。プロセス制御モジュール150は、保留中獲得待ち行列151、保留依頼待ち行列152、所有済み設備待ち行列153、および所有済み待ち行列154を定義する。保留中獲得待ち行列151は、その他のプロセス制御構成体を獲得したいというプロセス制御モジュール150による依頼に関係する情報を格納するが、保留依頼待ち行列152は、プロセス制御モジュール150が関連するプロセス制御構成体を獲得したいというその他のプロセス制御モジュールからの依頼に関係する情報を格納する。所有済み設備待ち行列153は、プロセス制御モジュール150が関連するプロセス制御構成体により所有されるプロセス制御構成体に関係する情報を格納し、また、所有済み待ち行列154は、プロセス制御モジュール150が関連するプロセス制御構成体を所有するその他のプロセス制御構成体の一つ又は複数に関係する情報を格納する。
【0032】
分散型所有権調停システムの動作を図3図8に示す。図3図8は、図2の第1の制御モジュール150および第2のプロセス制御モジュール250を示す。第1の制御モジュール150はプロセス工場内の第1のプロセス制御構成体と関連し、第2の制御モジュール250はプロセス工場内の第2のプロセス制御構成体と関連する。例えば、第1の制御モジュール150はリアクタ_01(図1)の反応器槽100と関連しうるし、第2の制御モジュール250は、リアクタ_01の反応器槽100の中身を排出するための出口弁103と関連しうる。図2を参照して記載される如く、第1の制御モジュール150は、保留中獲得待ち行列151、保留依頼待ち行列152、所有済み設備待ち行列153および所有済み待ち行列154を含む。また第2の制御モジュール250は、保留中獲得待ち行列251、保留依頼待ち行列252、所有済み設備待ち行列253および所有済み待ち行列254を含む。
【0033】
第1および第2の制御モジュール150と250は以下のように所有権争いを調停する。第1および第2の制御モジュール150と250は、第1の制御モジュール150が関連する第1のプロセス制御構成体が第2の制御モジュール250が関連する第2のプロセス制御構成体を獲得ことを要するバッチ処理フェーズを実行しているプロセス制御システムの一部であると推定する。例えば、制御システムは、反応器槽100を充填することを求めるリアクタ_01のバッチ・フェーズを実行中でありうる。反応器槽100を充填するためには、出口弁103が閉まっており、入口弁102および102のうち一つまたは両方が開かれなければならない。従って、その他のプロセス制御構成体が不適切な時にバルブ101、102、103を開いたり、または閉じたりして容器槽100の充填の邪魔をしないようにするために、反応器槽100は、出口弁103と入口弁101、102に対する所有権をこのフェーズ中に獲得しなければならない。本実施例では、第1の制御モジュール150が反応器槽100と関連しえ、その場合、反応器槽100が第1のプロセス制御構成体に対応する。また、第2の制御モジュール250は出口弁103と関連しえ、その場合、出口弁103が第2のプロセス制御構成体に対応する。但し、分散型所有権調停システムは、様々な制御モジュールが関連する特定のプロセス制御構成体にかかわらず同じ様態で作動することをここに述べておく。
【0034】
反応器槽充填フェーズが実行されると、反応器槽100に関連した第1の制御モジュール150は出口弁103の所有権を獲得する責任をつかさどり、また、出口弁103に関連した第2の制御モジュール250は、出口弁103が反応器槽100(またはその他如何なるプロセス制御構成体)により獲得できるようになっているかどうかを決定する責任、並びに出口弁103が容器槽100により獲得できるようになっていると判断された場合にかかる獲得に服従する責任をつかさどる。反応器槽100を充填することを求めるバッチ・フェーズは、第1のプロセス制御構成体(反応器槽100)が第2のプロセス制御構成体(出口弁103)を獲得しない限り、また獲得するまで先に進むことができない。
【0035】
一旦、第1のプロセス制御構成体が第2のプロセス制御構成体を獲得すると、第1のプロセス制御構成体が積極的に第2のプロセス制御構成体を解放するまで第1のプロセス制御構成体は、第2のプロセス制御構成体の排他的な所有権を確保する。更に、一旦、第2のプロセス制御構成体が第1のプロセス制御構成体により獲得されたら、第2のプロセス制御構成体は、それが第1のプロセス制御構成体により解放されるまでその他如何なるプロセス制御構成体により獲得不可となりうる。
【0036】
初期段階において、第1および第2の制御モジュール150と250の様々な調停待ち行列は空になっている。第1および第2の制御モジュール150と250が関連する第1および第2のプロセス制御構成体はいずれもが、その他如何なるプロセス制御構成体を獲得したことも、その他如何なるプロセス制御構成体により獲得されたこともなく、また、制御モジュール150および250が関連するプロセス制御構成体のいずれかをその他如何なるプロセス制御構成体に獲得させようとしたこともないし、その他如何なるプロセス制御構成体を制御モジュール150および250に獲得させようとしたこともない。
【0037】
第1のプロセス制御構成体が第2のプロセス制御構成体を獲得できるように、第1の制御モジュール150は所有権調停トークンを生成する。調停トークンは、制御モジュール間で通信されうる一式のデータであり、プロセス制御構成体の関係を表すものである。様々なプロセス制御構成体と関連する制御モジュールにより調停トークンを迅速に同定および追跡できるように、調停トークンは、例えば、ソース(すなわち、別のプロセス制御構成体に対する所有権を依頼するまたは行使する制御モジュールまたはプロセス制御構成体)、宛先(すなわちソースが所有権を依頼または行使しているプロセス制御構成体または制御モジュール)、および調停トークンIDを同定しうる。望ましい場合、優先順位の値または所有権争いの調停に特に関係のないその他のデータなど、付加的なデータを含むように調停トークンを適応しうる。例えば、バッチ製品を生成するために行われる各種処理ステップを追跡するため、および各種の処理ステップが行われる設備を同定するために使用されうるバッチ履歴の作成を円滑に実施するべく、材料の追跡に関係するデータを調停トークンに含み、調停トークンと共に制御モジュール間でやり取りするようにしても良い。
【0038】
第1の制御モジュール150は、それ自体の保留中獲得待ち行列151に調停トークンのコピーを格納し、調停依頼メッセージ156を第2の制御モジュール250に送信する。調停依頼メッセージには、調停トークンのコピーが含まれる。上述の如く、調停トークンは、依頼のソースおよび依頼の宛先または標的を同定する。よって、第2の制御モジュール250は、調停依頼を受け取った上で、第2のプロセス制御モジュール250が関連する第2のプロセス制御構成体に対する所有権を第1の制御モジュール150が関連する第1のプロセス制御構成体が獲得しようとしていることを学ぶ。
【0039】
図4に示される如く、第1の制御モジュール150から調停依頼メッセージを受け取ると、第2の制御モジュール250は、それの保留依頼待ち行列252に調停トークンのコピーを格納する。調停トークンのコピーは、第1のプロセス制御構成体が第2のプロセス制御構成体の獲得に成功するまで、または(期間が限定されている場合は)調停トークンが期限切れになるまで、または第2のプロセス制御モジュールの獲得が完了する前に第1の制御モジュールが獲得依頼を取消す依頼を送信するまで、保留依頼待ち行列254に留まる。如何なる場合も、獲得依頼を受け取り、保留依頼待ち行列252に調停トークンのコピーを格納した上で、第2の制御モジュール250は、第2のプロセス制御構成体が第1のプロセス制御構成体により獲得されうるかどうか判断するためにそれ自体の調停待ち行列の状態を評価する。特に、第2の制御モジュール250は、第2のプロセス制御構成体が既にその他如何なるプロセス制御構成体により獲得されたかどうか判断するために、それの所有済み待ち行列254を評価する。別の調停トークンが所有済み待ち行列254に既に格納されている場合、第2のプロセス制御構成体は、既に別のプロセス制御構成体により獲得されており、現在第1のプロセス制御構成体により獲得されることができない。但し、第2の制御モジュールの所有済み待ち行列254が空の場合には、第2のプロセス制御構成体は別のプロセス制御構成体により獲得されることができる。
【0040】
但し、第1のプロセス制御構成体が、第2のプロセス制御構成体を獲得する列の先頭にあるかどうかについて、または他の何らかのプロセス制御構成体が、第2のプロセス制御構成体の所有権を優先して獲得する資格を持っているかどうかについては決定待ちの状態に留まる。この質問を解決するために、第2の制御モジュールは保留依頼待ち行列252を評価する。分散型所有権調停システムの実施形態によると、様々な制御モジュールの保留依頼待ち行列は先入れ先出し方式で作動する。調停依頼メッセージがその他の制御モジュールから受け取ると、依頼を受け取る制御モジュールは、関連する調停トークンを受け取った順に保留依頼待ち行列に格納する。制御モジュールが関連するプロセス制御構成体が別のプロセス制御構成体により獲得できるようになると、制御モジュールは、待ち行列の先頭の調停トークンを選択する。言い換えると、標的プロセス制御構成体に関連した制御モジュールは、保留依頼待ち行列に最も長い間格納された調停トークンを選択する。その後、標的プロセス制御構成体に関連した制御モジュールは、調停トークンを保留依頼待ち行列から所有済み待ち行列に移動させる。よって、標的プロセス制御構成体を獲得したいという依頼のうち最長期にわたるものを有するプロセス制御構成体は、標的プロセス制御構成体が次回利用できるようになった時に標的プロセス制御構成体を獲得するプロセス制御装置である。その結果、分散型所有権調停システムのこの実施形態によると、所有権の対立は先着順方式で解決される。
【0041】
代替的な実施形態における調停トークンは優先順位の値を含みうる。例えば、調停トークンは、標的プロセス制御構成体を獲得したいという対応する依頼が優先度の高い、中度の、または低い依頼であることを示す優先順位の値を含みうる。この実施形態によると、標的プロセス制御構成体と関連する制御モジュールは、それの保留依頼待ち行列を評価する際に最も高い優先順位の値を有する調停トークンを最初に選択しうる。保留依頼待ち行列に格納された複数の調停トークンのうち同じ優先順位の値をもの有するがある場合、標的プロセス制御構成体に関連した制御モジュールは、最も高い優先順位の値を有すると共に保留依頼待ち行列に最も長い間格納された調停トークンを選択しうる。よって、この代替的な実施形態によると、優先順位が最も高い依頼が先着順方式で一番最初に取り扱われるが、優先順位が低い方の依頼をいつ受け取ったかにかかわらず、優先順位が高い方の依頼は全て優先順位が低い方の依頼の前に取り扱われる。
【0042】
図3図8に示される実施例に戻って参照するに、第2のプロセス制御構成体を獲得したいという一番最初のプロセス制御構成体による依頼に関連した調停トークン255が、第2の制御モジュール250の保留依頼待ち行列252に格納された唯一の調停トークンである。よって、調停トークン255は保留依頼待ち行列252の先頭にある。これは、その他の制御モジュールからの保留されている所有権依頼で優先度がより高いものがないことを意味する。従って、第2のプロセス制御構成体は獲得できないようになっているおり、また一番最初のプロセス制御構成体が保留中の最優先依頼を有するので、第2の制御モジュール250は、第2のプロセス制御構成体が一番最初のプロセス制御構成体により獲得可能であると判断してその獲得に服従する。図5に示される如く、第2の制御モジュールは、調停トークン255のコピーを保留依頼待ち行列252から所有済み待ち行列254に移動させる。また、第2の制御モジュール250は、調停応答メッセージ256を準備して第1の制御モジュール150へと送信する。調停応答メッセージ256は、第1のプロセス制御構成体が第2のプロセス制御構成体の獲得に成功したことを示す「獲得済み」状態を伴う元の調停トークンのコピーを含む。
【0043】
図6に示される如く、第2の制御モジュール250から調停応答メッセージ256を受け取ると、第1の制御モジュール150は、調停トークン155のそれのコピーをそれの保留中獲得待ち行列151からそれの所有済み設備待ち行列153へと移動させる。これは、第1のプロセス制御構成体による第2のプロセス制御構成体の獲得が完了したことと、第1のプロセス制御構成体が第2のプロセス制御構成体を所有することを示す。この時点で、第1のプロセス制御構成体が第2のプロセス制御構成体を獲得することを要するバッチ・フェーズが先に進みうる。
【0044】
一旦、第1のプロセス制御構成体が第2のプロセス制御構成体の所有権を獲得したら、第1のプロセス制御構成体は、第1の制御モジュール150が積極的に第2のプロセス制御構成体を解放するまで第2のプロセス制御構成体の所有権を維持する。一方、その他のプロセス制御構成体は、第2のプロセス制御構成体の所有権を獲得することができない。図7は、第3のプロセス制御モジュール350を、第2のプロセス制御構成体が依然として第1のプロセス制御構成体により所有されている時に第2の制御モジュール250に調停依頼メッセージに356を送信している状態で示す図である。第1の制御モジュール150からの第1の調停依頼メッセージ156の場合のように、第3の制御モジュール350からの調停依頼メッセージ356は、調停トークン357のコピーを含む。第2の制御モジュール250はそれの保留依頼待ち行列252に調停トークン357を格納する。繰り返して言うが、第2の制御モジュール250は、それの所有済み待ち行列254の状態を、第2のプロセス制御構成体を獲得できるようになっているかどうか判断するために検閲する。この場合、第2の制御モジュール250は、現在第2のプロセス制御構成体が第1のプロセス制御構成体により所有されると判断する。第2のプロセス制御構成体が既に別のプロセス制御構成体により所有されているので、第3のプロセス制御構成体またはその他如何なるプロセス制御構成体により獲得することができない。第3の制御モジュール350から受け取った調停トークン357のコピーは、第2のプロセス制御構成体が第1のプロセス制御構成体により解放されて再びその他のプロセス制御構成体により獲得できるようになるまで第2の制御モジュールの保留依頼待ち行列252に格納されたままになる。
【0045】
第1のプロセス制御構成体は、第1のプロセス制御構成体が第2のプロセス制御構成体を獲得することを要するバッチ・フェーズが完了した時点で第2のプロセス制御構成体を解放しうる。図8に示される如く、第1の制御モジュール150は、第2のプロセス制御構成体を解放するべく第2の制御モジュール250へと調停解放メッセージ157を送信する。この場合も、調停解放メッセージは、元の調停トークン158のコピーを含む。調停解放依頼メッセージ157を受け取ると、第2の制御モジュール250は、解放依頼が現在第2のプロセス制御構成体を所有するプロセス制御構成体と関連する制御モジュールにより解放依頼が送信されたことを確認するために、調停解放メッセージ157に含まれる調停トークン158を、第2の制御モジュールの所有済みキュー254に格納された調停トークンと比較する。一旦、解放依頼が有効であることを第2の制御モジュールが保証すると、第2の制御モジュールは、それの所有済み待ち行列254から調停トークン255のコピーを削除する。その後、第2の制御モジュールは第1の制御モジュール150に調停応答メッセージに257を送信する。調停応答メッセージ257は、第2のプロセス制御構成体が解放されてもはや第1のプロセス制御構成体により所有されていないことを示す「解放済み」状態を伴う調停トークン258のコピーを含む。第1の制御モジュール150は、調停応答メッセージ257を受け取り、第1の制御モジュールの所有済み設備待ち行列153に格納されている調停トークンと調停応答メッセージ内の調停トークン258が一致することを確認して、所有済み設備待ち行列153から調停トークン155のコピーを削除する。
【0046】
この時点において、第1のプロセス制御構成体はもはや第2のプロセス制御構成体を所有していない。第2のプロセス制御構成体は、この時点で第3のプロセス制御構成体を含むその他のプロセス制御構成体により獲得されうる。この時点で第3の制御モジュール350から受け取った調停トークン355が第2の制御モジュールの保留依頼待ち行列252の先頭にあるため、またこの時点で第2のプロセス制御構成体が獲得可能になっているので、第3のプロセス制御構成体はこの時点で第2のプロセス制御構成体を獲得しうる。第2の制御モジュールは、保留中獲得待ち行列252から所有済み待ち行列254へと調停トークン355を移動させ、そして第3のプロセス制御構成体がこの時点で第2のプロセス制御構成体の所有権を獲得したことを示す「獲得済み」状態を伴う調停応答を第3の制御モジュール350へと送信する。図9に示される如く、調停応答メッセージを受け取った上で、第3の制御モジュール350は、図9におけるそれの保留中獲得待ち行列351からそれの所有済み設備待ち行列353に調停トークン355のコピーを移動させ、第3のプロセス制御構成体による第2のプロセス制御構成体の獲得が完了する。
【0047】
ここに開示される分散型所有権調停システムによると、様々なプロセス制御構成体に関連した制御モジュールは、プロセス制御構成体間の関係を管理する。制御モジュールは、それらが関連するプロセス制御構成体がいつその他のプロセス制御構成体により獲得されうるかを判断し、そしてそれらが関連するプロセス制御構成体をその他のプロセス制御構成体のうちどれが獲得しうるかを、制御モジュール自体の中に組み込まれた規則に基づいて決定する。例えば、制御モジュールは、先入れ先出し方式で、または保留中の依頼を備える調停トークン内に組み込まれた優先順位の値に基づいて、獲得依頼に応答するように構成されうる。プロセス制御構成体の獲得に関する付加的な規則および制限を、様々なプロセス制御構成体と関連する制御モジュールにプログラムしても良い。例えば、別のプロセス制御構成体が獲得しようとしている特定のプロセス制御構成体は、それ自体がその他のプロセス制御構成体を一つ又は複数獲得するまでそれ自体を獲得不可能にしうる。例えば、図1におけるリアクタ_01および混合機_01を考慮されたい。反応器槽100の中身を混合容器300の中に注ぐために、反応器槽100は混合容器300の所有権を獲得する必要があるかもしれない。但しそれに対して、反応器槽100から材料を受け取るには、反応器槽100からの材料が途中で混合容器から不慮に排出されないことを保障するためにも混合容器300が出口弁303に対する排他的な所有権を持っていなければならない。従って、混合容器300に関連した制御モジュールは、混合容器が出口弁303の所有権の獲得に成功するまで反応器槽100による混合容器300の獲得を拒絶するように構成されうる。言い換えると、混合容器300が、それがバッチ処理に関係するそれ自体の作業を適切に行う必要があるその他の構成部分の全てに対する所有権を獲得するまで反応器槽が混合容器300を獲得できないようにしうる。
【0048】
別の実施形態において、第1のプロセス制御構成体に関連した獲得する側の制御モジュールは、条件付き獲得依頼を、第1のプロセス制御構成体が獲得しようとしている第2のプロセス制御構成体に関連した制御モジュールに送信するように適応されうる。この場合に、第2のプロセス制御構成体が獲得可能であると第2のプロセス制御モジュールが判断すると、第1のプロセス制御構成体は第2のプロセス制御構成体を直ちに獲得することになる。第2のプロセス制御構成体が獲得可能でない場合、獲得失敗応答メッセージが、第1のプロセス制御構成体と関連する獲得する側のプロセス制御モジュールに返信される。この場合、獲得トークンは決して、第1のプロセス制御構成体が獲得しようとしている第2のプロセス制御構成体に関連した第2のプロセス制御モジュールの保留依頼待ち行列に置かれない。その代わりに、第1のプロセス制御構成体に関連した獲得する側の制御モジュールは直ちに、同じまたは類似した機能を行う別のプロセス制御構成体に関連した制御モジュールへと条件付き獲得依頼を送信により、代わりのプロセス制御構成体を獲得しようと試みうる。このようにして、獲得する側の制御モジュールは、直ちに獲得可能なリソースを見つけられるまで複数の異なるリソースを迅速にポーリングしうる。特定の作業を行うリソースとして使用しうるもの全てをポーリングした後、獲得する側の制御モジュールは、リソースのどれもが直ちに獲得可能でない場合その他の制御モジュールのうちのどれかの保留依頼待ち行列に投入されるように、第1のプロセス制御構成体が獲得する必要のあるプロセス制御構成体に関連した一つ又は複数の制御モジュールへと、無条件獲得依頼を送信しうる。
【0049】
先に述べたように、ほとんどの場合、所定のある時点において、特定のプロセス制御構成体は、その他のプロセス制御構成体のうち一つによってのみ所有されうる。但し、その他のプロセス制御構成体の二つ以上によりプロセス制御構成体を所有できることが望ましい場合もある。例えば、水または他の何らかのプロセス流体を複数のユニットに供給するヘッドタンクが、幾つかのユニットへの供給を同時に行うのに十分な規模のものでありうる。但し、図1のリアクタ_01およびリアクタ_02内の反応器槽100と200の両方に供給できるほどの大型ヘッドタンクでも、第3の反応装置ユニットへの供給を行うには十分な大きさを備えていないかもしれない。この場合、ヘッドタンクを二つのプロセス制御構成体により一度に獲得できるようにするが、第3のものによっては獲得できないようにすることが望ましいかもしれない。上述の分散型所有権調停システムは、プロセス制御構成体に関連した制御モジュールにおける所有済み待ち行列の規模を拡張するだけで、プロセス制御構成体がその他のプロセス制御構成体の複数により獲得されることを可能にするよう、容易に適応されうる。二つの反応器槽への供給を同時に行える能力を持つが第3のものへの供給を同時に行える能力を持たないヘッドタンクの例においては、ヘッドタンクに関連した制御モジュールの所有済み待ち行列を、二つの調停トークンを保持するように適応しうる。ヘッドタンクに関連した制御モジュールの所有済み待ち行列に二つ未満の調停トークンが格納されている限り、リアクタ_01またはリアクタ_02のようなプロセス制御構成体は、ヘッドタンクの半排他的な所有権を獲得しうる。但し、ヘッドタンクが既にその他のプロセス制御構成体の二つにより獲得されている場合、第3のプロセス制御構成体にはヘッドタンクの所有権が与えられない。制御モジュールの所有済み待ち行列は任意数の調停トークンを保持するように拡張することも可能である。このようにして、標的とされるプロセス制御構成体は、如何なる事前に定義された数のその他のプロセス制御構成体により同時に獲得または所有されるように構成されうる。
【0050】
上述の分散型所有権調停システムの別の利点としては、プロセス制御構成体を、特定のバッチ・フェーズまたはその他のプロセス関連作業を行うために実際に必要となる前に、事前に保存しうるということが挙げられる。例えば、バッチ・ユニット動作は図1におけるリアクタ_02上で行われているとする。バッチ・ユニット動作が完了するのに1時間かかり、バッチ・ユニット動作の終わりに反応器槽200の中身が混合機_01の混合容器300に移動されなければならないと仮定する。反応器槽200は、反応器槽200の中身を混合容器300の中に注ぐことができる前に混合容器300の所有権を獲得しなければならない。反応器槽200は混合容器300を獲得する必要はない(但し、リアクタ_02上で実行されるバッチ・ユニット動作が開始されるまで)。バッチマネージャ、バッチキャンペーン・マネージャまたはその他何らかのアプリケーションなどの外部アプリケーションは、反応器槽200が実際に混合容器を獲得しなければならない時点に到達する前に事前に混合容器300に関連した制御モジュールへと獲得依頼メッセージを送信しうる。この獲得依頼メッセージは、混合容器300に関連した制御モジュールがそれの保留依頼待ち行列に格納するダミーの調停トークンを含みうる。ダミーの調停トークンは、反応器槽100が実際に混合容器300を獲得するのに十分なデータを含んでいないが、混合容器300に関連した制御モジュールの保留依頼待ち行列内のプレースホルダとして機能する。よって、反応器槽200が実際に混合容器300を獲得しなければならない時点でダミー調停トークンまたはプレースホルダが保留依頼待ち行列内に進んでいることになっており、それによって適時に反応器槽が混合容器300を実際に獲得できるようになる。このようにして、バッチ処理は、遅れなく、反応器槽200が混合容器300に対する所有権を獲得しようと試みている間に混合ユニットのユニット動作に移ることができる。
【0051】
ここに記載されるような分散型所有権調停システムは処理工場の滑らかな運用に備えるものである。プロセス工場内のプロセス制御構成体は、それ自体の間の所有権問題を事前に定義された規則に則って管理するが、それでも該規則は、プロセス工場のプロセス制御リソースが有効且つ賢明に採用されることを保証するのに十分な融通性を有する。
【0052】
特定の実施例を参照して本発明を説明したが、上述のものは実施形態にすぎず本発明を限定するものではなく、通常の技術を有する当業者にとっては、本発明の精神と範囲から逸脱することなくここに開示される実施形態に変更、追加または削除を加えうることが明らかであろう。
図1
図2
図3
図4
図5
図6
図7
図8
図9