(57)【要約】システム（１０）は制御センター（１２）、タイムマスターデバイス（１６）、およびタイムマスターデバイスのマスタークロックと同期化された複数の分散化されたタイムスレーブフィールドデバイス（１８）を有する。タイムマスターデバイス（１６）は時間分配データユニットを周期的に伝送する。各タイムスレーブフィールドデバイス（１８）はタイマ調整エレメント（３２）、固定レートクロック（３６）、および可変クロック（３４）を有する。タイマ調整エレメント（３２）はマスタークロックと固定レートクロックとの間の周波数レシオを計算し、周波数レシオを使用して調整係数を計算し、各フィールドデバイスに対するローカルのセンスオブタイムを調整し、その結果、各フィールドデバイスのタイムスタンプがマスタークロックと同期化される。
2007527667.tif 000002
【特許請求の範囲】
【請求項１】
分散化された制御システムのネットワーク上のフィールドデバイスの時間を同期化するための方法であって、
マスタークロックからのタイミング情報を該分散化された制御システムの該ネットワークを介して該フィールドデバイスに周期的に伝送するステップと、
各フィールドデバイスの出力クロック信号周波数およびタイムスタンプを、該周期的に伝送されるタイミング情報および各フィールドデバイスに対するローカルな出力クロック信号の関数として、調整するステップと、
を包含する、方法。
【請求項２】
前記調整するステップは、
前記周期的に伝送されるタイミング情報および前記出力クロック信号に基づいて、周波数レシオを計算するステップと、
該周波数レシオに従って加算および減算パラメータを決定するステップと、
該加算および該減算パラメータを使用して、可変クロックの出力を変化させ、前記出力クロック信号を生成するステップと、
を包含する、請求項１に記載の方法。
【請求項３】
前記タイミング情報の伝送の間の周期が変化する、請求項１に記載の方法。
【請求項４】
前記調整するステップは、
調整パラメータを決定するステップと、
固定レート入力クロック信号の各２個の入力パルスに対して１個の出力パルスの、公称のレートを有する前記出力クロック信号を生成するステップと、
該調整パラメータに基づいて、前記出力クロック信号からパルスを加算および減算するステップと、
を包含する、請求項１に記載の方法。
【請求項５】
各フィールドデバイスの前記タイムスタンプは前記マスタークロックと同期化され、その結果として、前記タイムスタンプからの読み出しはソフトウェアにおけるタイムスケーリングを必要としない、請求項１に記載の方法。
【請求項６】
複数のフィールドデバイスの各々のローカルのセンスオブタイムを、制御ネットワークのセグメント上のマスターフィールドデバイスのクロックに、時間分配データユニットを使用して同期化する方法であって、
該制御ネットワークのセグメント上で該時間分配データユニットを検出するステップと、
フィールドデバイスの該ローカルのセンスオブタイムと該マスターフィールドデバイスのセンスオブタイムとの間の周波数レシオを計算するステップと、
該周波数レシオに従って、該フィールドデバイスの該センスオブタイムを、必要に応じて調整するステップと、
を包含する、方法。
【請求項７】
前記周波数レシオを前記フィールドデバイスの境界条件に対してテストするステップをさらに包含する、請求項６に記載の方法。
【請求項８】
前記調整するステップは、前記周波数レシオに基づいて、可変クロックによって生成される一連のクロックパルスから可変パルスを加算および減算するステップを包含する、請求項６に記載の方法。
【請求項９】
前記フィールドデバイスの前記センスオブタイムは、出力クロック信号によって維持される、請求項６に記載の方法。
【請求項１０】
１と等しい周波数レシオは、前記フィールドデバイスの前記センスオブタイムに対して調整することを要求しない、請求項６に記載の方法。
【請求項１１】
ソフトウェアの中のローカルのセンスオブタイムをスケールする必要なしに、ハードウェアの中の受信されたデータパケットを順次タイムスタンピングするステップをさらに包含する、請求項６に記載の方法。
【請求項１２】
共通のセンスオブタイムを有するプロセス制御システムであって、該システムは、
制御ネットワークと、
該制御ネットワークと通信し、マスタークロック信号を生成するためのマスタークロックを有するタイムマスターデバイスであって、該マスタークロック信号を表す時間分配データユニットを周期的に伝送するタイムマスターデバイスと、
該制御ネットワークと通信する複数のタイムスレーブデバイスであって、各タイムスレーブデバイスはローカルクロックと、該マスタークロック信号と該ローカルクロックの出力信号との間の周波数レシオに従って該ローカルクロックを調整するための時間調整エレメントとを有する、複数のタイムスレーブデバイスと、
を備える、プロセス制御システム。
【請求項１３】
前記時間調整エレメントはソフトウェアにおいて実行される、請求項１２に記載のプロセス制御システム。
【請求項１４】
前記時間調整エレメントはハードウェアおよびソフトウェアのコンポーネントの組み合わせとして実行される、請求項１２に記載のプロセス制御システム。
【請求項１５】
前記ローカルクロックは、入力クロックパルスを提供するための固定レートクロックと、該入力クロックパルスおよび前記時間調整エレメントからの調整入力に基づいて出力クロック信号を生成するための可変クロックとを含む、請求項１２に記載のプロセス制御システム。
【請求項１６】
前記時間調整エレメントは前記可変クロックによって使用されるための調整係数を計算し、前記可変クロックは該調整係数に従って一連のパルスからパルスを選択的に加算および減算する、請求項１５に記載のプロセス制御システム。
【請求項１７】
前記出力クロック信号は前記マスタークロック信号と実質的に同期化される、請求項１５に記載のプロセス制御システム。
【請求項１８】
プロセス制御ネットワークの分散化されたフィールドデバイスにおける時間処理サイクルを削減するための方法であって、
各フィールドデバイスのローカルクロックと該プロセス制御ネットワーク上のタイムマスターデバイスのマスタークロックとの間の周波数の差に従って、各フィールドデバイスに対する調整係数を計算するステップと、
各フィールドデバイスのセンスオブタイムを該タイムマスターデバイスと同期化するために、必要に応じて各フィールドデバイスのセンスオブタイムを調整するステップと、
を包含する、方法。
【請求項１９】
前記計算するステップの前に、時間分配データユニットを前記タイムマスターから前記分散化されたフィールドデバイスに対して伝送するステップをさらに包含する、請求項１８に記載の方法。
【請求項２０】
各フィールドデバイスのタイムスタンプは前記フィールドデバイスの前記センスオブタイムと同期化されており、その結果として、該タイムスタンプからの時間値の読み込みは該時間値のスケーリングを必要としない、請求項１８に記載の方法。
【請求項２１】
前記調整係数を計算するステップは、
各フィールドデバイスの前記ローカルクロックとタイムマスターデバイスの前記マスタークロックとの間の周波数レシオを計算するステップと、
該周波数レシオが調整境界条件の中にあるか、を決定するステップと、
前記ローカルクロックの周波数を調整するために、必要に応じて前記調整係数を計算するステップと、
を包含する、請求項１８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセス制御ネットワークにおけるタイミングに関する。より詳細には、本発明はプロセス制御パケットベースネットワークのセグメントの中のデバイスの間の共通のセンスオブタイム（ｓｅｎｓｅ  ｏｆ  ｔｉｍｅ）を維持するためのシステムおよび方法に関する。
【背景技術】
【０００２】
工業プロセスにおいては、また特に制御システムにおいては、ネットワークを経由して伝送されるデータは、クリティカルであるか、またはクリティカルでない場合がある。クリティカルなデータは、限定された時間長さの間のみ有効であると考えられるデータである。一般的に、このようなデータはリアルタイム測定値および／または制御情報を表し、プロセスによって時間制約される（ｔｉｍｅ−ｃｏｎｓｔｒａｉｎｅｄ）と考えられる。計算および伝送を含む、このようなデータ処理の全てが、制限された時間の中で実行される必要がある。クリティカルではないデータの処理は、それほど時間に敏感ではない。
【０００３】
時間制約されないデータは、それに対応する処理の遅れが製造プロセスの適正な働きまたは製品の品質に対して影響を与えることのない、ネットワークを経由して伝送されるデータを含む。にもかかわらず、このようなデータは一般的にタイミング情報を含み、その結果として、制御システムは制御ネットワーク上での様々な取引（ｔｒａｎｓａｃｔｉｏｎ）および処理の適時性（例えば、時間間隔およびタイミング関係）を監視することができる。
【０００４】
パケットベースネットワーク（例えば、ファウンデーションフィールドバス）上のデバイスは、一般的に時間を維持するためのそれ自身のクロックを有するものの、クロックの違いのためおよびデバイス間の距離のために、制御システムと全セグメントにわたる様々なデバイスとの間のクロック信号を正確に同期することは困難である。
【０００５】
セグメント上での時間同期化の目的は、全ての接続されたデバイスに対して、共有され、ほぼ同期化された内部時間参照値を提供することである。一般に、時間同期化は単調増加成分およびオフセット成分の両方を含む。単調増加成分は、ローカルエンドシステムのスタートアップにおけるゼロの値から始まり、時間と共に増加する。オフセット成分は、それが単調増加成分に加えられたときに、その和がセグメント上の他の正確に機能しているデバイスの対応する和とほぼ等しくなるような値である。
【０００６】
従来の方法では、プロセス制御ネットワークのセグメント上の様々なデバイスの間で共通のセンスオブタイムを維持するために、セグメント上の１個のデバイスがタイムマスターとして働き、タイムスレーブとして公知の、セグメント上の他のデバイスに対して時間更新を送信する。タイムスレーブは次いで時間更新を使用して、それ自身の「センスオブタイム」をタイムマスターのそれと同期する。しかしながら、デバイスは物理的に離れた存在であるために、それらの内部クロックはタイムマスターのそれと正確に同じレートで動かない。
【０００７】
タイミングの違いに対して責任を負うために、各スレーブデバイスの内部クロックは、デバイスがタイムマスターと同期化されるセンスオブタイムを維持できるように、スケールされ（ｓｃａｌｅｄ）なければならない。ファウンデーションフィールドバスネットワークの場合には、各デバイスに対するこのスケール因子は、ファウンデーションフィールドバスデータリンクプロトコル仕様、ＡＮＳＩ／ＩＳＡ−Ｓ５０．０２（１９９７）、セクション１１．３ａにおいて規定される最大のフェイズトラッキング誤差に適合するように、充分に正確でなければならない。追加として、このスケール因子は、デバイスのセンスオブタイムが読み込まれるたびごとに、デバイスの内部クロックに適用されなければならない。
【０００８】
従来のシステムは時間調整をソフトウェアの中で実行し、それ故にセンスオブタイムが読み込まれるたびごとに、ソフトウェア処理にかかるオーバーヘッドをもたらす。スケール因子が固定小数点の、または可能性として浮動小数点の数であるかによって、ソフトウェアのオーバーヘッドは大きくなり得る。
【発明の開示】
【課題を解決するための手段】
【０００９】
プロセス制御システムは制御センター、タイムマスターデバイス、および相互にネットワーク通信でつながる複数のタイムスレーブフィールドデバイスを有する。タイムマスターはマスタークロックを有し、各フィールドデバイスはローカルクロックおよびタイマー調整エレメントを有する。タイムマスターはマスタークロックからフィールドデバイスにネットワークを通じてタイミング情報を周期的に伝送する。各フィールドデバイスはマスタークロックとローカルクロックとの間のレートの差に従って調整係数を計算し、出力クロック信号およびタイムスタンプを、ローカルクロックをマスタークロックに同期する必要に応じて、調整する。
【発明を実施するための最良の形態】
【００１０】
図１は、ホームランケーブル１４を経由して複数のフィールドデバイスと接続される制御センター１２を有する、工業制御システム１０を示す。１個のフィールドデバイスがタイムマスター１６として働き、ケーブル１４を経由してフィールドバスセグメント上の他のデバイスに時間更新を周期的に送信する。セグメント上の他のフィールドデバイスはタイムスレーブ１８であり、それは周期的な時間更新を使用して、そのセンスオブタイムをタイムマスター１６のそれと同期化する。ホームランケーブル１４は仮想線で延長されており、また追加のタイムスレーブ１８が仮想線で示され、必要に応じて制御ネットワークを拡張するためにホームランケーブル１４は延長され得、フィールドデバイス１８は追加され得ることを表す。
【００１１】
以前に述べたとおり、タイムマスター１６およびタイムスレーブ１８は共にフィールドデバイスである。以下の説明の目的のために、「フィールドデバイス」の用語は、制御分野において現在公知の全てのデバイスを含む、分散化された制御システムにおいて機能をはたす任意のデバイスを参照する。一般に、各フィールドデバイス１６、１８はトランスデューサおよび／またはアクチュエータを含む。トランスデューサは、物理的な入力に基づいて出力信号を生成する、または入力信号に基づいて物理的出力を生成する、いずれのデバイスをも意味すると理解される。一般的に、トランスデューサは入力を、異なる形態を有する出力に変換する。しばしば、あるシステムがトランスデューサをアクチュエートするためのパワーを提供し、それは次いで第２のシステムに対して通常別の形態のパワーを供給する。トランスデューサの種類は一般的に、様々な分析用装置およびセンサ、圧力センサ、サーミスタ、サーモカップル、ひずみゲージ、フロートランスミッタ、レベルトランスミッタ、バルブアクチュエータ／ポジショナ、ポジショナアクチュエータ、ソレノイド、指示ライト、などを含む。
【００１２】
一般に、各フィールドデバイス１６、１８は内部クロックを含む。分散化された制御システムにおいては、イベントおよび制御の試みの正確なタイミングを保証するために、システムの同期化を達成し、フィールドデバイス１６、１８が共通のセンスオブタイムを有することは、望ましいことである。しかしながら、フィールドデバイスは相互に独立しており、それらのクロックは必ずしも同期化されていない。「Ｔｈｅ  ｍａｘｉｍｕｍ  ａｓｙｎｃｈｒｏｎｉｓｍ  ｉｎ  ｔｈｅ  Ｆｉｅｌｄｂｕｓ−ｓｈａｒｅｄ  ｓｅｎｓｅ  ｏｆ  ｔｉｍｅ  ｄｅｔｅｒｍｉｎｅｓ  ｔｈｅ  ｃｏａｒｓｅｎｅｓｓ  ｏｒ  ｆｉｎｅｎｅｓｓ  ｏｆ  ｓｕｃｈ  ｓｈａｒｅｄ  ａｃｔｉｖｉｔｉｅｓ  ａｓ  ｄｉｓｔｒｉｂｕｔｅｄ  ｔｉｍｅ−ｂａｓｅｄ  ｓｃｈｅｄｕｌｉｎｇ  ａｎｄ  ｄｉｓｔｒｉｂｕｔｅｄ  ｓｅｑｕｅｎｃｅ−ｏｆ−ｅｖｅｎｔｓ  ｄｅｔｅｒｍｉｎａｔｉｏｎ．」工業制御システムにおける使用のためのフィールドバス標準第４部：データリンクプロトコル仕様、ＳＰ５０．０２（１９９７）、セクション１１．３（ａ）、ページ２８３、を参照のこと。データリンクプロトコル仕様、セクション１１．３（ａ）は、１マイクロ秒から１秒までの範囲にわたる、時間同期化に関する８個のクラスを規定している。フィールドバスネットワークの時間同期化の粒度（ｇｒａｎｕｌａｒｉｔｙ）の特定のレベルは、その特定の要求事項および実行形態に依存するので、フィールドデバイスは、選択された粒度のレベルに従った最大フェーズトラッキング誤差に適合するように十分に正確な、タイムマスターに対する「センスオブタイム」を維持する必要がある。
【００１３】
図２は、標準の時間分配（ＴＤ）ＤＬＰＤＵ２０を示し、それはタイムマスター１６によってホームランケーブル１４上に送信され、ローカルリンク上のタイムスレーブ１８をして協調させ、そのセンスオブデータリンクタイム（ＤＬ−Ｔｉｍｅ）のアドバンスのレートを同期化することを可能とする。ＴＤ  ＤＬＰＤＵはＤＬＰＤＵの特定の種類であり、それはＣｏｍｐｅｌ  Ｔｉｍｅ（ＣＴ）ＤＬＰＤＵからトークンを受信したときに、またはタイムマスター１６がスケジューラトークンを保持するときには適切な間隔で、のいずれかのときにタイムマスター１６によってローカルリンク上に送信される。
【００１４】
一般に、ＴＤ  ＤＬＰＤＵはいくつかのフィールド、すなわちプリアンブルフィールド、Ｓｔａｒｔ  Ｄｅｌｉｍｉｔｅｒ（ＳＤ）フィールド、Ｆｒａｍｅ  Ｃｏｎｔｒｏｌ（ＦＣ）フィールド、Ｓｏｕｒｃｅ  Ａｄｄｒｅｓｓフィールド、Ｌｉｎｋ  Ｏｒｉｇｉｎａｔｉｎｇ  ＤＬ−Ｔｉｍｅフィールド、ＤＬ−Ｔｉｍｅ  Ｑｕａｌｉｔｙフィールド、ＤＬ−Ｔｉｍｅ  Ｏｆｆｓｅｔフィールド（「ＦＩＥＬＤＢＵＳ  ＳＴＡＮＤＡＲＤ  ＦＯＲ  ＵＳＥ  ＩＮ  ＩＮＤＵＳＴＲＩＡＬ  ＣＯＮＴＲＯＬ  ＳＹＳＴＥＭＳ  ＰＡＲＴ４：ＤＡＴＡ  ＬＩＮＫ  ＰＲＯＴＯＣＯＬ  ＳＰＥＣＩＦＩＣＡＴＩＯＮ」、１９９８年１月６日承認、今後「ＤＬＰ§」として参照される、のセクション８．６ｃによって定義される）、ＤＬ−Ｔｉｍｅフィールド（ＤＬＰ§８．６ｄ）、ＤＬ−Ｔｉｍｅ  Ａｄｊｕｓｔフィールド（ＤＬＰ§８．６ｅ）、Ｆｒａｍｅ  Ｃｈｅｃｋ  Ｓｅｑｕｅｎｃｅ（ＦＣＳ）、およびＥｎｄ  Ｄｅｌｉｍｉｔｅｒ（ＥＤ）、から構成される。Ｆｒａｍｅ  Ｃｏｎｔｒｏｌ（ＦＣ）フィールドは１個のオクテットから成り、それはＤＬＰＤＵの種類を規定し、ＴＤ  ＤＬＰＤＵの場合には、ＦＣフィールドはフレーム制御サブフィールドとして公知の多数の部分的なオクテット（ｆｒａｃｔｉｏｎａｌ−ｏｃｔｅｔ）パラメータを含む。
【００１５】
Ｌｉｎｋ  Ｏｒｉｇｉｎａｔｉｎｇ  ＤＬ−Ｔｉｍｅフィールドは、伝送フィールドデバイス、常にタイムマスター１６のＤＬ−Ｔｉｍｅを表す。ＤＬ−Ｔｉｍｅ  Ｑｕａｌｉｔｙフィールドは、タイムスレーブ１８、タイムマスター１６およびローカルリンク上の時間分配の経路の、複数に分かれた（ｍｕｌｔｉ−ｐａｒｔｉｔｅ）クオリティを表す。ＤＬ−Ｔｉｍｅ  ＯｆｆｓｅｔフィールドはＤＬ−Ｔｉｍｅとローカルリンクスケジューリングタイムとの間の信号オフセット（差）を記録する。ＤＬ−ＴｉｍｅフィールドはＳｔａｒｔ  Ｄｅｌｉｍｉｔｅｒ（ＳＤ）の送信を受けてタイムスタンプによって生成される。最後に、ＤＬ−Ｔｉｍｅ  Ａｄｊｕｓｔは、ＤＬ−Ｔｉｍｅフィールドのタイムスタンプと送信の終了（ＥＯＴ）との間の時間であり、ＤＬ−ＴｉｍｅフィールドおよびＤＬ−Ｔｉｍｅ  Ａｄｊｕｓｔフィールドの合計はＥＯＴにおける時間となる。
【００１６】
図３Ａに示されるように、ＤＬＰＤＵ２０（伝送されたＤＬＰＤＵ２０を２０Ａの符号で示し、受信されたＤＬＰＤＵ２０を２０Ｂの符号で示して、区別する）は、あるときにはリンクアクティブスケジューラ（ＬＡＳ）として参照される、タイムマスター１６によって生成される。タイムマスターがＴＤ  ＤＬＰＤＵを伝送するときには、以下のイベントが生じる。伝送は、プリアンブルおよびＳＤフィールドを送信することによって始まる。示されるように、Ｓｔａｒｔ  Ｄｅｌｉｍｉｔｅｒ（ＳＤ）はメッセージの開始（ＳＯＭ）信号をもたらす。ＳＯＭ信号はデータリンクタイマ（ＬＡＳ）２２に、その現在の時間をタイムスタンプレジスタ２４の中にコピーさせ、それは次いでＤＬＰＤＵ２０ＡのＤＬ−Ｔｉｍｅフィールドの中に蓄えられる。追加として、ＤＬ−Ｔｉｍｅ  Ａｄｊｕｓｔフィールドは、ＤＬ−ＴｉｍｅおよびＤＬ−Ｔｉｍｅ  Ａｄｊｕｓｔフィールドの合計が伝送の終了の時間であるように、設定される。ＤＬＰＤＵ２０Ａの残りのフィールドは、次いでローカルリンク上に伝送される。
【００１７】
図３Ｂにおいて、受信側のフィールドデバイスまたはタイムスレーブ１８は、ＤＬＰＤＵ２０（２０Ｂとして符号される）を検出する。タイムスレーブデバイス１８はＤＬＰＤＵデータを受信先入れ先出しレジスタ（受信ＦＩＦＯ）の中に蓄える。ＥＤが受信される瞬間に、ＥＯＭタイムスタンプ３０がレシーバのＤａｔａ  Ｌｉｎｋ  Ｔｉｍｅｒ２６から取得される。タイムスレーブデバイス１８は次いで受信ＦＩＦＯからデータを読み出し、ＥＯＭタイムスタンプをＴＤ  ＤＬＰＤＵの中の調整されたＤＬ−Ｔｉｍｅと比較することによって、メッセージの終了（ＥＯＭ）タイムスタンプを処理する。可変クロック（図４に示される）からの信号が、データリンクタイマ２６のローカルタイムを、タイムマスター１６と同期化するように調整する。この時間調整プロセスの目的は、スレーブデバイス１８のローカルタイムが、タイムマスター１６に従った、ローカルリンク上の時間に可能な限り近くなることを、保証することである。詳細には、スレーブデバイス１８は、ＤＬ−Ｔｉｍｅのクオリティ、ＤＬ−Ｔｉｍｅ  Ｏｆｆｓｅｔ，ローカルリンクスケジューリングタイムオフセット、およびノードタイマ周波数を、ローカルタイム変数を受信されたＤＬＰＤＵ２０Ａの対応するフィールドと比較することによって、更新する（ＤＬＰ§９．４．１．３を参照）。このような比較は、時間に対する参照ソースの中の、または時間分配経路の中の、いずれかの変化を検出するために役立つ。
【００１８】
図３Ｃに示されるように、ＤＬＰＤＵ２０Ａの伝送とＤＬＰＤＵ２０Ｂの受信との間の時間差は、時間遅延を表す。この時間遅延はケーブル１４による遅延とともに、フィールドバスによるあらゆる遅延である。デバイスはラウンドトリップ遅延クエリ（ＲＱ）およびラウンドトリップ遅延リプライ（ＲＲ）ＤＬＰＤＵを使用して、タイムマスター１６（ＬＡＳ）デバイスとタイムスレーブ１８との間の遅延を測定することができる。スレーブデバイス１８は、そのデータリンクタイムのローカル参照値（例えば、それが共有するセンスオブタイム）がタイムマスター１６に対して速くまたは遅く動いているかどうかを、ＤＬ−Ｔｉｍｅをタイムマスター１６によって伝送されたＴＤ  ＤＬＰＤＵの中に蓄えられたＤＬ−Ｔｉｍｅ  Ａｄｊｕｓｔｍｅｎｔに加えることによって、および得られた合計値をメッセージの終了のタイムスタンプが到着した時間と比較することによって、決定する。
【００１９】
図４に示されるように、スレーブデバイス１８はタイマおよびタイミング調整エレメントを含む。詳細には、ケーブル１４から（またはフィールドバスネットワークから）のＴＤ  ＤＬＰＤＵの受信を受けて、タイマ調整エレメント３２はメッセージの終了（ＥＯＭ）タイムスタンプレジスタ３０からタイムスタンプ値を読み出す。タイマ調整エレメント３２は調整係数を計算し、それは可変クロック３４に送られる。
【００２０】
可変クロック３４は調整係数、およびタイムスレーブ１８の内部クロック３６からの固定レートクロック信号を受信し、調整されたクロック信号を生成し、それはデータリンクタイマ２６に送られ、それはＥＯＭタイムスタンプレジスタを更新し、調整されたクロック信号を出力する。
【００２１】
可変クロック３４は可変速度ハードウェアクロックであり、固定レートクロック入力（Ｆｉｘｅｄ＿ｃｌｏｃｋ＿ｉｎ）、可変レートクロック出力、および２個の整数パラメータ、加算（ａｄｄ）および減算（ｓｕｂｔｒａｃｔ）を有する。可変クロック３４は固定レートクロック入力信号をスレーブデバイス１８の内部クロック３６から受信する。可変クロック３４は固定レートクロック入力信号に対して、加算および減算パラメータに基づいて、アルゴリズム（図５Ａおよび図５Ｂの中のタイミング図に関連して示される）を適用する。一般に、可変クロック３４は２個の固定レートクロック入力パルスに対して、１個の出力クロックパルスを生成する。追加として、加算（ａ）および減算（ｓ）パラメータは、追加のパルスを挿入し、出力クロック信号からパルスを除去するために使用される。アルゴリズムは、各「ａ」パルスに対して、出力クロック信号に１個のエクストラパルスを挿入し、各「ｓ」パルスに対して、１個のパルスを除去する。
【００２２】
可変クロック３４によって生成され、結果として得られる出力クロック信号は、以下に示す長期間レートで動く。
【００２３】
【数１】
2007527667.tif 000003
結果として得られる出力クロック信号は、タイムスレーブ１８のセンスオブタイムを調整し維持するために使用される。より詳細には、結果として得られる出力信号は、タイムスレーブデバイス１８のデータリンクタイマ２６のクロックレートを、ローカルリンク上のタイムマスター１６のタイムレートと同期化するために使用される。
【００２４】
タイマ調整エレメント３２は、ソフトウェアとしてまたはハードウェアとしてまたは両者の組み合わせで実行され得る。好適な実施形態においては、タイマ調整エレメント３２はスレーブデバイス１８のファームウェアの中に蓄えられたソフトウェアコンポーネントである。ハードウェアまたはソフトウェアのいずれにおいて実行されようとも、タイマ調整エレメント３２は一般に加算および減算パラメータを次のように計算する。
【００２５】
【数２】
2007527667.tif 000004
ここで、レート誤差は実際のレートと要求されたレートとの間の誤差であり、加算および減算パラメータの計算の間の丸め誤差によるものである。一般に、タイムスレーブ１８は自身のローカルのセンスオブタイムを無視し、タイムマスター１６のそれと対応するように調整を行わなければならない。
【００２６】
ＥＯＭタイムスタンプレジスタ３０を、ハードウェアのスケールされたまたは調整されたクロック信号で更新することによって、タイムサンプリングはソフトウェアにかかるオーバーヘッドをもたらさない。さらに、タイムスレーブ１８のデータリンクタイマ２６の時間を制御するために可変クロックを使用することによって、タイムスレーブデバイス１８のセンスオブタイムを読み込むときに、ソフトウェアリソースはタイムスケーリングのために使用されない。その代わりに、ソフトウェアは加算および減算変数を較正するために使用され、その結果として、ハードウェア時間調整が、全てのスケーリングがハードウェアの中で実施されることを可能とする。ソフトウェアにかかるオーバーヘッドは、タイムレートが変更される必要があるときのみに発生する。一般的にタイムレートの変更は、センスオブタイムが要求される（例えば、タイムスタンピングが要求される）よりもはるかに少ない回数であるので、ソフトウェアにかかるオーバーヘッドの全体は極めて少なくなる。その結果として、ソフトウェア処理のクロックサイクルは保存され、それは後に、他のオペレーションを実施するため、またはデータ処理またはデータの手入れを支援するためなどの、他の方法で使用され得る。
【００２７】
図５Ａおよび図５Ｂに示されるように、加算パルス信号がロジックハイであるときには、可変クロックからのその結果の出力信号は２個の接近したパルスである。図５Ａに示されるように、１３２０と１３２５マイクロ秒との間で、加算パルスおよび減算パルスの両方の入力が可変クロックに提供され、その結果として可変クロックの出力は、２個の接近したパルスと、その後に続く、フェイズ２クロックによって示される固定レート入力クロックのクロック周波数よりも大きなパルス間のギャップを有する。減算パルス信号は加算パルス信号のすぐ後でロジックハイにシフトし、その結果として、順番上の次のパルスを除去する。
【００２８】
図５Ｂに示されるように、１４００マイクロ秒の印位置において、減算パルス信号はロジックハイとなり、その結果として、同じ位置におけるフェイズ２クロックパルスに対応する可変クロック出力パルスが消去されまたは存在しない。その結果の出力クロック信号は次いでデータリンクタイマ２６に送られ（図４に示される）、タイムスレーブデバイス１８のセンスオブタイムを更新する。
【００２９】
図６は、加算および減算パラメータを計算するために図４のタイマ調整エレメント３２によって使用されるプロセスの、実施形態のフロー図である。このプロセスはタイムスレーブデバイス１８の中のソフトウェアまたはファームウェアの中で、またはハードウェアの中で実行され得る。一般に、タイマ調整エレメント３２は、境界条件（例えば、周波数レシオが０．５未満か、正確に１か、または２よりも大か）をチェックし、クロック係数を計算し、周波数レシオが１未満であるときには係数を交換する。
【００３０】
示されるように、ＴＤ  ＤＬＰＤＵが受信される（ステップ３８）。タイマ調整エレメント３２は、タイムマスター１６のクロック信号と、タイムスレーブ１８の固定レートクロック信号との周波数レシオを計算する（ステップ４０）。タイマ調整エレメント３２は次いで、理想的なレシオである１．０からの、周波数レシオの偏差を計算する（ステップ４２）。偏差は下記の式に従って計算される。
【００３１】
偏差＝周波数レシオ−１．
タイマ調整エレメント３２は、偏差がゼロと等しいかをテストする（ステップ４４）。偏差がゼロと等しい場合には、次いでタイマ調整エレメント３２はゼロの値にされた加算および減算パラメータを可変クロック３４に送り、タイムスレーブ１８の出力クロック信号に対する変更はなされない（ステップ４６）。しかしながら、偏差がゼロと等しくない場合には、タイマ調整エレメント３２は境界条件に対してテストする（ステップ４８）。
【００３２】
周波数レシオが２を超える場合には（ステップ５０）（上限の境界条件）、次いでタイマ調整エレメント３２は加算パラメータを１と等しく、減算パラメータをゼロと等しく設定し、これらを可変クロック３４に送る（ステップ５２）。周波数レシオが２を超えない（例えば、周波数レシオが１以下である）場合には、次いでタイマ調整エレメント３２は周波数レシオが０．５未満であるかテストする。周波数レシオが＋０．５よりも大きい場合には、よって周波数レシオは＋０．５と２との間に（境界条件の内部に）あり、タイマ調整エレメント３２は偏差をその絶対値と等しく設定する（ステップ５６）。周波数レシオが＋０．５（下限の境界条件）未満である場合には、タイマ調整エレメント３２は加算パラメータをゼロと等しく、減算パラメータを２と等しく設定する（ステップ５８）。
【００３３】
最後に、加算および減算パラメータの値および周波数レシオの理想的な周波数からの計算された差が、以下のサブステップ（ステップ６０）に従って処理される。
【００３４】
【数３】
2007527667.tif 000005
周波数レシオが１未満の場合には、Ａｄｄ＿ＡｄｊｕｓｔおよびＳｕｂｔｒａｃｔ＿Ａｄｊｕｓｔの計算の値は交換され、可変クロックに送られる（ステップ６２）。それ以外の場合には、交換のステップはスキップされ、Ａｄｄ＿ＡｄｊｕｓｔおよびＳｕｂｔｒａｃｔ＿Ａｄｊｕｓｔの計算値はタイムスレーブデバイス１８の可変クロック３４に直接送られる（ステップ６４）。
【００３５】
以前に説明したように、時間オフセットおよびＤＬ時間調整に関連する、ソフトウェアのオーバーヘッドは、タイムスケーリングを実行することによって大幅に削減され、その結果ソフトウェアにかかるオーバーヘッドはタイムレートが変化するときのみに発生する。タイムレートは、タイムスレーブデバイス１８のタイムスタンプが使用される頻度に対して、相対的に少ない頻度で変化するために、ソフトウェアにかかるオーバーヘッドの全体は極めて少なくなる。
【００３６】
一般に、システムのレート誤差は公称の（ｎｏｍｉｎａｌ）スケール値１．０の周囲で最小となる。スケール因子の範囲は０．５から２．０までに限られるが、しかしながら、ファウンデーションフィールドバスデバイスに対するスケール因子は、述べられた最大範囲よりもかなり小さい（１パーセントよりも少ないオーダーで）。この範囲において、レート誤差は十億分の６未満であり、フィールドバスファウンデーション仕様に規定される百万分の１２．５の、最悪の場合の最大フェイズトッラキング誤差よりも大幅に少ない。
【００３７】
より重要なことには、レート誤差は仕様の最悪の場合の最大フェイズトラッキング誤差よりもはるかに少ないが、より低いレート誤差はソフトウェアよりもむしろハードウェアにおいて達成され、最小のソフトウェアフットプリントを有することである。ソフトウェアにかかるオーバーヘッドを極小にすることによって、本発明はクロックサイクルを解放し、それが他のプロセスに使用できるようにしたが、それはさもなくば、タイムスレーブデバイス１８に対するセンスオブタイムをスケールするために使用されるものである。
【００３８】
本発明が好適な実施形態を参照して記載されてきたが、本発明の精神および範囲から逸脱することなく、形式および詳細において変更がなされ得ることは、当業者の認識するところである。例えば、本発明はファウンデーションフィールドバスネットワークを背景（ｃｏｎｔｅｘｔ）として記載されているが、本発明は同様の他のパケットベースのネットワークに対しても、より普遍的に適用することができる。
【図面の簡単な説明】
【００３９】
【図１】プロセス制御ネットワーク上のタイムマスターデバイスおよびタイムスレーブデバイスを示すブロック図である。
【図２】時間分配（ＴＤ）データリンクプロトコルデータユニット（ＤＬＰＤＵ）のブロック図である。
【図３Ａ】タイムマスターデバイスに関する、時間分配データリンクプロトコルデータユニットの形成のブロック図である。
【図３Ｂ】受信スレーブデバイスに関する、図３Ａの時間分配データリンクプロトコルデータユニットのブロック図である。
【図３Ｃ】時間分配データリンクプロトコルデータユニットの送信と受信との間の時間遅延を示すブロック図である。
【図４】本発明の一実施形態に従った、スレーブデバイスの時間回路エレメントのブロック図である。
【図５】図５Ａおよび図５Ｂは、スレーブデバイスのクロック回路網をタイムマスターと同期化するための方法を示す、タイミング図である。
【図６】本発明の実施形態に従った、スレーブデバイスをマスターデバイスと同期化するためのフロー図を示す。
【図１】
2007527667.tif 000006
【図２】
2007527667.tif 000007
【図３Ａ】
2007527667.tif 000008
【図３Ｂ】
2007527667.tif 000009
【図３Ｃ】
2007527667.tif 000010
【図４】
2007527667.tif 000011
【図５】
2007527667.tif 000012
【図６】
2007527667.tif 000013
【国際調査報告】
2007527667.tif 000014