(57)【要約】ホストと、マルチプレクサと、フィールドインストゥルメントデバイスとを有するシステムの、マルチプレクサ通信を最適化する装置。ホストはホストソフトウェアを実行するために、および、メッセージをマルチプレクサに送信するために設けられている。メッセージはインストゥルメントデバイスのための埋め込みメッセージを含んでいる。ホストは、メッセージに対するレスポンスがマルチプレクサを経てデバイスから受信されるまで、メッセージを再送信する。第１の再送信はロングディレイの後に起こり、第２の、および、全てのそれに続く再送信は、第２の時間間隔の後に起こる。最適化コントローラは、レスポンスがホストに伝えられる前に生じた再送信の数を示すカウントを確立するため、メッセージをホストからマルチプレクサに伝えて、レスポンスをマルチプレクサからホストに伝えるのに要する通信時間に基づく、メッセージターンアラウンドタイムを評定するため、このメッセージターンアラウンドタイムと少なくとも同じ長さのブラケット幅を確立するため、ショートディレイを確立するため、および、ロングディレイとショートディレイとの少なくとも１つを変化させて該カウントを最小化するために設けられている。【特許請求の範囲】
【請求項１】
マルチプレクサ通信を最適化する装置であって、
ホストと、
マルチプレクサと、
インストゥルメントデバイスと、
最適化コントローラとを備え、
該ホストは、ホストソフトウェアを実行するため、および、該マルチプレクサに第１のメッセージと複数のそれに続くメッセージを送信するために設けられ、各々の該メッセージは、該インストゥルメントデバイスのための埋め込みメッセージと、ロングディレイを規定している、第１のメッセージと第１の続くメッセージとの間の期間とを含み、
該マルチプレクサは、該埋め込みメッセージをむき出して、該埋め込みメッセージを該インストゥルメントデバイスに送るために設けられ、該マルチプレクサは、さらに、レスポンスを該ホストに送るために設けられ、該レスポンスは、該埋め込みメッセージが該マルチプレクサに送られたかどうか、および、返答が該インストゥルメントデバイスから受信されたかどうかを示し、該マルチプレクサは、さらに、該返答を受信して記憶するために設けられ、
該インストゥルメントデバイスは、該埋め込みメッセージを受信して処理するため、および、該返答を該マルチプレクサに送信するために設けられ、
該最適化コントローラは、機能的に該ホストと結合し、該最適化コントローラは、
該マルチプレクサによって該返答が受信されたかどうかを該ホストに伝えるため、
該マルチプレクサによって該返答が受信される前に生じた、続くメッセージの数を示すカウントを確立するため、
該マルチプレクサに該メッセージのどれでも一つを送信して、該マルチプレクサから該レスポンスを受信するのに必要な時間に基づく、メッセージターンアラウンドタイムを評定するため、
少なくとも該メッセージターンアラウンドタイムと同じ長さのブラケット幅を確立するため、
該メッセージターンアラウンドタイムおよび該ブラケット幅に、少なくとも一部基づく、ショートディレイを確立するため、および、
該ロングディレイと該ショートディレイの少なくとも一つを変化させて該カウントを最小化するために設けられた、装置。
【請求項２】
請求項１記載の、マルチプレクサ通信を最適化する装置であって、
該最適化コントローラが、該ロングディレイと該ショートディレイの両方を変化させて該カウントを最小化するために設けられた、装置。
【請求項３】
請求項１記載の、マルチプレクサ通信を最適化する装置であって、
該マルチプレクサは、該レスポンスが該ホストに通信されるまで、該返答を記憶するためのバッファを含み、該最適化コントローラは、さらに、該ロングディレイと該ショートディレイのうちの少なくとも１つを変化させて、該ホストによって読み出される前に該返答が該バッファに滞在するデッドタイム期間を最小化するために設けられた、装置。
【請求項４】
請求項１記載の、マルチプレクサ通信を最適化する装置であって、
該最適化コントローラがさらにデッドタイムを追跡するために設けられ、該デッドタイムは、該レスポンスが、該ホストに伝えられる前に該マルチプレクサにどれだけ長く滞在したかを示し、該最適化コントローラは、該ロングディレイと該ショートディレイのうちの少なくとも１つを変化させて、該デッドタイムを最小化するために設けられた、装置。
【請求項５】
請求項４記載の、マルチプレクサ通信を最適化する装置であって、
該最適化コントローラは、該ロングディレイと該ショートディレイの両方を変化させて、該デッドタイムを最小化するために設けられた、装置。
【請求項６】
請求項１記載の、マルチプレクサ通信を最適化する装置であって、
該第１のメッセージと該複数の続くメッセージがメッセージ群から選ばれ、該メッセージ群は複数の可能なメッセージを含み、該メッセージ群における各メッセージが特有のメッセージパラメータを有し、該ホストは、該メッセージ群から選ばれたメッセージを抜粋するために設けられ、さらに該最適化コントローラは、該選ばれたメッセージの該特有のメッセージパラメータを評定するため、および、該選ばれたメッセージの該特有のメッセージパラメータに基づいて該ブラケット幅と該ロングディレイとを確立するために設けられた、装置。
【請求項７】
請求項１記載の、マルチプレクサ通信を最適化する装置であって、
該第１のメッセージと該複数の続くメッセージがメッセージ群から選ばれ、該メッセージ群は該インストゥルメントデバイスに可能なメッセージを複数含み、該メッセージ群における各メッセージが特有のメッセージパラメータを有し、該ホストは、該メッセージ群から選ばれたメッセージを抜粋するために設けられ、さらに該最適化コントローラは、該メッセージ群の各メッセージのためのメッセージターンアラウンドタイムを評定するため、および、該メッセージ群における最も大きなメッセージターンアラウンドタイムに基づいて該ブラケット幅を確立するために設けられた、装置。
【請求項８】
請求項６記載の、マルチプレクサ通信を最適化する装置であって、
該インストゥルメントデバイスは通信特性を含み、該最適化コントローラは、該通信特性を評定するため、および、該通信特性に、少なくとも一部基づいて、該ロングディレイと該ショートディレイとを変化させるために設けられた、装置。
【請求項９】
請求項１記載の、マルチプレクサ通信を最適化する装置であって、
該ホストによる該レスポンスの受信が、完全なメッセージサイクルを規定し、該最適化コントローラは最適化サイクルを実行するために設けられ、該最適化サイクルは、最適化に適任な状況に達するために、該ロングディレイを長くすることによって規定され、該最適化に適任な状況は、続くメッセージを２しか持たない通信サイクルの完成によって規定され、該最適化サイクルは、フェイルポイントが達せられるまで該ロングディレイを短くする工程を含み、該フェイルポイントは、第３の続くメッセージの送信によって規定される、装置。
【請求項１０】
請求項９記載の、マルチプレクサ通信を最適化する装置であって、
該最適化コントローラは、該フェイルポイントが達せられた後に該最適化サイクルを再実行するために設けられた、装置。
【請求項１１】
マルチプレクサ通信を最適化する装置であって、
ホストと、
マルチプレクサと、
インストゥルメントデバイスと、
最適化コントローラとを備え、
該ホストは、ホストソフトウェアを実行するため、および、該マルチプレクサにメッセージを伝送するために設けられ、該メッセージは、該インストゥルメントデバイスのための埋め込みメッセージを含み、該ホストは、該メッセージに対するレスポンスが該マルチプレクサから受信されるまで、該メッセージを再伝送するために設けられ、第１の再伝送はロングディレイの後に起こり、第２の  および  全てのそれに続く再伝送は、第２の時間間隔の後に起こり、
該マルチプレクサは、該埋め込みメッセージをむき出して、該埋め込みメッセージを該インストゥルメントデバイスに送るために設けられ、該マルチプレクサは、さらに、該埋め込みメッセージが受信され、該インストゥルメントデバイスに送られたかどうか、および、該レスポンスが該インストゥルメントデバイスから受信されたかどうかを該ホストに示すために設けられ、該マルチプレクサは、さらに、該返答を受信して、該返答が該ホストに送られるまで、該返答を記憶するために設けられ、
該インストゥルメントデバイスは、該埋め込みメッセージを受信して処理するため、および、該レスポンスを該マルチプレクサに送るために設けられ、
該最適化コントローラは、
該レスポンスが該ホストに伝えられる前に生じた再伝送の数を示すカウントを確立するため、
該ホストから該マルチプレクサに該メッセージを伝えて、該マルチプレクサから該ホストに該レスポンスを伝えるために要する通信時間に基づく、メッセージターンアラウンドタイムを評定するため、
少なくとも該メッセージターンアラウンドタイムと同じ長さのブラケット幅を確立するため、
該ブラケット幅および該メッセージターンアラウンドタイムに、少なくとも一部基づく、ショートディレイを確立するため、および、
該ロングディレイと該ショートディレイの少なくとも一つを変化させて該カウントを最小化するために設けられた、装置。
【請求項１２】
請求項１１記載の、マルチプレクサ通信を最適化する装置であって、
該マルチプレクサは、該レスポンスが該ホストに送られるまで、該返答を記憶するために設けられたバッファを含み、該最適化コントローラは、さらに、該ロングディレイと該ショートディレイのうちの少なくとも１つを変化させて、デッドタイムを最小化するために設けられ、該デッドタイムは、該レスポンスが、該ホストに伝えられる前に該バッファにどれだけ長く滞在したかを示す、装置。
【請求項１３】
請求項１２記載の、マルチプレクサ通信を最適化する装置であって、
該最適化コントローラが、さらに、該ロングディレイと該ショートディレイの両方を変化させて該デッドタイムを最小化するために設けられた、装置。
【請求項１４】
請求項１１記載の、マルチプレクサ通信を最適化する装置であって、
該レスポンスが該ホストへ伝えられる前に該マルチプレクサにどれくらい長く滞在するかを表す時間が、デッドタイムによって示され、該最適化コントローラが、該ロングディレイと該ショートディレイを変化させて該デッドタイムを最小化するために設けられた、装置。
【請求項１５】
請求項１１記載の、マルチプレクサ通信を最適化する装置であって、
該最適化コントローラが、該ロングディレイと該ショートディレイの両方を変化させて該カウントを最小化するために設けられた、装置。
【請求項１６】
請求項１１記載の、マルチプレクサ通信を最適化する装置であって、
該第１のメッセージと該複数の続くメッセージがメッセージ群から選ばれ、該メッセージ群は複数の可能なメッセージを含み、該メッセージ群における各メッセージが特有のメッセージパラメータを有し、該ホストは、該メッセージ群から選ばれたメッセージを抜粋するために設けられ、さらに該最適化コントローラは、該選ばれたメッセージの該特有のメッセージパラメータを評定するため、および、該選ばれたメッセージの該特有のメッセージパラメータに基づいて該ブラケット幅と該ロングディレイとを確立するために設けられた、装置。
【請求項１７】
請求項１１記載の、マルチプレクサ通信を最適化する装置であって、
該第１のメッセージと該複数の続くメッセージがメッセージ群から選ばれ、該メッセージ群は該インストゥルメントデバイスに可能なメッセージを複数含み、該メッセージ群における各メッセージが特有のメッセージパラメータを有し、該ホストは、該メッセージ群から選ばれたメッセージを抜粋するために設けられ、さらに該最適化コントローラは、該メッセージ群の各メッセージのための該メッセージターンアラウンドタイムを評定するため、および、該メッセージ群における最も大きなメッセージターンアラウンドタイムに基づいて該ブラケット幅を確立するために設けられた、装置。
【請求項１８】
請求項１６記載の、マルチプレクサ通信を最適化する装置であって、
該インストゥルメントデバイスは通信特性を含み、該最適化コントローラは、該通信特性を評定するため、および、該通信特性に、少なくとも一部基づいて、該ロングディレイと該ショートディレイとを変化させるために設けられた、装置。
【請求項１９】
請求項１１記載の、マルチプレクサ通信を最適化する装置であって、
該ホストによる該レスポンスの受信が、完全なメッセージサイクルを規定し、該最適化コントローラは最適化サイクルを実行するために設けられ、該最適化サイクルは、最適化に適任な状況に達するために、該ロングディレイを長くすることによって規定され、該最適化に適任な状況は、続くメッセージを２しか持たない通信サイクルの完成によって規定され、該最適化サイクルは、フェイルポイントが達せられるまで該ロングディレイを短くする工程を含み、該フェイルポイントは、第３の続くメッセージの送信によって規定される、装置。
【請求項２０】
請求項１９記載の、マルチプレクサ通信を最適化する装置であって、
該最適化コントローラは、該フェイルポイントが達せられた後に該最適化サイクルを再実行するために設けられた、装置。
【請求項２１】
ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
ホストコントローラを提供する工程と、
マルチプレクサを提供する工程と、
フィールドインストゥルメントデバイスを提供する工程と、
該ホストコントローラにホストソフトウェアを設ける工程とを備え、
該ホストソフトウェアは、該マルチプレクサにメッセージを伝送するために設けられ、該メッセージは、該インストゥルメントデバイスのための埋め込みメッセージを含み、該ホストは、該メッセージに対するレスポンスが該マルチプレクサから受信されるまで、該メッセージを再伝送するために設けられ、第１の再伝送はロングディレイの後に起こり、第２の  および  全てのそれに続く再伝送は、第２の時間間隔の後に起こり、
該マルチプレクサは、該埋め込みメッセージをむき出して、該埋め込みメッセージを該インストゥルメントデバイスに送るために設けられ、該マルチプレクサは、さらに、該埋め込みメッセージが受信され、該インストゥルメントデバイスに送られたかどうか、および、該レスポンスが該インストゥルメントデバイスから受信されたかどうかを該ホストに示すために設けられ、
該インストゥルメントデバイスは、該埋め込みメッセージを受信して処理するため、および、該レスポンスを該マルチプレクサに送るために設けられ、
該ホストコントローラは、最適化ルーチンを実行するために設けられ、該最適化ルーチンは、
該レスポンスが該ホストに伝えられる前に生じた再伝送の数を示すカウントを確立する工程と、
該ホストから該マルチプレクサに該メッセージを伝えて、該マルチプレクサから該ホストに該レスポンスを伝えるために要する通信時間に基づく、メッセージターンアラウンドタイムを評定する工程と、
少なくとも該メッセージターンアラウンドタイムと同じ長さのブラケット幅を確立する工程と、
該メッセージターンアラウンドタイムおよび該ブラケット幅に基づき、ショートディレイを確立する工程と、
該ロングディレイと該ショートディレイの少なくとも一つを変化させて該カウントを最小化する工程とを含む、方法。
【請求項２２】
請求項２１記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
バッファを有する該マルチプレクサを提供する工程を含み、該バッファは、該レスポンスが該ホストに通信されるまで、該返答を記憶するために設けられ、該ホストコントローラは、該ロングディレイと該ショートディレイのうちの少なくとも１つを変化させて、デッドタイムを最小化するために設けられ、該デッドタイムは、該レスポンスが、該ホストに伝えられる前に該バッファにどれだけ長く滞在するかを示す、方法。
【請求項２３】
請求項２２記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該最適化コントローラは、さらに、該ロングディレイと該ショートディレイの両方を変化させて、該デッドタイムを最小化するために設けられた、方法。
【請求項２４】
請求項２１記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該レスポンスが該ホストによって読み出される前に該バッファに滞在する時間が、デッドタイムによって示され、該最適化コントローラが、該ロングディレイと該ショートディレイを変化させて該デッドタイムを最小化するために設けられた、方法。
【請求項２５】
請求項２１記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該最適化コントローラが、該ロングディレイと該ショートディレイの両方を変化させて該カウントを最小化するために設けられた、方法。
【請求項２６】
請求項２１記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該第１のメッセージと該複数の続くメッセージがメッセージ群から選ばれ、該メッセージ群は複数の可能なメッセージを含み、該メッセージ群における各メッセージが特有のメッセージパラメータを有し、該ホストは、該メッセージ群から選ばれたメッセージを抜粋するために設けられ、さらに該最適化コントローラは、該選ばれたメッセージの該特有のメッセージパラメータを評定するため、および、該選ばれたメッセージの該特有のメッセージパラメータに基づいて該ブラケット幅と該ロングディレイとを確立するために設けられた、方法。
【請求項２７】
請求項２１記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該第１のメッセージと該複数の続くメッセージがメッセージ群から選ばれ、該メッセージ群は該インストゥルメントデバイスに可能なメッセージを複数含み、該メッセージ群における各メッセージが特有のメッセージパラメータを有し、該ホストは、該メッセージ群から選ばれたメッセージを抜粋するために設けられ、さらに該最適化コントローラは、該メッセージ群の各メッセージのためのメッセージターンアラウンドタイムを評定するため、および、該メッセージ群における最も大きなメッセージターンアラウンドタイムに基づいて該ブラケット幅を確立するために設けられた、方法。
【請求項２８】
請求項２６記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該インストゥルメントデバイスは通信特性を含み、該最適化コントローラは、該通信特性を評定するため、および、該通信特性に、少なくとも一部基づいて、該ロングディレイと該ショートディレイとを変化させるために設けられた、方法。
【請求項２９】
請求項２１記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該ホストによる該レスポンスの受信が、完全なメッセージサイクルを規定し、該最適化コントローラは最適化サイクルを実行するために設けられ、該最適化サイクルは、最適化に適任な状況に達するために、該ロングディレイを長くすることによって規定され、該最適化に適任な状況は、続くメッセージを２しか持たない通信サイクルの完成によって規定され、該最適化サイクルは、フェイルポイントが達せられるまで該ロングディレイを短くする工程を含み、該フェイルポイントは、第３の続くメッセージの送信によって規定される、方法。
【請求項３０】
請求項２９記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該最適化コントローラは、該フェイルポイントが達せられた後に該最適化サイクルを再実行するために設けられた、方法。
【請求項３１】
請求項２９記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
該最適化コントローラは、該フェイルポイントが達せられた後に該最適化サイクルを再実行し、該最適化コントローラは、該最適化サイクルの再実行の前の該ブラケット幅の約２５パーセントに等しい期間によって、該ロングディレイを増加させるために設けられた、方法。
【請求項３２】
請求項２９記載の、ホスト、マルチプレクサ、および、フィールドインストゥルメントデバイスの間の通信を最適化する方法であって、
特定のメッセージ、特定のフィールドデバイス、および、特定のマルチプレクサのうちの、少なくとも１つに特有のデータを記憶する工程を含む、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、マルチプレクサネットワークによる弁またはセンサーのような、一以上のフィールド装置と通信するホストコントローラを有するシステムに関し、より詳しくは、マルチプレクサでの通信を管理かつ最適化するための方法およびそのための装置に関する。
【背景技術】
【０００２】
化学製品、石油や、その他のものの製造や精錬のプロセスのような、大規模なプロセスは、プロセスのパラメータを測定したり制御したりするために、さまざまな場所に配置された多数のフィールドデバイス（フィールド装置）を有しており、これにより、有効なプロセスの制御を行っている。同様に、この種の工業的プロセスでは、弁、センサーまたはその他のフィールド器具（フィールドインストゥルメント）やフィールド装置（フィールドデバイス）が、そのプロセスの全体に渡り、多く配されている。これら器具や装置の各々は、定期的な診断操作、配置  および／または  校正を必要とする。これらのフィールドデバイスは、温度センサ、圧力センサ、流量センサのようなセンサであってもよいし、また同様に、弁やスイッチのような制御要素であってもよい。歴史的には、この種の工業的プロセスにおける、制御、診断、配置  および／または  校正の操作は、レベルや圧力計を読み出したり、弁のホイールを回したりするなどの、マニュアル操作に依存していた。結局は、ローカルな空気式の制御の使用が、より一般的になった。そこにおいては、ローカルな空気式の制御器、送信機およびバルブポジショナが、プロセスプラント内のさまざまな場所に配置され、特定のプラント配置（ロケーション）の制御を有効にした。１９７０年代に、分散制御系（ＤＣＳ）に基づくマイクロプロセッサが出現し、分散型電子プロセス制御が、プロセス制御産業において一般的になった。
【０００３】
知られているように、ＤＣＳは、プログラム可能なロジックコントローラのような、アナログ又はデジタル式のコンピュータを有しており、このコンピュータは、電子センサー、送信機、電流−電圧変換器、バルブポジショナなど、プロセスの全体にわたって配置された多数の電子的モニタデバイスや制御デバイスに接続されている。ＤＣＳコンピュータは、集中化され、また、しばしば複合化された制御スキームを、記憶し、実行して、プロセス内のデバイスを測定したり制御する。そしてこれにより、いくつかの制御スキームの全体に従ってプロセスパラメータを制御する。同じような基本的システムが、また、上述した診断、配置、校正の操作に適用されている。
【０００４】
このようなシステムでは、ホストコントローラは、二線式通信リンク上での４〜２０ミリアンペア（ｍＡ）の間で可変的なＤＣ制御電流信号を、変換器またはポジショナに対して、または、他の制御可能な装置（デバイス）または器具（インストゥルメント）に対して、供給する。制御電流レベルは、可変ＤＣ電流信号の強さに比例して、制御可能なデバイスの状態を変化させる。例えば、バルブポジショナは、４ｍＡの制御電流に応答して弁を全開させ、２０ｍＡの制御電流に応答して弁を全閉させる。
【０００５】
可変制御信号に応答することに加えて、電流−圧力変換器、バルブポジショナまたは他の器具やデバイスは、この種のデバイスの動作特性を制御するために調整される変数パラメータを有する。従前は、これらのデバイスやプロセスインストゥルメントは、手動で調整された。しかしながら、双方向通信が可能な、いわゆる"スマート（ｓｍａｒｔ）"デバイスの出現によって、デバイスやフィールドインストゥルメントから離れた場所からの自動的な実行が、調整や読み取りなどの必要に応じて、可能となった。さらに、診断テストやインストゥルメントのモニタリングも、遠隔地から実行することができる。しかしながら、調整  および／または  フィールドテストを実行するために、通信サイトからフィールドインストゥルメントまたは他のデバイスに通信信号を伝送するための機構（メカニズム）が提供されなければならない。
【０００６】
種々の理由のために、通信サイトをフィールドインストゥルメントと相互接続する二線式制御ループから、分離し独立した通信ネットワークを据付けることは、実行できないことがある。よって、付加的な配線  および／または  別個の通信システムが不要となるように、４〜２０ｍＡの制御信号と共に、二線式制御ループの上で通信信号を送ることが、望ましい。よって、フィールドデバイスインストゥルメント（フィード装置）とホストコントローラとの間でシリアル通信のデータのビットが伝送されるように、フィールドインストゥルメントの制御に使用される４〜２０ｍＡのＤＣアナログ制御信号に、変調されたデジタル通信信号が重ね合わされる（重畳される）。
【０００７】
この種のシステムにおいては、ホストコントローラは、マルチプレクサを介して、一以上のフィールドインストゥルメントまたはデバイスに接続される。典型的には、システムは、例えば、ＨＡＲＴ（ハート）（登録商標）、ＰＲＯＦＩＢＵＳ（プロフィバス）（登録商標）、ＷＯＲＬＤＦＩＰ（ワールドフィップ）（登録商標）、Ｄｅｖｉｃｅ−Ｎｅｔ（デバイスネット）（登録商標）およびＣＡＮプロトコル（キャンプロトコル）のような、多くの有効な標準的でオープンにされた通信プロトコルのうちの一つを利用する。これらプロトコルは、異なる製造者によって製造された複数のフィールドデバイスを、同じ通信ネットワーク内で一緒に用いることができるようにする。事実、そのフィールドデバイスが、ＤＣＳコントローラの製造者とは異なる製造者により製造されたものであったとしても、これらのプロトコルのうちの一つに適合するフィールドデバイスなら、一のプロセル内で使用されて、このプロトコルをサポートするＤＣＳコントローラまたは他のコントローラと通信し、および／または  そのコントローラに制御される。
【０００８】
知られているように、ホストコントローラおよびマルチプレクサ間の通信は比較的速く、その一方で、フィールドインストゥルメントまたはデバイス間の通信は比較的遅い。種々の理由のために、ホストコントローラは、マルチプレクサを経てフィールドインストゥルメントまたはデバイスに送られたメッセージの状態を知ることを要求する。しかしながら、フィールドインストゥルメントまたはデバイスに送られるメッセージの状態に関するマルチプレクサとの反復通信は、マルチプレクサネットワークを通じて送られるべき他の通信の実行を妨げる。
【発明を実施するための最良の形態】
【０００９】
ここに記載される実施形態は、本願発明の範囲を網羅することを意図しておらず、また、本願発明の範囲をこの形態そのままに又は開示された形態に制限することを意図していない。以下の実施例は、本願発明の原理を説明し、その教示に従って他の当業者が実施することができるようにするために、開示されている。
【００１０】
ここで図１および図９〜１１を参照すると、ホストシステム１０が示されており、このホストシステム１０は、ホストコントローラ１２と、マルチプレクサ１４と、フィールドインストゥルメントまたは他のデバイス（以下、集合的にデバイス１６と称する）とを含む。ホストコントローラ１２は、通信システム１８を通じて、デバイス１６と通信する。通信システム１８は、ホストコントローラ１２とマルチプレクサ１４との間で伸延する、第１のワイヤ２２と第２のワイヤ２４とを有する二線式制御ループ２０を含んでいる。ホストコントローラ１２とマルチプレクサ１４との間に、他の公知の通信装置を設けてもよい。通信システム１８は、また、マルチプレクサ１４とデバイス１６との間で伸延する、第１のワイヤ２８と第２のワイヤ３０とを有する二線式制御ループ２６を含んでいる。この開示された実施例においては、制御ループ２０を通じてのホストコントローラ１２とマルチプレクサ１４との間の通信は、二線式制御ループ２６を通じてのマルチプレクサ１４とデバイス１６との間の通信に比べて、かなり速い。より詳しく言えば、二線式制御ループ２０は、９６００ボー、１９,２００ボー、又は、３８,４００のボーの範囲の通信をサポートできる（支持できる）。その一方、二線式制御ループ２６を通じての通信は、例えば約１２００のボーに制限される。他の通信レートを、企図してもよい。知られているとおり、二線式制御ループ２６は、二線式リンク上で、デバイス１６への、４〜２０ｍＡの間での可変ＤＣ制御電流信号を利用する。一のデバイス１６だけが示されているが、ホストシステム１０がその他のデバイス（例えば、デバイス１６ａ、１６ｂ、１６ｃ、・・・ｌ６ｎ（図１）を含むことができると理解される。
【００１１】
ホストコントローラ１２は、ホストソフトウェア３２を実行するために設けられている。ホストソフトウェア３２は、メッセージ３４を通信システム１８に送るために設けられている。メッセージ３４は、埋め込みメッセージ３６を含んでいる。知られているように、埋め込みメッセージ３６は、最終的には、デバイス１６へ通信されることを目的とする。
【００１２】
ホストコントローラ１２がメッセージ３４をマルチプレクサ１４に送信したあと、マルチプレクサ１４は、埋め込みメッセージ３６をメッセージ３４からはぎとって、制御ループ２６に沿って埋め込みメッセージ３６をデバイス１６に送る。好ましい形態において、ホストシステム１０は、標準化されたプロトコルであるハイウェイアドレッサブルリモートトランスデューサ（以下”ＨＡＲＴ”）に従って作動するように手配される。他の通信プロトコルを使うこともできる。
【００１３】
ＨＡＲＴ仕様の一部として、マルチプレクサ１４は、ホストコントローラ１２から受け取ったメッセージ３４に反応しなければならない。そして、このように、メッセージ３４がホストコントローラ１２からマルチプレクサ１４によって受け取られた後、マルチプレクサ１４は返答（リプライ）３８をホストコントローラに送信する。開示された実施例に従えば、返答（リプライ）３８は、メッセージ３４がマルチプレクサ１４によって受信され、マルチプレクサ１４が埋め込みメッセージ３６をデバイス１６に送ったことを、ホストコントローラ１２に知らせる。
【００１４】
上記で概説したように、ホストコントローラ１２とマルチプレクサ１４との間の通信レートは、概して、マルチプレクサ１４とデバイス１６との間の通信レートより、かなり速い。したがって、デバイス１６が埋め込みメッセージ３６を受信する前に、ホストコントローラ１２はマルチプレクサ１４から応答３８を受け取ることができる。さらに、二線式制御ループ２６上の通信レートが比較的遅いので、レスポンス（応答）４０がデバイス１６からマルチプレクサ１４まで送信される前に、比較的重大な期間が過ぎる。デバイス１６がメッセージ３６を受信して、メッセージ３６を処理した後、マルチプレクサ１４にデバイス１６によって送られたレスポンス（応答）４０が送られることが理解される。
【００１５】
マルチプレクサ１４は、好ましくは、デバイス１６からのレスポンス（応答）４０を受信してセーブするバッファ４２を含む。レスポンス４０が読み出されるか、そうでなければホストコントローラ１２へ伝えられるまで、レスポンス４０がバッファ４２に記憶されることが好ましい。ホストコントローラ１２へのレスポンス４０を受信し、記憶し、伝える他のメカニズムを、企図できる。特定の状況では、バッファ４２に記憶されるレスポンス４０が、ホストコントローラ１２からのもう一つの異なるメッセージによって、キャンセルされてもよい、ということが理解される。
【００１６】
一旦、レスポンス３８がマルチプレクサ１４とホストコントローラ１２との間で通信されると、ホストコントローラ１２はいつでもメッセージ３４を再送信できる。しかしながら、デバイス１６とマルチプレクサ１４との間の二線式通信ループ２６が比較的遅いために、即時の再試行が試みられても、デバイス１６からのレスポンス４０がマルチプレクサ１４にまだ受け取られていないことが、事実上は保証される。したがって、ホストコントローラ１２は、ホストソフトウェア３２に指図されるとおりに、予め定められた固定した期間が満了するまでは、メッセージ３４を再試行したり再送信しない。メッセージ３４の初期の送信とメッセージ３４の第１の再送信との間の第１の固定された期間は、”ロングディレイ（長い遅延）”４６と呼ばれる。ロングディレイ４６の満了と同時に、ホストコントローラ１２は、バッファ４２からのレスポンス４０をマルチプレクサ１４から読み出すことを試み、メッセージ３４の第１の再送信４４ａを試みる。しかしながら、レスポンス４０が、デバイス１６からマルチプレクサ１４によってまだ受信されていない場合は、マルチプレクサ１４は、埋め込みメッセージ３６がマルチプレクサ１４によってデバイス１６に送られたこと、および、マルチプレクサ１４がデバイス１６からのレスポンス４０を受信することをまだ待っているということを知らせるメッセージ４８をホストコントローラ１２に送ることができる。各再送信４４（４４ａ、４４ｂ、４４ｃ、その他）の後、レスポンス４０がバッファ４２に入るまで、メッセージ４８がホストコントローラ１２に送信されるということが理解される。
【００１７】
ホストコントローラ１２がメッセージ４８を受信した後、ホストコントローラ１２はもう一つの待ち期間を登録する。しかしながら、レスポンス４０が比較的すぐに生ずると予想されるので、この付加的な待ち期間は初期のロングディレイ４６に関連して短い。そして、このように、この次の待ち期間は、ショートディレイ（短い遅延）５１と呼ばれる、より短い期間によって示される。ショートディレイ５１が満了すると、ホストコントローラ１２はメッセージ３４の第２の再送信４４ｂを試みる。ホストコントローラ１２は、ホストソフトウェア３２によって指図されるとおりに、マルチプレクサ１４から有効なレスポンス４０が受け取られるまで、メッセージ３４のレスポンス４４がそれに続く、ブラケット幅５０（例えば５０ａ、５０ｂ、５０ｃ、．．．  ５０ｎ）を待つ進行中のサイクルの状態に入る。変形例としては、デバイス１６からエラーコードがマルチプレクサ１４によって受信されると、再送信４４ａ、４４ｂ、４４ｃ、．．．４４ｎが止まるようにしてもよい。換言すると、ブラケット幅５０が一定したままであるように、ホストコントローラ１２は、メッセージのサイズに基づいてショートディレイ５１の継続期間を変化させることができる。更なる変形例として、進行中のサイクルが、所定のタイムアウト期間が満了すると、中断されるようししてもよい。このように、ホストコントローラ１２は、複数のレスポンス４４ａ、４４ｂ、４４ｃ．．．４４ｎを起こし、第１の再送信は、ロングディレイ４６の満了の後で起こる。第２の再送信４４ｂは、第１のブラケット幅５０ａの満了の後に起こり、必要であれば、続く全てのレスポンスが、次のブラケット幅５０ｂ、５０ｃ、５０ｄ  ．．．５０ｎの満了後に起こる。
【００１８】
ロングディレイ４６およびショートディレイ５１のための固定された期間の使用は、特定のアプリケーションの満足できる通信パフォーマンスを与えることができる。但し、スループットと効率のエリアにおける特定の付加的な改良が望まれる。しかしながら、固定された期間のディレイの使用に、若干の欠点があってもよい。例えば、デバイス１６を目的とするメッセージは、メッセージ番号およびそのメッセージに特有の特徴のデータを含むことができる。更に、各々のユニーク（特有）メッセージに含まれるデータ量を変化させて、数ダース以上のユニーク（特有）メッセージ（例えば３４ａ、３４ｂ、３４ｃ、・・・３４ｎ）があってもよい。さらに、各々のユニーク（特有）メッセージは、デバイス１６からの異なる適切なレスポンスを有することができる。時々、レスポンスにおいて受信されるデータは、同じユニーク（特有）メッセージのために長さを変化させることができる。メッセージのサイズ（例えば、レスポンスのサイズや、送られるメッセージのサイズ）は、メッセージを伝送するための全時間を決定する。それは、（例えばレスポンスを受信する）デバイスでそのメッセージを完了するのに要する時間の９０％以上を占める。
【００１９】
送受信されるメッセージのサイズはかなり相違するので、ロングディレイ４６の固定された期間のために、特定のアプリケーションの通信パフォーマンスが非効率に結果としてなるかもしれない。ロングディレイ４６があまりに長い場合、レスポンス４０は、このように長くて効率的でない期間、読み出されることを待っているマルチプレクサ１４のバッファ４２に滞在するかもしれない。他方、ロングディレイ４６があまりに短い場合、ホストコントローラ１２とマルチプレクサ１４との間のはなはだしい数の往復通信が、レスポンス４０を読み出すために必要となる。
【００２０】
更に、あるデバイスからもう一つのデバイスへまでの、及び、あるマルチプレクサからもう一つのマルチプレクサまでの、ハードウェアの性能には、あまり変わりがないということが知られている。ロングディレイ４６の固定された期間は、性能におけるこのわずかな変分を勘案しない。または、ロングディレイ４６の固定された期間の使用は、ホストシステム１０がこの性能の変分を考慮するために調整することを許さない。さらに、特定のアプリケーションでは、マルチプレクサ１４のボーレートを調整できる。そして、それは、メッセージサイクルを完了するために要する時間に影響を及ぼす。ロングディレイ４６の固定された期間の使用は、マルチプレクサ１４のボーレートの変分の考慮を受け入れない。
【００２１】
したがって、ホストコントローラ１２は、最適化サイクル５２を実行するために配置される。それは、図９〜１１に示される。開示された実施例に従うと、マルチプレクサネットワーク上のデバイス１６（または多くの個々のデバイス１６）と通信するとき、最適化サイクル５２は、ホストソフトウェア３２に、通信のスループットと効率とを最大にさせる。
【００２２】
開示された実施例にしたがうと、最適化サイクル５２は、マルチプレクサ１４のバッファ４２からレスポンス４０を読み出すために、ロングディレイ４６  および／または  ショートディレイ５１を調整する。ロングディレイ４６  および／または  ショートディレイ５１のこれらの調整は、各々のマルチプレクサ１４／デバイス１６／メッセージ３４の組合せに対して特有にすることができる。例えば、調整は、特定のユニーク（特有）メッセージ３４がその特定のデバイス１６に送られる前の時に要求される、再送信（４４ａ、４４ｂ、４４ｃ、その他）の数に、または、他の特有の履歴データに基づくことができる。
【００２３】
最適化サイクル５２のより完全な理解を得るために、基礎をなすアルゴリズムに適用する次の用語および概念を、以下、説明する。
（１）メッセージターンアラウンドタイム（ＭＴ）  これは、ホストコントローラ１２がメッセージ３４を送ってマルチプレクサ１４からレスポンス４０を受け取るために、（例えば、関連するボーレートに基づいて）要求される伝送時間である。例えば、ホストコントローラ１２は、２８バイト長である特定のメッセージＸを、９６００ボーでマルチプレクサに送信できる。マルチプレクサは、３０バイト長である応答メッセージによって、ほぼ瞬時に（おおよそ２バイトのタイミングの内に）応答できる。適用できるボーレートおよびメッセージサイズに基づいて、メッセージＸのためのこの往復メッセージを完了するには、ほぼ７０ミリ秒かかる。
【００２４】
ホストコントローラ１２がメッセージをマルチプレクサ１４に送信したあと、好ましくは、ホストコントローラ１２がレスポンスを受信するまで、または、ハードウェアタイムアウトが起こるまで、ホストコントローラ１２は、他のメッセージの送信（例えば再送信）をしない。したがって、ＭＴは、特定のコマンドまたはメッセージのためのホストコントローラ１２から出力されるメッセージ間の、最も短い時間間隔である。ＭＴは、出力されるコマンドメッセージのサイズとレスポンスの予想されるサイズとに基づき、送信時間において算出される。
（２）ブラケット幅（ＢＷ）  ブラケット幅は、メッセージの長さの変動性のために修正されたメッセージターンアラウンドタイム（ＭＴ）である。例えば、すでに述べたように、コマンドまたはメッセージＸは、７０ミリ秒のＭＴを有するものであってもよい。しかしながら、より少ない内容を有するコマンドまたはメッセージＹは、３０ミリ秒だけのＭＴを有するものであってもよい。更に、より多くのメッセージ内容を有する、コマンドまたはメッセージＺは、１００ミリ秒のＭＴを有するものであってもよい。このように、ＢＷは、好ましくは、特定のインストゥルメントまたはデバイス１６に送信されるメッセージＸ、ＹおよびＺのための、最も大きなＭＴに等しいかそれよりも大きな値に設定される。以下に概説されるように、ＢＷは、メッセージ伝送の間の知られている固定されたインターバルを規定し、メッセージの長さの変動性を修正し、ロングディレイ４６のための値の調整のために、一定のベースラインを規定する。
【００２５】
レスポンス４０が結局はバッファ４２から取得されたら、この読み出しがバッファ４２に到着するＢＷ期間内に起こったことが保証される。例えば、ＢＷが１００のミリ秒であるなら、レスポンス４０が結局はバッファ４２から読み出されるときに、レスポンス４０が１００ミリ秒だけそこにあったことが保証される。
（３）ロングディレイ（４６）  ロングディレイ４６は、”ＤＲ−ＩＮＩＴＩＡＴＥ（イニシエイト）”（メッセージ３８）レスポンスコードをマルチプレクサ１４から受信した後、メッセージをマルチプレクサ１４へ送信する前に、ホストコントローラ１２が待つ時間の量である。ロングディレイ値は、マルチプレクサ遅延性レスポンスのメカニズムを使用するあらゆるインストゥルメントのあらゆるコマンドのために保持される。（好ましくは、この履歴データは適切に記憶されている。）ロングディレイ４６の時間値は、常に更新され、ロングタイムディレイ４６の調整としての最適化アルゴリズムの中心となる。これは、レスポンス４０がバッファ４２に到着した後に、できるだけ早く、マルチプレクサ１４のバッファ４２からレスポンス４０を得ることによって、ホストコントローラ１２／ホストソフトウェア３２に通信効率を最適化させる。
（４）ショートディレイ（５１）  ショートディレイ５１は、ブラケット幅５０に到達するために必要な、ＭＴ時間に加えられる時間の量である。ショートディレイ５１はいつでも”ＤＲ＿ＲＵＮＮＩＮＧ（ランニング）”レスポンスコード（応答コード）（マルチプレクサによってホストコントローラ１２に送信される、埋め込みメッセージ３６がデバイス１６に送り届けられたことを示すメッセージ３８）に適用される。ショートディレイ５１は、次のように算出される。
【００２６】
ショートディレイ５１＝ブラケット幅−メッセージターンアラウンド
又は、ショートディレイ５１＝ブラケット幅５０−ＭＴ
図３は、ショートディレイ５１、メッセージターンアラウンドタイムＭＴ  および  ブラケット幅５０関係を示す。
（５）遅延レスポンスカウント（ＤＲ＿ＣＵＴ）  遅延レスポンスカウント５８は、所与のコマンドまたはメッセージのためにマルチプレクサ１４のバッファ４２から最終的にデバイスレスポンス４０を得る前に、マルチプレクサ１４からホストコントローラ１２によって受け取られるＤＲ＿ＲＵＮＮＩＮＧレスポンス（例えば、メッセージ４８）の数を示す。この値は、メッセージ３４が第１の送信であるとき、ゼロに設定され、”ＤＲ−ＲＵＮＮＩＮＧ”レスポンスコード（メッセージ４８）がマルチプレクサ１４から受け取られる各時間に、増加する。この遅延レスポンスカウント５８は、次にこの同じコマンドがこの同じデバイスに送られるときに、ロングディレイ４６を調整／算出するために用いられる。
（６）デッドタイム  レスポンス４０が、ホストコントローラ１２によって読み出されることを待ちながら、バッファ４２に滞在する時間の量。
【００２７】
最適化サイクル５２で実施されるアルゴリズムの、所与の背景、具体的な目的は、次の事項を含む。
（１）マルチプレクサにメッセージレスポンスが到達した後、なるべく早く、マルチプレクサからメッセージレスポンスを得ること。（遅れを最小化する）
（２）できるだけ数少ないメッセージの再試行によって、そのように行うこと。
【００２８】
開示された実施例に従えば、最適化サイクル５２は以下のように動作する。メッセージ３４を送出する前に、ホストソフトウェアがショートディレイ５０のための初期値を算出する。ショートディレイ５０のための初期値は、５０1によって示され、ショートディレイのためのそれに続く全ての値は、５０2、５０3、・・・５０nによって示される。ホストソフトウェア３２はまた、ロングディレイ４６のための値も見るが、ロングディレイ４６のためのこの初期値は、４６1によって示される。また、それに続く、ロングディレイ４６のための全ての値は、４６2、４６3・・・４６ｎによって示される（図６参照）。初期値４６1は、この特定のメッセージ３４がこの特定のデバイス１６に送られた前の時に計算された、既存の値であってもよい。この特定のコマンドまたはメッセージ３４がこの特定のデバイスに送られたのがこれが初めてである場合は、初期値４６1は、メッセージターンアラウンドタイムが算出されるのとほぼ同じような方法で算出することができる。
【００２９】
図４を参照すると、メッセージ３４がホストコントローラ１２からマルチプレクサ１４に送信されたとき、また、レスポンス３８がホストコントローラ１２によって受信されたとき、ホストコントローラ１２はロングディレイ４６により示される待ち期間に入るが、この場合、それは初期ロングディレイ４６1である。ロングディレイ４６iの満了後、ホストコントローラ１２は、第１の再送信４４ａを始める。レスポンス４０がマルチプレクサ１４のバッファ４２に、まだ入っていない場合は、マルチプレクサ１４が、レスポンス４０がデバイス１６からまだ受信されていないことを示すメッセージ４８を送信する。必要であれば、他のメッセージ、例えば、再送信４４ｂを再送信する前に、ソフトウェア３２はショートディレイ期間５０待つ。第１のショートディレイ期間５０1が満了すると、ホストコントローラ１２は、第２の再送信４４ｂを送信する。レスポンス４０がマルチプレクサ１４のバッファ４２に存在するようになるまで、ショートディレイ期間に追従される、この、メッセージを再送信するプロセスは、続けられる。図４に示すように、レスポンス４０は、第４の再送信４４ｄの後すぐに生ずる第４のショートディレイ期間の間に、バッファ４２で受信される。
【００３０】
最初のメッセージ３８の送信や再送信４４ｂから４４ａの必要によって明示されるように、種々の理由のために、ホストコントローラ１２とマルチプレクサ１４との間で非常に多くの通信を有することは、望ましくない。ここで図５を参照するが、従って、最適化サイクル５２は、ロングディレイ４６の調整を含む。この場合、ロングディレイ４６は、第２のロングディレイ期間４６iiによって示される。図５に示されるように、レスポンス４０は、一つの再送信４４ａの後、マルチプレクサのバッファ４２に存在する。しかしながら、レスポンス４０は、第２の再送信４４ｂが発生するまで、ホストコントローラ１２に伝えられない。レスポンス４０は、最初のショートディレイ５０iの満了後に、ホストコントローラ１２に伝えられる。第２の再送信４４ｂが送られるよりも前の期間の間、レスポンス４０がバッファ４２に存在する。この期間は”デッドタイム”５４と称される。
【００３１】
再試行のカウントの効率の見地から（再試行カウントは４４ａ、４４ｂ等で要求される再送信の数によって示される）、再送信４４ａ、４４ｂ等なしにレスポンス４０を読み出すことを試みることが、より論理的だろう。これは可能であるが、レスポンス４０が、読み出されるためにバッファ４２でどれだけ長く待つのかは、保証がない。レスポンス４０は、最小のデッドタイムだけ、バッファ４２に存在するのが理想である。しかしながら、ロングディレイの初期の値４６1（またはそれに続く値４６2、４６3等のいずれか）が十分に長い場合、第１の再送信４４ａが起こったとき、レスポンス４０がバッファ４２に存在することを実質的に保証できる。しかしながら、単にロングディレイ期間４６を長くすることはメッセージレスポンス４０が、ほとんど全てのロングディレイ期間４６の間、バッファ４２に滞在することになるので、デッドタイム５４が過度に長いという結果になり、それは最悪のシナリオである。このような状況は、二次マスタを有することやバーストモードのデバイスを有することのような、不安定な環境状態によって、悪化され、そのことは、ロングディレイ期間のかなりの増加を引き起こす傾向がある。
【００３２】
ここで図６を参照すると、スループットおよび効率は、単に遅延レスポンスの数を少なくすることを越えて、更に最大化されている。したがって、最適化サイクル５２は、デッドタイム５４を最小化するために、ロングディレイ４６を更に最適化する。第１の再送信４４ａのときにレスポンス４０がバッファ４２に存在する結果にするような値にロングディレイ４６が一旦設定されると、ロングディレイ４６は最適化に適任なものとなる。ロングディレイ４６が最適化に適任なものであると、最適化サイクル５２は最適化フェイルポイント（失敗点）５６を捜す。最適化フェイルポイントは、図６に示すように、時間とともに連続的にロングディレイ４６を短くすることによって、見つかる。ロングディレイ４６が短くされると、結局、第２の再送信４４ｂの要求がされるに十分なほどにロングディレイ４６は短くなる。このフェイルポイント５６は、図５に示されるブラケットを段階的に左に移行させる各々の連続したメッセージ上のロングディレイ４６を徐々に減少させることによって、見つかる。（考察目的のために、レスポンス４０がバッファ４２に受信される位置は一定であるとみなす）図５に示されるブラケットが左へ移るにつれて、デッドタイム５４は段階的に減小される。図６に示されるインターバルをほぼ２ミリ秒にしておき、各々の次のロングディレイは、前のロングディレイ期間より僅かに短いことが好ましい。他のインターバルをユーザーは選択してもよい。しかしながら、開示された実施例によれば、ほぼ２ミリ秒のインターバルで、良好な実験の結果となる。
【００３３】
図７を参照すると、ロングディレイ４６が十分に短くなったあと、第２のショートディレイ５０が、バッファ４２からレスポンス４０を読み出すために要求されることは明白である。このレスポンス４０は、第３の再送信４４ｃまで読み出されない。これは、フェイルポイント５６に達したとことを示す。
【００３４】
一旦、フェイルポイント５６が算出されると、ロングディレイ４６は予め定められた分だけ増加する。開示された実施例では、それはブラケット幅のほぼ２５％である。図４、５、７を参照すると、ロングディレイ４６を増加させることは、ブラケットを再び図における右の方へ移行させることであると理解される。ロングディレイ４６のこの２５％の増加は、ロングディレイ４６をもう一度もとの最適化に適任なものの状態へ移行させる。そこにおいて、ロングディレイ４６は、最適化サイクル５２に再び入る。
【００３５】
開示された実施例に従えば、最適化サイクル５２は、同じメッセージのためのレスポンス（応答）の時間が実際には正確に一定ではないという事実を説明する。実際には、レスポンス（応答）の時間は、安定した環境においてさえ、僅かに変化し、不安定な環境においては、かなり変化する。このように、最適化サイクル５２は、デッドタイム５４を最小化すると共に、環境条件で変化し、ホストシステム１０が能率的に作動することを可能にする。通信時間に影響を及ぼす様々な環境条件のため、フェイルポイント５６は、決して、絶対的には決めることができない。したがって、レスポンス４０が最初のショートディレイ期間５０i内でバッファによって受信されるときを、絶対的確実性によって、正確に知ることは決してできない。しかしながら、最適化サイクル５２は、全ての通信が実際にはフェイルポイントの２５％かそれ以下の範囲内で完了されるという合理的な保証を提供する。フェイルポイント５６が、０のデッドタイムを示すことが、理想的である。
【００３６】
フェイルポイント５６に達するまで、ロングディレイ４６が減少するような、最適化に適任な状況と同様に、最適化サイクル５２は機能する。しかしながら、ロングディレイ４６を減少させるためのアルゴリズムは、さらにログリスミック（ｌｏｇｒｉｔｈｍｉｃ）な性質である。最適化サイクル５２は、０のデッドタイムに達することにより終了する。（例えば、フェイルポイントに到達することによって最適化サイクル５２が終了する。）最適化サイクル５２は、いかなる与えられたロングディレイ期間４６より多くのメッセージを送る。図８に示すように、ロングディレイ期間４６は、最適化サイクル５２において、初期には比較的急速に、下方へ調整される。他方、次のメッセージの数が増加するので、より多くの次のメッセージが、いかなる特定のロングディレイ期間４６をも使用して送信される。言い換えると、最適化サイクルがフェイルポイントに接近するとき、より多くの次のメッセージが、与えられた短くなったロングディレイ期間４６の間に、送信される。このように、開示されたアルゴリズムに従えば、ロングディレイがフェイルポイント５６のできるだけ近くに設定され、最適化サイクル５２は、送られるメッセージの数を最大にしようとする。
【００３７】
１の遅延レスポンスが２の遅延レスポンスに移行するのは（例えば、１つだけの再送信４４ａの要求から、少なくとも第２の再送信を要求することに移行するのは）、最適化サイクル５２が実行されている間であると、予想される。しかしながら、ゼロの再送信が要求されると、または、２を超える再送信が要求されると、最適化サイクル５２はキャンセルされ、第２の再送信のみが要求されるような、図５で示される状況に通信サイクルを戻すために、ロングディレイ４６に対するより重要な修正が適用される。一旦これが起こると、最適化に適任な状況が設定され、フェイルポイント５６の調査が再び開始される。その後、フェイルポイント５６が決められたあと、最適化サイクルは再び起動される。開示された実施例に従えば、最適化サイクル５２は、環境条件を変化させることに常に適応でき、効率を最大にしようとして、どのような特定の特有のコマンドをどのような特定の特有のデバイスに送る方法をも学習するように適応できる。
【００３８】
図９から１１を参照して、本発明のシステム１０は、さらに次のように説明できる。図９に示すように、６０において、ホストシステム１０は、メッセージ３４の送信を始める。６２において、メッセージ３４は、メッセージの優先権およびメッセージの送信時間に基づいて、メッセージキュー（待ち行列）６４に挿入される。一旦メッセージ３４がＨＡＲＴメッセージキュー６４に入ると、６８においてメッセージを送る時間の信号が出される。そしてその後、７０において、メッセージ３４はメッセージキューから取得される。６６、７２、７４、７６、７８および８０のステップは、任意のものであり、最適化サイクル５２を実行するためには、実行される必要はないものである。
【００３９】
図１０のブロックＡの実行では、８２においてメッセージ３４が送られ、そしてその後、８４において返答（リプライ）３８が受信されたかどうかの判定がなされる。返答（リプライ）３８が受け取られた場合、８６において、返答３８が受け取られたことを反映して、状態が更新される。この点で、ホストソフトウェア３２は、最適化サイクル５２を実行する。８８において、最適化サイクル５２は、遅延レスポンスフラグをセットし、それに続き、９０において、ロングディレイ４６およびショートディレイ５１の初期値が得られる。９２のおいて、ロングディレイ４６に等しい送信時間が設定され、それ後、９４において、優先権および送信時間に基づいてメッセージキューにメッセージが再挿入される（図９および１０）。
【００４０】
９６において、遅延レスポンスカウントがまだ計数されていることを示す状態であるかどうかが決定される。その答えが”はい”である場合、９８において、遅延性レスポンスカウントは増加される。そして、１００において、送信時間がショートディレイ５１に等しいようにセットされる。９４において、この情報は、優先権および送信時間を確立するために、伝えられる。ＤＲランニング（ＲＵＮＮＩＮＧ）コードの状態が”いいえ”として示される場合は、１０２において、メッセージの状態が成功しているかどうかが決定される。その答えが”はい”である場合は、１０４において、ホストコントローラ１２がロングディレイ４６およびショートディレイ５１を調整して、この特有のメッセージ３４が送信される次の時間のためにこ情報を記憶する。１０２における状態問合せに対する答えが”いいえ”である場合、１０６において、エラー状態は、適切な方法で扱われる。８４、１０４、および１０６においてなされた各々の決定は、１０８において、コントローラ１２へ送り返される。
【００４１】
次に、１０２における状態の決定の出力が、図１０のブロックＣを介して、図１１のブロックＣに送られる。図１１に示されるように、ＭＴを算出するために、１１０においてボーレートおよびメッセージサイズが使われる。次に、１１２において、ショートディレイ５１が、ブラケット幅（ＢＷ）引くメッセージターンアラウンドタイム（ＭＴ）に等しいようにセットされる。１１４において、ショートディレイ５１は、この種のメッセージのメッセージレスポンスサイズの、知られた変わりやすさのために（この特定のメッセージの履歴データ  および／または  その特有のメッセージが目的とする特有のフィールドデバイスの特定のフィールドの履歴データに基づいて）調整される。１１６において、現時点の遅延レスポンスカウントが、前の遅延レスポンスカウントと比較される。そして、１１８において、次にこの特有のメッセージが送られる時に、「１」という遅延レスポンスカウントになるようにするために、必要に応じて、ロングディレイ４６が増減調整される。調整の大きさと方向は、遅延レスポンスカウント間の差と、現在の遅延レスポンスカウントが目標ブラケットからどれだけ遠いかとに依存することが、理解される。開示された実施例においては、遅延レスポンスカウントが「１」になることが目標である。ブロックＤにおいては、この情報が、ホストコントローラ１２への伝送のために、１０８へ送り返される。
【００４２】
開示された実施例に従えば、ＨＡＲＴマルチプレクサ通信最適化サイクル５２は、デッドタイムが平均して約６〜１０ミリ秒の近くになって、ホストコントローラ１２によって実行されるホストソフトウェア３２が、レスポンス４０がマルチプレクサ１４のレスポンスバッファ４２に到着したあと、できるだけ早く、デバイス１６からのレスポンス４０を読み出すことができるようにする。この装置は、マルチプレクサネットワーク上の通信パフォーマンスに効率性を付加するのに役立つ。
【００４３】
本発明の教示は特定の実施例と関連して示されたが、当業者は、その意図が本発明をこの実施例に制限することにはないと理解する。また、本出願の意図は、文言上で  および  均等論の下で、添付の請求の範囲の範囲内に含まれる全ての変更態様および実施例をカバーすることである。
【図面の簡単な説明】
【００４４】
【図１】図１は、ホストコントローラ、ＨＡＲＴマルチプレクサ  および  ＨＡＲＴフィールドインストゥルメントデバイスを有するシステムの概略構成図である。
【図２】図２は、メッセージターンアラウンドタイム  および  メッセージを送受信するために必要な時間との関係を示す図である。
【図３】図３は、一群のメッセージのうちの３つのポッシブルなメッセージの評定に基くブラケット幅の確立を示す表現図である。
【図４】図４は、ブラケット幅期間に従った時間内に置かれた再送を有するロングディレイ期間の満了の後で始まっている、多くの定期的なサンプリング  または  再送信に従って、ホストコントローラからメッセージを送信することを示す、時間ライン図である。
【図５】図５は、図４と同様の時間ライン図であるが、メッセージが第２の再送信の後でマルチプレクサバッファから受け取られるように長くされた、ロングディレイ期間を示す図である。
【図６】図６は、ロングディレイ期間が最適化に適任である状態に到達したときの実行のための、１つの可能な最適化スキームを示す図である。
【図７】図７は、図４および図５と同様の時間ライン図であるが、フェイルポイント（失敗位置）に達するまで、ロングディレイ期間がどのようにして調整されるかを示す図である。
【図８】図８は、フェイルポイント（失敗位置）へ進む、ロングディレイ最適化サイクルを示す図である。
【図９】図９は、図１のホストコントローラにより実行される最適化プログラムのフローチャートである。
【図１０】図１０は、図１のホストコントローラにより実行される最適化プログラムのフローチャートである。
【図１１】図１１は、図１のホストコントローラにより実行される最適化プログラムのフローチャートである。
【図１】
2005521294.tif 000002
【図２】
2005521294.tif 000003
【図３】
2005521294.tif 000004
【図４】
2005521294.tif 000005
【図５】
2005521294.tif 000006
【図６】
2005521294.tif 000007
【図７】
2005521294.tif 000008
【図８】
2005521294.tif 000009
【図９】
2005521294.tif 000010
【図１０】
2005521294.tif 000011
【図１１】
2005521294.tif 000012
【国際調査報告】
2005521294.tif 000013
2005521294.tif 000014
2005521294.tif 000015