(57)【要約】      （修正有）【課題】プロセス制御システムの検査を管理する例示的な方法および装置を開示する。【解決手段】プロセス制御ルーチンから検査アプリケーションを発生させるステップであって、検査アプリケーションが時間間隔内に実施されるべき少なくとも１つの検査を含むステップと、プロセス制御ルーチンのオペレーションを監視するステップと、時間間隔中の前記プロセス制御ルーチンのオペレーションが、少なくとも１つの検査と実質的に同様であるプロセス制御ルーチンの一部分の実行を含むかどうかを判定するステップと、少なくとも１つの検査が時間間隔内に実行されたことを示すことによって、検査アプリケーションを更新するステップと、を含む。【選択図】図７
2011048826.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御システムの検査を管理する方法であって、前記方法が、
プロセス制御ルーチンから検査アプリケーションを発生させるステップであって、前記検査アプリケーションが、時間間隔内に実施されるべき少なくとも１つの検査を含むステップと、
前記プロセス制御ルーチンのオペレーションを監視するステップと、
前記時間間隔中の前記プロセス制御ルーチンの前記オペレーションが、前記少なくとも１つの検査と実質的に同様である前記プロセス制御ルーチンの一部分の実行を含むかどうかを判定するステップと、
前記少なくとも１つの検査が前記時間間隔内に実行されたことを示すことによって、前記検査アプリケーションを更新するステップと、を含む方法。
【請求項２】
前記プロセス制御ルーチンの前記一部分の前記実行が、前記少なくとも１つの検査と関連付けられる問題の適切な軽減を含むかどうかを判定するステップと、
前記プロセス制御ルーチンの前記一部分の前記実行が、前記適切な軽減を含むかどうか判定するステップの後に、前記少なくとも１つの検査が、第２の時間間隔内に実行されるべきことを示すステップであって、前記第２の時間間隔が前記第１の時間間隔の後に起こるステップと、をさらに含む請求項１に記載される方法。
【請求項３】
前記適切な軽減が、前記プロセス制御システム内の前記問題を訂正するために、特定されたプロセス制御応答を含む、請求項２に記載される方法。
【請求項４】
前記適切な軽減を判定するステップの後に、前記少なくとも１つの検査にタイムスタンプを与えるステップと、
前記適切な軽減、前記少なくとも１つの検査の前記タイムスタンプまたは前記少なくとも１つの検査のうち少なくとも１つを、検査記録に保存するステップと、をさらに含む請求項２に記載される方法。
【請求項５】
前記プロセス制御ルーチンから前記検査アプリケーションを発生させるステップが、
前記プロセス制御ルーチン内の少なくとも１つのパラメータに基づいて、少なくとも１つの検査限度を決定するステップ、
前記プロセス制御ルーチン内の命令の順番に基づいて、前記少なくとも１つの検査のシーケンスに順番を付けるステップ、あるいは
前記プロセス制御ルーチン内の機能のタイプに基づいて、前記少なくとも１つの検査の前記シーケンスに順番を付けるステップ、のうち少なくとも１つを含む、請求項１に記載される方法。
【請求項６】
前記プロセス制御ルーチンの修正を受信するステップと、
前記修正に基づいて、前記検査アプリケーションを修正するステップと、
前記修正された検査アプリケーションを、前記検査アプリケーションの別のバージョンとして保存するステップと、をさらに含む請求項１に記載される方法。
【請求項７】
前記少なくとも１つの検査を含む前記検査アプリケーションから検査計画を発生させるステップと、
前記検査計画内に含まれる前記少なくとも１つの検査を実行するように、オペレータにプロンプトするステップと、
前記検査計画と関連付けられるデータまたは前記検査アプリケーションと関連付けられるデータのうち少なくとも１つを受信するステップと、
前記受信されたデータが、前記少なくとも１つの検査の適切な軽減と対応するかどうかを判定するステップと、
前記検査計画を更新して、前記少なくとも１つの検査が前記時間間隔にわたって検証されることを示すステップと、をさらに含む請求項１に記載される方法。
【請求項８】
前記オペレータに、識別値についてプロンプトするステップと、
前記識別値を受信するステップと、
担当者訓練記録のデータベースにアクセスするステップと、
前記識別値に対応する訓練記録が、前記オペレータが前記検査計画を実行することを許容されていることを示す表示を含むかどうかを判定するステップと、
前記オペレータが、前記検査計画を実行することを許容するステップと、をさらに含む請求項７に記載される方法。
【請求項９】
前記検査計画の結果を前記検査アプリケーションと組み合わせて、前記第１の時間間隔に関する検査記録を生成するステップと、
前記少なくとも１つの検査が完了した時間を用いて、前記検査記録にタイムスタンプを与えるステップと、
前記検査アプリケーションと関連付けられる前記少なくとも１つの検査が、前記時間間隔内に完了したかどうかを判定するステップと、
前記少なくとも１つの検査が、前記時間間隔内に完了しなかったことを示す表示を発生させるステップと、をさらに含む請求項７に記載される方法。
【請求項１０】
プロセス制御システムの検査を管理する装置であって、前記装置が、
プロセス制御ルーチンのオペレーションを監視するルーチンモニタと、
時間間隔中の前記プロセス制御ルーチンの前記オペレーションが、検査アプリケーション内に含まれる少なくとも１つの検査と実質的に同様である前記プロセス制御ルーチンの一部分の実行を含むかどうかを判定する検査アプリケーションコンペアラであって、前記少なくとも１つの検査が、前記時間間隔内に実行されるべきである検査アプリケーションコンペアラと、
前記少なくとも１つの検査が前記時間間隔内に実行されたと判定することに応答して、前記検査アプリケーションを更新する検査アプリケーションモディファイアと、を備える装置。
【請求項１１】
前記プロセス制御ルーチンから前記検査アプリケーションを発生させる検査アプリケーションジェネレータ、をさらに備える請求項１０に記載される装置。
【請求項１２】
前記検査アプリケーションジェネレータが、
前記プロセス制御ルーチン内の少なくとも１つのパラメータに基づいて、少なくとも１つの検査限度を決定すること、
前記プロセス制御ルーチン内の命令の順番に基づいて、前記少なくとも１つの検査のシーケンスに順番を付けること、または
前記プロセス制御ルーチン内の機能のタイプに基づいて、前記少なくとも１つの検査の前記シーケンスに順番を付けること、のうち少なくとも１つによって、前記プロセス制御ルーチンから前記検査アプリケーションを発生させる、請求項１１に記載される装置。
【請求項１３】
前記検査アプリケーションジェネレータが、前記少なくとも１つの検査を含む前記検査アプリケーションから検査計画を発生させる、請求項１１に記載される装置。
【請求項１４】
検査アプリケーションプロセッサであって、
前記検査計画内に含まれる前記少なくとも１つの検査を実行するようにオペレータにプロンプトし、
前記オペレータに、識別値についてプロンプトし、かつ
前記識別値を受信する検査アプリケーションプロセッサと、
前記検査計画と関連付けられるデータまたは前記検査アプリケーションと関連付けられるデータのうち少なくとも１つを受信する検査実行ベリファイアと、をさらに備える請求項１３に記載される装置。
【請求項１５】
前記検査アプリケーションコンペアラが、
前記受信されたデータが、前記少なくとも１つの検査の適切な軽減に対応するかどうかを判定し、
担当者訓練記録のデータベースにアクセスし、
前記識別値に対応する訓練記録が、前記オペレータが前記検査計画を実行できるようにされることを示す表示を含むかどうかを判定し、
前記オペレータが、前記検査計画を実行できるようにし、
前記検査計画の結果を前記検査アプリケーションと組み合わせて、前記第１の時間間隔に関する検査記録を生成し、かつ
前記検査アプリケーションに関連付けられる前記少なくとも１つの検査が、前記時間間隔内に完了したかどうかを判定する、請求項１４に記載される装置。
【請求項１６】
前記検査アプリケーションモディファイアが、
前記検査計画を更新して、前記少なくとも１つの検査が前記時間間隔にわたって検証されることを示し、かつ
前記少なくとも１つの検査が完了した時間を用いて、前記検査記録にタイムスタンプを与える、請求項１５に記載される装置。
【請求項１７】
前記検査アプリケーションコンペアラが、前記少なくとも１つの検査が前記時間間隔内に完了しなかったことを示す表示を発生させる、請求項１６に記載される装置。
【請求項１８】
前記検査アプリケーションコンペアラが、前記プロセス制御ルーチンの前記一部分の前記実行が前記少なくとも１つの検査と関連付けられる問題の適切な軽減を含むかどうかを判定する、請求項１０に記載される装置。
【請求項１９】
前記検査アプリケーションコンペアラが、前記プロセス制御ルーチンの前記一部分の前記実行が前記適切な軽減を含むかどうかを判定した後に、前記検査アプリケーションモディファイアが、
前記少なくとも１つの検査が第２の時間間隔内に実行され、前記第２の時間間隔が前記第１の時間間隔の後に起こることを示すこと、
前記少なくとも１つの検査にタイムスタンプを与えること、あるいは
前記適切な軽減、前記少なくとも１つの検査の前記タイムスタンプまたは前記少なくとも１つの検査のうち少なくとも１つを、検査記録に保存すること、のうち少なくとも１つを行う、請求項１８に記載される装置。
【請求項２０】
前記適切な軽減が、前記プロセス制御システム内の前記問題を訂正するために、特定されたプロセス制御応答を含むかどうかを判定することによって、前記検査アプリケーションコンペアラが前記適切な軽減を判定する、請求項１８に記載される装置。
【請求項２１】
前記検査アプリケーションモディファイアが、
前記プロセス制御ルーチンへの修正を受信し、
前記修正に基づいて、前記検査アプリケーションを修正し、かつ
前記検査アプリケーションの別のバージョンとして、前記修正された検査アプリケーションを保存する、請求項１０に記載される装置。
【請求項２２】
命令がその上に保存された機械アクセス可能な媒体であって、実行されるときに、機械に、
プロセス制御ルーチンから、時間間隔内で実行されるべき少なくとも１つの検査を含む検査アプリケーションを発生させ、
前記プロセス制御ルーチンのオペレーションを監視させ、
前記時間間隔中の前記プロセス制御ルーチンの前記オペレーションが、前記少なくとも１つの検査と実質的に同様である前記プロセス制御ルーチンの一部分の実行を含むかどうかを判定させ、かつ
前記少なくとも１つの検査が前記時間間隔内に実行されたことを示すことによって、前記検査アプリケーションを更新させる、機械アクセス可能な媒体。
【請求項２３】
前記機械アクセス可能な命令が、実行されるときに、前記機械に、
前記プロセス制御ルーチンの前記一部分の前記実行が、前記少なくとも１つの検査と関連付けられる問題の適切な軽減を含むかどうかを判定させ、かつ
前記プロセス制御ルーチンの前記一部分の前記実行が前記適切な軽減を含むかどうかを判定した後に、前記少なくとも１つの検査が前記第１の時間間隔の後に起こる第２の時間間隔内に実行されることを示させる、請求項２２に記載される機械アクセス可能な媒体。
【請求項２４】
前記機械アクセス可能な命令が、実行されるときに、前記機械に、前記適切な軽減が前記プロセス制御システム内の前記問題を訂正するために、特定されたプロセス制御応答を含むかどうかを判定させる、請求項２３に記載される機械アクセス可能な媒体。
【請求項２５】
前記機械アクセス可能な命令が、実行されるときに、前記機械に、
前記適切な軽減を判定した後に、前記少なくとも１つの検査にタイムスタンプを与えさせ、かつ
前記適切な軽減、前記少なくとも１つの検査の前記タイムスタンプまたは前記少なくとも１つの検査のうち少なくとも１つを、検査記録に保存させる、請求項２３に記載される機械アクセス可能な媒体。
【請求項２６】
前記機械アクセス可能な命令が、実行されるときに、
前記プロセス制御ルーチン内の少なくとも１つのパラメータに基づいて、少なくとも１つの検査限度を決定すること、
前記プロセス制御ルーチン内の命令の順番に基づいて、前記少なくとも１つの検査のシーケンスに順番を付けること、または
前記プロセス制御ルーチン内の機能のタイプに基づいて、前記少なくとも１つの検査の前記シーケンスに順番を付けることのうち少なくとも１つによって、前記機械に、前記プロセス制御ルーチンから前記検査アプリケーションを発生させる、請求項２２に記載される機械アクセス可能な媒体。
【請求項２７】
前記機械アクセス可能な命令が、実行されるときに、前記機械に、
前記プロセス制御ルーチンへの修正を受信させ、
前記修正に基づいて、前記検査アプリケーションを修正させ、かつ
前記検査アプリケーションの別のバージョンとして、前記修正された検査アプリケーションを保存させる、請求項２２に記載される機械アクセス可能な媒体。
【請求項２８】
前記機械アクセス可能な命令が、実行されるときに、前記機械に、
前記少なくとも１つの検査を含む前記検査アプリケーションから、検査計画を発生させ、
前記検査計画内に含まれる前記少なくとも１つの検査を実行するように、オペレータにプロンプトさせ、
前記検査計画に関連付けられるデータまたは前記検査アプリケーションに関連付けられるデータのうち少なくとも１つを受信させ、
前記受信されたデータが前記少なくとも１つの検査の適切な軽減に対応するかどうかを判定させ、かつ
前記検査計画を更新して、前記少なくとも１つの検査が前記時間間隔に関して検証されることを示させる、請求項２２に記載される機械アクセス可能な媒体。
【請求項２９】
前記機械アクセス可能な命令が、実行されるときに、前記機械に、
識別値について前記オペレータにプロンプトさせ、
前記識別値を受信させ、
担当者訓練記録のデータベースにアクセスさせ、
前記識別値に対応する訓練記録が、前記オペレータが前記検査計画を実行することを許容することを示す表示を含むかどうかを判定させ、かつ、
前記オペレータが前記検査計画を実行することを許容する、請求項２８に記載される機械アクセス可能な媒体。
【請求項３０】
前記機械アクセス可能な命令が、実行されるときに、前記機械に、
前記検査計画の結果を前記検査アプリケーションと組み合わせて、前記第１の時間間隔に関する検査記録を生成させ、
前記少なくとも１つの検査が完了した時間を用いて、前記検査記録にタイムスタンプを与え、
前記検査アプリケーションに関連付けられる前記少なくとも１つの検査が前記時間間隔内に完了したかどうかを判定させ、かつ
前記少なくとも１つの検査が前記時間間隔内に完了しなかったことを示す表示を発生させる、請求項２８に記載される機械アクセス可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般には、プロセス制御システムに関し、より詳細には、プロセス制御システムの検査を管理する方法および装置に関する。
【背景技術】
【０００２】
化学プロセス、石油プロセスまたはその他のプロセスで使用されるもののようなプロセス制御システムは、典型的には、アナログバス、デジタルバスまたはアナログ／デジタル複合バスを介して、少なくとも１つのホストワークステーションまたはオペレータワークステーションに、ならびに１つまたは複数のフィールドデバイスに通信可能に結合された１つまたは複数のプロセスコントローラおよび入出力（Ｉ／Ｏ）デバイスを含む。たとえば、バルブ、バルブポジショナ、スイッチおよびトランスミッタ（たとえば、温度センサ、圧力センサおよび流量センサ）とすることができるフィールドデバイスは、バルブの開閉およびプロセス制御パラメータの測定などのプロセスにおけるプロセス制御機能を実行する。プロセスコントローラは、フィールドデバイスによって測定されたプロセス測定値を示す信号を受信し、制御ルーチンを実施するためにこの情報を処理し、プロセスのオペレーションを制御するためにバスまたはその他の通信線を介してフィールドデバイスへ送信される制御信号を発生させる。このようにして、プロセスコントローラは、フィールドデバイスを使用して、フィールドデバイスを通信可能に結合するバスおよび／またはその他の通信リンクを介して制御ストラテジまたはルーチンを実行および調整することができる。
【０００３】
フィールドデバイスおよびコントローラからの情報を、オペレータワークステーション（たとえば、プロセッサベースのシステム）によって実行される１つまたは複数のアプリケーション（すなわち、ソフトウェアルーチン、プログラムなど）で利用できるようにして、（たとえば、グラフィカルユーザインターフェースを介して）プロセスの現在の状態を閲覧する、プロセスを評価する、（たとえば、ビジュアルオブジェクトダイアグラムを介して）プロセスのオペレーションを修正するなどのプロセスに対して所望の機能をオペレータが実行できるようにすることができる。多くのプロセス制御システムはまた、１つまたは複数のアプリケーションステーションを含む。典型的には、これらのアプリケーションステーションは、コントローラ、オペレータワークステーションおよびプロセス制御システム内のその他のシステムにローカルエリアネットワーク（ＬＡＮ）を介して通信可能に結合されるパーソナルコンピュータ、ワークステーションなどを使用して実施することができる。各アプリケーションステーションは、プロセス制御システム内で、キャンペーン管理機能、メンテナンス管理機能、ビジュアル制御機能、診断機能、リアルタイム監視機能、安全に関する機能、構成機能などを実行する１つまたは複数のストラテジ、ルーチンまたはアプリケーションを実行することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プロセス制御システムは、典型的には、設計されたようにまたは特定されたようにストラテジ、ルーチンまたはアプリケーションが動作していることを検証するために、周期的な検査を必要とするストラテジ、ルーチンまたはアプリケーションを実施する。たとえば、センサの入力を変化させて、アプリケーションにアクチュエータを駆動させることによって、センサおよびアクチュエータを含むアプリケーションを検証することができる。シミュレーションされたセンサ入力値をアプリケーションに適用することおよび／またはシミュレーションされた値をアクチュエータに適用することは、アプリケーションを検証し、検査時間を短縮するには十分であり得るが、センサおよび／またはアクチュエータの実際の物理的オペレーションを検証するためには十分ではない場合がある。現在は、アプリケーションまたはプロセス制御システムを検証するために、オペレータは、センサに手動で入力を提供し、対応するアクチュエータの位置を記録する場合がある。しかしながら、この手動の検証プロセスは、オペレータが同時に１つの検査しかできないので、時間がかかる場合がある。さらに、検証プロセスには、アプリケーションまたはプロセス制御システムのシャットダウンが必要となり、その結果、生産性が損なわれる場合がある。
【課題を解決するための手段】
【０００５】
プロセス制御システムの検査を管理する例示的な方法および装置が開示される。１つの例において、方法は、プロセス制御ルーチンから検査アプリケーションを発生させるステップを含み、検査アプリケーションは、時間間隔内に実施されるべき少なくとも１つの検査を含む。例示的な方法はさらに、プロセス制御ルーチンのオペレーションを監視するステップと、時間間隔中の前記プロセス制御ルーチンのオペレーションが、少なくとも１つの検査と実質的に同様であるプロセス制御ルーチンの一部分の実行を含むかどうかを判定するステップと、少なくとも１つの検査が時間間隔内に実行されたことを示すことによって、検査アプリケーションを更新するステップと、を含む。
【０００６】
例示的な装置は、プロセス制御ルーチンのオペレーションを監視するルーチンモニタと、時間間隔中のプロセス制御ルーチンのオペレーションが、検査アプリケーション内に含まれる少なくとも１つの検査と実質的に同様である前記プロセス制御ルーチンの一部分の実行を含むかどうかを判定する検査アプリケーションコンペアラであって、少なくとも１つの検査が、時間間隔内に実行されるべきである検査アプリケーションコンペアラとを含む。例示的な装置はさらに、少なくとも１つの検査が時間間隔内に実行されたことを示すことによって、検査アプリケーションを更新する検査アプリケーションモディファイアを含む。いくつかの例では、例示的な装置は、前記プロセス制御ルーチンから検査アプリケーションを発生させる検査アプリケーションジェネレータも含むことができる。
【図面の簡単な説明】
【０００７】
【図１】例示的な検査アプリケーションマネージャを含む例示的なプロセス制御システムを示すブロック図である。
【図２】図１の例示的な検査アプリケーションマネージャの機能図である。
【図３】図１のプロセス制御ルーチンおよび対応する検査アプリケーションを示す。
【図４】図３の例示的な検査アプリケーションおよび例示的な検査に関する検査説明テーブルを示す。
【図５】図４における例示的な検査ＴＥＳＴ０１Ｌの検証履歴を示す。
【図６】図１のプロセス制御システムおよび／またはプロセス制御ルーチンに関する例示的なオペレータ訓練記録を示す。
【図７】図１および／または図２の例示的な検査アプリケーションマネージャ、例示的な検査アプリケーションジェネレータ、例示的な検査アプリケーションモディファイア、例示的なルーチンモニタ、例示的な検査アプリケーションコンペアラ、例示的な検査実行ベリファイアおよび／または例示的な検査アプリケーションプロセッサを実施するために使用することができる例示的な方法のフローチャートを示す。
【図８】図１および／または図２の例示的な検査アプリケーションマネージャ、例示的な検査アプリケーションジェネレータ、例示的な検査アプリケーションモディファイア、例示的なルーチンモニタ、例示的な検査アプリケーションコンペアラ、例示的な検査実行ベリファイアおよび／または例示的な検査アプリケーションプロセッサを実施するために使用することができる例示的な方法のフローチャートを示す。
【図９Ａ】図１および／または図２の例示的な検査アプリケーションマネージャ、例示的な検査アプリケーションジェネレータ、例示的な検査アプリケーションモディファイア、例示的なルーチンモニタ、例示的な検査アプリケーションコンペアラ、例示的な検査実行ベリファイアおよび／または例示的な検査アプリケーションプロセッサを実施するために使用することができる例示的な方法のフローチャートを示す。
【図９Ｂ】図１および／または図２の例示的な検査アプリケーションマネージャ、例示的な検査アプリケーションジェネレータ、例示的な検査アプリケーションモディファイア、例示的なルーチンモニタ、例示的な検査アプリケーションコンペアラ、例示的な検査実行ベリファイアおよび／または例示的な検査アプリケーションプロセッサを実施するために使用することができる例示的な方法のフローチャートを示す。
【図１０】本明細書に記載される例示的な方法および装置を実施するために使用できる例示的なプロセッサシステムのブロック図である。
【発明を実施するための形態】
【０００８】
その他のコンポーネントの中でも、ハードウェア上で実行されるソフトウェアおよび／またはファームウェアを含む例示的な方法および装置について以下に記載されるが、これらの例は単に例示的なものに過ぎず、限定的なものとしてみなすべきではないことを留意されたい。たとえば、ハードウェア、ソフトウェアおよびファームウェアコンポーネントのうちいずれかまたは全てを、ハードウェアでのみ、ソフトウェアでのみ、あるいはハードウェアおよびソフトウェアの任意の組合せで実施し得ることが企図される。したがって、例示的な方法および装置について以下に記載されるが、提供された例は、このような方法および装置を実施するための唯一の方法ではないことが、当業者には容易に理解できよう。たとえば、プロセス制御システムを検査することに関連して、例示的な方法および装置が記載されるが、例示的な方法および装置は、より一般的に応用可能であり、これらの方法および装置を、任意の自動化システム、バッチ処理システム、製造システム、工業制御システム、安全計装システムなどを検査および／または検証するために実施することができる。
【０００９】
典型的には、プロセス制御システムの設計者は、制御ストラテジ、ルーチン、アルゴリズムおよび／またはアプリケーションを実装して、プロセス制御システムを動作させる。次いで、プロセス制御検査の設計者は、その制御ストラテジ、アルゴリズム、ルーチンおよび／またはアプリケーションに少なくとも部分的に基づいて、プロセス制御システムを検査するための検査手順を生成することができる。したがって、検査設計者は、検査手順を生成し、システム設計者は、制御ルーチンを実施し、その結果、プロセス制御システムは、１つまたは複数の対応する検査手順から独立するシステムおよび／またはルーチンを含むことが多い。この独立性の結果、プロセス制御システムおよび／またはルーチンに対して、対応する検査手順に反映することができない修正がもたらされ、これにより、検査手順によって適切に検証されないまたは検証できない修正がもたらされる。しかしながら、プロセス制御システムは、一般的には、設計されたようにまたは特定されるように、ルーチンが実行していることを検証するために、周期的な検査を必要とするルーチンを実施する。したがって、ストラテジ、ルーチンおよび／またはアプリケーションのその他の検証された部分または検証可能な部分よりも高い確率で、未検証の修正が問題および／または誤動作を経験し得る可能性が存在する。
【００１０】
さらに、プロセス制御ルーチンおよび対応する検査手順は、互いに独立していることが多いので、一般には、検査手順は、プロセス制御ルーチンが保留されている間に、プロセス制御オペレータによって実行される。上述のように、プロセス制御システムおよび／またはルーチンを検証するために、オペレータは、プロセス制御システム内のいくつかのフィールドデバイスに手動で入力を提供し、プロセス制御システム内のその他の対応するフィールドデバイスの出力を記録することができる。しかしながら、このマニュアル検証プロセスは、オペレータが同時に１つの検査しか実行できない（すなわち、順次）ので、時間がかかる場合がある。さらに、検証プロセスは、可能でないまたは実施可能でないプロセス制御システムのシャットダウンを必要とすることがあり、および／または、その結果、生産性が損なわれる場合がある。
【００１１】
さらに、任意のプロセス制御オペレータは、１つまたは複数のプロセス制御ルーチンを検証しようと試みることができる。しかしながら、いくつかの場合では、そのオペレータは、検証を行うための適切な訓練を受けることができない。適切な訓練を受けていないオペレータは、検査を不適切に実行する場合があり、および／または、検査の結果を不正確に記録し、その結果、ルーチンおよび／またはプロセス制御フィールドデバイスの検証が済んでいない場合がある。時間が経過するにつれて、未検証のルーチンまたはフィールドデバイスは、誤動作を訂正するために、製品品質やプロセス品質の低下および／またはプロセスの停止につながる予防可能な誤動作を経験することがある。
【００１２】
本明細書に記載される例示的な方法および装置は、プロセス制御ルーチンおよび／またはプロセス制御システムのオペレーションを、対応する検査手順と組み合わせて、そのルーチンおよび／またはプロセス制御システムの検査の管理を最適化する。より具体的には、本明細書に記載される例示的な方法および装置は、プロセス制御ストラテジ、ルーチン、アルゴリズムおよび／またはアプリケーションから、またはそれらに基づいて、検査手順（たとえば、検査アプリケーション）を発生させることができる。いくつかの例では、検査タイプに基づいて、検査データベースのその他の検査に、検査アプリケーション内の検査を組み合わせる、および／または、追加することができる。
【００１３】
次いで、例示的な方法および装置は、ストラテジ、ルーチン、アルゴリズムおよび／またはアプリケーションを監視して、検査アプリケーション内の１つまたは複数の検査と実質的に同様のイベントが起こるかどうかを判定することができる。１つまたは複数の検査と実質的に同様のイベントが起こる場合、例示的な方法および装置は、そのイベントが適切に軽減されたかどうかを判定する。そのイベントがプロセス制御システムによって適切に軽減された場合、次いで、例示的な方法および装置は、１つまたは複数の検査が検証されたことを示すことによって、検査アプリケーションを更新することができる。検査がプロセス制御システムのルーチンまたは通常のオペレーションの最中に効率的に検証済みなので、検査アプリケーションを自動的に更新することによって、例示的な方法および装置は、どの検査が検証する必要が無いのかを文書化することによって、検査時間を最適化する。
【００１４】
例示的な方法および装置は、イベント（たとえば、プロセス制御ルーチンの一部分の実行）と関連付けられるパラメータ、機能および／またはフィールドデバイスを、１つまたは複数の検査内で特定されるパラメータ、機能および／またはフィールドデバイスと比較することによって、そのイベントが１つまたは複数の検査と実質的に同様であることを判定することができる。たとえば、プロセス制御ルーチンは、センサからのパラメータを含むことができ、このパラメータは処理機能の一部であるセンサによって測定された入力に対応する。検査アプリケーションは、センサの入力範囲全体（たとえば、０．５バールから３５バール）を検証する検査を含むことができる。センサの入力範囲を分割することによって、この検査を、センサに対する低い入力範囲（たとえば、０．５バールから１０バール）に関する検査と、センサに対する高い入力範囲（たとえば、１０バールから３５バール）に関する検査とに分けることができる。プロセス制御ルーチンの実行中に、センサは、センサの低い範囲内の入力（たとえば、２バール）を受信することができる。このような入力を受信すると、例示的な方法および装置は、このイベントを、低い範囲のセンサ検査とマッチングすることができる。次いで、例示的な方法および装置が、センサの低い範囲に基づいて、プロセス制御ルーチン内のイベント（たとえば、センサによって測定された入力の増加）の適切な軽減があったと判定する場合、低い範囲のセンサ検査を更新して、検査の完了を反映させることができる。また、例示的な方法および装置は、低い範囲のセンサ検査に関する次回検証日を示すことができ、この次回検証日は、検査のタイプに基づく時間増分（たとえば、完了日から６ヶ月）に基づくことができる。
【００１５】
プロセス制御イベント、プロセス制御問題および／またはプロセス制御ルーチンの一部分の実行の適切な軽減は、イベントおよび／または問題を修正するための特定される応答を含むことができる。たとえば、対応するセンサを用いる上述のルーチンは、低い範囲のセンサ入力の関数である量だけポンプスピードを上昇させるための指示を含むことができる。センサが、センサの低い範囲に対応する入力を受信すると、例示的な方法および装置は、ルーチンが、検知された入力の関数である量だけポンプスピードを上昇させるかどうかを判定することができる。ルーチンがポンプスピードを適切に上昇させたと例示的な方法および装置が判定する場合、本方法および装置は、イベントが適切に軽減されたことを示し、低い範囲のセンサ検査の検証を記録することができる。
【００１６】
さらに、例示的な方法および装置が検査アプリケーションを対応するプロセス制御ルーチンと組み合わせるので、修正の実施時に、ルーチンに対して行われた変更および修正を検査アプリケーション内に反映させることができる。それに加えて、例示的な方法および装置は、検査アプリケーションを監視して、１つまたは複数の検査が、特定の日付によって検証するために特定されるかどうかを判定することができる。いくつかの例において、検査アプリケーション内の１つまたは複数の検査が、ある特定の日付によって検証されなければならない場合、例示的な方法および装置は、検査計画を発生させて、検証プロセスを通じてオペレータをガイドすることができる。例示的な方法および装置は、検証手順に関連する任意のプロセス制御を受信し、検査計画に関する検査証明の一部としてこのデータを使用することができる。
【００１７】
それに加えて、例示的な方法および装置は、オペレータが所与の検査計画を実行するために適切に訓練されると判定することができる。たとえば、オペレータは、検査計画を実行するためにプロセス制御システムにログインすることができる。例示的な方法および装置は、データベースを訓練記録と相互参照するためにオペレータによって提供された識別値を使用して、オペレータが訓練計画を実行できる（たとえば、訓練計画を実行するための許可を有する、あるいは、資格を有する）かどうかを判定することができる。オペレータが適切な資格をもたない場合、例示的な方法および装置は、オペレータに、オペレータが検査計画を実行する前に完了することができる訓練に対する一覧および／または基準を提供することができる。したがって、例示的な方法および装置を、オペレータ訓練を構築するために、ならびに／あるいは、予め必要な訓練クラスおよび／またはエクササイズに基づく訓練レベルを構成するために、プロセス制御環境で使用することができる。さらに、検査計画を完了するオペレータの身分証明の記録をとることによって、例示的な方法および装置は、検査計画を実行したオペレータの身分証明に基づいて、任意の将来のイベントおよび／または問題を問題解決するために使用することができる文書化システムを提供することができる。
【００１８】
図１は、例示的なプロセス制御システム１００を示すブロック図であり、例示的な検査アプリケーションマネージャ１０１を含む。検査アプリケーションマネージャ１０１は、検査手順をプロセス制御ルーチンに関連付ける。図１の例において、検査アプリケーションマネージャ１０１は、プロセス制御ルーチン１０２から検査アプリケーション１０３を発生させる。プロセス制御ルーチン１０２は、ワークステーション１０５（たとえば、アプリケーションステーション、オペレータステーションなど）内に表示することができるビジュアルオブジェクトダイアグラム１０４を含む。ワークステーション１０５は、ローカルエリアネットワーク（ＬＡＮ）１０８（たとえば、アプリケーション制御ネットワーク（ＡＣＮ））を介して、プロセス制御コントローラ１０６に通信可能に結合される。この例では、検査アプリケーションマネージャ１０１およびプロセス制御ルーチン１０２は、ワークステーション１０５内で実施される。それに代わってまたはそれに加えて、検査アプリケーションマネージャ１０１および／またはプロセス制御ルーチン１０２を、コントローラ１０６内で実施して、プロセス制御ルーチンまたはアプリケーションを管理し、検査し、および／または、動作させることができる。
【００１９】
ワークステーション１０５は、１つまたは複数の情報技術アプリケーション、ユーザ対話型アプリケーションおよび／または通信アプリケーションと関連付けられるオペレーションを実行するように構成することができる。たとえば、ワークステーション１０５は、プロセス制御に関連するアプリケーションと関連付けられるオペレーションを実行するように、また、ワークステーション１０５およびコントローラ１０６が、任意の所望の通信媒体（たとえば、無線、有線など）およびプロトコル（たとえば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）など）を使用して、その他のデバイスまたはシステムと通信できるようにする通信アプリケーションと関連付けられるオペレーションを実行するように構成することができる。また、ワークステーション１０５は、グラフィカルインターフェースを介して、またはグラフィカルインターフェース内で、プロセス制御ルーチン１０２のパラメータおよび／または機能からプロセス制御プロセスを生成、管理、検査および／または修正するように構成することができる。ワークステーション１０５は、任意の好適なコンピュータシステムまたはプロセッシングシステム（たとえば、図１０のプロセッサシステムＰ１０）を使用して実施することができる。たとえば、シングルプロセッサパーソナルコンピュータ、シングルプロセッサワークステーションまたはマルチプロセッサワークステーションなどを使用して、ワークステーション１０５を実装することができる。
【００２０】
ワークステーション１０５をコントローラ１０６に結合するＬＡＮ１０８は、任意の所望の通信媒体およびプロトコルを使用して実施することができる。たとえば、ＬＡＮ１０８は、有線または無線イーサネット（登録商標）通信スキームに基づいていてもよい。しかしながら、任意のその他の好適な通信媒体およびプロトコルを使用することができる。さらに、ＬＡＮが１つだけ図示されているが、ワークステーション１０５内の２つ以上のＬＡＮおよび適当な通信ハードウェアを使用して、ワークステーション１０５とそれに対応する同様のワークステーション（図示せず）との間に冗長な通信経路を提供してもよい。
【００２１】
図１の例示的なプロセス制御システム１００において、例示的なワークステーション１０５は、プロセス制御オペレータが、コントローラ１０６によって処理されたプロセス制御データを閲覧、修正および／または検査できるようにする。コントローラ１０６は、システムエンジニアまたはその他のシステム担当者によってワークステーション１０５または任意のその他のワークステーションを使用して発生され、かつ、コントローラ１０６にダウンロードされインスタンス化された１つまたは複数のプロセス制御ルーチンを実行することができる。コントローラ１０６は、たとえば、Ｅｍｅｒｓｏｎ  Ｐｒｏｃｅｓｓ  Ｍａｎａｇｅｍｅｎｔの一企業である、Ｆｉｓｈｅｒ−Ｒｏｓｅｍｏｕｎｔ  Ｓｙｓｔｅｍｓ，  Ｉｎｃ．社により販売されるＤｅｌｔａＶ（商標）コントローラとすることができる。しかしながら、任意のその他のコントローラを代わりに使用してもよい。さらに、図１には、コントローラが１つだけ示されているが、任意の所望のタイプのコントローラを追加して、または複数のタイプのコントローラを組み合わせて、ＬＡＮ１０８に結合することができる。
【００２２】
コントローラ１０６は、デジタルデータバス１１４、および出入力（Ｉ／Ｏ）デバイス１１６を介して、フィールドデバイス１１０ａ〜ｂ、およびポンプ１１２を含む、複数のプロセス制御デバイスに結合される。プロセス制御ルーチンの実行中に、コントローラ１０６は、フィールドデバイス１１０ａ〜ｂおよびポンプ１１２と、情報（たとえば、コマンド、構成情報、測定情報、ステータス情報など）を交換することができる。この情報は、プロセス制御ルーチン機能内のパラメータを含むことができる。たとえば、コントローラ１０６は、プロセス制御ルーチンを備えることができ、このプロセス制御ルーチンは、コントローラ１０６によって実行されると、コントローラ１０６にコマンドをフィールドデバイス１１０ａ〜ｂおよびポンプ１１２へ送信させ、これにより、フィールドデバイス１１０ａ〜ｂおよびポンプ１１２に特定されたオペレーション（たとえば、測定の実行、バルブの開閉、有効化／無効化など）を実行させ、ならびに／あるいは、デジタルデータバス１１４を介して情報（たとえば、測定データ）をコントローラ１０６へ通信させる。次いで、ワークステーション１０５は、コントローラ１０６を介してその情報にアクセスすることができる。
【００２３】
図１の図示された例では、プロセス制御ルーチン１０２は、ワークステーション１０５において、ポンプ１１２を制御、および／またはポンプ１１２とインターフェースするために、プロパティおよび構成情報を定義するように構成される。ポンプ１１２は、プロセス制御ルーチン１０２を介して制御することができ、このプロセス制御ルーチン１０２は、コントローラ１０６内で実施、および／またはコントローラ１０６により実行することができる。それに加えて、プロセス制御ルーチン１０２は、フィールドデバイス１１０ａ〜ｂを制御、および／またはフィールドデバイス１１０ａ〜ｂとインターフェースするために、プロパティおよび制御情報を定義する。フィールドデバイス１１０ａ〜ｂは、任意の１つまたは複数のタイプのセンサまたは測定デバイス、アクチュエータなどを含む任意のタイプの１つまたは複数のプロセス制御デバイスとすることができる。それに加えて、フィールドデバイス１１０ａ〜ｂは、たとえば、タンク、バット、ミキサ、ボイラ、ヒーターなどのようなプロセス制御設備を含むことができる。
【００２４】
図１の図示された例では、フィールドデバイス１１０ａ〜ｂおよび１１２は、フィールドバスに適合するデバイスであり、よく知られるＦｏｕｎｄａｔｉｏｎ（商標）Ｆｉｅｌｄｂｕｓプロトコルを使用してデジタルデータバス１１４を介して通信するように構成される。Ｆｏｕｎｄａｔｉｏｎ（商標）Ｆｉｅｌｄｂｕｓプロトコルによると、デジタルデータバス１１４は、測定デバイスおよび制御デバイス（たとえば、デバイス１１０ａ〜ｂおよび１１２）に通信可能に結合されるように構成されたデジタルで双方向のマルチドロップ通信バスである。図示された例では、Ｉ／Ｏデバイス１１６は、コントローラ１０６ならびにデバイス１１０ａ〜ｂおよび１１２を、Ｆｉｅｌｄｂｕｓプロトコルまたはその他のタイプの通信プロトコル（たとえば、Ｐｒｏｆｉｂｕｓプロトコル、ＨＡＲＴプロトコルなど）を使用することができるその他のフィールドデバイスに通信可能に結合できるようにするＩ／Ｏサブシステムインターフェースを用いて実施される。たとえば、Ｉ／Ｏデバイス１１６は、Ｆｉｅｌｄｂｕｓプロトコルと１つまたは複数のその他の通信プロトコルとの間で変換を行う１つまたは複数のゲートウェイを含むことができる。（Ｉ／Ｏデバイス１１６と同様または同一の）追加のＩ／Ｏデバイスを、コントローラ１０６に結合して、フィールドデバイスの追加のグループが、コントローラ１０６と通信できるようにすることができる。
【００２５】
プロセス制御ルーチン１０２は、Ｉ／Ｏデバイス１１６を介して、フィールドデバイス１１０ａ〜ｂおよび１１２を管理および／または動作させるための命令のセットを含むことができる。プロセス制御ルーチン１０２は、プロセス監視アプリケーション、警告管理アプリケーション、プロセストレンディングおよび／または履歴アプリケーション、バッチ処理および／またはキャンペーン管理アプリケーション、統計アプリケーション、ストリーミングビデオアプリケーション、高度制御アプリケーションなどを含むことができる。コントローラ１０６は、プロセス制御ルーチンを制御および／または管理するためのプロセス制御ルーチン１０２を含むことができる。ワークステーション１０５のオペレータは、プロセス制御ルーチン１０２および／またはプロセス制御ルーチン１０２と関連付けられるデータを修正および／または閲覧することができる。たとえば、ワークステーション１０５を使用するオペレータは、ビジュアルオブジェクトダイアグラム１０４を介して、プロセス制御ルーチン１０２および／またはデータを修正し、かつ／あるいは、プロセス制御ルーチン１０２および／またはデータにアクセスすることができる。
【００２６】
ビジュアルオブジェクトダイアグラム１０４は、プロセス制御ルーチン１０２（たとえば、プロセス制御ストラテジ、論理、アルゴリズム、アプリケーションなど）を表し、かつ／またはそれらを備える相互接続された複数の機能ブロックを含む。１つまたは複数のプロセス制御機能および／またはアプリケーションを実施するように、各機能ブロックを定義することができる。たとえば、機能ブロックは、プロセス制御システムから入力を受信し、プロセス制御システムに対する出力を発生させ、プロセス制御入力に基づくパラメータ値および／またはその他のパラメータ値を計算し、入力および／またはパラメータを監視し、入力および／またはパラメータ値を保存し、かつ／あるいは、制御アクションを計算することができる。
【００２７】
ビジュアルオブジェクトダイアグラム１０４は、プロセス制御ルーチン１０２のグラフィカル表現である。機能ブロックと関連付けられる機能は、ワークステーション１０５および／またはコントローラ１０６によって、プロセス制御ルーチン１０２の一部として実施することができる。したがって、ユーザが、プロセス制御データにアクセスし、ならびに／あるいは、１つまたは複数の機能ブロックを修正するときに、ワークステーション１０５および／またはコントローラ１０６は、ビジュアルオブジェクトダイアグラム１０４とプロセス制御ルーチン１０２との間の修正を調整する。その他の実施形態では、ワークステーション１０５は、修正されたビジュアルオブジェクトダイアグラム（たとえば、ビジュアルオブジェクトダイアグラム１０４）を修正されたプロセス制御ルーチン１０２にコンパイルし、修正されたプロセス制御ルーチン１０２をコントローラ１０６に保存することができる。
【００２８】
ビジュアルオブジェクトダイアグラム１０４内の機能ブロックは、１次機能ブロックがその他の１次機能ブロックおよび／または２次機能ブロックに結合されている階層構造として構成することができる。さらに、２次機能ブロックのそれぞれをサブレベルの機能ブロックに結合し、サブレベルの機能ブロックのそれぞれをより下位の機能ブロックなどに結合することができる。
【００２９】
一般には、図１の例示的な検査アプリケーションマネージャ１０１は、プロセス制御ルーチン１０２にアクセスして検査アプリケーション１０３を発生させ、検査アプリケーション１０３内の検査に対応することができるイベントについてプロセス制御ルーチン１０２を監視する。検査アプリケーションマネージャ１０１は、ワークステーション１０５内のプロセス制御ルーチン１０２にアクセスすることができ、あるいは、プロセス制御ルーチン１０２がコントローラ１０６内で実施され、検査アプリケーションマネージャ１０１がワークステーション１０５内で実施される場合には、ＬＡＮ１０８を介して、プロセス制御ルーチン１０２にアクセスすることができる。
【００３０】
プロセス制御ルーチン１０２が生成されると、検査アプリケーションマネージャ１０１は、対応する検査アプリケーション１０３を発生させることができる。その他の例では、検査アプリケーションマネージャ１０１は、プロセス制御オペレータまたはその他の担当者からの命令に応答して、検査アプリケーション１０３を発生させることができる。例示的な検査アプリケーションマネージャ１０１は、ビジュアルオブジェクトダイアグラム１０４にアクセスすること、ならびに、機能ブロックの編成に基づく個別の検査、機能ブロックと関連付けられるパラメータ、パラメータの限度、および／または機能ブロックの機能（たとえば、機能タイプ）を構築することによって、検査アプリケーション１０３を発生させることができる。
【００３１】
たとえば、ビジュアルオブジェクトダイアグラム１０４は、フィールドデバイス１１０ａからパラメータ値を受信し、そのパラメータ値が、しきい値（たとえば、最大値、最小値、限度値など）を超える、しきい値を下回る、および／あるいはしきい値から逸脱しているかどうかを判定し、そのパラメータ値がしきい値から逸脱している場合には、命令を別の機能ブロックへ送信して、その逸脱（たとえば、しきい値から逸脱しているパラメータ値から生じるプロセス制御問題）を訂正する機能ブロックを含むことができる。パラメータ値は、プロセス制御システム１００の環境コンポーネントを測定するフィールドデバイス１１０ａからの出力と関連付けることができる。この場合には、例示的な検査アプリケーションマネージャ１０１は、機能ブロック内のパラメータのしきい値に基づいて検査を発生させることができる。さらに、検査アプリケーションマネージャ１０１は、フィールドデバイス１１０ａの入力測定範囲、フィールドデバイス１１０ａの出力範囲および／またはフィールドデバイス１１０ａからの出力に基づいて命令を発生させる機能ブロック内の機能に基づいて、検査を発生させることができる。具体的には、フィールドデバイス１１０ａの特定された入力測定範囲が０．５バールから３５バールである場合、検査アプリケーションマネージャ１０１は、フィールドデバイス１１０ａが、０．５バールから３５バールの入力を正確に測定できることを検証するための検査を発生させることができる。
【００３２】
例示的な検査アプリケーション１０３は、プロセス制御システム１００内のフィールドデバイス１１０ａ〜ｂ、ポンプ１１２、Ｉ／Ｏデバイス１１６，および／またはコントローラ１０６のオペレーション能力を検証するための一連の検査を含む検査手順および／または検査計画とすることができる。また、検査アプリケーション１０３は、プロセス制御ルーチン１０２内の機能、アルゴリズム、プロセスおよび／または計算が特定された基準内で動作することを検証するための検査を含むことができる。検査アプリケーション１０３内の各検査は、プロセス制御システム１００の実際に起こり得るイベントおよび／または問題に、より具体的に対応することができるサブ検査を含むことができる。たとえば、フィールドデバイス１１０ａの０．５バールから３５バールの入力範囲を検証する検査を、より低い入力範囲（たとえば、０．５バールから２バール）を検証する検査と、より高い入力範囲（たとえば、３３バールから３５バール）を検証する検査とに、さらに分割することができる。このようにして、フィールドデバイス１１０ａが比較的低い入力値（たとえば、１バール）を受信したときに、検査の一部分を検証することができ、フィールドデバイス１１０ａが比較的高い入力値（たとえば、３４バール）を受信したときに、検査のその他の部分を別途検証することができる。
【００３３】
さらに、例示的な検査アプリケーション１０３を、データベースに保存し、一連の個別の検査として整理することができる。各検査は、検査完了時間（たとえば、年、月、日、時間、分および／または秒）に対応するデータフィールドおよび／または検査の証明を保存するためのデータフィールドを含むことができる。検査の証明は、プロセス制御ルーチン１０２を検証するために使用されるプロセス制御データおよび／またはプロセス制御システム１００内のコンポーネント（たとえば、フィールドデバイス１１０ａ〜ｂ）を検証するために使用されるプロセス制御データを含むことができる。たとえば、フィールドデバイス１１０ａは、低い入力範囲検査を検証するために検査アプリケーションマネージャ１０１が使用する０．６バールの値を測定することができる。この０．６バールの値を、検査の証明としてデータフィールド内に保存することができる。それに加えて、０．６バールの値の測定のタイムスタンプおよび／またはフィールドデバイス１１０ａの識別値（たとえば、ＰＴ１０１）を、検査データフィールドの証明に含めることができる。
【００３４】
さらに、プロセス制御ルーチン１０２が修正される例では、例示的な検査アプリケーションマネージャ１０１は、修正されたプロセス制御ルーチン１０２を検出し、それにしたがって検査アプリケーション１０３を自動的に更新する。検査アプリケーションマネージャ１０１は、プロセス制御ルーチン１０２に対する修正を周期的にチェックすることができ、あるいは代替的には、検査アプリケーションマネージャ１０１は、プロセス制御ルーチン１０２から、またはワークステーション１０５内の任意の関連付けられたコンポーネントから、プロセス制御ルーチン１０２を修正したことを示すメッセージを受信することができる。プロセス制御ルーチン１０２を修正する際に検査アプリケーション１０３を自動的に更新することによって、例示的な検査アプリケーションマネージャ１０１により、ルーチン１０２に対して完全で効果的な検査適用範囲が確実に存在することになる。
【００３５】
オペレーション時に、例示的な検査アプリケーションマネージャ１０１は、イベント、問題および／または検査アプリケーション１０３内の検査と実質的に同様であり得るプロセス制御ルーチン１０２の一部分の実行に関するプロセス制御ルーチン１０２のオペレーションを監視する。いくつかの例では、検査アプリケーションマネージャ１０１は、イベントおよび／または問題に関して、コントローラ１０６とフィールドデバイス１１０ａ〜ｂの間の通信を監視することができる。それに代わってまたはそれに加えて、検査アプリケーションマネージャ１０１は、コントローラ１０６および／またはワークステーション１０５内のルーチン１０２を監視することができる。プロセス制御ルーチン１０２を監視することによって、検査アプリケーションマネージャ１０１は、プロセス制御システム１００の通常のオペレーションを使用して、検査アプリケーション１０３内の検査のうち１つまたは複数の完了を検証できることを判定することができる。プロセス制御システム１００の通常のオペレーション中に検査を検証することにより、特定された検証時間中にオペレータがプロセス制御ルーチン１０２の未検証の部分に対応する検査のみを確実に実行することによって、総検査時間つまり検査時間全体を短縮することができる。
【００３６】
例示的な検査アプリケーションマネージャ１０１は、パラメータ、フィールドデバイス、機能ならびに／あるいはイベント、問題および／またはプロセス制御ルーチン１０２の一部分の実行と関連付けられる機能ブロックを、検査内に含まれ、かつ、検査を発生させるために使用することができた情報と相互参照することによって、イベント、問題および／またはプロセス制御ルーチン１０２の一部分の実行が、検査アプリケーション１０３内の検査と実質的に同様であるかどうかを判定することができる。たとえば、フィールドデバイス１１０ａの入力範囲を検証するための検査は、フィールドデバイス（たとえば、ＰＴ１０１）１１０ａの識別子、フィールドデバイス１１０ａの入力と関連付けられるパラメータに対する識別子および／またはリンク、フィールドデバイス１１０ａの入力に対応するプロセス制御ルーチン１０２内のロケーション、ならびに／あるいはフィールドデバイス１１０ａの入力と関連付けられるパラメータを受信する機能ブロックの識別子を含むことができる。検査アプリケーションマネージャ１０１は、ルーチン１０２がこれらの識別子のいずれかからデータを受信するときのインスタンスについて、プロセス制御ルーチン１０２を監視することができる。次いで、検査アプリケーションマネージャ１０１は、受信されたデータが、対応する検査の限度内であるかどうかを判定することができる。たとえば、フィールドデバイス１１０ａへの１０バールの入力は、０．５バールから２バールのより低い入力範囲の検査を検証するためには十分でない場合がある。
【００３７】
イベント、問題および／またはプロセス制御ルーチン１０２の一部分の実行が、検査アプリケーション１０３内の検査と実質的に同様であると判定されると、例示的な検査アプリケーションマネージャ１０１は、問題および／またはイベントの適切な軽減が起こったかどうかを判定することができる。適切な軽減は、イベントおよび／または問題を訂正するための特定の解決策を含む。各検査は、適切な軽減に関する特定された条件を含むことができ、あるいは代替的には、検査アプリケーションマネージャ１０１は、プロセス制御ルーチン１０２が、問題の発生および存在を示すことを停止し、ならびに／あるいは、問題と関連付けられるエラーフラグを選択しなくなる、またはデアサートするかどうかに基づいて、適切な軽減が起こったかどうかを判定することができる。検査アプリケーションマネージャ１０１が、問題に対して適切な軽減が起こったと判定する場合、検査アプリケーションマネージャ１０１は、次いで、対応する検査が完了したことを示すことによって、検査アプリケーションを更新することができる。指示は、検査の証明、検査が行われたときのタイムスタンプ、起こった軽減および／または問題と関連付けられるフィールドデバイスを含むことができる。また、検査アプリケーションマネージャ１０１は、完了されるべき次の検査に関する新たな時間を決定することができる。たとえば、検査アプリケーションマネージャ１０１は、検査が６ヶ月毎に行われるべきであると決定することができる。したがって、検査が、２００９年５月１３日に完了する場合、検査アプリケーションマネージャ１０１は、次回検査時間を２００９年１１月１３日と決定することができる。
【００３８】
また、例示的な検査アプリケーションマネージャ１０１は、検査アプリケーション１０３内の検査の完了を監視し、完了時間が近づいているおよび／または経過した任意の検査（たとえば、特定されたまたは所定の期間内に完了していない任意の検査）を完了させるようにオペレータに命令を送ることができる。代替的には、検査アプリケーションマネージャ１０１は、特定された検証時間にオペレータが行うべき検査の検査計画または検査手順を発生させることができる。検査アプリケーションマネージャ１０１は、プロセス制御システム１００の通常のオペレーション中にどの検査が既に完了しているかに基づいて、検査計画に含まれるべき検査をフィルタリングすることができる。
【００３９】
図１の例示的な検査アプリケーションマネージャ１０１は、検査シーケンスを介しておよび／または個々のステップを介してオペレータに検査を完了させるように指示することによって、検査計画の完了を管理することができる。それに加えて、検査アプリケーションマネージャ１０１は、検査結果および／または検査証明をオペレータにプロンプトし、ならびに／あるいは、検査を行うオペレータと関連付けられる身分証明を記録することができる。さらに、検査アプリケーションマネージャ１０１は、これらの方法で検証されるように特定される検査に基づいて、オペレータが、検査偏差を入力し、および／または、検査結果を手動で報告できるようにすることができる。また、検査アプリケーションマネージャ１０１は、検査計画をフィルタリングすることによって、検査計画のどの検査の実行が任意選択または必須であるか示すことができる。それに加えて、検査アプリケーションマネージャ１０１は、検査計画で実行されるべき検査の優先順位を示すことができ、既に完了した検査には、より低い優先順位を割り当てられる。それに加えて、検査アプリケーションマネージャ１０１は、実行された検査と関連付けられるプロセス制御データを受信することができ、そのデータを対応する検査証明データフィールドにポピュレートすることができる。さらに、検査アプリケーションマネージャ１０１は、既に完了した検査内でオペレータによって行われた検査からの結果または検査証明を組み合わせて、検査アプリケーション１０３内に完全な検査記録を形成することができる。また、検査アプリケーションマネージャ１０１は、新しい検証時間（たとえば、検査を行う新しい時間周期）で、各検査を更新することができる。
【００４０】
また、例示的な検査アプリケーションマネージャ１０１は、検査計画および／または手順を実行するためのオペレータの特権も管理する。たとえば、検査アプリケーションマネージャ１０１は、検査計画を提供する前に、オペレータに識別値をプロンプトすることができる。次いで、検査アプリケーションマネージャ１０１は、データベースにアクセスして、オペレータがプロセス制御検査を行う権限をもつかどうかを判定することができる。データベースは、オペレータに関する訓練記録を含むことができ、この訓練記録は、たとえば、オペレータの訓練レベル、オペレータが完了した訓練クラス、オペレータに関連付けられる権限を与えられた検査、オペレータに対して権限を与えられたプロセス制御エリア、次の訓練レベルおよび／またはエリアに到達するために前提となる訓練などを含むことができる。それに加えて、検査アプリケーションマネージャ１０１は、オペレータが実施する権限をもつ検査に基づいて、検査計画の検査をフィルタリングすることができる。したがって、このようにして、検査アプリケーションマネージャ１０１は、プロセス制御検査手順にアクセス可能なプロセス制御オペレータ訓練記録を組み込むためのフレームワークを提供する。
【００４１】
例示的なプロセス制御システム１００は以下にさらに詳細に説明される例示的な方法および装置をその中で有利に使用することができる１つのタイプのシステムを示すために提供される。しかしながら、本明細書に記載される例示的な方法および装置は、所望であれば、図１に示される例示的なプロセス制御システム１００および／またはプロセス制御アクティビティ、自動化アクティビティ、工業アクティビティ、企業管理アクティビティ、通信アクティビティ、安全アクティビティなどに関連して使用されるシステムに比べて、より複雑な、またはより複雑でないその他のシステムで有利に使用することができる。
【００４２】
図２は、図１の例示的な検査アプリケーションマネージャ１０１の機能図である。例示的な検査アプリケーションマネージャ１０１は、検査計画にアクセスすることにより、検査アプリケーションを発生させ、プロセス制御ルーチンを監視し、完了した検査により検査アプリケーションを更新し、オペレータによる検査の完了を管理し、および／またはオペレータ訓練を組み込むための機能ブロックを含む。例示的な検査アプリケーションマネージャ１０１が、複数のプロセスを実施するように構成された複数の機能ブロックを含む一方で、検査アプリケーションマネージャ１０１は、複数の機能ブロックを組み合わせる、または追加の複数の機能ブロックを含むことができる。いくつかの例では、検査アプリケーションマネージャ１０１を単一のプロセス制御システム（たとえば、プロセス制御システム１００）と関連付けることができるが、他の例では、検査アプリケーションマネージャ１０１は、複数のプロセス制御システムの検査を管理することができる。
【００４３】
プロセス制御ルーチンから検査アプリケーションを発生させるために、図２の例示的な検査アプリケーションマネージャ１０１は、検査アプリケーションジェネレータ２０２を含む。例示的な検査アプリケーションジェネレータ２０２は、通信経路２０４を介してプロセス制御ルーチンにアクセスして、検査アプリケーションを発生させることができる。通信経路２０４は、１つまたは複数のプロセス制御ルーチンに通信可能に結合される任意のタイプの有線および／または無線の通信経路を含むことができる。
【００４４】
例示的な検査アプリケーションジェネレータ２０２は、ルーチンを生成すると、そのルーチンから検査アプリケーションを生成することができる。他の例では、検査アプリケーションジェネレータ２０２は、プロセス制御オペレータからの命令に応答して、検査アプリケーションを発生させることができる。検査アプリケーションジェネレータ２０２は、ルーチン内のパラメータに基づいて検査限度を決定することによって、ルーチンから検査アプリケーションを発生させることができる。さらに、検査アプリケーションジェネレータ２０２は、ルーチンと関連付けられるビジュアルオブジェクトダイアグラム内の機能ブロックの順番、機能および／またはタイプに基づいて、ならびに／あるいはルーチンに含まれるアルゴリズムもしくはプロセスの順番および／またはタイプによって、検査アプリケーション内の検査に順番を付けるおよび／または検査アプリケーション内の検査を順番に並べることができる。
【００４５】
さらに、例示的な検査アプリケーションジェネレータ２０２は、機能ブロック内で定義された関数、方程式、計算および／またはアルゴリズムを使用して、対応する検査に関する限度を定義することができる。たとえば、検査アプリケーションジェネレータ２０２は、アルゴリズム内の特定された値に基づいて検査に関する限度を判定することができ、そのアルゴリズムには、その特定された値に基づいてある特定のイベントをトリガすることができる。また、検査アプリケーションジェネレータ２０２は、検査全体が、特定の時間周期内の１つまたは複数のイベントおよび／または問題によって完了および／または検証することができない場合には、検査内にサブ検査を生成することができる。プロセス制御システム設計者による定義、および／または、検査アプリケーションを発生させるために検査アプリケーションジェネレータ２０２が使用するアルゴリズムによる特定により、これらの場合を定義することができる。
【００４６】
それに加えて、検査アプリケーションジェネレータ２０２は、ルーチン内のロケーションと相互参照することができる検査アプリケーション内の各検査内に識別子を含むことができる。次いで、検査アプリケーションマネージャ１０１は（検査アプリケーションコンペアラ２０６を介して）、ルーチン内のロケーションとの各検査の相互参照を使用して、ルーチンによって処理された問題またはイベントが、１つまたは複数の検査と実質的に同様かどうかを判定することができる。
【００４７】
例示的な検査アプリケーションジェネレータ２０２は、検査アプリケーションを生成すると、その検査アプリケーションを検査データベース２０８に保存することができる。検査データベース２０８は、電気的に消去可能なプログラム可能なリードオンリーメモリ（ＥＥＰＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）および／または任意のその他のタイプのメモリによって実施することができる。それに加えて、検査アプリケーションは、ワークステーション（たとえば、ワークステーション１０５）を通じて、検査データベース２０８に通信可能に結合される通信経路２１０を介して、オペレータによってアクセスされることができる。通信経路２１０は、任意のタイプの有線および／または無線の通信経路を含むことができる。
【００４８】
例示的な検査データベース２０８は、検査アプリケーションと、たとえば検査証明データ、検査が完了した日付、検査を完了したオペレータの身分証明、次回検査の完了日または検証日などを含む関連付けられる情報とを格納することができる。さらに、検査データベース２０８は、異なるバージョンの検査アプリケーションを保存することができ、各バージョンは、異なるバージョンのルーチンに対応することができる。それに加えて、検査データベース２０８内に保存された検査アプリケーション内の検査のそれぞれは、検査の配列として整理することができる。その他の例では、対応する検査アプリケーションによってグループ化される個別の検査として、検査アプリケーション内の各検査を保存することができる。また、検査データベース２０８は、任意の完了していない検査を完了させることによってオペレータをガイドするために発生させることができるそれぞれ対応する検査アプリケーションと関連付けられる検査計画および／または手順を保存することができる。さらに、検査アプリケーションジェネレータ２０２は、検査データベース２０８内の他の検査にアクセスし、検査タイプに基づいて、検査アプリケーション内の検査に他の検査を組み合わせる、および／または、追加することができる。
【００４９】
対応するプロセス制御ルーチンへの修正に基づいて検査アプリケーションを修正するために、図２の例示的な検査アプリケーションマネージャ１０１は、検査アプリケーションモディファイア２１２を含むことができる。例示的な検査アプリケーションモディファイア２１２は、プロセス制御ルーチンが修正済みであることを示す表示を受信し、検査データベース２０８内の対応する検査アプリケーションにアクセスし、および／または、修正されたプロセス制御ルーチンに基づいて検査アプリケーションを修正する。それに加えて、検査アプリケーションモディファイア２１２は、修正された検査アプリケーションを、未修正の検査アプリケーションとは異なるバーションとして保存することができる。例示的な検査アプリケーションモディファイア２１２は、コントローラおよび／またはワークステーションに通信可能に結合することができる通信経路２１４を介して、修正されたプロセス制御ルーチンの表示を受信することができる。通信経路２１４は、任意の有線および／または無線の通信経路によって実施することができる。
【００５０】
代替的な例では、例示的な検査アプリケーションモディファイア２１２は、修正に関するプロセス制御ルーチンを監視することができる。１つまたは複数の修正が検出されると、検査アプリケーションモディファイア２１２は、対応する検査アプリケーションにアクセスし、適当な変更を実施することができる。検査アプリケーションモディファイア２１２は、検査アプリケーションジェネレータ２０２が、機能ブロック、パラメータおよび／または任意のその他のルーチン情報を利用して、検査アプリケーションを構築するのと同じ方法で、検査アプリケーションを修正することができる。
【００５１】
さらに、検査アプリケーションモディファイア２１２が、検査が完了したという命令および／または表示を検査アプリケーションコンペアラ２０６から受信すると、検査アプリケーションモディファイア２１２は、検査データベース２０８の検査アプリケーション内の検査にアクセスし、検査が正常に実施されたことを示すように検査を更新することができる。検査アプリケーションモディファイア２１２は、検査の証明、いつ検査が完了したかに関するタイムスタンプ、検査を完了させたオペレータの識別値、検査の次の実行時間および／または検査が完了したことを示す任意のその他の情報と関連付けられる１つまたは複数の検査データフィールドに保存することによって、検査を更新することができる。
【００５２】
プロセス制御アプリケーションを監視するために、図２の例示的な検査アプリケーションマネージャ１０１は、ルーチンモニタ２１６を含む。例示的なルーチンモニタ２１６は、イベント、問題および／またはプロセス制御ルーチンの一部分の実行を含むことができるプロセス制御ルーチンのオペレーションを監視する。いくつかの例では、ルーチンモニタ２１６は、通信経路２１８を介して、コントローラ１０６とフィールドデバイス１１０ａ〜ｂと間の通信を監視することができる。それに代わってまたはそれに加えて、ルーチンモニタ２１６は、コントローラ１０６および／またはワークステーション１０５内の１つまたは複数のルーチンを、通信経路２１８を介して監視することができる。通信経路２１８は、任意のタイプの有線および／または有線の通信経路を含むことができる。
【００５３】
例示的なルーチンモニタ２１６は、任意のイベントおよび／または問題に関して特定のルーチンを監視し、次いで、それらのイベントおよび／または問題の表示を検査アプリケーションコンペアラ２０６へ転送することができる。代替的に、ルーチンモニタ２１６は、継続的にまたは周期的に処理アクティビティに関する１つまたは複数のルーチンを監視し、検出された全ての処理アクティビティを検査アプリケーションコンペアラ２０６へ転送することができる。さらに、ルーチンモニタ２１６に、検査アプリケーション内の検査と実質的に同様とすることができるイベントを含み得るプロセス制御ルーチンの一部分を監視するように命令することができる。それに加えて、ルーチンモニタ２１６は、ある特定の機能ブロック、パラメータおよび／または対応する検査アプリケーション内で識別または使用することができるルーチンの一部分のインスタンスについて、プロセス制御ルーチンを監視することができる。いくつかの例では、ルーチンモニタ２１６は、プロセス制御ルーチンを動作させながらプロセス制御ルーチンを監視することができる。他の例では、ルーチンモニタ２１６は、プロセス制御ルーチンの実行履歴を審査することができる。
【００５４】
問題、イベントおよび／またはプロセス制御ルーチンの一部分の実行が検出されると、例示的なルーチンモニタ２１６は、その問題、イベントおよび／またはプロセス制御ルーチンの一部分の実行と関連付けられる情報またはデータを検査アプリケーションコンペアラ２０６へ転送する。いくつかの例では、ルーチンモニタ２１６は、イベント、問題および／またはプロセス制御ルーチンの一部分の実行と関連付けられる情報またはデータを含む命令を、検査アプリケーションコンペアラ２０６へ転送することができる。
【００５５】
イベント、問題および／またはプロセス制御ルーチンの一部分の実行が、１つまたは複数の検査と実質的に同様であるかどうかを判定するために、図２の例示的な検査アプリケーションマネージャ１０１は、検査アプリケーションコンペアラ２０６を含むことができる。例示的な検査アプリケーションコンペアラ２０６は、イベント、問題および／またはプロセス制御ルーチンの一部分の実行に関連付けられるパラメータ、フィールドデバイス、機能および／または機能ブロックを、１つまたは複数の検査内に含まれる情報と相互参照することによって、その問題、イベントおよび／またはプロセス制御ルーチンの一部分の実行が、１つまたは複数の検査と実質的に同様であると判定することができる。
【００５６】
たとえば、検査アプリケーションコンペアラ２０６は、パラメータ値が２．４であるＯＵＴ＿０１として識別されるパラメータを含むルーチンモニタ２１６から、イベントと関連付けられる情報を受信することができる。検査アプリケーションコンペアラ２０６は、ＯＵＴ＿０１パラメータをＯＵＴ＿０１パラメータを含む検査と相互参照することができる。検査アプリケーションコンペアラ２０６は、次いで、そのパラメータ値を使用して、値２．４を含む検査内のサブ検査を決定することができる。他の例では、検査アプリケーションコンペアラ２０６は、検査に関する限度を設定するために使用される同じ機能と相互参照することができる機能を、ルーチンモニタ２１６から受信することができる。代替的に、検査アプリケーションコンペアラ２０６は、プロセス制御ルーチン内のロケーションを参照することができる各検査において識別子を使用して、イベントおよび／または問題が検査に対応しているかどうかを判定することができる。
【００５７】
イベント、問題および／またはプロセス制御ルーチンの一部分の実行が、検査アプリケーション内の検査と実質的に同様であることが判定されると、例示的な検査アプリケーションコンペアラ２０６は、その問題、イベントおよび／またはプロセス制御ルーチンの一部分の実行の適切な軽減が起こったかどうかを判定することができる。検査アプリケーションコンペアラ２０６は、特定された適切な軽減動作を含む検査内のデータフィールドにアクセスすることによって、検査に対する適切な軽減を決定することができる。代替的に、検査アプリケーションコンペアラ２０６は、それぞれのタイプのイベント、問題および／またはプロセス制御ルーチンの一部分に対する適切な軽減の一覧を含むデータベースにアクセスすることができる。さらに、検査アプリケーションコンペアラ２０６は、エラーフラグがリセットされたかどうかを判定するためにルーチンを監視することによって、ならびに／あるいは、イベントおよび／または問題の表示がもはやアクティブではないもしくは存在しないかどうかを判定することによって、適切な軽減が実行されたことを判定することができる。検査アプリケーションコンペアラ２０６が、適切な軽減が起こらなかったと判定する場合、検査アプリケーションコンペアラ２０６は、適切な軽減が起こったことを示す情報を用いて、検査を更新しない。
【００５８】
検査アプリケーションコンペアラ２０６が問題、イベントおよび／またはプロセス制御ルーチンのオペレーションの一部分に対して適切な軽減が起こったと判定する場合、検査アプリケーションコンペアラ２０６は、次いで、検査アプリケーションモディファイア２１２へ表示を送信して、対応する検査が効果的に完了したことを示すことにより、検査アプリケーションを更新することができる。その表示として、検査の証明データ、いつ検査が起こったかに関するタイムスタンプ、起こった軽減、および／または問題もしくはイベントと関連付けられるフィールドデバイスが挙げられる。また、検査アプリケーションコンペアラ２０６は、完了されるべき検査に関する新たな時間（たとえば、時間間隔）を決定し、この新たな検査時間を検査アプリケーションモディファイア２１２へ転送することができる。代替的に、検査アプリケーションコンペアラ２０６は、検査の完了の表示を保存するために、検査データベース２０８にアクセスすることができる。
【００５９】
また、例示的な検査アプリケーションコンペアラ２０６は、検査実行ベリファイア２２０からプロセス制御データを受信し、そのデータが適切な軽減および／または検査の証明と関連付けられているかどうかを判定することができる。また、検査アプリケーションコンペアラ２０６は、そのデータとともに含まれ得るパラメータ識別子、フィールドデバイス識別子および／または機能識別子に基づいて、このデータと関連付けることができるのはどの検査かを判定することができる。オペレータが１つまたは複数の検査を実行することができる例では、検査アプリケーションコンペアラ２０６は、実行された検査と関連付けられるプロセス制御データを受信し、どの検査がそのデータと関連付けられているかを判定し、そのデータとともに検査証明および／または適切な軽減データフィールドをポピュレートすることができる。
【００６０】
さらに、検査アプリケーションコンペアラ２０６は、検査アプリケーションを周期的に審査して、期限切れ、および／または期限切れになりそうな実行時間を有するいずれかの検査があるかどうかを判定することができる。１つまたは複数の検査が検出されると、検査アプリケーションコンペアラ２０６は、検査計画、検査手順および／またはオペレータに対する作業命令を発生させて、期限の時刻の前にまたは期限の時刻までに、これらの検査を実行することができる。代替的には、検査アプリケーションコンペアラ２０６は、特定された時間間隔内に実行されるべき検査について、検査計画および／または検査手順を周期的に発生させることができる。
【００６１】
例示的な検査アプリケーションコンペアラ２０６は、どの検査が実行されるべきかを判定することによって、検査計画を発生させることができる。検査アプリケーションコンペアラ２０６は、検査を行うべきオペレータの身分証明に基づいて、検査をフィルタリングすることができる。それに加えて、検査アプリケーションコンペアラ２０６は、オペレータが入力した検査に関する証明データおよび／または偏差検査データを受信し、これらのデータを対応する検査の適当なデータフィールドで組み合わせることができる。さらに、検査が不合格に終わった場合には、検査アプリケーションコンペアラ２０６は、対応する検査に対する不合格の記録を検査アプリケーションに保存することができ、および／または、プロセス制御担当者に対する不合格の表示を発生させて、その誤動作を修復することができる。
【００６２】
例示的な検査アプリケーションコンペアラ２０６は、自動検証機能および／または自己較正機能を含むことができるフィールドデバイス（たとえばフィールドデバイス１１０ａ〜ｂ）によって、１つまたは複数の検査を自動的に行うことを決定することができる。これらの例では、検査アプリケーションコンペアラ２０６は、自己検査を行うための命令をこれらのフィールドデバイスへ送信することができる。検査アプリケーションコンペアラ２０６は次いで、フィールドデバイスから検査実行ベリファイア２２０を介して結果を受信し、その結果が検査に合格すること示すかどうかを判定し、対応する検査の適当なデータフィールドに検査結果を記録することができる。
【００６３】
検査計画および／または検査手順の完了を管理するために、図２の例示的な検査アプリケーションマネージャ１０１は、検査アプリケーションプロセッサ２２４を含む。例示的な検査アプリケーションプロセッサ２２４は、検査計画を検査アプリケーションコンペアラ２０６から受信し、検査計画内に含まれる検査を実行するようにオペレータにプロンプトすることができる。検査アプリケーションプロセッサ２２４は、ワークステーション（たとえば、図１のワークステーション１０５）に通信可能に結合される通信経路２２６を介して、オペレータと通信することができる。通信経路２２６は、任意のタイプの有線および／または無線の通信経路を含むことができる。
【００６４】
また、検査アプリケーションプロセッサ２２４は、オペレータに割り当てられた識別値についてオペレータにプロンプトすることができる。オペレータの識別値を受信すると、検査アプリケーションプロセッサ２２４は、この識別値を検査アプリケーションコンペアラ２０６へ転送して、オペレータが検査計画のうちいくつかおよび／または全てを実行する権限をもつかどうかを判定することができる。識別値を受信すると、検査アプリケーションコンペアラ２０６は、オペレータ訓練記録を含む訓練データベース２２８にアクセスして、オペレータに関する訓練レベルのおよび／または許可を決定することができる。訓練データベース２２８は、各オペレータに関する訓練記録を含むことができる。訓練記録はそれぞれ、たとえば、オペレータの訓練レベル、オペレータが完了した訓練クラス、オペレータが権限をもつ検査、オペレータが権限をもつプロセス制御領域、次の訓練レベルおよび／または領域を到達するために前提となる訓練などを含むことができる。
【００６５】
訓練データベース２２８は、ＥＥＰＲＯＭ、ＲＡＭ、ＲＯＭおよび／または任意のその他のタイプのメモリによって実施することができる。さらに、訓練データベース２２８内の記録は、ワークステーションに通信可能に結合される任意のタイプの有線および／または無線の通信経路とすることができる通信経路２３０を介して、権限をもつプロセス制御担当者によって更新することができる。
【００６６】
訓練記録内のデータに基づいて、検査アプリケーションコンペアラ２０６は、オペレータが実行する権限をもつ検査計画内の検査をフィルタリングすることができ、および／または、オペレータがいずれの検査を実施する権限も有さない場合には、オペレータから検査計画を取り下げることができる。オペレータが実行する権限をもつ検査が判定されると、検査アプリケーションコンペアラ２０６は、検査を通じてオペレータをガイドするために、検査アプリケーションプロセッサ２２４に検査計画を転送する。この検査計画は、どの検査がオペレータによって省略され得るか、どの検査がオペレータによって手動で実行され得るか、その検査がオペレータによってシュミレーションされ得るか、どの検査がオペレータによる実行の偏差を有し得るか、および／または検査の実行順序に関する表示を含むことができる。これらの表示は、対応するルーチンに基づいて検査アプリケーションジェネレータ２０２によって発生し、および／または、プロセス制御システム検査エンジニアによって通信経路２１０を介して各検査に対して入力することができる。
【００６７】
検査アプリケーションプロセッサ２２４は、検査計画を受信すると、検査を通じてオペレータをガイドすることができる。いくつかの検査に関しては、検査アプリケーションプロセッサ２２４は、プロセス制御データを入力して、ルーチン内の検査機能への検査入力および／またはフィールドデバイスの出力をシュミレーションするように、オペレータに命令することができる。検査アプリケーションプロセッサ２２４は、この入力されたプロセス制御データを検査コンペアラ２０６に転送して、検査の証明として検査と関連付けられるデータフィールドに保存することができる。さらに、検査アプリケーションプロセッサ２２４は、オペレータによって測定されるべき、および／または、オペレータによって記録されるべきプロセス制御データを要求することができる。検査アプリケーションプロセッサ２２４は、このプロセス制御データを受信すると、検査の証明として検査と関連付けられるデータフィールドに保存するために、この受信されたプロセス制御データを検査コンペアラ２０６に転送することができる。たとえば、図１のフィールドデバイス１１０ａの入力範囲を検査するために、検査アプリケーションプロセッサ２２４は、フィールドデバイス１１０ａの検知要素に印加されるべき既知の圧力を含む検査を実行するように、オペレータにプロンプトすることができる。検査アプリケーションプロセッサ２２４は、特定された圧力をオペレータに示し、フィールドデバイス１１０ａに印加された圧力の値を入力するようにオペレータにプロンプトし、かつ／または、フィールドデバイス１１０ａによって報告された検知された圧力値を入力するようにオペレータにプロンプトすることができる。代替的には、検査実行ベリファイア２２０は、フィールドデバイス１１０ａの検知された圧力値を受信し、その値を検査アプリケーションコンペアラ２０６に転送して、検査の証明としてフィールドデバイス１１０ａに印加された圧力と組み合わせることができる。
【００６８】
例示的な検査アプリケーションプロセッサ２２４は、オペレータが、ルーチン内の機能ブロックのオペレーションを検証するためにプロセス制御入力および／または出力をシミュレーションできるようにする機能を含むことができる。それに加えて、シミュレーションされた入力を使用して、フィールドデバイスのオペレーションを検証することができる。検査アプリケーションプロセッサ２２４は、シミュレーションされた値を通信経路２２６を通じて、コントローラ１０６を介してフィールドデバイスへ、かつ／または、ワークステーション１０５を介してルーチンへ送信することができる。
【００６９】
さらに、例示的な検査アプリケーションプロセッサ２２４は、オペレータによって入力されるデータにタイムスタンプを与えて、検査が完了する時間を記録することができる。検査アプリケーションプロセッサ２２４は次いで、検査アプリケーションコンペアラ２０６へ転送された検査証明データ内のタイムスタンプを含むことができる。それに加えて、検査アプリケーションプロセッサ２２４は、自己検査（たとえば、自動検査）命令を、検査アプリケーションコンペアラ２０６から対応するフィールドデバイスに転送することができる。また、いくつかの例では、検査アプリケーションプロセッサ２２４は、検査計画を完了するための権限をもつオペレータに対して完了されるべき訓練またはタスクの一覧を、オペレータに提供することができる。
【００７０】
実行された検査と関連付けられるプロセス制御データを受信するために、図２の例示的な検査アプリケーションマネージャ１０１は検査実行ベリファイア２２０を含む。例示的な検査実行ベリファイア２２０は、任意のタイプの有線および／または無線の通信経路を含むことができる通信経路２２２を介して、ルーチンおよび／または図１のＬＡＮ１０８を監視することによって、プロセス制御データを受信することができる。代替的には、プロセス制御ルーチン、ワークステーション（たとえば、ワークステーション１０５）および／またはコントローラ１０６は、プロセス制御データを検査実行ベリファイア２２０へ送信することができる。
【００７１】
例示的な検査実行ベリファイア２２０は、フィールドデバイスによって送信されたパラメータおよび／またはルーチンによって実行された機能を、そのパラメータおよび／または機能と関連付けられる識別子により決定することによって、プロセス制御データについて監視することができる。たとえば、検査実行ベリファイア２２０は、ルーチン内で検出するためのパラメータ識別子の一覧を含むことができる。一覧にされたパラメータのうち１つをルーチンが受信するときはいつでも、検査実行ベリファイア２２０は、データ内に含まれるパラメータの識別値を使用して、そのパラメータに関連付けられるデータを検出することができる。それに加えて、検査実行ベリファイア２２０は、軽減アクションと関連付けられるルーチンの一部分を監視することによって、ルーチンが問題の適切な軽減を実行したかどうかを判定することができる。
【００７２】
例示的な検査実行ベリファイア２２０は、プロセス制御システムの一部分を自動的に検証するために使用することができる検査と関連付けられるプロセス制御データを受信することができる。代替的には、検査実行ベリファイア２２０は、検査アプリケーションプロセッサ２２４を介して、オペレータにより実行された検査と関連付けられるプロセス制御データを受信することができる。検査実行ベリファイア２２０は、プロセス制御データを受信すると、そのプロセス制御データを検査アプリケーションコンペアラ２０６へ転送する。
【００７３】
検査アプリケーションマネージャ１０１を実施する例示的な方法が図２に示されるが、図２に示されるインターフェース、データ構造、要素、プロセスおよび／またはデバイスのうち１つまたは複数は、任意のその他の方法で組合せ、分割、再配置、省略、除去および／または実施することができる。たとえば、図２に示される例示的な検査アプリケーションジェネレータ２０２、例示的な検査アプリケーションコンペアラ２０６、例示的な検査アプリケーションモディファイア２１２、例示的なルーチンモニタ２１６、例示的な検査アプリケーションプロセッサ２２４および／または例示的な検査実行ベリファイア２２０は、たとえば、１つまたは複数のコンピューティングデバイスおよび／またはコンピューティングプラットフォーム（たとえば図１０の例示的な処理プラットフォームＰ１０）によって実行される機械アクセス可能な命令または機械読取可能な命令を使用して、別々におよび／または任意の組合せで実施することができる。
【００７４】
さらに、例示的な検査アプリケーションジェネレータ２０２、例示的な検査アプリケーションコンペアラ２０６、例示的な検査アプリケーションモディファイア２１２、例示的なルーチンモニタ２１６、例示的な検査アプリケーションプロセッサ２２４、例示的な検査実行ベリファイア２２０および／またはより一般的には検査アプリケーションマネージャ１０１は、ハードウェア、ソフトウェア、ファームウェアならびに／あるいはハードウェア、ソフトウェアおよび／またはファームウェアの任意の組合せによって実施することができる。たとえば、例示的な検査アプリケーションジェネレータ２０２、例示的な検査アプリケーションコンペアラ２０６、例示的な検査アプリケーションモディファイア２１２、例示的なルーチンモニタ２１６、例示的な検査アプリケーションプロセッサ２２４、例示的な検査実行ベリファイア２２０および／またはより一般的には検査アプリケーションマネージャ１０１のいずれかは、１つまたは複数の回路、プログラム可能なプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブル論理デバイス（ＰＬＤ）および／またはフィールドプログラマブル論理デバイス（ＦＰＬＤ）などによって実施することができる。
【００７５】
図３は、図１のプロセス制御ルーチン１０２および対応する検査アプリケーション１０３のビジュアルオブジェクトダイアグラム１０４を示す。簡潔にするために、例示的なビジュアルオブジェクトダイアグラム１０４は、機能ブロック３０２〜３０８を示す。しかしながら、他の例では、ビジュアルオブジェクトダイアグラム１０４は、追加のリンクによって一緒に結合される追加の機能ブロックを含むことができる。たとえば、典型的なプロセス制御システムは、リンクによって一緒に結合される数十個の相互接続された機能ブロックを含むことができる。
【００７６】
例示的な機能ブロック３０２〜３０８を一緒に結合して、警告付きの比例／積分／微分（ＰＩＤ）フィードバックループを実施する。機能ブロック３０２は、入力値およびフィードバック値に基づいて出力を計算するためのＰＩＤ制御アルゴリズムおよび／またはルーチンを含むことができる。機能ブロック３０２内では、出力値はＯＵＴパラメータに対応し、入力値はＩＮパラメータに対応し、フィードバック値はＢＫＣＡＬ＿ＩＮパラメータに対応する。機能ブロック３０２のＩＮパラメータは、リンク３１０を介して、機能ブロック３０６のＯＵＴパラメータに通信可能に結合される。
【００７７】
例示的な機能ブロック３０６は、１つまたは複数のフィールドデバイスからプロセス制御データ値を受信し、受信されたデータをＰＩＤ１機能ブロック３０２に関するパラメータ化された値に変換することができる。ＦＴ−１０１機能ブロック３０６は次いで、ＯＵＴパラメータを介して、その値をＰＩＤ１機能ブロック３０２のＩＮパラメータへ送信する。ＰＩＤ１機能ブロックは、出力値を計算すると、ＯＵＴパラメータを介する出力値を、リンク３１２介して、機能ブロック３０４内のＣＡＳ＿ＩＮパラメータに出力する。例示的な機能ブロック３０４は、その出力値を使用して、受信された出力値に基づいて、制御アクションおよび／または較正値を計算することができる。ＦＹ−１０１機能ブロック３０４は次いで、ＯＵＴパラメータを通してこの制御アクションを、リンク３１６を介して、ＡＬＡＲＭ１機能ブロック３０８内のＩＮパラメータに送信することができる。それに加えて、ＦＹ−１０１機能ブロック３０４は、ＢＫＣＡＬ＿ＯＵＴパラメータを通した較正値を、リンク３１４を介して、ＰＩＤ１機能ブロック３０２内のＢＫＣＡＬ＿ＩＮパラメータに送信することができる。
【００７８】
ビジュアルオブジェクトダイアグラム１０４および／または対応するプロセス制御ルーチン１０２から、図２の検査アプリケーションジェネレータ２０２を介して、対応する検査アプリケーション１０３を発生させることができる。図３の例示的な検査アプリケーション１０３は、機能ブロック３０２〜３０８およびそれと関連付けられるパラメータに対応する例示的な検査および／または機能ブロック３０２〜３０８およびそれと関連付けられるパラメータから発生させることができる例示的な検査を示す。たとえば、ＴＥＳＴ  ０１は、ＦＴ−１０１機能ブロックによって受信されたＯＵＴパラメータおよび／または、ＦＴ−１０１機能ブロックから発生したＯＵＴパラメータの限度を検査することができる。図３に示されるように、ＴＥＳＴ  ０１は、次の検証時間（たとえば、日付）である１２／２２／０９を含み、これはこの日までに検査を完了しなければならないことを示す。プロセス制御ルーチン１０２のオペレーションを通じて、検査がこの時までに完了していない場合、検査アプリケーションマネージャ１０１は、検査を完了するようにオペレータにプロンプトする。別の例では、ＰＩＤ１機能ブロック３０２によって実行された機能から、ＴＥＳＴ  ０４検査を発生させることができる。検査されるべき機能は、ＯＵＴパラメータを発生させるために、ＰＩＤ１機能ブロック３０２内のＢＫＣＡＬ＿ＩＮとＩＮパラメータとの組合せを含むことができる。さらに別の例では、ＴＥＳＴ  １０検査を発生させて、ＩＮパラメータを介してＡＬＡＲＭ１機能ブロック３０８へ警告するオペレーションを検査することができる。この検査は、ＩＮパラメータを介して警告を有効にするために適当な値を送信することによって、警告が有効化されるかどうかを判定することができる。いくつかの例では、検査アプリケーションマネージャ１０１は、警告の有効化をトリガするイベントをシミュレーションすることによって、ＴＥＳＴ  １０を実行することができる。
【００７９】
例示的な検査アプリケーション１０３は、検査識別子、検査名および次の検証（たとえば、完了）時間に関するフィールドを含む。図３の例では、検査は検査識別子によって、順番を付けらる。しかしながら、他の例では、検査は次の検証時間および／または検査名によって、順番を付けることができる。代替的には、検査は、検査シーケンスによって順番を付けることができる。さらに、他の例では、検査アプリケーションは、検査証明データ、検査を完了させたオペレータのオペレータ身分証明、検査が最後に完了した時間などに関する追加のフィールドを含むことができる。それに加えて、ＴＥＳＴ  ０５およびＴＥＳＴ  ０７を完了させる時間の期限切れが近づいていることを示すために、１０／３０／０９という時間（たとえば、日付）が次回検証日フィールド内でイタリック体にされる。
【００８０】
検査アプリケーション１０３は、個々の検査（たとえば、ＴＥＳＴ  ０１〜ＴＥＳＴ  １０）のマネージャおよび／またはプロセッサとして実施することができる。たとえば、検査アプリケーション１０３は、完了または検証時間が期限切れになりそうないずれかの検査があるかどうかを判定することができる。それに加えて、検査アプリケーション１０３は、各検査に関する検査証明データを含む検査完了データの保存および／または整理を管理することができる。その他の例では、検査アプリケーション１０３は、検査アプリケーション１０３と関連付けられる検査を一覧にする表および／または図表を含むことができる。
【００８１】
図３の例示的な検査アプリケーション１０３は１０個の検査（たとえば、ＴＥＳＴ  ０１〜ＴＥＳＴ１０）を含むが、検査アプリケーション１０３は、ビジュアルオブジェクトダイアグラム１０４および／またはプロセス制御ルーチン１０２に対応することができる追加の検査を含んでもよい。たとえば、検査アプリケーション１０３は、図１のフィールドデバイス１１０ａ〜ｂおよび／またはポンプ１１２のオペレーションを検証するための検査を含むことができる。さらに、ビジュアルオブジェクトダイアグラム１０４が追加の機能ブロックを含む例では、例示的な検査アプリケーション１０３は、追加の機能ブロックに対応する追加の検査を含むことができる。
【００８２】
図４は、図３の例示的な検査アプリケーション１０３および例示的な検査ＴＥＳＴ  ０１に関する検査説明テーブル４０２を示す。この例示的な検査説明テーブル４０２は検査アプリケーション１０３内に含むことができる。たとえば、ＴＥＳＴ  ０１は、検査説明テーブル４０２へのリンクを含むことができる。例示的な検査説明テーブル４０２は、検査識別（たとえば、ＴＥＳＴ  ＩＤ）、検査限度（たとえば、ＴＥＳＴ）、各検査に対する軽減（たとえば、ＭＩＴＩＧＡＴＩＯＮ）および次回検証または完了日／時間（たとえば、ＮＥＸＴ  ＶＥＲＩＦＹ  ＤＡＴＥ）に対するフィールドを含む。それに加えて、検査説明テーブルは、軽減値、検査証明および／またはルーチン内の検査の対応するロケーションに関する追加のデータフィールドを含む。
【００８３】
たとえば、ルーチンフィールド内の検査のロケーションは、実質的に検査と同様であるルーチン内のロケーションを特定する値を含む。代替的には、ルーチンフィールド内の検査のロケーションは、ルーチン１０２内の機能および／またはパラメータを参照するパラメータ値および／または機能識別値を含むことができる。さらに、検査説明テーブル４０２は、オペレータが手動で検査を動作させることができるかどうかを示すフィールド、検査が任意選択であってもよいかを示すフィールド、検査が偏差を有することがあるかどうかを示すフィールド、および／または検査と関連付けられる検出された不合格のタイプを示すフィールドを含むことができる。
【００８４】
例示的な検査説明テーブル４０２は、ＴＥＳＴ  ０１のサブ検査を含む。たとえば、ＴＥＳＴ  ０１は、図３のＦＴ１０１機能ブロック３０６のＯＵＴパラメータの限度を検査することができる。ＯＵＴパラメータおよびＴＥＳＴ  ０１の限度は、２１．７から２５．２の範囲とすることができる。しかしながら、図１のプロセス制御システム１００のオペレーション中に一度には、限度の片側だけが検査できる。したがって、ＴＥＳＴ  ０１を、範囲の上限を検査するＴＥＳＴ  ０１Ｈと、範囲の下限を検査するＴＥＳＴ  ０１Ｌとに再分割する。
【００８５】
ＯＵＴパラメータが２５．２の限度値から逸脱する場合には、ＴＥＳＴ  ０１Ｈ検査を完了ように判定することができ、検査アプリケーションマネージャ１０１は、適切な軽減が起こったと判定する。この場合、適切な軽減は、問題インジケータ（たとえば、ＩＮＤＩＣＡＴＯＲ  ０２）を送信するまたは発生させることと、ＯＵＴパラメータの値を６０秒以内に２５．２の限度値より小さくすることとを含む。同様に、ＯＵＴパラメータが２１．７限度値未満になる場合には、ＴＥＳＴ  ０１Ｌ検査を完了するように判定することができ、検査アプリケーションマネージャ１０１は、適切な軽減が起こったと判定する。この場合、適切な軽減は、問題インジケータ（たとえば、ＩＮＤＩＣＡＴＯＲ  ０４）を送信するまたは発生させることと、ＯＵＴパラメータの値を６０秒以内に２１．７の限度値より大きくすることとを含む。それに加えて、ＴＥＳＴ  ０１は、コントローラ１０６とＯＵＴパラメータを発生させることができる対応するフィールドデバイスとの間の通信を検査することができる通信検査（たとえば、ＴＥＳＴ  ０１Ｎ）を含む。
【００８６】
ＮＥＸＴ  ＶＥＲＩＦＹ  ＤＡＴＥフィールドは、各サブ検査が独立して実行され、完了時間が異なることを示す。しかしながら、検査アプリケーション１０３内のＴＥＳＴ  ０１検査の完了時間は、最も近い日付（たとえば、１２／２２／０９）を反映することができる。検査限度に加えて、ＴＥＳＴフィールドは、機能変数、検査期間、検査条件および／または任意のその他の検査定義機能を含むことができる。たとえば、ＴＥＳＴ  ０４検査に関するＴＥＳＴフィールドは、対応する検査限度を有するＰＩＤ１  ＦＵＮＣＴＩＯＮ  １の定義を含むことができる。検査アプリケーションマネージャ１０１は、ＴＥＳＴ  ０１検査をルーチン１０２と相互参照するために識別子（たとえば、ＦＴ−１０１および／またはＯＵＴ）を使用して、イベント、問題および／またはルーチン１０２のオペレーションの一部分が、ＴＥＳＴ  ０１Ｈ，ＴＥＳＴ  ０１Ｌおよび／またはＴＥＳＴ  ０１Ｎの検査と実質的に同様であるかどうかを判定することができる。
【００８７】
オペレータが検査を実行すべき例では、検査計画を発生させるために、検査アプリケーションマネージャ１０１が検査説明テーブルを使用することができる。たとえば、ＴＥＳＴフィールド内の情報は、検査計画の期間を定義することができ、ＭＩＴＩＧＡＴＩＯＮフィールド内の情報は、検査により示された問題が軽減または訂正されるかどうかを判定するために、オペレータが観察および／または記録すべきイベントを定義することができる。さらに、サブ検査（たとえば、ＴＥＳＴ  ０１Ｈ、ＴＥＳＴ  ０１Ｌおよび／またはＴＥＳＴ  ０１Ｎ）のそれぞれを、その他の検査説明テーブルに表示することができるサブ検査へとさらに再分割することができる。
【００８８】
図５は、図４の例示的な検査ＴＥＳＴ  ０１Ｌの例示的な検証履歴テーブル５０２を示す。図４の検査説明テーブル４０２および／または検査アプリケーション１０３とともに、例示的な検証履歴テーブル５０２を含むことができる。検証履歴テーブル５０２は、単一の検査（たとえば、ＴＥＳＴ  ０１Ｌ）に関する検査完了履歴を示す。その他の検査は、それぞれ対応する検証履歴テーブルを含むことができる。
【００８９】
例示的な検証履歴テーブル５０２は、検査が完了した時間／日付（たとえば、ＴＥＳＴ  ＤＡＴＥ）、検査のバージョン（たとえば、ＴＥＳＴ  ＶＥＲＳＩＯＮ）、検査タイプ（たとえば、ＴＥＳＴ  ＴＹＰＥ）、適切な軽減が起こる時間（たとえば、ＭＩＴＩＧＡＴＩＯＮ  ＴＩＭＥ）、検査を実施したオペレータ（たとえば、ＯＰＥＲＡＴＯＲ）および次回検証または完了日（ＮＥＸＴ  ＶＥＲＩＦＹ  ＤＡＴＥ）に関するデータフィールドを含む。それに加えて、検証履歴テーブル５０２は、検査証明データ、軽減データおよび／または任意のその他の検査完了データに関するデータフィールドを含むことができる。
【００９０】
ＴＥＳＴ  ＶＥＲＳＩＯＮフィールドは、検査バージョンおよび／または検査アプリケーション１０３のバージョンを示す。たとえば、検査バージョンＶＥＲ．２．０Ａは、図４の２１．７から２５．２の検査限度範囲に対応することができ、一方、検査バージョンＶＥＲ．１．５Ａは、２２．４から２８．３の前述の検査限度範囲に対応することができる。ＴＥＳＴ  ＴＹＰＥフィールドは、実行された検査のタイプの一覧を含む。たとえば、ＭＡＮＵＡＬ検査は、オペレータにより実行される検査に対応することができ、ＩＮ  ＰＲＯＣＥＳＳ検査は、プロセス制御システムおよび／またはルーチンのオペレーション中に実行された検査に対応することができ、ＡＵＴＯＭＡＴＩＣ検査は、プロセス制御システムを停止または保留している間検査アプリケーションマネージャ１０１により実行された検査に対応することができ、ならびに／あるいは、ＳＩＭＵＬＡＴＩＯＮ検査は、検査を実行するためにプロセス制御データではなくシミュレーションされた検査値を使用した検査に対応することができる。いくつかの例では、複数の検査タイプを実行することができる。
【００９１】
さらに、ＭＩＴＩＧＡＴＩＯＮ  ＴＩＭＥフィールドは、適切な軽減が起こる時間を含むことができる。ＯＰＥＲＡＴＯＲフィールドは、検査を行ったオペレータの識別値を示す。ＩＮ  ＰＲＯＣＥＳＳで検査が完了し得る例では、オペレータは、検査と実質的に同様であったイベントおよび／または問題中にプロセス制御システムを監督していたオペレータに対応することができる。検証履歴テーブル５０２内のＮＥＸＴ  ＶＥＲＩＦＹ  ＤＡＴＥフィールドは、ＴＥＳＴ  ＤＡＴＥフィールド内の対応する日付に基づいて、計画された次回検査完了時間を示す。たとえば、ＴＥＳＴ  ０１Ｌを６ヶ月毎に完了するように特定することができる。したがって、検査完了日である５／１５／０８は、次回検査完了時間／日付である１１／１５／０８を有することができる。検証履歴テーブル５０２の２行目は、満了日である１１／１５／０８にＭＡＮＵＡＬ検査が完了したことを示す。４行目には、ＩＮ  ＰＲＯＣＥＳＳ検査が、期限日である１１／１５／０９より前である８／１４／０９に完了したことを示される。したがって、プロセス制御システムのオペレーション中（たとえば、ＩＮ  ＰＲＯＣＥＳＳ）に検査が起こったので、オペレータは検査を実行する必要がなく、検査を再実行する必要は２／１４／１０まで無い。
【００９２】
図６は、図１のプロセス制御システム１００および／またはプロセス制御ルーチン１０２に関する例示的なオペレータ訓練記録６０２を示す。検査アプリケーションマネージャ１０１がこの例示的なオペレータ訓練記録６０２を使用して、オペレータが検査計画内の１つまたは複数の検査を実行する権限をもつかどうかを判定することができる。それに加えて、オペレータ訓練記録６０２を使用して、プロセス制御タスクを用いてオペレータ訓練を維持、管理および／または調整することができる。例示的なオペレータ訓練記録６０２は、オペレータ識別子（たとえば、ＯＰＥＲＡＴＯＲ  ＩＤ）、オペレータの訓練レベル（たとえば、ＴＲＡＩＮＩＮＧ  ＬＥＶＥＬ）、オペレータが訓練をその日までに再完了しなければならない日付（たとえば、ＲＥＣＥＲＴＩＦＩＣＡＴＩＯＮ  ＤＡＴＥ）、オペレータが検査を行う権限をもつことができ、かつ／または動作させることができるプロセス制御領域（たとえば、ＡＵＴＨＯＲＩＺＥＤ  ＰＲＯＣＥＳＳ  ＣＯＮＴＲＯＬ  ＡＲＥＡＳ）ならびに完了していない訓練クラス（たとえば、ＡＳＳＩＧＮＥＤ  ＴＲＡＩＮＩＮＧ  ＮＯＴ  ＣＯＭＰＬＥＴＥＤ）に関するデータフィールドを含む。それに加えて、オペレータ訓練記録６０２は、たとえば、オペレータの職位、オペレータの部門レベル、以前完了した訓練、および／またはオペレータ訓練情報を含むことができる任意のその他のフィールドなどの、他のフィールドを含むことができる。
【００９３】
検査アプリケーションマネージャ１０１が、オペレータが少なくとも１つの検査を完了させて、期限切れ時間／日付までに検査が確実に完了しなければならないと判定する例では、検査アプリケーションマネージャ１０１は、検査計画を生成し、識別値についてオペレータにプロンプトし、識別値が検査計画内の検査を実行することが求められるＴＲＡＩＮＩＮＧ  ＬＥＶＥＬおよび／またはＡＵＴＨＯＲＩＺＥＤ  ＰＲＯＣＥＳＳ  ＣＯＮＴＲＯＬ  ＡＲＥＡＳに対応するかどうかを判定することができる。たとえば、検査アプリケーションマネージャ１０１は、図３のＰＩＤ１ルーチンに関する検査計画を発生させることができる。オペレータＧＫＬ０１が検査計画を実行しようと試みる場合、検査アプリケーションマネージャ１０１は、ＰＩＤ１ルーチンがＡＵＴＨＯＲＩＺＥＤ  ＰＲＯＣＥＳＳ  ＣＯＮＴＲＯＬ  ＡＲＥＡＳ内に含まれていると判定する。代替的には、検査アプリケーションマネージャ１０１は、検査計画内の検査のタイプに基づいて、検査計画がＬＥＶＥＬ  ４に対応すると判定することができる。したがって、オペレータ訓練記録６０２内の個々のオペレータ訓練記録に基づいて、訓練レベルがＬＥＶＥＬ  ４の以上のオペレータ（たとえば、オペレータＧＫＬ０１、ＥＭ０２および／またはＭＮ０４）は、検査計画を実行することができる。検査アプリケーションマネージャ１０１は、検査計画内の検査の複雑度に基づいて検査計画に関する訓練レベルを判定し、検査計画と関連付けられるプロセス制御領域を判定し、かつ／または、検査アプリケーションマネージャ１０１にプロセス制御担当者によって訓練レベルを割り当てることができる。
【００９４】
それに加えて、オペレータ訓練記録６０２を使用して、次にレベルの高い訓練レベルまで引き上げるためにオペレータが完了しなければならない訓練をオペレータに示し、かつ／または、別の権限を与えられたプロセス制御領域をオペレータの記録に加えるように示すことができる。たとえば、オペレータＥＭ０２は、訓練クラスまたは手順であるＰＤＭ２０２、ＰＤＭ２０３、およびＭＥＭＳ４３２を完了することによって、ＬＥＶＥＬ  ５訓練レベルまで移動することができる
【００９５】
図７、図８、図９Ａおよび図９Ｂは、図１および／または図２の例示的な検査アプリケーションマネージャ１０１、例示的な検査アプリケーションジェネレータ２０２、例示的な検査アプリケーションコンペアラ２０６、例示的な検査アプリケーションモディファイア２１２、例示的なルーチンモニタ２１６、例示的な検査アプリケーションプロセッサ２２４および／または例示的な検査実行ベリファイア２２０を実施するために実行することができる例示的な方法のフローチャートである。図７、図８、図９Ａおよび／または図９Ｂの例示的な方法は、プロセッサ、コントローラおよび／または任意のその他の好適な処理デバイスによって実行することができる。たとえば、図７、図８、図９Ａおよび／または図９Ｂの例示的な方法は、フラッシュメモリ、ＣＤ、ＤＶＤ、フロッピー（登録商標）ディスク、ＲＯＭ、ＲＡＭ、プログラム可能なプログラムＲＯＭ（ＰＲＯＭ）、電気的にプログラム可能なＲＯＭ（ＥＰＲＯＭ）、電気的に消去可能なプログラム可能なＰＲＯＭ（ＥＥＰＲＯＭ）、光学ストレージディスク、光学ストレージデバイス、磁気ストレージディスク、磁気ストレージデバイス、ならびに／あるいは、方法もしくはデータ構造の形態でプログラムコードおよび／または命令を担持または保存するために使用でき、プロセッサ、汎用コンピュータもしくは専用コンピューまたはプロセッサを有するその他の機械によってアクセスすることができる任意のその他の媒体（たとえば、図１０に関して以下に論じられる例示的なプロセッサプラットフォームＰ１０）などの任意の有形のコンピュータ読取可能媒体上に保存された符号化された命令において実施することできる。また、上記媒体の組合せは、コンピュータ読取可能な媒体の範囲に含まれる。
【００９６】
方法は、たとえば、プロセッサ、汎用コンピュータ、専用コンピュータまたは専用処理機械に、１つまたは複数の特定の方法を実施させる命令および／またはデータを含む。代替的には、図７、図８、図９Ａおよび／または図９Ｂの例示的な方法のうちいくつかまたは全ては、１つまたは複数のＡＳＩＣ、１つまたは複数のＰＬＤ、１つまたは複数のＦＰＬＤ、離散論理、ハードウェア、ファームウェアなどの任意の１つまたは複数の組合せを使用して実施することができる。
【００９７】
また、図７、図８、図９Ａおよび／または図９Ｂの例示的な方法のうちいくつかまたは全ては、かわりに、手動オペレーションを使用して、または、前述の技法うちいずれかの任意の組合せ、たとえば、ファームウェア、ソフトウェア、離散論理および／またはハードウェアの任意の組合せとして実施することもできる。さらに、図７、図８、図９Ａおよび／または図９Ｂの例示的なオペレーションを実施する多数のその他の方法を使用してもよい。たとえば、ブロックの実行順序を変更することができ、かつ／あるいは、上述のブロックのうち１つまたは複数を、変更し、除去し、再分割しまたは組み合わせることができる。それに加えて、図７、図８、図９Ａおよび／または図９Ｂの例示的な方法のいずれかまたは全てを、たとえば、別々の処理スレッド、プロセッサ、デバイス、離散論理、回路などによって、順番におよび／または平行して実行することができる。
【００９８】
図７の例示的な方法７００は、プロセス制御システムのオペレーション中に起こり得る問題および／またはイベントの適切な軽減に基づいて、検査アプリケーションを更新する。それぞれ対応するルーチンと関連付けられる複数の検査アプリケーションを更新するために、複数の例示的な方法７００を平行してまたは順番に実行することができる。それに加えて、複数のルーチンが単一のプロセス制御システムを制御することができる例では、例示的な方法７００をルーチン毎に実施することができ、あるいは代替的には、単一の例示的な方法７００をプロセス制御システムに対して実施することができる。
【００９９】
図７の例示的な方法７００は、プロセス制御ルーチンの選択を受信することによって開始する（ブロック７０２）。オペレータがその選択をすることができ、かつ／または、プロセス制御ルーチンが生成されるとその選択をすることができる。次に、例示的な方法７００は、選択されたプロセス制御ルーチンから検査アプリケーションを発生させ（ブロック７０４）、その検査アプリケーションを図２の検査データベース２０８へ保存する（ブロック７０６）。例示的な方法７００は次いで、選択されたプロセス制御ルーチンを監視する（ブロック７０８）。いくつかの例では、検査アプリケーションが生成されてからルーチンが監視されるまで、しばらく時間がかかる場合がある。たとえば、プロセス制御システムが認定されるまで、または操作可能になるまで、ルーチンを監視することができない。
【０１００】
例示的な方法７００は、プロセス制御ルーチンのオペレーションの一部分が検査アプリケーション内の１つまたは複数の検査と実質的に同様かどうかを判定するステップに続く（ブロック７１０）。例示的な方法７００はまた、イベントおよび／または問題が検査アプリケーション内の検査と実質的に同様かどうかを判定してもよい。ルーチンのオペレーションの一部分が少なくとも１つの検査と実質的に同様でない場合、例示的な方法７００は、プロセス制御ルーチンを監視するステップに続く（ブロック７０８）。しかしながら、ルーチンのオペレーションの一部分が少なくとも１つの検査と実質的に同様である場合、例示的な方法７００は、ルーチンのオペレーションの一部分の適切な軽減が存在するかどうかを判定する（ブロック７１２）。適切な軽減は、プロセス制御ルーチンによって実施される１つまたは複数のアクションを含んで、少なくとも１つの検査を１つまたは複数の特定されたしきい値内とすることができる。さらに、ルーチンのオペレーションの一部分が少なくとも１つの検査と実質的に同様である場合であっても、例示的な方法７００は、その他の検査と実質的に同様であり得るルーチン、イベント、および／または問題のその他の部分（図示せず）に関して、プロセス制御ルーチンをなおも監視し続けることができる（ブロック７０８）。
【０１０１】
例示的な方法７００が、適切な軽減がプロセス制御システムおよび／またはルーチン内で起こらなかったと判定する場合には、例示的な方法７００は、検査アプリケーションを更新せず（ブロック７１６）、プロセス制御ルーチンを監視し続ける（ブロック７０８）。しかしながら、例示的な方法７００が、適切な軽減がプロセス制御システムおよび／またはルーチン内で起こったと判定する場合には、例示的な方法７００は、オペレータが軽減を実行する権限をもつどうかを判定する（ブロック７１４）。
【０１０２】
ルーチンおよび／またはプロセス制御システムがオペレータの補助なしに適切な軽減を自動的に実行する例では、例示的な方法７００は、検査の完了と関連付けられる情報（たとえば、検査証明情報）を用いて検査アプリケーションを更新するステップに続く（ブロック７１８）。同じように、オペレータが軽減を実行する権限をもつ場合に、例示的な方法は、検査アプリケーションを更新する（ブロック７１８）。しかしながら、例示的な方法７００がオペレータが軽減を実行する権限をもたなかったと判定する例では、例示的な方法７００は、検査アプリケーションを更新せず（ブロック７１６）、プロセス制御ルーチンを監視し続ける（ブロック７０８）。代替的には、オペレータが軽減を実行する権限をもたなかった例では、例示的な方法７００は、軽減を実行する権限をもつオペレータに、他の権限をもたないオペレータの作業を検証するようにプロンプトすることができる。例示的な方法７００は、図２の訓練データベース２２８内の対応するオペレータ訓練記録にアクセスすることによって、オペレータがイベントおよび／または問題の軽減を実行する権限をもつかどうかを判定することができる。
【０１０３】
例示的な方法７００は、検査アプリケーションが更新されたあとに、新しい時間（たとえば、検査が実行されるべき時間間隔）を決定するステップに続く（ブロック７２０）。たとえば、検査が６ヶ月毎に実行されるべき場合には、例示的な方法７００は、その新しい時間を、現在の日付から６ヶ月経過した日付および／または時間に設定することができる。例示的な方法７００は次いで、検査に関するその新しい時間を保存し（ブロック７２２）、プロセス制御ルーチンを監視し続ける（ブロック７０８）。例示的な方法７００は、オペレータにより終了させることができ、かつ／あるいは、プロセス制御ルーチンおよび／またはプロセス制御システムが停止するときに終了させることができる。
【０１０４】
図８の例示的な方法７１０は、図７のプロセス制御ルーチンのオペレーションの一部分が検査アプリケーション内の少なくとも１つの検査と実質的に同様であるかどうかを判定する。例示的な方法７１０は、図７のブロック７１０の実行中の例示的な方法７００の詳細なプロセスを示す。図８の例示的な方法７１０は、プロセス制御ルーチンのオペレーション中に、パラメータ、アルゴリズム、関数および／または計算が限度内から逸脱し、かつ／またはプロセス制御システム内の誤検出をトリガしたことを示す表示を受信することによって開始される（ブロック８０２）。他の例では、例示的な方法７１０は、ルーチンと関連付けられる任意のアクティビティの表示を受信することができる。
【０１０５】
例示的な方法７１０は次いで、検査データベース２０８内の検査アプリケーションにアクセスする（ブロック８０４）。次に、例示的な方法７１０は、１つまたは複数の検査内に含まれるパラメータ、アルゴリズム、関数および／または計算が検査アプリケーションの一部であるかどうかを判定する（ブロック８０６）。例示的な方法７１０は、パラメータ、アルゴリズム、関数および／または計算と関連付けられる任意の識別子を検査内の期間、変数および／または範囲と相互参照することによって、パラメータ、アルゴリズム、関数および／または計算が１つまたは複数の検査内に含まれるかどうかを判定することができる。代替的には、例示的な方法７１０は、検査のうち１つまたは複数が、ルーチン内のロケーションに対する参照を含み、パラメータ、アルゴリズム、関数および／または計算と整合するかどうかを判定することができる。
【０１０６】
例示的な方法７１０が、少なくとも１つの検査がパラメータ、アルゴリズム、関数および／または計算と整合すると判定できない場合、例示的な方法７１０は、プロセス制御ルーチンを監視し続ける（図７のブロック７０８）。しかしながら、例示的な方法７００が、少なくとも１つの検査が、パラメータ、アルゴリズム、関数および／または計算と対応すると判定する場合には、例示的な方法は、１つまたは複数の検査のうちどれが、限度内から逸脱した、または不良をトリガしたパラメータ、アルゴリズム、関数および／または計算に対応するかを判定する（ブロック８０８）。
【０１０７】
例示的な方法７１０は次いで、逸脱した限度および／または検出された不良が、対応する１つまたは複数の検査の１つまたは複数の限度に整合するかどうか、および／またはその限度を超えるかどうかを判定する（ブロック８１０）。たとえば、例示的な方法７１０は、フィールドデバイスが、プロセス機能の限度である５バールから逸脱した４バールの入力を受信したと判定することができる。しかしながら検査が０．５バールから２バールまでの入力について有効である場合、４バールのパラメータ値は検査限度から逸脱せず、例示的な方法７１０は、完了したときに検査を更新しない。別の例では、フィールドデバイスが、プロセス制御ルーチン機能の限度である５バールから逸脱する２バールの入力を受信する場合、例示的な方法７１０は、パラメータ値も検査限度値である２．５バールから逸脱するので、検査がイベントと実質的に同様であることを示す。限度または不合格が、１つまたは複数の対応する検査の１つまたは複数の限度と整合した、あるいはそれらの限度から逸脱したと判定されると、例示的な方法７１０は、プロセス制御ルーチンのオペレーションの一部分が、検査アプリケーション内の少なくとも１つの検査と実質的に同様であることを示すステップに続く（ブロック８１２）。次いで、例示的な方法７１０は終了する。
【０１０８】
図９Ａおよび図９Ｂの例示的な方法９００は、プロセス制御オペレータによる検査の完了を管理する。複数の例示的な方法９００を平行してまたは順番に実施して、それぞれ対応するルーチンと関連付けられる複数の検査アプリケーションを更新することができる。それに加えて、複数のルーチンが単一のプロセス制御システムを制御することができる例では、例示的な方法９００をルーチン毎に実施することができ、あるいは代替的には、単一の例示的な方法８００をプロセス制御システムに対して実行することができる。さらに、検査アプリケーション内の検査を実行するオペレータ毎に、例示的な方法９００を実行することができる。
【０１０９】
図９Ａの例示的な方法９００は、プロセス制御ルーチンの選択を受信することによって開始される（ブロック９０２）。プロセス制御ルーチンは、検査完了時間が期限切れした、および／または検査完了時間が期限切れしそうなあらゆるの検査を実行するためにオペレータにより選択される。例示的な方法９００は次いで、選択されたプロセス制御ルーチンから検査アプリケーションを発生し（ブロック９０４）、少なくとも１つの検査を検査アプリケーション内で実行すべきかどうかを判定することができる（ブロック９０６）。例示的な方法９００は、いずれかの検査の検証時間および／または実行時間が近づいているか、または期限切れになっているかどうかを判定することによって、少なくとも１つの検査を実行すべきかどうかを判定することができる。オペレータによって実行されるべき検査がないと例示的な方法９００が判定する場合、例示的な方法９００は終了する。
【０１１０】
しかしながら、例示的な方法９００が、少なくとも１つの検査がオペレータにより実行されるべきであると判定する場合、例示的な方法９００は、検査計画、検査手順および／または作業命令を発生させる（ブロック９０８）。次に、例示的な方法９００は、身分証明についてオペレータにプロンプトする（ブロック９１０）。例示的な方法９００は次いで、オペレータと関連付けられる身分証明を受信し、オペレータが検査計画を動作させるおよび／または実行する権限をもつかどうかを判定することができる（ブロック９１２）。例示的な方法９００は、オペレータの訓練記録にアクセスすることによって、オペレータが権限をもつかどうかを判定することができる。オペレータが検査計画を実行する権限をもたない場合、例示的な方法９００は、検査計画を実行する権限をもつオペレータを配置するように、その権限をもたないオペレータにプロンプトし（ブロック９１４）、次いで、身分証明についてその権限をもつオペレータにプロンプトすることができる（ブロック９１０）。代替的には、例示的な方法９００は、検査計画をフィルタリングし、オペレータが、オペレータが実行する権限を持つ計画内の検査を実行できるようにすることができる。
【０１１１】
オペレータが検査計画を実行する権限をもつ場合には（ブロック９１２）、例示的な方法９００が検査計画を実行するようにオペレータにプロンプトするステップに続く（ブロック９１６）。いくつかの例では、例示的な方法９００は、確実にオペレータが検査の定義されたシーケンスに従うように、および／または、確実にオペレータが各検査を正しく実行するように、検査計画の実行を管理することができる。それに加えて、例示的な方法９００は、検査証明データについてオペレータにプロンプトすることができる。
【０１１２】
次に、図９Ｂの例示的な方法９００は、オペレータによって実行された検査に対応して、プロセス制御システムからデータを受信するステップにより継続する（ブロック９１８）。受信されたデータを、ルーチンのオペレーション中に検出し、オペレータが入力し、ならびに／あるいは、プロセス制御システム内のフィールドデバイスおよび／またはコントローラにより直接提供することができる。例示的な方法９００は次いで、受信されたデータが、検査計画内の少なくとも１つの検査の適切な軽減に対応するかどうか判定する（ブロック９２０）。
【０１１３】
例示的な方法９００は、受信されたデータおよび／または受信されたデータに関連付けられる識別子を、検査のそれぞれと関連付けられる適切な軽減フィールドと相互参照することによって、受信されたデータが適切な軽減に対応するかどうかを判定することができる。そのデータが適切な軽減に対応しない場合、例示的な方法９００は、プロセス制御システムからデータを受信し続けることができる（ブロック９１８）。それに加えて、データが適切な軽減に対応する場合であっても、例示的な方法９００は、プロセス制御システムからデータを受信し続けることができる（ブロック９１８）。さらに、データが適切な軽減に対応する場合、例示的な方法は、どの１つまたは複数の検査がデータに対応するかを判定し、検査計画を更新して１つまたは複数の対応する検査が完了したこと（たとえば、プロセス制御ルーチンの一部分が検証されること）を示す（ブロック９２２）。この表示は、検査証明情報、検査が完了した時間、検査を実行したオペレータの識別値、適切な軽減の結果などを含むことができる。
【０１１４】
図９Ｂの例示的な方法９００は、検査計画が、オペレータによりまだ実行されていないいずれかの追加検査があるかどうかを判定するステップに続く（ブロック９２４）。追加検査がある場合、例示的な方法９００は、プロセス制御システムからデータを受信するステップに続く（ブロック９１８）。しかしながら、実行されるべき追加検査がない場合には、例示的な方法９００は、完了した１つまたは複数の検査と関連付けられる情報を用いて検査アプリケーションを更新する（ブロック９２６）。例示的な方法９００は次いで、完了した検査のそれぞれに関する新たな検査完了日を判定する（ブロック９２８）。例示的な方法は次いで、それぞれの検査に関する新たな検査完了日を検査アプリケーションに保存し（ブロック９３０）、例示的な方法９００が終了する。
【０１１５】
図１０は、本明細書に記載される例示的な方法および装置を実施するために使用することができる例示的なプロセッサシステムＰ１０のブロック図である。たとえば、例示的なプロセッサシステムＰ１０と同様または同一のプロセッサシステムを使用して、図１および／または図２の例示的な検査アプリケーションマネージャ１０１、例示的な検査アプリケーションジェネレータ２０２、例示的な検査アプリケーションコンペアラ２０６、例示的な検査アプリケーションモディファイア２１２、例示的な検査アプリケーションプロセッサ２２４および／または例示的な検査実行ベリファイア２２０を実施することができる。複数の周辺機器、インターフェース、チップ、メモリなどを含むものとして例示的なプロセッサシステムＰ１０が以下に記載されるが、それらの要素のうち１つまたは複数は、例示的な検査アプリケーションマネージャ１０１、例示的な検査アプリケーションジェネレータ２０２、例示的な検査アプリケーションコンペアラ２０６、例示的な検査アプリケーションモディファイア２１２、例示的な検査アプリケーションプロセッサ２２４および／または例示的な検査実行ベリファイア２２０のうち１つまたは複数を実施するために使用されるその他の例示的なプロセッサシステムから省略することができる。
【０１１６】
図１０に示されるように、プロセッサシステムＰ１０は、相互接続バスＰ１４に結合されるプロセッサＰ１２を含む。プロセッサＰ１２は、レジスタセットまたはレジスタスペースＰ１６を含み、このレジスタスペースＰ１６は、全体的にオンチップとして図１０に示されるが、代替的には、全体的にまたは部分的にオフチップで配置され、かつ、専用の電気接続を介して、および／または相互接続バスＰ１４を介して、プロセッサＰ１２に直接結合される。プロセッサＰ１２は、任意の好適なプロセッサ、処理ユニットまたはマイクロプロセッサとすることができる。図１０には示されていないが、システムＰ１０は、マルチプロセッサシステムとすることができ、したがって、プロセッサＰ１２と同一または同様であり、相互接続バスＰ１４に通信可能に結合される１つまたは複数の追加のプロセッサを含むことができる。
【０１１７】
図１０のプロセッサＰ１２は、メモリコントローラＰ２０および周辺入出力（Ｉ／Ｏ）コントローラＰ２２を含むチップセットＰ１８に結合される。よく知られるように、チップセットは、典型的には、Ｉ／Ｏ機能およびメモリ管理機能ならびに複数の汎用および／または特殊用途レジスタ、タイマーなどを提供し、チップセットＰ１８に結合された１つまたは複数のプロセッサによってアクセスでき、または使用される。メモリコントローラＰ２０は、プロセッサＰ１２（または複数のプロセッサが存在する場合には複数のプロセッサ）が、システムメモリＰ２４および大容量ストレージメモリＰ２５にアクセスできるようにする機能を実行する。
【０１１８】
システムメモリＰ２４は、たとえば、静的ランダムアクセスメモリ（ＳＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、フラッシュメモリ、リードオンリーメモリ（ＲＯＭ）などのような任意の所望のタイプの揮発性メモリおよび／または不揮発性メモリを含むことができる。大容量ストレージメモリＰ２５は、任意の所望のタイプの大容量ストレージデバイスを含むことができる。たとえば、例示的なプロセッサシステムＰ１０を使用して検査アプリケーションマネージャ１０１を実施する場合（図２）、大容量ストレージメモリＰ２５は、ハードディスクドライブ、光学ドライブ、テープストレージデバイスなどを含むことができる。代替的には、例示的なプロセッサシステムＰ１０を使用して検査データベース２０８および／または訓練データベース２２８を実施する場合、大容量ストレージメモリＰ２５は、ソリッドステートメモリ（たとえば、フラッシュメモリ、ＲＡＭメモリなど）、磁気メモリ（たとえば、ハードドライブ）、または検査データベース２０８および／または訓練データベース２２８内の大容量ストレージに好適な任意のその他のメモリを含むことができる。
【０１１９】
周辺Ｉ／ＯコントローラＰ２２は、プロセッサＰ１２が、周辺入出力（Ｉ／Ｏ）デバイスＰ２６およびＰ２８ならびにネットワークインターフェースＰ３０と周辺Ｉ／ＯバスＰ３２を介して通信できるようにする機能を実行する。Ｉ／ＯデバイスＰ２６およびＰ２８は、たとえば、キーボード、ディスプレイ（たとえば、液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）ディスプレイなど）、ナビゲーションデバイス（たとえば、マウス、トラックボール、静電式タッチパッド、ジョイスティックなど）などのような任意の所望のタイプのＩ／Ｏデバイスとすることができる。ネットワークインターフェースＰ３０は、たとえば、プロセッサシステムＰ１０が別のプロセッサシステムと通信できるようにするイーサネット（登録商標）デバイス、非同期転送モード（ＡＴＭ）デバイス、８０２．１１デバイス、ＤＳＬモデム、ケーブルモデム、セルラ式モデムなどとすることができる。
【０１２０】
メモリコントローラＰ２０およびＩ／ＯコントローラＰ２２が、チップセットＰ１８内の別個の機能ブロックとして図１０に記載されるが、これらのブロックによって実行される機能は、単一の半導体回路内に集積したり、２つ以上の別個の集積回路を使用して実装したりすることができる。
【０１２１】
上述された例示的な方法および／または装置のうち少なくともいくつかは、コンピュータプロセッサ上で動作する１つまたは複数のソフトウェアおよび／またはファームウェアプログラムによって実施される。しかしながら、特定用途向け集積回路、プログラム可能な論理アレイおよびその他のハードウェアデバイスを含むが、これらには限定されない専用のハードウェア実施形態は、同様に、本明細書に記載された例示的な方法および／または装置のうちいくつかまたは全てを、全体的にまたは部分的に実装するように構築することができる。さらに、分散処理またはコンポーネント／オブジェクト分散処理、並行処理あるいは仮想機械処理を含むことができるが、これらには限定されない代替的なソフトウェア実施形態も、本明細書に記載された例示的な方法および／またはシステムを実装するように構築することができる。
【０１２２】
また、本明細書に記載された例示的なソフトウェアおよび／またはファームウェア実施形態は、磁気媒体（たとえば、磁気ディスクまたはテープ）、光学ディスクなどの光磁気媒体または光学媒体、あるいは、メモリカードまたは１つもしくは複数のリードオンリー（不揮発性）メモリ、ランダムアクセスメモリもしくはその他の書き換え可能（揮発性）メモリを収容するその他のパッケージなどのソリッドステート媒体のような有形の保存媒体に保存されることを留意されたい。したがって、本明細書に記載された例示的なソフトウェアおよび／またはファームウェアは、上述のような有形なストレージ媒体または後継のストレージ媒体に保存できる。上記明細書が、特定の標準およびプロトコルを参照して例示的なコンポーネントおよび機能について記載する限り、本特許の範囲は、このような標準およびプロトコルに限定されるものではないことが理解されよう。たとえば、インターネットおよびその他のパケット交換ネットワーク送信（たとえば、送信制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）、ユーザデータグラムプロトコル（ＵＤＰ）／ＩＰ、ハイパーテキストマークアップ言語（ＨＴＭＬ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ））に関する標準はそれぞれ、現在の技術水準の例を代表するものである。このような標準は、同じ全体的な機能を有するより高速またはより効率的な均等物によって、周期的に取って代わられる。したがって、同じ機能を有する代替の標準およびプロトコルは、本特許によって企図され、添付の特許請求の範囲に含まれるように意図される均等物である。
【０１２３】
それに加えて、本特許は、ハードウェア上で実行されるソフトウェアまたはファームウェアを含む例示的な方法および装置を開示するが、このようなシステムは単に例示的なものに過ぎず、限定としてみなされるべきではないことに留意されたい。たとえば、これらのハードウェアコンポーネントおよびソフトウェアコンポーネントのいずれかまたは全ては、ハードウェアでのみ、ソフトウェアでのみ、ファームウェアでのみ、あるいは、ハードウェア、ファームウェアおよび／またはソフトウェアの何らかの組合せで実施され得ることが企図される。このように、上記明細書は、例示的な方法、システムおよび機械アクセス可能媒体について記載したが、これらの例は、このようなシステム、方法および機械アクセス可能な媒体を実施する唯一の方法というわけではない。したがって、ある特定の例示的な方法、システムおよび機械アクセス可能媒体を本明細書に記載してきたが、本特許の及ぶ範囲はそれらに限定されるものではない。反対に、本特許は、文言上、あるいは均等論の下のいずれかで、明らかに添付の特許請求の範囲となる全ての方法、システム、機械アクセス可能媒体を網羅する。
【図１】
2011048826.tif 000003
【図２】
2011048826.tif 000004
【図３】
2011048826.tif 000005
【図４】
2011048826.tif 000006
【図５】
2011048826.tif 000007
【図６】
2011048826.tif 000008
【図７】
2011048826.tif 000009
【図８】
2011048826.tif 000010
【図９Ａ】
2011048826.tif 000011
【図９Ｂ】
2011048826.tif 000012
【図１０】
2011048826.tif 000013