(57)【要約】【課題】プロセス制御システムの制御ループタイミングを調整する方法及び装置を提供する。【解決手段】本方法は、プロセス制御システム内の第１のプロセス制御装置を利用して生成される第１の入力信号を受信する工程と、第１の入力信号が、制御ループの第１の予定時間枠の間に受信されたか否かをプロセス制御システム内で判定する工程と、後に続く入力信号が、後に続く制御ループの予定時間枠の間に受信されるように、第１のプロセス制御装置から受信される後に続く入力信号のタイミングをプロセス制御システム内で調整する工程であって、後に続く入力信号のタイミングは、第１の入力信号が受信された時間に少なくとも基づいている、タイミングを調整する工程と、を含んでいる。【選択図】図１
2011054167.tif 000002
【特許請求の範囲】
【請求項１】
プロセス制御システムの制御ループタイミングを調整する方法において、
プロセス制御システム内の第１のプロセス制御装置を介して生成された第１の入力信号を受信する工程と、
前記第１の入力信号が、制御ループの第１の予定時間枠の間に受信されたか否かを前記プロセス制御システム内で判定する工程と、
後に続く入力信号が、前記制御ループの後に続く予定時間枠の間に受信されるように、前記第１のプロセス制御装置から受信される前記後に続く入力信号のタイミングを、前記プロセス制御システム内で調整する工程であって、前記後に続く入力信号の前記タイミングは、少なくとも前記第１の入力信号が受信された時間に基づいている、タイミングを調整する工程と、から成る方法。
【請求項２】
前記第１の入力信号を受信するより前に、前記制御ループが、前記第１の入力信号内に含まれる情報を利用する時間に対応する第１の時間を特定する工程と、
前記第１の入力信号を受信するより前に、前記制御ループが、前記第１の入力信号に関連付けられる出力信号を伝送する時間に対応する第２の時間を特定する工程と、
前記第１の入力信号を受信した後で、前記第１の入力信号が受信された時間に対応する第３の時間を識別する工程と、を更に備えている請求項１に記載の方法。
【請求項３】
前記制御ループは、第１の時間に、前記第１の入力信号内に含まれる情報に少なくとも部分的に基づいて制御動作を計算する、請求項２に記載の方法。
【請求項４】
前記第１の入力信号又は前記出力信号の少なくとも１つの優先度を判定する工程であって、
前記優先度が、高い優先度の出力信号であれば、前記制御動作を前記第２の時間に前記出力信号を介して前記第１のプロセス制御装置又は第２のプロセス制御装置の少なくとも１つへ伝送し、
前記優先度が、低い優先度の出力信号であれば、高い優先度の出力が、前記第１のプロセス制御装置又は前記第２のプロセス制御装置の少なくとも１つへ伝送された後で前記出力信号を伝送し、
前記優先度が、高い優先度の入力信号であれば、前記第１の入力信号は、前記制御ループの前記第１の予定時間枠の間に受信されるか否かを判定し、
前記優先度が、低い優先度の入力信号であれば、前記第１の入力信号は、他の入力信号が、前記第１の予定時間枠の間に受信されるか否かを判定した後で、前記制御ループの前記第１の予定時間枠の間に受信されるか否かを判定する、優先度を判定する工程、を更に備えている請求項３に記載の方法。
【請求項５】
前記低い優先度の出力信号は、比較的に長期間の間に生成される出力信号を含んでおり、
前記高い優先度の出力信号は、前記制御動作を含んでおり、
前記低い優先度の入力信号は、ディスプレイ内に含まれる監視入力又は前記制御動作に関連付けられない入力の少なくとも１つを含んでおり、
前記優先度の高い入力信号は、前記制御動作に関連付けられるフィールド装置からの入力を含んでいる、請求項４に記載の方法。
【請求項６】
前記後に続く入力信号は、前記第１の入力信号が、生成された後で、前記第１のプロセス制御装置を介して生成される、請求項１に記載の方法。
【請求項７】
前記第１の入力信号は、前記制御ループの第１のサイクルに対応しており、前記後に続く入力信号は、前記制御ループの第２のサイクルに対応している、請求項１に記載の方法。
【請求項８】
前記第１の入力信号は、前記第１の予定時間枠から外れて受信されることを判定する工程に応えて、前記第１の入力信号は、前記第１の予定時間枠から外れていることを示す診断信号を生成する工程を更に備えている、請求項１に記載の方法。  
【請求項９】
前記第１の入力信号は、前記制御ループの前記第１の予定時間枠の間で受信されるか否かを判定する工程は、前記第１の入力信号が、受信された時間と、前記第１の予定時間枠の中の或る時間と、の間の時差を計算する工程を含んでいる、請求項１に記載の方法。
【請求項１０】
前記第１の予定時間枠の中の時間は、前記第１の予定時間枠の始点時間、前記第１の予定時間枠の終点時間、又は前記第１の予定時間枠の前記始点時間と前記終点時間の間の時間、の少なくとも１つを含んでいる、請求項９に記載の方法。
【請求項１１】
前記後に続く入力信号の前記タイミングは、第１の時差と第２の時間の平均を判定する工程に基づいている、請求項１に記載の方法。
【請求項１２】
前記第１の時差は、前記第１の入力信号が受信された時間と、前記第１の予定時間枠の中の或る時間と、の間の時差に基づいており、前記第２の時差は、以前の入力信号が受信された時間と、以前の予定時間枠の中の或る時間と、の間の時差に基づいている、請求項１１に記載の方法。
【請求項１３】
前記後に続く入力信号の前記タイミングを調整する工程は、
中間の入力信号が、中間の予定時間枠のより近くで受信されるようにするために、前記後に続く入力信号を受信する工程より前に、前記第１のプロセス制御装置から受信される前記中間の入力信号のタイミングを漸進的に調整する工程と、
前記後に続く入力信号が、前記後に続く予定時間枠の間に受信されるようにするために、前記第１のプロセス制御装置から受信される前記後に続く入力信号の前記タイミングを漸進的に調整する工程と、を含んでいる、請求項１に記載の方法。
【請求項１４】
前記第１の入力信号が、前記第１のプロセス制御装置によって生成される時、又は前記第１の入力信号が、データ取得装置によって受信される時、の少なくとも１つの期間に、前記第１の入力信号にタイムスタンプを付与する工程と、
前記第１の入力信号がタイムスタンプを付与される時と、前記第１の入力信号が受信される時と、の間の時間の期間を計算する工程と、
前記第１のプロセス制御装置から前記第１の入力信号を受信するコントローラまでのプロセス制御通信パスに関連付けられる品質を、前記時間の期間から判定する工程と、を更に備えている、請求項１に記載の方法。
【請求項１５】
前記時間の期間が、閾値を超える場合には、
前記プロセス制御パス通信は、待ち時間を有していることを示す工程と、
前記通信パスは、品質問題を有していることを示す工程と、
前記プロセス制御通信パスの前記品質問題又は前記待ち時間の少なくとも１つを含む診断メッセージを生成する工程と、を更に備えている、請求項１４に記載の方法。
【請求項１６】
前記閾値は、前記第１の入力信号が、前記第１のプロセス制御装置から前記コントローラまで伝播する所定の時間を含んでいる、請求項１５に記載の方法。
【請求項１７】
プロセス制御システムの制御ループタイミングを調整するにおいて、前記装置は、
第１のプロセス制御装置から発生する第１の入力信号が、制御ループの第１の予定時間枠の間に受信されるか否かを判定し、
後に続く入力信号が、前記制御ループの後に続く予定時間枠の間に受信されるように、前記第１のプロセス制御装置から受信される前記後に続く入力信号のタイミングを、プロセス制御システム内で調整し、前記後に続く入力信号の前記タイミングは、少なくとも前記第１の入力信号が受信された時間に基づいている、タイミングを調整する、スケジューラを備えている装置。
【請求項１８】
前記スケジューラは、
前記制御ループが、前記第１の入力信号内に含まれる情報を利用する時間に対応する第１の時間を特定し、
前記制御ループが、前記第１の入力信号に関連付けられた出力信号を伝送した時間に対応する第２の時間を特定し、
前記第１の入力信号を受信した後で、前記第１の入力信号が受信された時間に対応する第３の時間を識別し、
前記第１の入力信号が、前記第１の予定時間枠から外れて受信されるか否かを判定するために、前記第３の時間から前記第１の時間を差し引き、
タイミング調整メッセージを送信することによって、前記後に続く入力信号のタイミングを調整する、請求項１７に記載の装置。
【請求項１９】
前記第１の入力信号又は前記第１のプロセス制御装置から発生する前記後に続く入力信号の少なくとも１つを受信するレシーバと、
制御ループプロセッサであって、
前記制御ループを操作し、
前記第１の時間に、前記第１の入力信号内に含まれる情報に少なくとも部分的に基づく制御動作を計算し、
前記第２の時間に、前記制御動作を含む前記出力信号を前記第１のプロセス制御装置又は第２のプロセス制御装置の少なくとも１つへ送信する制御ループプロセッサと、を更に備えている、請求項１８に記載の装置。
【請求項２０】
前記制御動作は、前記第１のプロセス制御装置によって測定される前記プロセス制御システムに関連付けられるプロセスに変化を引き起こすように前記第２のプロセス制御装置を作動させる命令を含んでいる、請求項１９に記載の装置。
【請求項２１】
前記第１のプロセス制御装置によって生成される前記第１の入力信号又は前記後に続く入力信号の少なくとも１つを受信し、
前記第１の入力信号を受信した後、前記第１の入力信号にタイムスタンプを付与し、
前記制御ループプロセッサによって生成される前記出力信号を受信し、且つ前記出力信号を前記第１のプロセス制御装置又は第２のプロセス制御装置の少なくとも１つへ転送し、
前記第１の予定時間枠の間に前記第１の入力信号を前記スケジューラへ転送し、
前記制御ループの前記第１の予定時間枠の間に、前記第２の出力信号を前記レシーバへ転送する命令を含んでいる、前記タイミング調整メッセージを前記スケジューラから受信し、
前記制御ループの前記第１の予定時間枠の間に前記後に続く入力信号を前記スケジューラへ転送する、データ取得モジュールを更に備えている、請求項１８に記載の装置。
【請求項２２】
前記データ取得モジュールは、入力／出力カードを備えている、請求項２１に記載の装置。
【請求項２３】
前記スケジューラ、前記制御ループプロセッサ、前記データ取得モジュール、又は前記レシーバの少なくとも１つは、コントローラ内に含まれている、請求項２１に記載の装置。
【請求項２４】
前記スケジューラは、
前記第１の入力信号又は前記出力信号の少なくとも１つの優先度を判定し、
前記優先度が、高い優先度の出力信号であれば、前記制御動作を前記第２の時間に前記出力信号を介して前記第１のプロセス制御装置又は前記第２のプロセス制御装置の少なくとも１つへ伝送し、
前記優先度が、低い優先度の出力信号であれば、高い優先度の出力が、前記第１のプロセス制御装置又は前記第２のプロセス制御装置の少なくとも１つへ伝送された後で前記出力信号を伝送し、
前記優先度が、高い優先度の入力信号であれば、前記第１の入力信号は、前記制御ループの前記第１の予定時間枠の間に受信されるか否かを判定し、
前記優先度が、低い優先度の入力信号であれば、前記第１の入力信号は、他の入力信号が、前記第１の予定時間枠の間に受信されるか否かを判定した後で、前記制御ループの前記第１の予定時間枠の間に受信されるか否かを判定する、スケジューラである、請求項２１に記載の装置。
【請求項２５】
前記スケジューラは、
前記第１の入力信号が、前記データ取得モジュール又は前記第１のプロセス制御装置の少なくとも１つによってタイムスタンプを付与される時と、前記第１の入力信号が前記スケジューラによって受信される時と、の間の時間の期間を計算し、
前記第１のプロセス制御装置から前記スケジューラまでのプロセス制御通信パスに関連付けられる品質を、前記時間の期間から判定し、
前記第２の時間の期間が、閾値を超える場合には、前記プロセス制御パスは、待ち時間を有していることを示し、
前記通信パスは、品質問題を有していることを示し、
前記プロセス制御通信パスの前記品質問題又は前記待ち時間の少なくとも１つを含む診断メッセージを生成する、スケジューラである、請求項２１に記載の装置。
【請求項２６】
前記スケジューラは、前記第１の入力信号が受信された時間と、前記第１の予定時間枠の中の或る時間と、の間の時差を計算することによって、前記第１の入力信号が、前記制御ループの前記第１の予定時間枠の間に受信されるか否かを判定する、請求項１７に記載の装置。
【請求項２７】
前記後に続く入力信号は、前記プロセス制御装置が、前記第１の入力信号を生成した後で、前記第１のプロセス制御装置を介して生成される、請求項１７に記載の装置。
【請求項２８】
前記第１の入力信号は、前記制御ループの第１のサイクルに対応し、前記後に続く入力信号は、前記制御ループの第２のサイクルに対応する、請求項１７に記載の装置。
【請求項２９】
前記スケジューラは、第１の時間差と第２の時間差との平均を判定することによって、前記後に続く入力信号のタイミングを判定する、請求項１７に記載の装置。
【請求項３０】
前記スケジューラは、
前記中間の入力信号が、中間の予定時間枠のより近くで受信されるようにするために、前記後に続く入力信号を受信する工程より前に、前記第１のプロセス制御装置から受信される中間の入力信号のタイミングを漸進的に調整し、
前記後に続く入力信号が、前記後に続く予定時間枠の間に受信されるようにするために、前記第１のプロセス制御装置から受信される前記後に続く入力信号の前記タイミングを漸進的に調整することによって、前記後に続く入力信号の前記タイミングを調整するスケジューラである、請求項１７に記載の装置。
【請求項３１】
命令をその上に記憶して有している、機械でアクセス可能な媒体であって、実行される時に機械に、
プロセス制御システムの第１のプロセス制御装置を介して生成される第１の入力信号を受信させ、
前記第１の入力信号が、制御ループの第１の予定時間枠の間に受信されるか否かを、前記プロセス制御システム内で判定させ、
前記後に続く入力信号が、前記制御ループの後に続く予定時間枠の間に受信されるようにするために、前記第１のプロセス制御装置から受信される後に続く入力信号のタイミングを、前記プロセス制御システム内で調整させる媒体であって、前記後に続く入力信号の前記タイミングは少なくとも第１の入力信号を受信した時間に基づく、機械によるアクセス可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、概略的にはプロセス制御システムに、より厳密にはプロセス制御システム内で制御ループタイミングを調整する方法及び装置に関する。
【背景技術】
【０００２】
化学製品、石油、薬剤、紙パルプ、又は他の製造プロセスで使用されるシステムのようなプロセス制御システムは、標準的には、少なくとも１つのオペレータワークステーションを含む少なくとも１つのホストと、アナログ、デジタル又はアナログ／デジタル結合通信プロトコルを介して通信するように構成されている１つ又はそれ以上のフィールド装置と、に通信可能に連結されている、１つ又はそれ以上のプロセスコントローラを含んでいる。フィールド装置は、例えば、装置コントローラ、バルブ、バルブアクチュエータ、バルブポジショナ、スイッチ及び送信器（例えば、温度、圧力、流量、及び化学組成センサー）又はそれらの組み合わせであってもよく、バルブの開閉及びプロセスパラメータの測定又は推測の様なプロセス制御システム内で機能を果たしている。プロセスコントローラは、フィールド装置によって行われたプロセス測定及び／又はフィールド装置に関連付けられる他の情報を示す信号を受信し、制御ルーチンを実装するためにこの情報を利用して、プロセスの動作を制御するためにバス又は他の通信ラインを通じてフィールド装置に送られる制御信号を生成している。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
標準的なプロセス制御システムは、プロセスコントローラによって操作される１つ又はそれ以上の制御ループに分割されている。各制御ループは、１つ又はそれ以上のフィールド装置からの幾つかの入力と、制御アルゴリズムと、１つ又はそれ以上の出力と、を含んでいる。それぞれのフィールド装置は、標準的には、１つ又はそれ以上のＩ／Ｏカードとそれぞれの通信パス（例えば２線式ケーブル、無線リンク、又は光ファイバー）を介してプロセスコントローラと連結されている。Ｉ／Ｏカードは、フィールド装置からの入力を受信し、その入力をプロセスコントローラへ転送する。任意の特定の制御ループの品質は、制御ループの時宜を得て入力変更を読み込む能力、必要な制御計算を実行する能力、及び出力信号の形で応答を生成する能力によって判定される。出力信号は、Ｉ／Ｏカードを通じてプロセス制御システム内のフィールド装置に伝送される。幾つかの事例では、通信パスが、プロセスコントローラによって時宜を得て受信された入力信号を遅延する場合もある。
【課題を解決するための手段】
【０００４】
プロセス制御システムの制御ループタイミングを調整する例示の方法及び装置を説明する。開示される例示の方法は、プロセス制御システム内の第１のプロセス制御装置を利用して生成される第１の入力信号を受信する工程と、第１の入力信号が、制御ループの第１の予定時間枠の間に受信されたか否かをプロセス制御システム内で判定する工程と、を含んでいる。例示の方法は、後に続く入力信号が、後に続く制御ループの予定時間枠の間に受信されるように、第１のプロセス制御装置から受信される後に続く入力信号のタイミングをプロセス制御システム内で調整する工程であって、後に続く入力信号のタイミングは、第１の入力信号が受信された時間に少なくとも基づいている、タイミングを調整する工程を更に含んでいる。
【０００５】
開示する例示の装置は、第１のプロセス制御装置から発生する第１の入力信号は、制御ループの第１の予定時間枠の間に受信されたか否かを判定し、且つ後に続く入力信号が、制御ループの後に続く予定時間枠の間に受信されるように、第１のプロセス制御装置から受信された後に続く入力信号のタイミングをプロセス制御システム内で調整するためのスケジューラであって、後に続く入力信号のタイミングは、第１の入力信号が受信された時間に少なくとも基づいている、スケジューラを含んでいる。
【図面の簡単な説明】
【０００６】
【図１】例示のプロセス制御システムを図示しているブロック図である。
【図２】図１のプロセス制御システムの例示の制御ループの図である。
【図３】図２の例示の制御ループのタイミング図である。
【図４Ａ】図２の例示の制御ループの受信した入力を含んでいるタイミング図である。
【図４Ｂ】図２の例示の制御ループの受信した入力を含んでいるタイミング図である。
【図５】第２のフィールド装置のプロセス制御システムへの追加に対応した入力信号タイミングの調整を示している制御ループ用のタイミング図である。
【図６】図１及び図２の制御ループ及びプロセス制御システム用のメッセージ流れ図である。
【図７】図１及び図２のプロセス制御システム内の例示のコントローラのブロック図である。
【図８Ａ】図１、図２及び図７の例示のコントローラ、図１及び図２の例示の制御ループ、及び／又は図１及び図２の例示のＩ／Ｏスケジューラを実装するために使用してもよい例示の方法のフローチャートである。
【図８Ｂ】図１、図２及び図７の例示のコントローラ、図１及び図２の例示の制御ループ、及び／又は図１及び図２の例示のＩ／Ｏスケジューラを実装するために使用してもよい例示の方法のフローチャートである。
【図９】図１、図２及び図７の例示のコントローラ、図１及び図２の例示の制御ループ、及び／又は図１及び図２の例示のＩ／Ｏスケジューラを実装するために使用してもよい例示の方法のフローチャートである。
【図１０】本明細書に記載する例示の方法及び装置を実装するのに使用してもよい例示のプロセッサシステムのブロック図である。
【発明を実施するための形態】
【０００７】
以下において、例示の方法と、ハードウェアで実行されるソフトウェア及び／又はファームウェアを、他の構成要素と共に含んでいる装置と、を説明するが、こうしたシステムは、単に説明を目的とするものであり、制限を課すためのものと考察されるべきではないことに留意されたい。例えば、これらのハードウェア、ソフトウェア、及びファームウェア構成要素の何れか又は全ては、ハードウェアだけ、ソフトウェアだけ、又はハードウェアとソフトウェアの何らかの組み合わせにより具現化することが可能であるものと思慮している。したがって、以下において例示の方法及び装置を説明を行うものの、提示している実例は、当該の方法及び装置を実装する唯一の方法ではない。
【０００８】
現代のプロセス制御システムは、フィールド装置、配線、通信ネットワーク、入力／出力（Ｉ／Ｏ）取得装置、コントローラ（例えばプロセスコントローラ）、中央プロセッサ、Ｉ／Ｏカードなどを含む多数の関連付けられる構成要素のせいで、本質的には複雑になっている。装置コントローラ、バルブ、バルブアクチュエータ、バルブポジショナ、スイッチ及び送信器（例えば、温度、圧力、流量、及び化学組成のセンサー）又はそれらの組み合わせ、を含む場合のあるフィールド装置は、例えば、バルブの開閉及びプロセスパラメータの測定又は推測などのプロセス制御システム内で機能を果たす。コントローラは、フィールド装置によって作成されたプロセス測定、及び／又はフィールド装置に関連付けられる他の情報、を示す信号（例えば、入力信号）を受信し、 制御ルーチンを実装するためにこの情報を使用し、プロセスの作動を制御するために、バス又は他の通信ラインを通じてフィールド装置に送られる制御信号（例えば、出力信号）を生成する。単一のプロセス制御システムは、１つ又はそれ以上のコントローラを含んでいて、各コントローラは１つ又はそれ以上の制御ルーチンを作動させる場合がある。制御ルーチンは、所定の区間で繰り返される制御ループを備えている。それぞれの区間は、１つの制御ループサイクルである。例えば、制御ルーチンは、１００ミリ秒（ｍｓ）の持続時間の制御ループを含んでいる場合がある。１００ｍｓ後に制御ループサイクルを終えると、ルーチンは、次の制御ループサイクルを開始する（即ち、制御ループの工程を繰り返す）。 
【０００９】
良好に機能する制御ループを作り出す方法論は、プロセス制御システムのトポロジー及び／又はプロセス制御システムを用いて実装される構成要素の特有の型式及び特徴によって影響を及ぼされる可能性のある試行錯誤であってもよい。更に、制御ループの品質及び／又は応答は、時宜を得て監視フィールド装置によって引き起こされた入力変化を読み込み、制御ループの範囲内で必要な制御計算を行い、対応する制御フィールド装置に対する出力を生成する、制御ループの能力によって影響を及ぼされる場合がある。
【００１０】
幾つかの既知のプロセス制御システムは、入力変化に時宜を得て応答する制御ループに関わる問題を有している。制御ループがフィールド装置からの入力を利用する前に、標準的なプロセス制御システムは、入力信号が、幾つかのハードウェア装置及び／又はそれぞれのハードウェア装置内のソフトウェア層を通って伝わるように設計されている。ハードウェア装置及び／又はソフトウェア層のそれぞれは、幾らかの遅延（例えば、待ち時間）を入力信号の伝送時間に加える。更に、伝送遅延は、ハードウェア装置及び／又はソフトウェア層の増加に伴って増大する。
【００１１】
更に、伝送遅延は、プロセス制御システム内のダイナミックネットワークローディングに起因して及び／又はＩ／Ｏソフトウェアモジュールの変動性によって生じる場合がある。ダイナミックネットワークローディング及び／又はソフトウェアの変動性は、制御ループへの入力値を遅延させる及び／又は入力値の伝送に大幅な遅延を生じる可能性がある。これは、古いデータを制御ループに提供するという影響を及ぼし、この影響は、信頼できない又は調整不良の制御ループを引き起こす可能性のある、不適当な補正作用をもたらす場合がある。
【００１２】
更に、伝送遅延は、工場の拡張又は改修のための新しいプロセス制御装備（例えば、フィールド装置）の追加によって生じる場合がある。新しいハードウェアを制御ループに追加すると、プロセス制御システムのダイナミクスは、変化する。同様に、新しい機能及び／又はバグ修正のためのソフトウェア変更は、プロセス制御システムのダイナミクスを変更する場合がある。プロセス制御システムのダイナミクスが変わると、受信した入力のタイミングが、所定のプロセス制御スケジュールからずれるので、制御ループタイミングの意図せぬ変更が生じることになる。
【００１３】
伝送遅延を補償するための標準的な解決方法は、入力信号のオーバーサンプリングを伴っている。例えば、幾つかの制御ループは、I／Ｏ取得装置の固定走査測度より２倍から４倍遅い速度で作動するように構成される。しかしながら、Ｉ／Ｏ取得装置は、最大スループットを有しているので、この方法は、制限的である。その上、フィールド装置は、標準的には、入力信号及び出力信号を利用している消費要素（例えば、フィールド装置、コントローラなど）と何ら関係性が無く、順次的な様式で（例えば、順次アドレスを使用して）サンプリングされる。更に、この方法は、入力信号を、対応する制御動作を計算する制御ループより前に到達させるようにタイミング調整することができない。
【００１４】
本明細書に記載する例示の方法及び装置は、入力信号が、プロセス制御ループ内で使用されるより前に容認可能な予定時間枠の中で受信されるように、入力信号に施す自動調整を提供する。例えば、本明細書に記載する例示の方法及び装置は、温度計（例えば、フィールド装置）からの入力信号が、制御ループが対応する制御動作を計算するより前の、所定の（例えば、予定の）時間枠の中でコントローラによって受信されていないことを確認するのに使用することができる。この予定時間枠は、制御ループが、入力信号を利用する、例えば、１００ｍｓから２００ｍｓ前と定義することができる。入力信号が、時宜を得て受信されていないと認識すると、制御ループが対応する制御動作を計算するより前に、入力信号が許容可能な又は望ましい期間（例えば、１００ｍｓから２００ｍｓ）の範囲内に確実に受信されるように、例示の方法及び装置を、温度入力信号のタイミングを調整するのに使用することができる。
【００１５】
本明細書に記載する例示の方法及び装置では、コントローラは、制御ループを操作し、所定の時間枠の中で受信されていないフィールド装置からの入力信号を認識する。所定の時間枠は、制御ループが入力信号を利用する予定の時間の前の或る期間に対応する。所定の時間枠は、制御ループの実行速度（例えば、走査速度及び／又はループサイクル）に依存する制御ループの許容範囲（例えば、閾値）であってもよい。幾つかの実例では、制御ループは、１つのループサイクルを実行するための全体時間の１０％であるループ走査用の許容範囲を有している場合がある。この実例では、６ｍｓの偏差は、１００ｍｓのループサイクルを有する制御ループ用の１０ｍｓの許容範囲の中に入り得る。しかしながら、６０ｍｓの偏差は、１０ｍｓの許容範囲を超えてしまう。コントローラによって受信される入力信号は、フィールド装置から発生し、フィールド接続箱（ＦＪＢ）、マーシャリングキャビネット、Ｉ／Ｏカード及び／又はＩ／Ｏデータ取得モジュールを通って伝播する。コントローラは、タイミング調整メッセージを、どの時間にどの入力信号をコントローラに転送するのかを指示するＩ／Ｏデータ取得モジュールに送信することによって、受信された入力のタイミングを制御する。タイミング調整メッセージの受信に応えて、Ｉ／Ｏデータ取得モジュールは、Ｉ／Ｏデータ取得モジュールが、対応するフィールド装置からの入力信号を要求する時間、及び／又は入力信号をコントローラに転送する時間、を調整する。
【００１６】
図１では、例示のプロセス制御システム１００は、バス又はエリア制御ネットワーク（ＡＣＮ）と一般に呼ばれるローカルエリアネットワーク（ＬＡＮ）１０６を通じてコントローラ１０４に通信可能に連結されているワークステーション１０２を含んでいる。ＬＡＮ１０６は、任意の望ましい通信媒体及びプロトコルを用いて実装することができる。例えば、ＬＡＮ１０６は、有線接続又は無線のイーサネット（登録商標）通信プロトコルに基づいていてもよい。しかしながら、任意の他の適切な有線又は無線の通信媒体及びプロトコルを使用することも可能である。ワークステーション１０２は、１つ又はそれ以上の情報技術アプリケーション、ユーザー対話型アプリケーション、及び／又は通信アプリケーションに関連付けられる作業を実行するように構成することができる。例えば、ワークステーション１０２は、ワークステーション１０２とコントローラ１０４が、任意の望ましい通信媒体（例えば、無線式、有線式など）及びプロトコル（例えば、ＨＴＴＰ、ＳＯＡＰなど）を用いて他の装置又はシステムと通信できるようにする、プロセス制御関連のアプリケーション及び通信アプリケーションに関連付けられる作業を実行するように構成することができる。
【００１７】
例示のコントローラ１０４は、１つ又はそれ以上のプロセス制御ルーチンと、及び／又は、例えばワークステーション１０２又は任意の他のワークステーションを使用してシステムエンジニア又は他のシステムオペレータによって作られ、コントローラ１０４にダウンロードされ、且つインスタンス化された、１つ又はそれ以上の制御ループとして作動する機能と、を実行するように構成することができる。図示している実例では、ワークステーション１０２は、制御室１０８に設置され、コントローラ１０４は、制御室１０８から分離されたプロセスコントローラエリア１１０に設置されている。例示のコントローラ１０４は、プロセス制御システム１００内で生成された入力信号及び出力信号のタイミングを管理するためにＩ／Ｏスケジューラ１８０を含んでいる。
【００１８】
図示している実例では、例示のプロセス制御システム１００は、第１のプロセスエリア１１４内のフィールド装置１１２ａから１１２ｃと、第２のプロセスエリア１１８内のフィールド装置１１６ａから１１６ｃと、を含んでいる。コントローラ１０４とフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃとの間で情報を通信するために、例示のプロセス制御システム１００は、複数のフィールド接続箱（ＦＪＢ）１２０ａ、１２０ｂと、マーシャリングキャビネット１２２と、を備えている。それぞれのフィールド接続箱１２０ａ、１２０ｂは、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃのそれぞれからの信号を、マーシャリングキャビネット１２２へ送る。次に、マーシャリングキャビネット１２２は、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃから受信した情報を整列させ（例えば、編成する、分類するなど）、フィールド装置情報をコントローラ１０４のそれぞれのＩ／Ｏカード（例えば、Ｉ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂ）へ送る。図示している実例では、コントローラ１０４と、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃと、の間の通信は、双方向的になっているので、マーシャリングキャビネット１２２は、コントローラ１０４のＩ／Ｏカードから受信した情報を、フィールド接続箱１２０ａ、１２０ｂを介してそれぞれのフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃに送るのにも使用されている。
【００１９】
フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃは、Ｆｉｅｌｄｂｕｓ準拠の弁、アクチュエータ、センサーなどであってもよく、その様な事例では、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃは、周知のＦｉｅｌｄｂｕｓ通信プロトコルを使用して、デジタルデータバスを介して通信する。無論、他の型式のフィールド装置及び通信プロトコルを代わりに使用することも可能である。例えば、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃは、代わりに、周知のＰｒｏｆｉｂｕｓ、ＡＳ−ｉ、及びＨＡＲＴ通信プロトコルを使用するデータバスを介して通信する、Ｐｒｏｆｉｂｕｓ、ＨＡＲＴ、又はＡＳ−ｉ準拠の装置であってもよい。幾つかの実装例では、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃは、デジタル通信の代わりに、アナログ通信又は離散的通信を使用して情報を通信することができる。更に、通信プロトコルを、異なるデータ型に関連付けられる情報を通信するのに使用することができる。
【００２０】
マーシャリングキャビネット１２２内のフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃに関連付けられる情報を送るために、マーシャリングキャビネット１２２は、複数のターミネーションモジュール１２４ａから１２４ｃ及び１２６ａから１２６ｃを備えている。ターミネーションモジュール１２４ａから１２４ｃは、第１のプロセスエリア１１４のフィールド装置１１２ａから１１２ｃに関連付けられる情報を整列するように構成されており、ターミネーションモジュール１２６ａから１２６ｃは、第２のプロセスエリア１１８のフィールド装置１１６ａから１１６ｃに関連付けられる情報を整列するように構成されている。マーシャリングキャビネット１２２が無い代替的な実装例では、ターミネーションモジュール１２４ａから１２４ｃ及び１２６ａから１２６ｃは、それぞれのフィールド接続箱１２０ａ、１２０ｂに組み込まれている。更に他の実装例では、ＦＪＢ１２０ａ、１２０ｂは、それぞれのＩ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂに直接的に通信可能に連結されていてもよい。更に、図１は、多導体ケーブル１２８ａ、１２８ｂの各導体又は導体対（例えば、バス、ツイストペア通信媒体、２線式通信媒体など）は、それぞれのフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃに一意に関連付けられる情報を通信している、二地点間構成を図示している。
【００２１】
コントローラ１０４（及び／又はワークステーション１０２）と、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃと、の間のＩ／Ｏ通信を制御するために、コントローラ１０４は、複数のＩ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂを備えている。図示している実例では、Ｉ／Ｏカード１３２ａ、１３２ｂは、コントローラ１０４（及び／又はワークステーション１０２）と第１のプロセスエリア１１４のフィールド装置１１２ａから１１２ｃとの間のＩ／Ｏ通信を制御するように構成されており、Ｉ／Ｏカード１３４ａ、１３４ｂは、コントローラ１０４（及び／又はワークステーション１０２）と第２のプロセスエリア１１８のフィールド装置１１６ａから１１６ｃとの間のＩ／Ｏ通信を制御するように構成されている。
【００２２】
ターミネーションモジュール１２４ａから１２４ｃとＩ／Ｏカード１３２ａ、１３２ｂとの間、及びターミネーションモジュール１２６ａから１２６ｃとＩ／Ｏカード１３４ａ、１３４ｂとの間、で通信できるように、ターミネーションモジュール１２４ａから１２４ｃは、第１の汎用Ｉ／Ｏバス１３６ａを介してＩ／Ｏカード１３２ａ、１３２ｂに通信可能に連結されており、ターミネーションモジュール１２６ａから１２６ｃは、第２の汎用Ｉ／Ｏバス１３６ｂを介してＩ／Ｏカード１３４ａ、１３４ｂに通信可能に連結されている。汎用Ｉ／Ｏバス１３６ａ、１３６ｂのそれぞれは、同じ通信媒体を使用しながら、複数のフィールド装置（例えば、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃ）に対応する情報を通信するように構成されている。例えば、通信媒体は、直列バス、２線式通信媒体（例えば、ツイストペア）、光ファイバー、並列バスなどであってもよく、その通信媒体を通じて、２つ又はそれ以上のフィールド装置に関連付けられる情報を、例えばパケットベースの通信技法、多重化通信技法などを使用して通信することが可能である。
【００２３】
図１の例示のプロセス制御システム１００は、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃから発生する入力信号及び出力信号のタイミングを管理するために、コントローラ１０４、Ｉ／Ｏスケジューラ１８０、及び／又はＩ／Ｏデータ取得モジュール１９０を含んでいる。例示のＩ／Ｏデータ取得モジュール１９０は、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃから発生し、プロセス制御システム１００を通って伝播する入力信号を受信する。入力信号は、アナログ入力データ信号、離散的入力データ信号、及び／又はデジタル入力データ信号を含んでいてもよい。幾つかの事例では、ターミネーションモジュール１２４ａから１２４ｃ及び／又は１２６ａから１２６ｃ及び／又はＩ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂは、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃからの入力信号をデジタル信号型に変換する場合がある。フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃは、構成、装置の型式、及び／又はフィールド装置 が監視しているプロセスの型式、に応じた周期的な間隔で入力信号を生成する。それらの入力信号は、ＦＪＢ１２０ａ、１２０ｂ、ターミネーションモジュール１２４ａから１２４ｃ及び１２６ａから１２６ｃ、並びにＩ／Ｏカード１３２ａ、１３２ｂ及びＩ／Ｏカード１３４ａ、１３４ｂを通じて伝播し、最終的にはＩ／Ｏデータ取得モジュール１９０に達する。
【００２４】
幾つかの事例では、コントローラ１０４は、マスタータイムをフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃに伝達することができる。コントローラ１０４は、マスタータイム装置（図示せず）からマスタータイムを受信することができる。マスタータイムを受信すると、コントローラ１０４は、マスタータイムをＩ／Ｏデータ取得モジュール１９０を介してＩ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂに転送することができる。Ｉ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂは、その後、マスタータイムをそれぞれのフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃに転送することができる。フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃは、入力値及び／又は信号に、入力が感知又は検出された時間のタイムスタンプを付与するのにマスタータイムを使用することができる。フィールド装置が、入力値にタイムスタンプを付与しない実例では、フィールド装置から入力値を受信するＩ／Ｏカードが、入力信号にタイムスタンプを付与する場合がある。マスタータイムの送信における伝播待ち時間を最小化及び／又は削除するために、コントローラ１０４は、マスタータイムをプロセス制御システム１００内での低活動期間の間に送信してもよい。或いは、コントローラ１０４は、既知の伝播遅延を補償するために時間調整メッセージを送信してもよい。
【００２５】
フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃから入力信号を受信すると、Ｉ／Ｏデータ取得モジュール１９０は、或る時期に、どの信号をコントローラ１０４に転送するべきかを決定する。或いは、Ｉ／Ｏデータ取得モジュール１９０は、コントローラ１０４から要求を受け取った際に入力信号をコントローラ１０４に転送してもよい。Ｉ／Ｏデータ取得モジュール１９０が、入力信号を転送する時期は、１つ又はそれ以上のタイミングメッセージ（及び／又はタイミング調整メッセージ）を介して、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０によって通信される。Ｉ／Ｏデータ取得モジュール１９０は、タイミングメッセージの中に含まれるタイミング情報を保存し、このタイミング情報に基づいて入力信号を転送する。更に、タイミング調整メッセージは、Ｉ／Ｏデータ取得モジュール１９０に、フィールド装置１１２ａからの入力信号を要求するタイミングを修正させることができる。例えば、タイミング情報は、フィールド装置１１２ａからの第１の入力信号は、第１の予定時間枠の間に転送されるべきであり、フィールド装置１１２ｂからの第２の入力信号は、第２の予定時間枠の間に転送されるべきであり、フィールド装置１１２ｃからの第３の入力信号は、第３の予定時間枠の間に転送されるべきであると、指示することができる。フィールド装置１１２ａが、異なる時期に複数の第１の入力信号を送信することのある実例では、Ｉ／Ｏデータ取得モジュール１９０は、最近に受信した（即ち、最近の）第１の入力信号をＩ／Ｏスケジューラ１８０に転送する。
【００２６】
幾つかの実例では、Ｉ／Ｏデータ取得モジュール１９０は、様々な量の入力信号、出力信号、メッセージ、及び他の型のトラフィックを受信することができる。それぞれの予定時間枠の中で、コントローラ１０４に転送するべき入力信号を管理することで、Ｉ／Ｏデータ取得モジュール１９０は、プロセス制御システム１００内のネットワーク混雑を減らしている。更に、Ｉ／Ｏスケジューラ１８０が、入力信号は、予定時間枠の中でコントローラ１０４によって受信されていない、と判定する場合には、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０に送信する。このメッセージは、Ｉ／Ｏデータ取得モジュール１９０が、入力信号をコントローラ１０４へ転送するべき新しい周期的な時期を示す。更に、タイミング調整メッセージは、Ｉ／Ｏデータ取得モジュール１９０に、対応するフィールド装置１１２ａからの入力信号を要求するタイミングを修正させることが可能である。
【００２７】
入力信号の受信に加えて、図１の例示のＩ／Ｏデータ取得モジュール１９０は、コントローラ１０４から発生する出力信号を受信している。この出力信号は、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃが、プロセス制御システム１００内でプロセスを補正するための制御情報を含んでいる。I／Ｏデータ取得モジュール１９０は、出力信号を受信すると、出力信号をそれぞれのフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃへ転送することができ、且つ／又は優先度に基づいて出力信号を転送することができる。例えば、Ｉ／Ｏデータ取得モジュール１９０は、出力信号を受信すると、優先度の高い出力信号をそれぞれのフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃへ転送し、優先度の低い出力信号（例えば、制御ループに関連付けられていない出力信号）をプロセス制御システム１００内のネットワーク活動がより低い期間にだけ転送することができる。
【００２８】
例示のコントローラ１０４は、Ｉ／Ｏデータ取得モジュール１９０から入力信号を受信し、コントローラ１０４内で作動している１つ又はそれ以上の制御ループを通してそれらの入力信号を処理している。コントローラ１０４内の制御ループは、１つ又はそれ以上の制御動作を計算する必要に応じて、制御ループ内の特定の時期に或る入力信号を利用している。それぞれの予定時間枠が、制御ループがそれぞれの入力信号を処理するべき期間に対応しており、１つ又はそれ以上のそれぞれの予定時間枠の中で、制御ループが入力信号を受け取るように、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号のタイミングを管理している。コントローラ１０４が、それぞれの予定時間枠から外れて入力信号を受信する場合には、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号の受信と、予定時間枠の範囲内の或る時間との時間差を計算する。
【００２９】
例えば、Ｉ／Ｏスケジューラ１８０は、コントローラ１０４が、第１の入力信号を受信した時間と、予定時間枠の始点、中間、及び／又は終点時の間の差を計算してもよい。或いは、Ｉ／Ｏスケジューラ１８０は、コントローラ１０４が、第１の入力信号を受信した時間と、予定時間枠の中の任意の他の時間と、の間の差を計算してもよい。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、その後、入力信号に関連付けられるその後の入力信号が、コントローラ１０４に転送される時期を調整するために、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０に送信する。更に、タイミング調整メッセージは、Ｉ／Ｏデータ取得モジュール１９０にフィールド装置からの入力信号を要求するタイミングを修正させることが可能である。
【００３０】
入力信号を使用して、図１の例示のコントローラ１０４は、１つ又はそれ以上の制御動作を計算し、出力信号を生成する。コントローラ１０４は、出力信号をＩ／Ｏデータ取得モジュール１９０に転送する。出力信号は、その後、計算された制御動作を実行するべき対応するフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃへ転送される。
【００３１】
フィールド装置が、プロセス制御システム１００に追加される場合では、コントローラ１０４は、新しいフィールド装置を組み込むために、制御ループを更新する。これは、プロセス制御技術者が、制御ループを更新し、且つ／又は別の制御ループをコントローラ１０４に追加する工程を含む場合がある。新しいフィールド装置の追加を受けて、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、制御ループの変化に対応するために入力信号を受信する予定時間枠のタイミングを更新する。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、その後、新しいタイミング要件と共に、１つ又はそれ以上のタイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０に送る。この入力信号タイミングの自動更新のおかげで、制御ループは、別のフィールド装置を追加したにもかかわらず効率的に作動し続ける。更に、入力信号タイミングの更新は、プロセス制御技術者による何らかの介入及び／又はワークステーション１０２によって操作される外部最適化ルーチンが無くても生じる。同様に、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、フィールド装置が、プロセス制御システム１００から取り除かれる場合でも、入力信号のタイミングを調整することができる。
【００３２】
更に、図１の例示のコントローラ１０４は、大幅なタイミングオーバーシュート又はタイミングアンダーシュートが発生するトポロジーのために、必要に応じて、プロセス制御技術者及び／又はオペレータが、ワークステーション１０２を介して、入力信号タイミング補正にフィルターを掛けるべくＩ／Ｏスケジューラ１８０を調整することができるようにする機能性を含んでいる。入力信号のタイミングオーバーシュート及び／又はアンダーシュートは、プロセス制御システム１００内部及び／又は過負荷状態のプロセス制御ネットワークからのノイズに起因する場合がある。
【００３３】
更に、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃと、コントローラ１０４と、の間の通信経路の品質を判定することができる。通信経路の品質は、入力信号がフィールド装置からコントローラ１０４まで伝播するのに必要な時間、入力信号内部のデータの正確さ、入力信号内部のノイズ、及び／又はプロセス制御技術者によって判定される任意の他の基準に基づいて判定することができる。
【００３４】
図２は、制御ループ２０２を操作するコントローラ１０４を含んでいる、図１の例示のプロセス制御システム１００を示している。図２の中のプロセス構成要素は、２組のフィードバックループを含んでいる。第１のフィードバックループは、フィールド装置１１２ａと１１２ｂを含んでいる。第２のフィードバックループは、フィールド装置１１６ａと１１６ｂを含んでいる。
【００３５】
図２の実例では、フィールド装置１１２ａは、プロセス制御システムのパイプを通る流量を制御する弁であり、フィールド装置１１２ｂは、パイプ内の流体圧力を測定するセンサーである。弁１１２ａは、任意の型のプロセス制御弁を含んでいてもよく、１１２ｂは、例えば、圧電抵抗ホイートストーンブリッジ微小電気機械応力感知式圧力センサーを含む任意の型の圧力センサーを含んでいてもよい。センサー１１２ｂは、パイプ内の流体の圧力値を含む入力信号をＩ／Ｏカード１３２ａへ送信する。幾つかの実例では、センサー１１２ｂは、Ｉ／Ｏデータ取得モジュール１９０からの要求に応じて入力信号を送信する場合がある。入力信号は、コントローラ１０４によって受信され、制御ループ２０２を介して処理される。制御ループ２０２は、その後、弁１１２ａ用の制御動作を計算するのに入力信号を使用する。コントローラ１０４は、出力信号を介して制御動作を弁１１２ａへ伝送する。弁１１２ａは、出力信号を受信し、出力信号の値に基づいてその位置を変更する。
【００３６】
プロセス制御システム１００は、ＬＡＮ１０６を介してコントローラ１０４と通信可能に連結されているワークステーション１０２を含んでいる。コントローラ１０４は、Ｉ／Ｏデータ取得モジュール１９０と通信可能に連結されている。Ｉ／Ｏデータ取得モジュール１９０は、それぞれの通信経路２５０、２５４を介して、Ｉ／Ｏカード１３２ａ、１３４ａと通信可能に連結されている。Ｉ／Ｏカード１３２ｂ、１３４ｂ及びＩ／Ｏデータ取得モジュール１９０までのそれぞれの通信経路は、図２では示していない。更に、の実例では、Ｉ／Ｏデータ取得モジュール１９０は、他の通信経路を介して他のＩ／Ｏカードと通信可能に連結されている場合がある。Ｉ／Ｏカード１３２ａは、フィールド装置１１２ａ及び１１２ｂ（例えば、プロセス制御装置）と通信可能に連結されている。同様に、Ｉ／Ｏカード１３４ａは、フィールド装置１１６ａ（例えば、弁）及び１１６ｂ（例えば、センサー）と通信可能に連結されている。
【００３７】
図２の例示のコントローラ１０４は、制御ループ２０２とＩ／Ｏスケジューラ１８０とを含んでいる。他の実例では、コントローラ１０４は、Ｉ／Ｏデータ取得モジュール１９０を含んでいる場合がある。更に、Ｉ／Ｏデータ取得モジュール１９０は、コントローラ１０４の内部で、ハードウェアとして及び／又は機械によるアクセス可能な媒体に記憶されたプロセス実行可能命令として実装される場合がある。更に他の実例では、Ｉ／Ｏデータ取得モジュール１９０は、Ｉ／Ｏカード１３２ａ及び１３２ｂの内部で実装される場合がある。
【００３８】
Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、センサー１１２ｂ及び１１６ｂから発生する入力信号のタイミングを管理している。Ｉ／Ｏスケジューラ１８０は、制御ループ２０２の各予定時間枠の間、入力信号を制御ループ２０２へ転送する。例えば、制御ループ２０２は、コントローラ１０４が、センサー１１２ｂから発生する入力信号を受信するべき予定時間枠と、コントローラ１０４が、センサー１１６ｂから発生する入力信号を受信するべき予定時間枠と、を含んでいる。これらの予定時間枠は、制御ループ２０２がそれぞれの入力信号を利用且つ／又は処理するより前に、制御ループ２０２は、それぞれセンサー１１２ｂ及び１１６ｂからそれぞれの入力信号を受信するように予め定義される。
【００３９】
例示の制御ループ２０２は、入力信号プロセッサ又は機能ブロック（ＡＩ）２１０、比例積分微分制御動作計算機又は機能ブロック（ＰＩＤ）２１２、及び出力信号生成要素又は機能ブロック（ＡＯ）２１４を含んでいる。制御ループ２０２内部の制御アルゴリズム及び／又はルーチンは、ＡＩ２１０から入力信号を受信し、ＰＩＤ２１２を使用して入力信号を処理し、ＡＯ２１４を介して出力信号を生成する。単一の制御ループサイクルは、複数のルーチン及び／又は制御アルゴリズムを含んでいてもよい。他の実例では、制御ループ２０２は、他の型のＡＩ、ＰＩＤ及び／又はＡＯを含んでいてもよい。更に、他の実例は、ＡＩ２１０、ＰＩＤ２１２、及び／又はＡＯ２１４のそれぞれを複数個含んでいてもよい。
【００４０】
ＡＩ２１０は、Ｉ／Ｏスケジューラ１８０から入力信号を受信し、ＰＩＤ２１２の内部で処理する入力信号を構成する。Ｉ／Ｏスケジューラ１８０は、入力信号毎の予定時間枠の間に、入力信号をＡＩ２１０へ転送する。入力信号が、制御ループ２０２によって処理するために必要とされる予定時間枠の始点前に、入力信号がＩ／Ｏスケジューラ１８０によって受信される場合の実例では、Ｉ／Ｏスケジューラ１８０は、予定時間枠まで入力信号の転送を延期する。Ｉ／Ｏスケジューラ１８０が、予定時間枠の終点までに入力信号を受信していない他の場合では、ＡＩ２１０は、同じフィールド装置から以前に送信された入力信号を利用する場合がある。更に、Ｉ／Ｏスケジューラ１８０が、それぞれの予定時間枠の間に入力信号を受信しない時には、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号が受信された時期と、それぞれの予定時間枠（例えば、予定時間枠の始点又は中間）と、の間の時差を計算する。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、その後、Ｉ／Ｏスケジューラ１８０が、入力信号を適切な予定時間枠（即ち、信号が、例えば制御ループ２０２を実行する時にコントローラ１０４によって処理用に必要とされる時間より前の期間）の間に受け取るように、同じフィールド装置からの後に続く入力信号のタイミングを調整するために、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ送信する。他の実例では、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、受信された入力信号のタイミングにおけるオーバーシュートを回避するべく、同じフィールド装置からのその後の入力信号のタイミングを徐々に調整するために１つ又はそれ以上のタイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ送信する場合がある。
【００４１】
図２の実装例では、センサー１１２ｂは、５ｍｓ毎に高圧入力信号を伝送している。幾つかの実例では、Ｉ／Ｏデータ取得モジュール１９０は、５ｍｓの繰り返しサイクルで入力値に関してセンサー１１２ｂをポーリングする場合がある。センサー１１２ｂは、第１の高圧入力信号を生成し、第１の高圧信号をＩ／Ｏデータ取得モジュール１９０へ伝送する。５ミリ秒後に、センサー１１２ｂは、第２の高圧入力信号を生成し、その５ｍｓ後に、センサー１１２ｂは、第３の高圧入力信号を生成する、等々。Ｉ／Ｏデータ取得モジュール１９０は、第１の高圧入力信号を受信し、信号をＩ／Ｏスケジューラ１８０へ転送する時間を決定する。この実例では、制御ループ２０２は、１００ｍｓの固定サイクルで作動している。制御ループサイクルに入って２０ｍｓ後に、制御ループ２０２は、高圧信号を利用して制御動作を計算する。而して、制御スケジュールは、例えば、高圧入力信号は、制御ループサイクルに入って１６ｍｓ後に始まり制御ループサイクルに入って２０ｍｓ後に終わる予定時間枠の間に到達しなければならないことを示すことができる。したがって、Ｉ／Ｏデータ取得モジュール１９０は、制御ループサイクルに入って１６ｍｓから２０ｍｓまでの４ｍｓの予定時間枠の間に最近の高圧信号を制御ループ２０２へ転送する。
【００４２】
最近の高圧信号を受信すると、制御ループ２０２は、弁１１２ａ用の制御動作を計算する。例えば、高圧入力信号は、１８０５ｂａｒの圧力値を示す場合がある。ＰＩＤ２１２は、その後、この値を画定された閾値１７００ｂａｒと比較することができる。閾値を上回る１０５ｂａｒの差があるので、次に、ＰＩＤ２１２は、パイプの圧力が１７００ｂａｒを下回るまで下げるように弁１１２ａを開くための制御動作を計算する。この計算された制御動作は、ＡＯ２１４によって生成された出力信号の内部に提供され、弁１１２ａへ転送される。出力信号を受信すると、弁１１２ａは開き、パイプ内部の圧力を下げる。
【００４３】
Ｉ／Ｏスケジューラ１８０が、４ｍｓの予定時間枠（例えば、制御ループサイクルに入って１０ｍｓ後）の前に最近の高圧信号を受信する場合には、Ｉ／Ｏスケジューラ１８０は、信号を制御ループ２０２へ転送する。更に、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、高圧入力信号を受信した時間と予定時間枠（例えば、６ｍｓから１０ｍｓまでの間の任意の時間）との時差を計算し、後に続く１つ又はそれ以上の高圧信号の取得を６ｍｓから１０ｍｓだけ修正するように、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ送信することができる。タイミング調整メッセージは、更に、Ｉ／Ｏデータ取得モジュール１９０が、センサー１１２ｂからの高圧信号を要求するための遅延時間を示すことが可能である。
【００４４】
Ｉ／Ｏスケジューラ１８０が、予定時間枠の８ｍｓ後（例えば、制御ループサイクルに入って２８ｍｓ後）に、Ｉ／Ｏデータ取得モジュール１９０から第１の高圧信号を受信する場合には、制御ループ２０２は、代わりに、制御ループサイクルに入って２０ｍｓ後より前で、直近に受信した高圧入力信号を処理する。更に、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、高圧入力信号が受信された時間と、予定時間枠（例えば、８ｍｓから１２ｍｓの間の任意の時期）と、の間の時差を計算し、後に続く１つ又はそれ以上の高圧信号が、８ｍｓから１２ｍｓ早く送信又は転送されるように、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ送信する。
【００４５】
更に又は或いは、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、
複数の高圧信号が、それぞれの予定時間枠の後で受信されたことを判定するために、最近に判定された時差と、以前の高圧信号に対して以前判定された時差と、を使用して平均時差を計算することができる。その後、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、後に続く高圧入力信号を漸進的に補正するために、Ｉ／Ｏデータ取得モジュール１９０に１つ又はそれ以上のタイミング調整メッセージを送ることができる。入力信号タイミングを補正すると、Ｉ／Ｏデータ取得モジュール１９０は、その後、適切な予定時間枠の間に、第２の高圧入力信号をＩ／Ｏスケジューラ１８０へ転送することができる。
【００４６】
更に、図２の実例では、センサー１１６ｂは、Ｉ／Ｏデータ取得モジュール１９０から要求を受けると、１５ｍｓ毎に低圧入力信号を伝送している。制御ループ２０２は、制御ループサイクルに入って４０ｍｓ後に低圧入力信号を利用することによって、制御動作を計算することができる。同様に、コントローラ１０４が、制御ループ２０２を実行しているコントローラ１０４による処理に入力信号を必要する所定の予定時間枠の中で、確実に信号を受信するように、Ｉ／Ｏスケジューラ１８０は、低圧入力信号を管理する。或いは、コントローラ１０４が、予定時間枠の間にＩ／Ｏスケジューラ１８０からの低圧入力信号を要求する場合もある。
【００４７】
図３は、図２の例示の制御ループ２０２のタイミング図３００である。例示のタイミング図３００は、制御ループ２０２内での、第１のフィールド装置（例えば、図１及び図２のフィールド装置１１２ｂ）からの第１の入力信号及び第２のフィールド装置（例えば、図１及び図２のフィールド装置１１６ｂ）からの第２の入力信号用のタイミング要件を示している。タイミング要件は、制御スケジュールによって指示される及び／又はプロセス制御技術者によって設定されることができる。タイミング図３００は、タイミング軸３０２を含んでいる。例示のタイミング軸３０２は、ナノ秒、マイクロ秒、ミリ秒、秒及び／又は分で制御ループ用のタイミングを示すことができる。例示のタイミング図３００は、第１の制御ループサイクル３０４と第２の制御ループサイクル３０６を示している。第１の制御ループサイクル３０４は、１つ又はそれ以上の更なる別の制御ループサイクルが先行していてもよい。
【００４８】
第１の制御ループサイクル３０４は、第１のサイクル時間３１０に始まり、第２のサイクル時間３１２に終わる。第２の制御ループサイクル３０６は、第２のサイクル時間３１２に始まり、第３のサイクル時間３１４に終わる。第２のサイクル時間３１２と第１のサイクル時間３１０の間の時差は、第３のサイクル時間３１４と第２のサイクル時間３１２の間の時差に等しい。即ち、第１の制御ループサイクル３０４と第２の制御ループサイクル３０６の時間の期間は、同じである。第１の制御ループ３０４内で処理されるルーチン、制御アルゴリズム、及び／又は制御動作は、第２の制御ループ３０６内でも同様に処理される。更に、第１の制御ループ３０４内で処理されるルーチン、制御アルゴリズム、及び／又は制御動作のタイミングは、第２の制御ループ３０６内でのタイミングと類似している。
【００４９】
図３の例示のタイミング図３００は、図２の制御ループ２０２が、第１の入力信号を利用する時間に対応する第１の時間３２０を含んでいる。タイミング図３００は、第１の予定時間枠３３０を更に含んでいる。第１の予定時間枠３３０は、制御ループ２０２が第１の入力信号を受信するために、特定された、所定の、又は予定の期間である。Ｉ／Ｏスケジューラ１８０は、第１の入力信号が、予定時間枠３３０の間に制御ループ２０２によって受信されるように、必要に応じて第１の入力信号のタイミングを調整する。幾つかの実例では、Ｉ／Ｏスケジューラ１８０は、コントローラ１０４から要求を受けると、第１の入力信号を制御ループ２０２へ転送する場合がある。第１の入力信号は、第１の予定時間枠３３０の中の任意の時間（例えば、第３の時間）に、制御ループ２０２によって受信されることが可能である。この実例では、第１の予定時間枠３３０は、第１の時間３２０で終わり、プロセス制御技術者によって指示された及び／又は図１及び図２のコントローラ１０４内のタイミング基準によって設定された期間を有している。第１の予定時間枠３３０の始点は、第４の時間に対応している。他の実例では、第１の予定時間枠３３０は、第１の時間３２０よりいくらか前の時間に終わる場合もある。
【００５０】
例示のタイミング図３００は、図２の制御ループ２０２が、第１の入力信号を使用し、制御動作を用いて計算された第１の出力信号を生成する第２の時間３２２を含んでいる。第２の予定時間枠３３２は、制御ループ２０２が、その間に第１の出力信号を伝送する予定時間枠を示している。第２の予定時間枠３３２の期間及び始点は、プロセス制御技術者によって指示され、且つ／又はコントローラ１０４内のタイミング基準によって設定されることができる。或いは、第２の時間３２２は、第１の時間３２０と実質的に同じ時間になる場合がある。この代替的な実例では、第２の予定時間枠３３２は、第１の時間３３０より後になる場合もある。
【００５１】
他の実例では、タイミング図３００は、対応する予定時間枠を含む他の入力信号を含んでいる場合がある。更に、制御ループが、相対的に同じ時間に異なる入力信号を利用する場合には、コントローラ１０４は、Ｉ／Ｏスケジューラ１８０に同時に入力信号を転送するように要求することができる。或いは、制御ループが、相対的に異なる時間に異なる入力信号を利用する場合には、コントローラ１０４は、Ｉ／Ｏスケジューラ１８０に、指示された時間に入力信号を転送するように要求することができる。
【００５２】
第１の制御ループサイクル３０４と第２の制御ループサイクル３０６のタイミングは、類似しているので、第１の制御ループサイクル３０４の時間３２０、及び３２２、並びに／又は予定時間枠３３０、及び３２２の関係又はタイミングは、第２の制御ループサイクル３０６と類似している。時間３２０、３２２及び／又は予定時間枠３３０、３３２のタイミングは、更なる別の制御ループサイクル（図示せず）に関しても同様である。
【００５３】
図４Ａは、図２の例示の制御ループ２０２のタイミング図４００である。例示のタイミング図４００は、対応する予定時間枠４２２ａから４２２ｄから平均偏差時間を計算するために使用することができる入力信号４３０から４３６を示している。入力信号４３０から４３６は、同じフィールド装置（例えば、センサー１１２ｂ）から発生している。タイミング図４００は、タイミング軸４０１、第１の制御ループサイクル４０２、第２の制御ループサイクル４０４、第３の制御ループサイクル４０６、及び第４の制御ループサイクル４０８を含んでいる。タイミング図４００は、第１のサイクル時間４１０、第２のサイクル時間４１２、第３のサイクル時間４１４、第４のサイクル時間４１６、及び第５のサイクル時間４１８を更に含んでいる。明瞭にするために、関連付けられた出力信号は、表示されていない。更に、例示のタイミング図４００は、更なる別の制御ループサイクル及び対応するサイクル時間（図示せず）を含んでいてもよい。
【００５４】
例示のタイミング図４００は、図２の制御ループ２０２が、第１の入力信号４３０を利用する時間に対応する第１の時間４２０を含んでいる。タイミング図４００は、制御ループ２０２が、第１の入力信号４３０を受け取るように特定された、所定の及び／又は予定された期間である、予定時間枠４２２ａを含んでいる。第１の時間４２０と予定時間枠４２２ａは、それぞれの制御ループサイクル４０４から４０８内で、実質的に同じタイミングで繰り返される。第１の制御ループサイクル４０２の間に第１の入力信号４３０を示しているタイミング図４００に加えて、第２の制御ループサイクル４０４の間に第２の入力信号４３２が受信され、第３の制御ループサイクル４０６の間に第３の入力信号４３４が受信され、第４の制御ループサイクル４０８の間に第４の入力信号４３６が受信される。
【００５５】
第１の制御ループサイクル４０２の間、第１の入力信号４３０は、予定時間枠４２２ａの間に受信される。しかしながら、第２、第３、及び第４の入力信号４３２、４３４及び４３６は、それぞれの制御ループサイクル４０４から４０８の間では、予定時間枠４２２ｂから４２２ｄの間には受信されない。具体的には、第２の入力信号４３２は、予定時間枠４２２ｂより僅かに後で受信され、第３の入力信号は、第３の制御ループサイクル４０６の終点の少し前に受信され、第４の入力信号４３６は、第４の制御ループサイクル４０８のほぼ真ん中で受信される。
【００５６】
図１及び図２の例示のコントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、入力信号４３０から４３６が受信された時と、それぞれの予定時間枠４２２ａから４２２ｄと、の間の時差を平均化することができる。平均時間が、入力信号４３０から４３６は、それぞれの予定時間枠４２２ａから４２２ｄの間に受信されていないことを示す場合には、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、後に続く入力信号が、予定時間枠４２２ａから４２２ｄの間に受信されるように、タイミングを調整することができる。しかしながら、平均時間が、入力信号４３０から４３６は、それぞれの予定時間枠４２２ａから４２２ｄの間に受信されていることを示す場合には、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、後に続く入力信号のタイミングを調整しなくてもよい。入力信号４３０から４３６が受信された時間の平均をとることによって、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、入力信号を受信する時間が、予定時間枠から外れて受信した１つ又は２つの入力信号だけに基づいて過度に調整されないことを確実にしている。幾つかの実例では、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、フィールド装置から受信した入力信号の全てを平均する場合があり、或いは、直近に受信した入力信号（例えば、直近の１０個の入力信号）の移動平均を算出する場合もある。
【００５７】
しかしながら、幾つかの実例では、プロセス制御技術者は、予定時間枠から外れる入力信号を１つ検出すると、後に続く入力信号を調整させることを望む場合がある。例えば、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、第２の入力信号４３２が、第２の制御ループサイクル４０４内で予定時間枠４２２ｂの間に受信されなかったことを検出すると、入力信号４３４及び４３６用の入力タイミングを調整することがある。
【００５８】
図４Ｂは、例示の入力信号４８０から４８８を含む図２の制御ループ２０２のタイミング図４５０である。例示のタイミング図４５０は、図１及び図２のコントローラ１０４及び／又はＩ／Ｏスケジューラ１８０が、後に続く入力信号は、指示される予定時間枠４２２ｅから４２２ｈの中でコントローラ１０４によって受信されるように、信号タイミングを調整し得る方法を示している。タイミング図４５０は、１つのフィールド装置から発生する入力信号４８０から４８８（例えば、図１及び図２のフィールド装置１１２ｂからの高圧入力信号）を示している。更に、タイミング図４５０は、入力信号４８０から４８８が、コントローラ１０４内で制御ループ２０２によって受信される際の入力信号４８０から４８８のタイミングを示している。他の実例では、タイミング図４５０は、同じフィールド装置（例えば、温度入力信号、湿度入力信号など）からの他の型の入力信号、及び／又は複数の他のフィールド装置からの入力信号を含んでいる場合がある。
【００５９】
図４Ｂの例示のタイミング図４５０は、タイミング軸４０１と、第１の時間４２０と、図４Ａの予定時間枠４２２ａから４２２ｄと類似している予定時間枠４２２ｅから４２２ｈと、を含んでいる。更に、図４Ｂのタイミング図４５０は、図４Ａの制御ループサイクル４０２から４０８より後の或る時間になることもある制御ループサイクル４５２から４５８を含んでいる。更に、タイミング図４５０は、それぞれの制御ループサイクル４５２から４５８と関連付けられるサイクル時間４６０から４６８を含んでいる。出力信号は、明瞭にするために、また出力信号のタイミングは、対応する入力信号が受信される時間の影響を受けないので、図示していない。
【００６０】
図４Ａのタイミング図４００から、例示のコントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、入力信号４３０から４３６は、予定時間枠４２２ｅから４２２ｈから外れた平均偏差時間に受信されることを計算する。図４Ｂの例示のタイミング図４５０は、時間４７０に、タイミング調整メッセージが、Ｉ／Ｏスケジューラ１８０からＩ／Ｏデータ取得モジュール１９０へ伝送されることを示している。タイミング調整メッセージを受信することで、Ｉ／Ｏデータ取得モジュール１９０は、フィールド装置から後に続く入力信号を要求する、又は代替的に、後に続く入力信号をコントローラ１０４へ転送する、タイミングを調整する。
【００６１】
例示のタイミング図４５０は、Ｉ／Ｏデータ取得モジュール１９０が、後に続く入力信号４８０から４８８のタイミングを漸進的に調整することを示している。例えば、制御ループサイクル４５４の間に受信される入力信号４８２及び制御ループサイクル４８８の間に受信される入力信号４８４と比較すると、入力信号４８０は、制御ループサイクル４５２の間では第１の時間４２０から更に離れた時間で受信されている。制御ループサイクル４５８までに、Ｉ／Ｏデータ取得モジュール１９０は、タイミングの調整を完了しているので、入力信号４８８は、予定時間枠４２２ｈの間にコントローラ１０４によって受信されようになっている。他の実例では、入力信号が、それぞれの予定時間枠の中で受信されるように入力信号を調整するのに、より多い又はより少ない制御ループサイクルを必要とする場合がある。タイミングスケジュールを漸進的に調整することで、Ｉ／Ｏデータ取得モジュール１９０は、入力タイミング（例えば、入力信号４８０から４８８、及び／又
はこれに続く入力信号）が、予定時間枠を行き過ぎないことを確実にする。
【００６２】
更に、例示のタイミング図４５０は、時間４７０に送信されるタイミング調整メッセージを示している。他の実例では、入力信号が予定時間枠４２２ｅから４２２ｈの中で受信されるまでは、タイミング調整メッセージは、各制御ループサイクル４５２から４５８毎にＩ／Ｏデータ取得モジュール１９０へ送信される場合がある。他の実装例では、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０が、タイミング調整メッセージは、Ｉ／Ｏデータ取得モジュール１９０へ送信されるべきであると判定すると、Ｉ／Ｏデータ取得モジュール１９０は、その次の入力信号が、予定時間枠の間にコントローラ１０４によって受信されるように、後に続く入力信号のタイミングを調整する。この方法では、Ｉ／Ｏデータ取得モジュール１９０は、タイミングを漸進的に調整しなくても、次の予定時間枠の間に受信されるように入力信号のタイミングを調整することができる。而して、例えば、Ｉ／Ｏデータ取得モジュール１９０は、予定時間枠４２２ｅの間にコントローラ１０４によって受信されるように、入力信号４８０のタイミングを調整することができる。
【００６３】
図５は、第２のフィールド装置をプロセス制御システムへ追加したことに対応する入力信号タイミング調整を示している、制御ループ用のタイミング図５００である。タイミング図５００は、図３のタイミング軸３０２と類似するタイミング軸５０２を含んでいる。更に、例示のタイミング図５００は、第１の制御ループサイクル５０４と、第２の制御ループサイクル５０６と、第３の制御ループサイクル５０８と、を含んでいる。制御ループサイクル５０４から５０８は、同じ予定時間枠を有している。第１の制御ループサイクル５０４は、第１のタイムサイクル５１０で始まり、第２のタイムサイクル５１２で終わる。第２の制御ループサイクル５０６は、第２のタイムサイクル５１２で始まり、第３のタイムサイクル５１４で終わる。第３の制御ループサイクル５０６は、第３のタイムサイクル５１４で始まり、第４のタイムサイクル５１６で終わる。
【００６４】
第１の制御ループサイクル５０４は、適切にタイミングが合った、制御ループ用のルーチン及び／又は制御アルゴリズムを示している。第１の制御ループサイクル５０４の間に、制御ループは、制御ループが、第１のフィールド装置から発生する第１の入力信号５３０用の制御動作を処理及び／又は計算する時に対応している、第１の時間５２０を含んでいる。第１の入力信号５３０は、第１の予定時間枠５２２ａの間にコントローラ１０４によって受信される。それに続いて、コントローラ１０４が、第１の入力信号５３０を利用して制御動作を計算した後で、コントローラ１０４は、第１の時間５２０の間及び／又は後の或る時間に出力信号を生成することができる。明瞭にするために、また出力信号は、入力信号のタイミングの影響を受けないので、出力信号は、図５では図示していない。更に、第１の時間５２０及び予定時間枠５２２ａは、各制御ループサイクル５０６、５０８内で実質的に同じタイミングで繰り返される。
【００６５】
第２の制御ループサイクル５０６は、第２のフィールド装置がプロセス制御システムへ追加されたことを示している。コントローラ１０４は、新しく追加された第２のフィールド装置から発生する第２の入力信号５４０を受信する。この実例では、第２のフィールド装置は、かなり直近に制御ループに加えられたので、図１及び図２のＩ／Ｏスケジューラ１８０は、第２のフィールド装置から発生する第２の入力信号５４０用のタイミングをまだ調整していない。
【００６６】
第２の入力信号５４０は、第２の制御ループサイクル５０６の間では、予定時間枠５２２ｂから外れて受信される。タイミング図５００は、第１のフィールド装置と関連付けられていて、且つ第２の制御ループサイクル５０６の予定時間枠５２２ｂの間に受信される、第１の入力信号５３２は、第２のフィールド装置の追加の影響を受けなかったことを示している。しかしながら、他の実例では、第１の入力信号５３２は、第２のフィールド装置の追加の影響を受ける場合もあり、予定時間枠５２２ｂより前又は後でコントローラ１０４によって受信される場合もある。
【００６７】
更に、例示のタイミング図５００は、予定時間枠５２２ｂを、第１及び第２の入力信号５３２及び５４０が、コントローラ１０４によって受信されるべき時期として示している。第１及び第２の入力信号用の共通の予定時間枠５２２ａから５２２ｃは、ルーチンの１つの期間の間（例えば、特定の部分を実行する間）に、全ての対応するフィールド装置からの入力信号にアクセスする及び／又はこれを読み込むルーチンを含むことが可能な、コントローラ１０４の成果である。しかしながら、他の実例では、コントローラ１０４は、異なる入力信号を受信するために他の予定時間枠を含んでいる場合もある。その様な他の実装例では、第２の予定時間枠は、図５の第２の入力信号５４０が、受信されなければならない時間を特定する第２の制御ループサイクル内に含まれる場合がある。
【００６８】
図５の第２の制御ループサイクル５０６の間に、Ｉ／Ｏスケジューラ１８０は、第２の入力信号５４０が、予定時間枠５２２ｂより後で受信されたことを判定する。Ｉ／Ｏスケジューラ１８０は、第２の制御ループサイクル５０６の予定時間枠５２２ｂと、第２の入力信号５４０が受信された時間と、の間の時差を計算する。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、コントローラ１０４が、第２の入力信号５４０を受信した時間と、予定時間枠５２２ｂの始点、中間、及び／又は終点と、の間の差を計算することができる。或いは、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、コントローラ１０４が、第２の入力信号５４０を受信した時間と、予定時間枠５２２ｂの中の任意の時間と、の間の差を計算する場合もある。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、その後、計算された時差を含む、タイミング調整メッセージを図１及び図２のＩ／Ｏデータ取得モジュール１９０へ伝送する。タイミング調整メッセージを受け取ると、Ｉ／Ｏデータ取得モジュール１９０は、第１のフィールド装置から発生する入力信号を転送及び／又は要求するＩ／Ｏデータ取得モジュール１９０のタイミングを調整する。
【００６９】
例示のタイミング図５００は、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０が、第２の入力信号５４０が、予定時間枠５２２ｂの間に受信されなかったことを検出すると、タイミング調整メッセージを送信することを示している。しかしながら、他の実例では、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、平均時間偏差が、それぞれの予定時間枠５２２から外れているか否かを判定するために、第２のフィールド装置からの後に続く入力信号に対する時差をコンパイルする場合がある。平均偏差時間が、予定時間枠５２２から外れている場合には、コントローラ１０４及び／又はＩ／Ｏスケジューラ１８０は、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ伝送することができる。
【００７０】
図５の実例では、Ｉ／Ｏデータ取得モジュール１９０は、第３の制御ループサイクル５０８の始点より前に、第２のフィールド装置から発生する入力信号用のタイミングを調整している。他の実例では、Ｉ／Ｏデータ取得モジュール１９０は、後に続く制御ループサイクルに亘って、第２のフィールド装置からの後に続く入力信号のタイミングを漸進的に調整することができる。第３のループサイクル５０８の間では、コントローラ１０４は、予定時間枠５２２ｃの間に、第１のフィールド装置から発生する入力信号５３４を受信する。更に、コントローラ１０４は、予定時間枠５２２ｃの間に第２のフィールド装置から発生する入力信号５４２を受信する。第２のフィールド装置の追加の後、Ｉ／Ｏスケジューラ１８０が、第２のフィールド装置からの入力信号のタイミングを調整した結果として、制御ループは、再び、第２のフィールド装置の追加の１つの制御サイクル内で適切にタイミングが調整される。他の実例では、Ｉ／Ｏスケジューラ１８０は、第２のフィールド装置を追加した後に続く２つ又はそれ以上の制御ループまでは、入力信号を適切に調整していない場合もある。
【００７１】
図６は、図１及び図２の制御ループ２０２とプロセス制御システム１００用のメッセージ流れ図６００である。例示のメッセージ流れ図６００は、プロセス制御システム１００内を通って伝播する、入力信号６０４、６０８、タイミング調整メッセージ６０６、６１２、及び出力信号６１０を示している。メッセージ流れ図６００は、図１及び図２のコントローラ１０４、スケジューラ１８０、Ｉ／Ｏデータ取得モジュール１９０、Ｉ／Ｏカード１３２ａ、及びフィールド装置１１２ａ、１１２ｂを含んでいる。更に、メッセージ流れ図６００は、システムクロック６０１を含んでいる。例示のシステムクロック６０１は、ワークステーション１０２及び／又はコントローラ１０４内に含まれていてもよい。
【００７２】
図６の例示のメッセージ流れ図６００は、時間の経過で続いて下っている。メッセージ流れ図６００は、幾つかの信号とメッセージを含んではいるものの、メッセージ流れ図６００は、プロセス制御システム１００内で起こり得る全ての信号及び／又はメッセージを示しているわけではない。他の実例では、コントローラ１０４、Ｉ／Ｏスケジューラ１８０、Ｉ／Ｏデータ取得モジュール１９０、及び／又はＩ／Ｏカード１３２ａは、確認メッセージ、覚醒メッセージ、認識メッセージ、スリープメッセージ、状況メッセージ、及び／又はプロセス制御システム及び／又はネットワーク内で一般的に伝送される任意の他の型のメッセージ、を伝送し得る。
【００７３】
例示のメッセージ流れ図６００は、現在の時刻メッセージ６０２を伝送するシステムクロック６０１から始まる。この現在の時刻メッセージ６０２は、マスタータイム及び／又はマスタータイムの更新を含むことができる。この現在の時刻メッセージ６０２は、コントローラ１０４、Ｉ／Ｏデータ取得モジュール１９０、及びＩ／Ｏカード１３２ａによって受信される。他の実例では、フィールド装置１１２ａ、１１２ｂが、現在の時刻メッセージ６０２を受信する場合がある。現在の時刻メッセージ６０２を受信した結果、コントローラ１０４、Ｉ／Ｏデータ取得モジュール１９０、及びＩ／Ｏカード１３２ａは、各装置が、特定された予定時間枠の間に入力信号を転送及び／又は受信できるようにする、同じタイミングスキームで作動する。更に、現在の時刻メッセージ６０２は、コントローラ１０４、Ｉ／Ｏデータ取得モジュール１９０、及びＩ／Ｏカード１３２ａが、入力信号にタイムスタンプを付与するために及び／又は入力信号をタイムスタンプを用いて処理するために同期することを可能にする。
【００７４】
現在の時刻メッセージ６０２を受信すると、Ｉ／Ｏスケジューラ１８０は、最初のタイミングメッセージ６０６をＩ／Ｏデータ取得モジュール１９０へ伝送する。最初のタイミングメッセージ６０６は、Ｉ／Ｏデータ取得モジュール１９０が、フィールド装置１１２ｂからのタイムスタンプ付き入力信号６０８をコントローラ１０４へ転送する時期を含んでいる。他の実例では、最初のタイミングメッセージは、他のフィールド装置から発生する入力信号用の時間を含んでいる場合がある。Ｉ／Ｏスケジューラ１８０は、制御スケジュールを利用すること及び／又はコントローラ１０４内で動作する制御ループの中のルーチン及び／又は制御アルゴリズムを監視することによって、タイムスタンプ付き入力信号６０８用のタイミングを決定する。最初のタイミングメッセージ６０６を受信すると、Ｉ／Ｏデータ取得モジュール１９０は、特定された予定時間枠の間にフィールド装置１１２ｂから発生したタイムスタンプ付き入力信号６０４の転送を開始する。
【００７５】
フィールド装置１１２ｂは、コントローラ１０４（図示せず）から要求を受けると、周期的な入力信号６０４をプロセス制御システム１００を介してＩ／Ｏカード１３２ａへ伝送する。フィールド装置１１２ｂは、制御ループのタイミングに依存しない入力信号６０４を送信する。入力信号６０４のタイミングは、プロセス制御技術者によって指示されてもよく、フィールド装置１１２ｂの中へ設計されてもよく、且つ／又はプロセス制御システム１００を設定する構成ルーチンによって決定されてもよい。入力信号６０４を受信すると、Ｉ／Ｏカード１３２ａは、入力信号６０４をＩ／Ｏデータ取得モジュール１９０へ転送する。Ｉ／Ｏカード１３２ａは、Ｉ／Ｏカード１３２ａが、フィールド装置１１２ｂからの入力信号６０４を受信する予定時間枠とは異なる予定時間枠に、入力信号６０４をＩ／Ｏデータ取得モジュール１９０へ転送する。予定時間枠の差は、他のフィールド装置からの入力信号を受信すること、並びに／又は出力信号６１０をフィールド装置１１２ａ及び／若しくは他のフィールド装置へ伝送する、Ｉ／Ｏカード１３２ａ内の処理利用性による結果と言える。
【００７６】
第１の入力信号６０４を受信すると、Ｉ／Ｏデータ取得モジュール１９０は、入力信号６０４にタイムスタンプ６９０を付与し、タイムスタンプ付き入力信号６０８をコントローラ１０４へ伝送する。図６の実例では、Ｉ／Ｏデータ取得モジュール１９０は、特定された予定時間枠の間にコントローラ１０４へ転送される入力信号６０４にだけタイムスタンプ６９０を付与している。Ｉ／Ｏデータ取得モジュール１９０が、予定時間枠より前に複数の入力信号６０４を受信した場合には、Ｉ／Ｏデータ取得モジュール１９０は、直近に受信した入力信号６０４を選択する。Ｉ／Ｏデータ取得モジュール１９０は、他のそれより前に受信した入力信号を無視及び／又は削除する。他の実例では、Ｉ／Ｏカード１３２ａ及び／又はフィールド装置１１２ｂは、入力信号６０４が、Ｉ／Ｏデータ取得モジュール１９０へ送信される前に、入力信号６０４にタイムスタンプを付与する場合もある。
【００７７】
タイムスタンプ付き入力信号６０８を受信すると、Ｉ／Ｏスケジューラ１８０は、タイムスタンプ付き入力信号６０８が、制御ループがタイムスタンプ付き入力信号６０８を利用及び／又は処理する前の時間に対応する制御ループ（ブロック６９２）の予定時間枠の間に受信されたか否かを、判定する。予定時間枠６９２は、タイムスタンプ付き入力信号６０８を受信する制御ループの特定された閾値及び／又は許容値である場合がある。図６の実例では、Ｉ／Ｏスケジューラ１８０は、タイムスタンプ付き入力信号６０８を制御ループの予定時間枠の中で受信する（ブロック６９２）。更に、制御ループは、タイムスタンプ付き入力信号６０８を処理し（ブロック６９２）、出力信号６１０を生成する。出力信号６１０は、その後、コントローラ１０４からＩ／Ｏデータ取得モジュール１９０へ伝送され、Ｉ／Ｏデータ取得モジュール１９０は、出力信号６１０をＩ／Ｏカード１３２ａへ転送し、次にＩ／Ｏカード１３２ａは、出力信号６１０をフィールド装置１１２ａへ転送する。出力信号６１０は、出力信号６１０が受信されると直ちにＩ／Ｏデータ取得モジュール１９０とＩ／Ｏカード１３２ａによって転送されるように示している。しかしながら、幾つかの実例では、出力信号が、受信され、出力信号６１０は、Ｉ／Ｏデータ取得モジュール１９０及び／又はＩ／Ｏカード１３２ａによって転送された時からしばらくした時点の場合もある。
【００７８】
Ｉ／Ｏスケジューラ１８０が、タイムスタンプ付き入力信号６０８を受信する第２の事例では、Ｉ／Ｏスケジューラは、制御ループの予定時間枠（例えば、ブロック６９２）より前にタイムスタンプ付き入力信号６０８を受信したことを（楕円６５０において）判定する。タイムスタンプ付き入力信号６０８が早く到着したことで、Ｉ／Ｏスケジューラ１８０は、（ブロック６９２において）タイムスタンプ付き入力信号６０８の受信と予定時間枠の間の時差を計算し、タイミング調整メッセージ６１２をＩ／Ｏデータ取得モジュール１９０へ送信する。タイミング調整メッセージ６１２を受信すると、Ｉ／Ｏデータ取得モジュール１９０は、後に続くタイムスタンプ付き入力信号６０８を伝送するタイミングを調整する。更に、タイミング調整メッセージ６１２を受信すると、Ｉ／Ｏデータ取得モジュール１９０は、後に続く入力信号６０４をフィールド装置１１２ｂから要求するタイミングを調整する。Ｉ／Ｏデータ取得モジュール１９０が、Ｉ／Ｏカード１３２ａの中に含まれている実例では、タイミング調整メッセージ６１２は、Ｉ／Ｏスケジューラ１８０からＩ／Ｏカード１３２ａへ送信される。
【００７９】
或いは、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、受信した信号６０８の平均時間が、常に予定時間枠６９２から外れているか否かを判定するためにタイムスタンプ付き入力信号６０８を受信し続ける。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４が、タイムスタンプ付き入力信号６０８の平均は、予定時間枠６９２から外れていることを判定した場合、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、後に続くタイムスタンプ付き入力信号６０８のタイミングを調整するために、漸進的なタイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ転送することができる。例示のメッセージ流れ図６００では、Ｉ／Ｏデータ取得モジュール１９０は、制御ループがタイムスタンプ付き入力信号６０８を利用するより前に、それぞれの予定時間枠の間に最近の２つのタイムスタンプ付き入力信号６０８を受信している（例えば、最近の２つのブロック６９２）と、結論付けている。
【００８０】
図７は、図１及び図２の例示のコントローラ１０４の詳細なブロック図である。図７の例示のコントローラ１０４は、Ｉ／Ｏデータ取得モジュール１９０を含んでいない。しかしながら、他の実装例では、コントローラ１０４は、別の機能ブロックとして及び／又は１つ又はそれ以上の機能ブロック７０２及び７０８の中に含まれる機能ブロックとしてＩ／Ｏデータ取得モジュール１９０を含んでいてもよい。追加的に又は代替的に、例示のコントローラ１０４は、図１のプロセス制御システム１００内の他のコントローラと通信する機能ブロックを含んでいてもよい。
【００８１】
図１のＩ／Ｏデータ取得モジュール１９０及び／又はＩ／Ｏカードから入力を受信するために、図７の例示のコントローラ１０４は、入力信号レシーバ７０２（例えば、１つのレシーバ）を含んでいる。入力信号レシーバ７０２は、Ｉ／Ｏスケジューラ１８０によって処理されるデジタル情報を受信する。デジタル信号は、Ｉ／Ｏデータ取得モジュール１９０及び／又はＩ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂから転送される情報を含んでいてもよい。幾つかの実例では、入力信号レシーバ７０２は、Ｉ／Ｏスケジューラ１８０からの要求に基づいて、Ｉ／Ｏデータ取得モジュール１９０からの入力信号を要求してもよい。
【００８２】
例示の入力信号レシーバ７０２は、更に、受信した入力信号にタイムスタンプを付与し、Ｉ／Ｏスケジューラ１８０へ転送されるデジタル情報を含むタイムスタンプを含んでいる。タイムスタンプは、コントローラ１０４が入力信号を受信した時間を示している。更に、幾つかの実装例では、入力信号レシーバ７０２は、入力信号をＩ／Ｏスケジューラ１８０用の待ち行列に入れる場合がある。入力信号レシーバ７０２は、Ｉ／Ｏスケジューラ１８０が、入力信号を処理することができる時間及び／又はプロセス制御技術者によって画定された特定の予定時間枠まで入力信号を待ち行列に入れることができる。
【００８３】
図７の実例では、入力信号レシーバ７０２は、通信パス７３４を介してＩ／Ｏデータ取得モジュール１９０と通信可能に連結されている。例示の通信パス７３４は、イーサネット（登録商標）、ユニバーサルシリアルバス（ＵＳＢ）、ＩＥＥＥ  １３９４などを含む任意のプロトコルを使用して作動し得る。或いは、通信パス７３４は、Ｉ／Ｏデータ取得モジュール１９０と無線で通信可能に連結されてもよく、無線通信媒体（例えば、無線イーサネット（登録商標）、ＩＥＥＥ‐８０２．１１、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を使用して実装することができる。
【００８４】
Ｉ／Ｏスケジューラ１８０用のマスタータイムを管理するために、図７の例示のコントローラ１０４は、システムクロックマネージャ７０４を含んでいる。例示のシステムクロックマネージャ７０４は、図１のプロセス制御システム１００用のマスタータイムの更新を受信する。マスタータイムは、ワークステーション１０２によって管理及び／又は設定することができるプロセス制御システム１００内の全ての構成要素用の共通の時間である。他の実例では、例示のシステムクロックマネージャ７０４は、プロセス制御システム１００用のマスタータイムを管理及び／又は設定する場合もある。
【００８５】
マスタータイムは、制御ループ（例えば、図２の制御ループ２０２）に関連付けられていることもあるプロセス制御システム１００内の構成要素用の共通の時間である。同じマスタータイムに従って作動するプロセス制御システム１００内に構成要素を有することによって、Ｉ／Ｏスケジューラ１８０は、それぞれの構成要素間のクロックの差を補償する必要無く入力信号のタイミングを管理することができる。更に、プロセス制御システム１００全体用に、又は、代替的に、コントローラ１０４及び通信可能に連結されたフィールド装置用に共通のクロックを有することによって、フィールド装置によって生成されたタイムスタンプの付与されたデータは、タイミングエラー無しで又はクロックの差を補償せずに、Ｉ／Ｏスケジューラ１８０によって処理することができる。例えば、フィールド装置１１２ａが、コントローラ１０４とは異なるマスタークロックを使用している場合には、フィールド装置１１２ａによってタイムスタンプが付与されたあらゆるデータは、Ｉ／Ｏスケジューラ１８０によって分析される時には異なる基準時間を有するであろう。このクロック差は、入力信号がフィールド装置１１２ａからコントローラ１０４へ伝搬する計算された時間を歪め、而して通信パスの認識される品質を歪める可能性がある。
【００８６】
図７の例示のシステムクロックマネージャ７０４は、ワークステーション１０２からＬＡＮ１０６を介してマスタークロックタイムの更新を受信している。システムクロックマネージャ７０４は、ハードウェア、ファームウェア、機械による読み込み及びアクセス可能な媒体及び／又はシステムクロックを作動するための任意の他の型の構成要素によって制御されるクロックを包むことができる。幾つかの実例では、システムクロックマネージャ７０４は、マスタークロックタイムを管理し、更新を送信し、及び／又はマスタータイムをマスタークロックメッセージを介して図１のプロセス制御システム１００内の構成要素へ伝送することができる。更に、システムクロックマネージャ７０４は、Ｉ／Ｏスケジューラ１８０にマスタータイムを提供する。
【００８７】
例示のシステムクロックマネージャ７０４は、通信パス７３２を介してマスタータイムを伝送、且つ／又はマスタータイムを更新することができる。通信パス７３２は、図１の汎用Ｉ／Ｏバス１３６ａ、１３６ｂ、及び／又は多導体ケーブル１２８ａ、１２８ｂを介して、Ｉ／Ｏデータ取得モジュール１９０、Ｉ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂ、マーシャリングキャビネット１２２、ＦＪＢ１２０ａ、１２０ｂ及び／又はフィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃに連結することができる。更に、Ｉ／Ｏデータ取得モジュール１９０にコントローラ１０４のマスタータイムの更新を提供することによって、Ｉ／Ｏデータ取得モジュール１９０は、各入力信号に割り付けられる制御ループの予定時間枠の中で入力信号をコントローラ１０４へ伝送することができる。
【００８８】
システムクロックマネージャ７０４は、マスタークロックタイムを伝送すること、及び／又はＩ／Ｏスケジューラ１８０からの命令に基づいて定期的な間隔でマスタークロックタイムを更新すること、ができる。マスタークロックの更新は、ナショナルタイミングプロトコル（the National Timing Protocol）及び／又は電気電子技術者協会１５８８−２００２の時計の同期に関する規格を含む確立された規格に基づいていてもよい。例えば、Ｉ／Ｏスケジューラ１８０は、幾つかのフィールド装置からの入力信号は、常に延着していることを判定することができる。結果的に、Ｉ／Ｏスケジューラ１８０は、マスタークロックを新たにするために、メッセージをシステムクロックマネージャ７０４へ送信することができる。メッセージを受信すると、システムクロックマネージャ７０４は、マスタークロックメッセージ及び／又は更新メッセージをプロセス制御システム１００内の構成要素へ伝送する。
【００８９】
入力信号のタイミングを管理するために、図７の例示のコントローラ１０４は、Ｉ／Ｏスケジューラ１８０（例えば、１つのスケジューラ）を含んでいる。例示のＩ／Ｏスケジューラ１８０は、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃ（例えば、プロセス制御装置）から発生する入力信号が、制御ループプロセッサ７０６の制御ループ作動用の予定時間枠の間に受信されるか否かを判定する。何れかの信号が、予定時間枠から外れて受信される場合、例示のＩ／Ｏスケジューラ１８０は、入力信号が予定時間枠の中で受信されるために必要なタイミング調整を決定する。更に、入力信号用の調整時間を決定すると、Ｉ／Ｏスケジューラ１８０は、影響を受ける入力信号に関連付けられる後に続く入力信号を転送及び／又は要求するタイミングを調整するために、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ送信する。タイミング調整メッセージは、タイミング調整メッセージを伝達する何らかのアナログ信号、離散的信号又はデジタル信号を含んでいてもよい。
【００９０】
予定時間枠及び／又は制御ループのタイミングは、スケジュールデータベース７２２の中に保存される制御スケジュールの中で特定することができる。Ｉ／Ｏスケジューラ１８０は、制御スケジュールの更新のために定期的にスケジュールデータベース７２２にアクセスすることができる。更に、Ｉ／Ｏスケジューラ１８０は、制御スケジュールを制御ループプロセッサ７０６へ伝送することで、制御ループプロセッサ７０６は、制御スケジュールに従って制御ループルーチンを構成することができるようになる。他の実装例では、制御ループ及び／又はルーチンが、プロセス制御技術者によって制御ループプロセッサ７０６に設定される場合がある。この事例では、Ｉ／Ｏスケジューラ１８０は、制御ループから制御スケジュールをコンパイルし、制御スケジュールをスケジュールデータベース７２２に保存することができる。例示のＩ／Ｏスケジューラ１８０は、ワークステーション１０２によって又はプロセス制御技術者によって制御ループに対して行われた何らかの後に続く変更のために制御スケジュールを調整する。制御スケジュールは、制御ループ内の制御動作のタイミング（例えば、入力信号内の情報を利用する）と、それぞれの制御動作用の入力信号を受信する期間と、各制御動作のために出力が生成される時間と、を含んでいる。
【００９１】
Ｉ／Ｏスケジューラ１８０用の制御スケジュールを保存するために、例示のコントローラ１０４は、スケジュールデータベース７２２を含んでいる。図７の例示のスケジュールデータベース７２２は、ＥＥＰＲＯＭ、ＲＡＭ、ＲＯＭ及び／又は任意の他の型のメモリによって実装することができる。制御スケジュールの保存に加えて、スケジュールデータベース７２２は、Ｉ／Ｏスケジューラ１０８が、プロセス制御システム１００内の待ち時間を指示するための閾値を保存することができる。
【００９２】
プロセス制御技術者は、通信パス７４０を介して新しい制御スケジュールを修正する及び／又はスケジュールデータベース７２２に追加することができる。通信パス７４０は、ＬＡＮ１０６を含んでいてもよい。例示の通信パス７４０は、イーサネット（登録商標）、ユニバーサルシリアルバス（ＵＳＢ）、ＩＥＥＥ  １３９４などによって実装されてもよい。或いは、通信パス７４０は、ワークステーション１０２及び／又は任意の他のワークステーションと無線で通信可能に連結されてもよく、無線通信媒体（例えば、無線イーサネット（登録商標）、ＩＥＥＥ−８０２．１１、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を利用して実装することができる。
【００９３】
図７の例示のＩ／Ｏスケジューラ１８０は、入力信号が、制御動作用の予定時間枠の中で受信されたか否かを判定するために、制御ループプロセッサ７０６内の制御ループの各サイクルの進行を監視している。例えば、制御ループプロセッサ７０６が、第１の制御動作の計算を含む制御ループを作動させる場合には、Ｉ／Ｏスケジューラ１８０は、現在時刻が、制御ループプロセッサ７０６が計算を実行するべき時間に接近する時を追跡する。Ｉ／Ｏスケジューラ１８０は、次に、第１の制御動作の前に予定時間枠を認識するために制御スケジュールにアクセスし、第１の制御動作に対応する入力信号が、受信されたか否かを判定する。入力信号が、この予定時間枠より前に受信された場合には、Ｉ／Ｏスケジューラ１８０は、入力信号が受信された時間と予定時間枠の間の時差を計算する。Ｉ／Ｏスケジューラ１８０は、次に、計算した時差に基づく時間調整に関する情報を含むメッセージ（例えば、タイミング調整メッセージ）を生成し、このメッセージをＩ／Ｏデータ取得モジュール１９０へ伝送する。更に、Ｉ／Ｏスケジューラ１８０は、入力信号を制御ループプロセッサ７０６へ転送する。
【００９４】
入力信号が、予定時間枠の間にコントローラ１０４によって受信されなかった場合には、Ｉ／Ｏスケジューラ１８０は、入力信号が受信されるまで待機し、入力信号が受信された時間と、予定時間枠と、の間の時差を計算する。Ｉ／Ｏスケジューラ１８０は、次に、計算した時差を盛り込んだタイミング調整メッセージを生成し、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ伝送する。Ｉ／Ｏスケジューラ１８０は、Ｉ／Ｏデータ取得モジュール１９０へ転送するために、タイミングメッセージを信号調整プロセッサ７０８へ伝送する。
【００９５】
追加的に又は代替的には、Ｉ／Ｏスケジューラ１８０が、入力信号は、予定時間枠から外れて受信されると判定する場合の実例では、Ｉ／Ｏスケジューラ１８０は、それぞれの予定時間枠と比較して、前の及び／又は後に続く入力信号に基付く平均偏差時間を決定することができる。この平均偏差時間は、共通のフィールド装置から発生する入力信号のタイミングが、予定時間枠から常に外れているか否かを判定するのに使用することができる。例えば、それぞれの予定時間枠より後の遅れた時間にＩ／Ｏスケジューラ１８０によって漸次受信されるセンサーから発生する入力信号は、センサーからの入力信号が、予定時間枠から逸脱していることを判定するために平均化される場合がある。平均偏差時間が、予定時間枠から外れている場合には、Ｉ／Ｏスケジューラ１８０は、後に続く入力信号をそれぞれの予定時間枠の中に漸進的に入るようにするために、１つ又はそれ以上のタイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ伝送することができる。
【００９６】
Ｉ／Ｏスケジューラ１８０が、制御動作用の予定時間枠より前に、同じ型のプロセス制御情報を含んでいる同じフィールド装置から２つの異なる時間に２つの入力信号を受信する場合の実例では、Ｉ／Ｏスケジューラ１８０は、遅く到着するほうの入力信号を処理する。更に、図７の例示のＩ／Ｏスケジューラ１８０は、フィールド装置が、プロセス制御システム１００へ加えられる又はプロセス制御システム１００から取り除かれる場合の実例では、制御スケジュールを調整している。例えば、フィールド装置が加えられる時には、制御ループは、新しく加えられたフィールド装置からのデータを処理するように調整される。Ｉ／Ｏスケジューラ１８０は、プロセス制御技術者からの命令に基づいて新しいフィールド装置用に制御スケジュールを調整することができる。幾つかの事例では、技術者は、制御ループを調整及び／又は修正する必要無く、新しく加えられたフィールド装置に関連付けられる入力信号を加えることができる。しかしながら、制御ループが、修正しなければ新しい入力信号に対応することができない、幾つかの他の実例では、新しい入力信号が、制御ループの中に組み込まれるように、制御ループスケジュールは、技術者及び／又はＩ／Ｏスケジューラ１８０によって調整することができる。調整は、入力信号が、転送及び／又は要求される時のタイミングを修正する工程及び／又は入力信号を受信する予定時間枠の期間を増大させる工程を含んでいる場合がある。制御ループを更新した結果、制御動作が計算される時、及び／又は出力信号が生成される時には、Ｉ／Ｏスケジューラ１８０は、信号入力用の新しいタイミング要件を用いて制御スケジュールを更新する。更に、Ｉ／Ｏスケジューラ１８０は、新しく加えられたフィールド装置からの入力信号を転送及び／又は要求するための新しいタイミング要件を含む、タイミング調整メッセージを、Ｉ／Ｏデータ取得モジュール１９０へ送信する。
【００９７】
他の実例では、プロセス制御技術者は、新しいフィールド装置を加えることで制御スケジュール及び／又は制御ループを更新する場合がある。更新された制御スケジュールを受信すると、Ｉ／Ｏスケジューラ１８０は、更新された入力信号タイミング要件と共に、調整メッセージをＩ／Ｏデータ取得モジュール１９０へ伝送する。
【００９８】
Ｉ／Ｏスケジューラ１８０から発生するタイミング調整メッセージを伝送するために、図７の例示のコントローラ１０４は、信号調整プロセッサ７０８を含んでいる。例示の信号調整プロセッサ７０８は、Ｉ／Ｏデータ取得モジュール１９０及び／又はＩ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂへのタイミング調整メッセージの伝送を管理している。Ｉ／Ｏデータ取得モジュール１９０が、応答していない場合には、信号調整プロセッサ７０８は、タイミング調整メッセージを伝送し続けてもよく、及び／又はＩ／Ｏデータ取得モジュール１９０が、再びメッセージを受信することが可能になるまでタイミング調整メッセージの伝送を遅延させてもよい。
【００９９】
Ｉ／Ｏスケジューラ１８０からタイミングメッセージを受信すると、信号調整プロセッサ７０８は、メッセージを、通信パス７３０を介したＩ／Ｏデータ取得モジュール１９０への伝送用の書式に変換することができる。例示の通信パス７３０は、イーサネット（登録商標）、ユニバーサルシリアルバス（ＵＳＢ）、ＩＥＥＥ  １３９４などによって実装されてもよい。或いは、通信パス７３０は、Ｉ／Ｏデータ取得モジュール１９０及び／又はＩ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂと無線で通信可能に連結されてもよく、無線通信媒体（例えば、無線イーサネット（登録商標）、ＩＥＥＥ−８０２．１１、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を利用して実装することができる。
【０１００】
例示のＩ／Ｏスケジューラ１８０は、制御ループプロセッサ７０６への入力信号の転送を管理している。Ｉ／Ｏスケジューラ１８０が、制御動作用の予定時間枠より前及び／又は予定時間枠内に入力信号を受信する場合の実例では、Ｉ／Ｏスケジューラ１８０は、予定時間枠の間に入力信号を制御ループプロセッサ７０６へ転送する。追加的に又は代替的には、Ｉ／Ｏスケジューラ１８０は、予定時間枠に制御ループプロセッサ７０６から要求を受けると、入力信号を制御ループプロセッサ７０６へ供給する場合がある。Ｉ／Ｏスケジューラ１８０が、制御動作用の予定時間枠より後で入力信号を受信する他の場合では、Ｉ／Ｏスケジューラ１８０は、次の制御ループサイクルの間に再び予定時間枠になるまで、入力信号を保留する場合がある。
【０１０１】
Ｉ／Ｏスケジューラ１８０が、同じフィールド装置から次の類似の入力信号を受信する場合には、Ｉ／Ｏスケジューラ１８０は、先行する入力信号を削除及び／又は無視し、次の入力信号を予定時間枠の間に制御ループプロセッサ７０６へ転送することができる。制御ループプロセッサ７０６への入力信号の転送を、それぞれの入力信号に対応する制御動作の予定時間枠の間だけに制限することによって、Ｉ／Ｏスケジューラ１８０は、制御ループプロセッサ７０６の効率を維持する。この効率によって、制御ループプロセッサ７０６は、他の制御動作を計算すべき時期の間には、入力信号を管理する必要がないことが確実になる。更に、Ｉ／Ｏスケジューラ１８０が、入力信号は、予定時間枠から外れて受信されると判定した場合には、Ｉ／Ｏスケジューラ１８０は、次の制御ループサイクルより前に入力信号のタイミングを補正することができる。
【０１０２】
Ｉ／Ｏスケジューラ１８０は、ノイズが多く、且つ／又は過負荷なプロセス制御システム１００のせいで大幅なオーバーシュート又はアンダーシュートが実現していないトポロジーを必要に応じて補正するように特定することで、プロセス制御オペレータが、入力信号のタイミングの補正を調整することができるようにしている。プロセス制御オペレータは、接続部７４０とスケジュールデータベース７２２を介してＩ／Ｏスケジューラ１８０にアクセスすることができる。
【０１０３】
図７の例示のＩ／Ｏスケジューラ１８０は、更に、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃの何れか１つと、コントローラ１０４と、の間の通信パスの品質を判定することができる。Ｉ／Ｏスケジューラ１８０は、入力信号が、発生したフィールド装置からコントローラ１０４まで伝播する時間を計算することによって、通信パスの品質を判定することができる。例えば、Ｉ／Ｏスケジューラ１８０は、伝播時間を判定するために入力信号内のタイムスタンプ付きの情報を分析する場合がある。タイムスタンプ付きの情報は、入力信号がフィールド装置によって生成及び／又は伝送された時間、入力信号がＩ／Ｏカードによって転送された時間、入力信号がＩ／Ｏデータ取得モジュール１９０によって転送された時間、及び／又は入力信号が入力信号レシーバ７０２によって受信された時間、を含んでいる場合がある。
【０１０４】
Ｉ／Ｏスケジューラ１８０は、それぞれのプロセス制御構成要素の間の伝播時間を計算し、所定の閾値と比較する。閾値は、各伝播パス又はステップ（例えば、多導体ケーブル１２８ａを介してＦＪＢ１２０ａからターミネーションモジュール１２４ａまで）用に、又は、代替的に、通信パス全体（例えば、フィールド装置１１２ａからコントローラ１０４まで）用に、画定することができる。計算した伝播時間が、閾値を超える場合には、Ｉ／Ｏスケジューラ１８０は、通信パスの一部分及び／又は全部に関する問題が存在することを示す診断メッセージを生成することができる。診断メッセージは、プロセス制御システム１００の一部分に入力信号の伝播に時間遅延及び／又は待ち時間が存在することを示すことができる。Ｉ／Ｏスケジューラ１８０は、診断メッセージを診断生成要素７１２へ伝送する。
【０１０５】
タイムスタンプ付きの情報が、各プロセス制御構成要素（例えば、Ｉ／Ｏカード１３２ａ、Ｉ／Ｏデータ取得モジュール１９０など）からのタイムスタンプを含んでいる場合には、Ｉ／Ｏスケジューラ１８０は、診断メッセージで、通信パスの一部分に問題があることを示す場合がある。更に、Ｉ／Ｏスケジューラ１８０は、タイミングメッセージをＩ／Ｏデータ取得モジュール１９０へ送信することによって、時間遅延の影響を受ける入力信号のタイミングを調整することができる。このタイミングメッセージは、同じ通信パスに沿って伝播する入力信号が、制御ループの対応する予定時間枠の中で、コントローラ１０４によって時宜を得て受信されることを確実にする。入力信号伝播の待ち時間が、制御ループの期間を超える幾つかの事例では、プロセス制御技術者は、入力信号が、制御ループサイクル毎に少なくとも１回はコントローラ１０４に達するように制御スケジュールを調整することによって、制御ループを減速することができる。
【０１０６】
診断メッセージを図１のワークステーション１０２へ伝送するために、図７の例示のコントローラ１０４は、診断生成要素７１２を含んでいる。例示の診断生成要素７１２は、診断メッセージの伝送を管理している。Ｉ／Ｏスケジューラ１８０から診断メッセージを受信すると、診断生成要素７１２は、メッセージを、通信パス７４２を利用したワークステーション１０２への伝送用の書式に変換する。通信パス７４２は、ＬＡＮ１０６を含んでいてもよい。例示の通信パス７４２は、イーサネット（登録商標）、ユニバーサルシリアルバス（ＵＳＢ）、ＩＥＥＥ  １３９４などによって実装されてもよい。或いは、通信パス７４２は、ワークステーション１０２及び／又は任意の他のワークステーションと無線で通信可能に連結されてもよく、無線通信媒体（例えば、無線イーサネット（登録商標）、ＩＥＥＥ−８０２．１１、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を利用して実装することができる。
【０１０７】
更に、受信側ワークステーション１０２が、応答していない場合には、診断生成要素７１２は、診断メッセージを伝送し続けてもよく、且つ／又はワークステーション１０２が、再びメッセージを受信することが可能になるまで診断メッセージの伝送を遅延させてもよい。更に、プロセス制御技術者及び／又はオペレータは、メッセージを、診断生成要素７１２へ送信することによって、入力信号の伝播における待ち時間を特定するための閾値を修正することができる。それらのメッセージを受信すると、診断生成要素７１２は、メッセージをＩ／Ｏスケジューラ１８０へ転送する。診断メッセージは、プロセス制御システム１００（例えば、通信パス）のどの部分が、入力信号の伝播について待ち時間を誘発しているのかを示すことができ、且つ／又はかつて問題のあった通信パスが待ち時間の問題を有していず、通信パスに関連付けられる診断警告は、解除することが可能であることを示すことができる。
【０１０８】
ルーチン及び／又は制御ループ（例えば、図２の制御ループ２０２）を含むプロセス制御アルゴリズムを作動させるために、図７の例示のコントローラ１０４は、制御ループプロセッサ７０６を含んでいる。例示の制御ループプロセッサは、図１のプロセス制御システム１００を監視及び／又は管理する所定の期間を経て制御ループを作動させる。図７の例示の制御ループプロセッサ７０６は、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路（ＡＳＩＣ）、デジタル信号プロセッサなどを利用して実装することができる。
【０１０９】
制御ループプロセッサ７０６は、フィールド装置から発生する入力信号を受信し、入力信号を処理し、制御動作を計算し、制御動作に対応する出力信号を生成する。制御アルゴリズム、ルーチン及び／又は制御ループは、制御スケジュールによって特定することが可能である。更に、制御アルゴリズム、ルーチン及び／又は制御ループに対する修正は、ワークステーション１０２を介して、及び／又はコントローラ１０４への直接アクセスを通じてプロセス制御技術者によって行うことができる。
【０１１０】
制御ループプロセッサ７０６は、Ｉ／Ｏスケジューラ１８０から入力信号を受信する。Ｉ／Ｏスケジューラ１８０は、制御ループが入力信号を使用して制御動作を計算するより前に、予定時間枠の間に、入力信号を制御ループプロセッサ７０６へ送信する。追加的に又は代替的に、Ｉ／Ｏスケジューラ１８０は、制御ループプロセッサ７０６からの要求を受けると入力信号を制御ループプロセッサ７０６へ送信する場合がある。入力信号を受信すると、制御ループプロセッサ７０６は、それらの信号を制御ループの適切な部分（例えば、図２のＡＩ２１０内の制御変数）へ読み込むことによって入力信号を処理する。制御ループは、次に、制御動作の計算の間に入力信号内のデータを利用し、制御動作に対応する出力信号を生成する。出力信号を生成すると、制御ループプロセッサ７０６は、出力信号を出力信号送信機７１０へ伝送する。
【０１１１】
出力信号を対応するフィールド装置へ伝送するために、図７の例示のコントローラ１０４は、出力信号送信機７１０を含んでいる。フィールド装置は、所定の基準内で１つ又はそれ以上のプロセスを続行するために、プロセス制御システム１００に対して補正動作を実行するのに出力信号を利用する。例示の出力信号送信機７１０は、出力信号の、Ｉ／Ｏデータ取得モジュール１９０及び／又はＩ／Ｏカード１３２ａ、１３２ｂ及び１３４ａ、１３４ｂへの伝送を管理している。制御ループプロセッサ７０６から出力信号を受信すると、出力信号送信機７１０は、出力信号を、通信パス７３８を介したＩ／Ｏデータ取得モジュール１９０への伝送用の書式に変換する。例示の通信パス７３８は、イーサネット（登録商標）、ユニバーサルシリアルバス（ＵＳＢ）、ＩＥＥＥ  １３９４などによって実装されてもよい。或いは、通信パス７３８は、Ｉ／Ｏデータ取得モジュール１９０及び／又は任意のフィールド装置（例えば、無線フィールド装置１１６ｃ）と無線で通信可能に連結されてもよく、無線通信媒体（例えば、無線イーサネット（登録商標）、ＩＥＥＥ−８０２．１１、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を利用して実装することができる。
【０１１２】
出力信号を伝送する前に、出力信号送信機７１０は、出力信号を伝送するための順番を決定するために低い優先度の信号データベース７２０にアクセスすることができる。例えば、出力信号送信機７１０が、制御ループプロセッサ７０６から数多くの出力信号を受信する場合では、出力信号送信機７１０は、どの出力信号が、対応するフィールド装置へ伝送されるのか優先順位を決めることができる。例えば、出力送信機７１０が、多数の出力信号を受信する場合には、出力信号送信機７１０は、制御ループに関連付けられる出力信号は、最初に送信され、制御ループに関連付けられない出力信号は、後で送信されることを決定するために、低い優先度の信号データベース７２０にアクセスする場合がある。
【０１１３】
更に、幾つかの実例では、Ｉ／Ｏスケジューラ１８０は、判定用のどの入力が、予定時間枠の中で受信されたのかを判定するために、低い優先度のデータベース７２０にアクセスする場合がある。優先度が低いと判定される入力信号は、より高い優先度の入力信号の後で、Ｉ／Ｏスケジューラ１８０によって検査される。低い優先度の入力信号は、ディスプレイの中に含まれる監視入力及び／又は制御動作に関連付けられない入力を含んでいてもよく、優先度の高いものは、それらのうちの少なくとも１つを含んでいる。更に、高い優先度の入力は、制御動作に関連付けられるフィールド装置からの入力を含んでいる。更に、低い優先度の出力信号は、比較的に長期間の間に生成される出力信号を含んでいる場合がある。
【０１１４】
例示の低い優先度の信号データベース７２０は、ＥＥＰＲＯＭ、ＲＡＭ、ＲＯＭ及び／又は任意の他の型のメモリによって実装することができる。それぞれの出力信号の優先度順位は、制御ループの設定された期間によって推察されてもよく、及び／又は通信パス７３６を利用してプロセス制御技術者によって設定されてもよい。例示の通信パス７３６は、イーサネット（登録商標）、ユニバーサルシリアルバス（ＵＳＢ）、ＩＥＥＥ  １３９４などによって実装されてもよい。或いは、通信パス７３６は、ワークステーション１０２と無線で通信可能に連結されてもよく、無線通信媒体（例えば、無線イーサネット（登録商標）、ＩＥＥＥ−８０２．１１、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など）を使用して実装することができる。
【０１１５】
コントローラ１０４を実装する例示の方法を図７で示しているが、図７で図解しているインターフェース、データ構造、要素、プロセス及び／又は装置の１つ又はそれ以上は、結合、分割、再配置、省略、削除されてもよく、且つ／又は任意の他の方法で実装されてもよい。例えば、図７に図解している例示の入力信号レシーバ７０２、例示のシステムクロックマネージャ７０４、例示の制御ループプロセッサ７０６、例示の信号調整プロセッサ７０８、例示の出力信号送信機７１０、例示の診断生成要素７１２、例示のＩ／Ｏスケジューラ１８０、例示のスケジュールデータベース７２２、及び／又は例示の低い優先度の信号データベース７２０は、独立して及び／又は任意の組み合わせによる使用、例えば、１つ又はそれ以上の計算装置及び／又は計算プラットフォーム（例えば、図１０の例示の処理プラットフォーム１０１０）によって実行される、機械によるアクセス可能又は読み込み可能な命令などで実装されてもよい。
【０１１６】
更に、例示の入力信号レシーバ７０２、例示のシステムクロックマネージャ７０４、例示の制御ループプロセッサ７０６、例示の信号調整プロセッサ７０８、例示の出力信号送信機７１０、例示の診断生成要素７１２、例示のＩ／Ｏスケジューラ１８０、例示のスケジュールデータベース７２２、例示の低い優先度の信号データベース７２０及び／又はより概括的には、コントローラ１０４は、ハードウェア、ソフトウェア、ファームウェア、及び／又はハードウェア、ソフトウェア、ファームウェアの任意の組み合わせによって実装されてもよい。而して、例えば、例示の入力信号レシーバ７０２、例示のシステムクロックマネージャ７０４、例示の制御ループプロセッサ７０６、例示の信号調整プロセッサ７０８、例示の出力信号送信機７１０、例示の診断生成要素７１２、例示のＩ／Ｏスケジューラ１８０、例示のスケジュールデータベース７２２、例示の低い優先度の信号データベース７２０及び／又はより概括的には、コントローラ１０４のいずれかは、１つ又はそれ以上の回路、１つ又は複数のプログラム可能プロセッサ、１つ又は複数の特定用途向け集積回路（ＡＳＩＣ）、１つ又は複数のプログラム可能論理装置（ＰＬＤ）、及び／又は１つ又は複数のフィールドでプログラム可能論理装置（ＦＰＬＤ）などによって実装することができる。
【０１１７】
図８Ａ、図８Ｂ及び図９は、図１、図２及び／又は図７の例示のコントローラ１０４、図１、図２及び／又は図７の例示のＩ／Ｏスケジューラ１８０、図１及び／又は図２の例示のＩ／Ｏデータ取得モジュール１９０、及び／又は図１及び／又は図２の例示のプロセス制御システム１００を実装するために実施することができる例示の方法のフローチャートである。図８Ａ、図８Ｂ及び図９の例示の方法は、プロセッサ、コントローラ、及び／又は任意の他の適切な処理装置によって実施することができる。例えば、図８Ａ、図８Ｂ及び図９の例示の方法は、フラッシュメモリ、ＣＤ、ＤＶＤ、フロッピィディスク、ＲＯＭ、ＲＡＭ、プログラム可能ＲＯＭ（ＰＲＯＭ）、電子式プログラム可能ＲＯＭ（ＥＰＲＯＭ）、電子式消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、光学記憶ディスク、光学記憶装置、磁気記憶ディスク、磁気記憶装置、及び／又はプログラムコード及び／又は方法又はデータ構造の形態をした命令を担持する又は保存するのに使用することができる任意の他の媒体などの、任意の有形のコンピュータ読み込み可能媒体に記憶される符号化された命令に具現化することができ、それらの命令は、プロセッサ、汎用又は特殊用途コンピュータ、又はプロセッサを備える他の機械（例えば、図１０に関連して下文で検討する例示のプロセッサプラットフォーム１０１０）によってアクセスすることが可能である。上記の組み合わせも、コンピュータ読み込み可能媒体の範囲に含まれる。方法は、例えば、プロセッサ、汎用コンピュータ、特殊用途コンピュータ又は特殊用途処理機械に、１つ又はそれ以上の特定の方法を実装させる命令及び／又はデータを備える。或いは、図８Ａ、図８Ｂ及び図９の例示の方法の幾つか又は全ては、１つ又は複数のＡＳＩＣ、１つ又は複数のＰＬＤ、１つ又は複数のＦＰＬＤ、個別論理、ハードウェア、ファームウェアなどの任意の１つ又は複数の組み合わせを利用して実装してもよい。更に、図８Ａ、図８Ｂ及び図９の例示の方法の幾つか又は全ては、代わりに、手動で又は前述の技法の何れかの任意の組み合わせ、例えばファームウェア、ソフトウェア、個別論理及び／又はハードウェアの何らかの組み合わせで実装してもよい。更に、図８Ａ、図８Ｂ及び図９の例示の作業を実装する数多くの他の方法を用いてもよい。例えば、ブロックの実行の順番は、変更してもよく、且つ／又は記載する１つ又はそれ以上のブロックを、変更、削除、細分化又は結合してもよい。更に、図８Ａ、図８Ｂ及び図９の例示の方法の何れか又は全ては、例えば、個別の処理スレッド、プロセッサ、装置、個別論理、回路などによって、順次に又は並行して実行されてもよい。
【０１１８】
図８Ａ及び図８Ｂの例示の方法８００は、入力信号が、規定の予定時間枠の中でコントローラ１０４によって受信されるように入力信号を構成するための入力信号検証及び／又は調整プロセスを提供している。例示の方法８００は、１つのプロセス制御装置（例えば、フィールド装置）から発生する入力信号用のタイミング調整を計算するプロセスを提供している。しかしながら、例示の方法８００は、複数のプロセス制御装置から発生する入力信号用のタイミング調整を計算する他の例示の方法８００と並行して作動する場合がある。更に、例示の方法８００は、それぞれのプロセス制御装置毎に異なるブロックで異なる時間に存在する場合がある。
【０１１９】
例示の方法８００は、図８Ａで開始し、ここで、図１の例示のコントローラ１０４が、制御ループを開始する（ブロック８０４）。制御ループは、制御アルゴリズム及び／又はコントローラ１０４内で作動するルーチンの中に含まれていてもよい。次に、コントローラ１０４は、初期タイミングメッセージをＩ／Ｏ取得モジュール１９０へ送信する（ブロック８０６）。初期タイミングメッセージは、Ｉ／Ｏ取得モジュール１９０が、入力信号をコントローラ１０４へ転送する時間を含んでいる。タイミングメッセージは、制御ループの制御スケジュールに基づいていてもよい。その後しばらくして、Ｉ／Ｏ取得モジュール１９０は、第１の入力信号をプロセス制御装置（例えば、フィールド装置１１２ａから１１２ｃ及び１１６ａから１１６ｃ）から受信する（ブロック８０８）。第１の入力信号を受信すると、Ｉ／Ｏ取得モジュール１９０は、受信信号にタイムスタンプを付与する（ブロック８１０）。その後、タイミングメッセージの時間に対応する予定時間枠の間、Ｉ／Ｏ取得モジュール１９０は、第１の入力信号をコントローラ１０４へ転送する（ブロック８１２）。
【０１２０】
Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、第１の入力信号をＩ／Ｏ取得モジュール１９０から受信し、第１の入力信号が、予定時間枠の中で受信されたか否かを計算する（即ち、入力信号の遅延を計算する）（ブロック８１４）。第１の入力信号が、制御ループが、第１の入力信号を利用する所定の時間に対応する予定時間枠の中でコントローラ１０４によって受信された場合には（ブロック８１６）、コントローラ１０４内部の図７の制御ループプロセッサ７０６は、制御ループ内の第１の入力信号を処理し、第１の入力信号を用いて制御動作を計算する（ブロック８１８）。次に、制御ループプロセッサ７０６は、計算された制御動作を含む出力信号を生成する（ブロック８２０）。コントローラ１０４は、その後、プロセス制御システム１００の一部分を制御するために出力信号を第２のプロセス制御装置へ伝送する（ブロック８２２）。図８Ａの例示の方法８００は、その後、Ｉ／Ｏデータ取得モジュール１９０が、プロセス制御装置から別の入力信号を受信すると、ループバックする（ブロック８０８）。
【０１２１】
しかしながら、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４が、第１の入力信号は、制御ループが第１の入力信号を利用する時間に対応する予定時間枠から外れてコントローラ１０４によって受信された、と判定する場合には（ブロック８１６）、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、第１の入力信号は、予定時間枠の始点より前にコントローラ１０４によって受信されたか否かを判定する（ブロック８２４）。第１の入力信号が、予定時間枠より前に受信された場合には、例示の方法８００は、図８Ｂへ続き、ここで、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、第１の入力信号を制御ループプロセッサ７０６へ転送し、制御ループプロセッサ７０６が、第１の入力信号を利用して制御動作を処理及び計算する（ブロック８２６）。制御ループプロセッサ７０６は、その後、制御動作から出力信号を生成し（ブロック８２８）、出力信号を第２のプロセス制御装置へ伝送する（ブロック８３０）。
【０１２２】
図８Ｂの例示の方法８００は、ここで、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、第１の入力信号が、予定時間枠の始点より前にコントローラ１０４によって受信されたことを示す診断メッセージを生成する（ブロック８３８）。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、その後、コントローラ１０４が、第１の入力信号を受信した時間と、予定時間枠と、の間の差を計算する（ブロック８４０）。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、コントローラ１０４が、第１の入力信号を受信した時間と、予定時間枠の始点、中間及び／又は、終点の間と、の差を計算する場合もある。或いは、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、コントローラ１０４が、第１の入力信号を受信した時間と、予定時間枠の中の任意の時間と、の間の差を計算する場合もある。
【０１２３】
幾つかの実装例では、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号が処理のために制御ループプロセッサへ送信される（ブロック８２６）と、時差を計算する（ブロック８４０）。更に他の実装例では、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号が処理のために制御ループプロセッサへ送信される（ブロック８２６）より前に時差を計算する（ブロック８４０）場合がある。時差は、第１の入力信号が、受信された時間と、予定時間枠の中の任意の時間と、の間の差と一致する場合がある。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、時差を含んだ時間調整メッセージを生成し（ブロック８４０）、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ伝送する（ブロック８４２）。タイミング調整メッセージは、Ｉ／Ｏデータ取得モジュール１９０が、第１の入力信号と同じデータの時間を記録する同じプロセス制御装置から発生する類似の入力信号を転送及び／又は要求する新しい時間を含んでいる。
【０１２４】
他の実装例では、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、複数の受信した入力信号の予定時間枠からの平均時間偏差に基づいて時差を計算する場合がある（ブロック８４０）。次に、平均時間偏差が、予定時間枠から外れている場合には、例示のコントローラ１０４及び／又はＩ／Ｏデータ取得モジュールは、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ伝送することができる（ブロック８４２）。平均時間偏差は、フィールド装置から受信される全ての入力信号に基づいていてもよく、或いは、時間偏差は、フィールド装置から最近受信した複数の入力信号に基づいていてもよい。
【０１２５】
タイミング調整メッセージを受信すると、Ｉ／Ｏデータ取得モジュール１９０は、第１の入力信号に関連付けられる入力用のタイミングスケジュールを更新する（ブロック８４４）。而して、第１の入力信号と同じ型の情報を含んでいる、同じプロセス制御装置からの何らかの後の入力信号は、対応する予定時間枠と一致する時間に、Ｉ／Ｏ取得モジュール１９０によってコントローラ１０４へ転送される。更に、Ｉ／Ｏ取得モジュール１９０は、タイミングスケジュールに基づいて、第１の入力信号と同じ型の情報を含んでいる、同じプロセス制御装置からの任意の後の入力信号を要求することができる。Ｉ／Ｏデータ取得モジュール１９０が、プロセス制御装置から第２の入力信号を受信すると、その後、図８Ｂの例示の方法８００は、図８Ａにループバックする（ブロック８０８）。
【０１２６】
しかしながら、第１の入力信号が、予定時間枠より後に受信された場合には、例示の方法８００は、図８Ｂへ続き、ここで、制御ループプロセッサ７０６は、第１の入力信号より前に受信した以前の入力信号を利用して制御動作を処理及び計算する（ブロック８３２）。第１の入力信号は、制御動作の計算の後でコントローラ１０４によって受信されたので、制御ループは、利用可能な入力信号、即ち以前の入力信号を利用することしかできない。制御ループプロセッサ７０６は、その後、制御動作から出力信号を生成し（ブロック８３４）、出力信号を第２のプロセス制御装置へ伝送する（ブロック８３６）。
【０１２７】
図８Ｂの例示の方法８００は続き、ここで、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、第１の入力信号が、予定時間枠の始点より後にコントローラ１０４によって受信されたことを示す診断メッセージを生成する（ブロック８３８）。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、次に、コントローラ１０４が、第１の入力信号を受信した時間と、予定時間枠と、の間の差を計算する（ブロック８４０）。時差は、予定時間枠の中の任意の時間から第１の入力信号が受信された時までの差と一致する場合がある。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、時差を含んだ時間調整メッセージを生成し（ブロック８４０）、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ伝送する（ブロック８４２）。タイミング調整メッセージは、Ｉ／Ｏデータ取得モジュール１９０が、第１の入力信号と同じデータの時間を記録している、同じプロセス制御装置から発生する類似の入力信号を転送するための新しい時間を含む。更に、Ｉ／Ｏ取得モジュール１９０は、タイミングスケジュールに基づいて、第１の入力信号と同じ型の情報を含んでいる、同じプロセス制御装置からの後の入力信号を要求する場合がある。
【０１２８】
タイミング調整メッセージを受信すると、Ｉ／Ｏデータ取得モジュール１９０は、第１の入力信号に関連付けられる入力用のタイミングスケジュールを更新する（ブロック８４４）。而して、第１の入力信号と同じ型の情報を含んでいる、同じプロセス制御装置からの何らかの後の入力信号は、対応する予定時間枠と一致する時間に、I／Ｏ取得モジュール１９０によってコントローラ１０４へ転送される。更に、Ｉ／Ｏ取得モジュール１９０は、タイミングスケジュールに基づいて、第１の入力信号と同じ型の情報を含んでいる、同じプロセス制御装置からの後の入力信号を要求することができる。その後、Ｉ／Ｏデータ取得モジュール１９０が、プロセス制御装置から第２の入力信号を受信すると、図８Ｂの例示の方法８００は、図８Ａにループバックする（ブロック８０８）。
【０１２９】
図９の例示の方法９００は、新しいプロセス制御装置（例えば、フィールド装置）がプロセス制御システム１００に追加された時の入力信号検証及び／又は調整プロセスを提供している。例示の方法９００は、複数のプロセス制御装置から発生する入力信号用のタイミング調整を計算する他の例示の方法９００と並行して作動する場合がある。更に、例示の方法９００は、それぞれのプロセス制御装置毎に異なるブロックで異なる時間に存在する場合がある。
【０１３０】
例示の方法９００は、図９では、プロセス制御装置が、プロセス制御システムに追加され、制御ループが、新しく追加されたプロセス制御装置からの入力を利用する制御動作を用いて更新されること（ブロック９０６）で始まる。次に、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、新しく追加されたフィールド装置を含むフィールド装置から受信される入力信号が、それぞれの予定時間枠の中で受信されたか否かを判定する（ブロック９０８）。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、Ｉ／Ｏスケジューラ１８０が、入力信号を受信する時に、各入力信号が、対応する予定時間枠の間に受信されたか否かを判定する。それぞれの予定時間枠の間に受信されたことが判定された（ブロック９０８）入力信号に関しては、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号を制御ループプロセッサ７０６へ転送する。制御ループプロセッサ７０６は、その後、制御ループ内の入力信号を処理し、対応する制御動作を計算する（ブロック９１０）。制御動作から、制御ループプロセッサ７０６は、出力信号を生成し（ブロック９１２）、出力信号を対応するプロセス制御装置へ伝送する（ブロック９１６）。図９の例示の方法９００は、その後、新しく追加されたフィールド装置を含むフィールド装置から受信される入力信号が、それぞれの予定時間枠の中で受信されたか否かを判定するためにループバックする（ブロック９０８）。
【０１３１】
しかしながら、それぞれの予定時間枠から外れて受信される（ブロック９０８）各入力信号に関しては、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号を制御ループプロセッサ７０６へ転送する。入力信号が、その予定時間枠より前に受信される場合では、制御ループプロセッサ７０６は、入力信号を制御ループ内で処理し、対応する制御動作を計算する（ブロック９１８）。入力信号が、その予定時間枠より後に受信される場合では、制御ループプロセッサ７０６は、制御ループ内で前に受信した入力信号を処理し、対応する制御動作を計算する（ブロック９１８）。制御ループプロセッサ７０６は、その後、制御動作から出力信号を生成し（ブロック９２０）、出力信号を対応するプロセス制御装置へ伝送する（ブロック９２２）。
【０１３２】
図９の例示の方法９００は、それに続いて、ここで、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４が、入力信号は、対応する予定時間枠の中でコントローラ１０４によって受信されなかったことを示す診断メッセージを生成する（ブロック９２４）。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、その後、コントローラ１０４が、入力信号を受信した時間と、対応する予定時間枠と、の間の時差を計算する（ブロック９２６）。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、コントローラ１０４が、第１の入力信号を受信した時間と、予定時間枠の始点、中間及び／又は、終点と、の間の差を計算する場合もある。或いは、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、コントローラ１０４が、第１の入力信号を受信した時間と、予定時間枠の中の任意の時間と、の間の差を計算する場合もある。幾つかの実装例では、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号が、処理のために制御ループプロセッサへ送信される（ブロック９１８）と、時差を計算する（ブロック９２６）。更に他の実装例では、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、入力信号が処理のために制御ループプロセッサへ送信される（ブロック９１８）より前に時差を計算する（ブロック９２６）場合がある。追加的に又は代替的に、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、時差を計算する（ブロック９２６）と、診断メッセージを生成する（ブロック９２４）場合がある。
【０１３３】
他の実装例では、Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、第１及び／又は第２のプロセス制御装置からの複数の受信した入力信号の予定時間枠からの平均時間偏差に基づいて時差を計算する場合がある（ブロック９２６）。その後、平均時間偏差が、予定時間枠から外れている場合には、例示のコントローラ１０４及び／又はＩ／Ｏデータ取得モジュールは、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ伝送することができる（ブロック９２８）。平均時間偏差は、フィールド装置から受信される全ての入力信号に基づいていてもよく、或いは、時間偏差は、フィールド装置から最近受信した複数の入力信号に基づいていてもよい。
【０１３４】
Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、その後、時間調整メッセージを生成する（ブロック９２８）。時間調整メッセージは、最近の入力信号と同じ型の情報を含んでいる、同じプロセス制御装置から発生する後に続く入力信号が、対応する予定時間枠の中で受信されるようなタイミングデータを含んでいる。Ｉ／Ｏスケジューラ１８０及び／又はコントローラ１０４は、その後、タイミング調整メッセージをＩ／Ｏデータ取得モジュール１９０へ送信する（ブロック９３０）。Ｉ／Ｏデータ取得モジュール１９０は、時間調整メッセージを受信し、時機を外れた入力信号を発生したプロセス制御装置に関連付けられる入力信号を転送するためのタイミングを調整する（ブロック９３２）。例示の方法９００は、その後、新しく追加されたフィールド装置を含むフィールド装置から受信された入力信号が、それぞれの予定時間枠の中で受信されたか否かを判定するためにループバックする（ブロック９０８）。
【０１３５】
図１０は、本明細書に記載する例示の方法及び装置を実装するのに使用することができる例示のプロセッサシステム１０１０のブロック図である。例えば、例示のプロセッサシステム１０１０に類似した又は同一のプロセッサシステムは、図１及び／又は図２のワークステーション１０２、コントローラ１０４、Ｉ／Ｏデータ取得モジュール１９０、及び／又はＩ／Ｏスケジューラ１８０を実装するのに使用してもよい。例示のプロセッサシステム１０１０は、複数の周辺機器、インターフェース、チップ、メモリなどを含むものとして下文に記載されているが、それらの要素の１つ又はそれ以上は、ワークステーション１０２、コントローラ１０４、Ｉ／Ｏデータ取得モジュール１９０、及び／又はＩ／Ｏスケジューラ１８０の１つ又はそれ以上を実装するのに使用される他の例示のプロセッサシステムから削除されてもよい。
【０１３６】
図１０に示しているように、プロセッサシステム１０１０は、相互接続バス１０１４と連結されるプロセッサ１０１２を含んでいる。プロセッサ１０１２は、レジスタセット又はレジスタ空間１０１６を含んでおり、このレジスタセット又はレジスタ空間は、図１０では全体がオンチップになっているものが図示されているが、これは、代替的に、完全に又は部分的にオフチップで設置すること、及び／又は専用の電気接続を介して及び／又は相互接続バス１０１４を介してプロセッサ１０１２と直接的に連結すること、が可能である。プロセッサ１０１２は、任意の適切なプロセッサ、処理ユニット、又はマイクロプロセッサであってもよい。図１０では示していないが、システム１０１０は、マルチプロセッサシステムであってもよく、而して、プロセッサ１０１２と同一の又は類似した、且つ相互接続バス１０１４と通信可能に連結される、１つ又はそれ以上の追加のプロセッサを含んでいてもよい。
【０１３７】
図１０のプロセッサ１０１２は、メモリコントローラ１０２０と周辺機器の入力／出力コントローラ１０２２とを含むチップセット１０１８と連結されている。周知の通り、チップセットは、標準的には、Ｉ／Ｏ及びメモリ管理機能の他に、チップセット１０１８と連結される１つ又はそれ以上のプロセッサによってアクセス可能な又は使用される複数の汎用及び／又は特殊目的のレジスタ、タイマーなどを更に提供する。メモリコントローラ１０２０は、プロセッサ１０１２（又は、複数のプロセッサが存在する場合には複数のプロセッサ）が、システムメモリ１０２４及び大容量記憶メモリ１０２５にアクセスできるようにさせる機能を遂行している。
【０１３８】
システムメモリ１０２４は、任意の所望の型の揮発性及び／又は不揮発性メモリ、例えば、スタティックランダムアクセスメモリ（ＳＲＡＭ）、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）などを含んでいてもよい。大容量記憶メモリ１０２５は、任意の所望の型の大容量記憶装置を含んでいてもよい。例えば、例示のプロセッサシステム１０１０が、ワークステーション１０２（図１）を実装するのに使用される場合には、大容量記憶メモリ１０２５は、ハードディスクドライブ、光学ドライブ、テープ記憶装置などを含んでいてもよい。或いは、例示のプロセッサシステム１０１０が、コントローラ１０４、Ｉ／Ｏデータ取得モジュール１９０、及び／又はＩ／Ｏスケジューラ１８０を実装するのに使用される場合には、大容量記憶メモリ１０２５は、固体メモリ（例えば、フラッシュメモリ、ＲＡＭメモリなど）、磁気メモリ（例えば、ハードディスク）、又はコントローラ１０４、Ｉ／Ｏデータ取得モジュール１９０、及び／又はＩ／Ｏスケジューラ１８０の大容量記憶に適する任意の他のメモリを含んでいてもよい。
【０１３９】
周辺機器のＩ／Ｏコントローラ１０２２は、プロセッサ１０１２が、周辺機器のＩ／Ｏバス１０３２を介して周辺機器の入力／出力（Ｉ／Ｏ）装置１０２６、１０２８及びネットワークインターフェース１０３０と通信できるようにさせる機能を実行している。Ｉ／Ｏ装置１０２６、及び１０２８は、例えば、キーボード、ディスプレイ（例えば、液晶ディスプレイ（ＬＣＤ）、陰極線管（ＣＲＴ）ディスプレイなど）、ナビゲーション装置（例えば、マウス、トラックボール、容量性タッチパッド、ジョイスティックなど）などの任意の所望の型のＩ／Ｏ装置であってもよい。ネットワークインターフェース１０３０は、プロセッサシステム１０１０が、別のプロセッサシステムと通信できるようにさせる、例えば、イーサネット（登録商標）装置、非同期転送モード（ＡＴＭ）装置、８０２．１１装置、ＤＳＬモデム、ケーブルモデム、セルラーモデムなどであってもよい。
【０１４０】
メモリコントローラ１０２０とＩ／Ｏコントローラ１０２２は、図１０では、チップセット１０１８内部の別々の機能ブロックで図示されているが、それらのブロックによって実行される機能は、一つの半導体回路内で統合されていてもよく、又は２つ又はそれ以上の別々の集積回路を使用して実装されてもよい。
【０１４１】
上記の例示の方法及び／又はシステムの少なくとも幾つかは、コンピュータプロセッサで作動する１つ又はそれ以上のソフトウェア及び／又はファームウェアプログラムによって実装されている。しかしながら、本明細書に記載する例示の方法及び／又は装置の幾つか又は全てを、全体的に又は部分的に実装するために、特定用途向け集積回路、プログラム可能論理アレイ及び他のハードウェア装置を含むがこれらに限定するわけではない、専用のハードウェアによる実装を構築することが同様に可能である。更に、本明細書に記載する例示の方法及び／又はシステムを実装するために、分散処理又は構成要素／オブジェクト分散処理、並列処置、又は仮想マシン処理を含むがこれらに限定するわけではない、代替的なソフトウェアによる実装も、同様に構築することが可能である。
【０１４２】
更に、本明細書に記載する例示のソフトウェア及び／又はファームウェアによる実装は、例えば、磁気媒体（例えば、磁気ディスク又はテープ）、光学ディスクなどの磁気光学又は光学媒体、又はメモリカード又は１つ又はそれ以上の読み取り専用（非揮発性）メモリ、ランダムアクセスメモリ、又は他の書き換え可能（揮発性）メモリを内蔵する他のパッケージなどの固体媒体、のような有形の記憶媒体に記憶されることに留意されたい。従って、本明細書に記載する例示のソフトウェア及び／又はファームウェアは、上述の媒体又はそれらの後継記憶媒体のような有形記憶媒体に記憶することができる。上記の明細書が、特定の規格及びプロトコルを参照して例示の構成要素及び機能を説明している点において、本発明の範囲は、その様な規格及びプロトコルに限定されるものではないことを理解されたい。例として、インターネット及び他のパケット交換型ネットワーク伝送（例えば、伝送制御プロトコル（ＴＣＰ）／インターネットプロトコル（ＩＰ）、ユーザーデータグラムプロトコル（ＵＤＰ）／ＩＰ、ハイパーテキストマークアップ言語（ＨＴＭＬ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ））のそれぞれの規格は、当該技術の現下の状況における実例を示している。その様な規格は、同じ汎用機能性を有するより高速又はより高効率な等価物に、周期的に取って替わられる。従って、同じ機能を有する代替規格及びプロトコルは、本発明によって想定される等価物であり、添付の特許請求の範囲の領域の中に含まれるものと意図されている。
【０１４３】
更に、本特許は、例示の方法と、ハードウェア上で実行されるソフトウェア又はファームウェアを含んでいる装置と、を開示するが、当該のシステムは、単に説明を目的とするものであり、制限を課すためのものと考察されるべきではないことに留意されたい。例えば、これらのハードウェア及びソフトウェアの構成要素の何れか又は全ては、ハードウェアだけ、ソフトウェアだけ、ファームウェアだけ、又はハードウェア、ファームウェア及び／又はソフトウェアの何らかの組み合わせ、に具現化することが可能であるものと思慮している。この様な次第で、上述の明細書において、例示の方法、システム、及び機械によるアクセス可能な媒体についての説明を行ったものの、これらの実例は、当該のシステム、方法、及び機械によるアクセス可能な媒体を実装する唯一の方法ではない。従って、或る例示の方法、システム、及び機械によるアクセス可能な媒体が本明細書に記載されていても、本特許の対象となる範囲は、これらに限定されるものではない。それどころか、本特許は、文言上或いは均等論に基づき、添付の特許請求の範囲の中に公平に含まれる方法、システム、及び機械によるアクセス可能な媒体、の全てを対象とするものである。
【図１】
2011054167.tif 000003
【図２】
2011054167.tif 000004
【図３】
2011054167.tif 000005
【図４Ａ】
2011054167.tif 000006
【図４Ｂ】
2011054167.tif 000007
【図５】
2011054167.tif 000008
【図６】
2011054167.tif 000009
【図７】
2011054167.tif 000010
【図８Ａ】
2011054167.tif 000011
【図８Ｂ】
2011054167.tif 000012
【図９】
2011054167.tif 000013
【図１０】
2011054167.tif 000014