(57)【要約】      （修正有）【課題】プロセス制御アラームを監査するための方法、装置、システム、及び製造物品が開示される。【解決手段】開示される方法の例としては、監査対象アラームに対応するプロセス制御システム１００内のコンポーネントを特定することが挙げられる。この方法の例は、監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にない場合、監査レポートリクエストに関連付けられたクエリを生成して、アラームのうちの該特定の１つのステータスを対応するコンポーネントにリクエストすることも含む。あるいは、監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にある場合、監査レポートリクエストをクエリに関連付ける。この方法の例は、低優先度として指定されるべきクエリをプロセス制御システムバスを介して送信することも含む。【選択図】図１
2017041244.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御システム内の監査レポートリクエストの管理方法であって、
前記監査レポートリクエストのうちの１つに含まれるアラーム監査パラメータに基づいて監査対象アラームを決定することと、
前記監査対象アラームに対応する前記プロセス制御システム内のコンポーネントを特定することと、
前記監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にない場合、前記監査レポートリクエストに関連付けられたクエリを生成して、前記監査対象アラームのうちの前記特定の１つの前記ステータスを前記対応するコンポーネントにリクエストすることと、
前記監査対象アラームのうちの特定の１つの前記ステータスをリクエストする前記クエリが前記ステータス更新待機行列内にある場合、前記監査レポートリクエストを前記クエリに関連付けることと、
前記対応するコンポーネントが利用可能であるとき、低優先度として指定されるべき、前記ステータス更新待機行列内の前記クエリを、プロセス制御システムバスを介して前記コンポーネントのうちの前記対応するそれぞれに送信することと、
前記コンポーネントから受信した前記クエリに応答して生成された応答に基づいて監査レポートを生成することと、を含む、方法。
【請求項２】
前記プロセス制御システム内の前記コンポーネントが、フィールドデバイス、Ｉ／Ｏデバイス、またはコントローラのうちの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記監査レポートリクエストを記憶する監査レポートリクエスト待機行列を維持することをさらに含む、請求項１に記載の方法。
【請求項４】
前記監査対象アラームに対応する前記プロセス制御システム内の前記コンポーネントを前記特定することが、前記監査レポートリクエストのうちの前記１つに含まれる前記アラーム監査パラメータに基づいて、前記コンポーネントに対応するコンポーネント識別子をシステムエンジニアリングデータベースから取り出すことをさらに含む、請求項１に記載の方法。
【請求項５】
前記アラーム監査パラメータが、複数の前記コンポーネントを含む前記プロセス制御システム内の定義された領域を指定する、請求項１に記載の方法。
【請求項６】
前記監査レポートを前記生成することが、前記応答内に含まれるランタイムアラーム定義とアラーム定義データベース内に記憶された対応する設計時アラーム定義との間の相違点を比較することをさらに含む、請求項１に記載の方法。
【請求項７】
前記監査レポートを前記生成することが、前記コンポーネントから受信した前記応答に基づいて前記コンポーネントの動作状態を判定することをさらに含む、請求項１に記載の方法。
【請求項８】
前記監査対象アラームが、前記プロセス制御システム内の前記監査対象アラームのうちのいずれかを含む、請求項１に記載の方法。
【請求項９】
プロセス制御システム内の監査レポートリクエストを管理するための装置であって、
クエリ生成器であって、プロセッサを介して、
前記監査レポートリクエストのうちの１つに含まれるアラーム監査パラメータに基づいて監査対象アラームを決定し、
前記監査対象アラームに対応する前記プロセス制御システム内のコンポーネントを特定し、
前記監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にない場合、前記監査レポートリクエストに関連付けられたクエリを生成して、監査対象アラームのうちの前記特定の１つの前記ステータスを前記対応するコンポーネントにリクエストし、
前記監査対象アラームのうちの特定の１つの前記ステータスをリクエストする前記クエリが前記ステータス更新待機行列内にある場合、前記監査レポートリクエストを前記クエリに関連付ける、クエリ生成器と、
前記対応するコンポーネントが利用可能であるとき、低優先度として指定されるべき、前記ステータス更新待機行列内の前記クエリを、プロセス制御システムバスを介して前記コンポーネントのうちの前記対応するそれぞれに送信するシステム通信器と、
前記コンポーネントから受信した前記クエリに応答して生成された応答に基づいて監査レポートを生成するレポート生成器と、を備える、装置。
【請求項１０】
前記プロセス制御システム内の前記コンポーネントが、フィールドデバイス、Ｉ／Ｏデバイス、またはコントローラのうちの少なくとも１つを含む、請求項９に記載の装置。
【請求項１１】
前記監査レポートリクエストを記憶する監査レポートリクエスト待機行列を維持するアラーム通信器をさらに含む、請求項９に記載の装置。
【請求項１２】
前記監査対象アラームに対応する前記プロセス制御システム内の前記コンポーネントを前記特定することが、前記監査レポートリクエストのうちの前記１つに含まれる前記アラーム監査パラメータに基づいて、前記コンポーネントに対応するコンポーネント識別子をシステムエンジニアリングデータベースから取り出すことをさらに含む、請求項９に記載の装置。
【請求項１３】
前記アラーム監査パラメータが、複数の前記コンポーネントを含む前記プロセス制御システム内の定義された領域を指定する、請求項９に記載の装置。
【請求項１４】
前記監査レポートを生成するために、前記レポート生成器が、前記応答内に含まれるランタイムアラーム定義とアラーム定義データベース内に記憶された対応する設計時アラーム定義との間の相違点をさらに比較する、請求項９に記載の装置。
【請求項１５】
前記監査レポートを生成するために、前記レポート生成器が、前記コンポーネントから受信した前記応答に基づいて前記コンポーネントの動作状態をさらに判定する、請求項９に記載の装置。
【請求項１６】
命令を備えるコンピュータ読み取り可能な有形記憶媒体であって、前記命令は、実行されるとき、機械をもって、少なくとも
監査レポートリクエストのうちの１つに含まれるアラーム監査パラメータに基づいて監査対象アラームを決定させ、
前記監査対象アラームに対応するプロセス制御システム内のコンポーネントを特定させ、
前記監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にない場合、前記監査レポートリクエストに関連付けられたクエリを生成して、前記監査対象アラームのうちの前記特定の１つの前記ステータスを前記対応するコンポーネントにリクエストさせ、
前記監査対象アラームのうちの特定の１つの前記ステータスをリクエストする前記クエリが前記ステータス更新待機行列内にある場合、前記監査レポートリクエストを前記クエリに関連付けさせ、
前記対応するコンポーネントが利用可能であるとき、低優先度として指定されるべき、前記ステータス更新待機行列内の前記クエリを、プロセス制御システムバスを介して前記コンポーネントのうちの前記対応するそれぞれに送信させ、
前記コンポーネントから受信した前記クエリに応答して生成された応答に基づいて監査レポートを生成させる、コンピュータ読み取り可能な有形記憶媒体。
【請求項１７】
前記プロセス制御システム内の前記コンポーネントが、フィールドデバイス、Ｉ／Ｏデバイス、またはコントローラのうちの少なくとも１つを含む、請求項１６に記載のコンピュータ読み取り可能な有形記憶媒体。
【請求項１８】
実行されるとき、前記機械をもって、監査レポートリクエストを記憶する監査レポートリクエスト待機行列を維持させるものをさらに含む、請求項１６に記載のコンピュータ読み取り可能な有形記憶媒体。
【請求項１９】
前記監査対象アラームに対応する前記プロセス制御システム内の前記コンポーネントを特定するために、実行されるとき、前記機械をもって、前記監査レポートリクエストのうちの前記１つに含まれる前記アラーム監査パラメータに基づいて、前記コンポーネントに対応するコンポーネント識別子をシステムエンジニアリングデータベースから取り出させる前記命令、請求項１６に記載のコンピュータ読み取り可能な有形記憶媒体。
【請求項２０】
前記アラーム監査パラメータが、複数の前記コンポーネントを含む前記プロセス制御システム内の定義された領域を指定する、請求項１６に記載のコンピュータ読み取り可能な有形記憶媒体。
【請求項２１】
前記監査レポートを生成するために、前記命令が、実行されるとき、前記機械をもって、前記応答内に含まれるランタイムアラーム定義とアラーム定義データベース内に記憶された対応する設計時アラーム定義との間の相違点をさらに比較させる、請求項１６に記載のコンピュータ読み取り可能な有形記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般的にはプロセス制御システムに関し、より具体的にはプロセス制御アラームを監査するための方法及び装置に関する。
【背景技術】
【０００２】
化学、石油、または他のプロセスで使用されるものと同じであるプロセス制御システムは、アナログバス、デジタルバス、またはアナログ／デジタル複合バスを介して少なくとも１つのホストまたはオペレータワークステーション及び１つまたは複数のフィールドデバイスに通信可能に連結された１つまたは複数のプロセスコントローラを典型的に含む。フィールドデバイスは、例えば、デバイスコントローラ、弁、弁ポジショナ、スイッチ、及び送信器（例えば、温度、圧力、及び流量センサ）であってもよく、弁の開閉及びプロセスパラメータの測定等の機能をプロセス制御システム内で遂行する。中央プロセスコントローラは、フィールドデバイスによって行われるプロセス測定及び／またはフィールドデバイスに関する他の情報を表示する信号を受信し、その情報を使用して制御ルーチンを実装し、次に、バスまたは他の通信回線を通じてフィールドデバイスに送られる制御信号を生成して、プロセス制御システムの動作を制御する。フィールドデバイスは、フィールドデバイスのあるパラメータが承認された範囲外にあるときに合図するプロセス制御アラームをしばしば始動または生成する。これらのアラームは、オペレータに通知して事故を防止するのを支援し、かつ／またはログに記録されてプロセス制御システムの問題解決を支援する。
【図面の簡単な説明】
【０００３】
【図１】本開示の教示事項を内部に実装することができるプロセス制御システムの例を図示している。
【図２】図１のプロセス制御システムの例のコンポーネント間の関係を特定する、データ構造の例を描いている。
【図３】プロセス制御システム内のプロセス制御アラームを監査する、図１のアラームハンドラの例の実装の例を図示している。
【図４】図１及び３のアラームハンドラの例によって生成される、ランタイムレポートの例を描いている。
【図５】図１及び３のアラームハンドラの例によって生成される、相違点レポートの例を描いている。
【図６】プロセス制御システム内のプロセス制御アラームを監査する図１及び３のアラームハンドラを実装するために実行することができる、方法の例を表す流れ図である。
【図７】監査レポートを生成する図１及び３のアラームハンドラを実装するために実行することができる、方法の例を表す流れ図である。
【図８】図１及び３のアラームハンドラの例を実装する図６及び／または７によって表される方法を遂行するための、機械読み取り可能な命令を実行するように構築されたプロセッサシステムの例のブロック図である。    可能な限り、図面（複数可）及び添付の明細書を通じて、同じまたは類似の部分を参照するために同じ参照番号が使用される。
【発明の概要】
【０００４】
プロセス制御システム内の監査レポートリクエストを管理するための、開示される方法の例は、監査レポートリクエストのうちの１つに含まれるアラーム監査パラメータに基づいて監査対象アラームを決定することを含む。開示される方法の例は、監査対象アラームに対応するプロセス制御システム内のコンポーネントを特定することも含む。開示される方法の例は、監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にない場合、監査レポートリクエストに関連付けられたクエリを生成して、アラームのうちの該特定の１つのステータスを対応するコンポーネントにリクエストすることも含む。開示される方法の例は、監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にある場合、監査レポートリクエストをクエリに関連付けることも含む。開示される方法の例は、対応するコンポーネントが利用可能であるとき、低優先度として指定されるべき、ステータス更新待機行列内のクエリを、プロセス制御システムバスを介してコンポーネントのうちの対応するそれぞれに送信することも含む。開示される方法の例は、コンポーネントから受信したクエリに応答して生成された応答に基づいて監査レポートを生成することも含む。
【０００５】
開示される装置の例は、プロセッサを介して、監査レポートリクエストのうちの１つに含まれるアラーム監査パラメータに基づいて監査対象アラームを決定し、監査対象アラームに対応するプロセス制御システム内のコンポーネントを特定するクエリ生成器を含む。監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にない場合、クエリ生成器は、監査レポートリクエストに関連付けられたクエリを生成して、アラームのうちの特定の１つのステータスを対応するコンポーネントにリクエストする。監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にある場合、クエリ生成器は、監査レポートリクエストをクエリに関連付ける。開示される装置の例は、対応するコンポーネントが利用可能であるとき、低優先度として指定されるべき、ステータス更新待機行列内のクエリを、プロセス制御システムバスを介してコンポーネントのうちの対応するそれぞれに送信するシステム通信器を含む。開示される装置の例は、コンポーネントから受信したクエリに応答して生成された応答に基づいて監査レポートを生成するレポート生成器も含む。
【０００６】
開示されるコンピュータ読み取り可能な有形記憶媒体の例は、実行されるとき、機械をもって、監査レポートリクエストのうちの１つに含まれるアラーム監査パラメータに基づいて監査対象アラームを決定させ、監査対象アラームに対応するプロセス制御システム内のコンポーネントを特定させる命令を含む。開示されるコンピュータ読み取り可能な有形記憶媒体の例は、実行されるとき、機械をもって、監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にない場合、監査レポートリクエストに関連付けられたクエリを生成させて、アラームのうちの該特定の１つのステータスを対応するコンポーネントにリクエストさせる命令も含む。開示されるコンピュータ読み取り可能な有形記憶媒体の例は、実行されるとき、機械をもって、監査対象アラームのうちの特定の１つのステータスをリクエストするクエリがステータス更新待機行列内にある場合、監査レポートリクエストをクエリに関連付けさせる命令も含む。開示されるコンピュータ読み取り可能な有形記憶媒体の例は、実行されるとき、機械をもって、対応するコンポーネントが利用可能であるとき、低優先度として指定されるべき、ステータス更新待機行列内のクエリを、プロセス制御システムバスを介してコンポーネントのうちの対応するそれぞれに送信させる命令も含む。開示されるコンピュータ読み取り可能な有形記憶媒体の例は、実行されるとき、機械をもって、コンポーネントから受信したクエリに応答して生成された応答に基づいて監査レポートを生成させる命令も含む。
【発明を実施するための形態】
【０００７】
本開示は、一般的にはプロセス制御システムに関し、より具体的にはプロセス制御アラームの監査のための方法及び装置に関する。プロセス制御システムは、コントローラと相互に作用して制御システム内に配置されたフィールドデバイスを管理するルーチン、制御戦略、及び／またはアルゴリズムを遂行するプロセス制御アプリケーションを実行するワークステーション及び／またはサーバを含む。フィールドデバイスは、例えば、弁、弁ポジショナ、スイッチ、及び送信器であってもよく、弁の開閉及びプロセス制御パラメータの測定等のプロセス制御機能を遂行してもよい。フィールドデバイスを管理することに加えて、コントローラは、フィールドデバイスから受信した情報に基づいてプロセスデータ（例えば、プロセス制御情報）を生成してもよい。プロセスデータとしては、プロセス統計、アラーム、監視情報、プロセス動向情報、診断情報、フィールドデバイスステータス情報、及び／またはフィールドデバイスからのメッセージが含まれてもよい。
【０００８】
プロセス制御アラームは、フィールドデバイスによって測定されるパラメータを監視し、プロセス制御システム内の設計限界を超える、またはまもなく超える条件をオペレータに警告する。例えば、温度プローブは、気体がプロセス制御システムの次のフェーズに入る前に、その気温を測定してもよい。このような例では、第１のプロセス制御アラームは、気体の温度が２５０℃を超えるならば検知するように設定されてもよく、第２のプロセス制御アラームは、気体の温度が２２５℃を超えるならば検知するように設定されてもよい。パラメータがアラーム条件を超える場合、プロセス制御アラームには、例えばプロセス制御システムに対する影響に基づいて、優先度も付与されてもよい。アラームに対する反応も、ログファイル内へのログ記録から、オペレータに対する聴覚的及び／または視覚的合図まで、プロセス制御システムの緊急シャットダウンまで、それらの優先度に基づいて変化する。例えば、第１のプロセス制御アラームは、高苛酷度を付与され、プロセス制御システムに接続されたワークステーションで聴覚的及び視覚的アラームを始動させてもよい一方、第２のプロセス制御アラームは、中度の苛酷度を付与され、プロセス制御システムに接続されたワークステーションで視覚的アラームを始動させてもよい。
【０００９】
プロセス制御アラームは、システムエンジニアによって構成され、アラーム定義データベース内に維持される。本明細書で使用される場合、設計時プロセス制御アラーム定義は、システムエンジニアによって設計されたプロセス制御定義である。プロセス制御アラームの構成は、ランタイム間に、オペレータ及び／またはプロセス制御論理によって変更されてもよい。本明細書で使用される場合、ランタイムプロセス制御アラーム定義は、フィールドデバイス及び／またはプロセス制御システムのコントローラによって記憶されたプロセス制御アラーム定義である。例えば、フィールドデバイスによって測定されるあるパラメータの正常動作条件が、該測定されるパラメータにおける正常な変動がプロセス制御アラームをトリガーするほど、プロセス制御アラームの限界値に近接する場合がある。このような例では、オペレータ及び／またはプロセス制御論理は、プロセス制御アラームの設定を変更して、プロセス制御アラームがトリガーされる頻数を低減してもよい。フィールドデバイスがプロセス制御システムに追加された当初は、フィールドデバイス内に記憶されたランタイムプロセス制御アラーム定義は、設計時プロセス制御アラーム定義と同一である。
【００１０】
ランタイムプロセス制御アラーム定義は、随時（例えば、定期的に、非定期的に等）監査される。一部の実施例では、プロセス制御アラーム監査は、ランタイムプロセス制御アラーム定義と対応する設計時プロセス制御アラーム定義との間の相違点を判定する。追加的に、オペレータ及び／またはプロセス制御論理は、プロセス制御アラームを棚上げすること（例えば、ある期間にわたる一時的に無効化）によって、またはプロセス制御アラームを非稼働にすること（例えば、プロセス制御アラームを、それが再有効化されるまで、無効化すること）によって、ランタイム間にプロセス制御アラームを停止してもよい。例えば、オペレータ及び／またはプロセス制御論理は、チャタリングを発生させるプロセス制御アラームを棚上げしてもよい。別の実施例として、オペレータ及び／またはプロセス制御論理は、プロセス制御システムの対応する部分がメンテナンス中である間、プロセス制御アラームを非稼働にしてもよい。
【００１１】
慣例上、プロセス制御アラームは、プロセス制御システム内のＯＰＣサーバにアクセスするオープンプラットホームコミュニケーションズ（ＯＰＣ）クライアントアプリケーションを介して監査される。ＯＰＣは、プロセス制御システムのための標準化通信プロトコルである。ＯＰＣクライアントは、ＯＰＣクライアントがＯＰＣサーバにリクエストできる、承認されたプロセス制御設定のリストにアクセスすることができる。しかしながら、ＯＰＣプロトコルは、プロセス制御システムの性能に著しい影響を与える。結果として、ＯＰＣベースのシステムは、監査され得るプロセス制御アラームの数及び種別を限定している。
【００１２】
以下に開示される実施例では、プロセス制御システムは、プロセス制御システム内のアラームハンドラを含む。アラームハンドラは、ランタイムに修正され得るアラーム特性を点検する（例えば、オペレータ及び／またはプロセス制御論理によって）。アラームハンドラの例は、プロセス制御バス（例えば、ＨＡＲＴ（登録商標）及び／またはＦＯＵＮＤＡＴＩＯＮ（商標）フィールドバス等）を通じてコントロール及びフィールドデバイスに通信し、かつ／またはフィールドデバイスに送られる監査クエリのタイミング及び／または優先度を管理する。一部の実施例では、アラームハンドラは、コントローラ及び／またはフィールドデバイスに送られる監査クエリを低優先度として指定する。このような手法で、コントローラ及び／またはフィールドデバイスは、コントローラ及び／またはフィールドデバイスが高優先度のタスク（例えば、アラーム条件をホストに通信すること）を処理していないとき、監査リクエストを処理する。以下に開示される一部の実施例では、アラームハンドラは、監査レポートリクエストの受領に基づいて、かつ／または計画的な監査レポートリクエストに基づいて、監査クエリを送る。代替的に、または追加的に、一部の実施例では、アラームハンドラは、随時（例えば、毎日、毎週等）監査クエリを送る。
【００１３】
以下に開示される一部の実施例では、アラームハンドラは、監査レポートリクエストを管理して、システム資源（例えば、プロセッサ負荷、プロセス制御システム帯域等）に過負荷を与えることを防止してもよい。このような一部の実施例では、アラームハンドラは、監査レポートリクエストを待機行列内に入れて、プロセス制御システム内のフィールドデバイス及び／またはコントローラに同時に送られる監査クエリの数を制御する。このような手法で、アラームハンドラは、フィールドデバイス及び／またはコントローラに送られる監査クエリを制御して、意図的または非意図的なサービス妨害型の攻撃（例えば、システム資源が監査レポートリクエストを処理するために使用されるためにプロセス制御システムの低下を引き起こすような、大量の、及び／または頻繁な監査レポートリクエストを送ること）を防止する。
【００１４】
以下に開示される実施例では、アラームハンドラは、相違点レポート及び／またはランタイムレポートを提供する。相違点レポートを生成するために、アラームハンドラは、ランタイムプロセス制御アラーム定義と設計時プロセス制御アラーム定義とを比較する。相違点レポートは、定義間の相違点を報告し、かつ／またはプロセス制御アラームが停止されているか否か報告する。ランタイムレポートは、現在の限界値、現在の停止状態（例えば、棚上げ、非稼働、非停止）、有効化状態（例えば、有効または無効）、優先度等の、ランタイムプロセス制御アラーム定義内の情報を報告する。一部の実施例では、アラームハンドラは、監査対象アラームに関連付けられたフィールドデバイス及び／またはコントローラの動作状態（例えば、アイドル、運転中、シャットダウン等）を報告する。例えば、監査レポートリクエストが弁コントローラに関連付けられた監査対象アラームを指定しているとき、アラームハンドラは、弁コントローラがシャットダウンされていることを表示してもよい。
【００１５】
以下に開示される一部の実施例では、アラームハンドラは、相違点レポート及び／またはランタイムレポートを標準化された形式（例えば、デリミタ区切り値（ＤＳＶ）形式、ハイパーテキストマークアップ言語（ＨＴＭＬ）形式、拡張マークアップ言語（ＸＭＬ）形式、ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）形式等）で提供してもよい。一部の実施例では、アラームハンドラは、相違点レポート及び／またはランタイムレポートをスタイルシート（例えば、ＸＭＬスタイルシート等）に従ってフォーマットしてもよい。一部の実施例では、アラームハンドラは、相違点レポート及び／またはランタイムレポートを監査レポートリクエストによって指定されたネットワーク上の場所に保存してもよい。
【００１６】
以下に開示される実施例では、アラームハンドラは、監査対象アラームのサブセットを指定するアラーム監査リクエストを受け入れる。一部の実施例では、監査レポートリクエストは、監査対象プロセス制御アラームの優先度及び／または種別を指定してもよい。例えば、監査レポートリクエストは、アラームハンドラ監査プロセス制御アラームにリクエストしてもよく、温度プローブに対応する「重大」の優先度レベルで指定する。一部の実施例では、監査レポートリクエストは、対応するプロセス制御アラームが監査されるべき、コントローラ及び／またはフィールドデバイスのサブセットを指定してもよい。このような一部の実施例では、コントローラ及び／またはフィールドデバイスのサブセットは、論理的及び／または地理的な区分（例えば、領域）にまとめられてもよい。このような実施例では、コントローラ及び／またはフィールドデバイスの特定のサブセットを指定するアラーム監査リクエストを受信したとき、アラームハンドラは、システムエンジニアリングデータベースに基づいて、どのコントローラ及び／またはフィールドデバイスならびにどのプロセス制御アラームを監査するか決定する。例えば、監査レポートリクエストは、ＭＡＴＥＲＩＡＬ＿ＰＲＥＰ＿ＡＲＥＡタグと関連付けられた領域を指定してもよい。このような一実施例では、アラームハンドラは、どのプロセス制御アラームがシステムデータベース内でＭＡＴＥＲＩＡＬ＿ＰＲＥＰ＿ＡＲＥＡタグと関連付けられているか判定し、次に、ランタイムプロセス制御アラーム定義を対応するコントローラ及び／または対応するフィールドデバイスにリクエストしてもよい。
【００１７】
以下に開示される一部の実施例では、アラームハンドラは、コマンドラインスイッチを含む監査レポートリクエストを受け入れる。本明細書で使用される場合、コマンドラインスイッチとは、監査レポートリクエストを生成するコマンドに対する引数であり、監査レポートリクエストを修正する。例えば、コメントラインスイッチは、予め定義された監査レポートリクエスト、レポート（複数可）を保存するネットワーク上の場所、監査対象アラームのサブセット、監査対象プロセス制御アラームの優先度及び／または種別（例えば、温度プローブアラーム、システムアラーム、プロセスアラーム等）等を指定してもよい。
【００１８】
図１は、本明細書に記載されているようなアラームハンドラ１０２を含むプロセス制御システムの例１００を図示している。プロセス制御システムの例１００は、フィールドバス１０４（ＨＡＲＴ（登録商標）及び／またはＦＯＵＮＤＡＴＩＯＮ（商標）フィールドバス等）、高速分離型バス、組み込み型高度制御、ならびに高度ユニット及びバッチ管理を含む１つまたは複数のスマートプラント能力を統合した工場プロセス制御アーキテクチャを用いている。フィールドバス１０４は、プロセス制御システム１００内部のフィールドデバイス１０６をネットワーク化し、デバイスの管理、構成、監視、及び診断等を含む様々なアプリケーションのためのインフラストラクチャを提供する。
【００１９】
プロセス制御システムの例１００は、フィールドデバイスの例１０６、コントローラ（複数可）の例１０８、Ｉ／Ｏデバイスの例１１０、及びホストの例１１２を含む。フィールドデバイスの例１０６は、プロセスを制御及び／または監視し、例えば、弁、センサ、近接スイッチ、電動機始動装置、駆動装置等を含んでもよい。図示されている実施例では、フィールドデバイス１０６は、Ｉ／Ｏデバイス１１０に交換可能に連結され、Ｉ／Ｏデバイスの例１１０は、フィールドデバイスの例１０６との通信を促進する。Ｉ／Ｏデバイスの例１１０は、様々なモジュールが（例えば、デジタル及び／またはアナログ通信を介して）様々なフィールドデバイス１０６と通信するのを支援する。例えば、Ｉ／Ｏデバイス１１０は、３線式温度プローブとインターフェース接続するためのアナログモジュール及びデジタル弁コントローラとインターフェース接続するためのデジタルモジュールを有してもよい。Ｉ／Ｏデバイスの例１１０は、フィールドデバイス１０６からデータを受信し、コントローラの例１０８によって処理され得る通信へデータを変換する。追加的に、Ｉ／Ｏデバイスの例１１０は、コントローラの例１０８からのデータ及び／または通信を、フィールドデバイス１０６によって処理され得る形式に変換する。一部の実施例では、Ｉ／Ｏデバイス１１０及びコントローラ（複数可）１０８は、１つのユニットに組み合わされている。
【００２０】
図示されている実施例では、プロセス制御システム１００は、Ｉ／Ｏデバイス１１０、フィールドデバイス１０６、及び／またはコントローラ１０８を収容する領域１１４ａ、１１４ｂに分割され、プロセス制御システム１００のサブセットを形成する。領域の例１１４ａ、１１４ｂは、プロセス制御システム１００を、含まれているＩ／Ｏデバイス１１０、フィールドデバイス１０６、及び／またはコントローラ１０８の間の論理的及び／または地理的関係に基づいて分割する。例えば、領域１１４ａは、原材料の処理に関係するＩ／Ｏデバイス１１０、フィールドデバイス１０６、及び／またはコントローラ１０８用に定義されてもよい。別の実施例として、領域１１４ｂは、製造工場のクリーンルーム内に収容されたフィールドデバイス１０６及び関連付けられたＩ／Ｏデバイス１１０用に定義されてもよい。
【００２１】
コントローラの例１０８は、有線または無線ネットワーク（例えば、ＬＡＮ、ＷＡＮ、インターネット等）を介してホスト１１２（例えば、ワークステーション及び／またはサーバ）に連結される。コントローラの例１０８は、例えば、監視アプリケーション、アラーム管理アプリケーション、プロセス動向及び／または履歴アプリケーション、診断アプリケーション、パッチ処理及び／またはキャンペーン管理アプリケーション、統計アプリケーション、映像ストリーミングアプリケーション、高度制御アプリケーション、安全計装アプリケーション、イベントアプリケーション等を含むプロセス制御アプリケーションのためのフィールドデバイス１０６からの出力に基づいて、プロセスデータを計算するルーチンを制御する。コントローラ１０８は、定期的間隔で、かつ／またはプロセスデータを処理または生成させるたびに、プロセスデータをホスト１１２に転送する。コントローラ１０８によって送信されるプロセスデータには、プロセス制御値、データ値、アラーム情報、テキスト、ブロックモード要素ステータス情報、診断情報、エラーメッセージ、パラメータ、イベント、及び／またはデバイス識別子が含まれてもよい。
【００２２】
図１に図示されている実施例では、ホスト１１２は、プロセス制御アプリケーションを実行する。プロセス制御アプリケーションは、コントローラの例１０８と通信して、フィールドデバイス１０６を監視、制御、及び／または診断する。例えば、プロセス制御アプリケーションとしては、制御自動化、プロセス制御システム１００のグラフ表示、変更管理、プロセス制御編集、データ収集、データ分析等が挙げられ得る。一部の実施例では、ホスト１１２に接続された表示器は、プロセス制御アプリケーションをユーザインターフェースを介して表示してプロセスデータをグラフ形式で描画し、ホスト１１２のユーザが（アプリケーションを介して）フィールドデバイス１０６によって生成されたプロセスデータをグラフとして見ることを可能にする。一部の実施例では、プロセス制御アプリケーションがサーバ上で実行されているとき、オペレータは、ワークステーション１１６からホスト１１２への遠隔接続を確立してプロセス制御アプリケーションにアクセスしてもよい。
【００２３】
追加的に、ホストの例１１２は、プロセス制御システム１００内のプロセス制御アラームを監視する。一部の実施例では、ホスト１１２は、フィールドデバイスの例１０６及び／またはコントローラの例１０８からアラーム条件を表示する（例えば、フィールドデバイス１０６によって測定されるあるパラメータが、ランタイムプロセス制御アラーム定義内で定義されたしきい値を満たす（例えば、超える、下回る等））メッセージを受信する。プロセス制御アラームの表示を受信したことに応答して、ホスト１１２は、視覚的及び／または聴覚的アラートを例えばワークステーション１１６上で発生させてもよい。図示されている実施例では、フィールドデバイス１０６及び／またはコントローラ１０８は、特定のフィールドデバイス１０６及び／または特定のコントローラ１０８がアラーム条件を検出するために使用するランタイムプロセス制御アラーム定義を記憶する。
【００２４】
ランタイムプロセス制御アラーム定義は、プロセス制御システム１００のランタイム間に変更されてもよい。一部の実施例では、オペレータは、ランタイムプロセス制御アラーム定義の限界値を変更してもよい。例えば、オペレータは、チャタリングを発生させるプロセス制御アラーム（例えば、アラームパラメータが正常動作条件下で測定パラメータに近く、プロセス制御アラームを頻繁にトリガーさせる）の限界値を調節してもよい。追加的に、一部の実施例では、制御論理が、限界値を調節してもよい。例えば、フィールドデバイス１０６は、あるパラメータのベースライン値を経時的に確立して、そのパラメータの値に不意の急上昇があったときにアラームをトリガーする限界値を設定してもよい。一部の実施例では、オペレータは、プロセス制御アラームを棚上げすること（例えば、ある期間にわたって一時的に無効化すること）及び／またはプロセス制御アラームを非稼働にすること（例えば、再有効化されるまで、無効化すること）によって、プロセス制御アラームを停止（例えば、無効化）してもよい。
【００２５】
図１の図示されている実施例では、プロセス制御システム１００は、システムエンジニアリングデータベースの例１１８を含む。図２は、例示的なプロセス制御システム１００のコンポーネント（例えば、フィールドデバイス１０６、Ｉ／Ｏデバイス１１０、コントローラ１０８等）間の関係を特定する、システムエンジニアリングデータベース１１８内に記憶されたデータ構造の例２００を描いている。図２の図示されている実施例では、データ構造２００は、フィールドデバイス識別子（ＩＤ）の例２０２、コントローラＩＤの例２０４、Ｉ／ＯデバイスＩＤの例２０６、及び領域タグの例２０８を含む。フィールドデバイス識別子の例２０２は、プロセス制御システムの例１００内のフィールドデバイス１０６を一意的に識別する。コントローラＩＤの例２０４は、対応するフィールドデバイス１０６が通信可能に連結されたプロセス制御システムの例１００内のコントローラ１０８を一意的に識別する。Ｉ／ＯデバイスＩＤの例２０６は、対応するフィールドデバイス１０６が通信可能に連結されたプロセス制御システムの例１００内のＩ／Ｏデバイス１１０を一意的に識別する。領域タグの例２０８は、対応するフィールドデバイス１０６が付与されたプロセス制御システムの例１００内の領域１１４ａ、１１４ｂを一意的に識別する。
【００２６】
図１に図示されている実施例に戻ると、アラームハンドラの例１０２は、プロセス制御システム１００内のプロセス制御アラームを監査する。プロセス制御アラームを監査するために、アラームハンドラ１０２は、監査クエリをフィールドバス１０４を介してフィールドデバイス１０６及び／またはコントローラ１０８に送る。監査クエリの例は、フィールドデバイス１０６及び／またはコントローラ１０８によって記憶されたプロセス制御アラーム定義（例えば、ランタイムプロセス制御アラーム定義）及び／またはステータス（例えば、有効、無効、停止等）をリクエストする。一部の実施例では、監査クエリは、フィールドデバイス１０６及び／またはコントローラ１０８の動作状態（例えば、アイドル、運転中、シャットダウン等）もリクエストする。アラームハンドラの例１０２は、監査クエリを処理することがフィールドデバイス１０６及び／またはコントローラ１０８の正常動作を妨げないときにフィールドデバイス１０６及び／またはコントローラ１０８が監査クエリを処理するように、監査クエリを低優先度として指定する。
【００２７】
図示されているアラームハンドラの例１０２は、フィールドデバイス１０６及び／またはコントローラ１０８に送られた監査クエリの結果に基づいてレポートを生成する。一部の実施例では、アラームハンドラ１０２は、フィールドデバイス１０６及び／またはコントローラ１０８から受信したランタイムプロセス制御アラーム定義をアラーム定義データベース１２０内の対応する設計時プロセス制御アラーム定義と比較することによって、相違点レポートを生成する。追加的に、または代替的に、一部の実施例では、アラームハンドラ１０２は、フィールドデバイス１０６及び／またはコントローラ１０８から受信したランタイムプロセス制御アラーム定義及びそれらに関連付けられたステータスを報告するランタイムレポートを生成する。
【００２８】
アラームハンドラの例１０２は、ワークステーション１１６から監査レポートリクエストを受信する。監査レポートリクエストは、どのプロセス制御アラームが監査されるべきか指定する。例えば、監査レポートリクエストは、ＭＡＴＥＲＩＡＬ＿ＰＲＥＰ＿ＡＲＥＡタグに対応する領域１１４ａ、１１４ｂに関連付けられたプロセス制御アラームを監査すべきであると、指定してもよい。追加的に、監査レポートリクエストは、アラームハンドラの例１０２によってどの種別のレポート（例えば、ランタイムレポート、相違点レポート等）が生成されるべきか指定する。一部の実施例では、アラームハンドラ１０２は、コマンドラインスイッチ付きの監査レポートリクエストを受け入れる。コマンドラインスイッチは、監査レポートリクエストを修正する引数である。コマンドラインスイッチは、ワークステーション１１６上で実行されるアプリケーション（例えば、第三者アプリケーション等）が特定の監査レポートリクエストを、アラームハンドラ１０２内に統合されることなく、生成することを可能にする。アラームハンドラの例１０２が受け入れるコマンドラインスイッチの例が、下表１に示されている。
【表１】
2017041244.tif 000003
【００２９】
図示されている実施例では、監査レポートリクエストを受信した後、アラームハンドラ１０２は、どのプロセス制御アラームが監査されるべきか決定する。一部の実施例では、アラームハンドラ１０２は、プロセス制御システム１００内のフィールドデバイス１０６及び／またはコントローラ１０８に関連付けられた全てのプロセス制御アラームを監査する。代替的に、一部の実施例では、アラームハンドラ１０２は、システムエンジニアリングデータベース１１８内に記憶されたデータ構造２００及び／またはアラーム定義データベース１２０内に記憶されたプロセス制御アラーム定義に基づいて、監査レポートリクエストによって（例えば、コマンドラインスイッチを介して）指定されたプロセス制御アラームを監査する。例えば、ＰＲＯＤＵＣＴＩＯＮ１＿ＡＲＥＡタグによって指定された領域（例えば、領域１１４ａ）に関連付けられたプロセス制御アラームを監査レポートリクエストが指定する場合、アラームハンドラ１０２は、フィールドデバイスＩＤ２０２を「ＰＲＯＤＵＣＴＩＯＮ１＿ＡＲＥＡ」領域タグ２０８に関連付けられたシステムエンジニアリングデータベース１１８から取り出す。
【００３０】
一部の実施例では、アラームハンドラ１０２は、リクエストの待機行列を維持する。このような実施例では、アラームハンドラ１０２は、監査レポートリクエストに応答するために必要とされるプロセス制御システム１００のプロセッサ及び帯域の資源を限定するために、新規の監査レポートリクエストをリクエストの待機行列上に置いて、監査レポートリクエストを取り扱う。例えば、アラームハンドラ１０２が監査レポートリクエストを高頻度で受信する場合（例えば、サービス妨害型の攻撃において）、アラームハンドラ１０２は、監査レポートリクエストをリクエストの待機行列上に置いて（または、一部の場合では、監査レポートリクエストの一部を削除して）リクエストを一度に１つずつ処理する。
【００３１】
プロセス制御アラームを監査するために、アラームハンドラの例１０２は、監査クエリを生成して、フィールドバス１０４を介してフィールドデバイス１０６及び／またはコントローラ１０８に送る。アラームハンドラの例１０２は、プロセス制御システム１００の性能が低下しないように、監査クエリを管理する。一部の実施例では、アラームハンドラ１０２は、より高い優先度を有するアクション（例えば、アラームメッセージ等）がある場合にフィールドデバイス１０６及び／またはコントローラ１０８が監査クエリに応答するのを遅延させるように、監査クエリを低優先度に指定する。一部の実施例では、アラームハンドラ１０２は、生成された監査クエリのためのリクエストの待機行列を維持する。このような実施例では、アラームハンドラ１０２は、監査クエリがフィールドデバイス１０６及び／またはコントローラ１０８に送られる頻数を制御する。
【００３２】
図示されている実施例では、アラームハンドラ１０２は、監査クエリに対する応答を受信する。一部の実施例では監査クエリは低優先度に指定されるため、応答は、ある期間にわたってアラームハンドラ１０２によって受信されてもよい。図示されている実施例では、アラームハンドラ１０２は、どの監査クエリがどの監査レポートリクエストに関連付けられているか追跡する。アラームハンドラの例１０２は、アラームハンドラ１０２が監査レポートリクエストに関連付けられた監査クエリに対する応答を受信したとき、監査レポートリクエストに対応する監査レポートを生成する。一部の実施例では、複数の監査レポートリクエストから同じフィールドデバイス１０６及び／または同じコントローラ１０８に対する監査クエリが発生する場合、アラームハンドラ１０２は、フィールドデバイス１０６及び／またはコントローラ１０８に送られる監査クエリを複数の監査レポートリクエストに関連付ける。このような手法で、アラームハンドラ１０２は、フィールドデバイス１０６及び／またはコントローラ１０８が応答しなければならない監査クエリへの数を低減することによって、プロセス制御システム１００の資源（例えば、処理サイクル、帯域等）を節約する。
【００３３】
図３は、図１のプロセス制御システム１００内のプロセス制御アラームを監査する、図１のアラームハンドラの例１０２の実装例を図示している。図示されているアラームハンドラの例１０２は、アラーム通信器の例３００、クエリ生成器の例３０２、システム通信器の例３０４、及びレポート生成器３０６の例を含む。アラーム通信器の例３００は、図１のワークステーション１１６と連通している。一部の実施例では、アラーム通信器３００は、インターネットプロトコル接続（例えば、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）等）を介してワークステーション１１６と通信する。一部の実施例では、アラーム通信器３００は、コマンドライン入力を受け入れる。
【００３４】
アラーム通信器の例３００は、監査レポートリクエスト及び／または監査レポート定義を受信する。監査レポートリクエストの例は、関連付けられたプロセス制御アラームが監査されるべき、領域１１４ａ、１１４ｂ（図１）、コントローラ１０８（図１）、Ｉ／Ｏデバイス１１０（図１）、及び／またはフィールドデバイス１０６（図１）を指定する。一部の実施例では、監査レポートリクエストは、どのプロセス制御アラームが監査されるべきかをさらに絞り込むフィルタオプションも含む。例えば、監査レポートリクエストは、「ＭＸＲ＿ＭＡＴ１」フィールドデバイスＩＤ２０２（図２）を有するフィールドデバイス１０６に関連付けられたプロセス制御アラームを指定してもよく、「有効」のフィルタ値を指定してもよい。
【００３５】
監査レポート定義は、関連付けられたプロセス制御アラームが監査されるべき、領域１１４ａ、１１４ｂ（図１）、コントローラ１０８（図１）、Ｉ／Ｏデバイス１１０（図１）、及び／またはフィールドデバイス１０６（図１）を指定する。一部の実施例では、監査レポート定義は、どのプロセス制御アラームが監査されるべきかをさらに絞り込むフィルタオプションも含む。監査レポート定義がアラーム通信器３００によって受信されると、アラーム通信器の例３００は、監査レポート定義をレポート定義データベースの例３０８内に記憶する。このような手法で、監査レポートリクエストは、どのプロセス制御アラームが監査されるべきかを指定する監査レポート定義をレポート定義データベース３０８内で指定してもよい。一部の実施例では、アラーム通信器３００は、監査レポートリクエストに応答して生成された監査クエリの追跡を促進するために、受信された監査レポートリクエストにリクエストＩＤを付与する。
【００３６】
図示されている実施例では、クエリ生成器３０２は、監査レポートリクエストをアラーム通信器３００から受信するか、そうでなければ取り出す。クエリ生成器の例３０２は、どのプロセス制御アラームが監査されるべきか決定し、監査対象アラームに関連付けられたフィールドデバイス１０６及び／またはコントローラ１０８に送られるべき監査クエリを生成する。どの監査クエリを生成するか決定するために、クエリ生成器の例３０２は、どのフィールドデバイス１０６及び／またはコントローラ１０８が監査レポートリクエストによって指定されているか判定する。図示されている実施例では、クエリ生成器３０２は、監査レポートリクエスト内に指定された領域１１４ａ、１１４ｂ、コントローラ１０８、Ｉ／Ｏデバイス１１０、及び／またはフィールドデバイス１０６に対応するフィールドデバイスＩＤ２０２（図２）及び／またはコントローラＩＤ２０４（図２）をシステムエンジニアリングデータベース１１８（図１）から取り出す。例えば、監査レポートリクエストが特定の領域タグ２０８（図２）を指定している場合、クエリ生成器３０２は、領域タグ２０８に関連付けられたフィールドデバイスＩＤ２０２及び／またはコントローラＩＤ２０４（図２）をシステムエンジニアリングデータベース１１８から取り出す。一部の実施例では、監査クエリは、アラーム通信器３００によって監査レポートリクエストに付与されたリクエストＩＤに関連付けられている。
【００３７】
図３の図示されている実施例では、システム通信器３０４は、監査対象プロセス制御アラームを有するフィールドデバイス１０６及び／またはコントローラ１０８への監査クエリの送信を管理するステータス更新待機行列を維持する。クエリ生成器３０２が監査クエリを生成した後、システム通信器３０４は、監査クエリをステータス更新待機行列上に置く。一部の実施例では、ステータス更新待機行列内の監査クエリに対応するクエリ生成器３０２から、システム通信器３０４がその後に監査クエリ（例えば、ステータス更新待機行列内にすでにある監査クエリと同じフィールドデバイス１０６及び／または同じコントローラ１０８宛ての監査クエリ）を受信する場合、システム通信器３０４は、その２つの監査クエリを組み合わせる。このような一部の実施例では、２つの監査クエリを組み合わせるために、システム通信器３０４は、受信された監査クエリに対応するリクエストＩＤを、すでにステータス更新待機行列内にあった監査クエリと関連付ける。
【００３８】
システム通信器の例３０４は、プロセス制御システム１００の動作を妨げないように、フィールドバス１０４を通した監査クエリの送信を管理する。一部の実施例では、システム通信器３０４は、ステータス更新待機行列上の監査クエリがそれぞれのフィールドデバイス１０６及び／またはそれぞれのコントローラ１０８に送られる頻度を制御する。追加的に、または代替的に、一部の実施例では、システム通信器３０４は、監査クエリを低優先度メッセージとして指定する。システム通信器の例３０４は、フィールドデバイスの例１０６から受信された、プロセス制御アラーム定義を包含する監査応答を追跡する。図示されている実施例では、システム通信器３０４は、監査応答をレポート生成器の例３０６に転送する。
【００３９】
図示されている実施例では、レポート生成器３０６は、監査レポートリクエストをクエリ生成器の例３０２から受信するか、そうでなければ取り出す。監査レポートリクエストは、レポート生成器３０６が作成すべき監査レポートの種類（例えば、ランタイムレポート、相違点レポート等）を指定する。レポート生成器の例３０６は、監査応答をシステム通信器３０４から受信する。監査応答の例は、対応するフィールドデバイス１０６によって使用されるランタイムプロセス制御アラーム定義を含む。一部の実施例では、監査応答は、フィールドデバイス１０６が監査クエリに応答する際、ある期間にわたって受信される。このような一部の実施例では、レポート生成器３０６は、どの監査応答がリクエストされているか追跡する（例えば、クエリ生成器３０２から受信される監査レポートリクエストに基づいて）。レポート生成器の例３０６が監査レポートリクエストに対する監査応答を受信すると、レポート生成器の例３０６は、監査レポートを生成する。一部の実施例では、レポート生成器３０６は、監査応答を受信するために、ある期間（例えば、６時間、１日、１週間等）待機する。このような実施例では、その期間が満了したとき、レポート生成器３０６は、対応する監査応答が受信されなかったプロセス制御アラームに関するエラーメッセージを含む監査レポートを生成する。
【００４０】
ランタイムレポートを生成するために、レポート生成器３０６は、フィールドデバイス１０６からの監査応答をとりまとめ、監査レポートリクエストに含まれている場合はフィルタ値を適用する。例えば、監査レポートリクエストが、停止されているプロセス制御アラームを除外するためのフィルタを指定している場合、レポート生成器３０６は、対応するプロセス制御アラームが停止されている（例えば、棚上げ、非稼働等）ことを表示する監査応答を取り除く。
【００４１】
一部の実施例では、監査レポートリクエストは、ランタイムレポートを指定する。図４は、レポート生成器３０６によって生成されたランタイムレポートの例４００を図示している。図示されている実施例では、ランタイムレポート４００は、ランタイムレコード４０１を含む。ランタイムレコードの例４０１は、ランタイムプロセス制御定義内の情報及びプロセス制御アラームの停止に関する情報を含む。図示されている実施例では、ランタイムレコード４０１は、プロセス制御アラーム経路の例４０２、優先度インジケータの例４０４、有効フラグの例４０６、限界値の例４０８、停止理由の例４１０、停止タイムアウト値の例４１２、棚上げ停止フラグの例４１４、及び非稼働停止フラグの例４１６を含む。図示されている実施例では、ランタイムレポート４００は、どのフィルタが監査レポートリクエスト内に含まれていたかを表示するフィルタ値４１８を含む。図示されている実施例では、プロセス制御アラーム経路は、それぞれのプロセス制御アラームに関連付けられた領域タグ２０８、コントローラＩＤ２０４、及びプロセス制御アラームＩＤを表示する。優先度インジケータの例４０４は、それぞれのプロセス制御アラームの優先度レベルを表示する。例示的な有効フラグの例４０６は、プロセス制御アラームが有効か（例えば、有効であることを表示する値）または無効か（例えば、無効であることを表示する値）を表示する。限界値の例４０８は、プロセス制御アラームをトリガーするランタイム限界値を表示する。停止理由の例４１０は、それぞれのプロセス制御アラームが停止されている理由の簡潔な説明を含む。停止タイムアウト値の例４１２は、プロセス制御アラームが棚上げ解除されるまでの時間を表示する。棚上げ停止フラグの例４１４は、対応するプロセス制御アラームが棚上げされているか否か表示する非稼働停止フラグの例４１６は、対応するプロセス制御アラームが非稼働か否か表示する。
【００４２】
一部の実施例では、監査レポートリクエストは、相違点レポートを指定する。相違点レポートを生成するために、図３のレポート生成器３０６は、システム通信器３０４から受信された監査応答に含まれるランタイムプロセス制御アラーム定義に対応する設計時プロセス制御アラーム定義を、アラーム定義データベース１２０から取り出す。レポート生成器の例３０６は、ランタイムプロセス制御アラーム定義と設計時プロセス制御アラーム定義との間の相違点を判定する。
【００４３】
図５は、レポート生成器の例３０６によって生成された相違点レポートの例５００を図示している。図示されている実施例では、相違点レポート５００は、ランタイムプロセス制御アラーム定義と設計時プロセス制御アラーム定義との間の相違点の概要５０２を含む。相違点レポートの例５００は、相違点レコードの例５０３を含む。図示されている実施例では、相違点レコード５０３は、プロセス制御アラーム経路の例４０２、属性フィールドの例５０４、設計時フィールドの例５０６、ランタイムフィールドの例５０８、及び追加的データフィールドの例５１０を含む。図示されている実施例では、プロセス制御アラーム経路４０２は、領域タグ２０８、コントローラＩＤ２０４、及びそれぞれのプロセス制御アラームに関連付けられたプロセス制御アラームＩＤを表示する。属性フィールドの例５０４は、どの属性（例えば、優先度インジケータ４０４、有効フラグ４０６、限界値４０８等）がランタイムプロセス制御アラーム定義と設計時プロセス制御アラーム定義との間で異なるか表示する。
【００４４】
図５に図示されているように、ランタイムプロセス制御アラーム定義と対応する設計時プロセス制御アラーム定義との間で、属性フィールド５０４によって表示されているように、２つ以上の属性が相違する場合、プロセス制御アラーム（例えば、プロセス制御経路４０２によって表示されるような）は、相違点レポート５００上で２回以上表示されてもよい。設計時フィールドの例５０６は、属性フィールド５０４によって表示される属性の設計時プロセス制御アラーム定義に対応する値を保持する。ランタイムフィールドの例５０８は、属性フィールド５０４によって表示される属性のランタイムプロセス制御アラーム定義に対応する値を保持する。追加的データフィールドの例５１０には、ランタイムプロセス制御アラーム定義のうち他の態様（例えば、停止理由４１０から、停止タイムアウト値４１２、棚上げ停止フラグ４１４、非稼働停止フラグ４１６等）が含まれる。例えば、プロセス制御アラームが停止されていることをランタイムプロセス制御アラーム定義が表示するとき、レポート生成器は、追加的データフィールド５１０内に停止関連データを含める。図示されている実施例では、相違点レポート５００は、どのフィルタが監査レポートリクエストに含まれていたか表示するフィルタ値４１８を含む。
【００４５】
図３のレポート生成器３０６は、レポート（例えば、ランタイムレポート４００、相違点レポート５００等）を標準化された形式（例えば、ＤＳＶ形式、ＨＴＭＬ形式、ＸＭＬ形式、ＪＳＯＮ形式等）で生成する。レポート生成器の例は、レポートをアラーム通信器の例３００に転送する。一部の実施例では、アラーム通信器３００は、生成されたレポートをワークステーション１１６に送る。代替的に、一部の実施例では、アラーム通信器３００は、監査レポートリクエストによって指定されるネットワーク上の場所にレポートを保存する。
【００４６】
図１のアラームハンドラの例１０２を実装する手法の例が図３に図示されているものの、図３に図示されている１つまたは複数の要素、プロセス、及び／またはデバイスは、任意の他の方法で組み合わせ、分割、再配置、省略、排除、及び／または実装されてもよい。さらに、アラーム通信器の例３００、クエリ生成器の例３０２、システム通信器の例３０４、レポート生成器の例３０６、及び／またはより一般的に図１のアラームハンドラの例１０２は、ハードウェア、ソフトウェア、ファームウェア、ならびに／またはハードウェア、ソフトウェア、及び／またはファームウェアの任意の組み合わせによって実装されてもよい。したがって、例えば、アラーム通信器の例３００、クエリ生成器の例３０２、システム通信器の例３０４、レポート生成器の例３０６、及び／またはより一般的にアラームハンドラの例１０２のうちのいずれも、１つまたは複数のアナログもしくはデジタル回路（複数可）、論理回路、プログラマブルプロセッサ（複数可）、特定用途向け集積回路（複数可）（ＡＳＩＣ（複数可））、プログラマブル論理デバイス（複数可）（ＰＬＤ（複数可））及び／またはフィールドプログラマブル論理デバイス（複数可）（ＦＰＬＤ（複数可））によって実装されてもよい。純粋にソフトウェア及び／またはファームウェアの実装を包含するために本特許の装置またはシステムの請求項のいずれかを読み取るとき、実施例、アラーム通信器の例３００、クエリ生成器の例３０２、システム通信器の例３０４、及び／またはレポート生成器の例３０６のうちの少なくとも１つは、ソフトウェア及び／またはファームウェアを記憶したメモリ、デジタル汎用ディスク（ＤＶＤ）、コンパクトディスク（ＣＤ）、Ｂｌｕ−ｒａｙディスク等の、コンピュータ読み取り可能な有形の記憶デバイスまたは記憶ディスクを含むと、ここに明示的に定義される。さらに、図１のアラームハンドラの例１０２は、図３に図示されているものに加えて、もしくはそれらの代わりに１つまたは複数の要素、プロセス、及び／もしくはデバイスを含んでもよく、かつ／または図示されている要素、プロセス、及びデバイスのうちのいずれか２つ以上もしくは全部を含んでもよい。
【００４７】
図１及び３のアラームハンドラ１０２を実装するための方法の例を表す流れ図が、図６及び７に示されている。この実施例では、方法は、図８に関連して下述されるプロセッサプラットホームの例８００内に示されているプロセッサ８１２等の、プロセッサによって実行されるためのプログラムを含む。プログラムは、ＣＤ−ＲＯＭ、フロッピーディスク、ハードドライブ、デジタル汎用ディスク（ＤＶＤ）、Ｂｌｕ−ｒａｙディスク、またはプロセッサ８１２に関連付けられたメモリ等の、コンピュータ読み取り可能な有形記憶媒体上に記憶されたソフトウェア内で具現化されてもよいが、プログラムの全部及び／またはその部分は、代替的に、プロセッサ８１２以外のデバイスによって実行されてもよく、かつ／またはファームウェアもしくは専用ハードウェア内で具現化されてもよい。さらに、プログラム（複数可）の例は、図６及び７に図示されている流れ図を参照して説明されているものの、アラームハンドラの例１０２を実装する他の多くの方法が代替的に使用されてもよい。例えば、ブロックの実行順序は、変更されてもよく、かつ／または説明されているブロックのうちのいくつかは、変更、排除、もしくは組み合わせられてもよい。
【００４８】
上述のように、図６及び７の方法の例は、ハードディスク駆動装置、フラッシュメモリ、読み取り専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル汎用ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）、及び／または任意の持続期間の間（例えば、長期間、永続的、短時間、一時的バッファ保持用、及び／または情報のキャッシュ保持用）情報が内部に記憶される任意の他の記憶デバイスもしくは記憶ディスク等の、コンピュータ読み取り可能な有形記憶媒体上に記憶された符号化命令（例えば、コンピュータ及び／または機械読み取り可能な命令）を使用して実装されてもよい。本明細書で使用される場合、「コンピュータ読み取り可能な有形記憶媒体」という用語は、任意の種類のコンピュータ読み取り可能な記憶デバイス及び／または記憶ディスクを含み、伝播信号を除外し、伝送媒体を除外すると明示的に定義される。本明細書で使用される場合、「コンピュータ読み取り可能な有形記憶媒体」及び「機械読み取り可能な有形記憶媒体」は、互換的に使用される。追加的に、または代替的に、図６及び７の方法の例は、ハードディスク駆動装置、フラッシュメモリ、読み取り専用メモリ、コンパクトディスク、デジタル汎用ディスク、キャッシュ、ランダムアクセスメモリ、及び／または任意の持続期間の間（例えば、長期間、永続的、短時間、一時的バッファ保持用、及び／または情報のキャッシュ保持用）情報が内部に記憶される任意の他の記憶デバイスまたは記憶ディスク等の、コンピュータ及び／または機械読み取り可能な非一時的媒体上に記憶された符号化命令（例えば、コンピュータ及び／または機械読み取り可能な命令）を使用して実装されてもよい。本明細書で使用される場合、「コンピュータ読み取り可能な非一時的媒体」という用語は、任意の種類のコンピュータ読み取り可能な記憶デバイス及び／または記憶ディスクを含み、伝播信号を除外し、伝送媒体を除外すると明示的に定義される。本明細書で使用される場合、「少なくとも」という文言が請求項のプリアンブルで遷移用語として使用されるとき、それは、「含む（ｃｏｍｐｒｉｓｉｎｇ）」という用語が制約のない語であるのと同様に、制約のない語である。
【００４９】
図６は、図１のプロセス制御システム１００内のプロセス制御アラームを監査する図１及び３のアラームハンドラ１０２を実装するために実行することができる方法の例６００を表す流れ図である。最初に、ブロック６０２で、アラーム通信器３００（図３）が監査レポートリクエストを選択する。一部の実施例では、アラーム通信器３００は、ワークステーション１１６（図１）から受信された監査レポートリクエストを記憶するリクエスト待機行列を維持する。ブロック６０４で、クエリ生成器３０２は、ブロック６０２で選択された監査レポートリクエストに基づいて、監査されるべきプロセス制御アラームを有するフィールドデバイス１０６（図１）を特定する。フィールドデバイス１０６を特定するために、クエリ生成器の例３０２は、監査レポートリクエストに含まれているコントローラＩＤ２０４、Ｉ／ＯデバイスＩＤ２０６、及び／または領域タグ２０８に対応するフィールドデバイスＩＤ２０２を取り出す。一部の実施例では、監査レポートリクエストは、特定のフィールドデバイスＩＤ（複数可）２０２を指定する。
【００５０】
ブロック６０６で、クエリ生成器３０２は、ブロック６０４で特定されたフィールドデバイスＩＤ２０２に対応するフィールドデバイス１０６のうちの１つを選択する。ブロック６０８で、クエリ生成器３０２は、フィールドデバイスに対応する監査クエリがシステム通信器３０４によって維持されるステータス更新待機行列内にあるか否か判定する。このフィールドデバイスに対応する監査クエリがステータス更新待機行列内にない場合、プログラム制御は、ブロック６１０に進む。逆に、このフィールドデバイスに対応する監査クエリがステータス更新待機行列内にある場合、プログラム制御は、ブロック６１４に進む。ブロック６１０で、クエリ生成器３０２は、ブロック６０６で選択されたフィールドデバイス１０６によって記憶されたランタイムプロセス制御アラーム定義をリクエストする監査クエリを生成し、この監査クエリをブロック６０２で選択された監査レポートリクエストと（例えば、リクエストＩＤを介して）関連付ける。ブロック６１２で、システム通信器は、ブロック６１０で生成された監査クエリをステータス更新待機行列上に置く。
【００５１】
ブロック６１４で、クエリ生成器３０２は、ステータス更新待機行列内の監査クエリをブロック６０２で選択された監査レポートリクエストと（例えば、リクエストＩＤを介して）関連付ける。このような手法で、ステータス更新待機行列内の監査クエリは、２つ以上の監査レポートリクエストと関連付けられてもよい。ブロック６１６で、クエリ生成器３０２は、監査クエリが生成されるべき別のフィールドデバイス１０６が存在するか否か判定する。監査クエリが生成されるべき別のフィールドデバイス１０６が存在する場合、プログラム制御は、ブロック６０６に戻る。逆に、監査クエリが生成されるべき別のフィールドデバイス１０６が存在しない場合、プログラム制御は、ブロック６１８に進む。ブロック６１８で、アラーム通信器３００は、監査クエリが生成されるべき別の監査レポートリクエストが存在するか否か判定する。監査クエリが生成されるべき別の監査レポートリクエストが存在する場合、プログラム制御は、ブロック６０２に戻る。逆に、監査クエリが生成されるべき別の監査レポートリクエストが存在しない場合、プログラム制御は、ブロック６２０に進む。ブロック６２０で、システム通信器３０４は、監査ステータス更新待機行列内の監査クエリを対応するフィールドデバイスにフィールドバス１０４（図１）を介して送信する。方法の例６００は、そこで終了する。
【００５２】
図７は、監査レポートを生成する図１及び３のアラームハンドラ１０２を実装するために実行することができる、方法の例７００を表す流れ図である。最初に、ブロック７０２で、レポート生成器３０６は、監査リクエストレポートを選択する。ブロック７０４で、レポート生成器３０６は、ブロック７０２で選択された監査レポートリクエストに関連付けられた監査応答を受信する。ブロック７０６で、レポート生成器３０６は、監査レポートリクエストに関連付けられた全ての監査応答が受信されたか否か判定する。監査レポートリクエストに関連付けられた全ての監査応答が受信されている場合、プログラム制御は、ブロック７０８に進む。逆に、監査レポートリクエストに関連付けられた全ての監査応答が受信されていない場合、プログラム制御は、ブロック７０４に戻る。
【００５３】
ブロック７０８で、レポート生成器３０６は、ブロック７０２で選択された監査レポートリクエストに指定されているフィルタ値に基づいて監査応答を抽出する。例えば、レポートリクエストが、プロセス制御アラームが有効であるか否かに対応するフィルタ値を指定している場合、レポート生成器は、対応するプロセス制御アラームが無効であることを表示するランタイムプロセス制御アラーム定義を有する監査応答を除外する。ブロック７１０で、レポート生成器３０６は、監査レポートリクエストがランタイムレポートまたは相違点レポートを指定しているか否か判定する。監査レポートリクエストがランタイムレポートを指定している場合、プログラム制御は、ブロック７１２に進む。逆に、監査レポートリクエストが相違点レポートを指定している場合、プログラム制御は、ブロック７１４に進む。ブロック７１２で、レポート生成器３０６は、ブロック７０８でフィルタ抽出された監査応答内のランタイムプロセス制御アラーム定義に基づいて、ランタイムレポート（例えば、図４のランタイムレポート４００）を生成する。
【００５４】
ブロック７１４で、レポート生成器３０６は、監査応答に含まれているランタイムプロセス制御アラーム定義を、アラーム定義データベース１２０内の対応する設計時プロセス制御アラーム定義と比較する。ブロック７１６で、レポート生成器３０６は、ランタイムプロセス制御アラーム定義と対応する設計時プロセス制御アラーム定義との間の相違点を含む相違点レポート（例えば、図５の相違点レポート５００）を生成する。例えば、ランタイムプロセス制御アラーム定義は、９５という限界値（例えば、限界値４０８）を有してもよい一方、対応する設計時プロセス制御アラーム定義は、９８という限界値を有する。このような一実施例では、レポート生成器は、設計時プロセス制御アラーム定義内のプロセス制御経路に対応するプロセス制御アラーム経路４０２、「限界値」という値を有する属性５０４、「９８」の値を有する指定フィールド５０６、及び「９５」の値を有するランタイムフィールド、を備える相違点レコード５０３（図５）を含むであろう。
【００５５】
ブロック７１８で、レポート生成器７１８は、監査レポートが生成されるべき別の監査レポートリクエストが存在するか否か判定する。監査レポートが生成されるべき別の監査レポートリクエストが存在する場合、プログラム制御は、７０２に戻る。逆に、監査レポートが生成されるべき別の監査レポートリクエストが存在しない場合、方法の例７００は、終了する。
【００５６】
図８は、図６及び７の方法ならびに図１及び３のアラームハンドラ１０２を実装する命令を実行できる、プロセッサプラットホームの例８００のブロック図である。プロセッサプラットホーム８００は、例えば、サーバ、ワークステーション、または任意の他の種類の計算装置であってもよい。
【００５７】
図示されているプロセッサプラットホームの例８００は、プロセッサ８１２を含む。図示されているプロセッサの例８１２は、ハードウェアである。例えば、プロセッサ８１２は、任意の所望のファミリまたは製造業者からの１つまたは複数の集積回路、論理回路、マイクロプロセッサ、またはコントローラによって実装されてもよい。図示されている実施例では、プロセッサ８１２は、アラーム通信器の例３００、クエリ生成器の例３０２、システム通信器の例３０４、及びレポート生成器の例３０６を含むように構築される。
【００５８】
図示されているプロセッサの例８１２は、ローカルメモリ８１３（例えば、キャッシュ）を含む。図示されているプロセッサの例８１２は、揮発性メモリ８１４及び不揮発性メモリ８１６を含む主メモリとバス８１８を介して連通している。揮発性メモリ８１４は、シンクロナス動的ランダムアクセスメモリ（ＳＤＲＡＭ）、動的ランダムアクセスメモリ（ＤＲＡＭ）、ＲＡＭＢＵＳ動的ランダムアクセスメモリ（ＲＤＲＡＭ）、及び／または任意の他の種類のランダムアクセスメモリデバイスによって実装されてもよい。不揮発性メモリ８１６は、フラッシュメモリ及び／または任意の他の所望の種類のメモリデバイスによって実装されてもよい。主メモリ８１４、８１６へのアクセスは、メモリコントローラによって制御される。
【００５９】
図示されているプロセッサプラットホームの例８００は、インターフェース回路８２０も含む。インターフェース回路８２０は、イーサネットインターフェース、ユニバーサルシリアルバス（ＵＳＢ）、及び／またはＰＣＩエクスプレスインターフェース等の、任意の種類のインターフェース規格によって実装されてもよい。
【００６０】
図示されている実施例では、１つまたは複数の入力デバイス８２２が、インターフェース回路８２０に接続される。入力デバイス（複数可）８２２は、ユーザがデータ及びコマンドをプロセッサ８１２内に入力することを可能にする。入力デバイス（複数可）は、例えば、オーディオセンサ、マイクロホン、カメラ（静止画もしくは動画）、キーボード、ボタン、マウス、タッチスクリーン、トラックパッド、トラックボール、ｉｓｏｐｏｉｎｔ及び／または音声認識システムによって実装されてもよい。
【００６１】
１つまたは複数の出力デバイス８２４も、図示されているインターフェース回路の例８２０に接続される。出力デバイス８２４は、例えば、表示器デバイス（例えば、発光ダイオード（ＬＥＤ）、有機発光ダイオード（ＯＬＥＤ）、液晶表示器、陰極線管表示器（ＣＲＴ）、タッチスクリーン、触覚出力デバイス、印刷機、及び／またはスピーカ）によって実装されてもよい。したがって、図示されている実施例のインターフェース回路８２０は、典型的にグラフィックスドライバカード、グラフィックスドライバチップ、またはグラフィックスドライバプロセッサを含む。
【００６２】
図示されているインターフェース回路の例８２０は、送信器、受信器、トランシーバ、モデム及び／またはネットワークインターフェースカード等の、ネットワーク８２６（例えば、イーサネット接続、デジタル加入者線（ＤＳＬ）、電話線、同軸ケーブル、携帯電話システム等）を介して外部機械（例えば、任意の種類の計算装置）とのデータの交換を促進する通信デバイスも含む。
【００６３】
図示されているプロセッサプラットホームの例８００は、ソフトウェア及び／またはデータを記憶するための１つまたは複数の大容量記憶デバイス８２８も含む。このような大容量記憶デバイス８２８の例としては、フロッピーディスク駆動装置、ハードドライブディスク、コンパクトディスク駆動装置、Ｂｌｕ−ｒａｙディスク駆動装置、ＲＡＩＤシステム、及びデジタル汎用ディスク（ＤＶＤ）駆動装置が挙げられる。
【００６４】
図６及び／または７の方法を実装する符号化命令８３２は、大容量記憶デバイス８２８内に、揮発性メモリ８１４内に、不揮発性メモリ８１６内に、及び／またはＣＤもしくはＤＶＤ等の着脱可能なコンピュータ読み取り可能な有形記憶媒体上に、記憶されてもよい。
【００６５】
上述のことから、上に開示された実施例は、プロセス制御システム内のプロセス制御アラームのための監査レポートを生成する一方で、プロセス制御システムのプロセッサ及び帯域の資源を管理することが理解されるであろう。上に開示されたアラームハンドラは、外部ＯＰＣベースのランタイムアラーム監査を使用して、プロセス制御システムのサイバー脅威に対するエクスポージャを低減する。一部の実施例では、上に開示されたアラームハンドラは、低レベル接続を使用し（例えば、フィールドバスを介して）、かつ複数の監査レポートリクエストを管理することによって、プロセス制御システムの処理及び帯域の資源に対する負担を低減する。
【００６６】
追加的に、一部の実施例では、上に開示されたアラームハンドラは、監査可能なプロセス制御アラームの数を、ランタイムに修正可能なプロセス制御アラームへ拡張する。上に開示されたアラームハンドラの例は、監査レポートリクエストが、監査されるべきプロセス制御システムの特定の論理的及び／または地理的領域を指定することを可能にし、監査レポートリクエストが、所望のプロセス制御アラーム（例えば、環境保護または安全に関係するプロセス制御アラーム）を指定するフィルタ値を含めることを可能にする。
【００６７】
本明細書では特定の方法の例、装置、及び製造物品が開示されたものの、本特許の包含範囲は、それらには限定されない。それどころか、本特許は、本特許の特許請求の範囲内に公正に属する全ての方法、装置、及び製造物品を包含する。
【図１】
2017041244.tif 000004
【図２】
2017041244.tif 000005
【図３】
2017041244.tif 000006
【図４】
2017041244.tif 000007
【図５】
2017041244.tif 000008
【図６】
2017041244.tif 000009
【図７】
2017041244.tif 000010
【図８】
2017041244.tif 000011