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

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

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

特許6806727制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置
<>
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000002
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000003
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000004
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000005
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000006
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000007
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000008
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000009
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000010
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000011
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000012
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000013
  • 特許6806727-制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置 図000014
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6806727
(24)【登録日】2020年12月8日
(45)【発行日】2021年1月6日
(54)【発明の名称】制御冗長性を提供するための方法および第1の現存構成部分とアップグレードモジュールとを備える装置
(51)【国際特許分類】
   G05B 19/042 20060101AFI20201221BHJP
【FI】
   G05B19/042
【請求項の数】15
【全頁数】20
(21)【出願番号】特願2018-61227(P2018-61227)
(22)【出願日】2018年3月28日
(62)【分割の表示】特願2016-38725(P2016-38725)の分割
【原出願日】2008年9月18日
(65)【公開番号】特開2018-116733(P2018-116733A)
(43)【公開日】2018年7月26日
【審査請求日】2018年3月28日
(31)【優先権主張番号】11/857,250
(32)【優先日】2007年9月18日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】512132022
【氏名又は名称】フィッシャー−ローズマウント システムズ,インコーポレイテッド
(74)【代理人】
【識別番号】100079049
【弁理士】
【氏名又は名称】中島 淳
(74)【代理人】
【識別番号】100084995
【弁理士】
【氏名又は名称】加藤 和詳
(72)【発明者】
【氏名】デイビッド マーク スミス
(72)【発明者】
【氏名】ブランドン ヒーブ
(72)【発明者】
【氏名】デイビッド アール.デニソン
(72)【発明者】
【氏名】ゴドフリー アール.シェリフ
(72)【発明者】
【氏名】ゲアリ ロー
(72)【発明者】
【氏名】カイル テトマイヤー
【審査官】 稲垣 浩司
(56)【参考文献】
【文献】 特開平08−339202(JP,A)
【文献】 特開2003−099102(JP,A)
【文献】 特開2000−066912(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05B 9/03
G05B 19/042
(57)【特許請求の範囲】
【請求項1】
プロセス工場の制御システムに対して制御冗長性を提供するための方法であって、
制御ソフトウェアサブシステムの第1のインスタンスと、前記制御ソフトウェアサブシステムの第2のインスタンスとに、制御入力を提供し、前記第1のインスタンスおよび前記第2のインスタンスが前記制御入力を実質的に並行して処理することと、
前記第1のインスタンスの出力又は前記第2のインスタンスの出力のいずれかを前記プロセス工場のフィールド装置に提供することと、
前記制御ソフトウェアサブシステムの第3のインスタンスに制御入力を提供することであって、前記第3のインスタンスは前記制御入力を処理することを特徴とする前制御入力を提供することと、
前記第1のインスタンス、前記第2のインスタンス、および前記第3のインスタンスの出力を交換することであって、前記第1のインスタンスおよび前記第2のインスタンスの中のどのインスタンスが前記プロセス工場のフィールド装置にその出力を提供するかを前記第1のインスタンス、前記第2のインスタンス、および前記第3のインスタンスによる過半数投票により決定し、第1のインスタンス、第2のインスタンス、および第3のインスタンスの各々は、前記第1のインスタンス、前記第2のインスタンス、および前記第3のインスタンスのためのマスターとして機能するための論理を含み、前記第1のインスタンス、前記第2のインスタンス、および前記第3のインスタンスのうちのいずれか一つが前記マスターとして機能し、前記マスターとして機能しない前記第1のインスタンス、前記第2のインスタンス、および前記第3のインスタンスのうちの一つによって、前記マスターとして機能する前記第1のインスタンス、前記第2のインスタンス、および前記第3のインスタンスのうちの一つが障害を起こしたと検出された場合、前記一つが前記マスターとして引き継ぐことを特徴とする前記出力を交換することと、
を含む、方法。
【請求項2】
前記第1のインスタンスおよび前記第2のインスタンスが異なる制御装置を介して実行される、請求項1に記載の方法。
【請求項3】
前記制御装置が、プロセス工場コントローラ、プロセス工場コントローラのプロセッサ、及び/又はプロセス工場コントローラのプロセッサコアの少なくとも一つである、請求項2に記載の方法。
【請求項4】
前記異なる制御装置が各々少なくとも一つの制御アプリケーション用の能動コントローラである、請求項2に記載の方法。
【請求項5】
前記異なる制御装置の各々の処理負荷に基づいて、前記異なる制御装置の中のどの制御装置が前記第1のインスタンスおよび前記第2のインスタンスを実行するかを選択することをさらに含む、請求項2に記載の方法。
【請求項6】
前記異なる制御装置の中のどの制御装置が前記第1のインスタンスおよび前記第2のインスタンスを実行するかを一定の時間後に変更させることをさらに含む、請求項2に記載の方法。
【請求項7】
前記第1のインスタンスおよび前記第2のインスタンスが同じ制御装置上で実行される、請求項1に記載の方法。
【請求項8】
前記制御ソフトウェアサブシステムが、前記プロセス工場の制御システムのための制御アプリケーションの一部である、請求項1に記載の方法。
【請求項9】
プロセス制御システムの制御装置の制御ソフトウェアサブシステムの構成部分を置換すると共に第1の現存構成部分とアップグレードモジュールとを備える装置であって、
前記第1の現存構成部分は、機能している制御装置の前記制御ソフトウェアサブシステムの第2の現存構成部分が障害を起こした、障害を起こしている、およびエラー状態となっていることの少なくとも一つである時を判断し、前記第1の現存構成部分および前記第2の現存構成部分の各々は、同じ制御ソフトウェアサブシステムをインスタンス化し、
前記アップグレードモジュールは、
前記機能している制御装置の前記制御ソフトウェアサブシステムの前記第2の現存構成部分が前記障害を起こした、前記障害を起こしている、および前記エラー状態となっていることの少なくとも一つである時、前記機能している制御装置の前記制御ソフトウェアサブシステムのアクティブな1次構成部分の外部データの交換に影響を及ぼさずに、前記機能している制御装置の前記制御ソフトウェアサブシステムの第3の構成部分をインスタンス化し、
前記機能している制御装置の前記第3の構成部分の第1の状態が前記第1の現存構成部分または前記第2の現存構成部分の中の一つの第2の状態に一致する時、前記第3の構成部分をアクティブモードに変化させ、前記第1の現存構成部分、前記第2の現存構成部分、および前記第3の構成部分の各々は、前記第1の現存構成部分、前記第2の現存構成部分、および前記第3の構成部分のためのマスターとして機能するための論理を含み、前記第1の現存構成部分、前記第2の現存構成部分、および前記第3の構成部分のうちのいずれか一つが前記マスターとして機能し、前記マスターとして機能しない前記第1の現存構成部分、前記第2の現存構成部分、および前記第3の構成部分のうちの一つによって、前記マスターとして機能する前記第1の現存構成部分、前記第2の現存構成部分、および前記第3の構成部分のうちの一つが障害を起こしたと検出された場合、前記第1の現存構成部分、前記第2の現存構成部分、および前記第3の構成部分による過半数投票に基づいて、前記マスターとして機能しない前記第1の現存構成部分、前記第2の現存構成部分、および前記第3の構成部分のうちの前記一つが前記マスターとして引き継ぐ、
装置。
【請求項10】
前記第1の現存構成部分および前記第2の現存構成部分は、同じ出力を処理するように同時に動作する、請求項に記載の装置。
【請求項11】
前記第2の現存構成部分が前記障害を起こした、前記障害を起こしている、および前記エラー状態となっていることの少なくとも一つである時よりも前に、前記第1の現存構成部分および前記第2の現存構成部分の中のどれがマスター構成部分であるべきかを判断する冗長制御装置をさらに含む、請求項に記載の装置。
【請求項12】
前記第1の現存構成部分の出力および前記第3の構成部分の出力の中のどれがフィールド装置に送信されるべきかを判断する冗長制御装置をさらに含む、請求項に記載の装置。
【請求項13】
前記第1の現存構成部分は、
前記第1の現存構成部分の出力と前記第2の現存構成部分の出力とを比較し、前記第1の現存構成部分の前記出力が前記第2の現存構成部分の前記出力と一致しない時に、前記第2の現存構成部分が前記障害を起こした、前記障害を起こしている、および前記エラー状態となっていることの少なくとも一つであると判断することにより、
前記第2の現存構成部分が前記障害を起こした、前記障害を起こしている、および前記エラー状態となっていることの少なくとも一つである時を判断する、
請求項に記載の装置。
【請求項14】
前記第3の構成部分をインスタンス化することは、他の制御装置を利用しないで行われる、請求項に記載の装置。
【請求項15】
前記機能している制御装置は、前記制御ソフトウェアサブシステムの前記第3の構成部分が、前記機能している制御装置の中でインスタンス化される時に、前記アクティブな1次構成部分と通信するフィールド装置とデータを交換し続ける、請求項に記載の装置。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概してプロセス工場に関し、より具体的にはプロセス工場において制御冗長性を供するための方法と機器に関する。
【背景技術】
【0002】
化学薬品の処理工程や、石油精製工程、又はその他のプロセス、システム、且つ又はプロセス工場において使用されるような分散形プロセス制御システムは通常、種々様々なアナログ、デジタル又はアナログ・デジタル混在バスのいかなるものを介して、一つ又は複数のフィールド装置に通信可能に連結される一つ又は複数のプロセス制御素子を含んでいる。このようなシステム且つ又はプロセスにおいて、例えば、バルブ、バルブポジショナ、スイッチ且つ又はトランスミッタ(例えば、温度、圧力、レベルおよび流量のセンサ)を含むフィールド装置は、プロセス環境内に設けられており、プロセス・パラメータの測定やバルブの開閉などのプロセス制御、警報機能且つ又は管理機能を行う。プロセスコントローラもまた工場環境内に設けられうるものであり、フィールド装置により生成されたプロセス計測、且つ又はフィールド装置に関するその他の情報を示す信号を受信する。例えば受信された信号に基づいて、プロセスコントローラは、アラームの始動、プロセス制御に関する決定、制御信号の生成且つ又は、HARTやフィールドバス(Fieldbus)フィールド装置などのフィールド装置により実行されるその他の制御モジュール且つ又は機能ブロックとの協調を行うために、任意数の且つ又はいかなるタイプ(複数可)の制御モジュール、ソフトウェア・モジュール、ソフトウェアサブシステム、ルーチン且つ又はソフトウェアスレッドを実現すべく、コントローラのアプリケーションを実行する。コントローラ(複数可)内の制御モジュールは、プロセス工場の動作を制御するフィールド装置に、通信線を通じて制御信号を送信する。
【0003】
フィールド装置且つ又はコントローラからの情報は、通常、データハイウェイ又は通信ネットワークを通じて、一つ又は複数のその他のハードウェアデバイスから(例えば、オペレーターワークステーション、パーソナルコンピュータ、データヒストリアン、報告書作成ルーチン、集中化データベースなど)にとって利用可能なものとされる。一般に、このような装置は制御室に設置されたり、且つ又は比較的厳しい工場環境から離れたその他の場所に設置されたりする。例えば、作動状態の変更、プロセス制御ルーチン(複数可)の設定変更、プロセスコントローラ且つ又はフィールド装置内の制御モジュールの動作の修正変更、工程(複数可)の現状表示、フィールド装置且つ又はコントローラにより生成された警報アラームの表示、人員をトレーニング且つ又はプロセス制御ソフトウェアをテストする目的で行う工程(複数可)の動作のシミュレーション、構成用データベースの維持管理且つ又は更新などをはじめとするプロセス工場内の工程(複数可)に関する様々な機能のいずれかをオペレータが実行できるようにするアプリケーションは、これらのハードウェア装置により実行される。
【0004】
一例として、エマソン・プロセスマネジメント社(Emerson Process Management)の法人であるフィッシャー‐ローズマウント・システムズ社(Fisher―Rosemount Systems, Inc.)により販売されるDeltaV(登録商標)制御システムは、可能性としてプロセス工場内の様々な異なる位置に設置されうる異なる装置内に格納された且つ又は異なる装置により実行される複数のアプリケーションをサポートしている。一つ又は複数のオペレーターワークステーション内に存在する且つ又は一つ又は複数のオペレーターワークステーションにより実行される構成用アプリケーションは、ユーザが、データハイウェイ且つ又は通信ネットワークを介し、専
用分散コントローラに対してプロセス制御モジュールをダウンロードしたり、作成したり、且つ又は変更したりできるようにする。一般に、これらの制御アプリケーションは、通信可能に連結された且つ又は相互に接続される制御モジュール、ソフトウェアモジュール、ソフトウェアサブシステム、ルーチン、ソフトウェアスレッドで構成されている、且つ又は、受信された入力に基づいて制御機構内の機能(例えば、プロセス制御且つ又はアラーム生成)を実行するところの且つ又は制御機構内のその他のブロックに出力を提供するところの機能ブロックで構成されている。また、構成用アプリケーションを利用することによって、例えばオペレータ用のデータを表示するために表示用アプリケーションにより使用されるオペレータ・インタフェースを作成且つ又は変更することがシステム構成エンジニア且つ又はオペレータにとって可能になりうる、且つ又は、プロセス制御ルーチン内の設定点且つ又は作動状態などの設定を変更することがオペレータにとって可能になりうる。専用コントローラ(また、場合によってはフィールド装置)はそれぞれ、実際のプロセス制御機能性を実施するために割り当てられた制御モジュールを実行する制御アプリケーションを格納する、且つ又は実行する。
【発明の開示】
【課題を解決するための手段】
【0005】
プロセス工場において制御冗長性を供するための方法と機器が開示される。プロセス制御システムの制御装置用ソフトウェアをアップグレードするための本開示による例示的な方法には、ソフトウェアの置換構成部分をインスタンス化することと、既存の構成部分から置換構成部分に状態データをコピーすることと、そして、置換構成部分の第1の状態が既存の構成部分の第2の状態と一致する場合に置換構成部分を能動モードに変更することとが含まれる。
【0006】
プロセス工場の制御システムに対して制御冗長性を提供するための本開示による別の例示的な方法において、該方法には、制御ソフトウェアサブシステムの第1のインスタンスおよび制御ソフトウェアサブシステムの第2のインスタンスに制御入力を提供し、第1および第2のインスタンスが制御入力を実質的に並行して処理することと、第1のインスタンスの出力又は第2のインスタンスの出力のいずれかをプロセス工場のフィールド装置に提供することと、が含まれる。
【図面の簡単な説明】
【0007】
図1】本発明の教示に従って構成された例示的なプロセス制御システムの概略図である。
図2図1の例示的なコントローラのいずれか又は全てを実施する例示的な方法を示す図である。
図3図1のプロセス制御システムのための例示的な冗長制御方式を示す図である。
図4図1のプロセス制御システムのための例示的な冗長制御方式を示す図である。
図5】例示的な冗長コントローラ且つ又は、さらに概して言うと図1且つ又は図2の例示的なコントローラのいずれか又は全てを実施するために実行しうる例示的なプロセスを示すフローチャートである。
図6図2の例示的な制御構成部分のいずれか又は全てをアップグレードするために図2の例示的なにアップグレードモジュールを実施するために実行しうる例示的なプロセスを示すフローチャートである。
図7A図2の例示的な制御構成部分のいずれか又は全てをアップグレードするために行いうる例示的なプロセスを示す図である。
図7B図2の例示的な制御構成部分のいずれか又は全てをアップグレードするために行いうる例示的なプロセスを示す図である。
図7C図2の例示的な制御構成部分のいずれか又は全てをアップグレードするために行いうる例示的なプロセスを示す図である。
図7D図2の例示的な制御構成部分のいずれか又は全てをアップグレードするために行いうる例示的なプロセスを示す図である。
図8A】制御構成部分の二つのバージョンを操作する例示的な制御システムを示す図である。
図8B】制御構成部分の二つのバージョンを操作する例示的な制御システムを示す図である。
図9図5図6且つ又は図7A図7Dの例示的なプロセスを行なうべく、さらに概して言うと図1且つ又は図2の例示的なコントローラのいずれか又は全てを実施するべく使用且つ又はプログラしうる例示的なプロセッサープラットフォームの概略図である
【発明を実施するための形態】
【0008】
近代のプロセス制御システムは、365日24時間体制で実施されるプロセス工場の稼動に向けて備えられている。継続的に稼動するプロセス工場の制御においては、制御装置のファームウェアをアップグレードする効率的な且つ又は融通性を持つ機構の必要性が生じる。かかる制御装置のアップグレードには、制御装置の動作不能時間最小限にすること、且つ又は工場の稼動に途切れが生じるのを大幅に無くすことが必要とされる。従来から、不稼働期間を短縮するために冗長制御装置を使用して制御装置のアップグレードが行われてきた。従来の手順では、バックアップ制御装置全体をアップグレードして、バックアップ装置が能動装置により構成されるようにし、さらにバックアップ装置への切り換えを行ってから、新規バックアップ装置(すなわち前回の能動装置)をアップグレードする。
【0009】
一般に、制御装置アップグレード中にプロセス工場が中断することなく稼動できるように、冗長制御装置の必要性を少なくする且つ又は無くすべくここに記載される機器、方法および製造品を使用しうる。特に、制御装置且つ又は制御アルゴリズム(例えば、ソフトウェア・モジュール且つ又はソフトウェアサブシステム)の機能は、個々の構成部分に隔離されている、分割されている且つ又は個別になっており、それによって、各構成部分をその他の構成部分から個々独立してアップグレードすることが可能になる。個別の構成部分を使用することにより、機能ごと、構成部分ごとに制御装置をアップグレードできる、且つ又はその他の能動構成部分、制御装置且つ又はプロセス制御システムの諸部分に影響せずに特定の構成部分内の問題を解決するために制御装置をアップグレードできる。特定の構成部分をアップグレードするために、アップグレードされるべき構成部分を現在実行している制御装置内に、置換構成部分がインスタンス化される。実行時且つ又は状態データを同じ構成部分の別のバージョンに転送することができるように制御構成部分を実施すれば、アップグレード中の不稼働期間は無くなる。このようなインテリジェンスは、それがそれの置換構成部分に対して重要データを転送する間に既存の構成部分が実行し続けることを可能にする。いったん、新規の構成部分の状態が更新されると、置換構成部分が、元来の構成部分と同じ状態情報をもって動作を引き継ぐ。特定の構成部分だけをアップグレードするようにすれば、冗長制御装置全体の必要性は大幅に削減される。また、プロセッサ制御装置は、同じ構成部分の複数のバージョンを実行しうる。
【0010】
いくつかの実施例では、制御装置が、ユーザから更新済み構成部分のファームウェアを受け取るためのマスター・アップグレードモジュールを含む、且つ又は実施する。アップグレードモジュールは、置換構成部分のインスタンスを作成し、置換構成部分およびそれにより置き換えられることになっている構成部分との間でのデータ更新を開始することによって、新規構成部分をインストールする。更新が完了した後、置換構成部分は能動モードに設定され、古い構成部分を終了しても良い状態になる。
【0011】
ソフトウェア障害やハードウェアの故障、且つ又はソフトウェアの更新中に稼動が継続された、などの事象から素早く回復することが大切である。従来から、プロセス制御システムによって、専用の冗長制御装置の使用を通じて連続制御動作を提供しようという試みがなされてきた。制御装置の冗長複製は、能動的に稼動する制御装置の現状を模倣するように構成される。能動的に稼動する装置が(一つ又は複数の理由で)もはやそれの作業を完了できない場合には、バックアップ制御装置が引き継ぎ、装置に割り当てられた全作業を実行する。但し、稼動中の能動装置からの工程データ且つ又は状態情報とバックアップ装置が絶えず同期化することが要求されるので、シームレスな且つ又は段差の無い円滑なフェイルオーバ(障害迂回)を確実に行うのは困難である。このやり方では、多くの場合、能動装置をバックアップ装置によって引き継ぐことができない期間が生じる。
【0012】
一般に、プロセス制御システム内に冗長性を分散できるようにし、それによって専用の冗長制御装置の必要性を補うべく、ここに記載される例示的な機器、方法および製造品を使用しうる。分散式アプローチを用いることによって、冗長動作が、その他の能動制御装置の且つ又は能動制御装置自体に含まれる自由に利用できるリソースを使用して実施される。本質的に、制御構成部分は全て能動(稼動)状態であると見なされ、よって、現在の工程データおよび状態情報を有するものである。
【0013】
いくつかの実施例では、同じタイプの複数の制御構成部分は、各制御構成部分が能動制御構成部分の動作・処置を行いながら相互並行して実行する。全構成部分からの出力は、どの制御構成部分からのどの出力がフィールド装置(複数可)に通信されることになるかを決定するために投票アルゴリズムを使用するゲートウェイに向けられる。他の実施例では、制御構成部分が互いに出力を交換して、どの出力がフィールド装置(複数可)に通信されるべきかを集団的に決定する。
【0014】
ここに記載されるように、同じタイプの複数の制御構成部分は同じ制御装置、プロセッサ且つ又はコントローラで実行且つ又は遂行できる、且つ又は、二つ以上の制御装置、プロセッサ且つ又はコントローラの全体にわたって実施することができる。制御装置、プロセッサ且つ又はコントローラへの制御構成部分の割当ては、利用可能な制御装置、プロセッサ且つ又はコントローラの処理負荷且つ又は数に基づいて動的に決定することができる。なおまた、利用可能な制御装置、プロセッサ且つ又はコントローラの処理機構の負荷(複数可)且つ又は数が変化するに伴って、割当ても変化しうる。
【0015】
ここに記載されるように、制御装置ではなく制御構成部分に基づいたプロセス工場の制御冗長の実施は、ハードウェアに係る間接コストを削減し、付加的な冗長経路を提供し、より高速に故障回復を実現し、且つ又は、プロセス制御を利用できない時間(期間)を短縮させる。
【0016】
プロセス制御システム内で冗長性を分散できるようにして専用冗長制御装置の必要性を補うための、且つ又は冗長制御装置の必要性を削減する且つ又は無くして制御装置のアップグレード中にプロセス工場の稼動が中断されないようにするための方法と機器が開示されているが、冗長性を実施するために且つ又は、プロセス工場の安全計装システムなどその他のシステムに対するアップグレードを行うために例示的な方法と機器を使用しうることは、通常の技術を有する当業者ならば容易に理解できるはずである。
【0017】
図1は例示的なプロセス制御システム105の概略図である。図1の例示的なプロセス制御システム105は一つ又は複数のプロセス制御プラットフォーム(図中、うち一つが110の参照番号で示される)と、一つ又は複数のオペレータステーション(図中、うち一つが115の参照番号で示される)および一つ又は複数のワークステーション(図中、うち二つが120および121の参照番号で示される)を含んでいる。例示的なプロセス制御プラットフォーム110、例示的なオペレータステーション115およびワークステーション120および121は、一般にエリア制御ネットワーク(ACN)と指称されるローカルエリアネットワーク(LAN)125且つ又はバスを介して通信可能に連結される。
【0018】
図1の例示的なワークステーション120および121は、一つ又は複数の情報技術アプリケーション、ユーザ対話型アプリケーション、且つ又は通信アプリケーションを行うアプリケーションステーションとして構成しうる。例えば、アプリケーションステーション120が主としてプロセス制御に関連するアプリケーションを行うように構成しうる一方、アプリケーションステーション121は主としていかなる所望の通信媒体(例えば、ワイヤレス、配線接続式、など)およびプロトコル(例えば、HTTP、SOAP、など)を使用してその他の装置又はシステムとプロセス制御システム105が通信することを可能にする通信アプリケーションを行うように構成しうる。オペレータステーション115およびワークステーション120および121は、一つ又は複数のワークステーション又はその他いかなる適切なコンピュータ・システム又は処理システムを使用して実施しうる。例えば、シングルプロセッサのパソコン、シングルロセッサの又はマルチプロセッサのワークステーションなどを使用して、オペレータステーション115且つ又はワークステーション120および121を実施することも可能である。
【0019】
図1の例示的なLAN125は、いかなる所望の通信媒体とプロトコルを使用して実施しうる。例えば、例示的なLAN125は、配線接続式の且つ又はワイヤレスのイーサネット(登録商標)通信方式によって構成しうる。但し、その他いかなる適切な通信媒体且つ又はプロトコルを使用できることは、通常の技術を有する当業者であれば容易に理解できるはずである。さらに、図1ではLAN125が一つだけ設けられているが、二つ以上のLAN且つ又はその他複数台の代替的な通信系ハードウェアを使用して、図1の例示的なシステム間に冗長通信路を提供するようにしても良い
図1の例示的な制御プラットフォーム110は、デジタルデータバス135および入・出力(I/O)装置140を介して、複数のスマート・フィールド装置130、131および132に連結される。スマート・フィールド装置130〜132はフィールドバス適合バルブ、アクチュエータ、センサなどでありえ、その場合スマート・フィールド装置130〜132は周知のフィールドバス・プロトコルを使用して、デジタルデータバス135を介して通信する。もちろんその他のタイプのスマート・フィールド装置や通信プロトコルを代わりに使用しても良い。例えば、スマート・フィールド装置130〜132は、周知のプロフィバスおよびHART通信プロトコルによりデータバス135を介して通信するプロフィバス(Profibus)且つ又はHART対応の装置でありうる。付加的なI/O装置(I/O装置140と同一の且つ又はそれに類似する)を制御プラットフォーム110に連結し、(フィールドバス装置、HART装置などでありうる)スマート・フィールド装置の追加グループが制御プラットフォーム110と通信することを可能にしうる。
【0020】
例示的なスマート・フィールド装置130〜132に加えて、一つ又は複数の非スマート・フィールド装置145および146を制御プラットフォーム110に通信可能に連結しうる。図1の例示的な非スマート・フィールド装置145および146は、例えばめいめいの配線接続式リンクを介して制御プラットフォーム110と通信する従来の4〜20ミリアンペア(mA)又は0〜10ボルトの直流電圧(VDC)装置でありうる。
【0021】
図1の例示的な制御プラットフォーム110は、例えば、エマソン・プロセスマネジメント社法人であるフィッシャー−ローズマウント・システムズ株式会社により販売されるDeltaV(登録商標)コントローラでありうる。但し、その他のコントローラを代わりに使用することも可能である。さらに、図1では制御プラットフォーム110が一つだけ備えられた状態で示されているが、いかなる所望のタイプの(且つ又はいかなる所望のタイプの組合せの)制御プラットフォーム且つ又はコントローラを追加してLAN125に連結することも可能である。いかなる場合も、制御プラットフォーム110は、プロセス制御システム105(オペレータステーション115を使用してシステムエンジニア且つ又はその他のシステム‐オペレータにより生成され、制御プラットフォーム110にダウンロード且つ又はインスタンス化されたもの)に関連する一つ又は複数のプロセス制御ルーチンを行いうる。
【0022】
一つ又は複数の制御アルゴリズムを実行するために、図1の例示的な制御プラットフォーム110には一つ又は複数のコントローラ(すなわち制御装置)(図中、うち三つが150、151および152の参照番号で示される)が含まれる。図2の例示的なコントローラ150〜152には、一つ又は複数のオペレーティングシステム、制御アルゴリズム、制御構成部分且つ又はソフトウェアサブシステムを実行するための一つ又は複数のプロセッサ(すなわち制御装置)が含まれている。ここで使用される「制御装置」という用語は、コントローラ(例えば、例示的なコントローラ150〜152のいかなるもの)、且つ又はコントローラのプロセッサ、中央処理装置(CPU)且つ又はプロセッサコアを指す。以下、説明を簡単にする目的で、制御構成部分の冗長且つ又はアップグレード作業を容易にするためにコントローラを使用した事例を開示する。但し、ここに記載される方法と機器は、いかなるタイプの制御装置(例えば、コントローラのプロセッサ、CPU且つ又はプロセッサコア)にも基づきうる、且つ又は適用されうる。より詳しく後述されるように、例示的なコントローラ150〜152は、冗長明示制御コントローラ且つ又はバックアップ明示制御コントローラを必要とせずに制御構成部分の冗長且つ又はアップグレード作業を容易に行える。例示的なコントローラ150〜152により行なわれる制御アルゴリズムは個々の構成部分(例えば、ソフトウェア・モジュール且つ又はソフトウェアサブシステム)に隔離されている、分割されている且つ又は個別になっており、各構成部分をその他の構成部分から個々独立してアップグレードできる。以下、図1の例示的なコントローラ150〜152のいずれか又は全てを実施する例示的な方法を、図2を参照して説明する。
【0023】
図1の例示的なコントローラ150〜152は、コントローラ150〜152により行われる各制御構成部分をその他の制御構成部分から個々独立してアップグレードできるようにするマスター・アップグレードモジュールを含む且つ又は実施する。特定の構成部分をアップグレードするべく、アップグレードされるべき構成部分を現在実行しているコントローラ150〜152の内で置換構成部分がインスタンス化される。同じ構成部分のその他のバージョンに実行時且つ又は状態データを転送できるように制御構成部分を実施することによりアップグレード中の不稼働期間が無くなる。このようなインテリジェンスは、それがその置換構成部分に必要不可欠な重要データを転送中に既存の構成部分が実行を継続することを可能にする。いったん、新規の構成部分の状態が更新されると、置換構成部分が、元来の構成部分と同じ状態情報をもって動作を引き継ぐ。図8Aおよび図8Bに関連して後述されるように、コントローラ150〜152はそれに加えて、又はその代わりとして、同じ構成部分の複数のバージョンを実行しうる。
【0024】
同じ制御構成部分の複製を複数、同じ且つ又は異なるコントローラ150〜152により実行して、図1の例示的なプロセス制御システム105に対する制御冗長機能を行える。制御構成部分の複製は、同じコントローラ150〜152により、異なるコントローラ150〜152、且つ又は、異なる制御プラットフォーム110により実行できる。図3に関連して後述されるように、同じ制御構成部分の複製は各々、フィールド装置130〜132、145且つ又は146から同じ入力を受け取り、そして同じソフトウェアサブシステムを実行する。その後、制御構成部分の複製の出力を使用して(例えば、比較して)、フィールド装置(複数可)130〜132、145且つ又は146に対してどの出力が伝達されるのかを判断することができる。フィールド装置(複数可)130〜132、145且つ又は146に対してどの出力が伝達されるのかを判断するために、例えば、I/Oゲートウェイ(例えば、例示的なI/Oゲートウェイ155且つ又は156のうちの一つ)によって過半数得票による決定を行うことができる。それに加えて、又はその代わりとして、制御構成部分の複製は、互いに出力を交換して、フィールド装置(複数可)130〜132、145且つ又は146に対してどの出力が伝達されるのかを集団的に判断することができる。
【0025】
フィールド装置130〜132に、145且つ又は146に、且つ又はI/O装置140に、例示的なコントローラ150〜152を通信可能に連結するために、図1の例示的な制御プラットフォーム110は、一つ又は複数のI/Oモジュール且つ又はゲートウェイ(図中、うち二つが155および156の参照番号で示される)を含んでいる。図1の例示的なI/Oゲートウェイ155および156は、コントローラ150〜152およびフィールド装置130〜132、145且つ又は146、且つ又はI/O装置140間のデータを経路指定して送るように構成可能である。例示的なコントローラ150〜152および例示的なI/Oゲートウェイ155および156は、制御プラットフォーム110内において、いかなるタイプのバックプレーン160を介して通信可能に連結される。図1に示される如く、例示的な制御プラットフォーム110は、ラック且つ又は棚状のものとして実施され、この場合、例示的なコントローラ150〜152およびI/Oゲートウェイ155および156は、棚状のもの且つ又はラックにプラグを差し込んで接続されるとバックプレーン160に通信可能に連結されるようになるカード且つ又はモジュールである。それに加えて、又はその代わりとして、コントローラ150〜152およびI/Oゲートウェイ155および156は別々に実施され、LAN125を介して通信可能に連結される。
【0026】
プロセス工場において制御冗長性を供するためのより詳しく後述される方法と機器を都合に合わせて採用した例示的なプロセス制御システム105が図1には示されているが、希望する場合は、図1に示される実施例よりも複雑な(又は図1に示される例ほど複雑でない)その他のプロセス工場且つ又はプロセス制御システムにおいてもここに記載されるプロセス工場において制御冗長性を提供するための方法と機器を都合に合わせて採用しうることは、通常の技術を有する当業者ならば容易に理解できるはずである。
【0027】
図2は、図1の例示的なコントローラ150〜152のいずれか又は全てを実施する例示的な方法を示す。図1のコントローラ150〜152のいずれか又は全てが図2の装置として表されているかもしれないが、説明を簡単にするために、ここでは図2の装置をコントローラ150とする。図2の例示的なコントローラ150は、少なくとも一つの汎用プログラム可能プロセッサ205を含む。図2の例示的なプロセッサ205は、プロセッサ205のメインメモリ210(例えば、ランダム・アクセス・メモリー(RAM)且つ又は読み出し専用メモリー(ROM)の中)にあるコード化指令を実行する。プロセッサ205は、プロセッサコア、プロセッサ且つ又はマイクロコントローラなど、いかなるタイプの処理装置でありうる。プロセッサ205は、その他数あるなかでも特に実時間オペレーティングシステム(RTOS)215、アップグレードモジュール220、冗長コントローラ225且つ又は一つ又は複数の制御構成部分230を実行しうる。RTOS215の例としては、QNXソフトウェア・システムズ株式会社からのQNXTMRTOSが挙げられる。図2の例示的なメインメモリ210は、プロセッサ205によって且つ又はそれの中で実施しうる、且つ又は、プロセッサ205に電気的に連結された一つ又は複数のメモリ且つ又は記憶装置でありうる。
【0028】
図7A図7Dに関連して後述されるように、図2の例示的なアップグレードモジュール220は例示的な制御構成部分230の一つ又は複数のアップグレードを制御する。図8A図8Bに関連して後述されるように、例示的なアップグレードモジュール220は、それに加えて、又はその代わりとして、制御アルゴリズム且つ又は制御構成部分(例えば、ソフトウェアサブシステム)の異なるバージョンの同時且つ又は並列実行を制御することができる。
【0029】
図3図5に関連して後述されるように、図2の例示的な冗長コントローラ225は、一式の制御構成部分の複製からの出力のうちどれがフィールド装置130〜132、145且つ又は146に通信されるかを制御且つ又は選択する。それに加えて、又はその代わりとして、冗長コントローラ225は、どの制御構成部分の複製が特定の制御構成部分のためのマスターかを判断する。図2の例示的な冗長コントローラ225が制御構成部分230とは別に示されているが、制御構成部分の各々は、冗長コントローラを含みうる、且つ又は実施しうる。
【0030】
図2の例示的な制御構成部分230は、制御アルゴリズムの全て又は一部分(例えば、ソフトウェアサブシステム)を実施且つ又は遂行する。例示的な制御構成部分230は、一つ又は複数のフィールド装置130〜132、145且つ又は146、且つ又は別の制御構成部分230から入力を受け取り、一つ又は複数の出力を生成するべく(例えば、計算するべく)該入力を処理する。(例えば、制御アルゴリズムの一つ又は複数の付加手順を行うために、)別の制御構成部分230に、且つ又は一つ又は複数のフィールド装置130〜132、145且つ又は146に向けて、当該出力を配送しうる。
【0031】
制御アルゴリズム且つ又は制御構成部分(例えば、ソフトウェアサブシステム)の画像イメージ240を格納するために、図2の例示的なコントローラ150には、不揮発性記憶部235が含まれている。図2の例示的な不揮発性記憶部235は、一つ又は複数の制御構成部分の画像イメージ240を格納する。プロセッサ205により現在実行されている制御構成部分の画像イメージ240の格納に加えて、例示的な記憶部235は、プロセッサ205により実行されうるその他の制御構成部分の画像イメージ240を格納することができる。図2の例示的な記憶部235が特定のコントローラ150と関連するものとして図に示されているが、記憶部235は、一式のコントローラ(例えば、図1の例示的なコントローラ150〜152)の全体にわたって収納されうる。記憶部235は、いかなる数且つ又はいかなるタイプ(複数可)のメモリ(複数可)且つ又は記憶装置(複数可)のにより実施しうる。
【0032】
バックプレーン(例えば、図1の例示的なバックプレーン160)と通信するために、図2の例示的なコントローラ150にはバックプレーン・インターフェース245が含まれている。図2の例示的なバックプレーン・インターフェース245は、コントローラ150が挿入されるところの制御プラットフォーム(例えば、例示的な制御プラットフォーム110)のバックプレーンに、例示的なプロセッサ205を電気的に且つ又は通信可能に連結する。
【0033】
図1の例示的なコントローラ150〜152のいずれか又は全てを実施する例示的な方法が図2に示されているが、図2に示されるデータ構造、要素、プロセスおよび装置を、いかなる他の方法により、組み合わせうる、分割しうる、再配置しうる、省略しうる、且つ又は実施しうる。さらに、図2の例示的なRTOS215、例示的なアップグレードモジュール220、冗長コントローラ225、例示的な制御構成部分230且つ又は、さらに概して言うと例示的なコントローラ150は、ハードウェア、ソフトウェア、ファームウェア且つ又は、ハードウェア、ソフトウェア且つ又はファームウェアのいかなる組合せにより実施しうる。なおさらに、例示的なコントローラ150は、図2に示されるものの代わりに、又はそれに加えて、付加的な要素、プロセス且つ又は装置を含みうる、且つ又は、図示されるデータ構造、要素、プロセスおよび装置のいずれか又は全ての二つ以上を含みうる。
【0034】
図3および図4は、図1の例示的なプロセス制御システム105のための例示的な冗長性制御方式を示す。図3に示される実施例において、一つ又は複数のフィールド装置(例えば、例示的な装置130〜132、図1の145の且つ又は146)からの、且つ又は制御アルゴリズム且つ又は制御構成部分からの入力(複数可)305は、特定の制御構成部分の二つ以上の複製(図中、うち三つが310、311および312の参照番号で示される)に提供される。図3の例示的な制御構成部分310〜312は、制御アルゴリズムの全て又は一部分(例えば、制御アルゴリズムのソフトウェアサブシステム)を実施する。一つ又は複数のコントローラ(例えば、図1の例示的なコントローラ150〜152の一つ又は複数)によって、例示的な制御構成部分310〜312を実施且つ又は遂行しうる。例えば、制御構成部分310〜312の全てを単一のコントローラにより遂行する、制御構成部分310〜312の各々を異なるコントローラにより遂行する、などにしても良い。制御構成部分310〜312のコントローラへの割当ては、静的且つ又動的に行いうる。動的に割当てが行われる場合、例えば、利用可能なコントローラの数に基づいて、且つ又は利用可能なコントローラの現在の且つ又は履歴に基づく処理負荷に基づいて、割当てを調節しうる。なおまた、特定の制御構成部分の重複する複製の数も、例えば、制御構成部分の相対的重要度、利用可能なコントローラの数、且つ又は利用可能なコントローラの現在の且つ又は履歴に基づく処理負荷によって、静的且つ又動的なものになりうる。異なる制御構成部分(例えば、ソフトウェアサブシステム)の重複する複製の、異なるコントローラへの例示的な割当てを、図4に関連して後述する。
【0035】
図3の例示的な制御構成部分310〜312は、同じソフトウェアサブシステムを実行且つ又は遂行する。制御構成部分310〜312が全て正常に(例えば、いかなるエラー(複数可)も無く)作動している場合、制御構成部分310〜312の全ての出力315は同一である。制御構成部分310〜312の特定の一つが障害を起こした、障害を起こしている、エラー状態になっている、などの場合、該特定の一つの出力(複数可)315は、他の制御構成部分310〜312の出力315とは異なりうる。出力(複数可)315の相違且つ又は欠如を検出することにより、制御構成部分310〜312のうちどれに障害が生じたのか、障害が生じているのか、且つ又はエラーが発生しているのかを識別することが可能になる。
【0036】
図3に示される実施例において、障害を起こした・障害が生じている・且つ又はエラーが発生している制御構成部分310〜312を検出し、且つ制御構成部分310〜312のうちどれの出力(複数可)315がフィールド装置に且つ又は、同じ且つ又は異なる制御アルゴリズムの別の制御構成部分に通信されるべきかを選択するように、マスター320を構成しうる。図3の例示的なマスター320は、障害を起こした・障害が生じている・且つ又はエラーが発生している制御構成部分310〜312を検出するため、且つ又は、どの出力(複数可)315がフィールド装置に通信されるべきかを選択するために過半数得票による決定を行なう機能専用に設けられた中央処理装置、コントローラ且つ又はソフトウェアサブシステムでありうる。それに加えて、又はその代わりとして、制御構成部分310〜312から例示的なマスター320を動的に選択しうる。即ち、制御構成部分310〜312の各々には、当該の制御構成部分のためのマスター320として機能するべき論理が含まれている。このような実施例において、制御構成部分310〜312の各々が、障害を起こした・障害が生じている・且つ又はエラーが発生している制御構成部分310〜312を検出するため、且つ又は、どの出力(複数可)315がフィールド装置に通信されるべきかを選択するために過半数得票による決定を行うことを可能にすべく、例示的な制御構成部分310〜312は、互いに出力(複数可)315を交換する。マスター制御構成部分310〜312が障害を起こした、障害が生じている、且つ又はエラーが発生していることが、現時点においてマスター320として機能していない制御構成部分310〜312によって検出されると、その制御構成部分310〜312はマスター320としての機能を引き継ぎ、障害を起こした・障害が生じている・且つ又はエラーが発生している制御構成部分310〜312についてシステム‐オペレータに(例えば、オペレータステーション115を介して)通知することができる。どの制御構成部分310〜312がマスター320として引き継ぐかは、ラウンドロビン選択アルゴリズムなどのマスター仲裁スキームを使用して決定しうる。
【0037】
図4は、複数の制御構成部分(例えば、ソフトウェアサブシステム)の重複する複製を異なるコントローラに割り当てる際の実施例を示す。図4に示される実施例では、ソフトウェアサブシステムLの第1の複製405が制御装置(例えば、コントローラ)410に割り当てられ、ソフトウェアサブシステムLの第2の複製415もまたコントローラ410に割り当てられ、そして、ソフトウェアサブシステムLの第3の複製420は、第2の制御装置(例えば、第2のコントローラ)425に割り当てられる。さらに、ソフトウェアサブシステムZの第1の複製430がコントローラ410に割り当てられ、同第2の複製435が第3の制御装置(例えば、第3のコントローラ)440に割り当てられる。同様に、ソフトウェアサブシステムBの第1の複製445はコントローラ425に割り当てられ、そして第2の複製450はコントローラ440に割り当てられる。
【0038】
図4に示される実施例では、特定のソフトウェアサブシステムの各複製は、特定のそのソフトウェアサブシステムのためのマスター(例えば、一次的)なものであるか、又は二次的なものであるかのいずれかである。マスターか二次的かの指定は、静的且つ又は動的に行いうる、且つ又はソフトウェアサブシステム自体の複製によって、且つ又は中央冗長制御プロセスによって決定しうる。図示されるように、所与のコントローラは、ある一つのソフトウェアサブシステムにとっては一次的なものでありうる間、別のソフトウェアサブシステムにとっては二次的なものでありうる。なおまた、各ソフトウェアサブシステムの重複する複製の数は異なりうる。
【0039】
図5は、図2の例示的な冗長コントローラ225且つ又は、さらに概して言うとここに記載される例示的なコントローラ150〜152のいずれか又は全てによって実行されうる例示的なプロセスを示すフローチャートである。図6は、図2の例示的な制御構成部分のいずれか又は全てをアップグレードするべく図2の例示的なアップグレードモジュール220を実施するために実行されうる例示的なプロセスを示すフローチャートである。図5且つ又は図6の例示的なプロセスは、プロセッサ、コントローラ且つ又はその他いかなる適切な処理装置により実行しうる。例えば、図5且つ又は図6の例示的なプロセスは、プロセッサ(例えば、図9を参照して後述される例示的なプロセッサ905)に関連するフラッシュメモリ、ROM且つ又はランダム・アクセス・メモリーRAMなどの有形機械アクセス可能又は判読可能媒体に格納されたコード化指令によって具現化しうる。あるいは、特定用途向け集積回路(ASIC)(複数可)、プログラム可能論理回路(PLD)(複数可)、フィールド・プログラム可能論理回路(FPLD)(複数可)、離散論理、ハードウェア、ファームウェアなどのいかなる組合せの使用することによっても、図5且つ又は図6の例示的な動作のいくつか又は全てを実施しうる。また、図5且つ又は図6に描かれる動作は、マニュアル操作によっても、又は前述のいかなる技法のいかなる組合せ(例えばファームウェア、ソフトウェア、離散論理且つ又はハードウェアのいかなる組合せ)としても実施しうる。さらに、図5且つ又は図6の例示的なプロセスは図5且つ又は図6のフローチャートに関連して説明されているが、その他の多くの方法を採用して図5且つ又は図6の例示的なプロセスを実施しうることは、通常の技術を有する当業者ならば容易に理解できるはずである。例えば、諸ブロックの実行命令は変更されうるものであり、且つ又は、記載されるブロックのいくつかは、変更、削除、再分割、又は混合されうるものである。加えて、図5且つ又は図6の例示的な動作のいかなるもの又は全ては、例えば、別の処理スレッド、プロセッサ、装置、離散論理、回路などにより並行させて行いうること、且つ又は順次に行いうることも、通常の技術を有する当業者ならば理解できるはずである。
【0040】
図5の例示的なプロセスは、制御構成部分(例えば図2の例示的な制御構成部分230のいずれか一つ)の複製が別の制御構成部分且つ又はフィールド装置から入力を受け取った時に始まる。制御構成部分の複製は、一つ又は複数の出力(例えば図3の例示的な出力315)を形成するために(例えば、計算するために)、受信した入力を処理する(ブロック505)。冗長コントローラ(例えば、例示的な冗長コントローラ225)は、制御構成部分のその他の複製により計算された出力(複数可)を収集且つ又は受信し(ブロック510)、該収集された出力を、制御構成部分の該複製により計算されたものと比較する(ブロック515)。
【0041】
制御構成部分の複製が制御構成部分にとってのマスター(例えば一次的なもの)である場合(ブロック520)、且つ、マスターの出力が制御構成部分のその他の複製からの出力の過半数と一致する場合(ブロック525)、制御構成部分は、(同じ且つ又は異なる制御アルゴリズムの)別の制御構成部分、且つ又はフィールド装置にその出力を送信する(ブロック530)。その後制御が図5の例示的なプロセスを出て終了する。
【0042】
ブロック525に戻り、マスターの出力が制御構成部分のその他の複製からの出力の過半数と一致しない場合(ブロック525)、現在のマスターは、マスターとしてのそれの役割を譲る(ブロック535)。その後制御が図5の例示的なプロセスを出て終了する。
【0043】
ブロック520に戻り、制御構成部分の複製が、現時点において制御構成部分のマスターでない場合(ブロック520)、冗長コントローラは、現在のマスターが正しく作動しているかどうかを判断する(ブロック540)。例えば、マスターの出力(複数可)が、その他の制御構成部分複製の出力(複数可)の過半数と一致する場合、冗長コントローラは、当該の現行マスターが正しく作動していると判断する。それに加えて、又はその代わりとして、現行マスターと冗長コントローラは、現行マスター且つ又は冗長コントローラが他の装置が機能している且つ又は反応しているかどうか判断することを可能にする(非周期的且つ又は周期的な)いわゆる「ハートビート(心拍)」信号を交換しうる。例えば、冗長コントローラがマスターからハートビート信号を受信すると、冗長コントローラは現行マスターが正しく作動していると判断する。現行マスターが正しく作動している場合(ブロック540)、制御が図5の例示的なプロセスから出て終了する。現行マスターが正しく作動していない場合には(ブロック540)、冗長コントローラ複製が、制御構成部分に対しマスターでの変更を開始する(ブロック545)。その後制御が図5の例示的なプロセスを出て終了する。
【0044】
ユーザが特定の制御構成部分をアップグレードしたいとの旨を示した時点で、図6の例示的なプロセスが始まる。アップグレードモジュール(例えば図2の例示的なアップグレードモジュール220)は、ユーザから二値画像を受け取り(ブロック605)、その二値画像を(例えば例示的な記憶部235に)格納する(ブロック610)。アップグレードモジュールは、「更新係属中」モードにおいて新規の制御構成部分のインスタンスを開始する(ブロック615)。いくつかの実施例では、RTOSの隔離されたプロセスとして新規の制御構成部分をインスタンス化する。
【0045】
アップグレードモジュールは、古い構成部分から新規の構成部分への状態データの転送を開始する(ブロック620)。いくつかの実施例では、携帯型オペレーティング・システム・インターフェース(POSIX)関数呼出しなど、RTOSのプロセス間通信能力を使用して状態データがコピーされる。状態データの転送が完了すると(ブロック625)、アップグレードモジュールは、元来の制御構成部分を終了させ(ブロック630)、そして新規の制御構成部分のモードを「アクティブ(能動)」に変更する(ブロック635)。その後制御が図6の例示的なプロセスを出て終了する。
【0046】
いくつかの実施例では、古い構成部分を終了前に、新規構成部分をテストしうる。このような事例においては、新規構成部分が正しく作動しない場合に、新規構成部分を終了させて、古い構成部分をアクティブな(能動的な)構成部分のままにしておくことも許される。その他の実施例では、新規構成部分に欠点且つ又は不具合があることが後になって分かるかもしれず、その際、アップグレードモジュールは、新規構成部分が修正されて再度利用可能となるまで元来の構成部分に戻りうる。
【0047】
図7A図7B図7Cおよび図7Dは、制御構成部分(例えば、例示的な制御構成部分230のいずれか又は全て)をアップグレードするべくアップグレードモジュール(例えば、図2の例示的なアップグレードモジュール220)によって遂行しうる例示的なプロセスを示す。図7Aは、制御構成部分715および制御構成部分720を利用する二つのプロセス制御アプリケーション705と710の初期状態を示す。図7A−7Dに示される実施例では、制御構成部分715が新規のバージョンにアップグレードされるようになっている。
【0048】
図7Bに示される如く、アップグレードモジュールは制御構成部分715のより新しいバージョンのインスタンス725を、隔離されたプロセスとして開始する。図7Cに示される実施例では、元来の制御構成部分715が、新規の制御構成部分725に状態データ且つ又は情報730をコピーする。新規の制御構成部分725の状態が元来の制御構成部分715の状態と一致する場合、図7Dに示されるように、アップグレードモジュールが、新規の制御構成部分725のモードを「アクティブ(能動)」に変更し、元来の制御構成部分715を終了させる。
【0049】
図8Aおよび図8Bは、制御構成部分の二つのバージョンを操作する例示的な制御システムを示す。図8Aは、制御構成部分815および制御構成部分820を利用する二つのプロセス制御アプリケーション805と810の初期状態を示す。図8Aおよび図8Bに示される実施例では、制御構成部分815が、制御アプリケーション810用の新しいバージョンにアップグレードされるようになっている。図8Bに示される如く、アップグレードモジュールは、制御構成部分815のより新しいバージョンのインスタンス825を開始し、プロセス制御アプリケーション810の用の入力を、新規の制御構成部分825に経路指定して送り始める。この間、プロセス制御アプリケーション805用の入力は継続して元来の制御構成部分815に受け渡される。元来の制御構成部分815と新規の制御構成部分825の両方は、同じ制御構成部分820を使用し続ける。
【0050】
特定の制御構成部分の二つのバージョンを同時実行することにより、既存の制御構成部分において新規の機能特性を追加する際に、且つ又はそれにおいて不具合を修正する際に、プロセス制御システムにさらなる柔軟性・融通性を与えることが可能になる。例えば、品質がまだ完全にテストされていないかもしれない所謂「ホットフィックス」を含む新規の制御構成部分を導入し、変化を要する制御アルゴリズムによってだけ利用されるようにできる。新規の制御構成部分を必要としないその他の制御アルゴリズムは、新規の制御構成部分が正式に解除(公開)されるまで元来の制御構成部分を使用し続けることができる。それに加えて、又はその代わりとして、制御構成部分の二つのバージョンを使用すれば、新規の制御構成部分を正式に解除される前にテストすることができる、且つ又は後方互換性を伴わない変更を、その他の影響される制御構成部分が全て更新される前に導入できる。
【0051】
図9は、ここに記載される例示的な制御プラットフォーム110、コントローラ150〜152、且つ又は例示的なプロセッサ205のいずれか又は全てを実施するために使用且つ又はプログラムされうる例示的なプロセッサープラットフォーム900の概略図である。例えば、一つ又は複数の凡用プロセッサ、プロセッサコア、マイクロコントローラなどによりプロセッサープラットフォーム900を実施することができる。
【0052】
図9の実施例のプロセッサープラットフォーム900は、汎用プログラム可能プロセッサ905を少なくとも一つ含んでいる。プロセッサ905は、プロセッサ905のメインメモリに(例えば、RAM915且つ又はROM920内に)あるコード化指令910且つ又は912を実行する。プロセッサ905は、プロセッサコア、プロセッサ且つ又は、マイクロコントローラなど、いかなるタイプの処理装置でありうる。プロセッサ905は、ここに記載される例示的な制御プラットフォーム110、コントローラ150〜152、且つ又は例示的なプロセッサ205を実施するために、その他数あるなかでも特に図5図6且つ又は図7A図7Dの例示的なプロセスを実行しうる。プロセッサ905は、バス925を介して(ROM920且つ又はRAM915を含む)メインメモリと通信状態にある。RAM915は、DRAM、SDRAM且つ又はその他いかなるタイプのRAM装置により実施されうる。また、ROMは、フラッシュメモリ且つ又はその他所望のタイプの記憶装置により実施されうる。メモリ915および920へのアクセスはメモリーコントローラ(図示せず)により制御しえる。RAM915は、例えば図2の例示的なメインメモリ210を格納且つ又実施するために使用しうる。
【0053】
プロセッサープラットフォーム900はインターフェース回路930も含んでいる。インターフェース回路930は、USBインターフェース、ブルートゥース・インターフェース、外部メモリインターフェース、シリアルポート、汎用入・出力など、いかなるタイプのインターフェース規格により実施しうる。一つ又は複数の入力装置935および一つ又は複数の出力装置940が、インターフェース回路930に接続される。入力装置935且つ又は出力装置940は、例えば、図2の例示的なバックプレーン・インターフェース245を実施するために使用しうる。
【0054】
特定の例示的な方法、機器および製造品をここに記載したが、本特許の適用範囲はそれに限定されるものではない。また、かかる実施例は、本発明の説明に役立つ非限定的な具体例として記載されているに過ぎず、本特許はむしろ、字義的にもしくは均等論に基づいて添付の特許請求の範囲内に公正に含まれる方法、機器および製造品の全てを網羅するものである。
図1
図2
図3
図4
図5
図6
図7A
図7B
図7C
図7D
図8A
図8B
図9