(57)【要約】      （修正有）【課題】プロセスプラントのモジュール式制御システムに関連付けられた構成ファイルのバージョンを適切に評価及び管理するための技法を提供する。【解決手段】ある特定の態様、システム、及び方法によれば、デバイスは、構成ファイルのコンピューティングデバイスバージョン及び制御バージョンならびに最終バックアップ事例を含む構成ファイルの複数のバージョンに関連付けられたデータにアクセスし得る。本システム及び方法は、バージョンを比較し、バージョンのうちのどれが最新であるかを含むバージョン間の任意の不一致を判定し得る。本システム及び方法は、モジュール式制御システムが適切に構成され得るように、バージョンのうちのどれがコントローラに対して更新、解決、または提供される必要があり得るかをユーザが選択することができるように、比較に関連付けられた情報を提示し得る。【選択図】図５
2019053731.tif 000002
【特許請求の範囲】
【請求項１】
プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを評価するコンピューティングデバイスにおけるコンピュータ実行方法であって、前記コンピューティングデバイスは、前記構成ファイルのコンピューティングデバイスバージョンを記憶し、前記方法は、
前記コンピューティングデバイスによって、前記モジュール式制御システムに関連付けられたコントローラとインターフェースすることであって、前記コントローラは、前記構成ファイルのコントローラバージョンを記憶する、前記コントローラ内に組み込まれたメモリを有する、インターフェースすることと、
前記コンピューティングデバイスによって、前記コントローラの前記構成ファイルの最新バックアップを表す前記構成ファイルの最終バックアップ事例を特定することと、
前記コンピューティングデバイスのプロセッサによって、前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較することと、
前記コンピューティングデバイスのユーザインターフェースを介して、（ｉ）前記構成ファイルの前記コンピューティングデバイスバージョン、前記構成ファイルの前記最終バックアップ事例、及び前記構成ファイルの前記コントローラバージョンの各々の表示、ならびに（ｉｉ）前記比較の結果を提示することと、を含む、コンピュータ実行方法。
【請求項２】
前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較することが、
前記構成ファイルの前記コンピューティングデバイスバージョンと前記構成ファイルの前記コントローラバージョンとにそれぞれ関連付けられた一連のタイムスタンプを比較することを含む、請求項１に記載のコンピュータ実行方法。
【請求項３】
前記構成ファイルの前記コンピューティングデバイスバージョンが、ハッシュ関数によって生成されたデバイスハッシュ出力に関連付けられており、前記構成ファイルの前記コントローラバージョンが、前記ハッシュ関数によって生成されたコントローラハッシュ出力に関連付けられており、前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較することが、
前記デバイスハッシュ出力を前記コントローラハッシュ出力と比較することを含む、請求項１に記載のコンピュータ実行方法。
【請求項４】
（ｉ）前記構成ファイルの前記コンピューティングデバイスバージョンが、前記構成ファイルの前記最終バックアップ事例と一致し、（ｉｉ）前記構成ファイルの前記コントローラバージョンが、前記構成ファイルの前記コンピューティングデバイスバージョンよりも新しい、請求項１に記載のコンピュータ実行方法。
【請求項５】
前記コントローラの前記メモリから、前記構成ファイルの前記コントローラバージョンを検索することと、
前記構成ファイルの前記コントローラバージョンに従って前記構成ファイルの前記コンピューティングデバイスバージョンを更新することと、をさらに含む、請求項４に記載のコンピュータ実行方法。
【請求項６】
前記構成ファイルの前記コンピューティングデバイスバージョンが、（ｉ）前記構成ファイルの前記最終バックアップ事例が行われたときのバージョンよりも新しく、かつ（ｉｉ）前記構成ファイルの前記コントローラバージョンよりも新しい、請求項１に記載のコンピュータ実行方法。
【請求項７】
前記コントローラの前記メモリに、前記構成ファイルの前記コントローラバージョンを前記構成ファイルの前記コンピューティングデバイスバージョンに更新させることをさらに含む、請求項６に記載のコンピュータ実行方法。
【請求項８】
前記構成ファイルの前記コンピューティングデバイスバージョンが、前記構成ファイルの前記最終バックアップ事例が行われたときのバージョンよりも新しく、前記構成ファイルの前記コントローラバージョンが、前記構成ファイルの前記コンピューティングデバイスバージョンよりも新しい、請求項１に記載のコンピュータ実行方法。
【請求項９】
前記コントローラの前記メモリから、前記構成ファイルの前記コントローラバージョンを検索することと、
前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンで解決することと、をさらに含む、請求項８に記載のコンピュータ実行方法。
【請求項１０】
前記ユーザインターフェースを介して、前記比較の前記結果に関連付けられたユーザ選択を受信すること、をさらに含む、請求項１に記載のコンピュータ実行方法。
【請求項１１】
プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを評価するためのコンピューティングデバイスであって、
通信ポートと、
ユーザインターフェースと、
デバイスメモリであって、（ｉ）一連のコンピュータ実行可能命令、（ｉｉ）前記構成ファイルのコンピューティングデバイスバージョン、及び（ｉｉｉ）前記コンピューティングデバイスによって、前記モジュール式制御システムに関連付けられたコントローラの前記構成ファイルの最新バックアップを表す前記構成ファイルの最終バックアップ事例のレコードを記憶する、デバイスメモリと、
前記通信ポート、前記ユーザインターフェース、及び前記メモリとインターフェースするプロセッサと、を備え、前記プロセッサは、前記一連のコンピュータ実行可能命令を実行して、前記プロセッサが、
前記通信ポートを介して、前記モジュール式制御システムに関連付けられた前記コントローラとインターフェースすることであって、前記コントローラは、前記構成ファイルのコントローラバージョンを記憶する、前記コントローラ内に組み込まれたメモリを有する、インターフェースすることと、
前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較することと、
前記ユーザインターフェースに、（ｉ）前記構成ファイルの前記コンピューティングデバイスバージョン、前記構成ファイルの前記最終バックアップ事例、及び前記構成ファイルの前記コントローラバージョンの各々の表示、ならびに（ｉｉ）前記比較の結果を提示させることと、を引き起こすように構成されている、コンピューティングデバイス。
【請求項１２】
前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較するために、前記プロセッサが、
前記構成ファイルの前記コンピューティングデバイスバージョンと前記構成ファイルの前記コントローラバージョンとにそれぞれ関連付けられた一連のタイムスタンプを比較するように構成されている、請求項１１に記載のコンピューティングデバイス。
【請求項１３】
前記構成ファイルの前記コンピューティングデバイスバージョンが、ハッシュ関数によって生成されたデバイスハッシュ出力に関連付けられており、前記構成ファイルの前記コントローラバージョンが、前記ハッシュ関数によって生成されたコントローラハッシュ出
力に関連付けられており、前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較するために、前記プロセッサが、
前記デバイスハッシュ出力を前記コントローラハッシュ出力と比較するように構成されている、請求項１１に記載のコンピューティングデバイス。
【請求項１４】
（ｉ）前記構成ファイルの前記コンピューティングデバイスバージョンが、前記構成ファイルの前記最終バックアップ事例と一致し、（ｉｉ）前記構成ファイルの前記コントローラバージョンが、前記構成ファイルの前記コンピューティングデバイスバージョンよりも新しい、請求項１１に記載のコンピューティングデバイス。
【請求項１５】
前記プロセッサが、前記一連のコンピュータ実行可能命令を実行して、さらに前記プロセッサに、
前記コントローラの前記メモリから、前記構成ファイルの前記コントローラバージョンを検索させ、
前記デバイスメモリ内で、前記構成ファイルの前記コントローラバージョンに従って前記構成ファイルの前記コンピューティングデバイスバージョンを更新させるように構成されている、請求項１４に記載のコンピューティングデバイス。
【請求項１６】
前記構成ファイルの前記コンピューティングデバイスバージョンが、（ｉ）前記構成ファイルの前記最終バックアップ事例が行われたときのバージョンよりも新しく、かつ（ｉｉ）前記構成ファイルの前記コントローラバージョンよりも新しい、請求項１１に記載のコンピューティングデバイス。
【請求項１７】
前記プロセッサが、前記一連のコンピュータ実行可能命令を実行して、さらに前記プロセッサに、
前記コントローラの前記メモリが、前記構成ファイルの前記コントローラバージョンを前記構成ファイルの前記コンピューティングデバイスバージョンに更新することを引き起こすように構成されている、請求項１６に記載のコンピューティングデバイス。
【請求項１８】
前記構成ファイルの前記コンピューティングデバイスバージョンが、前記構成ファイルの前記最終バックアップ事例が行われたときのバージョンよりも新しく、前記構成ファイルの前記コントローラバージョンが、前記構成ファイルの前記コンピューティングデバイスバージョンよりも新しい、請求項１１に記載のコンピューティングデバイス。
【請求項１９】
前記プロセッサが、前記一連のコンピュータ実行可能命令を実行して、さらに前記プロセッサに、
前記コントローラの前記メモリから、前記構成ファイルの前記コントローラバージョンを検索させ、
前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンで解決させるように構成されている、請求項１８に記載のコンピューティングデバイス。
【請求項２０】
前記プロセッサが、前記一連のコンピュータ実行可能命令を実行して、さらに前記プロセッサに、
前記ユーザインターフェースを介して、前記比較の前記結果に関連付けられたユーザ選択を受信させるように構成されている、請求項１１に記載のコンピューティングデバイス。
【請求項２１】
プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバー
ジョンを管理するコンピューティングデバイスにおけるコンピュータ実行方法であって、前記コンピューティングデバイスは、前記構成ファイルのコンピューティングデバイスバージョンを記憶し、前記方法は、
前記コンピューティングデバイスによって、前記モジュール式制御システムに関連付けられたコントローラとインターフェースすることであって、前記コントローラは、前記構成ファイルのコントローラバージョンを記憶する、前記コントローラ内に組み込まれたメモリを有する、インターフェースすることと、
前記コンピューティングデバイスのプロセッサによって、前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較することと、
前記コンピューティングデバイスのユーザインターフェースを介して、（ｉ）前記構成ファイルの前記コンピューティングデバイスバージョン、前記構成ファイルの前記コントローラバージョン、及び前記コンピューティングデバイスによって、前記コントローラの前記構成ファイルの最新バックアップを表す前記構成ファイルの最終バックアップ事例の各々の表示、ならびに（ｉｉ）前記比較の結果を提示することと、
前記ユーザインターフェースを介して、前記比較の前記結果に関連付けられたユーザ選択を受信することと、
前記ユーザ選択に基づいて、前記構成ファイルの前記コンピューティングデバイスバージョン及び前記構成ファイルの前記コントローラバージョンのうちの少なくとも１つの更新を促進することと、を含む、コンピュータ実行方法。
【請求項２２】
前記比較の前記結果を提示することが、
前記構成ファイルの前記コンピューティングデバイスバージョン、前記コントローラバージョン、及び前記最終バックアップ事例の時間のうちのどれが最新であるかを視覚的に表示することを含む、請求項２１に記載のコンピュータ実行方法。
【請求項２３】
前記ユーザ選択が、前記構成ファイルの前記コントローラバージョンに関連付けられており、前記更新を促進することが、
前記コントローラの前記メモリから、前記構成ファイルの前記コントローラバージョンを検索することと、
前記構成ファイルの前記コントローラバージョンに従って前記構成ファイルの前記コンピューティングデバイスバージョンを更新することと、を含む、請求項２１に記載のコンピュータ実行方法。
【請求項２４】
前記ユーザ選択が、前記構成ファイルの前記コンピューティングデバイスバージョンに関連付けられており、前記更新を促進することが、
前記コントローラの前記メモリに、前記構成ファイルの前記コントローラバージョンを前記構成ファイルの前記コンピューティングデバイスバージョンに更新させることを含む、請求項２１に記載のコンピュータ実行方法。
【請求項２５】
プロセスプラント内のモジュール式制御システムであって、
一連のプロセスを制御するように通信可能に接続された一連のプロセス制御デバイスと、
構成ファイルのコントローラバージョンを記憶するコントローラであって、前記構成ファイルの前記コントローラバージョンに従って前記一連のプロセス制御デバイスを動作させるように構成されている、コントローラと、
前記コントローラとインターフェースするように構成されたコンピューティングデバイスと、を備え、前記コンピューティングデバイスは、（ｉ）前記構成ファイルのコンピューティングデバイスバージョン、及び（ｉｉ）前記コンピューティングデバイスによって、前記コントローラの前記構成ファイルの最新バックアップを表す前記構成ファイルの最
終バックアップ事例のレコードを記憶し、前記コンピューティングデバイスはさらに、
前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較し、
ユーザインターフェースを介して、（ｉ）前記構成ファイルの前記コンピューティングデバイスバージョン、前記構成ファイルの前記最終バックアップ事例、及び前記構成ファイルの前記コントローラバージョンの各々の表示、ならびに（ｉｉ）前記比較の結果を提示するように構成されている、モジュール式制御システム。
【請求項２６】
前記比較の前記結果を提示するために、前記コンピューティングデバイスが、ユーザインターフェース内に、前記構成ファイルの前記コンピューティングデバイスバージョン、前記コントローラバージョン、及び前記最終バックアップ事例の時間のうちのどれが最新であるかを視覚的に表示するように構成されている、請求項２５に記載のモジュール式制御システム。
【請求項２７】
前記コンピューティングデバイスがさらに、
前記ユーザインターフェースを介して、前記比較の前記結果に関連付けられたユーザ選択を受信し、
前記ユーザ選択に基づいて、前記構成ファイルの前記コンピューティングデバイスバージョン及び前記構成ファイルの前記コントローラバージョンのうちの少なくとも１つの更新を促進するように構成されている、請求項２５に記載のモジュール式制御システム。
【請求項２８】
前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較するために、前記コンピューティングデバイスが、
前記構成ファイルの前記コンピューティングデバイスバージョンと前記構成ファイルの前記コントローラバージョンとにそれぞれ関連付けられた一連のタイムスタンプを比較するように構成されている、請求項２５に記載のモジュール式制御システム。
【請求項２９】
前記構成ファイルの前記コンピューティングデバイスバージョンが、ハッシュ関数によって生成されたデバイスハッシュ出力に関連付けられており、前記構成ファイルの前記コントローラバージョンが、前記ハッシュ関数によって生成されたコントローラハッシュ出力に関連付けられており、前記構成ファイルの前記コンピューティングデバイスバージョンを前記構成ファイルの前記コントローラバージョンと比較するために、前記コンピューティングデバイスが、
前記デバイスハッシュ出力を前記コントローラハッシュ出力と比較するように構成されている、請求項２５に記載のモジュール式制御システム。
【発明の詳細な説明】
【技術の分野】
【０００１】
本開示は、概して、プロセスプラントでスキッドマウント型システム等のモジュール式制御システムを使用することに関し、特に、モジュール式制御システムに関連付けられた構成ファイルを効果的かつ効率的に評価及び管理することに関する。
【背景技術】
【０００２】
今日、様々な業界で使用されているモジュール式制御システムは、水を沸騰させること、液体を濾過すること、または熱交換を制御すること等、特定の機能を提供し得る完全な制御システムである。モジュール式制御システムは、典型的には、システムがフレーム内に囲繞されており、容易に輸送されるので、いわゆるスキッドマウント型システムまたは単に「スキッド」として実装される。スキッドは、分解及び組み立て直されない一体型ユニットとして工場に配達され、典型的には製造業者によって事前構成され得る。例えば、スキッドは、概して、プログラマブルロジックコントローラ（ＰＬＣ）、バルブまたはボイラー等の特殊機器、及び圧力センサまたは温度センサ等のセンサを含む。
【０００３】
一方、分散型制御システム（ＤＣＳ）もまた、化学、石油化学、精製、製薬、飲食品、電力、セメント、上下水道、油及びガス、パルプ及び紙、ならびに鋼鉄を含む様々なプロセス産業において使用され、単一の位置で、または遠隔地で動作するバッチ、フェドバッチ、及び連続プロセスを制御するために使用される。プロセスプラントは、典型的には、アナログ、デジタル、もしくはアナログ／デジタル一体型バスを介して、または無線通信リンクもしくはネットワークを介して、１つ以上のフィールドデバイスと通信可能に連結した１つ以上のプロセスコントローラを含む。集合的には、様々なデバイスは、監視、制御、及びデータ収集機能を行って、プロセス、安全停止システム、火災及びガス検出システム、機械健全性監視システム、保守システム、意思決定支援、ならびに他のシステムを制御する。
【０００４】
例えば、バルブ、バルブポジショナ、スイッチ、及び送信器（例えば、温度、圧力、レベル、及び流速センサ）であり得るフィールドデバイスは、プロセス環境内に配置され、概して、バルブの開放または閉鎖、プロセスパラメータの測定等の物理的機能またはプロセス制御機能を行って、プロセスプラントまたはシステム内で実行中の１つ以上のプロセスを制御する。周知の−Ｆｉｅｌｄｂｕｓプロトコルに準拠するフィールドデバイス等のスマートフィールドデバイスは、制御計算、アラーム機能、及びコントローラ内で一般に実装される他の制御機能も行い得る。プロセスコントローラも典型的にはプラント環境内に配置され、このプロセスコントローラは、フィールドデバイスによって行われるプロセス測定を示す信号及び／またはフィールドデバイスに関する他の情報を受信し、例えば、プロセス制御判断を行い、受信した情報に基づき制御信号を生成し、ＨＡＲＴ（登録商標）、ＷｉｒｅｌｅｓｓＨＡＲＴ（登録商標）、及びＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓフィールドデバイス等のフィールドデバイスで行われる制御モジュールまたはブロックと連携する、異なる制御モジュールを実行するコントローラアプリケーションを実行する。コントローラの制御モジュールは、通信線またはリンクを通じて、制御信号をフィールドデバイスに送り、それによって、プロセスプラントまたはシステムの少なくとも一部のオペレーションを制御する。
【０００５】
フィールドデバイス及びコントローラからの情報は、制御室もしくはより厳しいプラント環境から離れた他の場所に典型的に配置される、オペレータワークステーション、パーソナルコンピュータもしくはコンピューティングデバイス、データヒストリアン、レポート
ジェネレータ、集中データベース、または他の集中管理コンピューティングデバイス等の１つ以上の他のハードウェアデバイスに対して、通常、データハイウェイを通じて利用可能にされる。これらのハードウェアデバイスの各々は、典型的には、プロセスプラントにわたって、またはプロセスプラントの一部分にわたって集中化される。これらのハードウェアデバイスは、例えば、オペレータが、プロセス制御ルーチンの設定の変更、コントローラもしくはフィールドデバイス内の制御モジュールのオペレーションの修正、プロセスの現在の状態の閲覧、フィールドデバイス及びコントローラによって生成されたアラームの閲覧、担当者の訓練もしくはプロセス制御ソフトウェアの試験を目的としたプロセスの動作のシミュレーション、構成データベースの保守及び更新等の、プロセスの制御及び／またはプロセスプラントの動作に関する機能を行うことを可能にし得るアプリケーションを実行する。ハードウェアデバイスによりデータハイウェイを利用して、コントローラ及びフィールドデバイスは、有線通信パス、無線通信パス、または有線もしくは無線通信パスの組み合わせを含むことができる。
【０００６】
例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されている、ＤｅｌｔａＶ（登録商標）制御システムは、プロセスプラント内の多様な場所に配置された異なる装置内に記憶され、それらの異なる装置によって実行される複数のアプリケーションを含む。１つ以上のワークステーションまたはコンピューティングデバイス内に備わる構成アプリケーションは、ユーザによる、プロセス制御モジュールの作成または変更、及びデータハイウェイを経由した、これらのプロセス制御モジュールの、専用分散型コントローラへのダウンロードを可能にする。典型的には、これらの制御モジュールは、通信可能に相互接続された機能ブロックで構成され、これらの機能ブロックは、それに対する入力に基づき制御スキーム内で機能を行い、出力を制御スキーム内の他の機能ブロックに提供するオブジェクト指向プログラミングプロトコル内のオブジェクトである。また、構成アプリケーションは、データをオペレータに対して表示するため、かつプロセス制御ルーチン内の設定点等の設定のオペレータによる変更を可能にするために閲覧アプリケーションが使用するオペレータインターフェースを、構成技師が作成または変更することを可能にし得る。各専用コントローラ、及び一部の場合においては、１つ以上のフィールド装置は、実際のプロセス制御機能を実装するために、それらに割り当てられてダウンロードされた制御モジュールを実行するそれぞれのコントローラアプリケーションを記憶及び実行する。閲覧アプリケーションは、１つ以上のオペレータワークステーション（またはオペレータワークステーション及びデータハイウェイと通信可能に接続された１つ以上のリモートコンピューティングデバイス）上で実行され得、この閲覧アプリケーションは、コントローラアプリケーションからデータハイウェイを経由してデータを受信し、ユーザインターフェースを使用してこのデータをプロセス制御システム設計者、オペレータ、またはユーザに表示して、オペレータのビュー、エンジニアのビュー、技術者のビュー等のいくつかの異なるビューのうちのいずれかを提供し得る。データヒストリアンアプリケーションが、典型的には、データハイウェイにわたって提供されたデータの一部または全てを収集及び記憶するデータヒストリアンデバイスに記憶され、それによって実行される一方で、構成データベースアプリケーションは、現在のプロセス制御ルーチン構成及びそれと関連付けられたデータを記憶するために、データハイウェイに取付られたさらに離れたコンピュータで実行され得る。あるいは、構成データベースは、構成アプリケーションと同じワークステーションに配置されてもよい。
【０００７】
プロセス制御及び産業自動化システムで動作するデバイスは、有線または無線の様式で相互接続され得、ＦＯＵＮＤＡＴＩＯＮ（登録商標）フィールドバス、ＨＡＲＴ（登録商標）、またはＰｒｏｆｉｂｕｓ等の産業通信プロトコルを使用して通信し得る。さらに、ＰＬＣを相互接続するためのＭｏｄｂｕｓ等のプロトコルが開発されている。またさらに、標準的な産業自動化プロトコルに加えて、プロセス制御システム内のノードを相互接続するための独自のプロトコルが存在する。ＤｅｌｔａＶは、そのようなプロトコルの一例
である。一般に、これらのプロトコルは、測定値、アラート、及びステータスレポートを伝達するためのフォーマット、プロセス変数または自動化パラメータに影響を及ぼすコマンド、デバイスを活動化または非活動化するためのコマンド等を指定する。典型的な産業通信プロトコルもまた、プロトコルの構文に従って、事前定義コマンドまたは特定のデバイスの製造業者によって定義されたコマンドを介して、デバイス構成を支援する。
【０００８】
モジュール式制御システムは、モジュール式制御システムに対してローカルに（例えば、コントローラのメモリ内に）記憶され得る構成ファイルに従って動作するようにプログラムされ得る。複数のコンピューティングデバイスまたはホストがモジュール式制御システムとインターフェースするように構成されてもよく、各コンピューティングデバイスは、ある特定の状況では、コンピューティングデバイスに記憶された構成ファイルのバージョン等で構成ファイルを更新する（すなわち、モジュール式制御システムを構成する）ことができる。例えば、プロセスプラントに関連付けられた技術者及びモジュール式制御システムを製造したＯＥＭに関連付けられた技術者は、モジュール式制御システムを定期的に構成し得る。
【０００９】
しかしながら、構成ファイルのバージョンはモジュール式制御システムによって使用される最新バージョンを反映し得ないので、複数のコンピューティングデバイスがモジュール式制御システムを構成するときに問題が生じる。例えば、モジュール式制御システムを構成しようとするコンピューティングデバイスは、モジュール式制御システムを構成するために最近使用された構成ファイルのバージョンを有し得ない。したがって、ある特定の構成の更新及び修正は、ある特定の構成事例に含まれ得ないかまたは当該構成事例から誤って削除され得る。
【発明の概要】
【００１０】
本開示のモジュール式コントローラは、スキッドマウント型システム等のモジュール式制御システムにおいて、モジュール式制御システムの制御ロジックをＰＬＣと同様に他のコントローラとは独立して実行するように動作する。モジュール式コントローラは、モジュール式制御システムの構成を反映する構成ファイルのバージョンをローカルに記憶し得る。コンピューティングデバイスまたはホストは、コンピューティングデバイスによって記憶またはアクセスされる構成ファイルのバージョン等、構成ファイルの更新を促進するために、モジュール式コントローラとインターフェースするように構成されている。コンピューティングデバイスは、構成ファイルのバージョンに関連付けられた情報を提示するためのユーザインターフェースを伴って構成され、適切なバージョンを使用してモジュール式コントローラを構成することを保証するように、ユーザがある特定の機能を促進することを可能にさせる。
【００１１】
一実施形態では、プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを評価するコンピューティングデバイスにおけるコンピュータ実行方法が提供される。コンピューティングデバイスは、構成ファイルのコンピューティングデバイスバージョンを記憶し得、本方法は、コンピューティングデバイスによって、モジュール式制御システムに関連付けられたコントローラとインターフェースすることであって、コントローラは、構成ファイルのコントローラバージョンを記憶する、コントローラ内に組み込まれたメモリを有する、インターフェースすることと、コンピューティングデバイスによって、コントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例を特定することと、コンピューティングデバイスのプロセッサによって、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較することと、コンピューティングデバイスのユーザインターフェースを介して、（ｉ）構成ファイルのコンピューティングデバイスバージョン、構成ファイルの最終バックアップ事例、及び構成ファイルのコントローラバージョンの各々の表示
、ならびに（ｉｉ）比較の結果を提示することと、を含み得る。
【００１２】
別の実施形態では、プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを評価するためのコンピューティングデバイスが提供される。コンピューティングデバイスは、通信ポートと、ユーザインターフェースと、デバイスメモリであって、（ｉ）一連のコンピュータ実行可能命令、（ｉｉ）構成ファイルのコンピューティングデバイスバージョン、及び（ｉｉｉ）コンピューティングデバイスによって、モジュール式制御システムに関連付けられたコントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例のレコードを記憶する、デバイスメモリと、プロセッサと、を含むことができ、プロセッサは、通信ポート、ユーザインターフェース、及びメモリとインターフェースする。プロセッサは、一連のコンピュータ実行可能命令を実行して、プロセッサが、通信ポートを介して、モジュール式制御システムに関連付けられたコントローラとインターフェースすることであって、コントローラは、構成ファイルのコントローラバージョンを記憶する、コントローラ内に組み込まれたメモリを有する、インターフェースすることと、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較することと、ユーザインターフェースに、（ｉ）構成ファイルのコンピューティングデバイスバージョン、構成ファイルの最終バックアップ事例、及び構成ファイルのコントローラバージョンの各々の表示、ならびに（ｉｉ）比較の結果を提示させることと、を引き起こすように構成され得る。
【００１３】
さらなる実施形態では、プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを管理するコンピューティングデバイスにおけるコンピュータ実行方法が提供される。コンピューティングデバイスは、構成ファイルのコンピューティングデバイスバージョンを記憶し得、本方法は、コンピューティングデバイスによって、モジュール式制御システムに関連付けられたコントローラとインターフェースすることであって、コントローラは、構成ファイルのコントローラバージョンを記憶する、コントローラ内に組み込まれたメモリを有する、インターフェースすることと、コンピューティングデバイスのプロセッサによって、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較することと、コンピューティングデバイスのユーザインターフェースを介して、（ｉ）構成ファイルのコンピューティングデバイスバージョン、構成ファイルのコントローラバージョン、及びコンピューティングデバイスによって、コントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例の各々の表示、ならびに（ｉｉ）比較の結果を提示することと、ユーザインターフェースを介して、比較の結果に関連付けられたユーザ選択を受信することと、ユーザ選択に基づいて、構成ファイルのコンピューティングデバイスバージョン及び構成ファイルのコントローラバージョンのうちの少なくとも１つの更新を促進することと、を含み得る。
【００１４】
追加の実施形態では、プロセスプラント内のモジュール式制御システムが提供される。モジュール式制御システムは、動作して一連のプロセスを制御するように通信可能に接続された一連のプロセス制御デバイスと、構成ファイルのコントローラバージョンを記憶するコントローラであって、構成ファイルのコントローラバージョンに従って一連のプロセス制御デバイスを操作するように構成された、コントローラと、コントローラとインターフェースするように構成されたコンピューティングデバイスと、を含むことができ、コンピューティングデバイスは、（ｉ）構成ファイルのコンピューティングデバイスバージョン、及び（ｉｉ）コンピューティングデバイスによって、コントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例のレコードを記憶する。コンピューティングデバイスはさらに、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較し、ユーザインターフェースを介して、（ｉ）構成ファイルのコンピューティングデバイスバージョン、構成ファイルの最終
バックアップ事例、及び構成ファイルのコントローラバージョンの各々の表示、ならびに（ｉｉ）比較の結果を提示するように構成され得る。
【００１５】
これらの技法のさらに別の実施形態は、１つ以上のプロセッサと、本明細書に記載される機能を実装する命令を記憶する非一時的コンピュータ可読媒体とを含むコンピューティングデバイスである。
【図面の簡単な説明】
【００１６】
【図１】ある特定の実施形態による、例示的なモジュール式制御システムが中に組み込まれ得る分散型プロセス制御システムのブロック図である。
【図２】ある特定の実施形態による、例示的なコントローラモジュールの概略図である。
【図３】ある特定の実施形態による、例示的なコンピューティングデバイス及び例示的なコントローラモジュールの概略図である。
【図４】ある特定の実施形態による、構成ファイルのバージョンの評価及び管理に関連付けられた信号図である。
【図５】ある特定の実施形態による、プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを評価する例示的な方法のフロー図である。
【図６】ある特定の実施形態による、コントローラ構成に関連付けられたある特定の情報を示す例示的なインターフェースである。
【図７】ある特定の実施形態による、コントローラ構成に関連付けられたある特定の情報を示す例示的なインターフェースである。
【発明を実施するための形態】
【００１７】
概して、本開示のモジュール式制御システムは、スタンドアロン型ＰＬＣ、スキッドマウント型システムのコントローラとして、またはモジュール式プラント構造におけるモジュールとして動作し得るコントローラを含む。以下で「モジュール式コントローラ」または場合によっては単に「コントローラ」と称されるコントローラは、構成、セキュリティ機構、及びモジュール式コントローラの通信が、内部にモジュール式コントローラが組み込まれているＤＣＳと完全に互換性があるように、分散型制御を支援するＤｅｌｔａＶ等のプラットフォーム上にネイティブに構築され得、ＤＣＳは、同じプラットフォーム上または異なるおそらく独自のプラットフォーム上に構築され得る。本明細書で論じられる実施形態によれば、モジュール式制御システムは、ＤＣＳとは別個かつ独立して追加的または代替的に動作し得る。
【００１８】
本明細書で論じられるシステム及び方法によれば、モジュール式制御システムのコントローラは、コントローラに記憶されるかまたはコントローラによってアクセスされる構成ファイルに従って一連のプロセスを動作させるように構成された一連のプロセス制御デバイスに通信可能に接続され得る。時には、ユーザ（例えば、管理者、技術者、エンジニア等）が、エラー（複数可）もしくはバグ（複数可）を修正するため、設定（複数可）を更新するため、新しいプロセス（複数可）もしくは更新されたプロセス（複数可）を実装するため、または構成ファイルのどのバージョンがコントローラに記憶されているかを確認することを含むその他の理由等のために、構成ファイルを更新することを望む場合がある。更新または評価することを促進するために、ユーザは、コントローラに通信可能に接続し得るコンピューティングデバイス（例えば、ラップトップコンピュータまたは他のデバイス）を採用し得、コンピューティングデバイスは、それ自体の構成ファイルのバージョン、ならびにいつコンピューティングデバイスがコントローラに記憶された構成ファイルを最後に更新したかを表示するデータを記憶する。
【００１９】
コンピューティングデバイスは、コントローラとインターフェースして、コントローラ
に記憶された構成ファイルのバージョンに関連付けられたデータを取得し得、複数のバージョン（または複数のバージョンに関連付けられたデータ）を比較して、仮にあったとしても、コントローラに記憶された構成ファイル及び／またはコンピューティングデバイスに記憶された構成ファイルをいかに更新するかを判定し得る。特定のシナリオでは、構成ファイルのコントローラバージョンが、コンピューティングデバイスに関連付けられたバージョンよりも新しい場合がある。別のシナリオでは、コンピューティングデバイスのバージョンが、コントローラに記憶されたバージョンよりも新しい場合がある。追加のシナリオをここで論じる。
【００２０】
コンピューティングデバイスは、ユーザインターフェースを介して、構成ファイルの様々なバージョンに関連付けられた情報、ならびにバージョン間の任意の差異（例えば、どのバージョン（複数可）が最新であるか）を提示し得る。ユーザは、提示された情報を検討して、コントローラに記憶されたバージョン及び／またはコンピューティングデバイスに記憶されたバージョンを更新すること、またはデバイスバージョンとコントローラバージョンとの間の不一致を解決すること等、構成ファイルに関連付けられたある特定の機能を容易にし得る。
【００２１】
したがって、本システム及び方法は、多数の利益をもたらす。特に、本システム及び方法は、構成ファイルの異なるバージョン間の差異（複数可）を判定し、これらの差異をユーザによる検討のために効果的に提示する。したがって、ユーザは、バージョン間の差異（複数可）をどのように解決するかを選択し、解決に関連付けられた機能を促進することができる。結果として、ユーザと同様に、モジュール式制御システムに関連付けられた追加のユーザは、構成ファイルが最新であるという知識を伴って、コントローラに記憶された構成ファイルを効果的に検討及び更新し得る。さらなる利点が想定されることを理解されたい。
【００２２】
図１は、分散型制御システム２２を実装する例示的なプロセスプラント１０を例証する。典型的にそうであるように、分散型プロセス制御システム２２は、１つ以上のコントローラ４０を有し、その各々は、例えば、Ｆｉｅｌｄｂｕｓインターフェース、Ｐｒｏｆｉｂｕｓインターフェース、ＨＡＲＴインターフェース、標準的な４〜２０ｍａインターフェース等であり得る入力／出力（Ｉ／Ｏ）デバイスまたはカード４８を介して１つ以上のフィールドデバイスまたはスマートデバイス４４及び４６に接続されている。コントローラ４０はまた、例えば、Ｅｔｈｅｒｎｅｔリンクまたはローカルエリアネットワーク（ＬＡＮ）リンクに好適な別のリンクであり得るデータハイウェイ５４を介して１つ以上のホストワークステーションまたはオペレータワークステーション５０、５２に連結される。プロセスデータデータベース５８は、データハイウェイ５８に接続され得、パラメータ、ステータス、ならびにプラント１０内のコントローラ及びフィールドデバイスに関連付けられた他のデータを収集し、記憶するように動作する。プロセスプラント１０の動作中、プロセスデータデータベース５８は、コントローラ４０から、及び間接的にデータハイウェイ５４を介してフィールドデバイス４４〜４６からプロセスデータを受信し得る。
【００２３】
構成データベース６０は、コントローラ４０ならびにフィールドデバイス４４及び４６にダウンロードされ、それらの中に記憶されるときに、プラント１０内にプロセス制御システム２２の現在の構成を記憶する。構成データベース６０は、プロセス制御システム２２、デバイス４４及び４６の構成パラメータ、プロセス制御機能へのデバイス４４及び４６の割り当て、ならびにプロセスプラント１０に関連する他の構成データのうちの１つまたはいくつかの制御戦略を定義するプロセス制御機能を記憶する。構成データベース６０は追加的に、プロセスプラント１０の要素の様々なグラフィカル表現を提供するために、グラフィックオブジェクトを記憶し得る。記憶されたグラフィカルオブジェクトのうちのいくつかは、プロセス制御機能に対応する場合があり（例えば、特定のＰＩＤループから
開発されたプロセスグラフィック）、他のグラフィカルオブジェクトは、デバイス固有であり得る（例えば、圧力センサに対応するグラフィック）。
【００２４】
プロセスプラント１０はまた、クラッタを回避するために、図１には示されていないデータハイウェイ５４に連結された他のデータベースを含み得る。例えば、データヒストリアンは、イベント、アラーム、コメント、及びオペレータによって取られた動作の過程を記憶し得る。イベント、アラーム、及びコメントは、個々のデバイス（例えば、バルブ、送信器）、通信リンク（例えば、有線Ｆｉｅｌｄｂｕｓセグメント、ＷｉｒｅｌｅｓｓＨＡＲＴ通信リンク）、またはプロセス制御機能（例えば、所望の温度設定点を維持するためのＰＩ制御ループ）に関連し得る。さらに、知識レポジトリは、参照、オペレータログブックエントリ、ヘルプトピック、またはオペレータ及び保守技師がプロセスプラント１０の監督時に有用と見なし得るこれら及び他の文書へのリンクを記憶し得る。またさらに、ユーザデータベースは、オペレータ１２及び保守技師１６等のユーザに関する情報を記憶し得る。各ユーザについて、ユーザデータベースは、例えば、彼または彼女の組織内での役割、ユーザが関連付けられているプロセスプラント１０内の領域、作業チームの連携等を記憶し得る。
【００２５】
これらのデータベースの各々は、データを記憶するための任意の所望のタイプのメモリ及び任意の所望のまたは既知のソフトウェア、ハードウェア、もしくはファームウェアを有する、任意の所望のタイプのデータストレージまたは収集ユニットであり得る。当然ながら、データベースは、別個の物理的デバイス内に存在する必要はない。したがって、いくつかの実施形態では、これらのデータベースのいくつかは、共有されたデータプロセッサ上に実装される。概して、より多くのまたはより少ないデータベースを利用して、上記のデータベースによって集合的に記憶及び管理されたデータを記憶することが可能である。
【００２６】
コントローラ４０、Ｉ／Ｏカード４８、ならびにフィールドデバイス４４及び４６は、典型的には、場合により過酷なプラント環境の至る所に分散され、オペレータワークステーション５０及び５２、ならびにデータベース５８、６０等は、通常、制御室、または制御人員、保守人員、及び様々な他のプラント人員が容易にアクセスできる他の比較的過酷でない環境に位置する。しかしながら、一部の場合においては、携帯型デバイスを使用して、これらの機能を実装することができ、これらの携帯型デバイスは、典型的には、プラント内の様々な場所に持ち運ばれる。
【００２７】
既知のように、例として、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔによって販売されているＤｅｌｔａＶ（登録商標）コントローラであり得るコントローラ４０の各々は、任意の数の独立して実行される異なる制御モジュールまたはブロック７０を使用して、制御戦略を実装するコントローラアプリケーションを記憶し、実行する。制御モジュール７０の各々は、一般に機能ブロックと称されるもので構成され得、各機能ブロックは、全体的な制御ルーチンの一部またはサブルーチンであり、（リンクと呼ばれる通信を介して）他の機能ブロックと共に動作して、プロセスプラント１０内でプロセス制御ループを実装する。周知のように、オブジェクト指向プログラミングプロトコル内のオブジェクトであり得る機能ブロックは、典型的には、送信器、センサ、もしくは他のプロセスパラメータ測定デバイスに関連付けられるもの等の入力機能、ＰＩＤ、ファジー論理等の制御を行う制御ルーチンに関連付けられるもの等の制御機能、またはバルブ等の一部のデバイスの動作を制御して、プロセスプラント１０内で一部の物理的機能を行う出力機能のうちの１つを行う。もちろん、ハイブリッド及び他のタイプの複雑な機能ブロック、例えばモデル予測コントローラ（ＭＰＣ）、オプティマイザ等が存在する。Ｆｉｅｌｄｂｕｓプロトコル及びＤｅｌｔａＶシステムプロトコルが、オブジェクト指向プログラミングプロトコル内で設計及び実装された制御モジュール及び機能ブロックを使用する一方、制
御モジュールは、例えば、逐次機能ブロック、ラダーロジック等を含む任意の所望の制御プログラミングスキームを使用して設計され得、機能ブロックまたは任意の他の特定のプログラミング技法を使用して設計及び実装されることに限定されない。コントローラ４０の各々はまた、アプリケーションのＡＭＳ（登録商標）Ｓｕｉｔｅを支援し得、予測知能を使用して、機械設備、電気系統、プロセス機器、計器、フィールドデバイス及びスマートフィールドデバイス４４、４６、ならびにバルブを含むプロダクションアセットの可用性及び性能を改善させ得る。
【００２８】
図１に例証されるプラント１０において、コントローラ１２に接続されたフィールドデバイス４４及び４６は、標準４〜２０ｍａデバイスであり得るか、プロセッサ及びメモリを含む、ＨＡＲＴ、Ｐｒｏｆｉｂｕｓ、またはＦＯＵＮＤＡＴＩＯＮ（登録商標）Ｆｉｅｌｄｂｕｓフィールドデバイス等のスマートフィールドデバイスであり得るか、または任意の他の所望のタイプのデバイスであり得る。（図１において参照番号４６でラベル付けされている）Ｆｉｅｌｄｂｕｓフィールドデバイス等のこれらのデバイスのいくつかは、コントローラ４０に実装された制御戦略に関連付けられるモジュールまたは機能ブロック等のサブモジュールを記憶及び実行し得る。周知のように、図１においてＦｉｅｌｄｂｕｓフィールドデバイス４６の２つの異なるデバイス内に配設されているように例証される機能ブロック７２をコントローラ４０内の制御モジュール７０の実行と併せて実行して、プロセス制御を実装することができる。もちろん、フィールドデバイス４４及び４６は、センサ、バルブ、送信器、ポジショナ等の任意のタイプのデバイスであり得、Ｉ／Ｏデバイス４８は、任意の所望の通信またはコントローラプロトコル、例えばＨＡＲＴ、Ｆｉｅｌｄｂｕｓ、Ｐｒｏｆｉｂｕｓ等に準拠する任意のタイプのＩ／Ｏデバイスであり得る。
【００２９】
ワークステーション５０及び５２は、メモリ８０に記憶された命令を実行する１つ以上のプロセッサ８２を含み得る。命令は、オペレータ１２がプロセスプラント１０内、またはより大きなプラントでは一般的であるように、対応するオペレータが割り当てられているプロセスプラント１０の一セクション内の様々な動作を閲覧及び制御することを可能にさせるように、プロセスプラント１０の動作中に様々な表示を提供する閲覧アプリケーション８４を部分的に実装し得る。閲覧アプリケーション８４は、制御診断アプリケーション、調節アプリケーション、レポート生成アプリケーション、または制御機能を行う際にオペレータ１２を支援するために使用され得る任意の他の制御支援アプリケーション等の支援アプリケーションを含み得るかまたは当該支援アプリケーションと連携し得る。さらに、閲覧アプリケーション８４は、保守技術者が、例えば、様々なデバイス４０、４４、及び４６の動作状態または作業状態を閲覧するためにプラント１０の保守の必要性を監督することを可能にし得る。閲覧アプリケーションはまた、保守診断アプリケーション、較正アプリケーション、振動解析アプリケーション、レポート生成アプリケーション、またはプラント１０内で保守機能を行う際に保守技術者１４を支援するために使用され得る任意の他の保守支援アプリケーション等の支援アプリケーションを含み得る。
【００３０】
プロセスプラント１０は、モジュール式コントローラ１０２、構成データベース１０４、及びフィールドデバイス１１０、１１２、１１４を含むことができる特殊機器を含み得る例示的なモジュール式制御システム１００をさらに含み得る。モジュール式制御システム１００は、デバイス１０２、１０４、１１０、１１２、１１４が物理的フレーム１２０内に存在するスキッドマウント型システムであり得る。モジュール式制御システム１００は、スタンドアローンモードで動作し、プラント内で、例えば制御された様式で液体を圧送し、水を加熱し、タンク内で一定の温度を維持し、濾過機能を行う等の比較的複雑な機能を行うように構成され得る。この目的のために、モジュール式制御システム１００は、バルブ、タンク、センサ等を含み得る。加えて、図１は、モジュール式制御システム１００が制御システム２２に接続され、当該制御システムとインターフェース接続されているように示しているが、モジュール式制御システム１００は、制御システム２２とは別個か
つ独立していてもよいことを理解されたい。
【００３１】
モジュール式コントローラ１０２は、分散型制御システム２２のプラットフォーム上にネイティブに構築され得る。換言すれば、モジュール式コントローラ１０２は、分散型制御システム２２で使用するために特別に開発されているが、モジュール式制御システム１００が制御システム２２とは別個である場合等、自律的に動作することもできる。この目的のために、モジュール式コントローラ１０２は、分散型制御システム２２のノードと相互作用するための（ファームウェア及び／もしくはソフトウェアの移植／適応層または対応するアプリケーションプログラミングインターフェース（ＡＰＩ）機能等の）仲介を必要としないファームウェア及び／またはソフトウェア機能を含み得る。ある特定のソフトウェアアーキテクチャ内のモジュール式コントローラ１０２は、分散型制御システム２２の他のコントローラと１つ以上のソフトウェア層を共有する。いずれの場合も、分散型制御システム２２のプラットフォームに対してネイティブであるため、モジュール式コントローラ１０２の構成、セキュリティ機構、及び通信は、分散型制御システム２２と完全に互換性がある。
【００３２】
構成データベース１０４は、例えば、ハードディスク、フラッシュドライブ、またはＳＤカード等の非一時的コンピュータ可読メモリに記憶され得る。コンピュータ可読メモリ及びモジュール式コントローラ１０２は、実装例に応じて、単一のチップセットの一部として（すなわち、コンピュータ可読メモリをコントローラ１０２の一部として含むことができる）、または別個に提供され得る。
【００３３】
製造業者は、モジュール式制御システム１００を組み立て、定点値ならびにＰＩＤループのゲイン値、フィールドデバイス１１０の名前及びタグ、ライセンス、ロケール等の他のパラメータを用いてモジュール式制御システム１００のパラメータを構成し得る。製造業者はまた、パラメータセキュリティを構成し得る。例えば、製造業者は、ゲイン値を制限された制御の一部とし、この変数のロックを解除するための適切なキーを提供したときにのみ、この値が変更されることを要求し得る。一部の場合においては、製造業者は、一体型ユニットとして出荷するために、モジュール式制御システム１００を完全に組み立て得る。
【００３４】
モジュール式制御システム１００が制御システム２２に接続されている場合、モジュール式制御システム１００は、構成データベース６０に記憶された制御システム２２の現在の構成に従って、フィールドデバイス１１０、１１２、１１４を動作させ得る。しかしながら、モジュール式制御システム１００が制御システム２２に接続されていない場合、モジュール式制御システム１００は、コントローラ１０２に関連付けられた構成データベース１０４に記憶された構成ファイルに従って、フィールドデバイス１１０、１１２、１１４を動作させ得る。構成データベース１０４に記憶された構成ファイルのバージョンは、本明細書では構成ファイルの「コントローラバージョン」と称される。
【００３５】
実施形態によれば、追加または代替のホスト１４１がモジュール式制御システム１００のコントローラ１０２に接続し得、ホスト１４１は、構成ファイルのコントローラバージョンのアクセス、評価、または更新を促進し得る。ホスト１４１は、構成ファイルの「コンピューティングデバイスバージョン」１５１（及び／またはそれに関連付けられたメタデータ）を記憶し得る。ある特定の状況では、構成ファイルのコンピューティングデバイスバージョン１５１は、ホスト１４１がコントローラ１０２を構成しようと試み得るバージョンを表し得る（すなわち、コントローラバージョンをコンピューティングデバイスバージョンに置き換える）。加えて、ホスト１４１は、構成データベース１０４に記憶された構成ファイルをバックアップするホスト１４１の最新事例を表し得る「最終バックアップ事例」のレコードを記憶し得る。図４及び５は、構成ファイルの異なるバージョンを評
価及び管理することに関連付けられたある特定の機能について論じている。
【００３６】
本明細書で論じられる機能のうちの一部は単一の構成ファイルを説明しているが、複数の構成ファイルをホスト１４１及びコントローラ１０２に記憶することができ、各構成ファイルは、コンピューティングデバイスバージョン（すなわち、ホスト１４１に記憶されたもの）、コントローラバージョン（すなわち、コントローラ１０２に記憶されたもの）、及び／または最終バックアップ事例を有し得ることを理解されたい。例えば、ホスト１４１及びコントローラ１０２の各々は、ロジック構成ファイル、フィールドデバイス構成ファイル、及びグラフィック構成ファイルを記憶し得る。加えて、ホスト１４１及びコントローラ１０２は、同じ構成ファイルまたは異なる構成ファイルを記憶し得、それぞれの構成ファイルは同じであっても異なっていてもよい。例えば、ホスト１４１は、ロジック構成ファイル及びグラフィック構成ファイルを記憶し得、コントローラ１０２は、ロジック構成ファイル及びフィールドデバイス構成ファイルを記憶し得る（すなわち、コントローラ１０２はグラフィック構成ファイルを記憶せず、ホスト１４１はフィールドデバイス構成ファイルを記憶しない）。加えて、ホスト１４１及びコントローラ１０２にそれぞれ記憶されるロジック構成ファイルは、異なっていてもよい。
【００３７】
加えて、本明細書で論じられるように、評価機能、比較機能、及び更新機能は、ホスト１４１及びコントローラ１０２に記憶されたそれぞれの構成ファイルのいずれかまたは全てに適用可能であり得る。特に、評価機能、比較機能、及び更新機能は、並行してまたはファイルごとに促進され得る。したがって、本システム及び方法は、ある特定の個別の構成ファイル（例えば、不一致を有する構成ファイル）の検索、調和、及び／または更新を可能にし得るが、他の個別の構成ファイル（例えば、同一の構成ファイル）は変更されないままであり得る。図２は、モジュール式制御システム２００に関連付けられた例示的なコントローラモジュール２０２のある特定の構成要素の概略図を例証する。実施形態では、コントローラモジュール２０２は、２つの冗長分散型コントローラ２０７及び２０８ならびに関連付けられたスイッチ２１１及び２１２を含み得、各々は、一連の通信ポート（例えば、Ｅｔｈｅｒｎｅｔポート）２１３及び２１４をそれぞれ制御する。
【００３８】
実施形態によれば、コントローラ２０７は一次コントローラと見なされ得、コントローラ２０８はバックアップコントローラまたは冗長コントローラと見なされ得る。したがって、通常の動作では、コントローラ２０７が一連のプロセス制御デバイス２２１を動作させ得、バックアップ動作では、コントローラ２０８が一連のプロセス制御デバイス２２１を動作させ得る。
【００３９】
コントローラ２０７及び２０８の各々は、一連のプロセス制御デバイス２２１がどのように動作されるかを指定または指示し得る構成ファイルのそれぞれのバージョンを記憶し得る。具体的には、コントローラ２０７が構成ファイルのバージョン２１６を記憶し得、コントローラ２０８が構成ファイルのバージョン２１８を記憶し得る。コントローラ２０７及び２０８は、各々がそれぞれのバージョンを有する複数の構成ファイルを記憶し得ることを理解されたい。実施形態によれば、構成ファイルのバージョン２１６、２１８は、それぞれのコントローラ２０７、２０８とインターフェース接続されたメモリカード（例えば、ＳＤカード）に記憶され得る。しかしながら、構成ファイルのバージョン２１６、２１８は、他のタイプのメモリ（例えば、読み取り専用メモリ（ＲＯＭ）、電子プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、消去可能電子プログラマブル読み取り専用メモリ（ＥＥＰＲＯＭ）、及び／または他のハードドライブ、フラッシュメモリ等）に記憶され得ることを理解されたい。
【００４０】
概して、構成ファイルのバージョン２１６、２１８は同一である。コンピューティングデバイスがコントローラモジュール２０２とインターフェースするとき、コンピューティ
ングデバイスは、コントローラ２０７に記憶された構成ファイルのバージョン２１６を更新し得る。コントローラ２０７はまた、コントローラ２０８が、更新されたバージョン２１６と整合するように、構成ファイルのそのバージョン２１８を更新することを引き起こし得る。
【００４１】
図３は、本明細書で論じられる機能を実装することができる、図２に関して論じられた例示的なコントローラモジュール２０２とインターフェースし得る（図１に関して論じられたホスト１４１等の）例示的なコンピューティングデバイス３４１のハードウェア図を例証する。実施形態によれば、例えば、コンピューティングデバイス３４１は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットデバイス、スマートフォン、スマートウォッチ、スマートグラス等のコントローラモジュール２０２とインターフェースして通信するように構成された任意のタイプのコンピューティングデバイスであり得る。
【００４２】
コンピューティングデバイス３４１は、プロセッサ３７２ならびにメモリ３７８を含み得る。メモリ３７８は、本明細書で論じられる機能ならびに一連のアプリケーション３７５（すなわち、機械可読命令）を促進することができるオペレーティングシステム３７９を記憶し得る。例えば、一連のアプリケーション３７５のうちの１つは、構成ファイルのバージョンの評価及び調和を促進するように構成されたファイル評価アプリケーション３９０であり得る。１つ以上の他のアプリケーション３９２が想定されることを理解されたい。
【００４３】
プロセッサ３７２は、メモリ３７８とインターフェースして、オペレーティングシステム３７９及び一連のアプリケーション３７５を実行し得る。いくつかの実施形態によれば、メモリ３７８はまた、構成ファイル（複数可）３８０及びそのメタデータを記憶し得、構成ファイル（複数可）３８０は、本明細書で論じられる構成ファイル（複数可）のコンピューティングデバイスバージョンであり得る。メモリ３７８は、コンピューティングデバイス３４１によって構成ファイルの最終バックアップ事例に関連付けられたメタデータ、ならびにハッシュ関数及びその出力（複数可）に関連付けられたデータをさらに記憶し得る。特に、ハッシュ関数出力（複数可）は、構成ファイル（複数可）３８０がハッシュ関数に入力されることから得られ得る。メモリ３７８は、例えば、ＲＯＭ、ＥＰＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、及び／または他のハードドライブ、フラッシュメモリ、メモリカード等の１つ以上の形態の揮発性及び／または不揮発性の固定されたメモリ及び／またはリムーバブルメモリを含み得る。
【００４４】
コンピューティングデバイス３４１は、有線接続を介して、または１つ以上の無線ネットワークを介して、コントローラモジュール２０２とデータを通信するように構成された通信モジュール３７７をさらに含み得る。いくつかの実施形態によれば、通信モジュール３７７は、ＩＥＥＥ規格、３ＧＰＰ規格、または他の規格に従って機能し、１つ以上の通信ポート３７６を介してデータを送受信するように構成された１つ以上のトランシーバ（例えば、ＷＷＡＮ、ＷＬＡＮ、及び／またはＷＰＡＮトランシーバ）を含み得る。例えば、コンピューティングデバイス３４１は、それぞれの通信ポート（複数可）３７６、２１３、２１４のうちの１つ以上を介してコントローラモジュール２０２に接続し得る。
【００４５】
コンピューティングデバイス３４１は、ユーザに情報を提示し、及び／またはユーザからの入力を受信するように構成されたユーザインターフェース３８１をさらに含み得る。図３に示されるように、ユーザインターフェース３８１は、ディスプレイ画面３８２及びＩ／Ｏ構成要素３８３（例えば、ポート、容量式または抵抗式のタッチ感応入力パネル、キー、ボタン、ライト、ＬＥＤ）を含み得る。いくつかの実施形態によれば、ユーザは、ユーザインターフェース３８１を介して、コンピューティングデバイス３４１にアクセス
して、情報を検討し、選択を行い、及び／または他の機能を行い得る。
【００４６】
いくつかの実施形態では、コンピューティングデバイス３４１は、「クラウド」ネットワークの一部として、本明細書で論じられる機能を行い得るか、別様にクラウド内の他のハードウェアまたはソフトウェアの構成要素と通信して、データを送信するか、検索するか、または別様に分析し得る。
【００４７】
概して、一実施形態によるコンピュータプログラム製品は、その中に埋め込まれたコンピュータ可読プログラムコードを有するコンピュータ使用可能ストレージ媒体（例えば、標準的なランダムアクセスメモリ（ＲＡＭ）、光ディスク、ユニバーサルシリアルバス（ＵＳＢ）等）を含み得、コンピュータ可読プログラムコードは、プロセッサ３７２によって実行される（例えば、オペレーティングシステム３７９と連携して動作する）ように適合されて、本明細書に記載される機能を促進し得る。これに関して、プログラムコードは、任意の所望の言語で実装され得、（例えば、Ｇｏｌａｎｇ、Ｐｙｔｈｏｎ、Ｓｃａｌａ、Ｃ、Ｃ＋＋、Ｊａｖａ、Ａｃｔｉｏｎｓｃｒｉｐｔ、Ｏｂｊｅｃｔｉｖｅ−Ｃ、Ｊａｖａｓｃｒｉｐｔ、ＣＳＳ、ＸＭＬを介して）機械コード、アセンブリコード、バイトコード、解釈可能なソースコード等として実装され得る。いくつかの実施形態では、コンピュータプログラム製品は、リソースのクラウドネットワークの一部であり得る。
【００４８】
図４は、モジュール式制御システムに関連付けられた構成ファイルのバージョンを評価することと、バージョン比較に基づいて様々な機能を促進することとに関連付けられた例示的な信号図４００を示す。信号図４００の機能は、コンピューティングデバイス４０５及びコントローラモジュール４１５によって促進され得る。コンピューティングデバイス４０５は、図３に関して論じられるコンピューティングデバイス３４１と同様であり得、少なくともプロセッサ４７２及びメモリ４７８を含み得る。コントローラモジュール４１５は、コントローラ４１０（例えば、図２に関して論じられるコントローラ２０７）及びメモリ４１２を含み得る。実施形態によれば、メモリ４１２は、コントローラ４１０に関連付けられるか、またはコントローラ４１０によってアクセスされる任意のタイプの内蔵型ストレージまたはリムーバブルストレージ（例えば、ＳＤカード）であり得る。図４には例証されていないが、メモリ４１２は、構成ファイルの一次バージョンを記憶し得る一次メモリと、構成ファイルのバックアップバージョンを記憶し得るバックアップメモリとを含み得る。
【００４９】
コンピューティングデバイス４０５（またはコンピューティングデバイス４０５のユーザ）の目的は、モジュール式制御システムに関連付けられた人員（例えば、エンジニア、管理者、技術者等）によってなされた改善、修正、特徴、及び／または同様のものに従って、コントローラモジュール４１５のメモリ４１２に記憶された構成ファイルのバージョンを更新することであり得る。
【００５０】
実施形態によれば、モジュール式制御システムに関連付けられた構成ファイルは、複数のバージョンを含み得る。具体的には、コンピューティングデバイス４０５のメモリ４７８は、コンピューティングデバイス４０５のユーザがコントローラモジュール４１５のメモリ４１２内で更新しようとし得る構成ファイルのバージョンを表し得る、構成ファイルの「コンピューティングデバイスバージョン」を記憶し得る。構成ファイルのコンピューティングデバイスバージョンは、コンピューティングデバイスバージョンがハッシュ関数に入力されることに起因する関連付けられた「デバイスハッシュ出力」を有し得、これもまたメモリ４７８によって記憶され得る。コンピューティングデバイス４０５のメモリ４７８は、コンピューティングデバイス４０５によって、コントローラモジュール４１５のメモリ４１２に、構成ファイルの最新のバックアップまたは更新を表し得る、構成ファイルの「最終バックアップ事例」を示すレコードまたはデータ（例えば、タイムスタンプ（
複数可）を含むメタデータ）をさらに記憶し得る。
【００５１】
コントローラモジュール４１５のメモリ４１２は、一連の適用可能なプロセス制御デバイスを制御するために、メモリ４１２に現在記憶されており、コントローラ４１０が使用する構成ファイルのバージョンである、構成ファイルの「コントローラバージョン」を記憶し得る。構成ファイルのコントローラバージョンは、コントローラバージョンがハッシュ関数に入力されることに起因する関連付けられた「コントローラハッシュ出力」を有し得、これもまたメモリ４１２によって記憶され得る。実施形態によれば、デバイスハッシュ出力及びコントローラハッシュ出力は、構成ファイルのそれぞれのバージョンの生成時もしくは保存時に、または別の時点で生成または判定され得る。
【００５２】
実施形態では、メモリ４７８及びメモリ４１２の各々は、複数の構成ファイルを記憶し得、メモリ４７８に記憶される構成ファイルはコンピューティングデバイスバージョンであり得、メモリ４１２に記憶される構成ファイルはコントローラバージョンであり得る。メモリ４７８は、構成ファイルの最終バックアップ事例を示すレコードまたはデータをさらに記憶し得る。加えて、メモリ４７８、４１２は、構成ファイルの複数のバージョンにそれぞれ関連付けられた複数のハッシュ出力を記憶し得る。
【００５３】
信号図４００は、単一の構成ファイルの検索、アクセス、比較、解決、及び／または更新を説明しているが、複数の構成ファイルが存在する場合、信号図４００の機能は、各構成ファイルに対して並行してまたは逐次的のいずれかで行われ得ることを理解されたい。
【００５４】
信号図４００は、プロセッサ４７２がコントローラモジュール４１５のコントローラ４１０に接続する（４２０）とき、またはコントローラ４１０とインターフェースするときに開始し得る。実施形態では、プロセッサ４７２は、コンピューティングデバイス４０５及びコントローラモジュール４１５のそれぞれの通信ポートを介して、及び少なくとも１つの有線接続または無線接続を介してコントローラ４１０に接続し得る。
【００５５】
コントローラ４１０に接続した後、プロセッサ４７２は、コントローラ４１０に構成ファイルのコントローラバージョンを要求し得る（４２２）。実施形態では、プロセッサ４７２は、構成ファイル全体もしくはその一部、及び／または構成ファイルに関連付けられた一連のメタデータを要求し得る。例えば、一連のメタデータは、最新の更新時間を特定するタイムスタンプ、及び／または他のメタデータを含み得る。コントローラ４１０は、構成ファイルのコントローラバージョンをメモリ４１２から検索し得る（４２４）。実施形態では、コントローラ４１０は、プロセッサ４７２からの要求に従って、コントローラバージョンに関連付けられたデータを検索し得る。
【００５６】
コントローラ４１０は、それぞれの通信ポートを介して、及び少なくとも１つの有線接続または無線接続を介して、構成ファイルのコントローラバージョン（及び／または要求による任意の検索されたデータ）をプロセッサ４７２に提供し得る（４２６）。プロセッサ４７２は、構成ファイルのコンピューティングデバイスバージョン、ならびに構成ファイルの最終バックアップ事例を示すデータにアクセスする（４２８）か、またはそれらを検査し得る。実施形態では、プロセッサ４７２は、メモリ４７８から、コンピューティングデバイスバージョン全体もしくはその一部（複数可）、及び／またはコンピューティングデバイスバージョンに関連付けられた任意のメタデータにアクセスし得る。さらに、実施形態では、プロセッサ４７２は、メモリ４７８から、構成ファイルの最終バックアップ事例を示すデータの全てまたは一部にアクセスし得る。
【００５７】
プロセッサ４７２は、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較し得る（４３０）。バージョンを比較する際、プ
ロセッサ４７２は、最終バックアップ事例を示すデータをさらに検査し得る。一実装例では、プロセッサ４７２は、コンピューティングデバイスバージョン、コントローラバージョン、及び最終バックアップ事例を示すデータの各々のタイムスタンプデータを比較し得、タイムスタンプデータは、それぞれのバージョン及び最終バックアップ事例に対する最新の修正時間、最新のアクセス時間、及び／または他の時間的データを表示し得る。したがって、プロセッサ４７２は、タイムスタンプデータに基づいて、コンピューティングデバイスバージョン及びコントローラバージョンのうちのどちらが最新バージョンであるか、及び時間的データを最終バックアップ事例のデータとどのように比較するかを判定し得る。代替または追加のメタデータの比較が想定されることを理解されたい。
【００５８】
別の実装例では、プロセッサ４７２は、コンピューティングデバイスバージョンに関連付けられたデバイスハッシュ出力を、コントローラバージョンに関連付けられたコントローラハッシュ出力と比較し得、その比較の結果は、コンピューティングデバイスバージョンとコントローラバージョンとの間に任意の差異（複数可）が存在すること（または存在しないこと）を表示し得る。概して、デバイスハッシュ出力がコントローラハッシュ出力とは異なる場合、コンピューティングデバイスバージョンはコントローラバージョンとは異なる。同様に、デバイスハッシュ出力がコントローラハッシュ出力と同じ場合、コンピューティングデバイスバージョンはコントローラバージョンと同じである。
【００５９】
ハッシュ出力の比較は、状況によっては、構成ファイルのバージョンに関連付けられたメタデータが表示し得る知覚コンフリクトを排除し得る。特定のシナリオでは、コンピューティングデバイスバージョンのタイムスタンプは、コントローラバージョンのタイムスタンプとは異なることがあり、タイムスタンプの比較は、コンピューティングデバイスバージョンがコントローラバージョンとは異なる（例えば、より新しい）と結論付け得る。しかしながら、タイムスタンプは、必ずしもファイル修正に対応し得ず、その代わりに、例えば、修正なしでファイルアクセスに対応し得る。したがって、タイムスタンプの比較は構成ファイルのバージョンが異なることを表示し得るが、ハッシュ出力の比較はバージョンが実際に同一であることを表示し得る。このシナリオでは、プロセッサ４７２は、プロセッサが特定の動作をメタデータの比較に基づいて別様に実施し得る場合、その特定の動作をハッシュ出力の比較に基づいて実施しないことを判定し得る（またはその逆）。
【００６０】
（４３０）の比較機能に基づいて、プロセッサ４７２は、構成ファイルのバージョンをどのように更新及び／または解決するかを判定し得る（４３２）。（本明細書において「シナリオＡ」と称される）１つのシナリオでは、比較は、コンピューティングデバイスバージョンがコントローラバージョン及び最終バックアップ事例よりも新しい（例えば、コントローラバージョン及び最終バックアップ事例のものより新しいタイムスタンプを有する）こと、及びコントローラバージョンのタイムスタンプが最終バックアップ事例のものと整合することを表示し得る。したがって、シナリオＡでは、プロセッサ４７２は、コンピューティングデバイスバージョンがメモリ４１２に保存されたコントローラバージョンに置き換えられるべきであると判定し得る。シナリオＡの一実装例では、プロセッサ４７２は、メモリ４１２に保存されたコントローラバージョンを置き換えるための動作（複数可）を実施し得ない。
【００６１】
（本明細書において「シナリオＢ」と称される）別のシナリオでは、比較は、コンピューティングデバイスバージョンのタイムスタンプが最終バックアップ事例のものと整合すること、ならびにコントローラバージョンがコンピューティングデバイスバージョン及び最終バックアップ事例よりも新しい（例えば、コンピューティングデバイスバージョン及び最終バックアップ事例のものよりも新しいタイムスタンプを有する）ことを表示し得る。したがって、シナリオＢでは、プロセッサ４７２は、コンピューティングデバイスバージョンをより新しいコントローラバージョンに置き換えるべきであると判定し得る。シナ
リオＢの一実装例では、プロセッサ４７２は、コンピューティングデバイスバージョンをより新しいコントローラバージョンに置き換えるための動作（複数可）を実施し得ない。
【００６２】
（本明細書において「シナリオＣ」と称される）別のシナリオでは、比較は、コンピューティングデバイスバージョンがコントローラバージョンと異なること、コンピューティングデバイスバージョンが最終バックアップ事例よりも新しい（例えば、最終バックアップ事例のものよりも新しいタイムスタンプを有する）こと、及びコントローラバージョンがコンピューティングデバイスバージョンよりも新しい（すなわち、コントローラバージョンが最新である）ことを表示し得る。したがって、シナリオＣでは、プロセッサ４７２は、コンピューティングデバイスバージョンとコントローラバージョンとの間で調和が必要であると判定し得る。シナリオＣの一実装例では、プロセッサ４７２は、コンピューティングデバイスバージョンをコントローラバージョンと調和させるための動作（複数可）を実施し得ない。
【００６３】
プロセッサ４７２は、任意選択で、判定されたシナリオに応じて、コンピューティングデバイスバージョンを更新または解決し得る（４３４）。特に、プロセッサ４７２は、判定されたシナリオがシナリオＢまたはシナリオＣのいずれかである場合、コンピューティングデバイスバージョンを更新または解決し得る。判定されたシナリオがシナリオＢである（すなわち、コントローラバージョンがコンピューティングデバイスバージョンよりも新しい）場合、プロセッサ４７２は、メモリ４７８が、記憶されたコンピューティングデバイスバージョンを（４２６）で受信されたコントローラバージョンに置き換えることを引き起こし得る。したがって、（更新された）コンピューティングデバイスバージョンは最新であり、それに応じて、コンピューティングデバイス４０５のユーザは、構成ファイルのコントローラバージョンの後続の更新のために、（更新された）コンピューティングデバイスバージョンを編集または修正し得る。
【００６４】
判定されたシナリオがシナリオＣである（すなわち、コントローラバージョンが、最終バックアップ事例よりも新しいコンピューティングデバイスバージョンよりも新しい）場合、プロセッサ４７２は、構成ファイルのバージョン間の不一致を解決し得る。いくつかの実施形態では、プロセッサ４７２は、コントローラバージョンの更新または差異をコンピューティングデバイスバージョンの任意の更新または差異と自動的にマージし得る。他の実施形態では、プロセッサ４７２は、メモリ４７８がコンピューティングデバイスバージョンをコントローラバージョンに置き換えることを引き起こし得るか、またはメモリ４１２がコントローラバージョンをコンピューティングデバイスバージョンに置き換えることを引き起こし得る。さらなる実施形態では、プロセッサ４７２は、ユーザが（例えば、コンピューティングデバイス４０５のユーザインターフェースを介して）どのように不一致を解決するかを選択することを可能にし得る。特に、ユーザインターフェースは、バージョン間の不一致を表示し得、ユーザがある特定の追加、削除、修正、及び／または同様のものを承認または拒否することを可能にし得る。
【００６５】
任意の更新機能または解決機能を促進した後、プロセッサ４７２は、任意選択で、コンピューティングデバイスバージョンをコントローラ４１０に提供し得る。（４３６）。実施形態では、判定されたシナリオがシナリオＡである（すなわち、コンピューティングデバイスバージョンがコントローラバージョンよりも新しく、メモリ４１２に記憶されたコントローラバージョンを置き換えなければならない）場合、プロセッサ４７２は、コンピューティングデバイスバージョンをそのままコントローラ４１０に提供し得る。他の実施形態では、判定されたシナリオがシナリオＣであり、プロセッサ４７２が構成ファイルのバージョンの任意の更新または解決を促進する場合、プロセッサ４７２は、構成ファイルの更新または解決されたバージョンをコントローラ４１０に提供し得る。別様に、実施形態では、判定されたシナリオがシナリオＢである場合、プロセッサ４７２は、構成ファイ
ルの任意のバージョンをコントローラ４１０に提供する必要がない場合がある。
【００６６】
コンピューティングデバイスバージョンを受信した後（またはどんなバージョンがプロセッサ４７２によって提供されても）、コントローラ４１０は、受信されたバージョンをメモリ４１２に提供し得る（４３８）。したがって、メモリ４１２は、（４３８）でコントローラ４１０によって提供されるバージョンを反映するようにコントローラバージョンを更新し得る（４４０）。したがって、メモリ４１２に記憶されている構成ファイルのコントローラバージョンは、最新であると見なされ得、コンピューティングデバイス４０５のユーザによって開始された更新を反映し得る。
【００６７】
図５は、プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを評価する例示的な方法５００のブロック図を示す。実施形態によれば、方法５００は、モジュール式制御システムに関連付けられたコントローラに接続し、当該コントローラとインターフェースするように構成されたコンピューティングデバイス（及び、より具体的には、そのプロセッサ）によって促進され得る。コンピューティングデバイスのメモリは、構成ファイルのコンピューティングデバイスバージョンを記憶し得、コントローラは、構成ファイルのコントローラバージョンを記憶し得る内部に組み込まれたメモリ（例えば、ＳＤカード）を含み得る。方法５００の機能は例示的なものであり、追加または代替の機能が想定されることを理解されたい。
【００６８】
方法５００は、コンピューティングデバイスがモジュール式制御システムに関連付けられたコントローラとインターフェースする（ブロック５０５）ときに開始し得る。実施形態では、コンピューティングデバイスは、それぞれの通信ポートを介してコントローラとインターフェースし得、コントローラから構成ファイルのコントローラバージョンを検索し得る。コンピューティングデバイスは、コンピューティングデバイスによって、コントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例を特定し得る（ブロック５１０）。実施形態では、コンピューティングデバイスは、メタデータ（例えば、タイムスタンプ）を検査して最終バックアップ事例を特定し得る。
【００６９】
コンピューティングデバイスは、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較し得る（ブロック５１５）。いくつかの実施形態では、コンピューティングデバイスは、構成ファイルのコンピューティングデバイスバージョンとコントローラバージョンとにそれぞれ関連付けられた一連のタイムスタンプを比較し得る。他の実施形態では、コンピューティングデバイスバージョンは、ハッシュ関数によって生成されたデバイスハッシュ出力に関連付けられた可能性があり、コントローラバージョンは、ハッシュ関数によって生成されたコントローラハッシュ出力に関連付けられた可能性があり、コンピューティングデバイスは、デバイスハッシュ出力をコントローラハッシュ出力と比較し得る。コンピューティングデバイスバージョンをコントローラバージョンと比較する際に、コンピューティングデバイスはまた、最終バックアップ事例に関連付けられたデータを検査し得る。
【００７０】
コンピューティングデバイスは、ユーザインターフェースを介して、（ｉ）コンピューティングデバイスバージョン、最終バックアップ事例、及びコントローラバージョンの各々の表示、ならびに（ｉｉ）比較の結果を提示し得る（ブロック５２０）。比較の結果を提示する際に、コンピューティングデバイスは、構成ファイルのどのバージョンが最新のバージョンであるかを視覚的に特有の様式（例えば、ハイライトまたは下線）で表示し得る。コンピューティングデバイスは、任意選択で、ユーザインターフェースを介して、比較の結果に関連付けられたユーザ選択を受信し得る（ブロック５２５）。具体的には、ユーザ選択は、ユーザが検討すること、修正すること、または更新させることを望み得る構成ファイルのバージョンの選択に対応し得る。
【００７１】
コンピューティングデバイスは、ブロック５２０の比較に基づいて、構成ファイルのある特定のバージョン（複数可）を更新、検索、または解決するかどうかを判定し得る（ブロック５３０）。コンピューティングデバイスが更新することを判定する場合（「更新」、すなわち、構成ファイルのコンピューティングデバイスバージョンが構成ファイルのコントローラバージョン及び最終バックアップ事例よりも新しい、つまり、本明細書で論じられるシナリオＡの場合）、コンピューティングデバイスは、コントローラのメモリにコントローラバージョンを更新させ得る（ブロック５３５）。具体的には、コンピューティングデバイスは、コントローラのメモリに記憶された構成ファイルのコントローラバージョンが構成ファイルのコンピューティングデバイスバージョンに置き換えられることを引き起こし得る。シナリオＡの代替の実装例では、コンピューティングデバイスは、さらなる動作をとることはできない（すなわち、コントローラのメモリにコントローラバージョンを更新させることはできない）。
【００７２】
コンピューティングデバイスが検索することを判定する場合（「検索」、すなわち、（ｉ）構成ファイルのコンピューティングデバイスバージョンが、構成ファイルの最終バックアップ事例と一致し、（ｉｉ）構成ファイルのコントローラバージョンが、構成ファイルのコンピューティングデバイスバージョンよりも新しい、つまり、本明細書で論じられるシナリオＢの場合）、コンピューティングデバイスは、コントローラのメモリから、構成ファイルのコントローラバージョンを検索し得る（ブロック５４０）。さらに、コンピューティングデバイスは、コントローラバージョンに従って、構成ファイルのコンピューティングデバイスバージョンを更新し得る（ブロック５４５）。具体的には、コンピューティングデバイスは、ローカルに記憶された構成ファイルのコンピューティングデバイスバージョンを、コントローラから検索された構成ファイルのコントローラバージョンに置き換え得る。
【００７３】
コンピューティングデバイスが解決することを判定する場合（「解決」、すなわち、構成ファイルのコンピューティングデバイスバージョンが最終バックアップ事例よりも最新であり、構成ファイルのコントローラバージョンが構成ファイルのコンピューティングデバイスバージョンよりも新しい、つまり、本明細書で論じられるシナリオＣの場合）、コンピューティングデバイスは、コントローラのメモリから、構成ファイルのコントローラバージョンを検索し得る（ブロック５５０）。さらに、コンピューティングデバイスは、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンで解決し得る（ブロック５５５）。具体的には、コンピューティングデバイスは、本明細書で論じられるように、バージョン間の更新をマージし得るか、ユーザがどのようにバージョンを解決するかを選択することを可能にし得るか、または他の機能を促進し得る。シナリオＣの特定の実装例では、コンピューティングデバイスは、コントローラバージョンを修正することなく、コンピューティングデバイスバージョンのみを解決し得る（またはその逆）。
【００７４】
図６及び７は、実施形態に関連付けられた例示的なインターフェース６００、７００及びこれらの機能を示す。コンピューティングデバイス（例えば、図３に関して論じられるコンピューティングデバイス３４１）は、コンピューティングデバイスがモジュール式制御システムのコントローラに接続し、当該コントローラとインターフェースし得るインターフェース６００、７００を提示するように構成され得る。インターフェース６００、７００のコンテンツは単に例示的なものであり、追加または代替のコンテンツが想定されることを理解されたい。
【００７５】
図６のインターフェース６００は、構成ファイル（複数可）の評価に関連付けられた様々な情報を含む。アイコン６０２は、コンピューティングデバイスを表し得、アイコン６
０４は、モジュール式制御システムのコントローラに含まれるメモリを表し得、コンピューティングデバイス及びメモリの各々は、構成ファイルの１つ以上のバージョンを記憶し得る。一連のステータス６０３は、構成ファイルのバージョン（複数可）を評価する際にコンピューティングデバイスによって実施される様々な動作を表示し得、比較の要約６０５は、評価を要約し得る。
【００７６】
図６に示されるように、比較の要約６０５は、コンピューティングデバイスの最終変更（すなわち、構成ファイルのコンピューティングデバイスバージョン）、コンピューティングデバイスの最終バックアップ（すなわち、構成ファイルの最終バックアップ事例）、及びプロジェクトバックアップ（すなわち、構成ファイルのコントローラバージョン）を表示する。これらのバージョンに関連付けられた追加の情報を図７に関して論じる。
【００７７】
図７のインターフェース７００は、異なるバージョンに関連付けられた時間的メタデータ等の構成ファイルのバージョンの評価に関連する詳細を含む。具体的には、インターフェース７００は、異なるタイムスタンプを有する、コンピューティングデバイス及びコントローラ上に存在する三（３）つの構成ファイル（７０１、７０２、７０３）、ならびにコントローラ内に存在するが、コンピューティングデバイス上には存在しない二（２）つの構成ファイル（７０４）を特定する。
【００７８】
それぞれの構成ファイルに対する特定情報７０１、７０２、７０３の各々は、名前、構成タイプ、アイテムタイプ、修正されたタイムスタンプ（すなわち、コンピューティングデバイスバージョンのタイムスタンプ）、修正された（最終バックアップ）タイムスタンプ（すなわち、最終バックアップ事例のタイムスタンプ）、修正された（バックアップ）タイムスタンプ（すなわち、コントローラバージョンのタイムスタンプ）、及び比較の結果を特定し得る。特定情報７０１は、最終バックアップ事例とコントローラバージョンとが同じタイムスタンプを有し、コンピューティングデバイスバージョンがより新しいタイムスタンプを有するシナリオＡに対応し得る。特定情報７０２は、コンピューティングデバイスバージョンと最終バックアップ事例とが同じタイムスタンプを有し、コントローラバージョンがより新しいタイムスタンプを有するシナリオＢに対応し得る。特定情報７０３は、コンピューティングデバイスバージョンのタイムスタンプが最終バックアップ事例のタイムスタンプよりも最新であり、コントローラバージョンのタイムスタンプがコンピューティングデバイスバージョンのタイムスタンプよりも新しいシナリオＣに対応し得る。
【００７９】
コンピューティングデバイスは、どのバーションを評価、比較、解決するか等の必要があり得るかを視覚的に特徴的な様式で表示するように構成され得る。具体的には、図７に例証されるように、シナリオＡに関連付けられた特定情報７０１は、コンピューティングデバイスのバージョンが最新のバージョンであるため、そこに下線を引いている。シナリオＢに関連付けられた特定情報７０２は、コントローラバージョンが最新のバージョンであるため、そこに下線を引いている。シナリオＣに関連付けられた特定情報７０３は、コンピューティングデバイスバージョン及びコントローラバージョンが解決される必要があり得るため、それらの各々に下線を引いている。
【００８０】
コンピューティングデバイスはまた、コンピューティングデバイスのユーザが選択を行い、構成ファイルのバージョンを更新及び解決することに関連付けられたある特定の動作を促進することを可能にするように構成され得る。具体的には、特定情報７０１、７０２、７０３の各々は、それぞれの構成ファイルのある特定のバージョンを検索するための選択可能なボックスを含み得る。実施形態では、ユーザがある特定の構成ファイルのために検索ボックスを選択し、検索選択７０５を選択すると、コンピューティングデバイスは、構成ファイルの適用可能なバージョン（複数可）にアクセスするかもしくは当該バージョ
ンを検索すること、適用可能なバージョン（複数可）を表示すること、ならびにユーザが選択を行い、マージすることを促進し、編集もしくは追加を行い、及び／または他の編集を行うことを可能にすることを促進し得る。一実装例では、ユーザが検索選択７０５を選択すると、コンピューティングデバイスは、視覚的に特徴的な様式で表示される構成ファイルのバージョン（複数可）（例えば、ハイライトされるバージョン（複数可））にアクセスし得るかまたは当該バージョンを検索し得る。
【００８１】
本明細書に記載される技術に関連付けられた追加の特徴もまた想定される。具体的には、コンピューティングデバイス及びコントローラの両方の観点から構成情報を表示し得る視覚化ユーザインターフェース（ＵＩ）を提供することができる。加えて、視覚化ＵＩは、本明細書で論じられるように、構成ファイルの複数のバージョンをマージすることを可能にし得、コンピューティングデバイスは、同じファイルの２つのバージョンを自動的にマージする一方で、ユーザに（コンピューティングデバイスが自動マージしなかったファイルの部分等の）追加の選択を監視すること、及び／または行うことを可能にさせ得る、「自動マージ機能」を伴って構成され得る。さらに、コンピューティングデバイスは、ユーザが同じファイルの複数のバージョンを保存または維持することを選択することを可能にし得る。したがって、コンピューティングデバイスは、ユーザが、コピーに対して自動的に選択された新しいファイル名を用いるか、またはユーザにファイル名を入力することを可能にさせることのいずれかによって、複数のバージョンを保存することを選択することを可能にし得る。
【００８２】
本開示に記載されている技術の実施形態は、任意の数の下記の態様を、単独でまたは組み合わせのいずれかで含んでもよい。
【００８３】
１．プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを評価するコンピューティングデバイスにおけるコンピュータ実行方法であって、コンピューティングデバイスは、構成ファイルのコンピューティングデバイスバージョンを記憶し得、本方法は、コンピューティングデバイスによって、モジュール式制御システムに関連付けられたコントローラとインターフェースすることであって、コントローラは、構成ファイルのコントローラバージョンを記憶する、コントローラ内に組み込まれたメモリを有する、インターフェースすることと、コンピューティングデバイスによって、コントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例を特定することと、コンピューティングデバイスのプロセッサによって、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較することと、コンピューティングデバイスのユーザインターフェースを介して、（ｉ）構成ファイルのコンピューティングデバイスバージョン、構成ファイルの最終バックアップ事例、及び構成ファイルのコントローラバージョンの各々の表示、ならびに（ｉｉ）比較の結果を提示することと、を含み得る、コンピュータ実行方法。
【００８４】
２．構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較することが、構成ファイルのコンピューティングデバイスバージョンと構成ファイルのコントローラバージョンとにそれぞれ関連付けられた一連のタイムスタンプを比較することを含む、請求項１に記載のコンピュータ実行方法。
【００８５】
３．構成ファイルのコンピューティングデバイスバージョンが、ハッシュ関数によって生成されたデバイスハッシュ出力に関連付けられており、構成ファイルのコントローラバージョンが、ハッシュ関数によって生成されたコントローラハッシュ出力に関連付けられており、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較することが、デバイスハッシュ出力をコントローラハッシュ出力と比較することを含む、請求項１に記載のコンピュータ実行方法。
【００８６】
４．（ｉ）構成ファイルのコンピューティングデバイスバージョンが、構成ファイルの最終バックアップ事例と一致し、（ｉｉ）構成ファイルのコントローラバージョンが、構成ファイルのコンピューティングデバイスバージョンよりも新しい、請求項１〜９のいずれか一項に記載のコンピュータ実行方法。
【００８７】
５．コントローラのメモリから、構成ファイルのコントローラバージョンを検索することと、構成ファイルのコントローラバージョンに従って構成ファイルのコンピューティングデバイスバージョンを更新することと、をさらに含む、請求項４に記載のコンピュータ実行方法。
【００８８】
６．構成ファイルのコンピューティングデバイスバージョンが、（ｉ）構成ファイルの最終バックアップ事例が行われたときよりも最新であり、（ｉｉ）構成ファイルのコントローラバージョンよりも新しい、請求項１〜３のいずれか一項に記載のコンピュータ実行方法。
【００８９】
７．コントローラのメモリに、構成ファイルのコントローラバージョンを構成ファイルのコンピューティングデバイスバージョンに更新させることをさらに含む、請求項６に記載のコンピュータ実行方法。
【００９０】
８．構成ファイルのコンピューティングデバイスバージョンが、構成ファイルの最終バックアップ事例が行われたときのバージョンよりも新しく、構成ファイルのコントローラバージョンが、構成ファイルのコンピューティングデバイスバージョンよりも新しい、請求項１〜３にいずれか一項に記載のコンピュータ実行方法。
【００９１】
９．コントローラのメモリから、構成ファイルのコントローラバージョンを検索することと、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンで解決することと、をさらに含む、請求項８に記載のコンピュータ実行方法。
【００９２】
１０．ユーザインターフェースを介して、比較の結果に関連付けられたユーザ選択を受信すること、をさらに含む、請求項１〜９のいずれか一項に記載のコンピュータ実行方法。
【００９３】
１１．プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを評価するためのコンピューティングデバイスであって、コンピューティングデバイスは、通信ポートと、ユーザインターフェースと、デバイスメモリであって、（ｉ）一連のコンピュータ実行可能命令、（ｉｉ）構成ファイルのコンピューティングデバイスバージョン、及び（ｉｉｉ）コンピューティングデバイスによって、モジュール式制御システムに関連付けられたコントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例のレコードを記憶する、デバイスメモリと、プロセッサと、を含み、プロセッサは、通信ポート、ユーザインターフェース、及びメモリとインターフェースし、一連のコンピュータ実行可能命令を実行して、プロセッサが、通信ポートを介して、モジュール式制御システムに関連付けられたコントローラとインターフェースすることであって、コントローラは、構成ファイルのコントローラバージョンを記憶する、コントローラ内に組み込まれたメモリを有する、インターフェースすることと、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較することと、ユーザインターフェースに、（ｉ）構成ファイルのコンピューティングデバイスバージョン、構成ファイルの最終バックアップ事例、及び構成ファイルのコントローラバージョンの各々の表示、ならびに（ｉｉ）比較の結果を提示させることと、
を引き起こすように構成されている、コンピューティングデバイス。
【００９４】
１２．構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較するために、プロセッサが、構成ファイルのコンピューティングデバイスバージョンと構成ファイルのコントローラバージョンとにそれぞれ関連付けられた一連のタイムスタンプを比較するように構成されている、請求項１１に記載のコンピューティングデバイス。
【００９５】
１３．構成ファイルのコンピューティングデバイスバージョンが、ハッシュ関数によって生成されたデバイスハッシュ出力に関連付けられており、構成ファイルのコントローラバージョンが、ハッシュ関数によって生成されたコントローラハッシュ出力に関連付けられており、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較するために、プロセッサが、デバイスハッシュ出力をコントローラハッシュ出力と比較するように構成されている、請求項１１に記載のコンピューティングデバイス。
【００９６】
１４．（ｉ）構成ファイルのコンピューティングデバイスバージョンが、構成ファイルの最終バックアップ事例と一致し、（ｉｉ）構成ファイルのコントローラバージョンが、構成ファイルのコンピューティングデバイスバージョンよりも新しい、請求項１１〜１３のいずれか一項に記載のコンピューティングデバイス。
【００９７】
１５．プロセッサが、一連のコンピュータ実行可能命令を実行して、さらにプロセッサに、コントローラのメモリから、構成ファイルのコントローラバージョンを検索させ、デバイスメモリ内で、構成ファイルのコントローラバージョンに従って構成ファイルのコンピューティングデバイスバージョンを更新させるように構成されている、請求項１４に記載のコンピューティングデバイス。
【００９８】
１６．構成ファイルのコンピューティングデバイスバージョンが、（ｉ）構成ファイルの最終バックアップ事例が行われたときのバージョンよりも新しく、かつ（ｉｉ）構成ファイルのコントローラバージョンよりも新しい、請求項１１〜１３のいずれか一項に記載のコンピューティングデバイス。
【００９９】
１７．プロセッサが、一連のコンピュータ実行可能命令を実行して、さらにプロセッサがコントローラのメモリに構成ファイルのコントローラバージョンを構成ファイルのコンピューティングデバイスバージョンに更新させるように構成されている、請求項１６に記載のコンピューティングデバイス。
【０１００】
１８．構成ファイルのコンピューティングデバイスバージョンが、構成ファイルの最終バックアップ事例が行われたときのバージョンよりも新しく、構成ファイルのコントローラバージョンが、構成ファイルのコンピューティングデバイスバージョンよりも新しい、請求項１１〜１３のいずれか一項に記載のコンピューティングデバイス。
【０１０１】
１９．プロセッサが、一連のコンピュータ実行可能命令を実行して、さらにプロセッサに、コントローラのメモリから、構成ファイルのコントローラバージョンを検索させ、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンで解決させるように構成されている、請求項１８に記載のコンピューティングデバイス。
【０１０２】
２０．プロセッサが、一連のコンピュータ実行可能命令を実行して、さらにプロセッサに、ユーザインターフェースを介して、比較の結果に関連付けられたユーザ選択を受信さ
せるように構成されている、請求項１１〜１９にいずれか一項に記載のコンピューティングデバイス。
【０１０３】
２１．プロセスプラント内のモジュール式制御システムに関連付けられた構成ファイルのバージョンを管理するコンピューティングデバイスにおけるコンピュータ実行方法であって、コンピューティングデバイスは、構成ファイルのコンピューティングデバイスバージョンを記憶し、本方法は、コンピューティングデバイスによって、モジュール式制御システムに関連付けられたコントローラとインターフェースすることであって、コントローラは、構成ファイルのコントローラバージョンを記憶する、コントローラ内に組み込まれたメモリを有する、インターフェースすることと、コンピューティングデバイスのプロセッサによって、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較することと、コンピューティングデバイスのユーザインターフェースを介して、（ｉ）構成ファイルのコンピューティングデバイスバージョン、構成ファイルのコントローラバージョン、及びコンピューティングデバイスによって、コントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例の各々の表示、ならびに（ｉｉ）比較の結果を提示することと、ユーザインターフェースを介して、比較の結果に関連付けられたユーザ選択を受信することと、ユーザ選択に基づいて、構成ファイルのコンピューティングデバイスバージョン及び構成ファイルのコントローラバージョンのうちの少なくとも１つの更新を促進することと、を含む、コンピュータ実行方法。
【０１０４】
２２．比較の結果を提示することが、構成ファイルのコンピューティングデバイスバージョン、コントローラバージョン、及び最終バックアップ事例の時間のうちのどれが最新であるかを視覚的に表示することを含む、請求項２１に記載のコンピュータ実行方法。
【０１０５】
２３．ユーザ選択が、構成ファイルのコントローラバージョンに関連付けられており、更新を促進することが、コントローラのメモリから、構成ファイルのコントローラバージョンを検索することと、構成ファイルのコントローラバージョンに従って構成ファイルのコンピューティングデバイスバージョンを更新することと、を含む、請求項２１または２２のいずれかに記載のコンピュータ実行方法。
【０１０６】
２４．ユーザ選択が、構成ファイルのコンピューティングデバイスバージョンに関連付けられており、更新を促進することが、コントローラのメモリに、構成ファイルのコントローラバージョンを構成ファイルのコンピューティングデバイスバージョンに更新させることを含む、請求項２１または２２のいずれかに記載のコンピュータ実行方法。
【０１０７】
２５．プロセスプラント内のモジュール式制御システムであって、一連のプロセスを制御するように通信可能に接続された一連のプロセス制御デバイスと、構成ファイルのコントローラバージョンを記憶するコントローラであって、構成ファイルのコントローラバージョンに従って一連のプロセス制御デバイスを動作させるように構成されている、コントローラと、コントローラとインターフェースするように構成されたコンピューティングデバイスと、を備え、コンピューティングデバイスは、（ｉ）構成ファイルのコンピューティングデバイスバージョン、及び（ｉｉ）コンピューティングデバイスによって、コントローラの構成ファイルの最新バックアップを表す構成ファイルの最終バックアップ事例のレコードを記憶し、コンピューティングデバイスはさらに、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較し、ユーザインターフェースを介して、（ｉ）構成ファイルのコンピューティングデバイスバージョン、構成ファイルの最終バックアップ事例、及び構成ファイルのコントローラバージョンの各々の表示、ならびに（ｉｉ）比較の結果を提示するように構成されている、モジュール式制御システム。
【０１０８】
２６．比較の結果を提示するために、コンピューティングデバイスが、ユーザインターフェース内に、構成ファイルのコンピューティングデバイスバージョン、コントローラバージョン、及び最終バックアップ事例の時間のうちのどれが最新であるかを視覚的に表示するように構成されている、請求項２５に記載のモジュール式制御システム。
【０１０９】
２７．コンピューティングデバイスがさらに、ユーザインターフェースを介して、比較の結果に関連付けられたユーザ選択を受信し、ユーザ選択に基づいて、構成ファイルのコンピューティングデバイスバージョン及び構成ファイルのコントローラバージョンのうちの少なくとも１つの更新を促進するように構成されている、請求項２５または２６のいずれかに記載のモジュール式制御システム。
【０１１０】
２８．構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較するために、コンピューティングデバイスが、構成ファイルのコンピューティングデバイスバージョンと構成ファイルのコントローラバージョンとにそれぞれ関連付けられた一連のタイムスタンプを比較するように構成されている、請求項２５〜２７のいずれか一項に記載のモジュール式制御システム。
【０１１１】
２９．構成ファイルのコンピューティングデバイスバージョンが、ハッシュ関数によって生成されたデバイスハッシュ出力に関連付けられており、構成ファイルのコントローラバージョンが、ハッシュ関数によって生成されたコントローラハッシュ出力に関連付けられており、構成ファイルのコンピューティングデバイスバージョンを構成ファイルのコントローラバージョンと比較するために、コンピューティングデバイスが、デバイスハッシュ出力をコントローラハッシュ出力と比較するように構成されている、請求項２５〜２７のいずれか一項に記載のモジュール式制御システム。
【０１１２】
加えて、本開示の先の態様は、単に例示的なものであり、本開示の範囲を限定することを意図しない。
【０１１３】
以下の追加の検討事項が、上記の考察に適用される。本明細書全体を通して、任意のデバイスまたはルーチンによって実行されるものとして記載された動作は、機械可読命令に従ってデータを操作または変換するプロセッサの動作またはプロセスを概して指す。機械可読命令は、プロセッサに通信可能に連結されたメモリデバイス上に記憶され、それから検索され得る。換言すれば、本明細書に記載される方法は、コンピュータ可読媒体上に（すなわち、メモリデバイス上に）記憶された一連の機械実行可能命令によって具現化され得る。命令は、対応するデバイス（例えば、オペレータワークステーション、コミッショニングツール等）の１つ以上のプロセッサによって実行されたとき、プロセッサに方法を実行させる。命令、ルーチン、モジュール、プロセッサ、サービス、プログラム、及び／またはアプリケーションが、コンピュータ可読メモリ上またはコンピュータ可読媒体上に記憶または保存されるとして本明細書において言及される場合、「記憶（ｓｔｏｒｅｄ）」及び「保存（ｓａｖｅｄ）」という語は、一時的信号を除外することが意図される。
【０１１４】
さらに、「オペレータ（ｏｐｅｒａｔｏｒ）」、「従業員（ｐｅｒｓｏｎｎｅｌ）」、「人物（ｐｅｒｓｏｎ）」、「ユーザ（ｕｓｅｒ）」、「技術者（ｔｅｃｈｎｉｃｉａｎ）」、「管理者（ａｄｍｉｎｉｓｔｒａｔｏｒ）」という用語、及び同様の他の用語が、本明細書で記載されたシステム、装置、及び方法を使用またはそれらと相互作用し得るプロセスプラント環境内の人物を記載するために使用されるが、これらの用語は、限定を意図するものではない。特定の用語が説明で使用される場合、用語は、一部において、プラント従業員が従事する従来の活動に起因して使用されるが、特定の活動に従事し得る従業員を限定することを意図しない。
【０１１５】
加えて、本明細書を通して、複数の事例は、単一の事例として記載された構成要素、動作、または構造を実装し得る。１つ以上の方法の個々の動作が別個の動作として例解及び説明されたが、個々の動作のうちの１つ以上が同時に実行されてもよく、例解された順序で動作が実行される必要はない。例示的な構成内で別個の構成要素として提示された構造及び機能は、組み合わされた構造または構成要素として実装されてもよい。同様に、単一構成要素として提示された構造及び機能は、別個の構成要素として実装されてもよい。これらの及び他の変形、修正、追加、及び改善は、本明細書の主題の範囲内にある。
【０１１６】
別途特に記載されない限り、「処理すること（ｐｒｏｃｅｓｓｉｎｇ）」、「コンピューティングすること（ｃｏｍｐｕｔｉｎｇ）」、「計算すること（ｃａｌｃｕｌａｔｉｎｇ）」、「判定すること（ｄｅｔｅｒｍｉｎｉｎｇ）」、「特定すること（ｉｄｅｎｔｉｆｙｉｎｇ）」、「提示すること（ｐｒｅｓｅｎｔｉｎｇ）」、「提示させること（ｃａｕｓｉｎｇ  ｔｏ  ｂｅ  ｐｒｅｓｅｎｔｅｄ）」、「表示させること（ｃａｕｓｉｎｇ
ｔｏ  ｂｅ  ｄｉｓｐｌａｙｅｄ）」、「表示すること（ｄｉｓｐｌａｙｉｎｇ）」等のような語を使用する本明細書の考察は、１つ以上のメモリ（例えば、揮発性メモリ、不揮発性メモリ、もしくはそれらの組み合わせ）、レジスタ、または情報を受信、記憶、送信、もしくは表示する他の機械構成要素内の物理（例えば、電気、磁気、生体、もしくは光）量として表されたデータを操作または変換する機械（例えば、コンピュータ）の動作またはプロセスを指し得る。
【０１１７】
ソフトウェアに実装される場合、本明細書に記載されるアプリケーション、サービス、及びエンジンはいずれも、コンピュータもしくはプロセッサのＲＡＭもしくはＲＯＭ等における磁気ディスク、レーザディスク、固体メモリデバイス、分子メモリストレージデバイス、または他の記憶媒体等の、任意の有形の非一時的コンピュータ可読メモリに記録され得る。本明細書に開示される例示的システムは、他の構成要素の中でも、ハードウェア上で実行されるソフトウェア及び／またはファームウェアを含むように開示されているが、そのようなシステムは単に例示的であるに過ぎず、限定的であると見なされるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、及びファームウェア構成要素のうちのいずれかまたは全てが、ハードウェアにのみ、ソフトウェアにのみ、あるいはハードウェア及びソフトウェアの任意の組み合わせで、埋め込まれ得ることが企図される。したがって、当業者は、提供された例がこのようなシステムを実装する唯一の方式ではないことを容易に理解するであろう。
【０１１８】
したがって、本発明は具体的な例に関して記載されてきたが、これらの例は例解的であるに過ぎず、本発明の限定であることを意図せず、変更、追加、または削除が、本発明の主旨及び範囲から逸脱することなく、開示される実施形態に対して行われ得ることが当業者には明らかであろう。
【０１１９】
ある用語が、本特許において、「本明細書では…を意味するように定義される（Ａｓ  ｕｓｅｄ  ｈｅｒｅｉｎ，  ｔｈｅ  ｔｅｒｍ  ‘＿＿＿＿＿＿’  ｉｓ  ｈｅｒｅｂｙ
ｄｅｆｉｎｅｄ  ｔｏ  ｍｅａｎ  ．．．）」という文、または同様の文を使用して明確に定義されない限り、その用語の意味を、その平易または通常の意味を超えて明確にあるいは暗示的のいずれかに限定することは意図されていないことが理解されるべきであり、かつそのような用語は、本特許の任意の項においてなされた任意の言明に基づいて（特許請求の範囲の文言を除く）、範囲が限定されると解釈されるべきではない。本特許の最後で特許請求の範囲内に記載された任意の用語が単一の意味と矛盾しない様式で本特許内において言及されるという点で、それは、読み手を混乱させないために単に明瞭化のためになされ、このような特許請求の範囲の用語が、示唆またはその他の点で、その単一の意味に限定されることを意図するものではない。最後に、特許請求の範囲の要素が、任意の
構造の詳説なしに、「手段（ｍｅａｎｓ）」という語及び機能を列記することによって定義されていない限り、いかなる特許請求の範囲の要素の範囲も、米国特許法１１２（ｆ）条及び／または旧米国特許法  １１２条第６段落の適用に基づいて解釈されることは意図されていない。
【０１２０】
さらに、上記の文章は多くの異なる実施形態の詳細な説明を記載しているが、本特許の範囲が、本特許の最後に記載される特許請求の範囲の語によって定義されることが理解されるべきである。詳細な説明は、単に例示的なものとして解釈されるべきであり、全ての可能な実施形態を説明することは、不可能ではない場合でも非現実的であるので、全ての可能な実施形態を説明するものではない。多くの代替的実施形態が、現在の技術または本特許の出願日の後に開発された技術のいずれかを使用して実装され得るが、これらは、依然として特許請求の範囲の範囲内に収まるであろう。
【図１】
2019053731.tif 000003
【図２】
2019053731.tif 000004
【図３】
2019053731.tif 000005
【図４】
2019053731.tif 000006
【図５】
2019053731.tif 000007
【図６】
2019053731.tif 000008
【図７】
2019053731.tif 000009
【外国語明細書】
2019053731000001.pdf